[Home] [Help]
PACKAGE BODY: APPS.XLA_00200_AAD_S_000006_PKG
Source
1 PACKAGE BODY XLA_00200_AAD_S_000006_PKG AS
2 --
3 /*======================================================================+
4 | Copyright (c) 1997 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | Package Name |
9 | XLA_00200_AAD_S_000006_PKG |
10 | |
11 | DESCRIPTION |
12 | Package generated From Product Accounting Definition |
13 | Name : Encumbrance Accrual |
14 | Code : AP_ENC_ACCRUAL |
15 | Owner : PRODUCT |
16 | Version : |
17 | AMB Context Code: DEFAULT |
18 | HISTORY |
19 | Generated at 30-03-2009 at 05:03:02 by user ANONYMOUS |
20 +=======================================================================*/
21 --
22 --
23 TYPE t_rec_array_event IS RECORD
24 (array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
25 ,array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
26 ,array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L
27 ,array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L
28 ,array_event_id xla_number_array_type --XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
29 ,array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L
30 ,array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L
31 ,array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
32 ,array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date
33 ,array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
34 ,array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
35 ,array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
36 ,array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num
37 ,array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L
38 ,array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L
39 ,array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L
40 ,array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L
41 ,array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date
42 ,array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date
43 ,array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date
44 ,array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date
45 ,array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L
46 );
47 --
48 type t_array_value_num is table of number index by varchar2(30);
49 type t_array_value_char is table of varchar2(240) index by varchar2(30);
50 type t_array_value_date is table of date index by varchar2(30);
51
52 type t_rec_value is record
53 (array_value_num t_array_value_num
54 ,array_value_char t_array_value_char
55 ,array_value_date t_array_value_date);
56
57 type t_array_event is table of t_rec_value index by binary_integer;
58
59 g_array_event t_array_event;
60
61 --=============================================================================
62 -- *********** Diagnostics **********
63 --=============================================================================
64
65 g_diagnostics_mode VARCHAR2(1);
66 g_last_hdr_idx NUMBER; -- 4262811 MPA
67 g_hdr_extract_count PLS_INTEGER;
68
69 --=============================================================================
70 -- *********** Local Trace Routine **********
71 --=============================================================================
72
73 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
74 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
75 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
76 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
77 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
78 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
79
80 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
81 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.XLA_00200_AAD_S_000006_PKG';
82
83 C_CHAR CONSTANT VARCHAR2(30) := fnd_global.local_chr(12); -- 4219869 Business flow
84 C_NUM CONSTANT NUMBER := 9.99E125; -- 4219869 Business flow
85
86 g_log_level NUMBER;
87 g_log_enabled BOOLEAN;
88
89 PROCEDURE trace
90 (p_msg IN VARCHAR2
91 ,p_level IN NUMBER
92 ,p_module IN VARCHAR2 ) IS
93 BEGIN
94 ----------------------------------------------------------------------------
95 -- Following is for FND log.
96 ----------------------------------------------------------------------------
97 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
98 fnd_log.message(p_level, p_module);
99 ELSIF p_level >= g_log_level THEN
100 fnd_log.string(p_level, p_module, p_msg);
101 END IF;
102
103 EXCEPTION
104 WHEN xla_exceptions_pkg.application_exception THEN
105 RAISE;
106 WHEN OTHERS THEN
107 xla_exceptions_pkg.raise_message
108 (p_location => 'XLA_00200_AAD_S_000006_PKG.trace');
109 END trace;
110
111 --
112 --+============================================+
113 --| |
114 --| PRIVATE PROCEDURES/FUNCTIONS |
115 --| |
116 --+============================================+
117 --
118
119 --
120 /*======================================================================+
121 | |
122 | Private Function |
123 | ValidateLookupMeaning |
124 | |
125 +======================================================================*/
126 FUNCTION ValidateLookupMeaning(
127 p_meaning IN VARCHAR2
128 , p_lookup_code IN VARCHAR2
129 , p_lookup_type IN VARCHAR2
130 , p_source_code IN VARCHAR2
131 , p_source_type_code IN VARCHAR2
132 , p_source_application_id IN INTEGER
133 )
134 RETURN VARCHAR2
135 IS
136 l_log_module VARCHAR2(240);
137 BEGIN
138 IF g_log_enabled THEN
139 l_log_module := C_DEFAULT_MODULE||'.ValidateLookupMeaning';
140 END IF;
141 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142 trace
143 (p_msg => 'BEGIN of ValidateLookupMeaning'
144 ,p_level => C_LEVEL_PROCEDURE
145 ,p_module => l_log_module);
146 END IF;
147 --
148 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
149 trace
150 (p_msg => 'p_source_code = '|| p_source_code||
151 ' - p_source_type_code = '|| p_source_type_code||
152 ' - p_source_application_id = '|| p_source_application_id||
153 ' - p_lookup_code = '|| p_lookup_code||
154 ' - p_lookup_type = '|| p_lookup_type||
155 ' - p_meaning = '|| p_meaning
156 ,p_level => C_LEVEL_PROCEDURE
157 ,p_module => l_log_module);
158
159 END IF;
160
161 IF p_lookup_code IS NOT NULL AND p_meaning IS NULL THEN
162 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
163 xla_accounting_err_pkg. build_message
164 (p_appli_s_name => 'XLA'
165 ,p_msg_name => 'XLA_AP_NO_LOOKUP_MEANING'
166 ,p_token_1 => 'SOURCE_NAME'
167 ,p_value_1 => xla_ae_sources_pkg.GetSourceName(
168 p_source_code
169 , p_source_type_code
170 , p_source_application_id
171 )
172 ,p_token_2 => 'LOOKUP_CODE'
173 ,p_value_2 => p_lookup_code
174 ,p_token_3 => 'LOOKUP_TYPE'
175 ,p_value_3 => p_lookup_type
176 ,p_token_4 => 'PRODUCT_NAME'
177 ,p_value_4 => xla_ae_journal_entry_pkg.g_cache_event.application_name
178 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
179 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
180 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
181 );
182
183 IF (C_LEVEL_ERROR >= g_log_level) THEN
184 trace
185 (p_msg => 'ERROR: XLA_AP_NO_LOOKUP_MEANING'
186 ,p_level => C_LEVEL_ERROR
187 ,p_module => l_log_module);
188 END IF;
189 END IF;
190
191 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
192 trace
193 (p_msg => 'END of ValidateLookupMeaning'
194 ,p_level => C_LEVEL_PROCEDURE
195 ,p_module => l_log_module);
196 END IF;
197 RETURN p_meaning;
198 EXCEPTION
199 WHEN xla_exceptions_pkg.application_exception THEN
200 RETURN p_meaning;
201 WHEN OTHERS THEN
202 xla_exceptions_pkg.raise_message
203 (p_location => 'XLA_00200_AAD_S_000006_PKG.ValidateLookupMeaning');
204 --
205 END ValidateLookupMeaning;
206 --
207 --
208
209 FUNCTION GetMeaning (
210 p_flex_value_set_id IN INTEGER
211 , p_flex_value IN VARCHAR2
212 , p_source_code IN VARCHAR2
213 , p_source_type_code IN VARCHAR2
214 , p_source_application_id IN INTEGER
215 )
216 RETURN VARCHAR2
217 IS
218 BEGIN
219 --
220 RETURN NULL ;
221 --
222 EXCEPTION
223 WHEN xla_exceptions_pkg.application_exception THEN
224 RAISE;
225 WHEN OTHERS THEN
226 xla_exceptions_pkg.raise_message
227 (p_location => 'XLA_00200_AAD_S_000006_PKG.GetMeaning');
228 END GetMeaning;
229 --
230
231 ---------------------------------------
232 --
233 -- PRIVATE FUNCTION
234 -- Description_1
235 --
236 ---------------------------------------
237 FUNCTION Description_1 (
238 p_application_id IN NUMBER
239 , p_ae_header_id IN NUMBER DEFAULT NULL
240 )
241 RETURN VARCHAR2
242 IS
243 l_component_type VARCHAR2(80) ;
244 l_component_code VARCHAR2(30) ;
245 l_component_type_code VARCHAR2(1) ;
246 l_component_appl_id INTEGER ;
247 l_amb_context_code VARCHAR2(30) ;
248 l_ledger_language VARCHAR2(30) ;
249 l_source VARCHAR2(1996) ;
250 l_description VARCHAR2(2000) ;
251 l_log_module VARCHAR2(240) ;
252 BEGIN
253 IF g_log_enabled THEN
254 l_log_module := C_DEFAULT_MODULE||'.Description_1';
255 END IF;
256 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
257 trace
258 (p_msg => 'BEGIN of Description_1'
259 ,p_level => C_LEVEL_PROCEDURE
260 ,p_module => l_log_module);
261 END IF;
262
263 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
264 l_component_type := 'AMB_DESCRIPTION';
265 l_component_code := 'JE_INVOICE_DESCRIPTION';
266 l_component_type_code := 'S';
267 l_component_appl_id := 200;
268 l_amb_context_code := 'DEFAULT';
269 l_source := NULL;
270 l_description := NULL;
271
272
273 l_description := null;
274 l_description := SUBSTR(l_description,1,1996);
275 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
276 trace
277 (p_msg => 'END of Description_1'
278 ,p_level => C_LEVEL_PROCEDURE
279 ,p_module => l_log_module);
280
281 END IF;
282 RETURN l_description;
283
284 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
285 trace
286 (p_msg => 'END of Description_1'
287 ,p_level => C_LEVEL_PROCEDURE
288 ,p_module => l_log_module);
289 END IF;
290 RETURN NULL;
291 EXCEPTION
292 WHEN VALUE_ERROR THEN
293 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
294 trace
295 (p_msg => 'ERROR: '||sqlerrm
296 ,p_level => C_LEVEL_EXCEPTION
297 ,p_module => l_log_module);
298 END IF;
299 RAISE;
300 WHEN xla_exceptions_pkg.application_exception THEN
301 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
302 trace
303 (p_msg => 'ERROR: '||sqlerrm
304 ,p_level => C_LEVEL_EXCEPTION
305 ,p_module => l_log_module);
306 END IF;
307 RAISE;
308 WHEN OTHERS THEN
309 xla_exceptions_pkg.raise_message
310 (p_location => 'XLA_00200_AAD_S_000006_PKG.Description_1');
311 END Description_1;
312
313 ---------------------------------------
314 --
315 -- PRIVATE FUNCTION
316 -- Description_2
317 --
318 ---------------------------------------
319 FUNCTION Description_2 (
320 p_application_id IN NUMBER
321 , p_ae_header_id IN NUMBER DEFAULT NULL
322 --Invoice Distribution Description
323 , p_source_1 IN VARCHAR2
324 )
325 RETURN VARCHAR2
326 IS
327 l_component_type VARCHAR2(80) ;
328 l_component_code VARCHAR2(30) ;
329 l_component_type_code VARCHAR2(1) ;
330 l_component_appl_id INTEGER ;
331 l_amb_context_code VARCHAR2(30) ;
332 l_ledger_language VARCHAR2(30) ;
333 l_source VARCHAR2(1996) ;
334 l_description VARCHAR2(2000) ;
335 l_log_module VARCHAR2(240) ;
336 BEGIN
337 IF g_log_enabled THEN
338 l_log_module := C_DEFAULT_MODULE||'.Description_2';
339 END IF;
340 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
341 trace
342 (p_msg => 'BEGIN of Description_2'
343 ,p_level => C_LEVEL_PROCEDURE
344 ,p_module => l_log_module);
345 END IF;
346
347 l_ledger_language := xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
348 l_component_type := 'AMB_DESCRIPTION';
349 l_component_code := 'JE_INV_DIST_DESCRIPTION';
350 l_component_type_code := 'S';
351 l_component_appl_id := 200;
352 l_amb_context_code := 'DEFAULT';
353 l_source := NULL;
354 l_description := NULL;
355
356
357
358 l_source := SUBSTR(p_source_1,1,1996);
359 IF l_source IS NOT NULL THEN
360 l_description := SUBSTR(CONCAT(l_description,l_source),1,2000);
361 l_description := SUBSTR(CONCAT(l_description,' '),1,2000);
362 END IF;
363 l_description := SUBSTR(l_description,1,1996);
364 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
365 trace
366 (p_msg => 'END of Description_2'
367 ,p_level => C_LEVEL_PROCEDURE
371 RETURN l_description;
368 ,p_module => l_log_module);
369
370 END IF;
372
373 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
374 trace
375 (p_msg => 'END of Description_2'
376 ,p_level => C_LEVEL_PROCEDURE
377 ,p_module => l_log_module);
378 END IF;
379 RETURN NULL;
380 EXCEPTION
381 WHEN VALUE_ERROR THEN
382 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
383 trace
384 (p_msg => 'ERROR: '||sqlerrm
385 ,p_level => C_LEVEL_EXCEPTION
386 ,p_module => l_log_module);
387 END IF;
388 RAISE;
389 WHEN xla_exceptions_pkg.application_exception THEN
390 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
391 trace
392 (p_msg => 'ERROR: '||sqlerrm
393 ,p_level => C_LEVEL_EXCEPTION
394 ,p_module => l_log_module);
395 END IF;
396 RAISE;
397 WHEN OTHERS THEN
398 xla_exceptions_pkg.raise_message
399 (p_location => 'XLA_00200_AAD_S_000006_PKG.Description_2');
400 END Description_2;
401
402 ---------------------------------------
403 --
404 -- PRIVATE FUNCTION
405 -- AcctDerRule_3
406 --
407 ---------------------------------------
408 FUNCTION AcctDerRule_3 (
409 p_application_id IN NUMBER
410 , p_ae_header_id IN NUMBER
411 , p_side IN VARCHAR2
412 , p_override_seg_flag IN VARCHAR2
413 --Bank Charges Account
414 , p_source_2 IN NUMBER
415 --Automatic Offsets Value
416 , p_source_3 IN VARCHAR2
417 , p_source_3_meaning IN VARCHAR2
418 , x_transaction_coa_id OUT NOCOPY NUMBER
419 , x_accounting_coa_id OUT NOCOPY NUMBER
420 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
421 , x_flex_value_set_id OUT NOCOPY NUMBER
422 , x_value_type_code OUT NOCOPY VARCHAR2
423 , x_value_combination_id OUT NOCOPY NUMBER
424 , x_value_segment_code OUT NOCOPY VARCHAR2
425 )
426 RETURN VARCHAR2
427 IS
428 l_component_type VARCHAR2(80) ;
429 l_component_code VARCHAR2(30) ;
430 l_component_type_code VARCHAR2(1) ;
431 l_component_appl_id INTEGER ;
432 l_amb_context_code VARCHAR2(30) ;
433 l_log_module VARCHAR2(240) ;
434 l_output_value VARCHAR2(30) ;
435 BEGIN
436 IF g_log_enabled THEN
437 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_3';
438 END IF;
439 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
440
441 trace
442 (p_msg => 'BEGIN of AcctDerRule_3'
443 ,p_level => C_LEVEL_PROCEDURE
444 ,p_module => l_log_module);
445
446 END IF;
447
448 l_component_type := 'AMB_ADR';
449 l_component_code := 'AP_BANK_CHARGES_NAT_ACCT_SEG';
450 l_component_type_code := 'S';
451 l_component_appl_id := 200;
452 l_amb_context_code := 'DEFAULT';
453 x_transaction_coa_id := null;
454 x_accounting_coa_id := null;
455 x_flexfield_segment_code := 'GL_ACCOUNT';
456 x_flex_value_set_id := null ;
457
458
459 IF NVL(p_source_3,'
460 ') = 'ACCOUNT_SEGMENT_VALUE'
461 THEN
462 --
463 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
464
465 trace
466 (p_msg => 'END of AcctDerRule_3'
467 ,p_level => C_LEVEL_PROCEDURE
468 ,p_module => l_log_module);
469
470 END IF;
471 x_value_combination_id := TO_NUMBER(p_source_2) ;
472 x_value_segment_code := 'GL_ACCOUNT' ;
473 x_value_type_code := 'S';
474 l_output_value := null;
475 RETURN l_output_value;
476
477 ELSE
478 IF p_override_seg_flag = 'Y' THEN
479 RETURN '#$NO_OVERRIDE#$';
480 END IF;
481 END IF;
482
483 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
484
485 trace
486 (p_msg => 'END of AcctDerRule_3(invalid)'
487 ,p_level => C_LEVEL_PROCEDURE
488 ,p_module => l_log_module);
489
490 END IF;
491
492 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
493 x_value_combination_id := null;
494 x_value_segment_code := null;
495 x_value_type_code := null;
496 l_output_value := null;
497 xla_accounting_err_pkg.build_message
498 (p_appli_s_name => 'XLA'
499 ,p_msg_name => 'XLA_AP_INVALID_ADR'
500 ,p_token_1 => 'COMPONENT_NAME'
501 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
502 l_component_type
503 , l_component_code
504 , l_component_type_code
505 , l_component_appl_id
506 , l_amb_context_code
507 )
508 ,p_token_2 => 'OWNER'
512 )
509 ,p_value_2 => xla_lookups_pkg.get_meaning(
510 'XLA_OWNER_TYPE'
511 ,l_component_type_code
513 ,p_token_3 => 'PAD_NAME'
514 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
515 ,p_token_4 => 'PAD_OWNER'
516 ,p_value_4 => xla_lookups_pkg.get_meaning(
517 'XLA_OWNER_TYPE'
518 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
519 )
520 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
521 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
522 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
523 ,p_ae_header_id => NULL
524 );
525 RETURN l_output_value;
526 EXCEPTION
527 WHEN xla_exceptions_pkg.application_exception THEN
528 RAISE;
529 WHEN OTHERS THEN
530 xla_exceptions_pkg.raise_message
531 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_3');
532 END AcctDerRule_3;
533 --
534
535 ---------------------------------------
536 --
537 -- PRIVATE FUNCTION
538 -- AcctDerRule_4
539 --
540 ---------------------------------------
541 FUNCTION AcctDerRule_4 (
542 p_application_id IN NUMBER
543 , p_ae_header_id IN NUMBER
544 , p_side IN VARCHAR2
545 , p_override_seg_flag IN VARCHAR2
546 --Automatic Offsets Value
547 , p_source_3 IN VARCHAR2
548 , p_source_3_meaning IN VARCHAR2
549 --Bank Errors Account
550 , p_source_4 IN NUMBER
551 , x_transaction_coa_id OUT NOCOPY NUMBER
552 , x_accounting_coa_id OUT NOCOPY NUMBER
553 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
554 , x_flex_value_set_id OUT NOCOPY NUMBER
555 , x_value_type_code OUT NOCOPY VARCHAR2
556 , x_value_combination_id OUT NOCOPY NUMBER
557 , x_value_segment_code OUT NOCOPY VARCHAR2
558 )
559 RETURN VARCHAR2
560 IS
561 l_component_type VARCHAR2(80) ;
562 l_component_code VARCHAR2(30) ;
563 l_component_type_code VARCHAR2(1) ;
564 l_component_appl_id INTEGER ;
565 l_amb_context_code VARCHAR2(30) ;
566 l_log_module VARCHAR2(240) ;
567 l_output_value VARCHAR2(30) ;
568 BEGIN
569 IF g_log_enabled THEN
570 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_4';
571 END IF;
572 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
573
574 trace
575 (p_msg => 'BEGIN of AcctDerRule_4'
576 ,p_level => C_LEVEL_PROCEDURE
577 ,p_module => l_log_module);
578
579 END IF;
580
581 l_component_type := 'AMB_ADR';
582 l_component_code := 'AP_BANK_ERRORS_NAT_ACCT_SEG';
583 l_component_type_code := 'S';
584 l_component_appl_id := 200;
585 l_amb_context_code := 'DEFAULT';
586 x_transaction_coa_id := null;
587 x_accounting_coa_id := null;
588 x_flexfield_segment_code := 'GL_ACCOUNT';
589 x_flex_value_set_id := null ;
590
591
592 IF NVL(p_source_3,'
593 ') = 'ACCOUNT_SEGMENT_VALUE'
594 THEN
595 --
596 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
597
598 trace
599 (p_msg => 'END of AcctDerRule_4'
600 ,p_level => C_LEVEL_PROCEDURE
601 ,p_module => l_log_module);
602
603 END IF;
604 x_value_combination_id := TO_NUMBER(p_source_4) ;
605 x_value_segment_code := 'GL_ACCOUNT' ;
606 x_value_type_code := 'S';
607 l_output_value := null;
608 RETURN l_output_value;
609
610 ELSE
611 IF p_override_seg_flag = 'Y' THEN
612 RETURN '#$NO_OVERRIDE#$';
613 END IF;
614 END IF;
615
616 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
617
618 trace
619 (p_msg => 'END of AcctDerRule_4(invalid)'
620 ,p_level => C_LEVEL_PROCEDURE
621 ,p_module => l_log_module);
622
623 END IF;
624
625 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
626 x_value_combination_id := null;
627 x_value_segment_code := null;
628 x_value_type_code := null;
629 l_output_value := null;
630 xla_accounting_err_pkg.build_message
631 (p_appli_s_name => 'XLA'
632 ,p_msg_name => 'XLA_AP_INVALID_ADR'
633 ,p_token_1 => 'COMPONENT_NAME'
634 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
635 l_component_type
636 , l_component_code
637 , l_component_type_code
641 ,p_token_2 => 'OWNER'
638 , l_component_appl_id
639 , l_amb_context_code
640 )
642 ,p_value_2 => xla_lookups_pkg.get_meaning(
643 'XLA_OWNER_TYPE'
644 ,l_component_type_code
645 )
646 ,p_token_3 => 'PAD_NAME'
647 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
648 ,p_token_4 => 'PAD_OWNER'
649 ,p_value_4 => xla_lookups_pkg.get_meaning(
650 'XLA_OWNER_TYPE'
651 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
652 )
653 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
654 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
655 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
656 ,p_ae_header_id => NULL
657 );
658 RETURN l_output_value;
659 EXCEPTION
660 WHEN xla_exceptions_pkg.application_exception THEN
661 RAISE;
662 WHEN OTHERS THEN
663 xla_exceptions_pkg.raise_message
664 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_4');
665 END AcctDerRule_4;
666 --
667
668 ---------------------------------------
669 --
670 -- PRIVATE FUNCTION
671 -- AcctDerRule_5
672 --
673 ---------------------------------------
674 FUNCTION AcctDerRule_5 (
675 p_application_id IN NUMBER
676 , p_ae_header_id IN NUMBER
677 , p_side IN VARCHAR2
678 , p_override_seg_flag IN VARCHAR2
679 --Bank Cash Account
680 , p_source_5 IN NUMBER
681 , x_transaction_coa_id OUT NOCOPY NUMBER
682 , x_accounting_coa_id OUT NOCOPY NUMBER
683 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
684 , x_flex_value_set_id OUT NOCOPY NUMBER
685 , x_value_type_code OUT NOCOPY VARCHAR2
686 , x_value_combination_id OUT NOCOPY NUMBER
687 , x_value_segment_code OUT NOCOPY VARCHAR2
688 )
689 RETURN VARCHAR2
690 IS
691 l_component_type VARCHAR2(80) ;
692 l_component_code VARCHAR2(30) ;
693 l_component_type_code VARCHAR2(1) ;
694 l_component_appl_id INTEGER ;
695 l_amb_context_code VARCHAR2(30) ;
696 l_log_module VARCHAR2(240) ;
697 l_output_value VARCHAR2(30) ;
698 BEGIN
699 IF g_log_enabled THEN
700 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_5';
701 END IF;
702 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
703
704 trace
705 (p_msg => 'BEGIN of AcctDerRule_5'
706 ,p_level => C_LEVEL_PROCEDURE
707 ,p_module => l_log_module);
708
709 END IF;
710
711 l_component_type := 'AMB_ADR';
712 l_component_code := 'AP_CASH_NATURAL_ACCT_SEG';
713 l_component_type_code := 'S';
714 l_component_appl_id := 200;
715 l_amb_context_code := 'DEFAULT';
716 x_transaction_coa_id := null;
717 x_accounting_coa_id := null;
718 x_flexfield_segment_code := 'GL_ACCOUNT';
719 x_flex_value_set_id := null ;
720
721
722 --
723 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
724
725 trace
726 (p_msg => 'END of AcctDerRule_5'
727 ,p_level => C_LEVEL_PROCEDURE
728 ,p_module => l_log_module);
729
730 END IF;
731 x_value_combination_id := TO_NUMBER(p_source_5) ;
732 x_value_segment_code := 'GL_ACCOUNT' ;
733 x_value_type_code := 'S';
734 l_output_value := null;
735 RETURN l_output_value;
736
737
738 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
739
740 trace
741 (p_msg => 'END of AcctDerRule_5(invalid)'
742 ,p_level => C_LEVEL_PROCEDURE
743 ,p_module => l_log_module);
744
745 END IF;
746
747 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
748 x_value_combination_id := null;
749 x_value_segment_code := null;
750 x_value_type_code := null;
751 l_output_value := null;
752 xla_accounting_err_pkg.build_message
753 (p_appli_s_name => 'XLA'
754 ,p_msg_name => 'XLA_AP_INVALID_ADR'
755 ,p_token_1 => 'COMPONENT_NAME'
756 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
757 l_component_type
758 , l_component_code
759 , l_component_type_code
760 , l_component_appl_id
761 , l_amb_context_code
765 'XLA_OWNER_TYPE'
762 )
763 ,p_token_2 => 'OWNER'
764 ,p_value_2 => xla_lookups_pkg.get_meaning(
766 ,l_component_type_code
767 )
768 ,p_token_3 => 'PAD_NAME'
769 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
770 ,p_token_4 => 'PAD_OWNER'
771 ,p_value_4 => xla_lookups_pkg.get_meaning(
772 'XLA_OWNER_TYPE'
773 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
774 )
775 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
776 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
777 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
778 ,p_ae_header_id => NULL
779 );
780 RETURN l_output_value;
781 EXCEPTION
782 WHEN xla_exceptions_pkg.application_exception THEN
783 RAISE;
784 WHEN OTHERS THEN
785 xla_exceptions_pkg.raise_message
786 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_5');
787 END AcctDerRule_5;
788 --
789
790 ---------------------------------------
791 --
792 -- PRIVATE FUNCTION
793 -- AcctDerRule_6
794 --
795 ---------------------------------------
796 FUNCTION AcctDerRule_6 (
797 p_application_id IN NUMBER
798 , p_ae_header_id IN NUMBER
799 , p_side IN VARCHAR2
800 , p_override_seg_flag IN VARCHAR2
801 --Automatic Offsets Value
802 , p_source_3 IN VARCHAR2
803 , p_source_3_meaning IN VARCHAR2
804 --System Discount Account
805 , p_source_6 IN NUMBER
806 --Discount Distribution Method
807 , p_source_7 IN VARCHAR2
808 , p_source_7_meaning IN VARCHAR2
809 , x_transaction_coa_id OUT NOCOPY NUMBER
810 , x_accounting_coa_id OUT NOCOPY NUMBER
811 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
812 , x_flex_value_set_id OUT NOCOPY NUMBER
813 , x_value_type_code OUT NOCOPY VARCHAR2
814 , x_value_combination_id OUT NOCOPY NUMBER
815 , x_value_segment_code OUT NOCOPY VARCHAR2
816 )
817 RETURN VARCHAR2
818 IS
819 l_component_type VARCHAR2(80) ;
820 l_component_code VARCHAR2(30) ;
821 l_component_type_code VARCHAR2(1) ;
822 l_component_appl_id INTEGER ;
823 l_amb_context_code VARCHAR2(30) ;
824 l_log_module VARCHAR2(240) ;
825 l_output_value VARCHAR2(30) ;
826 BEGIN
827 IF g_log_enabled THEN
828 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_6';
829 END IF;
830 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
831
832 trace
833 (p_msg => 'BEGIN of AcctDerRule_6'
834 ,p_level => C_LEVEL_PROCEDURE
835 ,p_module => l_log_module);
836
837 END IF;
838
839 l_component_type := 'AMB_ADR';
840 l_component_code := 'AP_DISCOUNT_NAT_ACCT_SEG';
841 l_component_type_code := 'S';
842 l_component_appl_id := 200;
843 l_amb_context_code := 'DEFAULT';
844 x_transaction_coa_id := null;
845 x_accounting_coa_id := null;
846 x_flexfield_segment_code := 'GL_ACCOUNT';
847 x_flex_value_set_id := null ;
848
849
850 IF NVL(p_source_7,'
851 ') = 'SYSTEM' AND
852 NVL(p_source_3,'
853 ') = 'ACCOUNT_SEGMENT_VALUE'
854 THEN
855 --
856 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
857
858 trace
859 (p_msg => 'END of AcctDerRule_6'
860 ,p_level => C_LEVEL_PROCEDURE
861 ,p_module => l_log_module);
862
863 END IF;
864 x_value_combination_id := TO_NUMBER(p_source_6) ;
865 x_value_segment_code := 'GL_ACCOUNT' ;
866 x_value_type_code := 'S';
867 l_output_value := null;
868 RETURN l_output_value;
869
870 ELSE
871 IF p_override_seg_flag = 'Y' THEN
872 RETURN '#$NO_OVERRIDE#$';
873 END IF;
874 END IF;
875
876 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
877
878 trace
879 (p_msg => 'END of AcctDerRule_6(invalid)'
880 ,p_level => C_LEVEL_PROCEDURE
881 ,p_module => l_log_module);
882
883 END IF;
884
885 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
886 x_value_combination_id := null;
887 x_value_segment_code := null;
888 x_value_type_code := null;
889 l_output_value := null;
890 xla_accounting_err_pkg.build_message
891 (p_appli_s_name => 'XLA'
892 ,p_msg_name => 'XLA_AP_INVALID_ADR'
893 ,p_token_1 => 'COMPONENT_NAME'
894 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
898 , l_component_appl_id
895 l_component_type
896 , l_component_code
897 , l_component_type_code
899 , l_amb_context_code
900 )
901 ,p_token_2 => 'OWNER'
902 ,p_value_2 => xla_lookups_pkg.get_meaning(
903 'XLA_OWNER_TYPE'
904 ,l_component_type_code
905 )
906 ,p_token_3 => 'PAD_NAME'
907 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
908 ,p_token_4 => 'PAD_OWNER'
909 ,p_value_4 => xla_lookups_pkg.get_meaning(
910 'XLA_OWNER_TYPE'
911 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
912 )
913 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
914 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
915 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
916 ,p_ae_header_id => NULL
917 );
918 RETURN l_output_value;
919 EXCEPTION
920 WHEN xla_exceptions_pkg.application_exception THEN
921 RAISE;
922 WHEN OTHERS THEN
923 xla_exceptions_pkg.raise_message
924 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_6');
925 END AcctDerRule_6;
926 --
927
928 ---------------------------------------
929 --
930 -- PRIVATE FUNCTION
931 -- AcctDerRule_7
932 --
933 ---------------------------------------
934 FUNCTION AcctDerRule_7 (
935 p_application_id IN NUMBER
936 , p_ae_header_id IN NUMBER
937 , p_side IN VARCHAR2
938 , p_override_seg_flag IN VARCHAR2
939 --Automatic Offsets Value
940 , p_source_3 IN VARCHAR2
941 , p_source_3_meaning IN VARCHAR2
942 --Purchase Order Rate Variance Gain Account
943 , p_source_8 IN NUMBER
944 --Invoice Distribution Ledger Amount
945 , p_source_9 IN NUMBER
946 --Destination Type of the PO Distribution
947 , p_source_10 IN VARCHAR2
948 , p_source_10_meaning IN VARCHAR2
949 --Purchase Order Rate Variance Loss Account
950 , p_source_11 IN NUMBER
951 , x_transaction_coa_id OUT NOCOPY NUMBER
952 , x_accounting_coa_id OUT NOCOPY NUMBER
953 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
954 , x_flex_value_set_id OUT NOCOPY NUMBER
955 , x_value_type_code OUT NOCOPY VARCHAR2
956 , x_value_combination_id OUT NOCOPY NUMBER
957 , x_value_segment_code OUT NOCOPY VARCHAR2
958 )
959 RETURN VARCHAR2
960 IS
961 l_component_type VARCHAR2(80) ;
962 l_component_code VARCHAR2(30) ;
963 l_component_type_code VARCHAR2(1) ;
964 l_component_appl_id INTEGER ;
965 l_amb_context_code VARCHAR2(30) ;
966 l_log_module VARCHAR2(240) ;
967 l_output_value VARCHAR2(30) ;
968 BEGIN
969 IF g_log_enabled THEN
970 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_7';
971 END IF;
972 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
973
974 trace
975 (p_msg => 'BEGIN of AcctDerRule_7'
976 ,p_level => C_LEVEL_PROCEDURE
977 ,p_module => l_log_module);
978
979 END IF;
980
981 l_component_type := 'AMB_ADR';
982 l_component_code := 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG';
983 l_component_type_code := 'S';
984 l_component_appl_id := 200;
985 l_amb_context_code := 'DEFAULT';
986 x_transaction_coa_id := null;
987 x_accounting_coa_id := null;
988 x_flexfield_segment_code := 'GL_ACCOUNT';
989 x_flex_value_set_id := null ;
990
991
992 IF NVL(p_source_3,'
993 ') = 'ACCOUNT_SEGMENT_VALUE' AND
994 p_source_9 < 0 AND
995 NVL(p_source_10,'
996 ') = 'INVENTORY'
997 THEN
998 --
999 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1000
1001 trace
1002 (p_msg => 'END of AcctDerRule_7'
1003 ,p_level => C_LEVEL_PROCEDURE
1004 ,p_module => l_log_module);
1005
1006 END IF;
1007 x_value_combination_id := TO_NUMBER(p_source_8) ;
1008 x_value_segment_code := 'GL_ACCOUNT' ;
1009 x_value_type_code := 'S';
1010 l_output_value := null;
1011 RETURN l_output_value;
1012
1013 ELSIF NVL(p_source_3,'
1014 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1015 p_source_9 > 0 AND
1016 NVL(p_source_10,'
1017 ') = 'INVENTORY'
1018 THEN
1019 --
1020 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1021
1022 trace
1023 (p_msg => 'END of AcctDerRule_7'
1024 ,p_level => C_LEVEL_PROCEDURE
1025 ,p_module => l_log_module);
1026
1027 END IF;
1031 l_output_value := null;
1028 x_value_combination_id := TO_NUMBER(p_source_11) ;
1029 x_value_segment_code := 'GL_ACCOUNT' ;
1030 x_value_type_code := 'S';
1032 RETURN l_output_value;
1033
1034 ELSE
1035 IF p_override_seg_flag = 'Y' THEN
1036 RETURN '#$NO_OVERRIDE#$';
1037 END IF;
1038 END IF;
1039
1040 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1041
1042 trace
1043 (p_msg => 'END of AcctDerRule_7(invalid)'
1044 ,p_level => C_LEVEL_PROCEDURE
1045 ,p_module => l_log_module);
1046
1047 END IF;
1048
1049 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1050 x_value_combination_id := null;
1051 x_value_segment_code := null;
1052 x_value_type_code := null;
1053 l_output_value := null;
1054 xla_accounting_err_pkg.build_message
1055 (p_appli_s_name => 'XLA'
1056 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1057 ,p_token_1 => 'COMPONENT_NAME'
1058 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1059 l_component_type
1060 , l_component_code
1061 , l_component_type_code
1062 , l_component_appl_id
1063 , l_amb_context_code
1064 )
1065 ,p_token_2 => 'OWNER'
1066 ,p_value_2 => xla_lookups_pkg.get_meaning(
1067 'XLA_OWNER_TYPE'
1068 ,l_component_type_code
1069 )
1070 ,p_token_3 => 'PAD_NAME'
1071 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1072 ,p_token_4 => 'PAD_OWNER'
1073 ,p_value_4 => xla_lookups_pkg.get_meaning(
1074 'XLA_OWNER_TYPE'
1075 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1076 )
1077 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1078 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1079 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1080 ,p_ae_header_id => NULL
1081 );
1082 RETURN l_output_value;
1083 EXCEPTION
1084 WHEN xla_exceptions_pkg.application_exception THEN
1085 RAISE;
1086 WHEN OTHERS THEN
1087 xla_exceptions_pkg.raise_message
1088 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_7');
1089 END AcctDerRule_7;
1090 --
1091
1092 ---------------------------------------
1093 --
1094 -- PRIVATE FUNCTION
1095 -- AcctDerRule_8
1096 --
1097 ---------------------------------------
1098 FUNCTION AcctDerRule_8 (
1099 p_application_id IN NUMBER
1100 , p_ae_header_id IN NUMBER
1101 , p_side IN VARCHAR2
1102 , p_override_seg_flag IN VARCHAR2
1103 --Automatic Offsets Value
1104 , p_source_3 IN VARCHAR2
1105 , p_source_3_meaning IN VARCHAR2
1106 --Purchase Order Rate Variance Gain Account
1107 , p_source_8 IN NUMBER
1108 --Destination Type of the PO Distribution
1109 , p_source_10 IN VARCHAR2
1110 , p_source_10_meaning IN VARCHAR2
1111 , x_transaction_coa_id OUT NOCOPY NUMBER
1112 , x_accounting_coa_id OUT NOCOPY NUMBER
1113 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1114 , x_flex_value_set_id OUT NOCOPY NUMBER
1115 , x_value_type_code OUT NOCOPY VARCHAR2
1116 , x_value_combination_id OUT NOCOPY NUMBER
1117 , x_value_segment_code OUT NOCOPY VARCHAR2
1118 )
1119 RETURN VARCHAR2
1120 IS
1121 l_component_type VARCHAR2(80) ;
1122 l_component_code VARCHAR2(30) ;
1123 l_component_type_code VARCHAR2(1) ;
1124 l_component_appl_id INTEGER ;
1125 l_amb_context_code VARCHAR2(30) ;
1126 l_log_module VARCHAR2(240) ;
1127 l_output_value VARCHAR2(30) ;
1128 BEGIN
1129 IF g_log_enabled THEN
1130 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_8';
1131 END IF;
1132 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1133
1134 trace
1135 (p_msg => 'BEGIN of AcctDerRule_8'
1136 ,p_level => C_LEVEL_PROCEDURE
1137 ,p_module => l_log_module);
1138
1139 END IF;
1140
1141 l_component_type := 'AMB_ADR';
1142 l_component_code := 'AP_ERV_GAIN_NAT_ACCT_SEG';
1143 l_component_type_code := 'S';
1144 l_component_appl_id := 200;
1145 l_amb_context_code := 'DEFAULT';
1146 x_transaction_coa_id := null;
1147 x_accounting_coa_id := null;
1148 x_flexfield_segment_code := 'GL_ACCOUNT';
1149 x_flex_value_set_id := null ;
1150
1151
1152 IF NVL(p_source_3,'
1156 THEN
1153 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1154 NVL(p_source_10,'
1155 ') = 'INVENTORY'
1157 --
1158 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1159
1160 trace
1161 (p_msg => 'END of AcctDerRule_8'
1162 ,p_level => C_LEVEL_PROCEDURE
1163 ,p_module => l_log_module);
1164
1165 END IF;
1166 x_value_combination_id := TO_NUMBER(p_source_8) ;
1167 x_value_segment_code := 'GL_ACCOUNT' ;
1168 x_value_type_code := 'S';
1169 l_output_value := null;
1170 RETURN l_output_value;
1171
1172 ELSE
1173 IF p_override_seg_flag = 'Y' THEN
1174 RETURN '#$NO_OVERRIDE#$';
1175 END IF;
1176 END IF;
1177
1178 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1179
1180 trace
1181 (p_msg => 'END of AcctDerRule_8(invalid)'
1182 ,p_level => C_LEVEL_PROCEDURE
1183 ,p_module => l_log_module);
1184
1185 END IF;
1186
1187 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1188 x_value_combination_id := null;
1189 x_value_segment_code := null;
1190 x_value_type_code := null;
1191 l_output_value := null;
1192 xla_accounting_err_pkg.build_message
1193 (p_appli_s_name => 'XLA'
1194 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1195 ,p_token_1 => 'COMPONENT_NAME'
1196 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1197 l_component_type
1198 , l_component_code
1199 , l_component_type_code
1200 , l_component_appl_id
1201 , l_amb_context_code
1202 )
1203 ,p_token_2 => 'OWNER'
1204 ,p_value_2 => xla_lookups_pkg.get_meaning(
1205 'XLA_OWNER_TYPE'
1206 ,l_component_type_code
1207 )
1208 ,p_token_3 => 'PAD_NAME'
1209 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1210 ,p_token_4 => 'PAD_OWNER'
1211 ,p_value_4 => xla_lookups_pkg.get_meaning(
1212 'XLA_OWNER_TYPE'
1213 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1214 )
1215 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1216 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1217 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1218 ,p_ae_header_id => NULL
1219 );
1220 RETURN l_output_value;
1221 EXCEPTION
1222 WHEN xla_exceptions_pkg.application_exception THEN
1223 RAISE;
1224 WHEN OTHERS THEN
1225 xla_exceptions_pkg.raise_message
1226 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_8');
1227 END AcctDerRule_8;
1228 --
1229
1230 ---------------------------------------
1231 --
1232 -- PRIVATE FUNCTION
1233 -- AcctDerRule_9
1234 --
1235 ---------------------------------------
1236 FUNCTION AcctDerRule_9 (
1237 p_application_id IN NUMBER
1238 , p_ae_header_id IN NUMBER
1239 , p_side IN VARCHAR2
1240 , p_override_seg_flag IN VARCHAR2
1241 --Automatic Offsets Value
1242 , p_source_3 IN VARCHAR2
1243 , p_source_3_meaning IN VARCHAR2
1244 --Destination Type of the PO Distribution
1245 , p_source_10 IN VARCHAR2
1246 , p_source_10_meaning IN VARCHAR2
1247 --Purchase Order Rate Variance Loss Account
1248 , p_source_11 IN NUMBER
1249 , x_transaction_coa_id OUT NOCOPY NUMBER
1250 , x_accounting_coa_id OUT NOCOPY NUMBER
1251 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1252 , x_flex_value_set_id OUT NOCOPY NUMBER
1253 , x_value_type_code OUT NOCOPY VARCHAR2
1254 , x_value_combination_id OUT NOCOPY NUMBER
1255 , x_value_segment_code OUT NOCOPY VARCHAR2
1256 )
1257 RETURN VARCHAR2
1258 IS
1259 l_component_type VARCHAR2(80) ;
1260 l_component_code VARCHAR2(30) ;
1261 l_component_type_code VARCHAR2(1) ;
1262 l_component_appl_id INTEGER ;
1263 l_amb_context_code VARCHAR2(30) ;
1264 l_log_module VARCHAR2(240) ;
1265 l_output_value VARCHAR2(30) ;
1266 BEGIN
1267 IF g_log_enabled THEN
1268 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_9';
1269 END IF;
1270 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1271
1272 trace
1273 (p_msg => 'BEGIN of AcctDerRule_9'
1274 ,p_level => C_LEVEL_PROCEDURE
1275 ,p_module => l_log_module);
1276
1277 END IF;
1278
1279 l_component_type := 'AMB_ADR';
1280 l_component_code := 'AP_ERV_LOSS_NAT_ACCT_SEG';
1284 x_transaction_coa_id := null;
1281 l_component_type_code := 'S';
1282 l_component_appl_id := 200;
1283 l_amb_context_code := 'DEFAULT';
1285 x_accounting_coa_id := null;
1286 x_flexfield_segment_code := 'GL_ACCOUNT';
1287 x_flex_value_set_id := null ;
1288
1289
1290 IF NVL(p_source_3,'
1291 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1292 NVL(p_source_10,'
1293 ') = 'INVENTORY'
1294 THEN
1295 --
1296 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1297
1298 trace
1299 (p_msg => 'END of AcctDerRule_9'
1300 ,p_level => C_LEVEL_PROCEDURE
1301 ,p_module => l_log_module);
1302
1303 END IF;
1304 x_value_combination_id := TO_NUMBER(p_source_11) ;
1305 x_value_segment_code := 'GL_ACCOUNT' ;
1306 x_value_type_code := 'S';
1307 l_output_value := null;
1308 RETURN l_output_value;
1309
1310 ELSE
1311 IF p_override_seg_flag = 'Y' THEN
1312 RETURN '#$NO_OVERRIDE#$';
1313 END IF;
1314 END IF;
1315
1316 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1317
1318 trace
1319 (p_msg => 'END of AcctDerRule_9(invalid)'
1320 ,p_level => C_LEVEL_PROCEDURE
1321 ,p_module => l_log_module);
1322
1323 END IF;
1324
1325 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1326 x_value_combination_id := null;
1327 x_value_segment_code := null;
1328 x_value_type_code := null;
1329 l_output_value := null;
1330 xla_accounting_err_pkg.build_message
1331 (p_appli_s_name => 'XLA'
1332 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1333 ,p_token_1 => 'COMPONENT_NAME'
1334 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1335 l_component_type
1336 , l_component_code
1337 , l_component_type_code
1338 , l_component_appl_id
1339 , l_amb_context_code
1340 )
1341 ,p_token_2 => 'OWNER'
1342 ,p_value_2 => xla_lookups_pkg.get_meaning(
1343 'XLA_OWNER_TYPE'
1344 ,l_component_type_code
1345 )
1346 ,p_token_3 => 'PAD_NAME'
1347 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1348 ,p_token_4 => 'PAD_OWNER'
1349 ,p_value_4 => xla_lookups_pkg.get_meaning(
1350 'XLA_OWNER_TYPE'
1351 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1352 )
1353 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1354 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1355 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1356 ,p_ae_header_id => NULL
1357 );
1358 RETURN l_output_value;
1359 EXCEPTION
1360 WHEN xla_exceptions_pkg.application_exception THEN
1361 RAISE;
1362 WHEN OTHERS THEN
1363 xla_exceptions_pkg.raise_message
1364 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_9');
1365 END AcctDerRule_9;
1366 --
1367
1368 ---------------------------------------
1369 --
1370 -- PRIVATE FUNCTION
1371 -- AcctDerRule_10
1372 --
1373 ---------------------------------------
1374 FUNCTION AcctDerRule_10 (
1375 p_application_id IN NUMBER
1376 , p_ae_header_id IN NUMBER
1377 , p_side IN VARCHAR2
1378 , p_override_seg_flag IN VARCHAR2
1379 --Automatic Offsets Value
1380 , p_source_3 IN VARCHAR2
1381 , p_source_3_meaning IN VARCHAR2
1382 --Bank Future Dated Payment Account
1383 , p_source_12 IN NUMBER
1384 --Future Dated Payment Account Source Option
1385 , p_source_13 IN VARCHAR2
1386 , p_source_13_meaning IN VARCHAR2
1387 --Financials Options Future Dated Payment Account
1388 , p_source_14 IN NUMBER
1389 --Supplier Site Future Dated Payment Account
1390 , p_source_15 IN NUMBER
1391 , x_transaction_coa_id OUT NOCOPY NUMBER
1392 , x_accounting_coa_id OUT NOCOPY NUMBER
1393 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1394 , x_flex_value_set_id OUT NOCOPY NUMBER
1395 , x_value_type_code OUT NOCOPY VARCHAR2
1396 , x_value_combination_id OUT NOCOPY NUMBER
1397 , x_value_segment_code OUT NOCOPY VARCHAR2
1398 )
1399 RETURN VARCHAR2
1400 IS
1401 l_component_type VARCHAR2(80) ;
1402 l_component_code VARCHAR2(30) ;
1403 l_component_type_code VARCHAR2(1) ;
1404 l_component_appl_id INTEGER ;
1405 l_amb_context_code VARCHAR2(30) ;
1406 l_log_module VARCHAR2(240) ;
1410 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_10';
1407 l_output_value VARCHAR2(30) ;
1408 BEGIN
1409 IF g_log_enabled THEN
1411 END IF;
1412 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1413
1414 trace
1415 (p_msg => 'BEGIN of AcctDerRule_10'
1416 ,p_level => C_LEVEL_PROCEDURE
1417 ,p_module => l_log_module);
1418
1419 END IF;
1420
1421 l_component_type := 'AMB_ADR';
1422 l_component_code := 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG';
1423 l_component_type_code := 'S';
1424 l_component_appl_id := 200;
1425 l_amb_context_code := 'DEFAULT';
1426 x_transaction_coa_id := null;
1427 x_accounting_coa_id := null;
1428 x_flexfield_segment_code := 'GL_ACCOUNT';
1429 x_flex_value_set_id := null ;
1430
1431
1432 IF (NVL(p_source_3,'
1433 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1434 NVL(p_source_13,'
1435 ') = 'BANK ACCOUNT') AND
1436 TO_NUMBER(p_source_12) IS NOT NULL
1437 THEN
1438 --
1439 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1440
1441 trace
1442 (p_msg => 'END of AcctDerRule_10'
1443 ,p_level => C_LEVEL_PROCEDURE
1444 ,p_module => l_log_module);
1445
1446 END IF;
1447 x_value_combination_id := TO_NUMBER(p_source_12) ;
1448 x_value_segment_code := 'GL_ACCOUNT' ;
1449 x_value_type_code := 'S';
1450 l_output_value := null;
1451 RETURN l_output_value;
1452
1453 ELSIF NVL(p_source_3,'
1454 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1455 NVL(p_source_13,'
1456 ') = 'BANK ACCOUNT'
1457 THEN
1458 --
1459 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1460
1461 trace
1462 (p_msg => 'END of AcctDerRule_10'
1463 ,p_level => C_LEVEL_PROCEDURE
1464 ,p_module => l_log_module);
1465
1466 END IF;
1467 x_value_combination_id := TO_NUMBER(p_source_14) ;
1468 x_value_segment_code := 'GL_ACCOUNT' ;
1469 x_value_type_code := 'S';
1470 l_output_value := null;
1471 RETURN l_output_value;
1472
1473 ELSIF NVL(p_source_3,'
1474 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1475 NVL(p_source_13,'
1476 ') = 'SUPPLIER SITE' AND
1477 TO_NUMBER(p_source_15) IS NOT NULL
1478 THEN
1479 --
1480 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1481
1482 trace
1483 (p_msg => 'END of AcctDerRule_10'
1484 ,p_level => C_LEVEL_PROCEDURE
1485 ,p_module => l_log_module);
1486
1487 END IF;
1488 x_value_combination_id := TO_NUMBER(p_source_15) ;
1489 x_value_segment_code := 'GL_ACCOUNT' ;
1490 x_value_type_code := 'S';
1491 l_output_value := null;
1492 RETURN l_output_value;
1493
1494 ELSIF NVL(p_source_3,'
1495 ') = 'ACCOUNT_SEGMENT_VALUE' AND
1496 NVL(p_source_13,'
1497 ') = 'SUPPLIER SITE'
1498 THEN
1499 --
1500 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1501
1502 trace
1503 (p_msg => 'END of AcctDerRule_10'
1504 ,p_level => C_LEVEL_PROCEDURE
1505 ,p_module => l_log_module);
1506
1507 END IF;
1508 x_value_combination_id := TO_NUMBER(p_source_14) ;
1509 x_value_segment_code := 'GL_ACCOUNT' ;
1510 x_value_type_code := 'S';
1511 l_output_value := null;
1512 RETURN l_output_value;
1513
1514 ELSE
1515 IF p_override_seg_flag = 'Y' THEN
1516 RETURN '#$NO_OVERRIDE#$';
1517 END IF;
1518 END IF;
1519
1520 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1521
1522 trace
1523 (p_msg => 'END of AcctDerRule_10(invalid)'
1524 ,p_level => C_LEVEL_PROCEDURE
1525 ,p_module => l_log_module);
1526
1527 END IF;
1528
1529 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1530 x_value_combination_id := null;
1531 x_value_segment_code := null;
1532 x_value_type_code := null;
1533 l_output_value := null;
1534 xla_accounting_err_pkg.build_message
1535 (p_appli_s_name => 'XLA'
1536 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1537 ,p_token_1 => 'COMPONENT_NAME'
1538 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1539 l_component_type
1540 , l_component_code
1541 , l_component_type_code
1542 , l_component_appl_id
1543 , l_amb_context_code
1544 )
1545 ,p_token_2 => 'OWNER'
1546 ,p_value_2 => xla_lookups_pkg.get_meaning(
1547 'XLA_OWNER_TYPE'
1548 ,l_component_type_code
1549 )
1550 ,p_token_3 => 'PAD_NAME'
1551 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1552 ,p_token_4 => 'PAD_OWNER'
1556 )
1553 ,p_value_4 => xla_lookups_pkg.get_meaning(
1554 'XLA_OWNER_TYPE'
1555 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1557 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1558 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1559 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1560 ,p_ae_header_id => NULL
1561 );
1562 RETURN l_output_value;
1563 EXCEPTION
1564 WHEN xla_exceptions_pkg.application_exception THEN
1565 RAISE;
1566 WHEN OTHERS THEN
1567 xla_exceptions_pkg.raise_message
1568 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_10');
1569 END AcctDerRule_10;
1570 --
1571
1572 ---------------------------------------
1573 --
1574 -- PRIVATE FUNCTION
1575 -- AcctDerRule_11
1576 --
1577 ---------------------------------------
1578 FUNCTION AcctDerRule_11 (
1579 p_application_id IN NUMBER
1580 , p_ae_header_id IN NUMBER
1581 , p_side IN VARCHAR2
1582 , p_override_seg_flag IN VARCHAR2
1583 --Interest Account
1584 , p_source_16 IN NUMBER
1585 --Prorate Interest Invoice Across Distributions Option
1586 , p_source_17 IN VARCHAR2
1587 , x_transaction_coa_id OUT NOCOPY NUMBER
1588 , x_accounting_coa_id OUT NOCOPY NUMBER
1589 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1590 , x_flex_value_set_id OUT NOCOPY NUMBER
1591 , x_value_type_code OUT NOCOPY VARCHAR2
1592 , x_value_combination_id OUT NOCOPY NUMBER
1593 , x_value_segment_code OUT NOCOPY VARCHAR2
1594 )
1595 RETURN VARCHAR2
1596 IS
1597 l_component_type VARCHAR2(80) ;
1598 l_component_code VARCHAR2(30) ;
1599 l_component_type_code VARCHAR2(1) ;
1600 l_component_appl_id INTEGER ;
1601 l_amb_context_code VARCHAR2(30) ;
1602 l_log_module VARCHAR2(240) ;
1603 l_output_value VARCHAR2(30) ;
1604 BEGIN
1605 IF g_log_enabled THEN
1606 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_11';
1607 END IF;
1608 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1609
1610 trace
1611 (p_msg => 'BEGIN of AcctDerRule_11'
1612 ,p_level => C_LEVEL_PROCEDURE
1613 ,p_module => l_log_module);
1614
1615 END IF;
1616
1617 l_component_type := 'AMB_ADR';
1618 l_component_code := 'AP_INTEREST_NAT_ACCT_SEG';
1619 l_component_type_code := 'S';
1620 l_component_appl_id := 200;
1621 l_amb_context_code := 'DEFAULT';
1622 x_transaction_coa_id := null;
1623 x_accounting_coa_id := null;
1624 x_flexfield_segment_code := 'GL_ACCOUNT';
1625 x_flex_value_set_id := null ;
1626
1627
1628 IF NVL(p_source_17,'
1629 ') = 'Y'
1630 THEN
1631 --
1632 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1633
1634 trace
1635 (p_msg => 'END of AcctDerRule_11'
1636 ,p_level => C_LEVEL_PROCEDURE
1637 ,p_module => l_log_module);
1638
1639 END IF;
1640 x_value_combination_id := TO_NUMBER(p_source_16) ;
1641 x_value_segment_code := 'GL_ACCOUNT' ;
1642 x_value_type_code := 'S';
1643 l_output_value := null;
1644 RETURN l_output_value;
1645
1646 ELSE
1647 IF p_override_seg_flag = 'Y' THEN
1648 RETURN '#$NO_OVERRIDE#$';
1649 END IF;
1650 END IF;
1651
1652 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1653
1654 trace
1655 (p_msg => 'END of AcctDerRule_11(invalid)'
1656 ,p_level => C_LEVEL_PROCEDURE
1657 ,p_module => l_log_module);
1658
1659 END IF;
1660
1661 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1662 x_value_combination_id := null;
1663 x_value_segment_code := null;
1664 x_value_type_code := null;
1665 l_output_value := null;
1666 xla_accounting_err_pkg.build_message
1667 (p_appli_s_name => 'XLA'
1668 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1669 ,p_token_1 => 'COMPONENT_NAME'
1670 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1671 l_component_type
1672 , l_component_code
1673 , l_component_type_code
1674 , l_component_appl_id
1675 , l_amb_context_code
1676 )
1677 ,p_token_2 => 'OWNER'
1678 ,p_value_2 => xla_lookups_pkg.get_meaning(
1679 'XLA_OWNER_TYPE'
1680 ,l_component_type_code
1684 ,p_token_4 => 'PAD_OWNER'
1681 )
1682 ,p_token_3 => 'PAD_NAME'
1683 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1685 ,p_value_4 => xla_lookups_pkg.get_meaning(
1686 'XLA_OWNER_TYPE'
1687 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1688 )
1689 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1690 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1691 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1692 ,p_ae_header_id => NULL
1693 );
1694 RETURN l_output_value;
1695 EXCEPTION
1696 WHEN xla_exceptions_pkg.application_exception THEN
1697 RAISE;
1698 WHEN OTHERS THEN
1699 xla_exceptions_pkg.raise_message
1700 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_11');
1701 END AcctDerRule_11;
1702 --
1703
1704 ---------------------------------------
1705 --
1706 -- PRIVATE FUNCTION
1707 -- AcctDerRule_12
1708 --
1709 ---------------------------------------
1710 FUNCTION AcctDerRule_12 (
1711 p_application_id IN NUMBER
1712 , p_ae_header_id IN NUMBER
1713 , p_side IN VARCHAR2
1714 , p_override_seg_flag IN VARCHAR2
1715 --Invoice Distribution Account
1716 , p_source_18 IN NUMBER
1717 --Prepaid Expense Account Source Option
1718 , p_source_19 IN VARCHAR2
1719 , p_source_19_meaning IN VARCHAR2
1720 --Purchase Order Number
1721 , p_source_20 IN VARCHAR2
1722 --Invoice Distribution Type
1723 , p_source_21 IN VARCHAR2
1724 , p_source_21_meaning IN VARCHAR2
1725 , x_transaction_coa_id OUT NOCOPY NUMBER
1726 , x_accounting_coa_id OUT NOCOPY NUMBER
1727 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1728 , x_flex_value_set_id OUT NOCOPY NUMBER
1729 , x_value_type_code OUT NOCOPY VARCHAR2
1730 , x_value_combination_id OUT NOCOPY NUMBER
1731 , x_value_segment_code OUT NOCOPY VARCHAR2
1732 )
1733 RETURN VARCHAR2
1734 IS
1735 l_component_type VARCHAR2(80) ;
1736 l_component_code VARCHAR2(30) ;
1737 l_component_type_code VARCHAR2(1) ;
1738 l_component_appl_id INTEGER ;
1739 l_amb_context_code VARCHAR2(30) ;
1740 l_log_module VARCHAR2(240) ;
1741 l_output_value VARCHAR2(30) ;
1742 BEGIN
1743 IF g_log_enabled THEN
1744 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_12';
1745 END IF;
1746 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1747
1748 trace
1749 (p_msg => 'BEGIN of AcctDerRule_12'
1750 ,p_level => C_LEVEL_PROCEDURE
1751 ,p_module => l_log_module);
1752
1753 END IF;
1754
1755 l_component_type := 'AMB_ADR';
1756 l_component_code := 'AP_INVOICE_DIST_NAT_ACCT_ITEM';
1757 l_component_type_code := 'S';
1758 l_component_appl_id := 200;
1759 l_amb_context_code := 'DEFAULT';
1760 x_transaction_coa_id := null;
1761 x_accounting_coa_id := null;
1762 x_flexfield_segment_code := 'GL_ACCOUNT';
1763 x_flex_value_set_id := null ;
1764
1765
1766 IF NVL(p_source_19,'
1767 ') = 'Y' AND
1768 p_source_20 IS NOT NULL AND
1769 NVL(p_source_21,'
1770 ') = 'ITEM'
1771 THEN
1772 --
1773 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1774
1775 trace
1776 (p_msg => 'END of AcctDerRule_12'
1777 ,p_level => C_LEVEL_PROCEDURE
1778 ,p_module => l_log_module);
1779
1780 END IF;
1781 x_value_combination_id := TO_NUMBER(p_source_18) ;
1782 x_value_segment_code := 'GL_ACCOUNT' ;
1783 x_value_type_code := 'S';
1784 l_output_value := null;
1785 RETURN l_output_value;
1786
1787 ELSE
1788 IF p_override_seg_flag = 'Y' THEN
1789 RETURN '#$NO_OVERRIDE#$';
1790 END IF;
1791 END IF;
1792
1793 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1794
1795 trace
1796 (p_msg => 'END of AcctDerRule_12(invalid)'
1797 ,p_level => C_LEVEL_PROCEDURE
1798 ,p_module => l_log_module);
1799
1800 END IF;
1801
1802 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1803 x_value_combination_id := null;
1804 x_value_segment_code := null;
1805 x_value_type_code := null;
1806 l_output_value := null;
1807 xla_accounting_err_pkg.build_message
1808 (p_appli_s_name => 'XLA'
1809 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1810 ,p_token_1 => 'COMPONENT_NAME'
1811 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1812 l_component_type
1813 , l_component_code
1814 , l_component_type_code
1815 , l_component_appl_id
1819 ,p_value_2 => xla_lookups_pkg.get_meaning(
1816 , l_amb_context_code
1817 )
1818 ,p_token_2 => 'OWNER'
1820 'XLA_OWNER_TYPE'
1821 ,l_component_type_code
1822 )
1823 ,p_token_3 => 'PAD_NAME'
1824 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1825 ,p_token_4 => 'PAD_OWNER'
1826 ,p_value_4 => xla_lookups_pkg.get_meaning(
1827 'XLA_OWNER_TYPE'
1828 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1829 )
1830 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1831 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1832 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1833 ,p_ae_header_id => NULL
1834 );
1835 RETURN l_output_value;
1836 EXCEPTION
1837 WHEN xla_exceptions_pkg.application_exception THEN
1838 RAISE;
1839 WHEN OTHERS THEN
1840 xla_exceptions_pkg.raise_message
1841 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_12');
1842 END AcctDerRule_12;
1843 --
1844
1845 ---------------------------------------
1846 --
1847 -- PRIVATE FUNCTION
1848 -- AcctDerRule_13
1849 --
1850 ---------------------------------------
1851 FUNCTION AcctDerRule_13 (
1852 p_application_id IN NUMBER
1853 , p_ae_header_id IN NUMBER
1854 , p_side IN VARCHAR2
1855 , p_override_seg_flag IN VARCHAR2
1856 --Automatic Offsets Value
1857 , p_source_3 IN VARCHAR2
1858 , p_source_3_meaning IN VARCHAR2
1859 --Invoice Distribution Account
1860 , p_source_18 IN NUMBER
1861 , x_transaction_coa_id OUT NOCOPY NUMBER
1862 , x_accounting_coa_id OUT NOCOPY NUMBER
1863 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1864 , x_flex_value_set_id OUT NOCOPY NUMBER
1865 , x_value_type_code OUT NOCOPY VARCHAR2
1866 , x_value_combination_id OUT NOCOPY NUMBER
1867 , x_value_segment_code OUT NOCOPY VARCHAR2
1868 )
1869 RETURN VARCHAR2
1870 IS
1871 l_component_type VARCHAR2(80) ;
1872 l_component_code VARCHAR2(30) ;
1873 l_component_type_code VARCHAR2(1) ;
1874 l_component_appl_id INTEGER ;
1875 l_amb_context_code VARCHAR2(30) ;
1876 l_log_module VARCHAR2(240) ;
1877 l_output_value VARCHAR2(30) ;
1878 BEGIN
1879 IF g_log_enabled THEN
1880 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_13';
1881 END IF;
1882 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1883
1884 trace
1885 (p_msg => 'BEGIN of AcctDerRule_13'
1886 ,p_level => C_LEVEL_PROCEDURE
1887 ,p_module => l_log_module);
1888
1889 END IF;
1890
1891 l_component_type := 'AMB_ADR';
1892 l_component_code := 'AP_INVOICE_DIST_NAT_ACCT_SEG';
1893 l_component_type_code := 'S';
1894 l_component_appl_id := 200;
1895 l_amb_context_code := 'DEFAULT';
1896 x_transaction_coa_id := null;
1897 x_accounting_coa_id := null;
1898 x_flexfield_segment_code := 'GL_ACCOUNT';
1899 x_flex_value_set_id := null ;
1900
1901
1902 IF NVL(p_source_3,'
1903 ') = 'ACCOUNT_SEGMENT_VALUE'
1904 THEN
1905 --
1906 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1907
1908 trace
1909 (p_msg => 'END of AcctDerRule_13'
1910 ,p_level => C_LEVEL_PROCEDURE
1911 ,p_module => l_log_module);
1912
1913 END IF;
1914 x_value_combination_id := TO_NUMBER(p_source_18) ;
1915 x_value_segment_code := 'GL_ACCOUNT' ;
1916 x_value_type_code := 'S';
1917 l_output_value := null;
1918 RETURN l_output_value;
1919
1920 ELSE
1921 IF p_override_seg_flag = 'Y' THEN
1922 RETURN '#$NO_OVERRIDE#$';
1923 END IF;
1924 END IF;
1925
1926 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1927
1928 trace
1929 (p_msg => 'END of AcctDerRule_13(invalid)'
1930 ,p_level => C_LEVEL_PROCEDURE
1931 ,p_module => l_log_module);
1932
1933 END IF;
1934
1935 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1936 x_value_combination_id := null;
1937 x_value_segment_code := null;
1938 x_value_type_code := null;
1939 l_output_value := null;
1940 xla_accounting_err_pkg.build_message
1941 (p_appli_s_name => 'XLA'
1942 ,p_msg_name => 'XLA_AP_INVALID_ADR'
1943 ,p_token_1 => 'COMPONENT_NAME'
1944 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
1945 l_component_type
1946 , l_component_code
1950 )
1947 , l_component_type_code
1948 , l_component_appl_id
1949 , l_amb_context_code
1951 ,p_token_2 => 'OWNER'
1952 ,p_value_2 => xla_lookups_pkg.get_meaning(
1953 'XLA_OWNER_TYPE'
1954 ,l_component_type_code
1955 )
1956 ,p_token_3 => 'PAD_NAME'
1957 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
1958 ,p_token_4 => 'PAD_OWNER'
1959 ,p_value_4 => xla_lookups_pkg.get_meaning(
1960 'XLA_OWNER_TYPE'
1961 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
1962 )
1963 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1964 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1965 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1966 ,p_ae_header_id => NULL
1967 );
1968 RETURN l_output_value;
1969 EXCEPTION
1970 WHEN xla_exceptions_pkg.application_exception THEN
1971 RAISE;
1972 WHEN OTHERS THEN
1973 xla_exceptions_pkg.raise_message
1974 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_13');
1975 END AcctDerRule_13;
1976 --
1977
1978 ---------------------------------------
1979 --
1980 -- PRIVATE FUNCTION
1981 -- AcctDerRule_14
1982 --
1983 ---------------------------------------
1984 FUNCTION AcctDerRule_14 (
1985 p_application_id IN NUMBER
1986 , p_ae_header_id IN NUMBER
1987 , p_side IN VARCHAR2
1988 , p_override_seg_flag IN VARCHAR2
1989 --Invoice Liability Account
1990 , p_source_22 IN NUMBER
1991 , x_transaction_coa_id OUT NOCOPY NUMBER
1992 , x_accounting_coa_id OUT NOCOPY NUMBER
1993 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
1994 , x_flex_value_set_id OUT NOCOPY NUMBER
1995 , x_value_type_code OUT NOCOPY VARCHAR2
1996 , x_value_combination_id OUT NOCOPY NUMBER
1997 , x_value_segment_code OUT NOCOPY VARCHAR2
1998 )
1999 RETURN VARCHAR2
2000 IS
2001 l_component_type VARCHAR2(80) ;
2002 l_component_code VARCHAR2(30) ;
2003 l_component_type_code VARCHAR2(1) ;
2004 l_component_appl_id INTEGER ;
2005 l_amb_context_code VARCHAR2(30) ;
2006 l_log_module VARCHAR2(240) ;
2007 l_output_value VARCHAR2(30) ;
2008 BEGIN
2009 IF g_log_enabled THEN
2010 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_14';
2011 END IF;
2012 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2013
2014 trace
2015 (p_msg => 'BEGIN of AcctDerRule_14'
2016 ,p_level => C_LEVEL_PROCEDURE
2017 ,p_module => l_log_module);
2018
2019 END IF;
2020
2021 l_component_type := 'AMB_ADR';
2022 l_component_code := 'AP_LIAB_NAT_ACCT_SEG';
2023 l_component_type_code := 'S';
2024 l_component_appl_id := 200;
2025 l_amb_context_code := 'DEFAULT';
2026 x_transaction_coa_id := null;
2027 x_accounting_coa_id := null;
2028 x_flexfield_segment_code := 'GL_ACCOUNT';
2029 x_flex_value_set_id := null ;
2030
2031
2032 --
2033 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2034
2035 trace
2036 (p_msg => 'END of AcctDerRule_14'
2037 ,p_level => C_LEVEL_PROCEDURE
2038 ,p_module => l_log_module);
2039
2040 END IF;
2041 x_value_combination_id := TO_NUMBER(p_source_22) ;
2042 x_value_segment_code := 'GL_ACCOUNT' ;
2043 x_value_type_code := 'S';
2044 l_output_value := null;
2045 RETURN l_output_value;
2046
2047
2048 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2049
2050 trace
2051 (p_msg => 'END of AcctDerRule_14(invalid)'
2052 ,p_level => C_LEVEL_PROCEDURE
2053 ,p_module => l_log_module);
2054
2055 END IF;
2056
2057 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2058 x_value_combination_id := null;
2059 x_value_segment_code := null;
2060 x_value_type_code := null;
2061 l_output_value := null;
2062 xla_accounting_err_pkg.build_message
2063 (p_appli_s_name => 'XLA'
2064 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2065 ,p_token_1 => 'COMPONENT_NAME'
2066 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2067 l_component_type
2068 , l_component_code
2069 , l_component_type_code
2073 ,p_token_2 => 'OWNER'
2070 , l_component_appl_id
2071 , l_amb_context_code
2072 )
2074 ,p_value_2 => xla_lookups_pkg.get_meaning(
2075 'XLA_OWNER_TYPE'
2076 ,l_component_type_code
2077 )
2078 ,p_token_3 => 'PAD_NAME'
2079 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2080 ,p_token_4 => 'PAD_OWNER'
2081 ,p_value_4 => xla_lookups_pkg.get_meaning(
2082 'XLA_OWNER_TYPE'
2083 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2084 )
2085 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2086 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2087 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2088 ,p_ae_header_id => NULL
2089 );
2090 RETURN l_output_value;
2091 EXCEPTION
2092 WHEN xla_exceptions_pkg.application_exception THEN
2093 RAISE;
2094 WHEN OTHERS THEN
2095 xla_exceptions_pkg.raise_message
2096 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_14');
2097 END AcctDerRule_14;
2098 --
2099
2100 ---------------------------------------
2101 --
2102 -- PRIVATE FUNCTION
2103 -- AcctDerRule_15
2104 --
2105 ---------------------------------------
2106 FUNCTION AcctDerRule_15 (
2107 p_application_id IN NUMBER
2108 , p_ae_header_id IN NUMBER
2109 , p_side IN VARCHAR2
2110 , p_override_seg_flag IN VARCHAR2
2111 --Bank Cash Clearing Account
2112 , p_source_23 IN NUMBER
2113 , x_transaction_coa_id OUT NOCOPY NUMBER
2114 , x_accounting_coa_id OUT NOCOPY NUMBER
2115 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2116 , x_flex_value_set_id OUT NOCOPY NUMBER
2117 , x_value_type_code OUT NOCOPY VARCHAR2
2118 , x_value_combination_id OUT NOCOPY NUMBER
2119 , x_value_segment_code OUT NOCOPY VARCHAR2
2120 )
2121 RETURN VARCHAR2
2122 IS
2123 l_component_type VARCHAR2(80) ;
2124 l_component_code VARCHAR2(30) ;
2125 l_component_type_code VARCHAR2(1) ;
2126 l_component_appl_id INTEGER ;
2127 l_amb_context_code VARCHAR2(30) ;
2128 l_log_module VARCHAR2(240) ;
2129 l_output_value VARCHAR2(30) ;
2130 BEGIN
2131 IF g_log_enabled THEN
2132 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_15';
2133 END IF;
2134 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2135
2136 trace
2137 (p_msg => 'BEGIN of AcctDerRule_15'
2138 ,p_level => C_LEVEL_PROCEDURE
2139 ,p_module => l_log_module);
2140
2141 END IF;
2142
2143 l_component_type := 'AMB_ADR';
2144 l_component_code := 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL';
2145 l_component_type_code := 'S';
2146 l_component_appl_id := 200;
2147 l_amb_context_code := 'DEFAULT';
2148 x_transaction_coa_id := null;
2149 x_accounting_coa_id := null;
2150 x_flexfield_segment_code := 'GL_ACCOUNT';
2151 x_flex_value_set_id := null ;
2152
2153
2154 --
2155 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2156
2157 trace
2158 (p_msg => 'END of AcctDerRule_15'
2159 ,p_level => C_LEVEL_PROCEDURE
2160 ,p_module => l_log_module);
2161
2162 END IF;
2163 x_value_combination_id := TO_NUMBER(p_source_23) ;
2164 x_value_segment_code := 'GL_ACCOUNT' ;
2165 x_value_type_code := 'S';
2166 l_output_value := null;
2167 RETURN l_output_value;
2168
2169
2170 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2171
2172 trace
2173 (p_msg => 'END of AcctDerRule_15(invalid)'
2174 ,p_level => C_LEVEL_PROCEDURE
2175 ,p_module => l_log_module);
2176
2177 END IF;
2178
2179 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2180 x_value_combination_id := null;
2181 x_value_segment_code := null;
2182 x_value_type_code := null;
2183 l_output_value := null;
2184 xla_accounting_err_pkg.build_message
2185 (p_appli_s_name => 'XLA'
2186 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2187 ,p_token_1 => 'COMPONENT_NAME'
2188 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2189 l_component_type
2190 , l_component_code
2191 , l_component_type_code
2192 , l_component_appl_id
2196 ,p_value_2 => xla_lookups_pkg.get_meaning(
2193 , l_amb_context_code
2194 )
2195 ,p_token_2 => 'OWNER'
2197 'XLA_OWNER_TYPE'
2198 ,l_component_type_code
2199 )
2200 ,p_token_3 => 'PAD_NAME'
2201 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2202 ,p_token_4 => 'PAD_OWNER'
2203 ,p_value_4 => xla_lookups_pkg.get_meaning(
2204 'XLA_OWNER_TYPE'
2205 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2206 )
2207 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2208 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2209 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2210 ,p_ae_header_id => NULL
2211 );
2212 RETURN l_output_value;
2213 EXCEPTION
2214 WHEN xla_exceptions_pkg.application_exception THEN
2215 RAISE;
2216 WHEN OTHERS THEN
2217 xla_exceptions_pkg.raise_message
2218 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_15');
2219 END AcctDerRule_15;
2220 --
2221
2222 ---------------------------------------
2223 --
2224 -- PRIVATE FUNCTION
2225 -- AcctDerRule_16
2226 --
2227 ---------------------------------------
2228 FUNCTION AcctDerRule_16 (
2229 p_application_id IN NUMBER
2230 , p_ae_header_id IN NUMBER
2231 , p_side IN VARCHAR2
2232 , p_override_seg_flag IN VARCHAR2
2233 --Automatic Offsets Value
2234 , p_source_3 IN VARCHAR2
2235 , p_source_3_meaning IN VARCHAR2
2236 --Internal Realized Gain Account
2237 , p_source_24 IN NUMBER
2238 --Bank Gain Account
2239 , p_source_25 IN NUMBER
2240 , x_transaction_coa_id OUT NOCOPY NUMBER
2241 , x_accounting_coa_id OUT NOCOPY NUMBER
2242 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2243 , x_flex_value_set_id OUT NOCOPY NUMBER
2244 , x_value_type_code OUT NOCOPY VARCHAR2
2245 , x_value_combination_id OUT NOCOPY NUMBER
2246 , x_value_segment_code OUT NOCOPY VARCHAR2
2247 )
2248 RETURN VARCHAR2
2249 IS
2250 l_component_type VARCHAR2(80) ;
2251 l_component_code VARCHAR2(30) ;
2252 l_component_type_code VARCHAR2(1) ;
2253 l_component_appl_id INTEGER ;
2254 l_amb_context_code VARCHAR2(30) ;
2255 l_log_module VARCHAR2(240) ;
2256 l_output_value VARCHAR2(30) ;
2257 BEGIN
2258 IF g_log_enabled THEN
2259 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_16';
2260 END IF;
2261 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2262
2263 trace
2264 (p_msg => 'BEGIN of AcctDerRule_16'
2265 ,p_level => C_LEVEL_PROCEDURE
2266 ,p_module => l_log_module);
2267
2268 END IF;
2269
2270 l_component_type := 'AMB_ADR';
2271 l_component_code := 'AP_REAL_GAIN_NAT_ACCT_SEG';
2272 l_component_type_code := 'S';
2273 l_component_appl_id := 200;
2274 l_amb_context_code := 'DEFAULT';
2275 x_transaction_coa_id := null;
2276 x_accounting_coa_id := null;
2277 x_flexfield_segment_code := 'GL_ACCOUNT';
2278 x_flex_value_set_id := null ;
2279
2280
2281 IF NVL(p_source_3,'
2282 ') = 'ACCOUNT_SEGMENT_VALUE'
2283 THEN
2284 --
2285 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2286
2287 trace
2288 (p_msg => 'END of AcctDerRule_16'
2289 ,p_level => C_LEVEL_PROCEDURE
2290 ,p_module => l_log_module);
2291
2292 END IF;
2293 x_value_combination_id := TO_NUMBER(p_source_24) ;
2294 x_value_segment_code := 'GL_ACCOUNT' ;
2295 x_value_type_code := 'S';
2296 l_output_value := null;
2297 RETURN l_output_value;
2298
2299 ELSIF NVL(p_source_3,'
2300 ') = 'ACCOUNT_SEGMENT_VALUE'
2301 THEN
2302 --
2303 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2304
2305 trace
2306 (p_msg => 'END of AcctDerRule_16'
2307 ,p_level => C_LEVEL_PROCEDURE
2308 ,p_module => l_log_module);
2309
2310 END IF;
2311 x_value_combination_id := TO_NUMBER(p_source_25) ;
2312 x_value_segment_code := 'GL_ACCOUNT' ;
2313 x_value_type_code := 'S';
2314 l_output_value := null;
2315 RETURN l_output_value;
2316
2317 ELSE
2318 IF p_override_seg_flag = 'Y' THEN
2319 RETURN '#$NO_OVERRIDE#$';
2320 END IF;
2321 END IF;
2322
2323 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2324
2325 trace
2326 (p_msg => 'END of AcctDerRule_16(invalid)'
2327 ,p_level => C_LEVEL_PROCEDURE
2328 ,p_module => l_log_module);
2329
2330 END IF;
2331
2332 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2333 x_value_combination_id := null;
2334 x_value_segment_code := null;
2338 (p_appli_s_name => 'XLA'
2335 x_value_type_code := null;
2336 l_output_value := null;
2337 xla_accounting_err_pkg.build_message
2339 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2340 ,p_token_1 => 'COMPONENT_NAME'
2341 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2342 l_component_type
2343 , l_component_code
2344 , l_component_type_code
2345 , l_component_appl_id
2346 , l_amb_context_code
2347 )
2348 ,p_token_2 => 'OWNER'
2349 ,p_value_2 => xla_lookups_pkg.get_meaning(
2350 'XLA_OWNER_TYPE'
2351 ,l_component_type_code
2352 )
2353 ,p_token_3 => 'PAD_NAME'
2354 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2355 ,p_token_4 => 'PAD_OWNER'
2356 ,p_value_4 => xla_lookups_pkg.get_meaning(
2357 'XLA_OWNER_TYPE'
2358 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2359 )
2360 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2361 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2362 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2363 ,p_ae_header_id => NULL
2364 );
2365 RETURN l_output_value;
2366 EXCEPTION
2367 WHEN xla_exceptions_pkg.application_exception THEN
2368 RAISE;
2369 WHEN OTHERS THEN
2370 xla_exceptions_pkg.raise_message
2371 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_16');
2372 END AcctDerRule_16;
2373 --
2374
2375 ---------------------------------------
2376 --
2377 -- PRIVATE FUNCTION
2378 -- AcctDerRule_17
2379 --
2380 ---------------------------------------
2381 FUNCTION AcctDerRule_17 (
2382 p_application_id IN NUMBER
2383 , p_ae_header_id IN NUMBER
2384 , p_side IN VARCHAR2
2385 , p_override_seg_flag IN VARCHAR2
2386 --Automatic Offsets Value
2387 , p_source_3 IN VARCHAR2
2388 , p_source_3_meaning IN VARCHAR2
2389 --Internal Realized Loss Account
2390 , p_source_26 IN NUMBER
2391 --Bank Loss Account
2392 , p_source_27 IN NUMBER
2393 , x_transaction_coa_id OUT NOCOPY NUMBER
2394 , x_accounting_coa_id OUT NOCOPY NUMBER
2395 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2396 , x_flex_value_set_id OUT NOCOPY NUMBER
2397 , x_value_type_code OUT NOCOPY VARCHAR2
2398 , x_value_combination_id OUT NOCOPY NUMBER
2399 , x_value_segment_code OUT NOCOPY VARCHAR2
2400 )
2401 RETURN VARCHAR2
2402 IS
2403 l_component_type VARCHAR2(80) ;
2404 l_component_code VARCHAR2(30) ;
2405 l_component_type_code VARCHAR2(1) ;
2406 l_component_appl_id INTEGER ;
2407 l_amb_context_code VARCHAR2(30) ;
2408 l_log_module VARCHAR2(240) ;
2409 l_output_value VARCHAR2(30) ;
2410 BEGIN
2411 IF g_log_enabled THEN
2412 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_17';
2413 END IF;
2414 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2415
2416 trace
2417 (p_msg => 'BEGIN of AcctDerRule_17'
2418 ,p_level => C_LEVEL_PROCEDURE
2419 ,p_module => l_log_module);
2420
2421 END IF;
2422
2423 l_component_type := 'AMB_ADR';
2424 l_component_code := 'AP_REAL_LOSS_NAT_ACCT_SEG';
2425 l_component_type_code := 'S';
2426 l_component_appl_id := 200;
2427 l_amb_context_code := 'DEFAULT';
2428 x_transaction_coa_id := null;
2429 x_accounting_coa_id := null;
2430 x_flexfield_segment_code := 'GL_ACCOUNT';
2431 x_flex_value_set_id := null ;
2432
2433
2434 IF NVL(p_source_3,'
2435 ') = 'ACCOUNT_SEGMENT_VALUE'
2436 THEN
2437 --
2438 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2439
2440 trace
2441 (p_msg => 'END of AcctDerRule_17'
2442 ,p_level => C_LEVEL_PROCEDURE
2443 ,p_module => l_log_module);
2444
2445 END IF;
2446 x_value_combination_id := TO_NUMBER(p_source_26) ;
2447 x_value_segment_code := 'GL_ACCOUNT' ;
2448 x_value_type_code := 'S';
2449 l_output_value := null;
2450 RETURN l_output_value;
2451
2452 ELSIF NVL(p_source_3,'
2453 ') = 'ACCOUNT_SEGMENT_VALUE'
2454 THEN
2455 --
2456 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2457
2458 trace
2459 (p_msg => 'END of AcctDerRule_17'
2460 ,p_level => C_LEVEL_PROCEDURE
2461 ,p_module => l_log_module);
2462
2463 END IF;
2464 x_value_combination_id := TO_NUMBER(p_source_27) ;
2465 x_value_segment_code := 'GL_ACCOUNT' ;
2469
2466 x_value_type_code := 'S';
2467 l_output_value := null;
2468 RETURN l_output_value;
2470 ELSE
2471 IF p_override_seg_flag = 'Y' THEN
2472 RETURN '#$NO_OVERRIDE#$';
2473 END IF;
2474 END IF;
2475
2476 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2477
2478 trace
2479 (p_msg => 'END of AcctDerRule_17(invalid)'
2480 ,p_level => C_LEVEL_PROCEDURE
2481 ,p_module => l_log_module);
2482
2483 END IF;
2484
2485 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2486 x_value_combination_id := null;
2487 x_value_segment_code := null;
2488 x_value_type_code := null;
2489 l_output_value := null;
2490 xla_accounting_err_pkg.build_message
2491 (p_appli_s_name => 'XLA'
2492 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2493 ,p_token_1 => 'COMPONENT_NAME'
2494 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2495 l_component_type
2496 , l_component_code
2497 , l_component_type_code
2498 , l_component_appl_id
2499 , l_amb_context_code
2500 )
2501 ,p_token_2 => 'OWNER'
2502 ,p_value_2 => xla_lookups_pkg.get_meaning(
2503 'XLA_OWNER_TYPE'
2504 ,l_component_type_code
2505 )
2506 ,p_token_3 => 'PAD_NAME'
2507 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2508 ,p_token_4 => 'PAD_OWNER'
2509 ,p_value_4 => xla_lookups_pkg.get_meaning(
2510 'XLA_OWNER_TYPE'
2511 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2512 )
2513 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2514 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2515 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2516 ,p_ae_header_id => NULL
2517 );
2518 RETURN l_output_value;
2519 EXCEPTION
2520 WHEN xla_exceptions_pkg.application_exception THEN
2521 RAISE;
2522 WHEN OTHERS THEN
2523 xla_exceptions_pkg.raise_message
2524 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_17');
2525 END AcctDerRule_17;
2526 --
2527
2528 ---------------------------------------
2529 --
2530 -- PRIVATE FUNCTION
2531 -- AcctDerRule_18
2532 --
2533 ---------------------------------------
2534 FUNCTION AcctDerRule_18 (
2535 p_application_id IN NUMBER
2536 , p_ae_header_id IN NUMBER
2537 , p_side IN VARCHAR2
2538 , p_override_seg_flag IN VARCHAR2
2539 --Retainage Account
2540 , p_source_28 IN NUMBER
2541 , x_transaction_coa_id OUT NOCOPY NUMBER
2542 , x_accounting_coa_id OUT NOCOPY NUMBER
2543 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2544 , x_flex_value_set_id OUT NOCOPY NUMBER
2545 , x_value_type_code OUT NOCOPY VARCHAR2
2546 , x_value_combination_id OUT NOCOPY NUMBER
2547 , x_value_segment_code OUT NOCOPY VARCHAR2
2548 )
2549 RETURN VARCHAR2
2550 IS
2551 l_component_type VARCHAR2(80) ;
2552 l_component_code VARCHAR2(30) ;
2553 l_component_type_code VARCHAR2(1) ;
2554 l_component_appl_id INTEGER ;
2555 l_amb_context_code VARCHAR2(30) ;
2556 l_log_module VARCHAR2(240) ;
2557 l_output_value VARCHAR2(30) ;
2558 BEGIN
2559 IF g_log_enabled THEN
2560 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_18';
2561 END IF;
2562 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2563
2564 trace
2565 (p_msg => 'BEGIN of AcctDerRule_18'
2566 ,p_level => C_LEVEL_PROCEDURE
2567 ,p_module => l_log_module);
2568
2569 END IF;
2570
2571 l_component_type := 'AMB_ADR';
2572 l_component_code := 'AP_RETAIN_NAT_ACCT_SEG';
2573 l_component_type_code := 'S';
2574 l_component_appl_id := 200;
2575 l_amb_context_code := 'DEFAULT';
2576 x_transaction_coa_id := null;
2577 x_accounting_coa_id := null;
2578 x_flexfield_segment_code := 'GL_ACCOUNT';
2579 x_flex_value_set_id := null ;
2580
2581
2582 --
2583 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2584
2585 trace
2586 (p_msg => 'END of AcctDerRule_18'
2587 ,p_level => C_LEVEL_PROCEDURE
2588 ,p_module => l_log_module);
2589
2590 END IF;
2591 x_value_combination_id := TO_NUMBER(p_source_28) ;
2592 x_value_segment_code := 'GL_ACCOUNT' ;
2596
2593 x_value_type_code := 'S';
2594 l_output_value := null;
2595 RETURN l_output_value;
2597
2598 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2599
2600 trace
2601 (p_msg => 'END of AcctDerRule_18(invalid)'
2602 ,p_level => C_LEVEL_PROCEDURE
2603 ,p_module => l_log_module);
2604
2605 END IF;
2606
2607 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2608 x_value_combination_id := null;
2609 x_value_segment_code := null;
2610 x_value_type_code := null;
2611 l_output_value := null;
2612 xla_accounting_err_pkg.build_message
2613 (p_appli_s_name => 'XLA'
2614 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2615 ,p_token_1 => 'COMPONENT_NAME'
2616 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2617 l_component_type
2618 , l_component_code
2619 , l_component_type_code
2620 , l_component_appl_id
2621 , l_amb_context_code
2622 )
2623 ,p_token_2 => 'OWNER'
2624 ,p_value_2 => xla_lookups_pkg.get_meaning(
2625 'XLA_OWNER_TYPE'
2626 ,l_component_type_code
2627 )
2628 ,p_token_3 => 'PAD_NAME'
2629 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2630 ,p_token_4 => 'PAD_OWNER'
2631 ,p_value_4 => xla_lookups_pkg.get_meaning(
2632 'XLA_OWNER_TYPE'
2633 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2634 )
2635 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2636 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2637 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2638 ,p_ae_header_id => NULL
2639 );
2640 RETURN l_output_value;
2641 EXCEPTION
2642 WHEN xla_exceptions_pkg.application_exception THEN
2643 RAISE;
2644 WHEN OTHERS THEN
2645 xla_exceptions_pkg.raise_message
2646 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_18');
2647 END AcctDerRule_18;
2648 --
2649
2650 ---------------------------------------
2651 --
2652 -- PRIVATE FUNCTION
2653 -- AcctDerRule_19
2654 --
2655 ---------------------------------------
2656 FUNCTION AcctDerRule_19 (
2657 p_application_id IN NUMBER
2658 , p_ae_header_id IN NUMBER
2659 , p_side IN VARCHAR2
2660 , p_override_seg_flag IN VARCHAR2
2661 --Payables Options Tax Difference Account
2662 , p_source_29 IN NUMBER
2663 , x_transaction_coa_id OUT NOCOPY NUMBER
2664 , x_accounting_coa_id OUT NOCOPY NUMBER
2665 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2666 , x_flex_value_set_id OUT NOCOPY NUMBER
2667 , x_value_type_code OUT NOCOPY VARCHAR2
2668 , x_value_combination_id OUT NOCOPY NUMBER
2669 , x_value_segment_code OUT NOCOPY VARCHAR2
2670 )
2671 RETURN VARCHAR2
2672 IS
2673 l_component_type VARCHAR2(80) ;
2674 l_component_code VARCHAR2(30) ;
2675 l_component_type_code VARCHAR2(1) ;
2676 l_component_appl_id INTEGER ;
2677 l_amb_context_code VARCHAR2(30) ;
2678 l_log_module VARCHAR2(240) ;
2679 l_output_value VARCHAR2(30) ;
2680 BEGIN
2681 IF g_log_enabled THEN
2682 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_19';
2683 END IF;
2684 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2685
2686 trace
2687 (p_msg => 'BEGIN of AcctDerRule_19'
2688 ,p_level => C_LEVEL_PROCEDURE
2689 ,p_module => l_log_module);
2690
2691 END IF;
2692
2693 l_component_type := 'AMB_ADR';
2694 l_component_code := 'AP_TAX_DIFFERENCE_NAT_ACCT';
2695 l_component_type_code := 'S';
2696 l_component_appl_id := 200;
2697 l_amb_context_code := 'DEFAULT';
2698 x_transaction_coa_id := null;
2699 x_accounting_coa_id := null;
2700 x_flexfield_segment_code := 'GL_ACCOUNT';
2701 x_flex_value_set_id := null ;
2702
2703
2704 --
2705 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2706
2707 trace
2708 (p_msg => 'END of AcctDerRule_19'
2709 ,p_level => C_LEVEL_PROCEDURE
2710 ,p_module => l_log_module);
2711
2712 END IF;
2713 x_value_combination_id := TO_NUMBER(p_source_29) ;
2714 x_value_segment_code := 'GL_ACCOUNT' ;
2715 x_value_type_code := 'S';
2716 l_output_value := null;
2717 RETURN l_output_value;
2718
2719
2723 (p_msg => 'END of AcctDerRule_19(invalid)'
2720 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2721
2722 trace
2724 ,p_level => C_LEVEL_PROCEDURE
2725 ,p_module => l_log_module);
2726
2727 END IF;
2728
2729 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2730 x_value_combination_id := null;
2731 x_value_segment_code := null;
2732 x_value_type_code := null;
2733 l_output_value := null;
2734 xla_accounting_err_pkg.build_message
2735 (p_appli_s_name => 'XLA'
2736 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2737 ,p_token_1 => 'COMPONENT_NAME'
2738 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2739 l_component_type
2740 , l_component_code
2741 , l_component_type_code
2742 , l_component_appl_id
2743 , l_amb_context_code
2744 )
2745 ,p_token_2 => 'OWNER'
2746 ,p_value_2 => xla_lookups_pkg.get_meaning(
2747 'XLA_OWNER_TYPE'
2748 ,l_component_type_code
2749 )
2750 ,p_token_3 => 'PAD_NAME'
2751 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2752 ,p_token_4 => 'PAD_OWNER'
2753 ,p_value_4 => xla_lookups_pkg.get_meaning(
2754 'XLA_OWNER_TYPE'
2755 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2756 )
2757 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2758 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2759 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2760 ,p_ae_header_id => NULL
2761 );
2762 RETURN l_output_value;
2763 EXCEPTION
2764 WHEN xla_exceptions_pkg.application_exception THEN
2765 RAISE;
2766 WHEN OTHERS THEN
2767 xla_exceptions_pkg.raise_message
2768 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_19');
2769 END AcctDerRule_19;
2770 --
2771
2772 ---------------------------------------
2773 --
2774 -- PRIVATE FUNCTION
2775 -- AcctDerRule_20
2776 --
2777 ---------------------------------------
2778 FUNCTION AcctDerRule_20 (
2779 p_application_id IN NUMBER
2780 , p_ae_header_id IN NUMBER
2781 , p_side IN VARCHAR2
2782 , p_override_seg_flag IN VARCHAR2
2783 --Automatic Offsets Value
2784 , p_source_3 IN VARCHAR2
2785 , p_source_3_meaning IN VARCHAR2
2786 --Discount Distribution Method
2787 , p_source_7 IN VARCHAR2
2788 , p_source_7_meaning IN VARCHAR2
2789 --Invoice Distribution Account
2790 , p_source_18 IN NUMBER
2791 , x_transaction_coa_id OUT NOCOPY NUMBER
2792 , x_accounting_coa_id OUT NOCOPY NUMBER
2793 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2794 , x_flex_value_set_id OUT NOCOPY NUMBER
2795 , x_value_type_code OUT NOCOPY VARCHAR2
2796 , x_value_combination_id OUT NOCOPY NUMBER
2797 , x_value_segment_code OUT NOCOPY VARCHAR2
2798 )
2799 RETURN VARCHAR2
2800 IS
2801 l_component_type VARCHAR2(80) ;
2802 l_component_code VARCHAR2(30) ;
2803 l_component_type_code VARCHAR2(1) ;
2804 l_component_appl_id INTEGER ;
2805 l_amb_context_code VARCHAR2(30) ;
2806 l_log_module VARCHAR2(240) ;
2807 l_output_value VARCHAR2(30) ;
2808 BEGIN
2809 IF g_log_enabled THEN
2810 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_20';
2811 END IF;
2812 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2813
2814 trace
2815 (p_msg => 'BEGIN of AcctDerRule_20'
2816 ,p_level => C_LEVEL_PROCEDURE
2817 ,p_module => l_log_module);
2818
2819 END IF;
2820
2821 l_component_type := 'AMB_ADR';
2822 l_component_code := 'AP_DISCOUNT_BAL_ACCT_SEG';
2823 l_component_type_code := 'S';
2824 l_component_appl_id := 200;
2825 l_amb_context_code := 'DEFAULT';
2826 x_transaction_coa_id := null;
2827 x_accounting_coa_id := null;
2828 x_flexfield_segment_code := 'GL_BALANCING';
2829 x_flex_value_set_id := null ;
2830
2831
2832 IF NVL(p_source_7,'
2833 ') = 'SYSTEM' AND
2834 NVL(p_source_3,'
2835 ') = 'BALANCING_SEGMENT'
2836 THEN
2837 --
2838 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2839
2840 trace
2841 (p_msg => 'END of AcctDerRule_20'
2842 ,p_level => C_LEVEL_PROCEDURE
2843 ,p_module => l_log_module);
2844
2845 END IF;
2849 l_output_value := null;
2846 x_value_combination_id := TO_NUMBER(p_source_18) ;
2847 x_value_segment_code := 'GL_BALANCING' ;
2848 x_value_type_code := 'S';
2850 RETURN l_output_value;
2851
2852 ELSE
2853 IF p_override_seg_flag = 'Y' THEN
2854 RETURN '#$NO_OVERRIDE#$';
2855 END IF;
2856 END IF;
2857
2858 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2859
2860 trace
2861 (p_msg => 'END of AcctDerRule_20(invalid)'
2862 ,p_level => C_LEVEL_PROCEDURE
2863 ,p_module => l_log_module);
2864
2865 END IF;
2866
2867 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2868 x_value_combination_id := null;
2869 x_value_segment_code := null;
2870 x_value_type_code := null;
2871 l_output_value := null;
2872 xla_accounting_err_pkg.build_message
2873 (p_appli_s_name => 'XLA'
2874 ,p_msg_name => 'XLA_AP_INVALID_ADR'
2875 ,p_token_1 => 'COMPONENT_NAME'
2876 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
2877 l_component_type
2878 , l_component_code
2879 , l_component_type_code
2880 , l_component_appl_id
2881 , l_amb_context_code
2882 )
2883 ,p_token_2 => 'OWNER'
2884 ,p_value_2 => xla_lookups_pkg.get_meaning(
2885 'XLA_OWNER_TYPE'
2886 ,l_component_type_code
2887 )
2888 ,p_token_3 => 'PAD_NAME'
2889 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
2890 ,p_token_4 => 'PAD_OWNER'
2891 ,p_value_4 => xla_lookups_pkg.get_meaning(
2892 'XLA_OWNER_TYPE'
2893 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
2894 )
2895 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2896 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2897 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2898 ,p_ae_header_id => NULL
2899 );
2900 RETURN l_output_value;
2901 EXCEPTION
2902 WHEN xla_exceptions_pkg.application_exception THEN
2903 RAISE;
2904 WHEN OTHERS THEN
2905 xla_exceptions_pkg.raise_message
2906 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_20');
2907 END AcctDerRule_20;
2908 --
2909
2910 ---------------------------------------
2911 --
2912 -- PRIVATE FUNCTION
2913 -- AcctDerRule_21
2914 --
2915 ---------------------------------------
2916 FUNCTION AcctDerRule_21 (
2917 p_application_id IN NUMBER
2918 , p_ae_header_id IN NUMBER
2919 , p_side IN VARCHAR2
2920 , p_override_seg_flag IN VARCHAR2
2921 --Automatic Offsets Value
2922 , p_source_3 IN VARCHAR2
2923 , p_source_3_meaning IN VARCHAR2
2924 --Invoice Distribution Account
2925 , p_source_18 IN NUMBER
2926 , x_transaction_coa_id OUT NOCOPY NUMBER
2927 , x_accounting_coa_id OUT NOCOPY NUMBER
2928 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
2929 , x_flex_value_set_id OUT NOCOPY NUMBER
2930 , x_value_type_code OUT NOCOPY VARCHAR2
2931 , x_value_combination_id OUT NOCOPY NUMBER
2932 , x_value_segment_code OUT NOCOPY VARCHAR2
2933 )
2934 RETURN VARCHAR2
2935 IS
2936 l_component_type VARCHAR2(80) ;
2937 l_component_code VARCHAR2(30) ;
2938 l_component_type_code VARCHAR2(1) ;
2939 l_component_appl_id INTEGER ;
2940 l_amb_context_code VARCHAR2(30) ;
2941 l_log_module VARCHAR2(240) ;
2942 l_output_value VARCHAR2(30) ;
2943 BEGIN
2944 IF g_log_enabled THEN
2945 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_21';
2946 END IF;
2947 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2948
2949 trace
2950 (p_msg => 'BEGIN of AcctDerRule_21'
2951 ,p_level => C_LEVEL_PROCEDURE
2952 ,p_module => l_log_module);
2953
2954 END IF;
2955
2956 l_component_type := 'AMB_ADR';
2957 l_component_code := 'AP_INV_DIST_BAL_SEG';
2958 l_component_type_code := 'S';
2959 l_component_appl_id := 200;
2960 l_amb_context_code := 'DEFAULT';
2961 x_transaction_coa_id := null;
2962 x_accounting_coa_id := null;
2963 x_flexfield_segment_code := 'GL_BALANCING';
2964 x_flex_value_set_id := null ;
2965
2966
2967 IF NVL(p_source_3,'
2968 ') = 'BALANCING_SEGMENT'
2969 THEN
2970 --
2971 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2972
2973 trace
2977
2974 (p_msg => 'END of AcctDerRule_21'
2975 ,p_level => C_LEVEL_PROCEDURE
2976 ,p_module => l_log_module);
2978 END IF;
2979 x_value_combination_id := TO_NUMBER(p_source_18) ;
2980 x_value_segment_code := 'GL_BALANCING' ;
2981 x_value_type_code := 'S';
2982 l_output_value := null;
2983 RETURN l_output_value;
2984
2985 ELSE
2986 IF p_override_seg_flag = 'Y' THEN
2987 RETURN '#$NO_OVERRIDE#$';
2988 END IF;
2989 END IF;
2990
2991 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2992
2993 trace
2994 (p_msg => 'END of AcctDerRule_21(invalid)'
2995 ,p_level => C_LEVEL_PROCEDURE
2996 ,p_module => l_log_module);
2997
2998 END IF;
2999
3000 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3001 x_value_combination_id := null;
3002 x_value_segment_code := null;
3003 x_value_type_code := null;
3004 l_output_value := null;
3005 xla_accounting_err_pkg.build_message
3006 (p_appli_s_name => 'XLA'
3007 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3008 ,p_token_1 => 'COMPONENT_NAME'
3009 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3010 l_component_type
3011 , l_component_code
3012 , l_component_type_code
3013 , l_component_appl_id
3014 , l_amb_context_code
3015 )
3016 ,p_token_2 => 'OWNER'
3017 ,p_value_2 => xla_lookups_pkg.get_meaning(
3018 'XLA_OWNER_TYPE'
3019 ,l_component_type_code
3020 )
3021 ,p_token_3 => 'PAD_NAME'
3022 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3023 ,p_token_4 => 'PAD_OWNER'
3024 ,p_value_4 => xla_lookups_pkg.get_meaning(
3025 'XLA_OWNER_TYPE'
3026 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3027 )
3028 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3029 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3030 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3031 ,p_ae_header_id => NULL
3032 );
3033 RETURN l_output_value;
3034 EXCEPTION
3035 WHEN xla_exceptions_pkg.application_exception THEN
3036 RAISE;
3037 WHEN OTHERS THEN
3038 xla_exceptions_pkg.raise_message
3039 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_21');
3040 END AcctDerRule_21;
3041 --
3042
3043 ---------------------------------------
3044 --
3045 -- PRIVATE FUNCTION
3046 -- AcctDerRule_22
3047 --
3048 ---------------------------------------
3049 FUNCTION AcctDerRule_22 (
3050 p_application_id IN NUMBER
3051 , p_ae_header_id IN NUMBER
3052 , p_side IN VARCHAR2
3053 , p_override_seg_flag IN VARCHAR2
3054 --Automatic Offsets Value
3055 , p_source_3 IN VARCHAR2
3056 , p_source_3_meaning IN VARCHAR2
3057 --Destination Type of the PO Distribution
3058 , p_source_10 IN VARCHAR2
3059 , p_source_10_meaning IN VARCHAR2
3060 --Invoice Distribution Account
3061 , p_source_18 IN NUMBER
3062 , x_transaction_coa_id OUT NOCOPY NUMBER
3063 , x_accounting_coa_id OUT NOCOPY NUMBER
3064 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3065 , x_flex_value_set_id OUT NOCOPY NUMBER
3066 , x_value_type_code OUT NOCOPY VARCHAR2
3067 , x_value_combination_id OUT NOCOPY NUMBER
3068 , x_value_segment_code OUT NOCOPY VARCHAR2
3069 )
3070 RETURN VARCHAR2
3071 IS
3072 l_component_type VARCHAR2(80) ;
3073 l_component_code VARCHAR2(30) ;
3074 l_component_type_code VARCHAR2(1) ;
3075 l_component_appl_id INTEGER ;
3076 l_amb_context_code VARCHAR2(30) ;
3077 l_log_module VARCHAR2(240) ;
3078 l_output_value VARCHAR2(30) ;
3079 BEGIN
3080 IF g_log_enabled THEN
3081 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_22';
3082 END IF;
3083 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3084
3085 trace
3086 (p_msg => 'BEGIN of AcctDerRule_22'
3087 ,p_level => C_LEVEL_PROCEDURE
3088 ,p_module => l_log_module);
3089
3090 END IF;
3091
3092 l_component_type := 'AMB_ADR';
3093 l_component_code := 'AP_RELATED_DIST_BAL_SEG';
3094 l_component_type_code := 'S';
3098 x_accounting_coa_id := null;
3095 l_component_appl_id := 200;
3096 l_amb_context_code := 'DEFAULT';
3097 x_transaction_coa_id := null;
3099 x_flexfield_segment_code := 'GL_BALANCING';
3100 x_flex_value_set_id := null ;
3101
3102
3103 IF NVL(p_source_3,'
3104 ') = 'BALANCING_SEGMENT' AND
3105 NVL(p_source_10,'
3106 ') = 'INVENTORY'
3107 THEN
3108 --
3109 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3110
3111 trace
3112 (p_msg => 'END of AcctDerRule_22'
3113 ,p_level => C_LEVEL_PROCEDURE
3114 ,p_module => l_log_module);
3115
3116 END IF;
3117 x_value_combination_id := TO_NUMBER(p_source_18) ;
3118 x_value_segment_code := 'GL_BALANCING' ;
3119 x_value_type_code := 'S';
3120 l_output_value := null;
3121 RETURN l_output_value;
3122
3123 ELSE
3124 IF p_override_seg_flag = 'Y' THEN
3125 RETURN '#$NO_OVERRIDE#$';
3126 END IF;
3127 END IF;
3128
3129 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3130
3131 trace
3132 (p_msg => 'END of AcctDerRule_22(invalid)'
3133 ,p_level => C_LEVEL_PROCEDURE
3134 ,p_module => l_log_module);
3135
3136 END IF;
3137
3138 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3139 x_value_combination_id := null;
3140 x_value_segment_code := null;
3141 x_value_type_code := null;
3142 l_output_value := null;
3143 xla_accounting_err_pkg.build_message
3144 (p_appli_s_name => 'XLA'
3145 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3146 ,p_token_1 => 'COMPONENT_NAME'
3147 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3148 l_component_type
3149 , l_component_code
3150 , l_component_type_code
3151 , l_component_appl_id
3152 , l_amb_context_code
3153 )
3154 ,p_token_2 => 'OWNER'
3155 ,p_value_2 => xla_lookups_pkg.get_meaning(
3156 'XLA_OWNER_TYPE'
3157 ,l_component_type_code
3158 )
3159 ,p_token_3 => 'PAD_NAME'
3160 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3161 ,p_token_4 => 'PAD_OWNER'
3162 ,p_value_4 => xla_lookups_pkg.get_meaning(
3163 'XLA_OWNER_TYPE'
3164 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3165 )
3166 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3167 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3168 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3169 ,p_ae_header_id => NULL
3170 );
3171 RETURN l_output_value;
3172 EXCEPTION
3173 WHEN xla_exceptions_pkg.application_exception THEN
3174 RAISE;
3175 WHEN OTHERS THEN
3176 xla_exceptions_pkg.raise_message
3177 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_22');
3178 END AcctDerRule_22;
3179 --
3180
3181 ---------------------------------------
3182 --
3183 -- PRIVATE FUNCTION
3184 -- AcctDerRule_23
3185 --
3186 ---------------------------------------
3187 FUNCTION AcctDerRule_23 (
3188 p_application_id IN NUMBER
3189 , p_ae_header_id IN NUMBER
3190 , p_side IN VARCHAR2
3191 , p_override_seg_flag IN VARCHAR2
3192 --Automatic Offsets Value
3193 , p_source_3 IN VARCHAR2
3194 , p_source_3_meaning IN VARCHAR2
3195 --Retainage Related Item Distribution Account
3196 , p_source_30 IN NUMBER
3197 , x_transaction_coa_id OUT NOCOPY NUMBER
3198 , x_accounting_coa_id OUT NOCOPY NUMBER
3199 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3200 , x_flex_value_set_id OUT NOCOPY NUMBER
3201 , x_value_type_code OUT NOCOPY VARCHAR2
3202 , x_value_combination_id OUT NOCOPY NUMBER
3203 , x_value_segment_code OUT NOCOPY VARCHAR2
3204 )
3205 RETURN VARCHAR2
3206 IS
3207 l_component_type VARCHAR2(80) ;
3208 l_component_code VARCHAR2(30) ;
3209 l_component_type_code VARCHAR2(1) ;
3210 l_component_appl_id INTEGER ;
3211 l_amb_context_code VARCHAR2(30) ;
3212 l_log_module VARCHAR2(240) ;
3213 l_output_value VARCHAR2(30) ;
3214 BEGIN
3215 IF g_log_enabled THEN
3216 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_23';
3217 END IF;
3218 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3219
3220 trace
3221 (p_msg => 'BEGIN of AcctDerRule_23'
3222 ,p_level => C_LEVEL_PROCEDURE
3226
3223 ,p_module => l_log_module);
3224
3225 END IF;
3227 l_component_type := 'AMB_ADR';
3228 l_component_code := 'AP_RETAIN_RELATED_BAL_SEG';
3229 l_component_type_code := 'S';
3230 l_component_appl_id := 200;
3231 l_amb_context_code := 'DEFAULT';
3232 x_transaction_coa_id := null;
3233 x_accounting_coa_id := null;
3234 x_flexfield_segment_code := 'GL_BALANCING';
3235 x_flex_value_set_id := null ;
3236
3237
3238 IF NVL(p_source_3,'
3239 ') = 'BALANCING_SEGMENT'
3240 THEN
3241 --
3242 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3243
3244 trace
3245 (p_msg => 'END of AcctDerRule_23'
3246 ,p_level => C_LEVEL_PROCEDURE
3247 ,p_module => l_log_module);
3248
3249 END IF;
3250 x_value_combination_id := TO_NUMBER(p_source_30) ;
3251 x_value_segment_code := 'GL_BALANCING' ;
3252 x_value_type_code := 'S';
3253 l_output_value := null;
3254 RETURN l_output_value;
3255
3256 ELSE
3257 IF p_override_seg_flag = 'Y' THEN
3258 RETURN '#$NO_OVERRIDE#$';
3259 END IF;
3260 END IF;
3261
3262 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3263
3264 trace
3265 (p_msg => 'END of AcctDerRule_23(invalid)'
3266 ,p_level => C_LEVEL_PROCEDURE
3267 ,p_module => l_log_module);
3268
3269 END IF;
3270
3271 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3272 x_value_combination_id := null;
3273 x_value_segment_code := null;
3274 x_value_type_code := null;
3275 l_output_value := null;
3276 xla_accounting_err_pkg.build_message
3277 (p_appli_s_name => 'XLA'
3278 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3279 ,p_token_1 => 'COMPONENT_NAME'
3280 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3281 l_component_type
3282 , l_component_code
3283 , l_component_type_code
3284 , l_component_appl_id
3285 , l_amb_context_code
3286 )
3287 ,p_token_2 => 'OWNER'
3288 ,p_value_2 => xla_lookups_pkg.get_meaning(
3289 'XLA_OWNER_TYPE'
3290 ,l_component_type_code
3291 )
3292 ,p_token_3 => 'PAD_NAME'
3293 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3294 ,p_token_4 => 'PAD_OWNER'
3295 ,p_value_4 => xla_lookups_pkg.get_meaning(
3296 'XLA_OWNER_TYPE'
3297 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3298 )
3299 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3300 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3301 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3302 ,p_ae_header_id => NULL
3303 );
3304 RETURN l_output_value;
3305 EXCEPTION
3306 WHEN xla_exceptions_pkg.application_exception THEN
3307 RAISE;
3308 WHEN OTHERS THEN
3309 xla_exceptions_pkg.raise_message
3310 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_23');
3311 END AcctDerRule_23;
3312 --
3313
3314 ---------------------------------------
3315 --
3316 -- PRIVATE FUNCTION
3317 -- AcctDerRule_24
3318 --
3319 ---------------------------------------
3320 FUNCTION AcctDerRule_24 (
3321 p_application_id IN NUMBER
3322 , p_ae_header_id IN NUMBER
3323 , p_side IN VARCHAR2
3324 , p_override_seg_flag IN VARCHAR2
3325 --Automatic Offsets Value
3326 , p_source_3 IN VARCHAR2
3327 , p_source_3_meaning IN VARCHAR2
3328 --Withholding Related Distribution Account
3329 , p_source_31 IN NUMBER
3330 , x_transaction_coa_id OUT NOCOPY NUMBER
3331 , x_accounting_coa_id OUT NOCOPY NUMBER
3332 , x_flexfield_segment_code OUT NOCOPY VARCHAR2
3333 , x_flex_value_set_id OUT NOCOPY NUMBER
3334 , x_value_type_code OUT NOCOPY VARCHAR2
3335 , x_value_combination_id OUT NOCOPY NUMBER
3336 , x_value_segment_code OUT NOCOPY VARCHAR2
3337 )
3338 RETURN VARCHAR2
3339 IS
3340 l_component_type VARCHAR2(80) ;
3341 l_component_code VARCHAR2(30) ;
3342 l_component_type_code VARCHAR2(1) ;
3343 l_component_appl_id INTEGER ;
3344 l_amb_context_code VARCHAR2(30) ;
3345 l_log_module VARCHAR2(240) ;
3346 l_output_value VARCHAR2(30) ;
3347 BEGIN
3348 IF g_log_enabled THEN
3349 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_24';
3350 END IF;
3354 (p_msg => 'BEGIN of AcctDerRule_24'
3351 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3352
3353 trace
3355 ,p_level => C_LEVEL_PROCEDURE
3356 ,p_module => l_log_module);
3357
3358 END IF;
3359
3360 l_component_type := 'AMB_ADR';
3361 l_component_code := 'AP_WH_RELATED_DIST_BAL_SEG';
3362 l_component_type_code := 'S';
3363 l_component_appl_id := 200;
3364 l_amb_context_code := 'DEFAULT';
3365 x_transaction_coa_id := null;
3366 x_accounting_coa_id := null;
3367 x_flexfield_segment_code := 'GL_BALANCING';
3368 x_flex_value_set_id := null ;
3369
3370
3371 IF NVL(p_source_3,'
3372 ') = 'BALANCING_SEGMENT'
3373 THEN
3374 --
3375 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3376
3377 trace
3378 (p_msg => 'END of AcctDerRule_24'
3379 ,p_level => C_LEVEL_PROCEDURE
3380 ,p_module => l_log_module);
3381
3382 END IF;
3383 x_value_combination_id := TO_NUMBER(p_source_31) ;
3384 x_value_segment_code := 'GL_BALANCING' ;
3385 x_value_type_code := 'S';
3386 l_output_value := null;
3387 RETURN l_output_value;
3388
3389 ELSE
3390 IF p_override_seg_flag = 'Y' THEN
3391 RETURN '#$NO_OVERRIDE#$';
3392 END IF;
3393 END IF;
3394
3395 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3396
3397 trace
3398 (p_msg => 'END of AcctDerRule_24(invalid)'
3399 ,p_level => C_LEVEL_PROCEDURE
3400 ,p_module => l_log_module);
3401
3402 END IF;
3403
3404 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3405 x_value_combination_id := null;
3406 x_value_segment_code := null;
3407 x_value_type_code := null;
3408 l_output_value := null;
3409 xla_accounting_err_pkg.build_message
3410 (p_appli_s_name => 'XLA'
3411 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3412 ,p_token_1 => 'COMPONENT_NAME'
3413 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3414 l_component_type
3415 , l_component_code
3416 , l_component_type_code
3417 , l_component_appl_id
3418 , l_amb_context_code
3419 )
3420 ,p_token_2 => 'OWNER'
3421 ,p_value_2 => xla_lookups_pkg.get_meaning(
3422 'XLA_OWNER_TYPE'
3423 ,l_component_type_code
3424 )
3425 ,p_token_3 => 'PAD_NAME'
3426 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3427 ,p_token_4 => 'PAD_OWNER'
3428 ,p_value_4 => xla_lookups_pkg.get_meaning(
3429 'XLA_OWNER_TYPE'
3430 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3431 )
3432 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3433 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3434 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3435 ,p_ae_header_id => NULL
3436 );
3437 RETURN l_output_value;
3438 EXCEPTION
3439 WHEN xla_exceptions_pkg.application_exception THEN
3440 RAISE;
3441 WHEN OTHERS THEN
3442 xla_exceptions_pkg.raise_message
3443 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_24');
3444 END AcctDerRule_24;
3445 --
3446
3447 ---------------------------------------
3448 --
3449 -- PRIVATE FUNCTION
3450 -- AcctDerRule_25
3451 --
3452 ---------------------------------------
3453 FUNCTION AcctDerRule_25 (
3454 p_application_id IN NUMBER
3455 , p_ae_header_id IN NUMBER
3456 , p_side IN VARCHAR2
3457 --Bank Charges Account
3458 , p_source_2 IN NUMBER
3459 --Automatic Offsets Value
3460 , p_source_3 IN VARCHAR2
3461 , p_source_3_meaning IN VARCHAR2
3462 --Invoice Distribution Account
3463 , p_source_18 IN NUMBER
3464 , x_transaction_coa_id OUT NOCOPY NUMBER
3465 , x_accounting_coa_id OUT NOCOPY NUMBER
3466 , x_value_type_code OUT NOCOPY VARCHAR2
3467 )
3468 RETURN NUMBER
3469 IS
3470 l_component_type VARCHAR2(80) ;
3471 l_component_code VARCHAR2(30) ;
3472 l_component_type_code VARCHAR2(1) ;
3473 l_component_appl_id INTEGER ;
3474 l_amb_context_code VARCHAR2(30) ;
3475 l_log_module VARCHAR2(240) ;
3476 l_output_value NUMBER ;
3477 BEGIN
3478 IF g_log_enabled THEN
3479 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_25';
3480 END IF;
3484 ,p_level => C_LEVEL_PROCEDURE
3481 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3482 trace
3483 (p_msg => 'BEGIN of AcctDerRule_25'
3485 ,p_module => l_log_module);
3486 END IF;
3487 --
3488 l_component_type := 'AMB_ADR';
3489 l_component_code := 'AP_BANK_CHARGES';
3490 l_component_type_code := 'S';
3491 l_component_appl_id := 200;
3492 l_amb_context_code := 'DEFAULT';
3493 x_transaction_coa_id := null;
3494 x_accounting_coa_id := null;
3495 --
3496
3497 IF NVL(p_source_3,'
3498 ') <> 'ACCOUNT_SEGMENT_VALUE'
3499 THEN
3500 --
3501 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3502 trace
3503 (p_msg => 'END of AcctDerRule_25'
3504 ,p_level => C_LEVEL_PROCEDURE
3505 ,p_module => l_log_module);
3506 END IF;
3507 x_value_type_code := 'S';
3508 l_output_value := TO_NUMBER(TO_NUMBER(p_source_2));
3509 RETURN l_output_value;
3510
3511 ELSIF NVL(p_source_3,'
3512 ') = 'ACCOUNT_SEGMENT_VALUE'
3513 THEN
3514 --
3515 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3516 trace
3517 (p_msg => 'END of AcctDerRule_25'
3518 ,p_level => C_LEVEL_PROCEDURE
3519 ,p_module => l_log_module);
3520 END IF;
3521 x_value_type_code := 'S';
3522 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
3523 RETURN l_output_value;
3524
3525 END IF;
3526 --
3527 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3528 trace
3529 (p_msg => 'END of AcctDerRule_25(invalid)'
3530 ,p_level => C_LEVEL_PROCEDURE
3531 ,p_module => l_log_module);
3532 END IF;
3533 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3534 x_value_type_code := null;
3535 l_output_value := null;
3536 xla_accounting_err_pkg.build_message
3537 (p_appli_s_name => 'XLA'
3538 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3539 ,p_token_1 => 'COMPONENT_NAME'
3540 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3541 l_component_type
3542 , l_component_code
3543 , l_component_type_code
3544 , l_component_appl_id
3545 , l_amb_context_code
3546 )
3547 ,p_token_2 => 'OWNER'
3548 ,p_value_2 => xla_lookups_pkg.get_meaning(
3549 'XLA_OWNER_TYPE'
3550 ,l_component_type_code
3551 )
3552 ,p_token_3 => 'PAD_NAME'
3553 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3554 ,p_token_4 => 'PAD_OWNER'
3555 ,p_value_4 => xla_lookups_pkg.get_meaning(
3556 'XLA_OWNER_TYPE'
3557 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3558 )
3559 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3560 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3561 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3562 ,p_ae_header_id => NULL
3563 );
3564 RETURN l_output_value;
3565 EXCEPTION
3566 WHEN xla_exceptions_pkg.application_exception THEN
3567 RAISE;
3568 WHEN OTHERS THEN
3569 xla_exceptions_pkg.raise_message
3570 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_25');
3571 END AcctDerRule_25;
3572 --
3573
3574 ---------------------------------------
3575 --
3576 -- PRIVATE FUNCTION
3577 -- AcctDerRule_26
3578 --
3579 ---------------------------------------
3580 FUNCTION AcctDerRule_26 (
3581 p_application_id IN NUMBER
3582 , p_ae_header_id IN NUMBER
3583 , p_side IN VARCHAR2
3584 --Automatic Offsets Value
3585 , p_source_3 IN VARCHAR2
3586 , p_source_3_meaning IN VARCHAR2
3587 --Bank Errors Account
3588 , p_source_4 IN NUMBER
3589 --Invoice Distribution Account
3590 , p_source_18 IN NUMBER
3591 , x_transaction_coa_id OUT NOCOPY NUMBER
3592 , x_accounting_coa_id OUT NOCOPY NUMBER
3593 , x_value_type_code OUT NOCOPY VARCHAR2
3594 )
3595 RETURN NUMBER
3596 IS
3597 l_component_type VARCHAR2(80) ;
3598 l_component_code VARCHAR2(30) ;
3599 l_component_type_code VARCHAR2(1) ;
3600 l_component_appl_id INTEGER ;
3601 l_amb_context_code VARCHAR2(30) ;
3602 l_log_module VARCHAR2(240) ;
3603 l_output_value NUMBER ;
3604 BEGIN
3605 IF g_log_enabled THEN
3606 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_26';
3607 END IF;
3608 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3612 ,p_module => l_log_module);
3609 trace
3610 (p_msg => 'BEGIN of AcctDerRule_26'
3611 ,p_level => C_LEVEL_PROCEDURE
3613 END IF;
3614 --
3615 l_component_type := 'AMB_ADR';
3616 l_component_code := 'AP_BANK_ERRORS';
3617 l_component_type_code := 'S';
3618 l_component_appl_id := 200;
3619 l_amb_context_code := 'DEFAULT';
3620 x_transaction_coa_id := null;
3621 x_accounting_coa_id := null;
3622 --
3623
3624 IF NVL(p_source_3,'
3625 ') <> 'ACCOUNT_SEGMENT_VALUE'
3626 THEN
3627 --
3628 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3629 trace
3630 (p_msg => 'END of AcctDerRule_26'
3631 ,p_level => C_LEVEL_PROCEDURE
3632 ,p_module => l_log_module);
3633 END IF;
3634 x_value_type_code := 'S';
3635 l_output_value := TO_NUMBER(TO_NUMBER(p_source_4));
3636 RETURN l_output_value;
3637
3638 ELSIF NVL(p_source_3,'
3639 ') = 'ACCOUNT_SEGMENT_VALUE'
3640 THEN
3641 --
3642 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3643 trace
3644 (p_msg => 'END of AcctDerRule_26'
3645 ,p_level => C_LEVEL_PROCEDURE
3646 ,p_module => l_log_module);
3647 END IF;
3648 x_value_type_code := 'S';
3649 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
3650 RETURN l_output_value;
3651
3652 END IF;
3653 --
3654 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3655 trace
3656 (p_msg => 'END of AcctDerRule_26(invalid)'
3657 ,p_level => C_LEVEL_PROCEDURE
3658 ,p_module => l_log_module);
3659 END IF;
3660 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3661 x_value_type_code := null;
3662 l_output_value := null;
3663 xla_accounting_err_pkg.build_message
3664 (p_appli_s_name => 'XLA'
3665 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3666 ,p_token_1 => 'COMPONENT_NAME'
3667 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3668 l_component_type
3669 , l_component_code
3670 , l_component_type_code
3671 , l_component_appl_id
3672 , l_amb_context_code
3673 )
3674 ,p_token_2 => 'OWNER'
3675 ,p_value_2 => xla_lookups_pkg.get_meaning(
3676 'XLA_OWNER_TYPE'
3677 ,l_component_type_code
3678 )
3679 ,p_token_3 => 'PAD_NAME'
3680 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3681 ,p_token_4 => 'PAD_OWNER'
3682 ,p_value_4 => xla_lookups_pkg.get_meaning(
3683 'XLA_OWNER_TYPE'
3684 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3685 )
3686 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3687 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3688 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3689 ,p_ae_header_id => NULL
3690 );
3691 RETURN l_output_value;
3692 EXCEPTION
3693 WHEN xla_exceptions_pkg.application_exception THEN
3694 RAISE;
3695 WHEN OTHERS THEN
3696 xla_exceptions_pkg.raise_message
3697 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_26');
3698 END AcctDerRule_26;
3699 --
3700
3701 ---------------------------------------
3702 --
3703 -- PRIVATE FUNCTION
3704 -- AcctDerRule_27
3705 --
3706 ---------------------------------------
3707 FUNCTION AcctDerRule_27 (
3708 p_application_id IN NUMBER
3709 , p_ae_header_id IN NUMBER
3710 , p_side IN VARCHAR2
3711 --Bank Cash Account
3712 , p_source_5 IN NUMBER
3713 , x_transaction_coa_id OUT NOCOPY NUMBER
3714 , x_accounting_coa_id OUT NOCOPY NUMBER
3715 , x_value_type_code OUT NOCOPY VARCHAR2
3716 )
3717 RETURN NUMBER
3718 IS
3719 l_component_type VARCHAR2(80) ;
3720 l_component_code VARCHAR2(30) ;
3721 l_component_type_code VARCHAR2(1) ;
3722 l_component_appl_id INTEGER ;
3723 l_amb_context_code VARCHAR2(30) ;
3724 l_log_module VARCHAR2(240) ;
3725 l_output_value NUMBER ;
3726 BEGIN
3727 IF g_log_enabled THEN
3728 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_27';
3729 END IF;
3730 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3731 trace
3732 (p_msg => 'BEGIN of AcctDerRule_27'
3733 ,p_level => C_LEVEL_PROCEDURE
3734 ,p_module => l_log_module);
3735 END IF;
3736 --
3740 l_component_appl_id := 200;
3737 l_component_type := 'AMB_ADR';
3738 l_component_code := 'AP_CASH';
3739 l_component_type_code := 'S';
3741 l_amb_context_code := 'DEFAULT';
3742 x_transaction_coa_id := null;
3743 x_accounting_coa_id := null;
3744 --
3745
3746 --
3747 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3748 trace
3749 (p_msg => 'END of AcctDerRule_27'
3750 ,p_level => C_LEVEL_PROCEDURE
3751 ,p_module => l_log_module);
3752 END IF;
3753 x_value_type_code := 'S';
3754 l_output_value := TO_NUMBER(TO_NUMBER(p_source_5));
3755 RETURN l_output_value;
3756
3757 --
3758 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3759 trace
3760 (p_msg => 'END of AcctDerRule_27(invalid)'
3761 ,p_level => C_LEVEL_PROCEDURE
3762 ,p_module => l_log_module);
3763 END IF;
3764 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
3765 x_value_type_code := null;
3766 l_output_value := null;
3767 xla_accounting_err_pkg.build_message
3768 (p_appli_s_name => 'XLA'
3769 ,p_msg_name => 'XLA_AP_INVALID_ADR'
3770 ,p_token_1 => 'COMPONENT_NAME'
3771 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
3772 l_component_type
3773 , l_component_code
3774 , l_component_type_code
3775 , l_component_appl_id
3776 , l_amb_context_code
3777 )
3778 ,p_token_2 => 'OWNER'
3779 ,p_value_2 => xla_lookups_pkg.get_meaning(
3780 'XLA_OWNER_TYPE'
3781 ,l_component_type_code
3782 )
3783 ,p_token_3 => 'PAD_NAME'
3784 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
3785 ,p_token_4 => 'PAD_OWNER'
3786 ,p_value_4 => xla_lookups_pkg.get_meaning(
3787 'XLA_OWNER_TYPE'
3788 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
3789 )
3790 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
3791 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
3792 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
3793 ,p_ae_header_id => NULL
3794 );
3795 RETURN l_output_value;
3796 EXCEPTION
3797 WHEN xla_exceptions_pkg.application_exception THEN
3798 RAISE;
3799 WHEN OTHERS THEN
3800 xla_exceptions_pkg.raise_message
3801 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_27');
3802 END AcctDerRule_27;
3803 --
3804
3805 ---------------------------------------
3806 --
3807 -- PRIVATE FUNCTION
3808 -- AcctDerRule_28
3809 --
3810 ---------------------------------------
3811 FUNCTION AcctDerRule_28 (
3812 p_application_id IN NUMBER
3813 , p_ae_header_id IN NUMBER
3814 , p_side IN VARCHAR2
3815 --Automatic Offsets Value
3816 , p_source_3 IN VARCHAR2
3817 , p_source_3_meaning IN VARCHAR2
3818 --System Discount Account
3819 , p_source_6 IN NUMBER
3820 --Discount Distribution Method
3821 , p_source_7 IN VARCHAR2
3822 , p_source_7_meaning IN VARCHAR2
3823 --Invoice Distribution Account
3824 , p_source_18 IN NUMBER
3825 --Invoice Distribution Type
3826 , p_source_21 IN VARCHAR2
3827 , p_source_21_meaning IN VARCHAR2
3828 --Discount Account
3829 , p_source_32 IN NUMBER
3830 --Purchase Order Charge Account
3831 , p_source_33 IN NUMBER
3832 --Purchase Order Variance Account
3833 , p_source_34 IN NUMBER
3834 , x_transaction_coa_id OUT NOCOPY NUMBER
3835 , x_accounting_coa_id OUT NOCOPY NUMBER
3836 , x_value_type_code OUT NOCOPY VARCHAR2
3837 )
3838 RETURN NUMBER
3839 IS
3840 l_component_type VARCHAR2(80) ;
3841 l_component_code VARCHAR2(30) ;
3842 l_component_type_code VARCHAR2(1) ;
3843 l_component_appl_id INTEGER ;
3844 l_amb_context_code VARCHAR2(30) ;
3845 l_log_module VARCHAR2(240) ;
3846 l_output_value NUMBER ;
3847 BEGIN
3848 IF g_log_enabled THEN
3849 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_28';
3850 END IF;
3851 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3852 trace
3853 (p_msg => 'BEGIN of AcctDerRule_28'
3854 ,p_level => C_LEVEL_PROCEDURE
3855 ,p_module => l_log_module);
3856 END IF;
3857 --
3858 l_component_type := 'AMB_ADR';
3859 l_component_code := 'AP_DISCOUNT';
3860 l_component_type_code := 'S';
3864 x_accounting_coa_id := null;
3861 l_component_appl_id := 200;
3862 l_amb_context_code := 'DEFAULT';
3863 x_transaction_coa_id := null;
3865 --
3866
3867 IF NVL(p_source_7,'
3868 ') = 'SYSTEM' AND
3869 NVL(p_source_3,'
3870 ') <> 'ACCOUNT_SEGMENT_VALUE'
3871 THEN
3872 --
3873 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3874 trace
3875 (p_msg => 'END of AcctDerRule_28'
3876 ,p_level => C_LEVEL_PROCEDURE
3877 ,p_module => l_log_module);
3878 END IF;
3879 x_value_type_code := 'S';
3880 l_output_value := TO_NUMBER(TO_NUMBER(p_source_32));
3881 RETURN l_output_value;
3882
3883 ELSIF NVL(p_source_7,'
3884 ') = 'SYSTEM' AND
3885 NVL(p_source_3,'
3886 ') = 'ACCOUNT_SEGMENT_VALUE' AND
3887 NVL(p_source_21,'
3888 ') <> 'ACCRUAL'
3889 THEN
3890 --
3891 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3892 trace
3893 (p_msg => 'END of AcctDerRule_28'
3894 ,p_level => C_LEVEL_PROCEDURE
3895 ,p_module => l_log_module);
3896 END IF;
3897 x_value_type_code := 'S';
3898 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
3899 RETURN l_output_value;
3900
3901 ELSIF NVL(p_source_7,'
3902 ') = 'SYSTEM' AND
3903 NVL(p_source_3,'
3904 ') = 'ACCOUNT_SEGMENT_VALUE' AND
3905 NVL(p_source_21,'
3906 ') = 'ACCRUAL'
3907 THEN
3908 --
3909 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3910 trace
3911 (p_msg => 'END of AcctDerRule_28'
3912 ,p_level => C_LEVEL_PROCEDURE
3913 ,p_module => l_log_module);
3914 END IF;
3915 x_value_type_code := 'S';
3916 l_output_value := TO_NUMBER(TO_NUMBER(p_source_33));
3917 RETURN l_output_value;
3918
3919 ELSIF NVL(p_source_7,'
3920 ') = 'EXPENSE' AND
3921 NVL(p_source_21,'
3922 ') <> 'ACCRUAL'
3923 THEN
3924 --
3925 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3926 trace
3927 (p_msg => 'END of AcctDerRule_28'
3928 ,p_level => C_LEVEL_PROCEDURE
3929 ,p_module => l_log_module);
3930 END IF;
3931 x_value_type_code := 'S';
3932 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
3933 RETURN l_output_value;
3934
3935 ELSIF NVL(p_source_7,'
3936 ') = 'EXPENSE' AND
3937 NVL(p_source_21,'
3938 ') = 'ACCRUAL'
3939 THEN
3940 --
3941 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3942 trace
3943 (p_msg => 'END of AcctDerRule_28'
3944 ,p_level => C_LEVEL_PROCEDURE
3945 ,p_module => l_log_module);
3946 END IF;
3947 x_value_type_code := 'S';
3948 l_output_value := TO_NUMBER(TO_NUMBER(p_source_34));
3949 RETURN l_output_value;
3950
3951 ELSIF NVL(p_source_7,'
3952 ') = 'TAX' AND
3953 NVL(p_source_3,'
3954 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
3955 (NVL(p_source_21,'
3956 ') = 'REC_TAX' OR
3957 NVL(p_source_21,'
3958 ') = 'NONREC_TAX' OR
3959 NVL(p_source_21,'
3960 ') = 'TIPV' OR
3961 NVL(p_source_21,'
3962 ') = 'TRV')
3963 THEN
3964 --
3965 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3966 trace
3967 (p_msg => 'END of AcctDerRule_28'
3968 ,p_level => C_LEVEL_PROCEDURE
3969 ,p_module => l_log_module);
3970 END IF;
3971 x_value_type_code := 'S';
3972 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
3973 RETURN l_output_value;
3974
3975 ELSIF NVL(p_source_7,'
3976 ') = 'TAX' AND
3977 NVL(p_source_3,'
3978 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
3979 (NVL(p_source_21,'
3980 ') <> 'REC_TAX' OR
3981 NVL(p_source_21,'
3982 ') <> 'NONREC_TAX' OR
3983 NVL(p_source_21,'
3984 ') <> 'TIPV' OR
3985 NVL(p_source_21,'
3986 ') <> 'TRV')
3987 THEN
3988 --
3989 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
3990 trace
3991 (p_msg => 'END of AcctDerRule_28'
3992 ,p_level => C_LEVEL_PROCEDURE
3993 ,p_module => l_log_module);
3994 END IF;
3995 x_value_type_code := 'S';
3996 l_output_value := TO_NUMBER(TO_NUMBER(p_source_6));
3997 RETURN l_output_value;
3998
3999 ELSIF NVL(p_source_7,'
4000 ') = 'TAX' AND
4001 NVL(p_source_3,'
4002 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4003 NVL(p_source_21,'
4004 ') <> 'ACCRUAL'
4005 THEN
4006 --
4007 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4008 trace
4009 (p_msg => 'END of AcctDerRule_28'
4010 ,p_level => C_LEVEL_PROCEDURE
4011 ,p_module => l_log_module);
4012 END IF;
4013 x_value_type_code := 'S';
4014 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4015 RETURN l_output_value;
4016
4017 ELSIF NVL(p_source_7,'
4018 ') = 'TAX' AND
4019 NVL(p_source_3,'
4020 ') = 'ACCOUNT_SEGMENT_VALUE' AND
4021 NVL(p_source_21,'
4022 ') = 'ACCRUAL'
4023 THEN
4024 --
4025 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4026 trace
4027 (p_msg => 'END of AcctDerRule_28'
4028 ,p_level => C_LEVEL_PROCEDURE
4029 ,p_module => l_log_module);
4030 END IF;
4031 x_value_type_code := 'S';
4035 END IF;
4032 l_output_value := TO_NUMBER(TO_NUMBER(p_source_33));
4033 RETURN l_output_value;
4034
4036 --
4037 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4038 trace
4039 (p_msg => 'END of AcctDerRule_28(invalid)'
4040 ,p_level => C_LEVEL_PROCEDURE
4041 ,p_module => l_log_module);
4042 END IF;
4043 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4044 x_value_type_code := null;
4045 l_output_value := null;
4046 xla_accounting_err_pkg.build_message
4047 (p_appli_s_name => 'XLA'
4048 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4049 ,p_token_1 => 'COMPONENT_NAME'
4050 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4051 l_component_type
4052 , l_component_code
4053 , l_component_type_code
4054 , l_component_appl_id
4055 , l_amb_context_code
4056 )
4057 ,p_token_2 => 'OWNER'
4058 ,p_value_2 => xla_lookups_pkg.get_meaning(
4059 'XLA_OWNER_TYPE'
4060 ,l_component_type_code
4061 )
4062 ,p_token_3 => 'PAD_NAME'
4063 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4064 ,p_token_4 => 'PAD_OWNER'
4065 ,p_value_4 => xla_lookups_pkg.get_meaning(
4066 'XLA_OWNER_TYPE'
4067 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4068 )
4069 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4070 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4071 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4072 ,p_ae_header_id => NULL
4073 );
4074 RETURN l_output_value;
4075 EXCEPTION
4076 WHEN xla_exceptions_pkg.application_exception THEN
4077 RAISE;
4078 WHEN OTHERS THEN
4079 xla_exceptions_pkg.raise_message
4080 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_28');
4081 END AcctDerRule_28;
4082 --
4083
4084 ---------------------------------------
4085 --
4086 -- PRIVATE FUNCTION
4087 -- AcctDerRule_29
4088 --
4089 ---------------------------------------
4090 FUNCTION AcctDerRule_29 (
4091 p_application_id IN NUMBER
4092 , p_ae_header_id IN NUMBER
4093 , p_side IN VARCHAR2
4094 --Automatic Offsets Value
4095 , p_source_3 IN VARCHAR2
4096 , p_source_3_meaning IN VARCHAR2
4097 --Purchase Order Rate Variance Gain Account
4098 , p_source_8 IN NUMBER
4099 --Invoice Distribution Ledger Amount
4100 , p_source_9 IN NUMBER
4101 --Destination Type of the PO Distribution
4102 , p_source_10 IN VARCHAR2
4103 , p_source_10_meaning IN VARCHAR2
4104 --Purchase Order Rate Variance Loss Account
4105 , p_source_11 IN NUMBER
4106 --Invoice Distribution Account
4107 , p_source_18 IN NUMBER
4108 --Automatic Offsets Flag
4109 , p_source_35 IN VARCHAR2
4110 , p_source_35_meaning IN VARCHAR2
4111 , x_transaction_coa_id OUT NOCOPY NUMBER
4112 , x_accounting_coa_id OUT NOCOPY NUMBER
4113 , x_value_type_code OUT NOCOPY VARCHAR2
4114 )
4115 RETURN NUMBER
4116 IS
4117 l_component_type VARCHAR2(80) ;
4118 l_component_code VARCHAR2(30) ;
4119 l_component_type_code VARCHAR2(1) ;
4120 l_component_appl_id INTEGER ;
4121 l_amb_context_code VARCHAR2(30) ;
4122 l_log_module VARCHAR2(240) ;
4123 l_output_value NUMBER ;
4124 BEGIN
4125 IF g_log_enabled THEN
4126 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_29';
4127 END IF;
4128 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4129 trace
4130 (p_msg => 'BEGIN of AcctDerRule_29'
4131 ,p_level => C_LEVEL_PROCEDURE
4132 ,p_module => l_log_module);
4133 END IF;
4134 --
4135 l_component_type := 'AMB_ADR';
4136 l_component_code := 'AP_EXCHG_TAXEXCHG_RATE_VAR';
4137 l_component_type_code := 'S';
4138 l_component_appl_id := 200;
4139 l_amb_context_code := 'DEFAULT';
4140 x_transaction_coa_id := null;
4141 x_accounting_coa_id := null;
4142 --
4143
4144 IF NVL(p_source_10,'
4145 ') = 'EXPENSE' OR
4146 (NVL(p_source_10,'
4147 ') = 'INVENTORY' AND
4148 NVL(p_source_3,'
4149 ') = 'ACCOUNT_SEGMENT_VALUE')
4150 THEN
4151 --
4152 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4153 trace
4154 (p_msg => 'END of AcctDerRule_29'
4155 ,p_level => C_LEVEL_PROCEDURE
4156 ,p_module => l_log_module);
4160 RETURN l_output_value;
4157 END IF;
4158 x_value_type_code := 'S';
4159 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4161
4162 ELSIF NVL(p_source_10,'
4163 ') <> 'EXPENSE' AND
4164 p_source_9 <= 0 AND
4165 (NVL(p_source_35,'
4166 ') = 'N' OR
4167 NVL(p_source_3,'
4168 ') = 'BALANCING_SEGMENT')
4169 THEN
4170 --
4171 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4172 trace
4173 (p_msg => 'END of AcctDerRule_29'
4174 ,p_level => C_LEVEL_PROCEDURE
4175 ,p_module => l_log_module);
4176 END IF;
4177 x_value_type_code := 'S';
4178 l_output_value := TO_NUMBER(TO_NUMBER(p_source_8));
4179 RETURN l_output_value;
4180
4181 ELSIF NVL(p_source_10,'
4182 ') <> 'EXPENSE' AND
4183 p_source_9 > 0 AND
4184 (NVL(p_source_35,'
4185 ') = 'N' OR
4186 NVL(p_source_3,'
4187 ') = 'BALANCING_SEGMENT')
4188 THEN
4189 --
4190 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4191 trace
4192 (p_msg => 'END of AcctDerRule_29'
4193 ,p_level => C_LEVEL_PROCEDURE
4194 ,p_module => l_log_module);
4195 END IF;
4196 x_value_type_code := 'S';
4197 l_output_value := TO_NUMBER(TO_NUMBER(p_source_11));
4198 RETURN l_output_value;
4199
4200 END IF;
4201 --
4202 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4203 trace
4204 (p_msg => 'END of AcctDerRule_29(invalid)'
4205 ,p_level => C_LEVEL_PROCEDURE
4206 ,p_module => l_log_module);
4207 END IF;
4208 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4209 x_value_type_code := null;
4210 l_output_value := null;
4211 xla_accounting_err_pkg.build_message
4212 (p_appli_s_name => 'XLA'
4213 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4214 ,p_token_1 => 'COMPONENT_NAME'
4215 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4216 l_component_type
4217 , l_component_code
4218 , l_component_type_code
4219 , l_component_appl_id
4220 , l_amb_context_code
4221 )
4222 ,p_token_2 => 'OWNER'
4223 ,p_value_2 => xla_lookups_pkg.get_meaning(
4224 'XLA_OWNER_TYPE'
4225 ,l_component_type_code
4226 )
4227 ,p_token_3 => 'PAD_NAME'
4228 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4229 ,p_token_4 => 'PAD_OWNER'
4230 ,p_value_4 => xla_lookups_pkg.get_meaning(
4231 'XLA_OWNER_TYPE'
4232 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4233 )
4234 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4235 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4236 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4237 ,p_ae_header_id => NULL
4238 );
4239 RETURN l_output_value;
4240 EXCEPTION
4241 WHEN xla_exceptions_pkg.application_exception THEN
4242 RAISE;
4243 WHEN OTHERS THEN
4244 xla_exceptions_pkg.raise_message
4245 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_29');
4246 END AcctDerRule_29;
4247 --
4248
4249 ---------------------------------------
4250 --
4251 -- PRIVATE FUNCTION
4252 -- AcctDerRule_30
4253 --
4254 ---------------------------------------
4255 FUNCTION AcctDerRule_30 (
4256 p_application_id IN NUMBER
4257 , p_ae_header_id IN NUMBER
4258 , p_side IN VARCHAR2
4259 --Automatic Offsets Value
4260 , p_source_3 IN VARCHAR2
4261 , p_source_3_meaning IN VARCHAR2
4262 --Bank Future Dated Payment Account
4263 , p_source_12 IN NUMBER
4264 --Future Dated Payment Account Source Option
4265 , p_source_13 IN VARCHAR2
4266 , p_source_13_meaning IN VARCHAR2
4267 --Financials Options Future Dated Payment Account
4268 , p_source_14 IN NUMBER
4269 --Supplier Site Future Dated Payment Account
4270 , p_source_15 IN NUMBER
4271 --Invoice Distribution Account
4272 , p_source_18 IN NUMBER
4273 , x_transaction_coa_id OUT NOCOPY NUMBER
4274 , x_accounting_coa_id OUT NOCOPY NUMBER
4275 , x_value_type_code OUT NOCOPY VARCHAR2
4276 )
4277 RETURN NUMBER
4278 IS
4279 l_component_type VARCHAR2(80) ;
4280 l_component_code VARCHAR2(30) ;
4281 l_component_type_code VARCHAR2(1) ;
4282 l_component_appl_id INTEGER ;
4283 l_amb_context_code VARCHAR2(30) ;
4284 l_log_module VARCHAR2(240) ;
4288 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_30';
4285 l_output_value NUMBER ;
4286 BEGIN
4287 IF g_log_enabled THEN
4289 END IF;
4290 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4291 trace
4292 (p_msg => 'BEGIN of AcctDerRule_30'
4293 ,p_level => C_LEVEL_PROCEDURE
4294 ,p_module => l_log_module);
4295 END IF;
4296 --
4297 l_component_type := 'AMB_ADR';
4298 l_component_code := 'AP_FUTURE_DATED_PMT';
4299 l_component_type_code := 'S';
4300 l_component_appl_id := 200;
4301 l_amb_context_code := 'DEFAULT';
4302 x_transaction_coa_id := null;
4303 x_accounting_coa_id := null;
4304 --
4305
4306 IF NVL(p_source_3,'
4307 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4308 NVL(p_source_13,'
4309 ') = 'BANK ACCOUNT' AND
4310 TO_NUMBER(p_source_12) IS NOT NULL
4311 THEN
4312 --
4313 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4314 trace
4315 (p_msg => 'END of AcctDerRule_30'
4316 ,p_level => C_LEVEL_PROCEDURE
4317 ,p_module => l_log_module);
4318 END IF;
4319 x_value_type_code := 'S';
4320 l_output_value := TO_NUMBER(TO_NUMBER(p_source_12));
4321 RETURN l_output_value;
4322
4323 ELSIF NVL(p_source_3,'
4324 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4325 NVL(p_source_13,'
4326 ') = 'BANK ACCOUNT'
4327 THEN
4328 --
4329 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4330 trace
4331 (p_msg => 'END of AcctDerRule_30'
4332 ,p_level => C_LEVEL_PROCEDURE
4333 ,p_module => l_log_module);
4334 END IF;
4335 x_value_type_code := 'S';
4336 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
4337 RETURN l_output_value;
4338
4339 ELSIF NVL(p_source_3,'
4340 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4341 NVL(p_source_13,'
4342 ') = 'SUPPLIER SITE' AND
4343 TO_NUMBER(p_source_15) IS NOT NULL
4344 THEN
4345 --
4346 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4347 trace
4348 (p_msg => 'END of AcctDerRule_30'
4349 ,p_level => C_LEVEL_PROCEDURE
4350 ,p_module => l_log_module);
4351 END IF;
4352 x_value_type_code := 'S';
4353 l_output_value := TO_NUMBER(TO_NUMBER(p_source_15));
4354 RETURN l_output_value;
4355
4356 ELSIF NVL(p_source_3,'
4357 ') <> 'ACCOUNT_SEGMENT_VALUE' AND
4358 NVL(p_source_13,'
4359 ') = 'SUPPLIER SITE'
4360 THEN
4361 --
4362 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4363 trace
4364 (p_msg => 'END of AcctDerRule_30'
4365 ,p_level => C_LEVEL_PROCEDURE
4366 ,p_module => l_log_module);
4367 END IF;
4368 x_value_type_code := 'S';
4369 l_output_value := TO_NUMBER(TO_NUMBER(p_source_14));
4370 RETURN l_output_value;
4371
4372 ELSIF NVL(p_source_3,'
4373 ') = 'ACCOUNT_SEGMENT_VALUE'
4374 THEN
4375 --
4376 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4377 trace
4378 (p_msg => 'END of AcctDerRule_30'
4379 ,p_level => C_LEVEL_PROCEDURE
4380 ,p_module => l_log_module);
4381 END IF;
4382 x_value_type_code := 'S';
4383 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4384 RETURN l_output_value;
4385
4386 END IF;
4387 --
4388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4389 trace
4390 (p_msg => 'END of AcctDerRule_30(invalid)'
4391 ,p_level => C_LEVEL_PROCEDURE
4392 ,p_module => l_log_module);
4393 END IF;
4394 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4395 x_value_type_code := null;
4396 l_output_value := null;
4397 xla_accounting_err_pkg.build_message
4398 (p_appli_s_name => 'XLA'
4399 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4400 ,p_token_1 => 'COMPONENT_NAME'
4401 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4402 l_component_type
4403 , l_component_code
4404 , l_component_type_code
4405 , l_component_appl_id
4406 , l_amb_context_code
4407 )
4408 ,p_token_2 => 'OWNER'
4409 ,p_value_2 => xla_lookups_pkg.get_meaning(
4410 'XLA_OWNER_TYPE'
4411 ,l_component_type_code
4412 )
4413 ,p_token_3 => 'PAD_NAME'
4414 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4415 ,p_token_4 => 'PAD_OWNER'
4416 ,p_value_4 => xla_lookups_pkg.get_meaning(
4417 'XLA_OWNER_TYPE'
4418 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4419 )
4423 ,p_ae_header_id => NULL
4420 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4421 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4422 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4424 );
4425 RETURN l_output_value;
4426 EXCEPTION
4427 WHEN xla_exceptions_pkg.application_exception THEN
4428 RAISE;
4429 WHEN OTHERS THEN
4430 xla_exceptions_pkg.raise_message
4431 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_30');
4432 END AcctDerRule_30;
4433 --
4434
4435 ---------------------------------------
4436 --
4437 -- PRIVATE FUNCTION
4438 -- AcctDerRule_31
4439 --
4440 ---------------------------------------
4441 FUNCTION AcctDerRule_31 (
4442 p_application_id IN NUMBER
4443 , p_ae_header_id IN NUMBER
4444 , p_side IN VARCHAR2
4445 --Interest Account
4446 , p_source_16 IN NUMBER
4447 --Prorate Interest Invoice Across Distributions Option
4448 , p_source_17 IN VARCHAR2
4449 --Invoice Distribution Account
4450 , p_source_18 IN NUMBER
4451 , x_transaction_coa_id OUT NOCOPY NUMBER
4452 , x_accounting_coa_id OUT NOCOPY NUMBER
4453 , x_value_type_code OUT NOCOPY VARCHAR2
4454 )
4455 RETURN NUMBER
4456 IS
4457 l_component_type VARCHAR2(80) ;
4458 l_component_code VARCHAR2(30) ;
4459 l_component_type_code VARCHAR2(1) ;
4460 l_component_appl_id INTEGER ;
4461 l_amb_context_code VARCHAR2(30) ;
4462 l_log_module VARCHAR2(240) ;
4463 l_output_value NUMBER ;
4464 BEGIN
4465 IF g_log_enabled THEN
4466 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_31';
4467 END IF;
4468 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4469 trace
4470 (p_msg => 'BEGIN of AcctDerRule_31'
4471 ,p_level => C_LEVEL_PROCEDURE
4472 ,p_module => l_log_module);
4473 END IF;
4474 --
4475 l_component_type := 'AMB_ADR';
4476 l_component_code := 'AP_INTEREST';
4477 l_component_type_code := 'S';
4478 l_component_appl_id := 200;
4479 l_amb_context_code := 'DEFAULT';
4480 x_transaction_coa_id := null;
4481 x_accounting_coa_id := null;
4482 --
4483
4484 IF NVL(p_source_17,'
4485 ') = 'N'
4486 THEN
4487 --
4488 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4489 trace
4490 (p_msg => 'END of AcctDerRule_31'
4491 ,p_level => C_LEVEL_PROCEDURE
4492 ,p_module => l_log_module);
4493 END IF;
4494 x_value_type_code := 'S';
4495 l_output_value := TO_NUMBER(TO_NUMBER(p_source_16));
4496 RETURN l_output_value;
4497
4498 ELSIF NVL(p_source_17,'
4499 ') = 'Y'
4500 THEN
4501 --
4502 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4503 trace
4504 (p_msg => 'END of AcctDerRule_31'
4505 ,p_level => C_LEVEL_PROCEDURE
4506 ,p_module => l_log_module);
4507 END IF;
4508 x_value_type_code := 'S';
4509 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4510 RETURN l_output_value;
4511
4512 END IF;
4513 --
4514 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4515 trace
4516 (p_msg => 'END of AcctDerRule_31(invalid)'
4517 ,p_level => C_LEVEL_PROCEDURE
4518 ,p_module => l_log_module);
4519 END IF;
4520 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4521 x_value_type_code := null;
4522 l_output_value := null;
4523 xla_accounting_err_pkg.build_message
4524 (p_appli_s_name => 'XLA'
4525 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4526 ,p_token_1 => 'COMPONENT_NAME'
4527 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4528 l_component_type
4529 , l_component_code
4530 , l_component_type_code
4531 , l_component_appl_id
4532 , l_amb_context_code
4533 )
4534 ,p_token_2 => 'OWNER'
4535 ,p_value_2 => xla_lookups_pkg.get_meaning(
4536 'XLA_OWNER_TYPE'
4537 ,l_component_type_code
4538 )
4539 ,p_token_3 => 'PAD_NAME'
4540 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4541 ,p_token_4 => 'PAD_OWNER'
4542 ,p_value_4 => xla_lookups_pkg.get_meaning(
4543 'XLA_OWNER_TYPE'
4544 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4548 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4545 )
4546 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4547 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4549 ,p_ae_header_id => NULL
4550 );
4551 RETURN l_output_value;
4552 EXCEPTION
4553 WHEN xla_exceptions_pkg.application_exception THEN
4554 RAISE;
4555 WHEN OTHERS THEN
4556 xla_exceptions_pkg.raise_message
4557 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_31');
4558 END AcctDerRule_31;
4559 --
4560
4561 ---------------------------------------
4562 --
4563 -- PRIVATE FUNCTION
4564 -- AcctDerRule_32
4565 --
4566 ---------------------------------------
4567 FUNCTION AcctDerRule_32 (
4568 p_application_id IN NUMBER
4569 , p_ae_header_id IN NUMBER
4570 , p_side IN VARCHAR2
4571 --Invoice Distribution Account
4572 , p_source_18 IN NUMBER
4573 , x_transaction_coa_id OUT NOCOPY NUMBER
4574 , x_accounting_coa_id OUT NOCOPY NUMBER
4575 , x_value_type_code OUT NOCOPY VARCHAR2
4576 )
4577 RETURN NUMBER
4578 IS
4579 l_component_type VARCHAR2(80) ;
4580 l_component_code VARCHAR2(30) ;
4581 l_component_type_code VARCHAR2(1) ;
4582 l_component_appl_id INTEGER ;
4583 l_amb_context_code VARCHAR2(30) ;
4584 l_log_module VARCHAR2(240) ;
4585 l_output_value NUMBER ;
4586 BEGIN
4587 IF g_log_enabled THEN
4588 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_32';
4589 END IF;
4590 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4591 trace
4592 (p_msg => 'BEGIN of AcctDerRule_32'
4593 ,p_level => C_LEVEL_PROCEDURE
4594 ,p_module => l_log_module);
4595 END IF;
4596 --
4597 l_component_type := 'AMB_ADR';
4598 l_component_code := 'AP_INVOICE_DIST';
4599 l_component_type_code := 'S';
4600 l_component_appl_id := 200;
4601 l_amb_context_code := 'DEFAULT';
4602 x_transaction_coa_id := null;
4603 x_accounting_coa_id := null;
4604 --
4605
4606 --
4607 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4608 trace
4609 (p_msg => 'END of AcctDerRule_32'
4610 ,p_level => C_LEVEL_PROCEDURE
4611 ,p_module => l_log_module);
4612 END IF;
4613 x_value_type_code := 'S';
4614 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
4615 RETURN l_output_value;
4616
4617 --
4618 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4619 trace
4620 (p_msg => 'END of AcctDerRule_32(invalid)'
4621 ,p_level => C_LEVEL_PROCEDURE
4622 ,p_module => l_log_module);
4623 END IF;
4624 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4625 x_value_type_code := null;
4626 l_output_value := null;
4627 xla_accounting_err_pkg.build_message
4628 (p_appli_s_name => 'XLA'
4629 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4630 ,p_token_1 => 'COMPONENT_NAME'
4631 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4632 l_component_type
4633 , l_component_code
4634 , l_component_type_code
4635 , l_component_appl_id
4636 , l_amb_context_code
4637 )
4638 ,p_token_2 => 'OWNER'
4639 ,p_value_2 => xla_lookups_pkg.get_meaning(
4640 'XLA_OWNER_TYPE'
4641 ,l_component_type_code
4642 )
4643 ,p_token_3 => 'PAD_NAME'
4644 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4645 ,p_token_4 => 'PAD_OWNER'
4646 ,p_value_4 => xla_lookups_pkg.get_meaning(
4647 'XLA_OWNER_TYPE'
4648 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4649 )
4650 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4651 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4652 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4653 ,p_ae_header_id => NULL
4654 );
4655 RETURN l_output_value;
4656 EXCEPTION
4657 WHEN xla_exceptions_pkg.application_exception THEN
4658 RAISE;
4659 WHEN OTHERS THEN
4660 xla_exceptions_pkg.raise_message
4661 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_32');
4662 END AcctDerRule_32;
4663 --
4664
4665 ---------------------------------------
4666 --
4667 -- PRIVATE FUNCTION
4668 -- AcctDerRule_33
4669 --
4673 , p_ae_header_id IN NUMBER
4670 ---------------------------------------
4671 FUNCTION AcctDerRule_33 (
4672 p_application_id IN NUMBER
4674 , p_side IN VARCHAR2
4675 --Invoice Liability Account
4676 , p_source_22 IN NUMBER
4677 , x_transaction_coa_id OUT NOCOPY NUMBER
4678 , x_accounting_coa_id OUT NOCOPY NUMBER
4679 , x_value_type_code OUT NOCOPY VARCHAR2
4680 )
4681 RETURN NUMBER
4682 IS
4683 l_component_type VARCHAR2(80) ;
4684 l_component_code VARCHAR2(30) ;
4685 l_component_type_code VARCHAR2(1) ;
4686 l_component_appl_id INTEGER ;
4687 l_amb_context_code VARCHAR2(30) ;
4688 l_log_module VARCHAR2(240) ;
4689 l_output_value NUMBER ;
4690 BEGIN
4691 IF g_log_enabled THEN
4692 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_33';
4693 END IF;
4694 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4695 trace
4696 (p_msg => 'BEGIN of AcctDerRule_33'
4697 ,p_level => C_LEVEL_PROCEDURE
4698 ,p_module => l_log_module);
4699 END IF;
4700 --
4701 l_component_type := 'AMB_ADR';
4702 l_component_code := 'AP_LIAB';
4703 l_component_type_code := 'S';
4704 l_component_appl_id := 200;
4705 l_amb_context_code := 'DEFAULT';
4706 x_transaction_coa_id := null;
4707 x_accounting_coa_id := null;
4708 --
4709
4710 --
4711 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4712 trace
4713 (p_msg => 'END of AcctDerRule_33'
4714 ,p_level => C_LEVEL_PROCEDURE
4715 ,p_module => l_log_module);
4716 END IF;
4717 x_value_type_code := 'S';
4718 l_output_value := TO_NUMBER(TO_NUMBER(p_source_22));
4719 RETURN l_output_value;
4720
4721 --
4722 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4723 trace
4724 (p_msg => 'END of AcctDerRule_33(invalid)'
4725 ,p_level => C_LEVEL_PROCEDURE
4726 ,p_module => l_log_module);
4727 END IF;
4728 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4729 x_value_type_code := null;
4730 l_output_value := null;
4731 xla_accounting_err_pkg.build_message
4732 (p_appli_s_name => 'XLA'
4733 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4734 ,p_token_1 => 'COMPONENT_NAME'
4735 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4736 l_component_type
4737 , l_component_code
4738 , l_component_type_code
4739 , l_component_appl_id
4740 , l_amb_context_code
4741 )
4742 ,p_token_2 => 'OWNER'
4743 ,p_value_2 => xla_lookups_pkg.get_meaning(
4744 'XLA_OWNER_TYPE'
4745 ,l_component_type_code
4746 )
4747 ,p_token_3 => 'PAD_NAME'
4748 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4749 ,p_token_4 => 'PAD_OWNER'
4750 ,p_value_4 => xla_lookups_pkg.get_meaning(
4751 'XLA_OWNER_TYPE'
4752 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4753 )
4754 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4755 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4756 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4757 ,p_ae_header_id => NULL
4758 );
4759 RETURN l_output_value;
4760 EXCEPTION
4761 WHEN xla_exceptions_pkg.application_exception THEN
4762 RAISE;
4763 WHEN OTHERS THEN
4764 xla_exceptions_pkg.raise_message
4765 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_33');
4766 END AcctDerRule_33;
4767 --
4768
4769 ---------------------------------------
4770 --
4771 -- PRIVATE FUNCTION
4772 -- AcctDerRule_34
4773 --
4774 ---------------------------------------
4775 FUNCTION AcctDerRule_34 (
4776 p_application_id IN NUMBER
4777 , p_ae_header_id IN NUMBER
4778 , p_side IN VARCHAR2
4779 --Payment Card Accrued Account
4780 , p_source_36 IN NUMBER
4781 , x_transaction_coa_id OUT NOCOPY NUMBER
4782 , x_accounting_coa_id OUT NOCOPY NUMBER
4783 , x_value_type_code OUT NOCOPY VARCHAR2
4784 )
4785 RETURN NUMBER
4786 IS
4787 l_component_type VARCHAR2(80) ;
4788 l_component_code VARCHAR2(30) ;
4789 l_component_type_code VARCHAR2(1) ;
4790 l_component_appl_id INTEGER ;
4791 l_amb_context_code VARCHAR2(30) ;
4792 l_log_module VARCHAR2(240) ;
4796 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_34';
4793 l_output_value NUMBER ;
4794 BEGIN
4795 IF g_log_enabled THEN
4797 END IF;
4798 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4799 trace
4800 (p_msg => 'BEGIN of AcctDerRule_34'
4801 ,p_level => C_LEVEL_PROCEDURE
4802 ,p_module => l_log_module);
4803 END IF;
4804 --
4805 l_component_type := 'AMB_ADR';
4806 l_component_code := 'AP_PAYCARD_ACCRUED_ADR';
4807 l_component_type_code := 'S';
4808 l_component_appl_id := 200;
4809 l_amb_context_code := 'DEFAULT';
4810 x_transaction_coa_id := null;
4811 x_accounting_coa_id := null;
4812 --
4813
4814 --
4815 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4816 trace
4817 (p_msg => 'END of AcctDerRule_34'
4818 ,p_level => C_LEVEL_PROCEDURE
4819 ,p_module => l_log_module);
4820 END IF;
4821 x_value_type_code := 'S';
4822 l_output_value := TO_NUMBER(TO_NUMBER(p_source_36));
4823 RETURN l_output_value;
4824
4825 --
4826 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4827 trace
4828 (p_msg => 'END of AcctDerRule_34(invalid)'
4829 ,p_level => C_LEVEL_PROCEDURE
4830 ,p_module => l_log_module);
4831 END IF;
4832 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4833 x_value_type_code := null;
4834 l_output_value := null;
4835 xla_accounting_err_pkg.build_message
4836 (p_appli_s_name => 'XLA'
4837 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4838 ,p_token_1 => 'COMPONENT_NAME'
4839 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4840 l_component_type
4841 , l_component_code
4842 , l_component_type_code
4843 , l_component_appl_id
4844 , l_amb_context_code
4845 )
4846 ,p_token_2 => 'OWNER'
4847 ,p_value_2 => xla_lookups_pkg.get_meaning(
4848 'XLA_OWNER_TYPE'
4849 ,l_component_type_code
4850 )
4851 ,p_token_3 => 'PAD_NAME'
4852 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4853 ,p_token_4 => 'PAD_OWNER'
4854 ,p_value_4 => xla_lookups_pkg.get_meaning(
4855 'XLA_OWNER_TYPE'
4856 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4857 )
4858 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4859 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4860 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4861 ,p_ae_header_id => NULL
4862 );
4863 RETURN l_output_value;
4864 EXCEPTION
4865 WHEN xla_exceptions_pkg.application_exception THEN
4866 RAISE;
4867 WHEN OTHERS THEN
4868 xla_exceptions_pkg.raise_message
4869 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_34');
4870 END AcctDerRule_34;
4871 --
4872
4873 ---------------------------------------
4874 --
4875 -- PRIVATE FUNCTION
4876 -- AcctDerRule_35
4877 --
4878 ---------------------------------------
4879 FUNCTION AcctDerRule_35 (
4880 p_application_id IN NUMBER
4881 , p_ae_header_id IN NUMBER
4882 , p_side IN VARCHAR2
4883 --Bank Cash Clearing Account
4884 , p_source_23 IN NUMBER
4885 , x_transaction_coa_id OUT NOCOPY NUMBER
4886 , x_accounting_coa_id OUT NOCOPY NUMBER
4887 , x_value_type_code OUT NOCOPY VARCHAR2
4888 )
4889 RETURN NUMBER
4890 IS
4891 l_component_type VARCHAR2(80) ;
4892 l_component_code VARCHAR2(30) ;
4893 l_component_type_code VARCHAR2(1) ;
4894 l_component_appl_id INTEGER ;
4895 l_amb_context_code VARCHAR2(30) ;
4896 l_log_module VARCHAR2(240) ;
4897 l_output_value NUMBER ;
4898 BEGIN
4899 IF g_log_enabled THEN
4900 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_35';
4901 END IF;
4902 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4903 trace
4904 (p_msg => 'BEGIN of AcctDerRule_35'
4905 ,p_level => C_LEVEL_PROCEDURE
4906 ,p_module => l_log_module);
4907 END IF;
4908 --
4909 l_component_type := 'AMB_ADR';
4910 l_component_code := 'AP_PMT_CASH_CLEAR';
4911 l_component_type_code := 'S';
4912 l_component_appl_id := 200;
4913 l_amb_context_code := 'DEFAULT';
4914 x_transaction_coa_id := null;
4915 x_accounting_coa_id := null;
4916 --
4917
4921 (p_msg => 'END of AcctDerRule_35'
4918 --
4919 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4920 trace
4922 ,p_level => C_LEVEL_PROCEDURE
4923 ,p_module => l_log_module);
4924 END IF;
4925 x_value_type_code := 'S';
4926 l_output_value := TO_NUMBER(TO_NUMBER(p_source_23));
4927 RETURN l_output_value;
4928
4929 --
4930 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
4931 trace
4932 (p_msg => 'END of AcctDerRule_35(invalid)'
4933 ,p_level => C_LEVEL_PROCEDURE
4934 ,p_module => l_log_module);
4935 END IF;
4936 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
4937 x_value_type_code := null;
4938 l_output_value := null;
4939 xla_accounting_err_pkg.build_message
4940 (p_appli_s_name => 'XLA'
4941 ,p_msg_name => 'XLA_AP_INVALID_ADR'
4942 ,p_token_1 => 'COMPONENT_NAME'
4943 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
4944 l_component_type
4945 , l_component_code
4946 , l_component_type_code
4947 , l_component_appl_id
4948 , l_amb_context_code
4949 )
4950 ,p_token_2 => 'OWNER'
4951 ,p_value_2 => xla_lookups_pkg.get_meaning(
4952 'XLA_OWNER_TYPE'
4953 ,l_component_type_code
4954 )
4955 ,p_token_3 => 'PAD_NAME'
4956 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
4957 ,p_token_4 => 'PAD_OWNER'
4958 ,p_value_4 => xla_lookups_pkg.get_meaning(
4959 'XLA_OWNER_TYPE'
4960 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
4961 )
4962 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
4963 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
4964 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
4965 ,p_ae_header_id => NULL
4966 );
4967 RETURN l_output_value;
4968 EXCEPTION
4969 WHEN xla_exceptions_pkg.application_exception THEN
4970 RAISE;
4971 WHEN OTHERS THEN
4972 xla_exceptions_pkg.raise_message
4973 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_35');
4974 END AcctDerRule_35;
4975 --
4976
4977 ---------------------------------------
4978 --
4979 -- PRIVATE FUNCTION
4980 -- AcctDerRule_36
4981 --
4982 ---------------------------------------
4983 FUNCTION AcctDerRule_36 (
4984 p_application_id IN NUMBER
4985 , p_ae_header_id IN NUMBER
4986 , p_side IN VARCHAR2
4987 --Invoice Distribution Account
4988 , p_source_18 IN NUMBER
4989 --Prepaid Expense Account Source Option
4990 , p_source_19 IN VARCHAR2
4991 , p_source_19_meaning IN VARCHAR2
4992 --Purchase Order Number
4993 , p_source_20 IN VARCHAR2
4994 --Invoice Distribution Type
4995 , p_source_21 IN VARCHAR2
4996 , p_source_21_meaning IN VARCHAR2
4997 --Purchase Order Charge Account
4998 , p_source_33 IN NUMBER
4999 , x_transaction_coa_id OUT NOCOPY NUMBER
5000 , x_accounting_coa_id OUT NOCOPY NUMBER
5001 , x_value_type_code OUT NOCOPY VARCHAR2
5002 )
5003 RETURN NUMBER
5004 IS
5005 l_component_type VARCHAR2(80) ;
5006 l_component_code VARCHAR2(30) ;
5007 l_component_type_code VARCHAR2(1) ;
5008 l_component_appl_id INTEGER ;
5009 l_amb_context_code VARCHAR2(30) ;
5010 l_log_module VARCHAR2(240) ;
5011 l_output_value NUMBER ;
5012 BEGIN
5013 IF g_log_enabled THEN
5014 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_36';
5015 END IF;
5016 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5017 trace
5018 (p_msg => 'BEGIN of AcctDerRule_36'
5019 ,p_level => C_LEVEL_PROCEDURE
5020 ,p_module => l_log_module);
5021 END IF;
5022 --
5023 l_component_type := 'AMB_ADR';
5024 l_component_code := 'AP_PREPAY_INVOICE_DIST';
5025 l_component_type_code := 'S';
5026 l_component_appl_id := 200;
5027 l_amb_context_code := 'DEFAULT';
5028 x_transaction_coa_id := null;
5029 x_accounting_coa_id := null;
5030 --
5031
5032 IF NVL(p_source_19,'
5033 ') <> 'Y' OR
5034 (NVL(p_source_19,'
5035 ') = 'Y' AND
5036 p_source_20 IS NULL )
5037 THEN
5038 --
5039 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5040 trace
5041 (p_msg => 'END of AcctDerRule_36'
5042 ,p_level => C_LEVEL_PROCEDURE
5046 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
5043 ,p_module => l_log_module);
5044 END IF;
5045 x_value_type_code := 'S';
5047 RETURN l_output_value;
5048
5049 ELSIF NVL(p_source_19,'
5050 ') = 'Y' AND
5051 p_source_20 IS NOT NULL AND
5052 NVL(p_source_21,'
5053 ') = 'ITEM'
5054 THEN
5055 --
5056 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5057 trace
5058 (p_msg => 'END of AcctDerRule_36'
5059 ,p_level => C_LEVEL_PROCEDURE
5060 ,p_module => l_log_module);
5061 END IF;
5062 x_value_type_code := 'S';
5063 l_output_value := TO_NUMBER(TO_NUMBER(p_source_33));
5064 RETURN l_output_value;
5065
5066 END IF;
5067 --
5068 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5069 trace
5070 (p_msg => 'END of AcctDerRule_36(invalid)'
5071 ,p_level => C_LEVEL_PROCEDURE
5072 ,p_module => l_log_module);
5073 END IF;
5074 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5075 x_value_type_code := null;
5076 l_output_value := null;
5077 xla_accounting_err_pkg.build_message
5078 (p_appli_s_name => 'XLA'
5079 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5080 ,p_token_1 => 'COMPONENT_NAME'
5081 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5082 l_component_type
5083 , l_component_code
5084 , l_component_type_code
5085 , l_component_appl_id
5086 , l_amb_context_code
5087 )
5088 ,p_token_2 => 'OWNER'
5089 ,p_value_2 => xla_lookups_pkg.get_meaning(
5090 'XLA_OWNER_TYPE'
5091 ,l_component_type_code
5092 )
5093 ,p_token_3 => 'PAD_NAME'
5094 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5095 ,p_token_4 => 'PAD_OWNER'
5096 ,p_value_4 => xla_lookups_pkg.get_meaning(
5097 'XLA_OWNER_TYPE'
5098 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5099 )
5100 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5101 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5102 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5103 ,p_ae_header_id => NULL
5104 );
5105 RETURN l_output_value;
5106 EXCEPTION
5107 WHEN xla_exceptions_pkg.application_exception THEN
5108 RAISE;
5109 WHEN OTHERS THEN
5110 xla_exceptions_pkg.raise_message
5111 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_36');
5112 END AcctDerRule_36;
5113 --
5114
5115 ---------------------------------------
5116 --
5117 -- PRIVATE FUNCTION
5118 -- AcctDerRule_37
5119 --
5120 ---------------------------------------
5121 FUNCTION AcctDerRule_37 (
5122 p_application_id IN NUMBER
5123 , p_ae_header_id IN NUMBER
5124 , p_side IN VARCHAR2
5125 --Automatic Offsets Value
5126 , p_source_3 IN VARCHAR2
5127 , p_source_3_meaning IN VARCHAR2
5128 --Invoice Distribution Account
5129 , p_source_18 IN NUMBER
5130 --Internal Realized Gain Account
5131 , p_source_24 IN NUMBER
5132 --Bank Gain Account
5133 , p_source_25 IN NUMBER
5134 , x_transaction_coa_id OUT NOCOPY NUMBER
5135 , x_accounting_coa_id OUT NOCOPY NUMBER
5136 , x_value_type_code OUT NOCOPY VARCHAR2
5137 )
5138 RETURN NUMBER
5139 IS
5140 l_component_type VARCHAR2(80) ;
5141 l_component_code VARCHAR2(30) ;
5142 l_component_type_code VARCHAR2(1) ;
5143 l_component_appl_id INTEGER ;
5144 l_amb_context_code VARCHAR2(30) ;
5145 l_log_module VARCHAR2(240) ;
5146 l_output_value NUMBER ;
5147 BEGIN
5148 IF g_log_enabled THEN
5149 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_37';
5150 END IF;
5151 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5152 trace
5153 (p_msg => 'BEGIN of AcctDerRule_37'
5154 ,p_level => C_LEVEL_PROCEDURE
5155 ,p_module => l_log_module);
5156 END IF;
5157 --
5158 l_component_type := 'AMB_ADR';
5159 l_component_code := 'AP_REAL_GAIN';
5160 l_component_type_code := 'S';
5161 l_component_appl_id := 200;
5162 l_amb_context_code := 'DEFAULT';
5163 x_transaction_coa_id := null;
5164 x_accounting_coa_id := null;
5165 --
5166
5167 IF NVL(p_source_3,'
5168 ') <> 'ACCOUNT_SEGMENT_VALUE'
5169 THEN
5170 --
5171 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5172 trace
5176 END IF;
5173 (p_msg => 'END of AcctDerRule_37'
5174 ,p_level => C_LEVEL_PROCEDURE
5175 ,p_module => l_log_module);
5177 x_value_type_code := 'S';
5178 l_output_value := TO_NUMBER(TO_NUMBER(p_source_24));
5179 RETURN l_output_value;
5180
5181 ELSIF NVL(p_source_3,'
5182 ') <> 'ACCOUNT_SEGMENT_VALUE'
5183 THEN
5184 --
5185 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5186 trace
5187 (p_msg => 'END of AcctDerRule_37'
5188 ,p_level => C_LEVEL_PROCEDURE
5189 ,p_module => l_log_module);
5190 END IF;
5191 x_value_type_code := 'S';
5192 l_output_value := TO_NUMBER(TO_NUMBER(p_source_25));
5193 RETURN l_output_value;
5194
5195 ELSIF NVL(p_source_3,'
5196 ') = 'ACCOUNT_SEGMENT_VALUE'
5197 THEN
5198 --
5199 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5200 trace
5201 (p_msg => 'END of AcctDerRule_37'
5202 ,p_level => C_LEVEL_PROCEDURE
5203 ,p_module => l_log_module);
5204 END IF;
5205 x_value_type_code := 'S';
5206 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
5207 RETURN l_output_value;
5208
5209 END IF;
5210 --
5211 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5212 trace
5213 (p_msg => 'END of AcctDerRule_37(invalid)'
5214 ,p_level => C_LEVEL_PROCEDURE
5215 ,p_module => l_log_module);
5216 END IF;
5217 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5218 x_value_type_code := null;
5219 l_output_value := null;
5220 xla_accounting_err_pkg.build_message
5221 (p_appli_s_name => 'XLA'
5222 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5223 ,p_token_1 => 'COMPONENT_NAME'
5224 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5225 l_component_type
5226 , l_component_code
5227 , l_component_type_code
5228 , l_component_appl_id
5229 , l_amb_context_code
5230 )
5231 ,p_token_2 => 'OWNER'
5232 ,p_value_2 => xla_lookups_pkg.get_meaning(
5233 'XLA_OWNER_TYPE'
5234 ,l_component_type_code
5235 )
5236 ,p_token_3 => 'PAD_NAME'
5237 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5238 ,p_token_4 => 'PAD_OWNER'
5239 ,p_value_4 => xla_lookups_pkg.get_meaning(
5240 'XLA_OWNER_TYPE'
5241 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5242 )
5243 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5244 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5245 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5246 ,p_ae_header_id => NULL
5247 );
5248 RETURN l_output_value;
5249 EXCEPTION
5250 WHEN xla_exceptions_pkg.application_exception THEN
5251 RAISE;
5252 WHEN OTHERS THEN
5253 xla_exceptions_pkg.raise_message
5254 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_37');
5255 END AcctDerRule_37;
5256 --
5257
5258 ---------------------------------------
5259 --
5260 -- PRIVATE FUNCTION
5261 -- AcctDerRule_38
5262 --
5263 ---------------------------------------
5264 FUNCTION AcctDerRule_38 (
5265 p_application_id IN NUMBER
5266 , p_ae_header_id IN NUMBER
5267 , p_side IN VARCHAR2
5268 --Automatic Offsets Value
5269 , p_source_3 IN VARCHAR2
5270 , p_source_3_meaning IN VARCHAR2
5271 --Invoice Distribution Account
5272 , p_source_18 IN NUMBER
5273 --Internal Realized Loss Account
5274 , p_source_26 IN NUMBER
5275 --Bank Loss Account
5276 , p_source_27 IN NUMBER
5277 , x_transaction_coa_id OUT NOCOPY NUMBER
5278 , x_accounting_coa_id OUT NOCOPY NUMBER
5279 , x_value_type_code OUT NOCOPY VARCHAR2
5280 )
5281 RETURN NUMBER
5282 IS
5283 l_component_type VARCHAR2(80) ;
5284 l_component_code VARCHAR2(30) ;
5285 l_component_type_code VARCHAR2(1) ;
5286 l_component_appl_id INTEGER ;
5287 l_amb_context_code VARCHAR2(30) ;
5288 l_log_module VARCHAR2(240) ;
5289 l_output_value NUMBER ;
5290 BEGIN
5291 IF g_log_enabled THEN
5292 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_38';
5293 END IF;
5294 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5295 trace
5296 (p_msg => 'BEGIN of AcctDerRule_38'
5297 ,p_level => C_LEVEL_PROCEDURE
5298 ,p_module => l_log_module);
5299 END IF;
5300 --
5301 l_component_type := 'AMB_ADR';
5302 l_component_code := 'AP_REAL_LOSS';
5303 l_component_type_code := 'S';
5304 l_component_appl_id := 200;
5308 --
5305 l_amb_context_code := 'DEFAULT';
5306 x_transaction_coa_id := null;
5307 x_accounting_coa_id := null;
5309
5310 IF NVL(p_source_3,'
5311 ') <> 'ACCOUNT_SEGMENT_VALUE'
5312 THEN
5313 --
5314 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5315 trace
5316 (p_msg => 'END of AcctDerRule_38'
5317 ,p_level => C_LEVEL_PROCEDURE
5318 ,p_module => l_log_module);
5319 END IF;
5320 x_value_type_code := 'S';
5321 l_output_value := TO_NUMBER(TO_NUMBER(p_source_26));
5322 RETURN l_output_value;
5323
5324 ELSIF NVL(p_source_3,'
5325 ') <> 'ACCOUNT_SEGMENT_VALUE'
5326 THEN
5327 --
5328 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5329 trace
5330 (p_msg => 'END of AcctDerRule_38'
5331 ,p_level => C_LEVEL_PROCEDURE
5332 ,p_module => l_log_module);
5333 END IF;
5334 x_value_type_code := 'S';
5335 l_output_value := TO_NUMBER(TO_NUMBER(p_source_27));
5336 RETURN l_output_value;
5337
5338 ELSIF NVL(p_source_3,'
5339 ') = 'ACCOUNT_SEGMENT_VALUE'
5340 THEN
5341 --
5342 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5343 trace
5344 (p_msg => 'END of AcctDerRule_38'
5345 ,p_level => C_LEVEL_PROCEDURE
5346 ,p_module => l_log_module);
5347 END IF;
5348 x_value_type_code := 'S';
5349 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
5350 RETURN l_output_value;
5351
5352 END IF;
5353 --
5354 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5355 trace
5356 (p_msg => 'END of AcctDerRule_38(invalid)'
5357 ,p_level => C_LEVEL_PROCEDURE
5358 ,p_module => l_log_module);
5359 END IF;
5360 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5361 x_value_type_code := null;
5362 l_output_value := null;
5363 xla_accounting_err_pkg.build_message
5364 (p_appli_s_name => 'XLA'
5365 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5366 ,p_token_1 => 'COMPONENT_NAME'
5367 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5368 l_component_type
5369 , l_component_code
5370 , l_component_type_code
5371 , l_component_appl_id
5372 , l_amb_context_code
5373 )
5374 ,p_token_2 => 'OWNER'
5375 ,p_value_2 => xla_lookups_pkg.get_meaning(
5376 'XLA_OWNER_TYPE'
5377 ,l_component_type_code
5378 )
5379 ,p_token_3 => 'PAD_NAME'
5380 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5381 ,p_token_4 => 'PAD_OWNER'
5382 ,p_value_4 => xla_lookups_pkg.get_meaning(
5383 'XLA_OWNER_TYPE'
5384 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5385 )
5386 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5387 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5388 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5389 ,p_ae_header_id => NULL
5390 );
5391 RETURN l_output_value;
5392 EXCEPTION
5393 WHEN xla_exceptions_pkg.application_exception THEN
5394 RAISE;
5395 WHEN OTHERS THEN
5396 xla_exceptions_pkg.raise_message
5397 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_38');
5398 END AcctDerRule_38;
5399 --
5400
5401 ---------------------------------------
5402 --
5403 -- PRIVATE FUNCTION
5404 -- AcctDerRule_39
5405 --
5406 ---------------------------------------
5407 FUNCTION AcctDerRule_39 (
5408 p_application_id IN NUMBER
5409 , p_ae_header_id IN NUMBER
5410 , p_side IN VARCHAR2
5411 --Automatic Offsets Value
5412 , p_source_3 IN VARCHAR2
5413 , p_source_3_meaning IN VARCHAR2
5414 --Invoice Distribution Account
5415 , p_source_18 IN NUMBER
5416 --Retainage Related Item Distribution Account
5417 , p_source_30 IN NUMBER
5418 , x_transaction_coa_id OUT NOCOPY NUMBER
5419 , x_accounting_coa_id OUT NOCOPY NUMBER
5420 , x_value_type_code OUT NOCOPY VARCHAR2
5421 )
5422 RETURN NUMBER
5423 IS
5424 l_component_type VARCHAR2(80) ;
5425 l_component_code VARCHAR2(30) ;
5426 l_component_type_code VARCHAR2(1) ;
5427 l_component_appl_id INTEGER ;
5428 l_amb_context_code VARCHAR2(30) ;
5429 l_log_module VARCHAR2(240) ;
5430 l_output_value NUMBER ;
5431 BEGIN
5432 IF g_log_enabled THEN
5433 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_39';
5434 END IF;
5438 ,p_level => C_LEVEL_PROCEDURE
5435 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5436 trace
5437 (p_msg => 'BEGIN of AcctDerRule_39'
5439 ,p_module => l_log_module);
5440 END IF;
5441 --
5442 l_component_type := 'AMB_ADR';
5443 l_component_code := 'AP_RETAINAGE';
5444 l_component_type_code := 'S';
5445 l_component_appl_id := 200;
5446 l_amb_context_code := 'DEFAULT';
5447 x_transaction_coa_id := null;
5448 x_accounting_coa_id := null;
5449 --
5450
5451 IF NVL(p_source_3,'
5452 ') <> 'ACCOUNT_SEGMENT_VALUE'
5453 THEN
5454 --
5455 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5456 trace
5457 (p_msg => 'END of AcctDerRule_39'
5458 ,p_level => C_LEVEL_PROCEDURE
5459 ,p_module => l_log_module);
5460 END IF;
5461 x_value_type_code := 'S';
5462 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
5463 RETURN l_output_value;
5464
5465 ELSIF NVL(p_source_3,'
5466 ') = 'ACCOUNT_SEGMENT_VALUE'
5467 THEN
5468 --
5469 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5470 trace
5471 (p_msg => 'END of AcctDerRule_39'
5472 ,p_level => C_LEVEL_PROCEDURE
5473 ,p_module => l_log_module);
5474 END IF;
5475 x_value_type_code := 'S';
5476 l_output_value := TO_NUMBER(TO_NUMBER(p_source_30));
5477 RETURN l_output_value;
5478
5479 END IF;
5480 --
5481 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5482 trace
5483 (p_msg => 'END of AcctDerRule_39(invalid)'
5484 ,p_level => C_LEVEL_PROCEDURE
5485 ,p_module => l_log_module);
5486 END IF;
5487 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5488 x_value_type_code := null;
5489 l_output_value := null;
5490 xla_accounting_err_pkg.build_message
5491 (p_appli_s_name => 'XLA'
5492 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5493 ,p_token_1 => 'COMPONENT_NAME'
5494 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5495 l_component_type
5496 , l_component_code
5497 , l_component_type_code
5498 , l_component_appl_id
5499 , l_amb_context_code
5500 )
5501 ,p_token_2 => 'OWNER'
5502 ,p_value_2 => xla_lookups_pkg.get_meaning(
5503 'XLA_OWNER_TYPE'
5504 ,l_component_type_code
5505 )
5506 ,p_token_3 => 'PAD_NAME'
5507 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5508 ,p_token_4 => 'PAD_OWNER'
5509 ,p_value_4 => xla_lookups_pkg.get_meaning(
5510 'XLA_OWNER_TYPE'
5511 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5512 )
5513 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5514 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5515 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5516 ,p_ae_header_id => NULL
5517 );
5518 RETURN l_output_value;
5519 EXCEPTION
5520 WHEN xla_exceptions_pkg.application_exception THEN
5521 RAISE;
5522 WHEN OTHERS THEN
5523 xla_exceptions_pkg.raise_message
5524 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_39');
5525 END AcctDerRule_39;
5526 --
5527
5528 ---------------------------------------
5529 --
5530 -- PRIVATE FUNCTION
5531 -- AcctDerRule_40
5532 --
5533 ---------------------------------------
5534 FUNCTION AcctDerRule_40 (
5535 p_application_id IN NUMBER
5536 , p_ae_header_id IN NUMBER
5537 , p_side IN VARCHAR2
5538 --Automatic Offsets Value
5539 , p_source_3 IN VARCHAR2
5540 , p_source_3_meaning IN VARCHAR2
5541 --Invoice Distribution Account
5542 , p_source_18 IN NUMBER
5543 --Payables Options Rounding Account
5544 , p_source_37 IN NUMBER
5545 , x_transaction_coa_id OUT NOCOPY NUMBER
5546 , x_accounting_coa_id OUT NOCOPY NUMBER
5547 , x_value_type_code OUT NOCOPY VARCHAR2
5548 )
5549 RETURN NUMBER
5550 IS
5551 l_component_type VARCHAR2(80) ;
5552 l_component_code VARCHAR2(30) ;
5553 l_component_type_code VARCHAR2(1) ;
5554 l_component_appl_id INTEGER ;
5555 l_amb_context_code VARCHAR2(30) ;
5556 l_log_module VARCHAR2(240) ;
5557 l_output_value NUMBER ;
5558 BEGIN
5559 IF g_log_enabled THEN
5560 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_40';
5561 END IF;
5565 ,p_level => C_LEVEL_PROCEDURE
5562 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5563 trace
5564 (p_msg => 'BEGIN of AcctDerRule_40'
5566 ,p_module => l_log_module);
5567 END IF;
5568 --
5569 l_component_type := 'AMB_ADR';
5570 l_component_code := 'AP_ROUNDING';
5571 l_component_type_code := 'S';
5572 l_component_appl_id := 200;
5573 l_amb_context_code := 'DEFAULT';
5574 x_transaction_coa_id := null;
5575 x_accounting_coa_id := null;
5576 --
5577
5578 IF NVL(p_source_3,'
5579 ') <> 'ACCOUNT_SEGMENT_VALUE'
5580 THEN
5581 --
5582 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5583 trace
5584 (p_msg => 'END of AcctDerRule_40'
5585 ,p_level => C_LEVEL_PROCEDURE
5586 ,p_module => l_log_module);
5587 END IF;
5588 x_value_type_code := 'S';
5589 l_output_value := TO_NUMBER(TO_NUMBER(p_source_37));
5590 RETURN l_output_value;
5591
5592 ELSIF NVL(p_source_3,'
5593 ') = 'ACCOUNT_SEGMENT_VALUE'
5594 THEN
5595 --
5596 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5597 trace
5598 (p_msg => 'END of AcctDerRule_40'
5599 ,p_level => C_LEVEL_PROCEDURE
5600 ,p_module => l_log_module);
5601 END IF;
5602 x_value_type_code := 'S';
5603 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
5604 RETURN l_output_value;
5605
5606 END IF;
5607 --
5608 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5609 trace
5610 (p_msg => 'END of AcctDerRule_40(invalid)'
5611 ,p_level => C_LEVEL_PROCEDURE
5612 ,p_module => l_log_module);
5613 END IF;
5614 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5615 x_value_type_code := null;
5616 l_output_value := null;
5617 xla_accounting_err_pkg.build_message
5618 (p_appli_s_name => 'XLA'
5619 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5620 ,p_token_1 => 'COMPONENT_NAME'
5621 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5622 l_component_type
5623 , l_component_code
5624 , l_component_type_code
5625 , l_component_appl_id
5626 , l_amb_context_code
5627 )
5628 ,p_token_2 => 'OWNER'
5629 ,p_value_2 => xla_lookups_pkg.get_meaning(
5630 'XLA_OWNER_TYPE'
5631 ,l_component_type_code
5632 )
5633 ,p_token_3 => 'PAD_NAME'
5634 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5635 ,p_token_4 => 'PAD_OWNER'
5636 ,p_value_4 => xla_lookups_pkg.get_meaning(
5637 'XLA_OWNER_TYPE'
5638 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5639 )
5640 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5641 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5642 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5643 ,p_ae_header_id => NULL
5644 );
5645 RETURN l_output_value;
5646 EXCEPTION
5647 WHEN xla_exceptions_pkg.application_exception THEN
5648 RAISE;
5649 WHEN OTHERS THEN
5650 xla_exceptions_pkg.raise_message
5651 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_40');
5652 END AcctDerRule_40;
5653 --
5654
5655 ---------------------------------------
5656 --
5657 -- PRIVATE FUNCTION
5658 -- AcctDerRule_41
5659 --
5660 ---------------------------------------
5661 FUNCTION AcctDerRule_41 (
5662 p_application_id IN NUMBER
5663 , p_ae_header_id IN NUMBER
5664 , p_side IN VARCHAR2
5665 --Self-Assessed Tax Account
5666 , p_source_38 IN NUMBER
5667 , x_transaction_coa_id OUT NOCOPY NUMBER
5668 , x_accounting_coa_id OUT NOCOPY NUMBER
5669 , x_value_type_code OUT NOCOPY VARCHAR2
5670 )
5671 RETURN NUMBER
5672 IS
5673 l_component_type VARCHAR2(80) ;
5674 l_component_code VARCHAR2(30) ;
5675 l_component_type_code VARCHAR2(1) ;
5676 l_component_appl_id INTEGER ;
5677 l_amb_context_code VARCHAR2(30) ;
5678 l_log_module VARCHAR2(240) ;
5679 l_output_value NUMBER ;
5680 BEGIN
5681 IF g_log_enabled THEN
5682 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_41';
5683 END IF;
5684 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5685 trace
5686 (p_msg => 'BEGIN of AcctDerRule_41'
5687 ,p_level => C_LEVEL_PROCEDURE
5688 ,p_module => l_log_module);
5689 END IF;
5693 l_component_type_code := 'S';
5690 --
5691 l_component_type := 'AMB_ADR';
5692 l_component_code := 'AP_SELF_ASSESSED_TAX';
5694 l_component_appl_id := 200;
5695 l_amb_context_code := 'DEFAULT';
5696 x_transaction_coa_id := null;
5697 x_accounting_coa_id := null;
5698 --
5699
5700 --
5701 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5702 trace
5703 (p_msg => 'END of AcctDerRule_41'
5704 ,p_level => C_LEVEL_PROCEDURE
5705 ,p_module => l_log_module);
5706 END IF;
5707 x_value_type_code := 'S';
5708 l_output_value := TO_NUMBER(TO_NUMBER(p_source_38));
5709 RETURN l_output_value;
5710
5711 --
5712 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5713 trace
5714 (p_msg => 'END of AcctDerRule_41(invalid)'
5715 ,p_level => C_LEVEL_PROCEDURE
5716 ,p_module => l_log_module);
5717 END IF;
5718 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5719 x_value_type_code := null;
5720 l_output_value := null;
5721 xla_accounting_err_pkg.build_message
5722 (p_appli_s_name => 'XLA'
5723 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5724 ,p_token_1 => 'COMPONENT_NAME'
5725 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5726 l_component_type
5727 , l_component_code
5728 , l_component_type_code
5729 , l_component_appl_id
5730 , l_amb_context_code
5731 )
5732 ,p_token_2 => 'OWNER'
5733 ,p_value_2 => xla_lookups_pkg.get_meaning(
5734 'XLA_OWNER_TYPE'
5735 ,l_component_type_code
5736 )
5737 ,p_token_3 => 'PAD_NAME'
5738 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5739 ,p_token_4 => 'PAD_OWNER'
5740 ,p_value_4 => xla_lookups_pkg.get_meaning(
5741 'XLA_OWNER_TYPE'
5742 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5743 )
5744 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5745 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5746 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5747 ,p_ae_header_id => NULL
5748 );
5749 RETURN l_output_value;
5750 EXCEPTION
5751 WHEN xla_exceptions_pkg.application_exception THEN
5752 RAISE;
5753 WHEN OTHERS THEN
5754 xla_exceptions_pkg.raise_message
5755 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_41');
5756 END AcctDerRule_41;
5757 --
5758
5759 ---------------------------------------
5760 --
5761 -- PRIVATE FUNCTION
5762 -- AcctDerRule_42
5763 --
5764 ---------------------------------------
5765 FUNCTION AcctDerRule_42 (
5766 p_application_id IN NUMBER
5767 , p_ae_header_id IN NUMBER
5768 , p_side IN VARCHAR2
5769 --Self-Assessed Tax Liability Account
5770 , p_source_39 IN NUMBER
5771 , x_transaction_coa_id OUT NOCOPY NUMBER
5772 , x_accounting_coa_id OUT NOCOPY NUMBER
5773 , x_value_type_code OUT NOCOPY VARCHAR2
5774 )
5775 RETURN NUMBER
5776 IS
5777 l_component_type VARCHAR2(80) ;
5778 l_component_code VARCHAR2(30) ;
5779 l_component_type_code VARCHAR2(1) ;
5780 l_component_appl_id INTEGER ;
5781 l_amb_context_code VARCHAR2(30) ;
5782 l_log_module VARCHAR2(240) ;
5783 l_output_value NUMBER ;
5784 BEGIN
5785 IF g_log_enabled THEN
5786 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_42';
5787 END IF;
5788 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5789 trace
5790 (p_msg => 'BEGIN of AcctDerRule_42'
5791 ,p_level => C_LEVEL_PROCEDURE
5792 ,p_module => l_log_module);
5793 END IF;
5794 --
5795 l_component_type := 'AMB_ADR';
5796 l_component_code := 'AP_SELF_ASSESSED_TAX_LIAB';
5797 l_component_type_code := 'S';
5798 l_component_appl_id := 200;
5799 l_amb_context_code := 'DEFAULT';
5800 x_transaction_coa_id := null;
5801 x_accounting_coa_id := null;
5802 --
5803
5804 --
5805 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5806 trace
5807 (p_msg => 'END of AcctDerRule_42'
5808 ,p_level => C_LEVEL_PROCEDURE
5809 ,p_module => l_log_module);
5810 END IF;
5811 x_value_type_code := 'S';
5812 l_output_value := TO_NUMBER(TO_NUMBER(p_source_39));
5813 RETURN l_output_value;
5814
5815 --
5819 ,p_level => C_LEVEL_PROCEDURE
5816 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5817 trace
5818 (p_msg => 'END of AcctDerRule_42(invalid)'
5820 ,p_module => l_log_module);
5821 END IF;
5822 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5823 x_value_type_code := null;
5824 l_output_value := null;
5825 xla_accounting_err_pkg.build_message
5826 (p_appli_s_name => 'XLA'
5827 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5828 ,p_token_1 => 'COMPONENT_NAME'
5829 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5830 l_component_type
5831 , l_component_code
5832 , l_component_type_code
5833 , l_component_appl_id
5834 , l_amb_context_code
5835 )
5836 ,p_token_2 => 'OWNER'
5837 ,p_value_2 => xla_lookups_pkg.get_meaning(
5838 'XLA_OWNER_TYPE'
5839 ,l_component_type_code
5840 )
5841 ,p_token_3 => 'PAD_NAME'
5842 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5843 ,p_token_4 => 'PAD_OWNER'
5844 ,p_value_4 => xla_lookups_pkg.get_meaning(
5845 'XLA_OWNER_TYPE'
5846 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5847 )
5848 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5849 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5850 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5851 ,p_ae_header_id => NULL
5852 );
5853 RETURN l_output_value;
5854 EXCEPTION
5855 WHEN xla_exceptions_pkg.application_exception THEN
5856 RAISE;
5857 WHEN OTHERS THEN
5858 xla_exceptions_pkg.raise_message
5859 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_42');
5860 END AcctDerRule_42;
5861 --
5862
5863 ---------------------------------------
5864 --
5865 -- PRIVATE FUNCTION
5866 -- AcctDerRule_43
5867 --
5868 ---------------------------------------
5869 FUNCTION AcctDerRule_43 (
5870 p_application_id IN NUMBER
5871 , p_ae_header_id IN NUMBER
5872 , p_side IN VARCHAR2
5873 --Recoverable Tax Account
5874 , p_source_40 IN NUMBER
5875 , x_transaction_coa_id OUT NOCOPY NUMBER
5876 , x_accounting_coa_id OUT NOCOPY NUMBER
5877 , x_value_type_code OUT NOCOPY VARCHAR2
5878 )
5879 RETURN NUMBER
5880 IS
5881 l_component_type VARCHAR2(80) ;
5882 l_component_code VARCHAR2(30) ;
5883 l_component_type_code VARCHAR2(1) ;
5884 l_component_appl_id INTEGER ;
5885 l_amb_context_code VARCHAR2(30) ;
5886 l_log_module VARCHAR2(240) ;
5887 l_output_value NUMBER ;
5888 BEGIN
5889 IF g_log_enabled THEN
5890 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_43';
5891 END IF;
5892 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5893 trace
5894 (p_msg => 'BEGIN of AcctDerRule_43'
5895 ,p_level => C_LEVEL_PROCEDURE
5896 ,p_module => l_log_module);
5897 END IF;
5898 --
5899 l_component_type := 'AMB_ADR';
5900 l_component_code := 'AP_TAX_ACCOUNT';
5901 l_component_type_code := 'S';
5902 l_component_appl_id := 200;
5903 l_amb_context_code := 'DEFAULT';
5904 x_transaction_coa_id := null;
5905 x_accounting_coa_id := null;
5906 --
5907
5908 --
5909 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5910 trace
5911 (p_msg => 'END of AcctDerRule_43'
5912 ,p_level => C_LEVEL_PROCEDURE
5913 ,p_module => l_log_module);
5914 END IF;
5915 x_value_type_code := 'S';
5916 l_output_value := TO_NUMBER(TO_NUMBER(p_source_40));
5917 RETURN l_output_value;
5918
5919 --
5920 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5921 trace
5922 (p_msg => 'END of AcctDerRule_43(invalid)'
5923 ,p_level => C_LEVEL_PROCEDURE
5924 ,p_module => l_log_module);
5925 END IF;
5926 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
5927 x_value_type_code := null;
5928 l_output_value := null;
5929 xla_accounting_err_pkg.build_message
5930 (p_appli_s_name => 'XLA'
5931 ,p_msg_name => 'XLA_AP_INVALID_ADR'
5932 ,p_token_1 => 'COMPONENT_NAME'
5933 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
5934 l_component_type
5935 , l_component_code
5939 )
5936 , l_component_type_code
5937 , l_component_appl_id
5938 , l_amb_context_code
5940 ,p_token_2 => 'OWNER'
5941 ,p_value_2 => xla_lookups_pkg.get_meaning(
5942 'XLA_OWNER_TYPE'
5943 ,l_component_type_code
5944 )
5945 ,p_token_3 => 'PAD_NAME'
5946 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
5947 ,p_token_4 => 'PAD_OWNER'
5948 ,p_value_4 => xla_lookups_pkg.get_meaning(
5949 'XLA_OWNER_TYPE'
5950 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
5951 )
5952 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
5953 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
5954 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
5955 ,p_ae_header_id => NULL
5956 );
5957 RETURN l_output_value;
5958 EXCEPTION
5959 WHEN xla_exceptions_pkg.application_exception THEN
5960 RAISE;
5961 WHEN OTHERS THEN
5962 xla_exceptions_pkg.raise_message
5963 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_43');
5964 END AcctDerRule_43;
5965 --
5966
5967 ---------------------------------------
5968 --
5969 -- PRIVATE FUNCTION
5970 -- AcctDerRule_44
5971 --
5972 ---------------------------------------
5973 FUNCTION AcctDerRule_44 (
5974 p_application_id IN NUMBER
5975 , p_ae_header_id IN NUMBER
5976 , p_side IN VARCHAR2
5977 --Automatic Offsets Value
5978 , p_source_3 IN VARCHAR2
5979 , p_source_3_meaning IN VARCHAR2
5980 --Invoice Distribution Account
5981 , p_source_18 IN NUMBER
5982 --Payables Options Tax Difference Account
5983 , p_source_29 IN NUMBER
5984 , x_transaction_coa_id OUT NOCOPY NUMBER
5985 , x_accounting_coa_id OUT NOCOPY NUMBER
5986 , x_value_type_code OUT NOCOPY VARCHAR2
5987 )
5988 RETURN NUMBER
5989 IS
5990 l_component_type VARCHAR2(80) ;
5991 l_component_code VARCHAR2(30) ;
5992 l_component_type_code VARCHAR2(1) ;
5993 l_component_appl_id INTEGER ;
5994 l_amb_context_code VARCHAR2(30) ;
5995 l_log_module VARCHAR2(240) ;
5996 l_output_value NUMBER ;
5997 BEGIN
5998 IF g_log_enabled THEN
5999 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_44';
6000 END IF;
6001 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6002 trace
6003 (p_msg => 'BEGIN of AcctDerRule_44'
6004 ,p_level => C_LEVEL_PROCEDURE
6005 ,p_module => l_log_module);
6006 END IF;
6007 --
6008 l_component_type := 'AMB_ADR';
6009 l_component_code := 'AP_TAX_DIFFERENCE';
6010 l_component_type_code := 'S';
6011 l_component_appl_id := 200;
6012 l_amb_context_code := 'DEFAULT';
6013 x_transaction_coa_id := null;
6014 x_accounting_coa_id := null;
6015 --
6016
6017 IF NVL(p_source_3,'
6018 ') <> 'ACCOUNT_SEGMENT_VALUE'
6019 THEN
6020 --
6021 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6022 trace
6023 (p_msg => 'END of AcctDerRule_44'
6024 ,p_level => C_LEVEL_PROCEDURE
6025 ,p_module => l_log_module);
6026 END IF;
6027 x_value_type_code := 'S';
6028 l_output_value := TO_NUMBER(TO_NUMBER(p_source_29));
6029 RETURN l_output_value;
6030
6031 ELSIF NVL(p_source_3,'
6032 ') = 'ACCOUNT_SEGMENT_VALUE'
6033 THEN
6034 --
6035 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6036 trace
6037 (p_msg => 'END of AcctDerRule_44'
6038 ,p_level => C_LEVEL_PROCEDURE
6039 ,p_module => l_log_module);
6040 END IF;
6041 x_value_type_code := 'S';
6042 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
6043 RETURN l_output_value;
6044
6045 END IF;
6046 --
6047 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6048 trace
6049 (p_msg => 'END of AcctDerRule_44(invalid)'
6050 ,p_level => C_LEVEL_PROCEDURE
6051 ,p_module => l_log_module);
6052 END IF;
6053 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6054 x_value_type_code := null;
6055 l_output_value := null;
6056 xla_accounting_err_pkg.build_message
6057 (p_appli_s_name => 'XLA'
6058 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6059 ,p_token_1 => 'COMPONENT_NAME'
6060 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6061 l_component_type
6062 , l_component_code
6066 )
6063 , l_component_type_code
6064 , l_component_appl_id
6065 , l_amb_context_code
6067 ,p_token_2 => 'OWNER'
6068 ,p_value_2 => xla_lookups_pkg.get_meaning(
6069 'XLA_OWNER_TYPE'
6070 ,l_component_type_code
6071 )
6072 ,p_token_3 => 'PAD_NAME'
6073 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6074 ,p_token_4 => 'PAD_OWNER'
6075 ,p_value_4 => xla_lookups_pkg.get_meaning(
6076 'XLA_OWNER_TYPE'
6077 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6078 )
6079 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6080 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6081 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6082 ,p_ae_header_id => NULL
6083 );
6084 RETURN l_output_value;
6085 EXCEPTION
6086 WHEN xla_exceptions_pkg.application_exception THEN
6087 RAISE;
6088 WHEN OTHERS THEN
6089 xla_exceptions_pkg.raise_message
6090 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_44');
6091 END AcctDerRule_44;
6092 --
6093
6094 ---------------------------------------
6095 --
6096 -- PRIVATE FUNCTION
6097 -- AcctDerRule_45
6098 --
6099 ---------------------------------------
6100 FUNCTION AcctDerRule_45 (
6101 p_application_id IN NUMBER
6102 , p_ae_header_id IN NUMBER
6103 , p_side IN VARCHAR2
6104 --Automatic Offsets Value
6105 , p_source_3 IN VARCHAR2
6106 , p_source_3_meaning IN VARCHAR2
6107 --Invoice Distribution Account
6108 , p_source_18 IN NUMBER
6109 --Withholding Related Distribution Account
6110 , p_source_31 IN NUMBER
6111 , x_transaction_coa_id OUT NOCOPY NUMBER
6112 , x_accounting_coa_id OUT NOCOPY NUMBER
6113 , x_value_type_code OUT NOCOPY VARCHAR2
6114 )
6115 RETURN NUMBER
6116 IS
6117 l_component_type VARCHAR2(80) ;
6118 l_component_code VARCHAR2(30) ;
6119 l_component_type_code VARCHAR2(1) ;
6120 l_component_appl_id INTEGER ;
6121 l_amb_context_code VARCHAR2(30) ;
6122 l_log_module VARCHAR2(240) ;
6123 l_output_value NUMBER ;
6124 BEGIN
6125 IF g_log_enabled THEN
6126 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_45';
6127 END IF;
6128 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6129 trace
6130 (p_msg => 'BEGIN of AcctDerRule_45'
6131 ,p_level => C_LEVEL_PROCEDURE
6132 ,p_module => l_log_module);
6133 END IF;
6134 --
6135 l_component_type := 'AMB_ADR';
6136 l_component_code := 'AP_WH_DIST_ACCT';
6137 l_component_type_code := 'S';
6138 l_component_appl_id := 200;
6139 l_amb_context_code := 'DEFAULT';
6140 x_transaction_coa_id := null;
6141 x_accounting_coa_id := null;
6142 --
6143
6144 IF NVL(p_source_3,'
6145 ') <> 'ACCOUNT_SEGMENT_VALUE'
6146 THEN
6147 --
6148 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6149 trace
6150 (p_msg => 'END of AcctDerRule_45'
6151 ,p_level => C_LEVEL_PROCEDURE
6152 ,p_module => l_log_module);
6153 END IF;
6154 x_value_type_code := 'S';
6155 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
6156 RETURN l_output_value;
6157
6158 ELSIF NVL(p_source_3,'
6159 ') = 'ACCOUNT_SEGMENT_VALUE'
6160 THEN
6161 --
6162 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6163 trace
6164 (p_msg => 'END of AcctDerRule_45'
6165 ,p_level => C_LEVEL_PROCEDURE
6166 ,p_module => l_log_module);
6167 END IF;
6168 x_value_type_code := 'S';
6169 l_output_value := TO_NUMBER(TO_NUMBER(p_source_31));
6170 RETURN l_output_value;
6171
6172 END IF;
6173 --
6174 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6175 trace
6176 (p_msg => 'END of AcctDerRule_45(invalid)'
6177 ,p_level => C_LEVEL_PROCEDURE
6178 ,p_module => l_log_module);
6179 END IF;
6180 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6181 x_value_type_code := null;
6182 l_output_value := null;
6183 xla_accounting_err_pkg.build_message
6184 (p_appli_s_name => 'XLA'
6185 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6186 ,p_token_1 => 'COMPONENT_NAME'
6190 , l_component_type_code
6187 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6188 l_component_type
6189 , l_component_code
6191 , l_component_appl_id
6192 , l_amb_context_code
6193 )
6194 ,p_token_2 => 'OWNER'
6195 ,p_value_2 => xla_lookups_pkg.get_meaning(
6196 'XLA_OWNER_TYPE'
6197 ,l_component_type_code
6198 )
6199 ,p_token_3 => 'PAD_NAME'
6200 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6201 ,p_token_4 => 'PAD_OWNER'
6202 ,p_value_4 => xla_lookups_pkg.get_meaning(
6203 'XLA_OWNER_TYPE'
6204 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6205 )
6206 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6207 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6208 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6209 ,p_ae_header_id => NULL
6210 );
6211 RETURN l_output_value;
6212 EXCEPTION
6213 WHEN xla_exceptions_pkg.application_exception THEN
6214 RAISE;
6215 WHEN OTHERS THEN
6216 xla_exceptions_pkg.raise_message
6217 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_45');
6218 END AcctDerRule_45;
6219 --
6220
6221 ---------------------------------------
6222 --
6223 -- PRIVATE FUNCTION
6224 -- AcctDerRule_46
6225 --
6226 ---------------------------------------
6227 FUNCTION AcctDerRule_46 (
6228 p_application_id IN NUMBER
6229 , p_ae_header_id IN NUMBER
6230 , p_side IN VARCHAR2
6231 --Invoice Distribution Account
6232 , p_source_18 IN NUMBER
6233 , x_transaction_coa_id OUT NOCOPY NUMBER
6234 , x_accounting_coa_id OUT NOCOPY NUMBER
6235 , x_value_type_code OUT NOCOPY VARCHAR2
6236 )
6237 RETURN NUMBER
6238 IS
6239 l_component_type VARCHAR2(80) ;
6240 l_component_code VARCHAR2(30) ;
6241 l_component_type_code VARCHAR2(1) ;
6242 l_component_appl_id INTEGER ;
6243 l_amb_context_code VARCHAR2(30) ;
6244 l_log_module VARCHAR2(240) ;
6245 l_output_value NUMBER ;
6246 BEGIN
6247 IF g_log_enabled THEN
6248 l_log_module := C_DEFAULT_MODULE||'.AcctDerRule_46';
6249 END IF;
6250 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6251 trace
6252 (p_msg => 'BEGIN of AcctDerRule_46'
6253 ,p_level => C_LEVEL_PROCEDURE
6254 ,p_module => l_log_module);
6255 END IF;
6256 --
6257 l_component_type := 'AMB_ADR';
6258 l_component_code := 'FV_AP_INV_DISTRBUTION_CCID';
6259 l_component_type_code := 'S';
6260 l_component_appl_id := 200;
6261 l_amb_context_code := 'DEFAULT';
6262 x_transaction_coa_id := null;
6263 x_accounting_coa_id := null;
6264 --
6265
6266 --
6267 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6268 trace
6269 (p_msg => 'END of AcctDerRule_46'
6270 ,p_level => C_LEVEL_PROCEDURE
6271 ,p_module => l_log_module);
6272 END IF;
6273 x_value_type_code := 'S';
6274 l_output_value := TO_NUMBER(TO_NUMBER(p_source_18));
6275 RETURN l_output_value;
6276
6277 --
6278 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6279 trace
6280 (p_msg => 'END of AcctDerRule_46(invalid)'
6281 ,p_level => C_LEVEL_PROCEDURE
6282 ,p_module => l_log_module);
6283 END IF;
6284 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
6285 x_value_type_code := null;
6286 l_output_value := null;
6287 xla_accounting_err_pkg.build_message
6288 (p_appli_s_name => 'XLA'
6289 ,p_msg_name => 'XLA_AP_INVALID_ADR'
6290 ,p_token_1 => 'COMPONENT_NAME'
6291 ,p_value_1 => xla_ae_sources_pkg.GetComponentName (
6292 l_component_type
6293 , l_component_code
6294 , l_component_type_code
6295 , l_component_appl_id
6296 , l_amb_context_code
6297 )
6298 ,p_token_2 => 'OWNER'
6299 ,p_value_2 => xla_lookups_pkg.get_meaning(
6300 'XLA_OWNER_TYPE'
6301 ,l_component_type_code
6302 )
6306 ,p_value_4 => xla_lookups_pkg.get_meaning(
6303 ,p_token_3 => 'PAD_NAME'
6304 ,p_value_3 => xla_ae_journal_entry_pkg.g_cache_pad.pad_session_name
6305 ,p_token_4 => 'PAD_OWNER'
6307 'XLA_OWNER_TYPE'
6308 ,xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code
6309 )
6310 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
6311 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
6312 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
6313 ,p_ae_header_id => NULL
6314 );
6315 RETURN l_output_value;
6316 EXCEPTION
6317 WHEN xla_exceptions_pkg.application_exception THEN
6318 RAISE;
6319 WHEN OTHERS THEN
6320 xla_exceptions_pkg.raise_message
6321 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctDerRule_46');
6322 END AcctDerRule_46;
6323 --
6324
6325 ---------------------------------------
6326 --
6327 -- PRIVATE FUNCTION
6328 -- AcctLineType_47
6329 --
6330 ---------------------------------------
6331 PROCEDURE AcctLineType_47 (
6332 p_application_id IN NUMBER
6333 ,p_event_id IN NUMBER
6334 ,p_calculate_acctd_flag IN VARCHAR2
6335 ,p_calculate_g_l_flag IN VARCHAR2
6336 ,p_actual_flag IN OUT VARCHAR2
6337 ,p_balance_type_code OUT VARCHAR2
6338 ,p_gain_or_loss_ref OUT VARCHAR2
6339
6340 --Invoice Distribution Description
6341 , p_source_1 IN VARCHAR2
6342 --Invoice Distribution Ledger Amount
6343 , p_source_9 IN NUMBER
6344 --Invoice Distribution Account
6345 , p_source_18 IN NUMBER
6346 --Invoice Distribution Type
6347 , p_source_21 IN VARCHAR2
6348 , p_source_21_meaning IN VARCHAR2
6349 --Accounting Reversal Indicator
6350 , p_source_41 IN VARCHAR2
6351 --Distribution Link Type
6352 , p_source_43 IN VARCHAR2
6353 --Allocation to Main Distribution Identifier
6354 , p_source_45 IN NUMBER
6355 --Invoice Identifier
6356 , p_source_46 IN NUMBER
6357 --Business Flow Purchasing Application Identifier
6358 , p_source_47 IN NUMBER
6359 --Business Flow Purchase Order Distribution Type
6360 , p_source_48 IN VARCHAR2
6361 --Business Flow Purchase Order Entity Code
6362 , p_source_49 IN VARCHAR2
6363 --Business Flow Purchase Order Distribution Identifier
6364 , p_source_50 IN NUMBER
6365 --Business Flow Purchasing Document Identifier
6366 , p_source_51 IN NUMBER
6367 --Invoice Distribution Identifier
6368 , p_source_52 IN NUMBER
6369 --Payables Encumbrance Upgrade Credit Account
6370 , p_source_53 IN NUMBER
6371 --Payables Encumbrance Upgrade Credit Amount
6372 , p_source_54 IN NUMBER
6373 --Invoice Currency Code
6374 , p_source_55 IN VARCHAR2
6375 --Payables Encumbrance Upgrade Credit Base Amount
6376 , p_source_56 IN NUMBER
6377 --Payables Encumbrance Upgrade Debit Account
6378 , p_source_57 IN NUMBER
6379 --Payables Encumbrance Upgrade Debit Amount
6380 , p_source_58 IN NUMBER
6381 --Payables Encumbrance Upgrade Debit Base Amount
6382 , p_source_59 IN NUMBER
6383 --Payables Encumbrance Upgrade Option
6384 , p_source_60 IN VARCHAR2
6385 --Invoice Distribution Amount
6386 , p_source_61 IN NUMBER
6387 --Purchase Order Exchange Rate Date
6388 , p_source_62 IN DATE
6389 --Purchase Order Exchange Rate
6390 , p_source_63 IN NUMBER
6391 --Purchase Order Exchange Rate Type
6392 , p_source_64 IN VARCHAR2
6393 --Deferred Accounting End Date
6394 , p_source_65 IN DATE
6395 --Deferred Accounting Option
6396 , p_source_66 IN VARCHAR2
6397 --Deferred Accounting Start Date
6398 , p_source_67 IN DATE
6399 --Override Accounted Amount Indicator
6400 , p_source_68 IN VARCHAR2
6401 , p_source_68_meaning IN VARCHAR2
6402 --Invoice Supplier Identifier
6403 , p_source_69 IN NUMBER
6404 --Invoice Supplier Site Identifier
6405 , p_source_70 IN NUMBER
6406 --Third Party Type
6407 , p_source_71 IN VARCHAR2
6408 --Parent Reversal Identifier
6409 , p_source_72 IN NUMBER
6410 --Invoice Distribution Statistical Amount
6411 , p_source_73 IN NUMBER
6412 --Invoice Distribution Tax Line Identifier
6413 , p_source_74 IN NUMBER
6414 --Invoice Distribution Tax Distribution Identifier from Tax
6415 , p_source_75 IN NUMBER
6416 --Invoice Distribution Summary Tax Line Identifier
6417 , p_source_76 IN NUMBER
6418 --Payables Upgrade Credit Encumbrance Type Identifier
6419 , p_source_77 IN NUMBER
6420 --Payables Upgrade Debit Encumbrance Type Identifier
6421 , p_source_78 IN NUMBER
6422 )
6423 IS
6424
6425 l_component_type VARCHAR2(80);
6426 l_component_code VARCHAR2(30);
6427 l_component_type_code VARCHAR2(1);
6431 l_event_class_code VARCHAR2(30);
6428 l_component_appl_id INTEGER;
6429 l_amb_context_code VARCHAR2(30);
6430 l_entity_code VARCHAR2(30);
6432 l_ae_header_id NUMBER;
6433 l_event_type_code VARCHAR2(30);
6434 l_line_definition_code VARCHAR2(30);
6435 l_line_definition_owner_code VARCHAR2(1);
6436 --
6437 -- adr variables
6438 l_segment VARCHAR2(30);
6439 l_ccid NUMBER;
6440 l_adr_transaction_coa_id NUMBER;
6441 l_adr_accounting_coa_id NUMBER;
6442 l_adr_flexfield_segment_code VARCHAR2(30);
6443 l_adr_flex_value_set_id NUMBER;
6444 l_adr_value_type_code VARCHAR2(30);
6445 l_adr_value_combination_id NUMBER;
6446 l_adr_value_segment_code VARCHAR2(30);
6447
6448 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
6449 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
6450 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
6451 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
6452
6453 -- 4262811 Variables ------------------------------------------------------------------------------------------
6454 l_entered_amt_idx NUMBER;
6455 l_accted_amt_idx NUMBER;
6456 l_acc_rev_flag VARCHAR2(1);
6457 l_accrual_line_num NUMBER;
6458 l_tmp_amt NUMBER;
6459 l_acc_rev_natural_side_code VARCHAR2(1);
6460
6461 l_num_entries NUMBER;
6462 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
6463 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
6464 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
6465 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
6466 l_recog_line_1 NUMBER;
6467 l_recog_line_2 NUMBER;
6468
6469 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
6470 l_bflow_applied_to_amt NUMBER; -- 5132302
6471 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
6472
6473 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
6474
6475 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
6476 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
6477
6478 ---------------------------------------------------------------------------------------------------------------
6479
6480
6481 --
6482 -- bulk performance
6483 --
6484 l_balance_type_code VARCHAR2(1);
6485 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
6486 l_log_module VARCHAR2(240);
6487
6488 --
6489 -- Upgrade strategy
6490 --
6491 l_actual_upg_option VARCHAR2(1);
6492 l_enc_upg_option VARCHAR2(1);
6493
6494 --
6495 BEGIN
6496 --
6497 IF g_log_enabled THEN
6498 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_47';
6499 END IF;
6500 --
6501 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
6502
6503 trace
6504 (p_msg => 'BEGIN of AcctLineType_47'
6505 ,p_level => C_LEVEL_PROCEDURE
6506 ,p_module => l_log_module);
6507
6508 END IF;
6509 --
6510 l_component_type := 'AMB_JLT';
6511 l_component_code := 'AP_ACCRUAL_CM';
6512 l_component_type_code := 'S';
6513 l_component_appl_id := 200;
6514 l_amb_context_code := 'DEFAULT';
6515 l_entity_code := 'AP_INVOICES';
6516 l_event_class_code := 'CREDIT MEMOS';
6517 l_event_type_code := 'CREDIT MEMOS_ALL';
6518 l_line_definition_owner_code := 'S';
6519 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
6520 --
6521 l_balance_type_code := 'A';
6522 l_segment := NULL;
6523 l_ccid := NULL;
6524 l_adr_transaction_coa_id := NULL;
6525 l_adr_accounting_coa_id := NULL;
6526 l_adr_flexfield_segment_code := NULL;
6527 l_adr_flex_value_set_id := NULL;
6528 l_adr_value_type_code := NULL;
6529 l_adr_value_combination_id := NULL;
6530 l_adr_value_segment_code := NULL;
6531
6532 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
6533 l_bflow_class_code := ''; -- 4219869 Business Flow
6534 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
6535 l_budgetary_control_flag := 'N';
6536
6537 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6538 l_bflow_applied_to_amt := NULL; -- 5132302
6539 l_entered_amt_idx := NULL; -- 4262811
6540 l_accted_amt_idx := NULL; -- 4262811
6541 l_acc_rev_flag := NULL; -- 4262811
6542 l_accrual_line_num := NULL; -- 4262811
6543 l_tmp_amt := NULL; -- 4262811
6544 --
6545
6546 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
6547 l_balance_type_code <> 'B' THEN
6548 IF NVL(p_source_21,'
6549 ') = 'RETROACCRUAL' OR
6550 NVL(p_source_21,'
6551 ') = 'ACCRUAL'
6552 THEN
6553
6554 --
6555 XLA_AE_LINES_PKG.SetNewLine;
6556
6560 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
6557 p_balance_type_code := l_balance_type_code;
6558 -- set the flag so later we will know whether the gain loss line needs to be created
6559
6561 p_actual_flag :='A';
6562 END IF;
6563
6564 --
6565 -- bulk performance
6566 --
6567 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
6568 p_header_num => 0); -- 4262811
6569 --
6570 -- set accounting line options
6571 --
6572 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
6573 p_natural_side_code => 'D'
6574 , p_gain_or_loss_flag => 'N'
6575 , p_gl_transfer_mode_code => 'S'
6576 , p_acct_entry_type_code => 'A'
6577 , p_switch_side_flag => 'Y'
6578 , p_merge_duplicate_code => 'A'
6579 );
6580 --
6581 l_acc_rev_natural_side_code := 'C'; -- 4262811
6582 --
6583 --
6584 -- set accounting line type info
6585 --
6586 xla_ae_lines_pkg.SetAcctLineType
6587 (p_component_type => l_component_type
6588 ,p_event_type_code => l_event_type_code
6589 ,p_line_definition_owner_code => l_line_definition_owner_code
6590 ,p_line_definition_code => l_line_definition_code
6591 ,p_accounting_line_code => l_component_code
6592 ,p_accounting_line_type_code => l_component_type_code
6593 ,p_accounting_line_appl_id => l_component_appl_id
6594 ,p_amb_context_code => l_amb_context_code
6595 ,p_entity_code => l_entity_code
6596 ,p_event_class_code => l_event_class_code);
6597 --
6598 -- set accounting class
6599 --
6600 xla_ae_lines_pkg.SetAcctClass(
6601 p_accounting_class_code => 'ACCRUAL'
6602 , p_ae_header_id => l_ae_header_id
6603 );
6604
6605 --
6606 -- set rounding class
6607 --
6608 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
6609 'ACCRUAL';
6610
6611 --
6612 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
6613 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
6614 --
6615 -- bulk performance
6616 --
6617 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
6618
6619 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
6620 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
6621
6622 -- 4955764
6623 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6624 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
6625
6626 -- 4458381 Public Sector Enh
6627
6628 --
6629 -- set accounting attributes for the line type
6630 --
6631 l_entered_amt_idx := 23;
6632 l_accted_amt_idx := 28;
6633 l_bflow_applied_to_amt_idx := NULL; -- 5132302
6634 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
6635 l_rec_acct_attrs.array_char_value(1) := p_source_41;
6636 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
6637 l_rec_acct_attrs.array_num_value(2) :=
6638 xla_ae_sources_pkg.GetSystemSourceNum(
6639 p_source_code => 'XLA_EVENT_APPL_ID'
6640 , p_source_type_code => 'Y'
6641 , p_source_application_id => 602
6642 );
6643 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
6644 l_rec_acct_attrs.array_char_value(3) := p_source_43;
6645 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
6646 l_rec_acct_attrs.array_char_value(4) :=
6647 xla_ae_sources_pkg.GetSystemSourceChar(
6648 p_source_code => 'XLA_ENTITY_CODE'
6649 , p_source_type_code => 'Y'
6650 , p_source_application_id => 602
6651 );
6652 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
6653 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
6654 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
6655 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
6656 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
6657 l_rec_acct_attrs.array_num_value(7) := p_source_47;
6658 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
6659 l_rec_acct_attrs.array_char_value(8) := p_source_48;
6660 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
6661 l_rec_acct_attrs.array_char_value(9) := p_source_49;
6662 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
6663 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_50);
6664 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
6665 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_51);
6666 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
6667 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
6668 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
6669 l_rec_acct_attrs.array_char_value(13) := p_source_43;
6670 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
6674 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
6671 l_rec_acct_attrs.array_num_value(14) := p_source_53;
6672 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
6673 l_rec_acct_attrs.array_num_value(15) := p_source_54;
6675 l_rec_acct_attrs.array_char_value(16) := p_source_55;
6676 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
6677 l_rec_acct_attrs.array_num_value(17) := p_source_56;
6678 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
6679 l_rec_acct_attrs.array_num_value(18) := p_source_57;
6680 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
6681 l_rec_acct_attrs.array_num_value(19) := p_source_58;
6682 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
6683 l_rec_acct_attrs.array_char_value(20) := p_source_55;
6684 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
6685 l_rec_acct_attrs.array_num_value(21) := p_source_59;
6686 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
6687 l_rec_acct_attrs.array_char_value(22) := p_source_60;
6688 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
6689 l_rec_acct_attrs.array_num_value(23) := p_source_61;
6690 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
6691 l_rec_acct_attrs.array_char_value(24) := p_source_55;
6692 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
6693 l_rec_acct_attrs.array_date_value(25) := p_source_62;
6694 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
6695 l_rec_acct_attrs.array_num_value(26) := p_source_63;
6696 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
6697 l_rec_acct_attrs.array_char_value(27) := p_source_64;
6698 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
6699 l_rec_acct_attrs.array_num_value(28) := p_source_9;
6700 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
6701 l_rec_acct_attrs.array_date_value(29) := p_source_65;
6702 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
6703 l_rec_acct_attrs.array_char_value(30) := p_source_66;
6704 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
6705 l_rec_acct_attrs.array_date_value(31) := p_source_67;
6706 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
6707 l_rec_acct_attrs.array_char_value(32) := p_source_68;
6708 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
6709 l_rec_acct_attrs.array_num_value(33) := p_source_69;
6710 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
6711 l_rec_acct_attrs.array_num_value(34) := p_source_70;
6712 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
6713 l_rec_acct_attrs.array_char_value(35) := p_source_71;
6714 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
6715 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
6716 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
6717 l_rec_acct_attrs.array_char_value(37) := p_source_43;
6718 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
6719 l_rec_acct_attrs.array_num_value(38) := p_source_73;
6720 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
6721 l_rec_acct_attrs.array_num_value(39) := p_source_74;
6722 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
6723 l_rec_acct_attrs.array_num_value(40) := p_source_75;
6724 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
6725 l_rec_acct_attrs.array_num_value(41) := p_source_76;
6726 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
6727 l_rec_acct_attrs.array_num_value(42) := p_source_77;
6728 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
6729 l_rec_acct_attrs.array_num_value(43) := p_source_78;
6730
6731 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
6732 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
6733
6734 ---------------------------------------------------------------------------------------------------------------
6735 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
6736 ---------------------------------------------------------------------------------------------------------------
6737 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
6738
6739 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6740 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
6741
6742 IF xla_accounting_cache_pkg.GetValueChar
6743 (p_source_code => 'LEDGER_CATEGORY_CODE'
6744 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
6745 AND l_bflow_method_code = 'PRIOR_ENTRY'
6746 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
6747 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
6748 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
6749 )
6750 THEN
6751 xla_ae_lines_pkg.BflowUpgEntry
6752 (p_business_method_code => l_bflow_method_code
6753 ,p_business_class_code => l_bflow_class_code
6754 ,p_balance_type => l_balance_type_code);
6755 ELSE
6756 NULL;
6757 -- No business flow processing for business flow method of NONE.
6758 END IF;
6759
6760 --
6764 --
6761 -- call analytical criteria
6762 --
6763
6765 -- call description
6766 --
6767
6768 xla_ae_lines_pkg.SetLineDescription(
6769 p_ae_header_id => l_ae_header_id
6770 ,p_description => Description_2 (
6771 p_application_id => p_application_id
6772 , p_ae_header_id => l_ae_header_id
6773 , p_source_1 => p_source_1
6774 )
6775 );
6776
6777
6778 --
6779 -- call ADRs
6780 -- Bug 4922099
6781 --
6782 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
6783 (NVL(l_actual_upg_option, 'N') = 'O') OR
6784 (NVL(l_enc_upg_option, 'N') = 'O')
6785 )
6786 THEN
6787 NULL;
6788 --
6789 --
6790
6791 l_ccid := AcctDerRule_32(
6792 p_application_id => p_application_id
6793 , p_ae_header_id => l_ae_header_id
6794 , p_source_18 => p_source_18
6795 , x_transaction_coa_id => l_adr_transaction_coa_id
6796 , x_accounting_coa_id => l_adr_accounting_coa_id
6797 , x_value_type_code => l_adr_value_type_code
6798 , p_side => 'NA'
6799 );
6800
6801 xla_ae_lines_pkg.set_ccid(
6802 p_code_combination_id => l_ccid
6803 , p_value_type_code => l_adr_value_type_code
6804 , p_transaction_coa_id => l_adr_transaction_coa_id
6805 , p_accounting_coa_id => l_adr_accounting_coa_id
6806 , p_adr_code => 'AP_INVOICE_DIST'
6807 , p_adr_type_code => 'S'
6808 , p_component_type => l_component_type
6809 , p_component_code => l_component_code
6810 , p_component_type_code => l_component_type_code
6811 , p_component_appl_id => l_component_appl_id
6812 , p_amb_context_code => l_amb_context_code
6813 , p_side => 'NA'
6814 );
6815
6816
6817 --
6818 --
6819 END IF;
6820 --
6821 -- Bug 4922099
6822 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
6823 (NVL(l_enc_upg_option, 'N') = 'O')
6824 ) AND
6825 (l_bflow_method_code = 'PRIOR_ENTRY')
6826 )
6827 THEN
6828 IF
6829 --
6830 1 = 2
6831 --
6832 THEN
6833 xla_accounting_err_pkg.build_message
6834 (p_appli_s_name => 'XLA'
6835 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6836 ,p_token_1 => 'LINE_NUMBER'
6837 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
6838 ,p_token_2 => 'LINE_TYPE_NAME'
6839 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
6840 l_component_type
6841 ,l_component_code
6842 ,l_component_type_code
6843 ,l_component_appl_id
6844 ,l_amb_context_code
6845 ,l_entity_code
6846 ,l_event_class_code
6847 )
6848 ,p_token_3 => 'OWNER'
6849 ,p_value_3 => xla_lookups_pkg.get_meaning(
6850 p_lookup_type => 'XLA_OWNER_TYPE'
6851 ,p_lookup_code => l_component_type_code
6852 )
6853 ,p_token_4 => 'PRODUCT_NAME'
6854 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
6855 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
6856 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
6857 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
6858 ,p_ae_header_id => NULL
6859 );
6860
6861 IF (C_LEVEL_ERROR>= g_log_level) THEN
6862 trace
6863 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
6864 ,p_level => C_LEVEL_ERROR
6865 ,p_module => l_log_module);
6866 END IF;
6867 END IF;
6868 END IF;
6869 --
6870 --
6871 ------------------------------------------------------------------------------------------------
6872 -- 4219869 Business Flow
6873 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
6874 -- Prior Entry. Currently, the following code is always generated.
6878 ------------------------------------------------------------------------------------
6875 ------------------------------------------------------------------------------------------------
6876 XLA_AE_LINES_PKG.ValidateCurrentLine;
6877
6879 -- 4219869 Business Flow
6880 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
6881 ------------------------------------------------------------------------------------
6882 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6883
6884 ----------------------------------------------------------------------------------
6885 -- 4219869 Business Flow
6886 -- Update journal entry status -- Need to generate this within IF <condition>
6887 ----------------------------------------------------------------------------------
6888 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
6889 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
6890 ,p_balance_type_code => l_balance_type_code
6891 );
6892
6893 -------------------------------------------------------------------------------------------
6894 -- 4262811 - Generate the Accrual Reversal lines
6895 -------------------------------------------------------------------------------------------
6896 BEGIN
6897 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
6898 (g_array_event(p_event_id).array_value_num('header_index'));
6899 IF l_acc_rev_flag IS NULL THEN
6900 l_acc_rev_flag := 'N';
6901 END IF;
6902 EXCEPTION
6903 WHEN OTHERS THEN
6904 l_acc_rev_flag := 'N';
6905 END;
6906 --
6907 IF (l_acc_rev_flag = 'Y') THEN
6908
6909 -- 4645092 ------------------------------------------------------------------------------
6910 -- To allow MPA report to determine if it should generate report process
6911 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
6912 ------------------------------------------------------------------------------------------
6913
6914 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
6915 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
6916 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
6917 -- call ADRs
6918 -- Bug 4922099
6919 --
6920 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
6921 (NVL(l_actual_upg_option, 'N') = 'O') OR
6922 (NVL(l_enc_upg_option, 'N') = 'O')
6923 )
6924 THEN
6925 NULL;
6926 --
6927 --
6928
6929 l_ccid := AcctDerRule_32(
6930 p_application_id => p_application_id
6931 , p_ae_header_id => l_ae_header_id
6932 , p_source_18 => p_source_18
6933 , x_transaction_coa_id => l_adr_transaction_coa_id
6934 , x_accounting_coa_id => l_adr_accounting_coa_id
6935 , x_value_type_code => l_adr_value_type_code
6936 , p_side => 'NA'
6937 );
6938
6939 xla_ae_lines_pkg.set_ccid(
6940 p_code_combination_id => l_ccid
6941 , p_value_type_code => l_adr_value_type_code
6942 , p_transaction_coa_id => l_adr_transaction_coa_id
6943 , p_accounting_coa_id => l_adr_accounting_coa_id
6944 , p_adr_code => 'AP_INVOICE_DIST'
6945 , p_adr_type_code => 'S'
6946 , p_component_type => l_component_type
6947 , p_component_code => l_component_code
6948 , p_component_type_code => l_component_type_code
6949 , p_component_appl_id => l_component_appl_id
6950 , p_amb_context_code => l_amb_context_code
6951 , p_side => 'NA'
6952 );
6953
6954
6955 --
6956 --
6957 END IF;
6958
6959 --
6960 -- Update the line information that should be overwritten
6961 --
6962 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
6963 p_header_num => 1);
6964 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
6965
6966 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
6967
6968 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
6969 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
6970 END IF;
6971
6972 --
6973 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
6974 --
6975 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
6976 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
6977 ELSE
6978 ---------------------------------------------------------------------------------------------------
6979 -- 4262811a Switch Sign
6980 ---------------------------------------------------------------------------------------------------
6981 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
6982 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6983 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6984 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
6988 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6985 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
6986 -- 5132302
6987 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
6989
6990 END IF;
6991
6992 -- 4955764
6993 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
6994 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
6995
6996
6997 XLA_AE_LINES_PKG.ValidateCurrentLine;
6998 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
6999
7000 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7001 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7002 ,p_balance_type_code => l_balance_type_code);
7003
7004 END IF;
7005
7006 -----------------------------------------------------------------------------------------
7007 -- 4262811 Multiperiod Accounting
7008 -----------------------------------------------------------------------------------------
7009 -- No MPA option is assigned.
7010
7011
7012 END IF;
7013 END IF;
7014 --
7015
7016 --
7017 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7018 trace
7019 (p_msg => 'END of AcctLineType_47'
7020 ,p_level => C_LEVEL_PROCEDURE
7021 ,p_module => l_log_module);
7022 END IF;
7023 --
7024 EXCEPTION
7025 WHEN xla_exceptions_pkg.application_exception THEN
7026 RAISE;
7027 WHEN OTHERS THEN
7028 xla_exceptions_pkg.raise_message
7029 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_47');
7030 END AcctLineType_47;
7031 --
7032
7033 ---------------------------------------
7034 --
7035 -- PRIVATE FUNCTION
7036 -- AcctLineType_48
7037 --
7038 ---------------------------------------
7039 PROCEDURE AcctLineType_48 (
7040 p_application_id IN NUMBER
7041 ,p_event_id IN NUMBER
7042 ,p_calculate_acctd_flag IN VARCHAR2
7043 ,p_calculate_g_l_flag IN VARCHAR2
7044 ,p_actual_flag IN OUT VARCHAR2
7045 ,p_balance_type_code OUT VARCHAR2
7046 ,p_gain_or_loss_ref OUT VARCHAR2
7047
7048 --Invoice Distribution Description
7049 , p_source_1 IN VARCHAR2
7050 --Invoice Distribution Ledger Amount
7051 , p_source_9 IN NUMBER
7052 --Invoice Distribution Account
7053 , p_source_18 IN NUMBER
7054 --Invoice Distribution Type
7055 , p_source_21 IN VARCHAR2
7056 , p_source_21_meaning IN VARCHAR2
7057 --Accounting Reversal Indicator
7058 , p_source_41 IN VARCHAR2
7059 --Distribution Link Type
7060 , p_source_43 IN VARCHAR2
7061 --Allocation to Main Distribution Identifier
7062 , p_source_45 IN NUMBER
7063 --Invoice Identifier
7064 , p_source_46 IN NUMBER
7065 --Business Flow Purchasing Application Identifier
7066 , p_source_47 IN NUMBER
7067 --Business Flow Purchase Order Distribution Type
7068 , p_source_48 IN VARCHAR2
7069 --Business Flow Purchase Order Entity Code
7070 , p_source_49 IN VARCHAR2
7071 --Business Flow Purchase Order Distribution Identifier
7072 , p_source_50 IN NUMBER
7073 --Business Flow Purchasing Document Identifier
7074 , p_source_51 IN NUMBER
7075 --Invoice Distribution Identifier
7076 , p_source_52 IN NUMBER
7077 --Payables Encumbrance Upgrade Credit Account
7078 , p_source_53 IN NUMBER
7079 --Payables Encumbrance Upgrade Credit Amount
7080 , p_source_54 IN NUMBER
7081 --Invoice Currency Code
7082 , p_source_55 IN VARCHAR2
7083 --Payables Encumbrance Upgrade Credit Base Amount
7084 , p_source_56 IN NUMBER
7085 --Payables Encumbrance Upgrade Debit Account
7086 , p_source_57 IN NUMBER
7087 --Payables Encumbrance Upgrade Debit Amount
7088 , p_source_58 IN NUMBER
7089 --Payables Encumbrance Upgrade Debit Base Amount
7090 , p_source_59 IN NUMBER
7091 --Payables Encumbrance Upgrade Option
7092 , p_source_60 IN VARCHAR2
7093 --Invoice Distribution Amount
7094 , p_source_61 IN NUMBER
7095 --Purchase Order Exchange Rate Date
7096 , p_source_62 IN DATE
7097 --Purchase Order Exchange Rate
7098 , p_source_63 IN NUMBER
7099 --Purchase Order Exchange Rate Type
7100 , p_source_64 IN VARCHAR2
7101 --Deferred Accounting End Date
7102 , p_source_65 IN DATE
7103 --Deferred Accounting Option
7104 , p_source_66 IN VARCHAR2
7105 --Deferred Accounting Start Date
7106 , p_source_67 IN DATE
7107 --Override Accounted Amount Indicator
7108 , p_source_68 IN VARCHAR2
7109 , p_source_68_meaning IN VARCHAR2
7110 --Invoice Supplier Identifier
7111 , p_source_69 IN NUMBER
7112 --Invoice Supplier Site Identifier
7113 , p_source_70 IN NUMBER
7114 --Third Party Type
7115 , p_source_71 IN VARCHAR2
7116 --Parent Reversal Identifier
7120 --Invoice Distribution Tax Distribution Identifier from Tax
7117 , p_source_72 IN NUMBER
7118 --Invoice Distribution Tax Line Identifier
7119 , p_source_74 IN NUMBER
7121 , p_source_75 IN NUMBER
7122 --Invoice Distribution Summary Tax Line Identifier
7123 , p_source_76 IN NUMBER
7124 --Payables Upgrade Credit Encumbrance Type Identifier
7125 , p_source_77 IN NUMBER
7126 --Payables Upgrade Debit Encumbrance Type Identifier
7127 , p_source_78 IN NUMBER
7128 )
7129 IS
7130
7131 l_component_type VARCHAR2(80);
7132 l_component_code VARCHAR2(30);
7133 l_component_type_code VARCHAR2(1);
7134 l_component_appl_id INTEGER;
7135 l_amb_context_code VARCHAR2(30);
7136 l_entity_code VARCHAR2(30);
7137 l_event_class_code VARCHAR2(30);
7138 l_ae_header_id NUMBER;
7139 l_event_type_code VARCHAR2(30);
7140 l_line_definition_code VARCHAR2(30);
7141 l_line_definition_owner_code VARCHAR2(1);
7142 --
7143 -- adr variables
7144 l_segment VARCHAR2(30);
7145 l_ccid NUMBER;
7146 l_adr_transaction_coa_id NUMBER;
7147 l_adr_accounting_coa_id NUMBER;
7148 l_adr_flexfield_segment_code VARCHAR2(30);
7149 l_adr_flex_value_set_id NUMBER;
7150 l_adr_value_type_code VARCHAR2(30);
7151 l_adr_value_combination_id NUMBER;
7152 l_adr_value_segment_code VARCHAR2(30);
7153
7154 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
7155 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
7156 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
7157 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
7158
7159 -- 4262811 Variables ------------------------------------------------------------------------------------------
7160 l_entered_amt_idx NUMBER;
7161 l_accted_amt_idx NUMBER;
7162 l_acc_rev_flag VARCHAR2(1);
7163 l_accrual_line_num NUMBER;
7164 l_tmp_amt NUMBER;
7165 l_acc_rev_natural_side_code VARCHAR2(1);
7166
7167 l_num_entries NUMBER;
7168 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
7169 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
7170 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
7171 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
7172 l_recog_line_1 NUMBER;
7173 l_recog_line_2 NUMBER;
7174
7175 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
7176 l_bflow_applied_to_amt NUMBER; -- 5132302
7177 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
7178
7179 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
7180
7181 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
7182 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
7183
7184 ---------------------------------------------------------------------------------------------------------------
7185
7186
7187 --
7188 -- bulk performance
7189 --
7190 l_balance_type_code VARCHAR2(1);
7191 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7192 l_log_module VARCHAR2(240);
7193
7194 --
7195 -- Upgrade strategy
7196 --
7197 l_actual_upg_option VARCHAR2(1);
7198 l_enc_upg_option VARCHAR2(1);
7199
7200 --
7201 BEGIN
7202 --
7203 IF g_log_enabled THEN
7204 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_48';
7205 END IF;
7206 --
7207 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7208
7209 trace
7210 (p_msg => 'BEGIN of AcctLineType_48'
7211 ,p_level => C_LEVEL_PROCEDURE
7212 ,p_module => l_log_module);
7213
7214 END IF;
7215 --
7216 l_component_type := 'AMB_JLT';
7217 l_component_code := 'AP_ACCRUAL_DM';
7218 l_component_type_code := 'S';
7219 l_component_appl_id := 200;
7220 l_amb_context_code := 'DEFAULT';
7221 l_entity_code := 'AP_INVOICES';
7222 l_event_class_code := 'DEBIT MEMOS';
7223 l_event_type_code := 'DEBIT MEMOS_ALL';
7224 l_line_definition_owner_code := 'S';
7225 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
7226 --
7227 l_balance_type_code := 'A';
7228 l_segment := NULL;
7229 l_ccid := NULL;
7230 l_adr_transaction_coa_id := NULL;
7231 l_adr_accounting_coa_id := NULL;
7232 l_adr_flexfield_segment_code := NULL;
7233 l_adr_flex_value_set_id := NULL;
7234 l_adr_value_type_code := NULL;
7235 l_adr_value_combination_id := NULL;
7236 l_adr_value_segment_code := NULL;
7237
7238 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
7239 l_bflow_class_code := ''; -- 4219869 Business Flow
7240 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
7241 l_budgetary_control_flag := 'N';
7242
7243 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7244 l_bflow_applied_to_amt := NULL; -- 5132302
7245 l_entered_amt_idx := NULL; -- 4262811
7246 l_accted_amt_idx := NULL; -- 4262811
7247 l_acc_rev_flag := NULL; -- 4262811
7251
7248 l_accrual_line_num := NULL; -- 4262811
7249 l_tmp_amt := NULL; -- 4262811
7250 --
7252 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
7253 l_balance_type_code <> 'B' THEN
7254 IF NVL(p_source_21,'
7255 ') = 'RETROACCRUAL' OR
7256 NVL(p_source_21,'
7257 ') = 'ACCRUAL'
7258 THEN
7259
7260 --
7261 XLA_AE_LINES_PKG.SetNewLine;
7262
7263 p_balance_type_code := l_balance_type_code;
7264 -- set the flag so later we will know whether the gain loss line needs to be created
7265
7266 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
7267 p_actual_flag :='A';
7268 END IF;
7269
7270 --
7271 -- bulk performance
7272 --
7273 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7274 p_header_num => 0); -- 4262811
7275 --
7276 -- set accounting line options
7277 --
7278 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7279 p_natural_side_code => 'D'
7280 , p_gain_or_loss_flag => 'N'
7281 , p_gl_transfer_mode_code => 'S'
7282 , p_acct_entry_type_code => 'A'
7283 , p_switch_side_flag => 'Y'
7284 , p_merge_duplicate_code => 'A'
7285 );
7286 --
7287 l_acc_rev_natural_side_code := 'C'; -- 4262811
7288 --
7289 --
7290 -- set accounting line type info
7291 --
7292 xla_ae_lines_pkg.SetAcctLineType
7293 (p_component_type => l_component_type
7294 ,p_event_type_code => l_event_type_code
7295 ,p_line_definition_owner_code => l_line_definition_owner_code
7296 ,p_line_definition_code => l_line_definition_code
7297 ,p_accounting_line_code => l_component_code
7298 ,p_accounting_line_type_code => l_component_type_code
7299 ,p_accounting_line_appl_id => l_component_appl_id
7300 ,p_amb_context_code => l_amb_context_code
7301 ,p_entity_code => l_entity_code
7302 ,p_event_class_code => l_event_class_code);
7303 --
7304 -- set accounting class
7305 --
7306 xla_ae_lines_pkg.SetAcctClass(
7307 p_accounting_class_code => 'ACCRUAL'
7308 , p_ae_header_id => l_ae_header_id
7309 );
7310
7311 --
7312 -- set rounding class
7313 --
7314 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
7315 'ACCRUAL';
7316
7317 --
7318 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
7319 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
7320 --
7321 -- bulk performance
7322 --
7323 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
7324
7325 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
7326 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
7327
7328 -- 4955764
7329 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7330 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
7331
7332 -- 4458381 Public Sector Enh
7333
7334 --
7335 -- set accounting attributes for the line type
7336 --
7337 l_entered_amt_idx := 23;
7338 l_accted_amt_idx := 28;
7339 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7340 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
7341 l_rec_acct_attrs.array_char_value(1) := p_source_41;
7342 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
7343 l_rec_acct_attrs.array_num_value(2) :=
7344 xla_ae_sources_pkg.GetSystemSourceNum(
7345 p_source_code => 'XLA_EVENT_APPL_ID'
7346 , p_source_type_code => 'Y'
7347 , p_source_application_id => 602
7348 );
7349 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
7350 l_rec_acct_attrs.array_char_value(3) := p_source_43;
7351 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
7352 l_rec_acct_attrs.array_char_value(4) :=
7353 xla_ae_sources_pkg.GetSystemSourceChar(
7354 p_source_code => 'XLA_ENTITY_CODE'
7355 , p_source_type_code => 'Y'
7356 , p_source_application_id => 602
7357 );
7358 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
7359 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
7360 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
7361 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
7362 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
7363 l_rec_acct_attrs.array_num_value(7) := p_source_47;
7364 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
7365 l_rec_acct_attrs.array_char_value(8) := p_source_48;
7366 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
7367 l_rec_acct_attrs.array_char_value(9) := p_source_49;
7368 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
7369 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_50);
7373 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
7370 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
7371 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_51);
7372 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
7374 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
7375 l_rec_acct_attrs.array_char_value(13) := p_source_43;
7376 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
7377 l_rec_acct_attrs.array_num_value(14) := p_source_53;
7378 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
7379 l_rec_acct_attrs.array_num_value(15) := p_source_54;
7380 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
7381 l_rec_acct_attrs.array_char_value(16) := p_source_55;
7382 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
7383 l_rec_acct_attrs.array_num_value(17) := p_source_56;
7384 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
7385 l_rec_acct_attrs.array_num_value(18) := p_source_57;
7386 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
7387 l_rec_acct_attrs.array_num_value(19) := p_source_58;
7388 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
7389 l_rec_acct_attrs.array_char_value(20) := p_source_55;
7390 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
7391 l_rec_acct_attrs.array_num_value(21) := p_source_59;
7392 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
7393 l_rec_acct_attrs.array_char_value(22) := p_source_60;
7394 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
7395 l_rec_acct_attrs.array_num_value(23) := p_source_61;
7396 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
7397 l_rec_acct_attrs.array_char_value(24) := p_source_55;
7398 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
7399 l_rec_acct_attrs.array_date_value(25) := p_source_62;
7400 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
7401 l_rec_acct_attrs.array_num_value(26) := p_source_63;
7402 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
7403 l_rec_acct_attrs.array_char_value(27) := p_source_64;
7404 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
7405 l_rec_acct_attrs.array_num_value(28) := p_source_9;
7406 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
7407 l_rec_acct_attrs.array_date_value(29) := p_source_65;
7408 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
7409 l_rec_acct_attrs.array_char_value(30) := p_source_66;
7410 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
7411 l_rec_acct_attrs.array_date_value(31) := p_source_67;
7412 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
7413 l_rec_acct_attrs.array_char_value(32) := p_source_68;
7414 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
7415 l_rec_acct_attrs.array_num_value(33) := p_source_69;
7416 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
7417 l_rec_acct_attrs.array_num_value(34) := p_source_70;
7418 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
7419 l_rec_acct_attrs.array_char_value(35) := p_source_71;
7420 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
7421 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
7422 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
7423 l_rec_acct_attrs.array_char_value(37) := p_source_43;
7424 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
7425 l_rec_acct_attrs.array_num_value(38) := p_source_74;
7426 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
7427 l_rec_acct_attrs.array_num_value(39) := p_source_75;
7428 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
7429 l_rec_acct_attrs.array_num_value(40) := p_source_76;
7430 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
7431 l_rec_acct_attrs.array_num_value(41) := p_source_77;
7432 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
7433 l_rec_acct_attrs.array_num_value(42) := p_source_78;
7434
7435 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
7436 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
7437
7438 ---------------------------------------------------------------------------------------------------------------
7439 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
7440 ---------------------------------------------------------------------------------------------------------------
7441 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
7442
7443 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7444 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
7445
7446 IF xla_accounting_cache_pkg.GetValueChar
7447 (p_source_code => 'LEDGER_CATEGORY_CODE'
7448 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
7449 AND l_bflow_method_code = 'PRIOR_ENTRY'
7450 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
7451 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
7452 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
7453 )
7454 THEN
7458 ,p_balance_type => l_balance_type_code);
7455 xla_ae_lines_pkg.BflowUpgEntry
7456 (p_business_method_code => l_bflow_method_code
7457 ,p_business_class_code => l_bflow_class_code
7459 ELSE
7460 NULL;
7461 -- No business flow processing for business flow method of NONE.
7462 END IF;
7463
7464 --
7465 -- call analytical criteria
7466 --
7467
7468 --
7469 -- call description
7470 --
7471
7472 xla_ae_lines_pkg.SetLineDescription(
7473 p_ae_header_id => l_ae_header_id
7474 ,p_description => Description_2 (
7475 p_application_id => p_application_id
7476 , p_ae_header_id => l_ae_header_id
7477 , p_source_1 => p_source_1
7478 )
7479 );
7480
7481
7482 --
7483 -- call ADRs
7484 -- Bug 4922099
7485 --
7486 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7487 (NVL(l_actual_upg_option, 'N') = 'O') OR
7488 (NVL(l_enc_upg_option, 'N') = 'O')
7489 )
7490 THEN
7491 NULL;
7492 --
7493 --
7494
7495 l_ccid := AcctDerRule_32(
7496 p_application_id => p_application_id
7497 , p_ae_header_id => l_ae_header_id
7498 , p_source_18 => p_source_18
7499 , x_transaction_coa_id => l_adr_transaction_coa_id
7500 , x_accounting_coa_id => l_adr_accounting_coa_id
7501 , x_value_type_code => l_adr_value_type_code
7502 , p_side => 'NA'
7503 );
7504
7505 xla_ae_lines_pkg.set_ccid(
7506 p_code_combination_id => l_ccid
7507 , p_value_type_code => l_adr_value_type_code
7508 , p_transaction_coa_id => l_adr_transaction_coa_id
7509 , p_accounting_coa_id => l_adr_accounting_coa_id
7510 , p_adr_code => 'AP_INVOICE_DIST'
7511 , p_adr_type_code => 'S'
7512 , p_component_type => l_component_type
7513 , p_component_code => l_component_code
7514 , p_component_type_code => l_component_type_code
7515 , p_component_appl_id => l_component_appl_id
7516 , p_amb_context_code => l_amb_context_code
7517 , p_side => 'NA'
7518 );
7519
7520
7521 --
7522 --
7523 END IF;
7524 --
7525 -- Bug 4922099
7526 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
7527 (NVL(l_enc_upg_option, 'N') = 'O')
7528 ) AND
7529 (l_bflow_method_code = 'PRIOR_ENTRY')
7530 )
7531 THEN
7532 IF
7533 --
7534 1 = 2
7535 --
7536 THEN
7537 xla_accounting_err_pkg.build_message
7538 (p_appli_s_name => 'XLA'
7539 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7540 ,p_token_1 => 'LINE_NUMBER'
7541 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
7542 ,p_token_2 => 'LINE_TYPE_NAME'
7543 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
7544 l_component_type
7545 ,l_component_code
7546 ,l_component_type_code
7547 ,l_component_appl_id
7548 ,l_amb_context_code
7549 ,l_entity_code
7550 ,l_event_class_code
7551 )
7552 ,p_token_3 => 'OWNER'
7553 ,p_value_3 => xla_lookups_pkg.get_meaning(
7554 p_lookup_type => 'XLA_OWNER_TYPE'
7555 ,p_lookup_code => l_component_type_code
7556 )
7557 ,p_token_4 => 'PRODUCT_NAME'
7558 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
7559 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
7560 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
7561 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
7562 ,p_ae_header_id => NULL
7563 );
7564
7565 IF (C_LEVEL_ERROR>= g_log_level) THEN
7566 trace
7567 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
7568 ,p_level => C_LEVEL_ERROR
7569 ,p_module => l_log_module);
7573 --
7570 END IF;
7571 END IF;
7572 END IF;
7574 --
7575 ------------------------------------------------------------------------------------------------
7576 -- 4219869 Business Flow
7577 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
7578 -- Prior Entry. Currently, the following code is always generated.
7579 ------------------------------------------------------------------------------------------------
7580 XLA_AE_LINES_PKG.ValidateCurrentLine;
7581
7582 ------------------------------------------------------------------------------------
7583 -- 4219869 Business Flow
7584 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
7585 ------------------------------------------------------------------------------------
7586 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7587
7588 ----------------------------------------------------------------------------------
7589 -- 4219869 Business Flow
7590 -- Update journal entry status -- Need to generate this within IF <condition>
7591 ----------------------------------------------------------------------------------
7592 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7593 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
7594 ,p_balance_type_code => l_balance_type_code
7595 );
7596
7597 -------------------------------------------------------------------------------------------
7598 -- 4262811 - Generate the Accrual Reversal lines
7599 -------------------------------------------------------------------------------------------
7600 BEGIN
7601 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
7602 (g_array_event(p_event_id).array_value_num('header_index'));
7603 IF l_acc_rev_flag IS NULL THEN
7604 l_acc_rev_flag := 'N';
7605 END IF;
7606 EXCEPTION
7607 WHEN OTHERS THEN
7608 l_acc_rev_flag := 'N';
7609 END;
7610 --
7611 IF (l_acc_rev_flag = 'Y') THEN
7612
7613 -- 4645092 ------------------------------------------------------------------------------
7614 -- To allow MPA report to determine if it should generate report process
7615 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
7616 ------------------------------------------------------------------------------------------
7617
7618 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
7619 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
7620 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
7621 -- call ADRs
7622 -- Bug 4922099
7623 --
7624 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
7625 (NVL(l_actual_upg_option, 'N') = 'O') OR
7626 (NVL(l_enc_upg_option, 'N') = 'O')
7627 )
7628 THEN
7629 NULL;
7630 --
7631 --
7632
7633 l_ccid := AcctDerRule_32(
7634 p_application_id => p_application_id
7635 , p_ae_header_id => l_ae_header_id
7636 , p_source_18 => p_source_18
7637 , x_transaction_coa_id => l_adr_transaction_coa_id
7638 , x_accounting_coa_id => l_adr_accounting_coa_id
7639 , x_value_type_code => l_adr_value_type_code
7640 , p_side => 'NA'
7641 );
7642
7643 xla_ae_lines_pkg.set_ccid(
7644 p_code_combination_id => l_ccid
7645 , p_value_type_code => l_adr_value_type_code
7646 , p_transaction_coa_id => l_adr_transaction_coa_id
7647 , p_accounting_coa_id => l_adr_accounting_coa_id
7648 , p_adr_code => 'AP_INVOICE_DIST'
7649 , p_adr_type_code => 'S'
7650 , p_component_type => l_component_type
7651 , p_component_code => l_component_code
7652 , p_component_type_code => l_component_type_code
7653 , p_component_appl_id => l_component_appl_id
7654 , p_amb_context_code => l_amb_context_code
7655 , p_side => 'NA'
7656 );
7657
7658
7659 --
7660 --
7661 END IF;
7662
7663 --
7664 -- Update the line information that should be overwritten
7665 --
7666 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
7667 p_header_num => 1);
7668 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
7669
7670 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
7671
7672 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
7673 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
7674 END IF;
7675
7676 --
7677 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
7678 --
7679 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
7680 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
7681 ELSE
7682 ---------------------------------------------------------------------------------------------------
7683 -- 4262811a Switch Sign
7687 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7684 ---------------------------------------------------------------------------------------------------
7685 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
7686 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7688 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
7689 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7690 -- 5132302
7691 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
7692 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
7693
7694 END IF;
7695
7696 -- 4955764
7697 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
7698 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
7699
7700
7701 XLA_AE_LINES_PKG.ValidateCurrentLine;
7702 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
7703
7704 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
7705 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
7706 ,p_balance_type_code => l_balance_type_code);
7707
7708 END IF;
7709
7710 -----------------------------------------------------------------------------------------
7711 -- 4262811 Multiperiod Accounting
7712 -----------------------------------------------------------------------------------------
7713 -- No MPA option is assigned.
7714
7715
7716 END IF;
7717 END IF;
7718 --
7719
7720 --
7721 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7722 trace
7723 (p_msg => 'END of AcctLineType_48'
7724 ,p_level => C_LEVEL_PROCEDURE
7725 ,p_module => l_log_module);
7726 END IF;
7727 --
7728 EXCEPTION
7729 WHEN xla_exceptions_pkg.application_exception THEN
7730 RAISE;
7731 WHEN OTHERS THEN
7732 xla_exceptions_pkg.raise_message
7733 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_48');
7734 END AcctLineType_48;
7735 --
7736
7737 ---------------------------------------
7738 --
7739 -- PRIVATE FUNCTION
7740 -- AcctLineType_49
7741 --
7742 ---------------------------------------
7743 PROCEDURE AcctLineType_49 (
7744 p_application_id IN NUMBER
7745 ,p_event_id IN NUMBER
7746 ,p_calculate_acctd_flag IN VARCHAR2
7747 ,p_calculate_g_l_flag IN VARCHAR2
7748 ,p_actual_flag IN OUT VARCHAR2
7749 ,p_balance_type_code OUT VARCHAR2
7750 ,p_gain_or_loss_ref OUT VARCHAR2
7751
7752 --Invoice Distribution Description
7753 , p_source_1 IN VARCHAR2
7754 --Invoice Distribution Ledger Amount
7755 , p_source_9 IN NUMBER
7756 --Invoice Distribution Account
7757 , p_source_18 IN NUMBER
7758 --Invoice Distribution Type
7759 , p_source_21 IN VARCHAR2
7760 , p_source_21_meaning IN VARCHAR2
7761 --Accounting Reversal Indicator
7762 , p_source_41 IN VARCHAR2
7763 --Distribution Link Type
7764 , p_source_43 IN VARCHAR2
7765 --Allocation to Main Distribution Identifier
7766 , p_source_45 IN NUMBER
7767 --Invoice Identifier
7768 , p_source_46 IN NUMBER
7769 --Business Flow Purchasing Application Identifier
7770 , p_source_47 IN NUMBER
7771 --Business Flow Purchase Order Distribution Type
7772 , p_source_48 IN VARCHAR2
7773 --Business Flow Purchase Order Entity Code
7774 , p_source_49 IN VARCHAR2
7775 --Business Flow Purchase Order Distribution Identifier
7776 , p_source_50 IN NUMBER
7777 --Business Flow Purchasing Document Identifier
7778 , p_source_51 IN NUMBER
7779 --Invoice Distribution Identifier
7780 , p_source_52 IN NUMBER
7781 --Payables Encumbrance Upgrade Credit Account
7782 , p_source_53 IN NUMBER
7783 --Payables Encumbrance Upgrade Credit Amount
7784 , p_source_54 IN NUMBER
7785 --Invoice Currency Code
7786 , p_source_55 IN VARCHAR2
7787 --Payables Encumbrance Upgrade Credit Base Amount
7788 , p_source_56 IN NUMBER
7789 --Payables Encumbrance Upgrade Debit Account
7790 , p_source_57 IN NUMBER
7791 --Payables Encumbrance Upgrade Debit Amount
7792 , p_source_58 IN NUMBER
7793 --Payables Encumbrance Upgrade Debit Base Amount
7794 , p_source_59 IN NUMBER
7795 --Payables Encumbrance Upgrade Option
7796 , p_source_60 IN VARCHAR2
7797 --Invoice Distribution Amount
7798 , p_source_61 IN NUMBER
7799 --Purchase Order Exchange Rate Date
7800 , p_source_62 IN DATE
7801 --Purchase Order Exchange Rate
7802 , p_source_63 IN NUMBER
7803 --Purchase Order Exchange Rate Type
7804 , p_source_64 IN VARCHAR2
7805 --Deferred Accounting End Date
7806 , p_source_65 IN DATE
7807 --Deferred Accounting Option
7808 , p_source_66 IN VARCHAR2
7809 --Deferred Accounting Start Date
7810 , p_source_67 IN DATE
7811 --Override Accounted Amount Indicator
7812 , p_source_68 IN VARCHAR2
7816 --Invoice Supplier Site Identifier
7813 , p_source_68_meaning IN VARCHAR2
7814 --Invoice Supplier Identifier
7815 , p_source_69 IN NUMBER
7817 , p_source_70 IN NUMBER
7818 --Third Party Type
7819 , p_source_71 IN VARCHAR2
7820 --Parent Reversal Identifier
7821 , p_source_72 IN NUMBER
7822 --Invoice Distribution Statistical Amount
7823 , p_source_73 IN NUMBER
7824 --Invoice Distribution Tax Line Identifier
7825 , p_source_74 IN NUMBER
7826 --Invoice Distribution Tax Distribution Identifier from Tax
7827 , p_source_75 IN NUMBER
7828 --Invoice Distribution Summary Tax Line Identifier
7829 , p_source_76 IN NUMBER
7830 --Payables Upgrade Credit Encumbrance Type Identifier
7831 , p_source_77 IN NUMBER
7832 --Payables Upgrade Debit Encumbrance Type Identifier
7833 , p_source_78 IN NUMBER
7834 )
7835 IS
7836
7837 l_component_type VARCHAR2(80);
7838 l_component_code VARCHAR2(30);
7839 l_component_type_code VARCHAR2(1);
7840 l_component_appl_id INTEGER;
7841 l_amb_context_code VARCHAR2(30);
7842 l_entity_code VARCHAR2(30);
7843 l_event_class_code VARCHAR2(30);
7844 l_ae_header_id NUMBER;
7845 l_event_type_code VARCHAR2(30);
7846 l_line_definition_code VARCHAR2(30);
7847 l_line_definition_owner_code VARCHAR2(1);
7848 --
7849 -- adr variables
7850 l_segment VARCHAR2(30);
7851 l_ccid NUMBER;
7852 l_adr_transaction_coa_id NUMBER;
7853 l_adr_accounting_coa_id NUMBER;
7854 l_adr_flexfield_segment_code VARCHAR2(30);
7855 l_adr_flex_value_set_id NUMBER;
7856 l_adr_value_type_code VARCHAR2(30);
7857 l_adr_value_combination_id NUMBER;
7858 l_adr_value_segment_code VARCHAR2(30);
7859
7860 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
7861 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
7862 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
7863 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
7864
7865 -- 4262811 Variables ------------------------------------------------------------------------------------------
7866 l_entered_amt_idx NUMBER;
7867 l_accted_amt_idx NUMBER;
7868 l_acc_rev_flag VARCHAR2(1);
7869 l_accrual_line_num NUMBER;
7870 l_tmp_amt NUMBER;
7871 l_acc_rev_natural_side_code VARCHAR2(1);
7872
7873 l_num_entries NUMBER;
7874 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
7875 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
7876 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
7877 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
7878 l_recog_line_1 NUMBER;
7879 l_recog_line_2 NUMBER;
7880
7881 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
7882 l_bflow_applied_to_amt NUMBER; -- 5132302
7883 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
7884
7885 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
7886
7887 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
7888 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
7889
7890 ---------------------------------------------------------------------------------------------------------------
7891
7892
7893 --
7894 -- bulk performance
7895 --
7896 l_balance_type_code VARCHAR2(1);
7897 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
7898 l_log_module VARCHAR2(240);
7899
7900 --
7901 -- Upgrade strategy
7902 --
7903 l_actual_upg_option VARCHAR2(1);
7904 l_enc_upg_option VARCHAR2(1);
7905
7906 --
7907 BEGIN
7908 --
7909 IF g_log_enabled THEN
7910 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_49';
7911 END IF;
7912 --
7913 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7914
7915 trace
7916 (p_msg => 'BEGIN of AcctLineType_49'
7917 ,p_level => C_LEVEL_PROCEDURE
7918 ,p_module => l_log_module);
7919
7920 END IF;
7921 --
7922 l_component_type := 'AMB_JLT';
7923 l_component_code := 'AP_ACCRUAL_INV';
7924 l_component_type_code := 'S';
7925 l_component_appl_id := 200;
7926 l_amb_context_code := 'DEFAULT';
7927 l_entity_code := 'AP_INVOICES';
7928 l_event_class_code := 'INVOICES';
7929 l_event_type_code := 'INVOICES_ALL';
7930 l_line_definition_owner_code := 'S';
7931 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
7932 --
7933 l_balance_type_code := 'A';
7934 l_segment := NULL;
7935 l_ccid := NULL;
7936 l_adr_transaction_coa_id := NULL;
7937 l_adr_accounting_coa_id := NULL;
7938 l_adr_flexfield_segment_code := NULL;
7939 l_adr_flex_value_set_id := NULL;
7940 l_adr_value_type_code := NULL;
7941 l_adr_value_combination_id := NULL;
7942 l_adr_value_segment_code := NULL;
7943
7947 l_budgetary_control_flag := 'N';
7944 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
7945 l_bflow_class_code := ''; -- 4219869 Business Flow
7946 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
7948
7949 l_bflow_applied_to_amt_idx := NULL; -- 5132302
7950 l_bflow_applied_to_amt := NULL; -- 5132302
7951 l_entered_amt_idx := NULL; -- 4262811
7952 l_accted_amt_idx := NULL; -- 4262811
7953 l_acc_rev_flag := NULL; -- 4262811
7954 l_accrual_line_num := NULL; -- 4262811
7955 l_tmp_amt := NULL; -- 4262811
7956 --
7957
7958 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
7959 l_balance_type_code <> 'B' THEN
7960 IF NVL(p_source_21,'
7961 ') = 'RETROACCRUAL' OR
7962 NVL(p_source_21,'
7963 ') = 'ACCRUAL'
7964 THEN
7965
7966 --
7967 XLA_AE_LINES_PKG.SetNewLine;
7968
7969 p_balance_type_code := l_balance_type_code;
7970 -- set the flag so later we will know whether the gain loss line needs to be created
7971
7972 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
7973 p_actual_flag :='A';
7974 END IF;
7975
7976 --
7977 -- bulk performance
7978 --
7979 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
7980 p_header_num => 0); -- 4262811
7981 --
7982 -- set accounting line options
7983 --
7984 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
7985 p_natural_side_code => 'D'
7986 , p_gain_or_loss_flag => 'N'
7987 , p_gl_transfer_mode_code => 'S'
7988 , p_acct_entry_type_code => 'A'
7989 , p_switch_side_flag => 'Y'
7990 , p_merge_duplicate_code => 'A'
7991 );
7992 --
7993 l_acc_rev_natural_side_code := 'C'; -- 4262811
7994 --
7995 --
7996 -- set accounting line type info
7997 --
7998 xla_ae_lines_pkg.SetAcctLineType
7999 (p_component_type => l_component_type
8000 ,p_event_type_code => l_event_type_code
8001 ,p_line_definition_owner_code => l_line_definition_owner_code
8002 ,p_line_definition_code => l_line_definition_code
8003 ,p_accounting_line_code => l_component_code
8004 ,p_accounting_line_type_code => l_component_type_code
8005 ,p_accounting_line_appl_id => l_component_appl_id
8006 ,p_amb_context_code => l_amb_context_code
8007 ,p_entity_code => l_entity_code
8008 ,p_event_class_code => l_event_class_code);
8009 --
8010 -- set accounting class
8011 --
8012 xla_ae_lines_pkg.SetAcctClass(
8013 p_accounting_class_code => 'ACCRUAL'
8014 , p_ae_header_id => l_ae_header_id
8015 );
8016
8017 --
8018 -- set rounding class
8019 --
8020 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8021 'ACCRUAL';
8022
8023 --
8024 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8025 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8026 --
8027 -- bulk performance
8028 --
8029 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8030
8031 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8032 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8033
8034 -- 4955764
8035 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8036 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8037
8038 -- 4458381 Public Sector Enh
8039
8040 --
8041 -- set accounting attributes for the line type
8042 --
8043 l_entered_amt_idx := 24;
8044 l_accted_amt_idx := 29;
8045 l_bflow_applied_to_amt_idx := 7; -- 5132302
8046 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8047 l_rec_acct_attrs.array_char_value(1) := p_source_41;
8048 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8049 l_rec_acct_attrs.array_num_value(2) :=
8050 xla_ae_sources_pkg.GetSystemSourceNum(
8051 p_source_code => 'XLA_EVENT_APPL_ID'
8052 , p_source_type_code => 'Y'
8053 , p_source_application_id => 602
8054 );
8055 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8056 l_rec_acct_attrs.array_char_value(3) := p_source_43;
8057 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8058 l_rec_acct_attrs.array_char_value(4) :=
8059 xla_ae_sources_pkg.GetSystemSourceChar(
8060 p_source_code => 'XLA_ENTITY_CODE'
8061 , p_source_type_code => 'Y'
8062 , p_source_application_id => 602
8063 );
8064 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8065 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
8069 l_rec_acct_attrs.array_num_value(7) := p_source_61;
8066 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8067 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
8068 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
8070 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
8071 l_rec_acct_attrs.array_num_value(8) := p_source_47;
8072 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8073 l_rec_acct_attrs.array_char_value(9) := p_source_48;
8074 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
8075 l_rec_acct_attrs.array_char_value(10) := p_source_49;
8076 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
8077 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_50);
8078 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8079 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_51);
8080 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
8081 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
8082 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
8083 l_rec_acct_attrs.array_char_value(14) := p_source_43;
8084 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
8085 l_rec_acct_attrs.array_num_value(15) := p_source_53;
8086 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
8087 l_rec_acct_attrs.array_num_value(16) := p_source_54;
8088 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
8089 l_rec_acct_attrs.array_char_value(17) := p_source_55;
8090 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
8091 l_rec_acct_attrs.array_num_value(18) := p_source_56;
8092 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
8093 l_rec_acct_attrs.array_num_value(19) := p_source_57;
8094 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
8095 l_rec_acct_attrs.array_num_value(20) := p_source_58;
8096 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
8097 l_rec_acct_attrs.array_char_value(21) := p_source_55;
8098 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
8099 l_rec_acct_attrs.array_num_value(22) := p_source_59;
8100 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
8101 l_rec_acct_attrs.array_char_value(23) := p_source_60;
8102 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
8103 l_rec_acct_attrs.array_num_value(24) := p_source_61;
8104 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
8105 l_rec_acct_attrs.array_char_value(25) := p_source_55;
8106 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
8107 l_rec_acct_attrs.array_date_value(26) := p_source_62;
8108 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
8109 l_rec_acct_attrs.array_num_value(27) := p_source_63;
8110 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
8111 l_rec_acct_attrs.array_char_value(28) := p_source_64;
8112 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
8113 l_rec_acct_attrs.array_num_value(29) := p_source_9;
8114 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
8115 l_rec_acct_attrs.array_date_value(30) := p_source_65;
8116 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
8117 l_rec_acct_attrs.array_char_value(31) := p_source_66;
8118 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
8119 l_rec_acct_attrs.array_date_value(32) := p_source_67;
8120 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
8121 l_rec_acct_attrs.array_char_value(33) := p_source_68;
8122 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
8123 l_rec_acct_attrs.array_num_value(34) := p_source_69;
8124 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
8125 l_rec_acct_attrs.array_num_value(35) := p_source_70;
8126 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
8127 l_rec_acct_attrs.array_char_value(36) := p_source_71;
8128 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
8129 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
8130 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
8131 l_rec_acct_attrs.array_char_value(38) := p_source_43;
8132 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
8133 l_rec_acct_attrs.array_num_value(39) := p_source_73;
8134 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
8135 l_rec_acct_attrs.array_num_value(40) := p_source_74;
8136 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
8137 l_rec_acct_attrs.array_num_value(41) := p_source_75;
8138 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
8139 l_rec_acct_attrs.array_num_value(42) := p_source_76;
8140 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
8141 l_rec_acct_attrs.array_num_value(43) := p_source_77;
8142 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
8143 l_rec_acct_attrs.array_num_value(44) := p_source_78;
8144
8145 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8146 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8147
8148 ---------------------------------------------------------------------------------------------------------------
8149 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8153 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8150 ---------------------------------------------------------------------------------------------------------------
8151 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8152
8154 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8155
8156 IF xla_accounting_cache_pkg.GetValueChar
8157 (p_source_code => 'LEDGER_CATEGORY_CODE'
8158 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8159 AND l_bflow_method_code = 'PRIOR_ENTRY'
8160 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8161 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8162 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8163 )
8164 THEN
8165 xla_ae_lines_pkg.BflowUpgEntry
8166 (p_business_method_code => l_bflow_method_code
8167 ,p_business_class_code => l_bflow_class_code
8168 ,p_balance_type => l_balance_type_code);
8169 ELSE
8170 NULL;
8171 -- No business flow processing for business flow method of NONE.
8172 END IF;
8173
8174 --
8175 -- call analytical criteria
8176 --
8177
8178 --
8179 -- call description
8180 --
8181
8182 xla_ae_lines_pkg.SetLineDescription(
8183 p_ae_header_id => l_ae_header_id
8184 ,p_description => Description_2 (
8185 p_application_id => p_application_id
8186 , p_ae_header_id => l_ae_header_id
8187 , p_source_1 => p_source_1
8188 )
8189 );
8190
8191
8192 --
8193 -- call ADRs
8194 -- Bug 4922099
8195 --
8196 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8197 (NVL(l_actual_upg_option, 'N') = 'O') OR
8198 (NVL(l_enc_upg_option, 'N') = 'O')
8199 )
8200 THEN
8201 NULL;
8202 --
8203 --
8204
8205 l_ccid := AcctDerRule_32(
8206 p_application_id => p_application_id
8207 , p_ae_header_id => l_ae_header_id
8208 , p_source_18 => p_source_18
8209 , x_transaction_coa_id => l_adr_transaction_coa_id
8210 , x_accounting_coa_id => l_adr_accounting_coa_id
8211 , x_value_type_code => l_adr_value_type_code
8212 , p_side => 'NA'
8213 );
8214
8215 xla_ae_lines_pkg.set_ccid(
8216 p_code_combination_id => l_ccid
8217 , p_value_type_code => l_adr_value_type_code
8218 , p_transaction_coa_id => l_adr_transaction_coa_id
8219 , p_accounting_coa_id => l_adr_accounting_coa_id
8220 , p_adr_code => 'AP_INVOICE_DIST'
8221 , p_adr_type_code => 'S'
8222 , p_component_type => l_component_type
8223 , p_component_code => l_component_code
8224 , p_component_type_code => l_component_type_code
8225 , p_component_appl_id => l_component_appl_id
8226 , p_amb_context_code => l_amb_context_code
8227 , p_side => 'NA'
8228 );
8229
8230
8231 --
8232 --
8233 END IF;
8234 --
8235 -- Bug 4922099
8236 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
8237 (NVL(l_enc_upg_option, 'N') = 'O')
8238 ) AND
8239 (l_bflow_method_code = 'PRIOR_ENTRY')
8240 )
8241 THEN
8242 IF
8243 --
8244 1 = 2
8245 --
8246 THEN
8247 xla_accounting_err_pkg.build_message
8248 (p_appli_s_name => 'XLA'
8249 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8250 ,p_token_1 => 'LINE_NUMBER'
8251 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8252 ,p_token_2 => 'LINE_TYPE_NAME'
8253 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8254 l_component_type
8255 ,l_component_code
8256 ,l_component_type_code
8257 ,l_component_appl_id
8258 ,l_amb_context_code
8259 ,l_entity_code
8260 ,l_event_class_code
8261 )
8262 ,p_token_3 => 'OWNER'
8263 ,p_value_3 => xla_lookups_pkg.get_meaning(
8264 p_lookup_type => 'XLA_OWNER_TYPE'
8265 ,p_lookup_code => l_component_type_code
8266 )
8270 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
8267 ,p_token_4 => 'PRODUCT_NAME'
8268 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
8269 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
8271 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
8272 ,p_ae_header_id => NULL
8273 );
8274
8275 IF (C_LEVEL_ERROR>= g_log_level) THEN
8276 trace
8277 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8278 ,p_level => C_LEVEL_ERROR
8279 ,p_module => l_log_module);
8280 END IF;
8281 END IF;
8282 END IF;
8283 --
8284 --
8285 ------------------------------------------------------------------------------------------------
8286 -- 4219869 Business Flow
8287 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8288 -- Prior Entry. Currently, the following code is always generated.
8289 ------------------------------------------------------------------------------------------------
8290 XLA_AE_LINES_PKG.ValidateCurrentLine;
8291
8292 ------------------------------------------------------------------------------------
8293 -- 4219869 Business Flow
8294 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
8295 ------------------------------------------------------------------------------------
8296 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8297
8298 ----------------------------------------------------------------------------------
8299 -- 4219869 Business Flow
8300 -- Update journal entry status -- Need to generate this within IF <condition>
8301 ----------------------------------------------------------------------------------
8302 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8303 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
8304 ,p_balance_type_code => l_balance_type_code
8305 );
8306
8307 -------------------------------------------------------------------------------------------
8308 -- 4262811 - Generate the Accrual Reversal lines
8309 -------------------------------------------------------------------------------------------
8310 BEGIN
8311 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
8312 (g_array_event(p_event_id).array_value_num('header_index'));
8313 IF l_acc_rev_flag IS NULL THEN
8314 l_acc_rev_flag := 'N';
8315 END IF;
8316 EXCEPTION
8317 WHEN OTHERS THEN
8318 l_acc_rev_flag := 'N';
8319 END;
8320 --
8321 IF (l_acc_rev_flag = 'Y') THEN
8322
8323 -- 4645092 ------------------------------------------------------------------------------
8324 -- To allow MPA report to determine if it should generate report process
8325 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
8326 ------------------------------------------------------------------------------------------
8327
8328 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
8329 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
8330 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
8331 -- call ADRs
8332 -- Bug 4922099
8333 --
8334 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8335 (NVL(l_actual_upg_option, 'N') = 'O') OR
8336 (NVL(l_enc_upg_option, 'N') = 'O')
8337 )
8338 THEN
8339 NULL;
8340 --
8341 --
8342
8343 l_ccid := AcctDerRule_32(
8344 p_application_id => p_application_id
8345 , p_ae_header_id => l_ae_header_id
8346 , p_source_18 => p_source_18
8347 , x_transaction_coa_id => l_adr_transaction_coa_id
8348 , x_accounting_coa_id => l_adr_accounting_coa_id
8349 , x_value_type_code => l_adr_value_type_code
8350 , p_side => 'NA'
8351 );
8352
8353 xla_ae_lines_pkg.set_ccid(
8354 p_code_combination_id => l_ccid
8355 , p_value_type_code => l_adr_value_type_code
8356 , p_transaction_coa_id => l_adr_transaction_coa_id
8357 , p_accounting_coa_id => l_adr_accounting_coa_id
8358 , p_adr_code => 'AP_INVOICE_DIST'
8359 , p_adr_type_code => 'S'
8360 , p_component_type => l_component_type
8361 , p_component_code => l_component_code
8362 , p_component_type_code => l_component_type_code
8363 , p_component_appl_id => l_component_appl_id
8364 , p_amb_context_code => l_amb_context_code
8365 , p_side => 'NA'
8366 );
8367
8368
8369 --
8370 --
8371 END IF;
8372
8373 --
8374 -- Update the line information that should be overwritten
8375 --
8376 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
8377 p_header_num => 1);
8378 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
8382 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
8379
8380 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
8381
8383 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
8384 END IF;
8385
8386 --
8387 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
8388 --
8389 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
8390 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
8391 ELSE
8392 ---------------------------------------------------------------------------------------------------
8393 -- 4262811a Switch Sign
8394 ---------------------------------------------------------------------------------------------------
8395 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
8396 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8397 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8398 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
8399 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8400 -- 5132302
8401 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
8402 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
8403
8404 END IF;
8405
8406 -- 4955764
8407 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8408 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
8409
8410
8411 XLA_AE_LINES_PKG.ValidateCurrentLine;
8412 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
8413
8414 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
8415 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
8416 ,p_balance_type_code => l_balance_type_code);
8417
8418 END IF;
8419
8420 -----------------------------------------------------------------------------------------
8421 -- 4262811 Multiperiod Accounting
8422 -----------------------------------------------------------------------------------------
8423 -- No MPA option is assigned.
8424
8425
8426 END IF;
8427 END IF;
8428 --
8429
8430 --
8431 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8432 trace
8433 (p_msg => 'END of AcctLineType_49'
8434 ,p_level => C_LEVEL_PROCEDURE
8435 ,p_module => l_log_module);
8436 END IF;
8437 --
8438 EXCEPTION
8439 WHEN xla_exceptions_pkg.application_exception THEN
8440 RAISE;
8441 WHEN OTHERS THEN
8442 xla_exceptions_pkg.raise_message
8443 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_49');
8444 END AcctLineType_49;
8445 --
8446
8447 ---------------------------------------
8448 --
8449 -- PRIVATE FUNCTION
8450 -- AcctLineType_50
8451 --
8452 ---------------------------------------
8453 PROCEDURE AcctLineType_50 (
8454 p_application_id IN NUMBER
8455 ,p_event_id IN NUMBER
8456 ,p_calculate_acctd_flag IN VARCHAR2
8457 ,p_calculate_g_l_flag IN VARCHAR2
8458 ,p_actual_flag IN OUT VARCHAR2
8459 ,p_balance_type_code OUT VARCHAR2
8460 ,p_gain_or_loss_ref OUT VARCHAR2
8461
8462 --Invoice Distribution Description
8463 , p_source_1 IN VARCHAR2
8464 --Invoice Distribution Ledger Amount
8465 , p_source_9 IN NUMBER
8466 --Invoice Distribution Account
8467 , p_source_18 IN NUMBER
8468 --Invoice Distribution Type
8469 , p_source_21 IN VARCHAR2
8470 , p_source_21_meaning IN VARCHAR2
8471 --Accounting Reversal Indicator
8472 , p_source_41 IN VARCHAR2
8473 --Distribution Link Type
8474 , p_source_43 IN VARCHAR2
8475 --Allocation to Main Distribution Identifier
8476 , p_source_45 IN NUMBER
8477 --Invoice Identifier
8478 , p_source_46 IN NUMBER
8479 --Invoice Distribution Identifier
8480 , p_source_52 IN NUMBER
8481 --Payables Encumbrance Upgrade Credit Account
8482 , p_source_53 IN NUMBER
8483 --Payables Encumbrance Upgrade Credit Amount
8484 , p_source_54 IN NUMBER
8485 --Invoice Currency Code
8486 , p_source_55 IN VARCHAR2
8487 --Payables Encumbrance Upgrade Credit Base Amount
8488 , p_source_56 IN NUMBER
8489 --Payables Encumbrance Upgrade Debit Account
8490 , p_source_57 IN NUMBER
8491 --Payables Encumbrance Upgrade Debit Amount
8492 , p_source_58 IN NUMBER
8493 --Payables Encumbrance Upgrade Debit Base Amount
8494 , p_source_59 IN NUMBER
8495 --Payables Encumbrance Upgrade Option
8496 , p_source_60 IN VARCHAR2
8497 --Invoice Distribution Amount
8498 , p_source_61 IN NUMBER
8499 --Purchase Order Exchange Rate Date
8500 , p_source_62 IN DATE
8501 --Purchase Order Exchange Rate
8502 , p_source_63 IN NUMBER
8503 --Purchase Order Exchange Rate Type
8507 --Deferred Accounting Option
8504 , p_source_64 IN VARCHAR2
8505 --Deferred Accounting End Date
8506 , p_source_65 IN DATE
8508 , p_source_66 IN VARCHAR2
8509 --Deferred Accounting Start Date
8510 , p_source_67 IN DATE
8511 --Override Accounted Amount Indicator
8512 , p_source_68 IN VARCHAR2
8513 , p_source_68_meaning IN VARCHAR2
8514 --Invoice Supplier Identifier
8515 , p_source_69 IN NUMBER
8516 --Invoice Supplier Site Identifier
8517 , p_source_70 IN NUMBER
8518 --Third Party Type
8519 , p_source_71 IN VARCHAR2
8520 --Parent Reversal Identifier
8521 , p_source_72 IN NUMBER
8522 --Invoice Distribution Statistical Amount
8523 , p_source_73 IN NUMBER
8524 --Invoice Distribution Tax Line Identifier
8525 , p_source_74 IN NUMBER
8526 --Invoice Distribution Tax Distribution Identifier from Tax
8527 , p_source_75 IN NUMBER
8528 --Invoice Distribution Summary Tax Line Identifier
8529 , p_source_76 IN NUMBER
8530 --Payables Upgrade Credit Encumbrance Type Identifier
8531 , p_source_77 IN NUMBER
8532 --Payables Upgrade Debit Encumbrance Type Identifier
8533 , p_source_78 IN NUMBER
8534 --Business Flow Accounts Payable Application Identifier
8535 , p_source_79 IN NUMBER
8536 --Business Flow Invoice Distribution Type
8537 , p_source_80 IN VARCHAR2
8538 --Business Flow Invoice Entity Code
8539 , p_source_81 IN VARCHAR2
8540 --Business Flow Invoice Distribution Identifier
8541 , p_source_82 IN NUMBER
8542 --Business Flow Invoice Identifier
8543 , p_source_83 IN NUMBER
8544 )
8545 IS
8546
8547 l_component_type VARCHAR2(80);
8548 l_component_code VARCHAR2(30);
8549 l_component_type_code VARCHAR2(1);
8550 l_component_appl_id INTEGER;
8551 l_amb_context_code VARCHAR2(30);
8552 l_entity_code VARCHAR2(30);
8553 l_event_class_code VARCHAR2(30);
8554 l_ae_header_id NUMBER;
8555 l_event_type_code VARCHAR2(30);
8556 l_line_definition_code VARCHAR2(30);
8557 l_line_definition_owner_code VARCHAR2(1);
8558 --
8559 -- adr variables
8560 l_segment VARCHAR2(30);
8561 l_ccid NUMBER;
8562 l_adr_transaction_coa_id NUMBER;
8563 l_adr_accounting_coa_id NUMBER;
8564 l_adr_flexfield_segment_code VARCHAR2(30);
8565 l_adr_flex_value_set_id NUMBER;
8566 l_adr_value_type_code VARCHAR2(30);
8567 l_adr_value_combination_id NUMBER;
8568 l_adr_value_segment_code VARCHAR2(30);
8569
8570 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
8571 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
8572 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
8573 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
8574
8575 -- 4262811 Variables ------------------------------------------------------------------------------------------
8576 l_entered_amt_idx NUMBER;
8577 l_accted_amt_idx NUMBER;
8578 l_acc_rev_flag VARCHAR2(1);
8579 l_accrual_line_num NUMBER;
8580 l_tmp_amt NUMBER;
8581 l_acc_rev_natural_side_code VARCHAR2(1);
8582
8583 l_num_entries NUMBER;
8584 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
8585 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
8586 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
8587 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
8588 l_recog_line_1 NUMBER;
8589 l_recog_line_2 NUMBER;
8590
8591 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
8592 l_bflow_applied_to_amt NUMBER; -- 5132302
8593 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
8594
8595 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
8596
8597 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
8598 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
8599
8600 ---------------------------------------------------------------------------------------------------------------
8601
8602
8603 --
8604 -- bulk performance
8605 --
8606 l_balance_type_code VARCHAR2(1);
8607 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
8608 l_log_module VARCHAR2(240);
8609
8610 --
8611 -- Upgrade strategy
8612 --
8613 l_actual_upg_option VARCHAR2(1);
8614 l_enc_upg_option VARCHAR2(1);
8615
8616 --
8617 BEGIN
8618 --
8619 IF g_log_enabled THEN
8620 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_50';
8621 END IF;
8622 --
8623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8624
8625 trace
8626 (p_msg => 'BEGIN of AcctLineType_50'
8627 ,p_level => C_LEVEL_PROCEDURE
8628 ,p_module => l_log_module);
8629
8630 END IF;
8631 --
8632 l_component_type := 'AMB_JLT';
8633 l_component_code := 'AP_ACCRUAL_PREPAY';
8634 l_component_type_code := 'S';
8638 l_event_class_code := 'PREPAYMENTS';
8635 l_component_appl_id := 200;
8636 l_amb_context_code := 'DEFAULT';
8637 l_entity_code := 'AP_INVOICES';
8639 l_event_type_code := 'PREPAYMENTS_ALL';
8640 l_line_definition_owner_code := 'S';
8641 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
8642 --
8643 l_balance_type_code := 'A';
8644 l_segment := NULL;
8645 l_ccid := NULL;
8646 l_adr_transaction_coa_id := NULL;
8647 l_adr_accounting_coa_id := NULL;
8648 l_adr_flexfield_segment_code := NULL;
8649 l_adr_flex_value_set_id := NULL;
8650 l_adr_value_type_code := NULL;
8651 l_adr_value_combination_id := NULL;
8652 l_adr_value_segment_code := NULL;
8653
8654 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
8655 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
8656 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
8657 l_budgetary_control_flag := 'N';
8658
8659 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8660 l_bflow_applied_to_amt := NULL; -- 5132302
8661 l_entered_amt_idx := NULL; -- 4262811
8662 l_accted_amt_idx := NULL; -- 4262811
8663 l_acc_rev_flag := NULL; -- 4262811
8664 l_accrual_line_num := NULL; -- 4262811
8665 l_tmp_amt := NULL; -- 4262811
8666 --
8667
8668 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
8669 l_balance_type_code <> 'B' THEN
8670 IF NVL(p_source_21,'
8671 ') = 'RETROACCRUAL' OR
8672 NVL(p_source_21,'
8673 ') = 'ACCRUAL'
8674 THEN
8675
8676 --
8677 XLA_AE_LINES_PKG.SetNewLine;
8678
8679 p_balance_type_code := l_balance_type_code;
8680 -- set the flag so later we will know whether the gain loss line needs to be created
8681
8682 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
8683 p_actual_flag :='A';
8684 END IF;
8685
8686 --
8687 -- bulk performance
8688 --
8689 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
8690 p_header_num => 0); -- 4262811
8691 --
8692 -- set accounting line options
8693 --
8694 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
8695 p_natural_side_code => 'D'
8696 , p_gain_or_loss_flag => 'N'
8697 , p_gl_transfer_mode_code => 'S'
8698 , p_acct_entry_type_code => 'A'
8699 , p_switch_side_flag => 'Y'
8700 , p_merge_duplicate_code => 'A'
8701 );
8702 --
8703 l_acc_rev_natural_side_code := 'C'; -- 4262811
8704 --
8705 --
8706 -- set accounting line type info
8707 --
8708 xla_ae_lines_pkg.SetAcctLineType
8709 (p_component_type => l_component_type
8710 ,p_event_type_code => l_event_type_code
8711 ,p_line_definition_owner_code => l_line_definition_owner_code
8712 ,p_line_definition_code => l_line_definition_code
8713 ,p_accounting_line_code => l_component_code
8714 ,p_accounting_line_type_code => l_component_type_code
8715 ,p_accounting_line_appl_id => l_component_appl_id
8716 ,p_amb_context_code => l_amb_context_code
8717 ,p_entity_code => l_entity_code
8718 ,p_event_class_code => l_event_class_code);
8719 --
8720 -- set accounting class
8721 --
8722 xla_ae_lines_pkg.SetAcctClass(
8723 p_accounting_class_code => 'ACCRUAL'
8724 , p_ae_header_id => l_ae_header_id
8725 );
8726
8727 --
8728 -- set rounding class
8729 --
8730 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
8731 'ACCRUAL';
8732
8733 --
8734 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
8735 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
8736 --
8737 -- bulk performance
8738 --
8739 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
8740
8741 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
8742 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
8743
8744 -- 4955764
8745 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
8746 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
8747
8748 -- 4458381 Public Sector Enh
8749
8750 --
8751 -- set accounting attributes for the line type
8752 --
8753 l_entered_amt_idx := 23;
8754 l_accted_amt_idx := 28;
8755 l_bflow_applied_to_amt_idx := NULL; -- 5132302
8756 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
8757 l_rec_acct_attrs.array_char_value(1) := p_source_41;
8758 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
8759 l_rec_acct_attrs.array_num_value(2) :=
8760 xla_ae_sources_pkg.GetSystemSourceNum(
8761 p_source_code => 'XLA_EVENT_APPL_ID'
8762 , p_source_type_code => 'Y'
8766 l_rec_acct_attrs.array_char_value(3) := p_source_43;
8763 , p_source_application_id => 602
8764 );
8765 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
8767 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
8768 l_rec_acct_attrs.array_char_value(4) :=
8769 xla_ae_sources_pkg.GetSystemSourceChar(
8770 p_source_code => 'XLA_ENTITY_CODE'
8771 , p_source_type_code => 'Y'
8772 , p_source_application_id => 602
8773 );
8774 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
8775 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
8776 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
8777 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
8778 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
8779 l_rec_acct_attrs.array_num_value(7) := p_source_79;
8780 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
8781 l_rec_acct_attrs.array_char_value(8) := p_source_80;
8782 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
8783 l_rec_acct_attrs.array_char_value(9) := p_source_81;
8784 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
8785 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
8786 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
8787 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
8788 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
8789 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
8790 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
8791 l_rec_acct_attrs.array_char_value(13) := p_source_43;
8792 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
8793 l_rec_acct_attrs.array_num_value(14) := p_source_53;
8794 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
8795 l_rec_acct_attrs.array_num_value(15) := p_source_54;
8796 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
8797 l_rec_acct_attrs.array_char_value(16) := p_source_55;
8798 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
8799 l_rec_acct_attrs.array_num_value(17) := p_source_56;
8800 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
8801 l_rec_acct_attrs.array_num_value(18) := p_source_57;
8802 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
8803 l_rec_acct_attrs.array_num_value(19) := p_source_58;
8804 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
8805 l_rec_acct_attrs.array_char_value(20) := p_source_55;
8806 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
8807 l_rec_acct_attrs.array_num_value(21) := p_source_59;
8808 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
8809 l_rec_acct_attrs.array_char_value(22) := p_source_60;
8810 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
8811 l_rec_acct_attrs.array_num_value(23) := p_source_61;
8812 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
8813 l_rec_acct_attrs.array_char_value(24) := p_source_55;
8814 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
8815 l_rec_acct_attrs.array_date_value(25) := p_source_62;
8816 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
8817 l_rec_acct_attrs.array_num_value(26) := p_source_63;
8818 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
8819 l_rec_acct_attrs.array_char_value(27) := p_source_64;
8820 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
8821 l_rec_acct_attrs.array_num_value(28) := p_source_9;
8822 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
8823 l_rec_acct_attrs.array_date_value(29) := p_source_65;
8824 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
8825 l_rec_acct_attrs.array_char_value(30) := p_source_66;
8826 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
8827 l_rec_acct_attrs.array_date_value(31) := p_source_67;
8828 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
8829 l_rec_acct_attrs.array_char_value(32) := p_source_68;
8830 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
8831 l_rec_acct_attrs.array_num_value(33) := p_source_69;
8832 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
8833 l_rec_acct_attrs.array_num_value(34) := p_source_70;
8834 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
8835 l_rec_acct_attrs.array_char_value(35) := p_source_71;
8836 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
8837 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
8838 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
8839 l_rec_acct_attrs.array_char_value(37) := p_source_43;
8840 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
8841 l_rec_acct_attrs.array_num_value(38) := p_source_73;
8842 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
8843 l_rec_acct_attrs.array_num_value(39) := p_source_74;
8844 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
8845 l_rec_acct_attrs.array_num_value(40) := p_source_75;
8846 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
8847 l_rec_acct_attrs.array_num_value(41) := p_source_76;
8848 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
8849 l_rec_acct_attrs.array_num_value(42) := p_source_77;
8853 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
8850 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
8851 l_rec_acct_attrs.array_num_value(43) := p_source_78;
8852
8854 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
8855
8856 ---------------------------------------------------------------------------------------------------------------
8857 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
8858 ---------------------------------------------------------------------------------------------------------------
8859 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
8860
8861 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8862 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
8863
8864 IF xla_accounting_cache_pkg.GetValueChar
8865 (p_source_code => 'LEDGER_CATEGORY_CODE'
8866 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
8867 AND l_bflow_method_code = 'PRIOR_ENTRY'
8868 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
8869 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
8870 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
8871 )
8872 THEN
8873 xla_ae_lines_pkg.BflowUpgEntry
8874 (p_business_method_code => l_bflow_method_code
8875 ,p_business_class_code => l_bflow_class_code
8876 ,p_balance_type => l_balance_type_code);
8877 ELSE
8878 NULL;
8879 -- No business flow processing for business flow method of NONE.
8880 END IF;
8881
8882 --
8883 -- call analytical criteria
8884 --
8885
8886 --
8887 -- call description
8888 --
8889
8890 xla_ae_lines_pkg.SetLineDescription(
8891 p_ae_header_id => l_ae_header_id
8892 ,p_description => Description_2 (
8893 p_application_id => p_application_id
8894 , p_ae_header_id => l_ae_header_id
8895 , p_source_1 => p_source_1
8896 )
8897 );
8898
8899
8900 --
8901 -- call ADRs
8902 -- Bug 4922099
8903 --
8904 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
8905 (NVL(l_actual_upg_option, 'N') = 'O') OR
8906 (NVL(l_enc_upg_option, 'N') = 'O')
8907 )
8908 THEN
8909 NULL;
8910 --
8911 --
8912
8913 l_ccid := AcctDerRule_32(
8914 p_application_id => p_application_id
8915 , p_ae_header_id => l_ae_header_id
8916 , p_source_18 => p_source_18
8917 , x_transaction_coa_id => l_adr_transaction_coa_id
8918 , x_accounting_coa_id => l_adr_accounting_coa_id
8919 , x_value_type_code => l_adr_value_type_code
8920 , p_side => 'NA'
8921 );
8922
8923 xla_ae_lines_pkg.set_ccid(
8924 p_code_combination_id => l_ccid
8925 , p_value_type_code => l_adr_value_type_code
8926 , p_transaction_coa_id => l_adr_transaction_coa_id
8927 , p_accounting_coa_id => l_adr_accounting_coa_id
8928 , p_adr_code => 'AP_INVOICE_DIST'
8929 , p_adr_type_code => 'S'
8930 , p_component_type => l_component_type
8931 , p_component_code => l_component_code
8932 , p_component_type_code => l_component_type_code
8933 , p_component_appl_id => l_component_appl_id
8934 , p_amb_context_code => l_amb_context_code
8935 , p_side => 'NA'
8936 );
8937
8938
8939 --
8940 --
8941 END IF;
8942 --
8943 -- Bug 4922099
8944 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
8945 (NVL(l_enc_upg_option, 'N') = 'O')
8946 ) AND
8947 (l_bflow_method_code = 'PRIOR_ENTRY')
8948 )
8949 THEN
8950 IF
8951 --
8952 1 = 2
8953 --
8954 THEN
8955 xla_accounting_err_pkg.build_message
8956 (p_appli_s_name => 'XLA'
8957 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8958 ,p_token_1 => 'LINE_NUMBER'
8959 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
8960 ,p_token_2 => 'LINE_TYPE_NAME'
8961 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
8962 l_component_type
8963 ,l_component_code
8964 ,l_component_type_code
8965 ,l_component_appl_id
8966 ,l_amb_context_code
8967 ,l_entity_code
8968 ,l_event_class_code
8972 p_lookup_type => 'XLA_OWNER_TYPE'
8969 )
8970 ,p_token_3 => 'OWNER'
8971 ,p_value_3 => xla_lookups_pkg.get_meaning(
8973 ,p_lookup_code => l_component_type_code
8974 )
8975 ,p_token_4 => 'PRODUCT_NAME'
8976 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
8977 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
8978 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
8979 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
8980 ,p_ae_header_id => NULL
8981 );
8982
8983 IF (C_LEVEL_ERROR>= g_log_level) THEN
8984 trace
8985 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
8986 ,p_level => C_LEVEL_ERROR
8987 ,p_module => l_log_module);
8988 END IF;
8989 END IF;
8990 END IF;
8991 --
8992 --
8993 ------------------------------------------------------------------------------------------------
8994 -- 4219869 Business Flow
8995 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
8996 -- Prior Entry. Currently, the following code is always generated.
8997 ------------------------------------------------------------------------------------------------
8998 XLA_AE_LINES_PKG.ValidateCurrentLine;
8999
9000 ------------------------------------------------------------------------------------
9001 -- 4219869 Business Flow
9002 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9003 ------------------------------------------------------------------------------------
9004 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9005
9006 ----------------------------------------------------------------------------------
9007 -- 4219869 Business Flow
9008 -- Update journal entry status -- Need to generate this within IF <condition>
9009 ----------------------------------------------------------------------------------
9010 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9011 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9012 ,p_balance_type_code => l_balance_type_code
9013 );
9014
9015 -------------------------------------------------------------------------------------------
9016 -- 4262811 - Generate the Accrual Reversal lines
9017 -------------------------------------------------------------------------------------------
9018 BEGIN
9019 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9020 (g_array_event(p_event_id).array_value_num('header_index'));
9021 IF l_acc_rev_flag IS NULL THEN
9022 l_acc_rev_flag := 'N';
9023 END IF;
9024 EXCEPTION
9025 WHEN OTHERS THEN
9026 l_acc_rev_flag := 'N';
9027 END;
9028 --
9029 IF (l_acc_rev_flag = 'Y') THEN
9030
9031 -- 4645092 ------------------------------------------------------------------------------
9032 -- To allow MPA report to determine if it should generate report process
9033 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9034 ------------------------------------------------------------------------------------------
9035
9036 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9037 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9038 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9039 -- call ADRs
9040 -- Bug 4922099
9041 --
9042 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9043 (NVL(l_actual_upg_option, 'N') = 'O') OR
9044 (NVL(l_enc_upg_option, 'N') = 'O')
9045 )
9046 THEN
9047 NULL;
9048 --
9049 --
9050
9051 l_ccid := AcctDerRule_32(
9052 p_application_id => p_application_id
9053 , p_ae_header_id => l_ae_header_id
9054 , p_source_18 => p_source_18
9055 , x_transaction_coa_id => l_adr_transaction_coa_id
9056 , x_accounting_coa_id => l_adr_accounting_coa_id
9057 , x_value_type_code => l_adr_value_type_code
9058 , p_side => 'NA'
9059 );
9060
9061 xla_ae_lines_pkg.set_ccid(
9062 p_code_combination_id => l_ccid
9063 , p_value_type_code => l_adr_value_type_code
9064 , p_transaction_coa_id => l_adr_transaction_coa_id
9065 , p_accounting_coa_id => l_adr_accounting_coa_id
9066 , p_adr_code => 'AP_INVOICE_DIST'
9067 , p_adr_type_code => 'S'
9068 , p_component_type => l_component_type
9069 , p_component_code => l_component_code
9070 , p_component_type_code => l_component_type_code
9071 , p_component_appl_id => l_component_appl_id
9075
9072 , p_amb_context_code => l_amb_context_code
9073 , p_side => 'NA'
9074 );
9076
9077 --
9078 --
9079 END IF;
9080
9081 --
9082 -- Update the line information that should be overwritten
9083 --
9084 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
9085 p_header_num => 1);
9086 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
9087
9088 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
9089
9090 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
9091 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
9092 END IF;
9093
9094 --
9095 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
9096 --
9097 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
9098 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
9099 ELSE
9100 ---------------------------------------------------------------------------------------------------
9101 -- 4262811a Switch Sign
9102 ---------------------------------------------------------------------------------------------------
9103 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
9104 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9105 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9106 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
9107 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9108 -- 5132302
9109 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
9110 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
9111
9112 END IF;
9113
9114 -- 4955764
9115 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9116 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
9117
9118
9119 XLA_AE_LINES_PKG.ValidateCurrentLine;
9120 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9121
9122 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9123 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
9124 ,p_balance_type_code => l_balance_type_code);
9125
9126 END IF;
9127
9128 -----------------------------------------------------------------------------------------
9129 -- 4262811 Multiperiod Accounting
9130 -----------------------------------------------------------------------------------------
9131 -- No MPA option is assigned.
9132
9133
9134 END IF;
9135 END IF;
9136 --
9137
9138 --
9139 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9140 trace
9141 (p_msg => 'END of AcctLineType_50'
9142 ,p_level => C_LEVEL_PROCEDURE
9143 ,p_module => l_log_module);
9144 END IF;
9145 --
9146 EXCEPTION
9147 WHEN xla_exceptions_pkg.application_exception THEN
9148 RAISE;
9149 WHEN OTHERS THEN
9150 xla_exceptions_pkg.raise_message
9151 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_50');
9152 END AcctLineType_50;
9153 --
9154
9155 ---------------------------------------
9156 --
9157 -- PRIVATE FUNCTION
9158 -- AcctLineType_51
9159 --
9160 ---------------------------------------
9161 PROCEDURE AcctLineType_51 (
9162 p_application_id IN NUMBER
9163 ,p_event_id IN NUMBER
9164 ,p_calculate_acctd_flag IN VARCHAR2
9165 ,p_calculate_g_l_flag IN VARCHAR2
9166 ,p_actual_flag IN OUT VARCHAR2
9167 ,p_balance_type_code OUT VARCHAR2
9168 ,p_gain_or_loss_ref OUT VARCHAR2
9169
9170 --Invoice Distribution Description
9171 , p_source_1 IN VARCHAR2
9172 --Automatic Offsets Value
9173 , p_source_3 IN VARCHAR2
9174 , p_source_3_meaning IN VARCHAR2
9175 --Purchase Order Rate Variance Gain Account
9176 , p_source_8 IN NUMBER
9177 --Invoice Distribution Ledger Amount
9178 , p_source_9 IN NUMBER
9179 --Destination Type of the PO Distribution
9180 , p_source_10 IN VARCHAR2
9181 , p_source_10_meaning IN VARCHAR2
9182 --Purchase Order Rate Variance Loss Account
9183 , p_source_11 IN NUMBER
9184 --Invoice Distribution Account
9185 , p_source_18 IN NUMBER
9186 --Invoice Distribution Type
9187 , p_source_21 IN VARCHAR2
9188 , p_source_21_meaning IN VARCHAR2
9189 --Automatic Offsets Flag
9190 , p_source_35 IN VARCHAR2
9191 , p_source_35_meaning IN VARCHAR2
9192 --Accounting Reversal Indicator
9193 , p_source_41 IN VARCHAR2
9194 --Distribution Link Type
9195 , p_source_43 IN VARCHAR2
9196 --Allocation to Main Distribution Identifier
9197 , p_source_45 IN NUMBER
9198 --Invoice Identifier
9202 --Payables Encumbrance Upgrade Credit Account
9199 , p_source_46 IN NUMBER
9200 --Invoice Distribution Identifier
9201 , p_source_52 IN NUMBER
9203 , p_source_53 IN NUMBER
9204 --Payables Encumbrance Upgrade Credit Amount
9205 , p_source_54 IN NUMBER
9206 --Invoice Currency Code
9207 , p_source_55 IN VARCHAR2
9208 --Payables Encumbrance Upgrade Credit Base Amount
9209 , p_source_56 IN NUMBER
9210 --Payables Encumbrance Upgrade Debit Account
9211 , p_source_57 IN NUMBER
9212 --Payables Encumbrance Upgrade Debit Amount
9213 , p_source_58 IN NUMBER
9214 --Payables Encumbrance Upgrade Debit Base Amount
9215 , p_source_59 IN NUMBER
9216 --Payables Encumbrance Upgrade Option
9217 , p_source_60 IN VARCHAR2
9218 --Deferred Accounting End Date
9219 , p_source_65 IN DATE
9220 --Deferred Accounting Option
9221 , p_source_66 IN VARCHAR2
9222 --Deferred Accounting Start Date
9223 , p_source_67 IN DATE
9224 --Override Accounted Amount Indicator
9225 , p_source_68 IN VARCHAR2
9226 , p_source_68_meaning IN VARCHAR2
9227 --Invoice Supplier Identifier
9228 , p_source_69 IN NUMBER
9229 --Invoice Supplier Site Identifier
9230 , p_source_70 IN NUMBER
9231 --Third Party Type
9232 , p_source_71 IN VARCHAR2
9233 --Parent Reversal Identifier
9234 , p_source_72 IN NUMBER
9235 --Invoice Distribution Statistical Amount
9236 , p_source_73 IN NUMBER
9237 --Invoice Distribution Tax Line Identifier
9238 , p_source_74 IN NUMBER
9239 --Invoice Distribution Tax Distribution Identifier from Tax
9240 , p_source_75 IN NUMBER
9241 --Invoice Distribution Summary Tax Line Identifier
9242 , p_source_76 IN NUMBER
9243 --Payables Upgrade Credit Encumbrance Type Identifier
9244 , p_source_77 IN NUMBER
9245 --Payables Upgrade Debit Encumbrance Type Identifier
9246 , p_source_78 IN NUMBER
9247 --Business Flow Accounts Payable Application Identifier
9248 , p_source_79 IN NUMBER
9249 --Business Flow Invoice Distribution Type
9250 , p_source_80 IN VARCHAR2
9251 --Business Flow Invoice Entity Code
9252 , p_source_81 IN VARCHAR2
9253 --Business Flow Invoice Distribution Identifier
9254 , p_source_82 IN NUMBER
9255 --Business Flow Invoice Identifier
9256 , p_source_83 IN NUMBER
9257 )
9258 IS
9259
9260 l_component_type VARCHAR2(80);
9261 l_component_code VARCHAR2(30);
9262 l_component_type_code VARCHAR2(1);
9263 l_component_appl_id INTEGER;
9264 l_amb_context_code VARCHAR2(30);
9265 l_entity_code VARCHAR2(30);
9266 l_event_class_code VARCHAR2(30);
9267 l_ae_header_id NUMBER;
9268 l_event_type_code VARCHAR2(30);
9269 l_line_definition_code VARCHAR2(30);
9270 l_line_definition_owner_code VARCHAR2(1);
9271 --
9272 -- adr variables
9273 l_segment VARCHAR2(30);
9274 l_ccid NUMBER;
9275 l_adr_transaction_coa_id NUMBER;
9276 l_adr_accounting_coa_id NUMBER;
9277 l_adr_flexfield_segment_code VARCHAR2(30);
9278 l_adr_flex_value_set_id NUMBER;
9279 l_adr_value_type_code VARCHAR2(30);
9280 l_adr_value_combination_id NUMBER;
9281 l_adr_value_segment_code VARCHAR2(30);
9282
9283 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
9284 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
9285 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
9286 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
9287
9288 -- 4262811 Variables ------------------------------------------------------------------------------------------
9289 l_entered_amt_idx NUMBER;
9290 l_accted_amt_idx NUMBER;
9291 l_acc_rev_flag VARCHAR2(1);
9292 l_accrual_line_num NUMBER;
9293 l_tmp_amt NUMBER;
9294 l_acc_rev_natural_side_code VARCHAR2(1);
9295
9296 l_num_entries NUMBER;
9297 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
9298 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
9299 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
9300 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
9301 l_recog_line_1 NUMBER;
9302 l_recog_line_2 NUMBER;
9303
9304 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
9305 l_bflow_applied_to_amt NUMBER; -- 5132302
9306 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
9307
9308 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
9309
9310 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
9311 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
9312
9313 ---------------------------------------------------------------------------------------------------------------
9314
9315
9316 --
9317 -- bulk performance
9318 --
9319 l_balance_type_code VARCHAR2(1);
9320 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
9324 -- Upgrade strategy
9321 l_log_module VARCHAR2(240);
9322
9323 --
9325 --
9326 l_actual_upg_option VARCHAR2(1);
9327 l_enc_upg_option VARCHAR2(1);
9328
9329 --
9330 BEGIN
9331 --
9332 IF g_log_enabled THEN
9333 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_51';
9334 END IF;
9335 --
9336 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
9337
9338 trace
9339 (p_msg => 'BEGIN of AcctLineType_51'
9340 ,p_level => C_LEVEL_PROCEDURE
9341 ,p_module => l_log_module);
9342
9343 END IF;
9344 --
9345 l_component_type := 'AMB_JLT';
9346 l_component_code := 'AP_ALC_EX_RATE_VAR_CM';
9347 l_component_type_code := 'S';
9348 l_component_appl_id := 200;
9349 l_amb_context_code := 'DEFAULT';
9350 l_entity_code := 'AP_INVOICES';
9351 l_event_class_code := 'CREDIT MEMOS';
9352 l_event_type_code := 'CREDIT MEMOS_ALL';
9353 l_line_definition_owner_code := 'S';
9354 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
9355 --
9356 l_balance_type_code := 'A';
9357 l_segment := NULL;
9358 l_ccid := NULL;
9359 l_adr_transaction_coa_id := NULL;
9360 l_adr_accounting_coa_id := NULL;
9361 l_adr_flexfield_segment_code := NULL;
9362 l_adr_flex_value_set_id := NULL;
9363 l_adr_value_type_code := NULL;
9364 l_adr_value_combination_id := NULL;
9365 l_adr_value_segment_code := NULL;
9366
9367 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
9368 l_bflow_class_code := ''; -- 4219869 Business Flow
9369 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
9370 l_budgetary_control_flag := 'N';
9371
9372 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9373 l_bflow_applied_to_amt := NULL; -- 5132302
9374 l_entered_amt_idx := NULL; -- 4262811
9375 l_accted_amt_idx := NULL; -- 4262811
9376 l_acc_rev_flag := NULL; -- 4262811
9377 l_accrual_line_num := NULL; -- 4262811
9378 l_tmp_amt := NULL; -- 4262811
9379 --
9380 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
9381 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
9382 return;
9383 END IF;
9384
9385 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
9386 l_balance_type_code <> 'B' THEN
9387 IF NVL(p_source_21,'
9388 ') = 'ACCRUAL'
9389 THEN
9390
9391 --
9392 XLA_AE_LINES_PKG.SetNewLine;
9393
9394 p_balance_type_code := l_balance_type_code;
9395 -- set the flag so later we will know whether the gain loss line needs to be created
9396
9397 IF(l_balance_type_code = 'A' ) THEN
9398 p_actual_flag :='G';
9399 END IF;
9400
9401 --
9402 -- bulk performance
9403 --
9404 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
9405 p_header_num => 0); -- 4262811
9406 --
9407 -- set accounting line options
9408 --
9409 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
9410 p_natural_side_code => 'G'
9411 , p_gain_or_loss_flag => 'N'
9412 , p_gl_transfer_mode_code => 'S'
9413 , p_acct_entry_type_code => 'A'
9414 , p_switch_side_flag => ''
9415 , p_merge_duplicate_code => 'A'
9416 );
9417 --
9418 l_acc_rev_natural_side_code := 'C'; -- 4262811
9419 --
9420 --
9421 -- set accounting line type info
9422 --
9423 xla_ae_lines_pkg.SetAcctLineType
9424 (p_component_type => l_component_type
9425 ,p_event_type_code => l_event_type_code
9426 ,p_line_definition_owner_code => l_line_definition_owner_code
9427 ,p_line_definition_code => l_line_definition_code
9428 ,p_accounting_line_code => l_component_code
9429 ,p_accounting_line_type_code => l_component_type_code
9430 ,p_accounting_line_appl_id => l_component_appl_id
9431 ,p_amb_context_code => l_amb_context_code
9432 ,p_entity_code => l_entity_code
9433 ,p_event_class_code => l_event_class_code);
9434 --
9435 -- set accounting class
9436 --
9437 xla_ae_lines_pkg.SetAcctClass(
9438 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
9439 , p_ae_header_id => l_ae_header_id
9440 );
9441
9442 --
9443 -- set rounding class
9444 --
9445 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
9446 'EXCHANGE_RATE_VARIANCE';
9447
9448 --
9449 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
9450 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
9451 --
9452 -- bulk performance
9453 --
9457 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
9454 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
9455
9456 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
9458
9459 -- 4955764
9460 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
9461 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
9462
9463 -- 4458381 Public Sector Enh
9464
9465 --
9466 -- set accounting attributes for the line type
9467 --
9468 l_entered_amt_idx := NULL;
9469 l_accted_amt_idx := 23;
9470 l_bflow_applied_to_amt_idx := NULL; -- 5132302
9471 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
9472 l_rec_acct_attrs.array_char_value(1) := p_source_41;
9473 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
9474 l_rec_acct_attrs.array_num_value(2) :=
9475 xla_ae_sources_pkg.GetSystemSourceNum(
9476 p_source_code => 'XLA_EVENT_APPL_ID'
9477 , p_source_type_code => 'Y'
9478 , p_source_application_id => 602
9479 );
9480 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
9481 l_rec_acct_attrs.array_char_value(3) := p_source_43;
9482 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
9483 l_rec_acct_attrs.array_char_value(4) :=
9484 xla_ae_sources_pkg.GetSystemSourceChar(
9485 p_source_code => 'XLA_ENTITY_CODE'
9486 , p_source_type_code => 'Y'
9487 , p_source_application_id => 602
9488 );
9489 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
9490 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
9491 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
9492 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
9493 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
9494 l_rec_acct_attrs.array_num_value(7) := p_source_79;
9495 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
9496 l_rec_acct_attrs.array_char_value(8) := p_source_80;
9497 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
9498 l_rec_acct_attrs.array_char_value(9) := p_source_81;
9499 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
9500 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
9501 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
9502 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
9503 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
9504 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
9505 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
9506 l_rec_acct_attrs.array_char_value(13) := p_source_43;
9507 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
9508 l_rec_acct_attrs.array_num_value(14) := p_source_53;
9509 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
9510 l_rec_acct_attrs.array_num_value(15) := p_source_54;
9511 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
9512 l_rec_acct_attrs.array_char_value(16) := p_source_55;
9513 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
9514 l_rec_acct_attrs.array_num_value(17) := p_source_56;
9515 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
9516 l_rec_acct_attrs.array_num_value(18) := p_source_57;
9517 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
9518 l_rec_acct_attrs.array_num_value(19) := p_source_58;
9519 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
9520 l_rec_acct_attrs.array_char_value(20) := p_source_55;
9521 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
9522 l_rec_acct_attrs.array_num_value(21) := p_source_59;
9523 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
9524 l_rec_acct_attrs.array_char_value(22) := p_source_60;
9525 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
9526 l_rec_acct_attrs.array_num_value(23) := p_source_9;
9527 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
9528 l_rec_acct_attrs.array_date_value(24) := p_source_65;
9529 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
9530 l_rec_acct_attrs.array_char_value(25) := p_source_66;
9531 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
9532 l_rec_acct_attrs.array_date_value(26) := p_source_67;
9533 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
9534 l_rec_acct_attrs.array_char_value(27) := p_source_68;
9535 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
9536 l_rec_acct_attrs.array_num_value(28) := p_source_69;
9537 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
9538 l_rec_acct_attrs.array_num_value(29) := p_source_70;
9539 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
9540 l_rec_acct_attrs.array_char_value(30) := p_source_71;
9541 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
9542 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
9543 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
9544 l_rec_acct_attrs.array_char_value(32) := p_source_43;
9545 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
9546 l_rec_acct_attrs.array_num_value(33) := p_source_73;
9547 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
9551 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
9548 l_rec_acct_attrs.array_num_value(34) := p_source_74;
9549 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
9550 l_rec_acct_attrs.array_num_value(35) := p_source_75;
9552 l_rec_acct_attrs.array_num_value(36) := p_source_76;
9553 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
9554 l_rec_acct_attrs.array_num_value(37) := p_source_77;
9555 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
9556 l_rec_acct_attrs.array_num_value(38) := p_source_78;
9557
9558 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
9559 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
9560
9561 ---------------------------------------------------------------------------------------------------------------
9562 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
9563 ---------------------------------------------------------------------------------------------------------------
9564 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
9565
9566 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9567 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
9568
9569 IF xla_accounting_cache_pkg.GetValueChar
9570 (p_source_code => 'LEDGER_CATEGORY_CODE'
9571 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
9572 AND l_bflow_method_code = 'PRIOR_ENTRY'
9573 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
9574 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
9575 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
9576 )
9577 THEN
9578 xla_ae_lines_pkg.BflowUpgEntry
9579 (p_business_method_code => l_bflow_method_code
9580 ,p_business_class_code => l_bflow_class_code
9581 ,p_balance_type => l_balance_type_code);
9582 ELSE
9583 NULL;
9584 -- No business flow processing for business flow method of NONE.
9585 END IF;
9586
9587 --
9588 -- call analytical criteria
9589 --
9590
9591 --
9592 -- call description
9593 --
9594
9595 xla_ae_lines_pkg.SetLineDescription(
9596 p_ae_header_id => l_ae_header_id
9597 ,p_description => Description_2 (
9598 p_application_id => p_application_id
9599 , p_ae_header_id => l_ae_header_id
9600 , p_source_1 => p_source_1
9601 )
9602 );
9603
9604
9605 --
9606 -- call ADRs
9607 -- Bug 4922099
9608 --
9609 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9610 (NVL(l_actual_upg_option, 'N') = 'O') OR
9611 (NVL(l_enc_upg_option, 'N') = 'O')
9612 )
9613 THEN
9614 NULL;
9615 --
9616 --
9617
9618 l_ccid := AcctDerRule_29(
9619 p_application_id => p_application_id
9620 , p_ae_header_id => l_ae_header_id
9621 , p_source_3 => p_source_3
9622 , p_source_3_meaning => p_source_3_meaning
9623 , p_source_8 => p_source_8
9624 , p_source_9 => p_source_9
9625 , p_source_10 => p_source_10
9626 , p_source_10_meaning => p_source_10_meaning
9627 , p_source_11 => p_source_11
9628 , p_source_18 => p_source_18
9629 , p_source_35 => p_source_35
9630 , p_source_35_meaning => p_source_35_meaning
9631 , x_transaction_coa_id => l_adr_transaction_coa_id
9632 , x_accounting_coa_id => l_adr_accounting_coa_id
9633 , x_value_type_code => l_adr_value_type_code
9634 , p_side => 'ALL'
9635 );
9636
9637 xla_ae_lines_pkg.set_ccid(
9638 p_code_combination_id => l_ccid
9639 , p_value_type_code => l_adr_value_type_code
9640 , p_transaction_coa_id => l_adr_transaction_coa_id
9641 , p_accounting_coa_id => l_adr_accounting_coa_id
9642 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
9643 , p_adr_type_code => 'S'
9644 , p_component_type => l_component_type
9645 , p_component_code => l_component_code
9646 , p_component_type_code => l_component_type_code
9647 , p_component_appl_id => l_component_appl_id
9648 , p_amb_context_code => l_amb_context_code
9649 , p_side => 'ALL'
9650 );
9651
9652
9653 l_segment := AcctDerRule_8(
9654 p_application_id => p_application_id
9655 , p_ae_header_id => l_ae_header_id
9656 , p_source_3 => p_source_3
9657 , p_source_3_meaning => p_source_3_meaning
9658 , p_source_8 => p_source_8
9659 , p_source_10 => p_source_10
9660 , p_source_10_meaning => p_source_10_meaning
9661 , x_transaction_coa_id => l_adr_transaction_coa_id
9662 , x_accounting_coa_id => l_adr_accounting_coa_id
9663 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9664 , x_flex_value_set_id => l_adr_flex_value_set_id
9665 , x_value_type_code => l_adr_value_type_code
9666 , x_value_combination_id => l_adr_value_combination_id
9667 , x_value_segment_code => l_adr_value_segment_code
9671
9668 , p_side => 'DEBIT'
9669 , p_override_seg_flag => 'Y'
9670 );
9672 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9673
9674 xla_ae_lines_pkg.set_segment(
9675 p_to_segment_code => 'GL_ACCOUNT'
9676 , p_segment_value => l_segment
9677 , p_from_segment_code => l_adr_value_segment_code
9678 , p_from_combination_id => l_adr_value_combination_id
9679 , p_value_type_code => l_adr_value_type_code
9680 , p_transaction_coa_id => l_adr_transaction_coa_id
9681 , p_accounting_coa_id => l_adr_accounting_coa_id
9682 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9683 , p_flex_value_set_id => l_adr_flex_value_set_id
9684 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
9685 , p_adr_type_code => 'S'
9686 , p_component_type => l_component_type
9687 , p_component_code => l_component_code
9688 , p_component_type_code => l_component_type_code
9689 , p_component_appl_id => l_component_appl_id
9690 , p_amb_context_code => l_amb_context_code
9691 , p_entity_code => 'AP_INVOICES'
9692 , p_event_class_code => 'CREDIT MEMOS'
9693 , p_side => 'DEBIT'
9694 );
9695
9696 END IF;
9697
9698 l_segment := AcctDerRule_9(
9699 p_application_id => p_application_id
9700 , p_ae_header_id => l_ae_header_id
9701 , p_source_3 => p_source_3
9702 , p_source_3_meaning => p_source_3_meaning
9703 , p_source_10 => p_source_10
9704 , p_source_10_meaning => p_source_10_meaning
9705 , p_source_11 => p_source_11
9706 , x_transaction_coa_id => l_adr_transaction_coa_id
9707 , x_accounting_coa_id => l_adr_accounting_coa_id
9708 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9709 , x_flex_value_set_id => l_adr_flex_value_set_id
9710 , x_value_type_code => l_adr_value_type_code
9711 , x_value_combination_id => l_adr_value_combination_id
9712 , x_value_segment_code => l_adr_value_segment_code
9713 , p_side => 'CREDIT'
9714 , p_override_seg_flag => 'Y'
9715 );
9716
9717 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9718
9719 xla_ae_lines_pkg.set_segment(
9720 p_to_segment_code => 'GL_ACCOUNT'
9721 , p_segment_value => l_segment
9722 , p_from_segment_code => l_adr_value_segment_code
9723 , p_from_combination_id => l_adr_value_combination_id
9724 , p_value_type_code => l_adr_value_type_code
9725 , p_transaction_coa_id => l_adr_transaction_coa_id
9726 , p_accounting_coa_id => l_adr_accounting_coa_id
9727 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9728 , p_flex_value_set_id => l_adr_flex_value_set_id
9729 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
9730 , p_adr_type_code => 'S'
9731 , p_component_type => l_component_type
9732 , p_component_code => l_component_code
9733 , p_component_type_code => l_component_type_code
9734 , p_component_appl_id => l_component_appl_id
9735 , p_amb_context_code => l_amb_context_code
9736 , p_entity_code => 'AP_INVOICES'
9737 , p_event_class_code => 'CREDIT MEMOS'
9738 , p_side => 'CREDIT'
9739 );
9740
9741 END IF;
9742
9743 l_segment := AcctDerRule_22(
9744 p_application_id => p_application_id
9745 , p_ae_header_id => l_ae_header_id
9746 , p_source_3 => p_source_3
9747 , p_source_3_meaning => p_source_3_meaning
9748 , p_source_10 => p_source_10
9749 , p_source_10_meaning => p_source_10_meaning
9750 , p_source_18 => p_source_18
9751 , x_transaction_coa_id => l_adr_transaction_coa_id
9752 , x_accounting_coa_id => l_adr_accounting_coa_id
9753 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9754 , x_flex_value_set_id => l_adr_flex_value_set_id
9755 , x_value_type_code => l_adr_value_type_code
9756 , x_value_combination_id => l_adr_value_combination_id
9757 , x_value_segment_code => l_adr_value_segment_code
9758 , p_side => 'ALL'
9759 , p_override_seg_flag => 'Y'
9760 );
9761
9762 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9763
9764 xla_ae_lines_pkg.set_segment(
9765 p_to_segment_code => 'GL_BALANCING'
9766 , p_segment_value => l_segment
9767 , p_from_segment_code => l_adr_value_segment_code
9768 , p_from_combination_id => l_adr_value_combination_id
9769 , p_value_type_code => l_adr_value_type_code
9770 , p_transaction_coa_id => l_adr_transaction_coa_id
9771 , p_accounting_coa_id => l_adr_accounting_coa_id
9772 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9773 , p_flex_value_set_id => l_adr_flex_value_set_id
9774 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
9775 , p_adr_type_code => 'S'
9776 , p_component_type => l_component_type
9780 , p_amb_context_code => l_amb_context_code
9777 , p_component_code => l_component_code
9778 , p_component_type_code => l_component_type_code
9779 , p_component_appl_id => l_component_appl_id
9781 , p_entity_code => 'AP_INVOICES'
9782 , p_event_class_code => 'CREDIT MEMOS'
9783 , p_side => 'ALL'
9784 );
9785
9786 END IF;
9787
9788 --
9789 --
9790 END IF;
9791 --
9792 -- Bug 4922099
9793 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
9794 (NVL(l_enc_upg_option, 'N') = 'O')
9795 ) AND
9796 (l_bflow_method_code = 'PRIOR_ENTRY')
9797 )
9798 THEN
9799 IF
9800 --
9801 1 = 2
9802 --
9803 THEN
9804 xla_accounting_err_pkg.build_message
9805 (p_appli_s_name => 'XLA'
9806 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9807 ,p_token_1 => 'LINE_NUMBER'
9808 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
9809 ,p_token_2 => 'LINE_TYPE_NAME'
9810 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
9811 l_component_type
9812 ,l_component_code
9813 ,l_component_type_code
9814 ,l_component_appl_id
9815 ,l_amb_context_code
9816 ,l_entity_code
9817 ,l_event_class_code
9818 )
9819 ,p_token_3 => 'OWNER'
9820 ,p_value_3 => xla_lookups_pkg.get_meaning(
9821 p_lookup_type => 'XLA_OWNER_TYPE'
9822 ,p_lookup_code => l_component_type_code
9823 )
9824 ,p_token_4 => 'PRODUCT_NAME'
9825 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
9826 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
9827 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
9828 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
9829 ,p_ae_header_id => NULL
9830 );
9831
9832 IF (C_LEVEL_ERROR>= g_log_level) THEN
9833 trace
9834 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
9835 ,p_level => C_LEVEL_ERROR
9836 ,p_module => l_log_module);
9837 END IF;
9838 END IF;
9839 END IF;
9840 --
9841 --
9842 ------------------------------------------------------------------------------------------------
9843 -- 4219869 Business Flow
9844 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
9845 -- Prior Entry. Currently, the following code is always generated.
9846 ------------------------------------------------------------------------------------------------
9847 XLA_AE_LINES_PKG.ValidateCurrentLine;
9848
9849 ------------------------------------------------------------------------------------
9850 -- 4219869 Business Flow
9851 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
9852 ------------------------------------------------------------------------------------
9853 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
9854
9855 ----------------------------------------------------------------------------------
9856 -- 4219869 Business Flow
9857 -- Update journal entry status -- Need to generate this within IF <condition>
9858 ----------------------------------------------------------------------------------
9859 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
9860 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
9861 ,p_balance_type_code => l_balance_type_code
9862 );
9863
9864 -------------------------------------------------------------------------------------------
9865 -- 4262811 - Generate the Accrual Reversal lines
9866 -------------------------------------------------------------------------------------------
9867 BEGIN
9868 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
9869 (g_array_event(p_event_id).array_value_num('header_index'));
9870 IF l_acc_rev_flag IS NULL THEN
9871 l_acc_rev_flag := 'N';
9872 END IF;
9873 EXCEPTION
9874 WHEN OTHERS THEN
9878 IF (l_acc_rev_flag = 'Y') THEN
9875 l_acc_rev_flag := 'N';
9876 END;
9877 --
9879
9880 -- 4645092 ------------------------------------------------------------------------------
9881 -- To allow MPA report to determine if it should generate report process
9882 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
9883 ------------------------------------------------------------------------------------------
9884
9885 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
9886 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
9887 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
9888 -- call ADRs
9889 -- Bug 4922099
9890 --
9891 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
9892 (NVL(l_actual_upg_option, 'N') = 'O') OR
9893 (NVL(l_enc_upg_option, 'N') = 'O')
9894 )
9895 THEN
9896 NULL;
9897 --
9898 --
9899
9900 l_ccid := AcctDerRule_29(
9901 p_application_id => p_application_id
9902 , p_ae_header_id => l_ae_header_id
9903 , p_source_3 => p_source_3
9904 , p_source_3_meaning => p_source_3_meaning
9905 , p_source_8 => p_source_8
9906 , p_source_9 => p_source_9
9907 , p_source_10 => p_source_10
9908 , p_source_10_meaning => p_source_10_meaning
9909 , p_source_11 => p_source_11
9910 , p_source_18 => p_source_18
9911 , p_source_35 => p_source_35
9912 , p_source_35_meaning => p_source_35_meaning
9913 , x_transaction_coa_id => l_adr_transaction_coa_id
9914 , x_accounting_coa_id => l_adr_accounting_coa_id
9915 , x_value_type_code => l_adr_value_type_code
9916 , p_side => 'ALL'
9917 );
9918
9919 xla_ae_lines_pkg.set_ccid(
9920 p_code_combination_id => l_ccid
9921 , p_value_type_code => l_adr_value_type_code
9922 , p_transaction_coa_id => l_adr_transaction_coa_id
9923 , p_accounting_coa_id => l_adr_accounting_coa_id
9924 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
9925 , p_adr_type_code => 'S'
9926 , p_component_type => l_component_type
9927 , p_component_code => l_component_code
9928 , p_component_type_code => l_component_type_code
9929 , p_component_appl_id => l_component_appl_id
9930 , p_amb_context_code => l_amb_context_code
9931 , p_side => 'ALL'
9932 );
9933
9934
9935 l_segment := AcctDerRule_8(
9936 p_application_id => p_application_id
9937 , p_ae_header_id => l_ae_header_id
9938 , p_source_3 => p_source_3
9939 , p_source_3_meaning => p_source_3_meaning
9940 , p_source_8 => p_source_8
9941 , p_source_10 => p_source_10
9942 , p_source_10_meaning => p_source_10_meaning
9943 , x_transaction_coa_id => l_adr_transaction_coa_id
9944 , x_accounting_coa_id => l_adr_accounting_coa_id
9945 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9946 , x_flex_value_set_id => l_adr_flex_value_set_id
9947 , x_value_type_code => l_adr_value_type_code
9948 , x_value_combination_id => l_adr_value_combination_id
9949 , x_value_segment_code => l_adr_value_segment_code
9950 , p_side => 'DEBIT'
9951 , p_override_seg_flag => 'Y'
9952 );
9953
9954 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
9955
9956 xla_ae_lines_pkg.set_segment(
9957 p_to_segment_code => 'GL_ACCOUNT'
9958 , p_segment_value => l_segment
9959 , p_from_segment_code => l_adr_value_segment_code
9960 , p_from_combination_id => l_adr_value_combination_id
9961 , p_value_type_code => l_adr_value_type_code
9962 , p_transaction_coa_id => l_adr_transaction_coa_id
9963 , p_accounting_coa_id => l_adr_accounting_coa_id
9964 , p_flexfield_segment_code => l_adr_flexfield_segment_code
9965 , p_flex_value_set_id => l_adr_flex_value_set_id
9966 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
9967 , p_adr_type_code => 'S'
9968 , p_component_type => l_component_type
9969 , p_component_code => l_component_code
9970 , p_component_type_code => l_component_type_code
9971 , p_component_appl_id => l_component_appl_id
9972 , p_amb_context_code => l_amb_context_code
9973 , p_entity_code => 'AP_INVOICES'
9974 , p_event_class_code => 'CREDIT MEMOS'
9975 , p_side => 'DEBIT'
9976 );
9977
9978 END IF;
9979
9980 l_segment := AcctDerRule_9(
9981 p_application_id => p_application_id
9982 , p_ae_header_id => l_ae_header_id
9983 , p_source_3 => p_source_3
9984 , p_source_3_meaning => p_source_3_meaning
9985 , p_source_10 => p_source_10
9986 , p_source_10_meaning => p_source_10_meaning
9987 , p_source_11 => p_source_11
9988 , x_transaction_coa_id => l_adr_transaction_coa_id
9989 , x_accounting_coa_id => l_adr_accounting_coa_id
9990 , x_flexfield_segment_code => l_adr_flexfield_segment_code
9991 , x_flex_value_set_id => l_adr_flex_value_set_id
9995 , p_side => 'CREDIT'
9992 , x_value_type_code => l_adr_value_type_code
9993 , x_value_combination_id => l_adr_value_combination_id
9994 , x_value_segment_code => l_adr_value_segment_code
9996 , p_override_seg_flag => 'Y'
9997 );
9998
9999 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10000
10001 xla_ae_lines_pkg.set_segment(
10002 p_to_segment_code => 'GL_ACCOUNT'
10003 , p_segment_value => l_segment
10004 , p_from_segment_code => l_adr_value_segment_code
10005 , p_from_combination_id => l_adr_value_combination_id
10006 , p_value_type_code => l_adr_value_type_code
10007 , p_transaction_coa_id => l_adr_transaction_coa_id
10008 , p_accounting_coa_id => l_adr_accounting_coa_id
10009 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10010 , p_flex_value_set_id => l_adr_flex_value_set_id
10011 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
10012 , p_adr_type_code => 'S'
10013 , p_component_type => l_component_type
10014 , p_component_code => l_component_code
10015 , p_component_type_code => l_component_type_code
10016 , p_component_appl_id => l_component_appl_id
10017 , p_amb_context_code => l_amb_context_code
10018 , p_entity_code => 'AP_INVOICES'
10019 , p_event_class_code => 'CREDIT MEMOS'
10020 , p_side => 'CREDIT'
10021 );
10022
10023 END IF;
10024
10025 l_segment := AcctDerRule_22(
10026 p_application_id => p_application_id
10027 , p_ae_header_id => l_ae_header_id
10028 , p_source_3 => p_source_3
10029 , p_source_3_meaning => p_source_3_meaning
10030 , p_source_10 => p_source_10
10031 , p_source_10_meaning => p_source_10_meaning
10032 , p_source_18 => p_source_18
10033 , x_transaction_coa_id => l_adr_transaction_coa_id
10034 , x_accounting_coa_id => l_adr_accounting_coa_id
10035 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10036 , x_flex_value_set_id => l_adr_flex_value_set_id
10037 , x_value_type_code => l_adr_value_type_code
10038 , x_value_combination_id => l_adr_value_combination_id
10039 , x_value_segment_code => l_adr_value_segment_code
10040 , p_side => 'ALL'
10041 , p_override_seg_flag => 'Y'
10042 );
10043
10044 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10045
10046 xla_ae_lines_pkg.set_segment(
10047 p_to_segment_code => 'GL_BALANCING'
10048 , p_segment_value => l_segment
10049 , p_from_segment_code => l_adr_value_segment_code
10050 , p_from_combination_id => l_adr_value_combination_id
10051 , p_value_type_code => l_adr_value_type_code
10052 , p_transaction_coa_id => l_adr_transaction_coa_id
10053 , p_accounting_coa_id => l_adr_accounting_coa_id
10054 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10055 , p_flex_value_set_id => l_adr_flex_value_set_id
10056 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10057 , p_adr_type_code => 'S'
10058 , p_component_type => l_component_type
10059 , p_component_code => l_component_code
10060 , p_component_type_code => l_component_type_code
10061 , p_component_appl_id => l_component_appl_id
10062 , p_amb_context_code => l_amb_context_code
10063 , p_entity_code => 'AP_INVOICES'
10064 , p_event_class_code => 'CREDIT MEMOS'
10065 , p_side => 'ALL'
10066 );
10067
10068 END IF;
10069
10070 --
10071 --
10072 END IF;
10073
10074 --
10075 -- Update the line information that should be overwritten
10076 --
10077 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
10078 p_header_num => 1);
10079 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
10080
10081 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
10082
10083 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
10084 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
10085 END IF;
10086
10087 --
10088 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
10089 --
10090 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
10091 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
10092 ELSE
10093 ---------------------------------------------------------------------------------------------------
10094 -- 4262811a Switch Sign
10095 ---------------------------------------------------------------------------------------------------
10096 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
10097 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10101 -- 5132302
10098 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10099 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
10100 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10102 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
10103 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
10104
10105 END IF;
10106
10107 -- 4955764
10108 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10109 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
10110
10111
10112 XLA_AE_LINES_PKG.ValidateCurrentLine;
10113 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10114
10115 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10116 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
10117 ,p_balance_type_code => l_balance_type_code);
10118
10119 END IF;
10120
10121 -----------------------------------------------------------------------------------------
10122 -- 4262811 Multiperiod Accounting
10123 -----------------------------------------------------------------------------------------
10124 -- No MPA option is assigned.
10125
10126
10127 END IF;
10128 END IF;
10129 --
10130
10131 --
10132 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10133 trace
10134 (p_msg => 'END of AcctLineType_51'
10135 ,p_level => C_LEVEL_PROCEDURE
10136 ,p_module => l_log_module);
10137 END IF;
10138 --
10139 EXCEPTION
10140 WHEN xla_exceptions_pkg.application_exception THEN
10141 RAISE;
10142 WHEN OTHERS THEN
10143 xla_exceptions_pkg.raise_message
10144 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_51');
10145 END AcctLineType_51;
10146 --
10147
10148 ---------------------------------------
10149 --
10150 -- PRIVATE FUNCTION
10151 -- AcctLineType_52
10152 --
10153 ---------------------------------------
10154 PROCEDURE AcctLineType_52 (
10155 p_application_id IN NUMBER
10156 ,p_event_id IN NUMBER
10157 ,p_calculate_acctd_flag IN VARCHAR2
10158 ,p_calculate_g_l_flag IN VARCHAR2
10159 ,p_actual_flag IN OUT VARCHAR2
10160 ,p_balance_type_code OUT VARCHAR2
10161 ,p_gain_or_loss_ref OUT VARCHAR2
10162
10163 --Invoice Distribution Description
10164 , p_source_1 IN VARCHAR2
10165 --Automatic Offsets Value
10166 , p_source_3 IN VARCHAR2
10167 , p_source_3_meaning IN VARCHAR2
10168 --Purchase Order Rate Variance Gain Account
10169 , p_source_8 IN NUMBER
10170 --Invoice Distribution Ledger Amount
10171 , p_source_9 IN NUMBER
10172 --Destination Type of the PO Distribution
10173 , p_source_10 IN VARCHAR2
10174 , p_source_10_meaning IN VARCHAR2
10175 --Purchase Order Rate Variance Loss Account
10176 , p_source_11 IN NUMBER
10177 --Invoice Distribution Account
10178 , p_source_18 IN NUMBER
10179 --Invoice Distribution Type
10180 , p_source_21 IN VARCHAR2
10181 , p_source_21_meaning IN VARCHAR2
10182 --Automatic Offsets Flag
10183 , p_source_35 IN VARCHAR2
10184 , p_source_35_meaning IN VARCHAR2
10185 --Accounting Reversal Indicator
10186 , p_source_41 IN VARCHAR2
10187 --Distribution Link Type
10188 , p_source_43 IN VARCHAR2
10189 --Allocation to Main Distribution Identifier
10190 , p_source_45 IN NUMBER
10191 --Invoice Identifier
10192 , p_source_46 IN NUMBER
10193 --Invoice Distribution Identifier
10194 , p_source_52 IN NUMBER
10195 --Payables Encumbrance Upgrade Credit Account
10196 , p_source_53 IN NUMBER
10197 --Payables Encumbrance Upgrade Credit Amount
10198 , p_source_54 IN NUMBER
10199 --Invoice Currency Code
10200 , p_source_55 IN VARCHAR2
10201 --Payables Encumbrance Upgrade Credit Base Amount
10202 , p_source_56 IN NUMBER
10203 --Payables Encumbrance Upgrade Debit Account
10204 , p_source_57 IN NUMBER
10205 --Payables Encumbrance Upgrade Debit Amount
10206 , p_source_58 IN NUMBER
10207 --Payables Encumbrance Upgrade Debit Base Amount
10208 , p_source_59 IN NUMBER
10209 --Payables Encumbrance Upgrade Option
10210 , p_source_60 IN VARCHAR2
10211 --Deferred Accounting End Date
10212 , p_source_65 IN DATE
10213 --Deferred Accounting Option
10214 , p_source_66 IN VARCHAR2
10215 --Deferred Accounting Start Date
10216 , p_source_67 IN DATE
10217 --Override Accounted Amount Indicator
10218 , p_source_68 IN VARCHAR2
10219 , p_source_68_meaning IN VARCHAR2
10220 --Invoice Supplier Identifier
10221 , p_source_69 IN NUMBER
10222 --Invoice Supplier Site Identifier
10223 , p_source_70 IN NUMBER
10224 --Third Party Type
10225 , p_source_71 IN VARCHAR2
10226 --Parent Reversal Identifier
10227 , p_source_72 IN NUMBER
10228 --Invoice Distribution Tax Line Identifier
10229 , p_source_74 IN NUMBER
10230 --Invoice Distribution Tax Distribution Identifier from Tax
10231 , p_source_75 IN NUMBER
10235 , p_source_77 IN NUMBER
10232 --Invoice Distribution Summary Tax Line Identifier
10233 , p_source_76 IN NUMBER
10234 --Payables Upgrade Credit Encumbrance Type Identifier
10236 --Payables Upgrade Debit Encumbrance Type Identifier
10237 , p_source_78 IN NUMBER
10238 --Business Flow Accounts Payable Application Identifier
10239 , p_source_79 IN NUMBER
10240 --Business Flow Invoice Distribution Type
10241 , p_source_80 IN VARCHAR2
10242 --Business Flow Invoice Entity Code
10243 , p_source_81 IN VARCHAR2
10244 --Business Flow Invoice Distribution Identifier
10245 , p_source_82 IN NUMBER
10246 --Business Flow Invoice Identifier
10247 , p_source_83 IN NUMBER
10248 )
10249 IS
10250
10251 l_component_type VARCHAR2(80);
10252 l_component_code VARCHAR2(30);
10253 l_component_type_code VARCHAR2(1);
10254 l_component_appl_id INTEGER;
10255 l_amb_context_code VARCHAR2(30);
10256 l_entity_code VARCHAR2(30);
10257 l_event_class_code VARCHAR2(30);
10258 l_ae_header_id NUMBER;
10259 l_event_type_code VARCHAR2(30);
10260 l_line_definition_code VARCHAR2(30);
10261 l_line_definition_owner_code VARCHAR2(1);
10262 --
10263 -- adr variables
10264 l_segment VARCHAR2(30);
10265 l_ccid NUMBER;
10266 l_adr_transaction_coa_id NUMBER;
10267 l_adr_accounting_coa_id NUMBER;
10268 l_adr_flexfield_segment_code VARCHAR2(30);
10269 l_adr_flex_value_set_id NUMBER;
10270 l_adr_value_type_code VARCHAR2(30);
10271 l_adr_value_combination_id NUMBER;
10272 l_adr_value_segment_code VARCHAR2(30);
10273
10274 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
10275 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
10276 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
10277 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
10278
10279 -- 4262811 Variables ------------------------------------------------------------------------------------------
10280 l_entered_amt_idx NUMBER;
10281 l_accted_amt_idx NUMBER;
10282 l_acc_rev_flag VARCHAR2(1);
10283 l_accrual_line_num NUMBER;
10284 l_tmp_amt NUMBER;
10285 l_acc_rev_natural_side_code VARCHAR2(1);
10286
10287 l_num_entries NUMBER;
10288 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
10289 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
10290 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
10291 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
10292 l_recog_line_1 NUMBER;
10293 l_recog_line_2 NUMBER;
10294
10295 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
10296 l_bflow_applied_to_amt NUMBER; -- 5132302
10297 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
10298
10299 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
10300
10301 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
10302 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
10303
10304 ---------------------------------------------------------------------------------------------------------------
10305
10306
10307 --
10308 -- bulk performance
10309 --
10310 l_balance_type_code VARCHAR2(1);
10311 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
10312 l_log_module VARCHAR2(240);
10313
10314 --
10315 -- Upgrade strategy
10316 --
10317 l_actual_upg_option VARCHAR2(1);
10318 l_enc_upg_option VARCHAR2(1);
10319
10320 --
10321 BEGIN
10322 --
10323 IF g_log_enabled THEN
10324 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_52';
10325 END IF;
10326 --
10327 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
10328
10329 trace
10330 (p_msg => 'BEGIN of AcctLineType_52'
10331 ,p_level => C_LEVEL_PROCEDURE
10332 ,p_module => l_log_module);
10333
10334 END IF;
10335 --
10336 l_component_type := 'AMB_JLT';
10337 l_component_code := 'AP_ALC_EX_RATE_VAR_DM';
10338 l_component_type_code := 'S';
10339 l_component_appl_id := 200;
10340 l_amb_context_code := 'DEFAULT';
10341 l_entity_code := 'AP_INVOICES';
10342 l_event_class_code := 'DEBIT MEMOS';
10343 l_event_type_code := 'DEBIT MEMOS_ALL';
10344 l_line_definition_owner_code := 'S';
10345 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
10346 --
10347 l_balance_type_code := 'A';
10348 l_segment := NULL;
10349 l_ccid := NULL;
10350 l_adr_transaction_coa_id := NULL;
10351 l_adr_accounting_coa_id := NULL;
10352 l_adr_flexfield_segment_code := NULL;
10353 l_adr_flex_value_set_id := NULL;
10354 l_adr_value_type_code := NULL;
10355 l_adr_value_combination_id := NULL;
10359 l_bflow_class_code := ''; -- 4219869 Business Flow
10356 l_adr_value_segment_code := NULL;
10357
10358 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
10360 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
10361 l_budgetary_control_flag := 'N';
10362
10363 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10364 l_bflow_applied_to_amt := NULL; -- 5132302
10365 l_entered_amt_idx := NULL; -- 4262811
10366 l_accted_amt_idx := NULL; -- 4262811
10367 l_acc_rev_flag := NULL; -- 4262811
10368 l_accrual_line_num := NULL; -- 4262811
10369 l_tmp_amt := NULL; -- 4262811
10370 --
10371 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
10372 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
10373 return;
10374 END IF;
10375
10376 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
10377 l_balance_type_code <> 'B' THEN
10378 IF NVL(p_source_21,'
10379 ') = 'ACCRUAL'
10380 THEN
10381
10382 --
10383 XLA_AE_LINES_PKG.SetNewLine;
10384
10385 p_balance_type_code := l_balance_type_code;
10386 -- set the flag so later we will know whether the gain loss line needs to be created
10387
10388 IF(l_balance_type_code = 'A' ) THEN
10389 p_actual_flag :='G';
10390 END IF;
10391
10392 --
10393 -- bulk performance
10394 --
10395 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
10396 p_header_num => 0); -- 4262811
10397 --
10398 -- set accounting line options
10399 --
10400 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
10401 p_natural_side_code => 'G'
10402 , p_gain_or_loss_flag => 'N'
10403 , p_gl_transfer_mode_code => 'S'
10404 , p_acct_entry_type_code => 'A'
10405 , p_switch_side_flag => ''
10406 , p_merge_duplicate_code => 'A'
10407 );
10408 --
10409 l_acc_rev_natural_side_code := 'C'; -- 4262811
10410 --
10411 --
10412 -- set accounting line type info
10413 --
10414 xla_ae_lines_pkg.SetAcctLineType
10415 (p_component_type => l_component_type
10416 ,p_event_type_code => l_event_type_code
10417 ,p_line_definition_owner_code => l_line_definition_owner_code
10418 ,p_line_definition_code => l_line_definition_code
10419 ,p_accounting_line_code => l_component_code
10420 ,p_accounting_line_type_code => l_component_type_code
10421 ,p_accounting_line_appl_id => l_component_appl_id
10422 ,p_amb_context_code => l_amb_context_code
10423 ,p_entity_code => l_entity_code
10424 ,p_event_class_code => l_event_class_code);
10425 --
10426 -- set accounting class
10427 --
10428 xla_ae_lines_pkg.SetAcctClass(
10429 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
10430 , p_ae_header_id => l_ae_header_id
10431 );
10432
10433 --
10434 -- set rounding class
10435 --
10436 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
10437 'EXCHANGE_RATE_VARIANCE';
10438
10439 --
10440 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
10441 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
10442 --
10443 -- bulk performance
10444 --
10445 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
10446
10447 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
10448 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
10449
10450 -- 4955764
10451 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
10452 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
10453
10454 -- 4458381 Public Sector Enh
10455
10456 --
10457 -- set accounting attributes for the line type
10458 --
10459 l_entered_amt_idx := NULL;
10460 l_accted_amt_idx := 23;
10461 l_bflow_applied_to_amt_idx := NULL; -- 5132302
10462 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
10463 l_rec_acct_attrs.array_char_value(1) := p_source_41;
10464 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
10465 l_rec_acct_attrs.array_num_value(2) :=
10466 xla_ae_sources_pkg.GetSystemSourceNum(
10467 p_source_code => 'XLA_EVENT_APPL_ID'
10468 , p_source_type_code => 'Y'
10469 , p_source_application_id => 602
10470 );
10471 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
10472 l_rec_acct_attrs.array_char_value(3) := p_source_43;
10473 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
10474 l_rec_acct_attrs.array_char_value(4) :=
10475 xla_ae_sources_pkg.GetSystemSourceChar(
10476 p_source_code => 'XLA_ENTITY_CODE'
10480 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
10477 , p_source_type_code => 'Y'
10478 , p_source_application_id => 602
10479 );
10481 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
10482 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
10483 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
10484 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
10485 l_rec_acct_attrs.array_num_value(7) := p_source_79;
10486 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
10487 l_rec_acct_attrs.array_char_value(8) := p_source_80;
10488 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
10489 l_rec_acct_attrs.array_char_value(9) := p_source_81;
10490 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
10491 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
10492 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
10493 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
10494 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
10495 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
10496 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
10497 l_rec_acct_attrs.array_char_value(13) := p_source_43;
10498 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
10499 l_rec_acct_attrs.array_num_value(14) := p_source_53;
10500 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
10501 l_rec_acct_attrs.array_num_value(15) := p_source_54;
10502 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
10503 l_rec_acct_attrs.array_char_value(16) := p_source_55;
10504 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
10505 l_rec_acct_attrs.array_num_value(17) := p_source_56;
10506 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
10507 l_rec_acct_attrs.array_num_value(18) := p_source_57;
10508 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
10509 l_rec_acct_attrs.array_num_value(19) := p_source_58;
10510 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
10511 l_rec_acct_attrs.array_char_value(20) := p_source_55;
10512 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
10513 l_rec_acct_attrs.array_num_value(21) := p_source_59;
10514 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
10515 l_rec_acct_attrs.array_char_value(22) := p_source_60;
10516 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
10517 l_rec_acct_attrs.array_num_value(23) := p_source_9;
10518 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
10519 l_rec_acct_attrs.array_date_value(24) := p_source_65;
10520 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
10521 l_rec_acct_attrs.array_char_value(25) := p_source_66;
10522 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
10523 l_rec_acct_attrs.array_date_value(26) := p_source_67;
10524 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
10525 l_rec_acct_attrs.array_char_value(27) := p_source_68;
10526 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
10527 l_rec_acct_attrs.array_num_value(28) := p_source_69;
10528 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
10529 l_rec_acct_attrs.array_num_value(29) := p_source_70;
10530 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
10531 l_rec_acct_attrs.array_char_value(30) := p_source_71;
10532 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
10533 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
10534 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
10535 l_rec_acct_attrs.array_char_value(32) := p_source_43;
10536 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
10537 l_rec_acct_attrs.array_num_value(33) := p_source_74;
10538 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
10539 l_rec_acct_attrs.array_num_value(34) := p_source_75;
10540 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
10541 l_rec_acct_attrs.array_num_value(35) := p_source_76;
10542 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
10543 l_rec_acct_attrs.array_num_value(36) := p_source_77;
10544 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
10545 l_rec_acct_attrs.array_num_value(37) := p_source_78;
10546
10547 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
10548 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
10549
10550 ---------------------------------------------------------------------------------------------------------------
10551 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
10552 ---------------------------------------------------------------------------------------------------------------
10553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
10554
10555 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10556 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
10557
10558 IF xla_accounting_cache_pkg.GetValueChar
10559 (p_source_code => 'LEDGER_CATEGORY_CODE'
10560 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
10564 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
10561 AND l_bflow_method_code = 'PRIOR_ENTRY'
10562 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
10563 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
10565 )
10566 THEN
10567 xla_ae_lines_pkg.BflowUpgEntry
10568 (p_business_method_code => l_bflow_method_code
10569 ,p_business_class_code => l_bflow_class_code
10570 ,p_balance_type => l_balance_type_code);
10571 ELSE
10572 NULL;
10573 -- No business flow processing for business flow method of NONE.
10574 END IF;
10575
10576 --
10577 -- call analytical criteria
10578 --
10579
10580 --
10581 -- call description
10582 --
10583
10584 xla_ae_lines_pkg.SetLineDescription(
10585 p_ae_header_id => l_ae_header_id
10586 ,p_description => Description_2 (
10587 p_application_id => p_application_id
10588 , p_ae_header_id => l_ae_header_id
10589 , p_source_1 => p_source_1
10590 )
10591 );
10592
10593
10594 --
10595 -- call ADRs
10596 -- Bug 4922099
10597 --
10598 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10599 (NVL(l_actual_upg_option, 'N') = 'O') OR
10600 (NVL(l_enc_upg_option, 'N') = 'O')
10601 )
10602 THEN
10603 NULL;
10604 --
10605 --
10606
10607 l_ccid := AcctDerRule_29(
10608 p_application_id => p_application_id
10609 , p_ae_header_id => l_ae_header_id
10610 , p_source_3 => p_source_3
10611 , p_source_3_meaning => p_source_3_meaning
10612 , p_source_8 => p_source_8
10613 , p_source_9 => p_source_9
10614 , p_source_10 => p_source_10
10615 , p_source_10_meaning => p_source_10_meaning
10616 , p_source_11 => p_source_11
10617 , p_source_18 => p_source_18
10618 , p_source_35 => p_source_35
10619 , p_source_35_meaning => p_source_35_meaning
10620 , x_transaction_coa_id => l_adr_transaction_coa_id
10621 , x_accounting_coa_id => l_adr_accounting_coa_id
10622 , x_value_type_code => l_adr_value_type_code
10623 , p_side => 'ALL'
10624 );
10625
10626 xla_ae_lines_pkg.set_ccid(
10627 p_code_combination_id => l_ccid
10628 , p_value_type_code => l_adr_value_type_code
10629 , p_transaction_coa_id => l_adr_transaction_coa_id
10630 , p_accounting_coa_id => l_adr_accounting_coa_id
10631 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10632 , p_adr_type_code => 'S'
10633 , p_component_type => l_component_type
10634 , p_component_code => l_component_code
10635 , p_component_type_code => l_component_type_code
10636 , p_component_appl_id => l_component_appl_id
10637 , p_amb_context_code => l_amb_context_code
10638 , p_side => 'ALL'
10639 );
10640
10641
10642 l_segment := AcctDerRule_8(
10643 p_application_id => p_application_id
10644 , p_ae_header_id => l_ae_header_id
10645 , p_source_3 => p_source_3
10646 , p_source_3_meaning => p_source_3_meaning
10647 , p_source_8 => p_source_8
10648 , p_source_10 => p_source_10
10649 , p_source_10_meaning => p_source_10_meaning
10650 , x_transaction_coa_id => l_adr_transaction_coa_id
10651 , x_accounting_coa_id => l_adr_accounting_coa_id
10652 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10653 , x_flex_value_set_id => l_adr_flex_value_set_id
10654 , x_value_type_code => l_adr_value_type_code
10655 , x_value_combination_id => l_adr_value_combination_id
10656 , x_value_segment_code => l_adr_value_segment_code
10657 , p_side => 'DEBIT'
10658 , p_override_seg_flag => 'Y'
10659 );
10660
10661 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10662
10663 xla_ae_lines_pkg.set_segment(
10664 p_to_segment_code => 'GL_ACCOUNT'
10665 , p_segment_value => l_segment
10666 , p_from_segment_code => l_adr_value_segment_code
10667 , p_from_combination_id => l_adr_value_combination_id
10668 , p_value_type_code => l_adr_value_type_code
10669 , p_transaction_coa_id => l_adr_transaction_coa_id
10670 , p_accounting_coa_id => l_adr_accounting_coa_id
10671 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10672 , p_flex_value_set_id => l_adr_flex_value_set_id
10673 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
10674 , p_adr_type_code => 'S'
10675 , p_component_type => l_component_type
10676 , p_component_code => l_component_code
10677 , p_component_type_code => l_component_type_code
10678 , p_component_appl_id => l_component_appl_id
10679 , p_amb_context_code => l_amb_context_code
10680 , p_entity_code => 'AP_INVOICES'
10681 , p_event_class_code => 'DEBIT MEMOS'
10682 , p_side => 'DEBIT'
10683 );
10684
10685 END IF;
10686
10687 l_segment := AcctDerRule_9(
10691 , p_source_3_meaning => p_source_3_meaning
10688 p_application_id => p_application_id
10689 , p_ae_header_id => l_ae_header_id
10690 , p_source_3 => p_source_3
10692 , p_source_10 => p_source_10
10693 , p_source_10_meaning => p_source_10_meaning
10694 , p_source_11 => p_source_11
10695 , x_transaction_coa_id => l_adr_transaction_coa_id
10696 , x_accounting_coa_id => l_adr_accounting_coa_id
10697 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10698 , x_flex_value_set_id => l_adr_flex_value_set_id
10699 , x_value_type_code => l_adr_value_type_code
10700 , x_value_combination_id => l_adr_value_combination_id
10701 , x_value_segment_code => l_adr_value_segment_code
10702 , p_side => 'CREDIT'
10703 , p_override_seg_flag => 'Y'
10704 );
10705
10706 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10707
10708 xla_ae_lines_pkg.set_segment(
10709 p_to_segment_code => 'GL_ACCOUNT'
10710 , p_segment_value => l_segment
10711 , p_from_segment_code => l_adr_value_segment_code
10712 , p_from_combination_id => l_adr_value_combination_id
10713 , p_value_type_code => l_adr_value_type_code
10714 , p_transaction_coa_id => l_adr_transaction_coa_id
10715 , p_accounting_coa_id => l_adr_accounting_coa_id
10716 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10717 , p_flex_value_set_id => l_adr_flex_value_set_id
10718 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
10719 , p_adr_type_code => 'S'
10720 , p_component_type => l_component_type
10721 , p_component_code => l_component_code
10722 , p_component_type_code => l_component_type_code
10723 , p_component_appl_id => l_component_appl_id
10724 , p_amb_context_code => l_amb_context_code
10725 , p_entity_code => 'AP_INVOICES'
10726 , p_event_class_code => 'DEBIT MEMOS'
10727 , p_side => 'CREDIT'
10728 );
10729
10730 END IF;
10731
10732 l_segment := AcctDerRule_22(
10733 p_application_id => p_application_id
10734 , p_ae_header_id => l_ae_header_id
10735 , p_source_3 => p_source_3
10736 , p_source_3_meaning => p_source_3_meaning
10737 , p_source_10 => p_source_10
10738 , p_source_10_meaning => p_source_10_meaning
10739 , p_source_18 => p_source_18
10740 , x_transaction_coa_id => l_adr_transaction_coa_id
10741 , x_accounting_coa_id => l_adr_accounting_coa_id
10742 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10743 , x_flex_value_set_id => l_adr_flex_value_set_id
10744 , x_value_type_code => l_adr_value_type_code
10745 , x_value_combination_id => l_adr_value_combination_id
10746 , x_value_segment_code => l_adr_value_segment_code
10747 , p_side => 'ALL'
10748 , p_override_seg_flag => 'Y'
10749 );
10750
10751 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10752
10753 xla_ae_lines_pkg.set_segment(
10754 p_to_segment_code => 'GL_BALANCING'
10755 , p_segment_value => l_segment
10756 , p_from_segment_code => l_adr_value_segment_code
10757 , p_from_combination_id => l_adr_value_combination_id
10758 , p_value_type_code => l_adr_value_type_code
10759 , p_transaction_coa_id => l_adr_transaction_coa_id
10760 , p_accounting_coa_id => l_adr_accounting_coa_id
10761 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10762 , p_flex_value_set_id => l_adr_flex_value_set_id
10763 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
10764 , p_adr_type_code => 'S'
10765 , p_component_type => l_component_type
10766 , p_component_code => l_component_code
10767 , p_component_type_code => l_component_type_code
10768 , p_component_appl_id => l_component_appl_id
10769 , p_amb_context_code => l_amb_context_code
10770 , p_entity_code => 'AP_INVOICES'
10771 , p_event_class_code => 'DEBIT MEMOS'
10772 , p_side => 'ALL'
10773 );
10774
10775 END IF;
10776
10777 --
10778 --
10779 END IF;
10780 --
10781 -- Bug 4922099
10782 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
10783 (NVL(l_enc_upg_option, 'N') = 'O')
10784 ) AND
10785 (l_bflow_method_code = 'PRIOR_ENTRY')
10786 )
10787 THEN
10788 IF
10789 --
10790 1 = 2
10791 --
10792 THEN
10793 xla_accounting_err_pkg.build_message
10794 (p_appli_s_name => 'XLA'
10795 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10796 ,p_token_1 => 'LINE_NUMBER'
10797 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
10798 ,p_token_2 => 'LINE_TYPE_NAME'
10802 ,l_component_type_code
10799 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
10800 l_component_type
10801 ,l_component_code
10803 ,l_component_appl_id
10804 ,l_amb_context_code
10805 ,l_entity_code
10806 ,l_event_class_code
10807 )
10808 ,p_token_3 => 'OWNER'
10809 ,p_value_3 => xla_lookups_pkg.get_meaning(
10810 p_lookup_type => 'XLA_OWNER_TYPE'
10811 ,p_lookup_code => l_component_type_code
10812 )
10813 ,p_token_4 => 'PRODUCT_NAME'
10814 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
10815 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
10816 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
10817 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
10818 ,p_ae_header_id => NULL
10819 );
10820
10821 IF (C_LEVEL_ERROR>= g_log_level) THEN
10822 trace
10823 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
10824 ,p_level => C_LEVEL_ERROR
10825 ,p_module => l_log_module);
10826 END IF;
10827 END IF;
10828 END IF;
10829 --
10830 --
10831 ------------------------------------------------------------------------------------------------
10832 -- 4219869 Business Flow
10833 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
10834 -- Prior Entry. Currently, the following code is always generated.
10835 ------------------------------------------------------------------------------------------------
10836 XLA_AE_LINES_PKG.ValidateCurrentLine;
10837
10838 ------------------------------------------------------------------------------------
10839 -- 4219869 Business Flow
10840 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
10841 ------------------------------------------------------------------------------------
10842 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
10843
10844 ----------------------------------------------------------------------------------
10845 -- 4219869 Business Flow
10846 -- Update journal entry status -- Need to generate this within IF <condition>
10847 ----------------------------------------------------------------------------------
10848 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
10849 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
10850 ,p_balance_type_code => l_balance_type_code
10851 );
10852
10853 -------------------------------------------------------------------------------------------
10854 -- 4262811 - Generate the Accrual Reversal lines
10855 -------------------------------------------------------------------------------------------
10856 BEGIN
10857 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
10858 (g_array_event(p_event_id).array_value_num('header_index'));
10859 IF l_acc_rev_flag IS NULL THEN
10860 l_acc_rev_flag := 'N';
10861 END IF;
10862 EXCEPTION
10863 WHEN OTHERS THEN
10864 l_acc_rev_flag := 'N';
10865 END;
10866 --
10867 IF (l_acc_rev_flag = 'Y') THEN
10868
10869 -- 4645092 ------------------------------------------------------------------------------
10870 -- To allow MPA report to determine if it should generate report process
10871 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
10872 ------------------------------------------------------------------------------------------
10873
10874 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
10875 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
10876 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
10877 -- call ADRs
10878 -- Bug 4922099
10879 --
10880 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
10881 (NVL(l_actual_upg_option, 'N') = 'O') OR
10882 (NVL(l_enc_upg_option, 'N') = 'O')
10883 )
10884 THEN
10885 NULL;
10886 --
10887 --
10888
10889 l_ccid := AcctDerRule_29(
10890 p_application_id => p_application_id
10891 , p_ae_header_id => l_ae_header_id
10892 , p_source_3 => p_source_3
10893 , p_source_3_meaning => p_source_3_meaning
10894 , p_source_8 => p_source_8
10895 , p_source_9 => p_source_9
10896 , p_source_10 => p_source_10
10897 , p_source_10_meaning => p_source_10_meaning
10901 , p_source_35_meaning => p_source_35_meaning
10898 , p_source_11 => p_source_11
10899 , p_source_18 => p_source_18
10900 , p_source_35 => p_source_35
10902 , x_transaction_coa_id => l_adr_transaction_coa_id
10903 , x_accounting_coa_id => l_adr_accounting_coa_id
10904 , x_value_type_code => l_adr_value_type_code
10905 , p_side => 'ALL'
10906 );
10907
10908 xla_ae_lines_pkg.set_ccid(
10909 p_code_combination_id => l_ccid
10910 , p_value_type_code => l_adr_value_type_code
10911 , p_transaction_coa_id => l_adr_transaction_coa_id
10912 , p_accounting_coa_id => l_adr_accounting_coa_id
10913 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
10914 , p_adr_type_code => 'S'
10915 , p_component_type => l_component_type
10916 , p_component_code => l_component_code
10917 , p_component_type_code => l_component_type_code
10918 , p_component_appl_id => l_component_appl_id
10919 , p_amb_context_code => l_amb_context_code
10920 , p_side => 'ALL'
10921 );
10922
10923
10924 l_segment := AcctDerRule_8(
10925 p_application_id => p_application_id
10926 , p_ae_header_id => l_ae_header_id
10927 , p_source_3 => p_source_3
10928 , p_source_3_meaning => p_source_3_meaning
10929 , p_source_8 => p_source_8
10930 , p_source_10 => p_source_10
10931 , p_source_10_meaning => p_source_10_meaning
10932 , x_transaction_coa_id => l_adr_transaction_coa_id
10933 , x_accounting_coa_id => l_adr_accounting_coa_id
10934 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10935 , x_flex_value_set_id => l_adr_flex_value_set_id
10936 , x_value_type_code => l_adr_value_type_code
10937 , x_value_combination_id => l_adr_value_combination_id
10938 , x_value_segment_code => l_adr_value_segment_code
10939 , p_side => 'DEBIT'
10940 , p_override_seg_flag => 'Y'
10941 );
10942
10943 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10944
10945 xla_ae_lines_pkg.set_segment(
10946 p_to_segment_code => 'GL_ACCOUNT'
10947 , p_segment_value => l_segment
10948 , p_from_segment_code => l_adr_value_segment_code
10949 , p_from_combination_id => l_adr_value_combination_id
10950 , p_value_type_code => l_adr_value_type_code
10951 , p_transaction_coa_id => l_adr_transaction_coa_id
10952 , p_accounting_coa_id => l_adr_accounting_coa_id
10953 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10954 , p_flex_value_set_id => l_adr_flex_value_set_id
10955 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
10956 , p_adr_type_code => 'S'
10957 , p_component_type => l_component_type
10958 , p_component_code => l_component_code
10959 , p_component_type_code => l_component_type_code
10960 , p_component_appl_id => l_component_appl_id
10961 , p_amb_context_code => l_amb_context_code
10962 , p_entity_code => 'AP_INVOICES'
10963 , p_event_class_code => 'DEBIT MEMOS'
10964 , p_side => 'DEBIT'
10965 );
10966
10967 END IF;
10968
10969 l_segment := AcctDerRule_9(
10970 p_application_id => p_application_id
10971 , p_ae_header_id => l_ae_header_id
10972 , p_source_3 => p_source_3
10973 , p_source_3_meaning => p_source_3_meaning
10974 , p_source_10 => p_source_10
10975 , p_source_10_meaning => p_source_10_meaning
10976 , p_source_11 => p_source_11
10977 , x_transaction_coa_id => l_adr_transaction_coa_id
10978 , x_accounting_coa_id => l_adr_accounting_coa_id
10979 , x_flexfield_segment_code => l_adr_flexfield_segment_code
10980 , x_flex_value_set_id => l_adr_flex_value_set_id
10981 , x_value_type_code => l_adr_value_type_code
10982 , x_value_combination_id => l_adr_value_combination_id
10983 , x_value_segment_code => l_adr_value_segment_code
10984 , p_side => 'CREDIT'
10985 , p_override_seg_flag => 'Y'
10986 );
10987
10988 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
10989
10990 xla_ae_lines_pkg.set_segment(
10991 p_to_segment_code => 'GL_ACCOUNT'
10992 , p_segment_value => l_segment
10993 , p_from_segment_code => l_adr_value_segment_code
10994 , p_from_combination_id => l_adr_value_combination_id
10995 , p_value_type_code => l_adr_value_type_code
10996 , p_transaction_coa_id => l_adr_transaction_coa_id
10997 , p_accounting_coa_id => l_adr_accounting_coa_id
10998 , p_flexfield_segment_code => l_adr_flexfield_segment_code
10999 , p_flex_value_set_id => l_adr_flex_value_set_id
11000 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11001 , p_adr_type_code => 'S'
11002 , p_component_type => l_component_type
11003 , p_component_code => l_component_code
11004 , p_component_type_code => l_component_type_code
11005 , p_component_appl_id => l_component_appl_id
11006 , p_amb_context_code => l_amb_context_code
11007 , p_entity_code => 'AP_INVOICES'
11011
11008 , p_event_class_code => 'DEBIT MEMOS'
11009 , p_side => 'CREDIT'
11010 );
11012 END IF;
11013
11014 l_segment := AcctDerRule_22(
11015 p_application_id => p_application_id
11016 , p_ae_header_id => l_ae_header_id
11017 , p_source_3 => p_source_3
11018 , p_source_3_meaning => p_source_3_meaning
11019 , p_source_10 => p_source_10
11020 , p_source_10_meaning => p_source_10_meaning
11021 , p_source_18 => p_source_18
11022 , x_transaction_coa_id => l_adr_transaction_coa_id
11023 , x_accounting_coa_id => l_adr_accounting_coa_id
11024 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11025 , x_flex_value_set_id => l_adr_flex_value_set_id
11026 , x_value_type_code => l_adr_value_type_code
11027 , x_value_combination_id => l_adr_value_combination_id
11028 , x_value_segment_code => l_adr_value_segment_code
11029 , p_side => 'ALL'
11030 , p_override_seg_flag => 'Y'
11031 );
11032
11033 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11034
11035 xla_ae_lines_pkg.set_segment(
11036 p_to_segment_code => 'GL_BALANCING'
11037 , p_segment_value => l_segment
11038 , p_from_segment_code => l_adr_value_segment_code
11039 , p_from_combination_id => l_adr_value_combination_id
11040 , p_value_type_code => l_adr_value_type_code
11041 , p_transaction_coa_id => l_adr_transaction_coa_id
11042 , p_accounting_coa_id => l_adr_accounting_coa_id
11043 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11044 , p_flex_value_set_id => l_adr_flex_value_set_id
11045 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11046 , p_adr_type_code => 'S'
11047 , p_component_type => l_component_type
11048 , p_component_code => l_component_code
11049 , p_component_type_code => l_component_type_code
11050 , p_component_appl_id => l_component_appl_id
11051 , p_amb_context_code => l_amb_context_code
11052 , p_entity_code => 'AP_INVOICES'
11053 , p_event_class_code => 'DEBIT MEMOS'
11054 , p_side => 'ALL'
11055 );
11056
11057 END IF;
11058
11059 --
11060 --
11061 END IF;
11062
11063 --
11064 -- Update the line information that should be overwritten
11065 --
11066 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
11067 p_header_num => 1);
11068 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
11069
11070 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
11071
11072 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
11073 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
11074 END IF;
11075
11076 --
11077 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
11078 --
11079 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
11080 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
11081 ELSE
11082 ---------------------------------------------------------------------------------------------------
11083 -- 4262811a Switch Sign
11084 ---------------------------------------------------------------------------------------------------
11085 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
11086 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11087 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11088 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
11089 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11090 -- 5132302
11091 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
11092 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
11093
11094 END IF;
11095
11096 -- 4955764
11097 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11098 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
11099
11100
11101 XLA_AE_LINES_PKG.ValidateCurrentLine;
11102 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11103
11104 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11105 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
11106 ,p_balance_type_code => l_balance_type_code);
11107
11108 END IF;
11109
11110 -----------------------------------------------------------------------------------------
11111 -- 4262811 Multiperiod Accounting
11112 -----------------------------------------------------------------------------------------
11113 -- No MPA option is assigned.
11114
11115
11119
11116 END IF;
11117 END IF;
11118 --
11120 --
11121 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11122 trace
11123 (p_msg => 'END of AcctLineType_52'
11124 ,p_level => C_LEVEL_PROCEDURE
11125 ,p_module => l_log_module);
11126 END IF;
11127 --
11128 EXCEPTION
11129 WHEN xla_exceptions_pkg.application_exception THEN
11130 RAISE;
11131 WHEN OTHERS THEN
11132 xla_exceptions_pkg.raise_message
11133 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_52');
11134 END AcctLineType_52;
11135 --
11136
11137 ---------------------------------------
11138 --
11139 -- PRIVATE FUNCTION
11140 -- AcctLineType_53
11141 --
11142 ---------------------------------------
11143 PROCEDURE AcctLineType_53 (
11144 p_application_id IN NUMBER
11145 ,p_event_id IN NUMBER
11146 ,p_calculate_acctd_flag IN VARCHAR2
11147 ,p_calculate_g_l_flag IN VARCHAR2
11148 ,p_actual_flag IN OUT VARCHAR2
11149 ,p_balance_type_code OUT VARCHAR2
11150 ,p_gain_or_loss_ref OUT VARCHAR2
11151
11152 --Invoice Distribution Description
11153 , p_source_1 IN VARCHAR2
11154 --Automatic Offsets Value
11155 , p_source_3 IN VARCHAR2
11156 , p_source_3_meaning IN VARCHAR2
11157 --Purchase Order Rate Variance Gain Account
11158 , p_source_8 IN NUMBER
11159 --Invoice Distribution Ledger Amount
11160 , p_source_9 IN NUMBER
11161 --Destination Type of the PO Distribution
11162 , p_source_10 IN VARCHAR2
11163 , p_source_10_meaning IN VARCHAR2
11164 --Purchase Order Rate Variance Loss Account
11165 , p_source_11 IN NUMBER
11166 --Invoice Distribution Account
11167 , p_source_18 IN NUMBER
11168 --Invoice Distribution Type
11169 , p_source_21 IN VARCHAR2
11170 , p_source_21_meaning IN VARCHAR2
11171 --Automatic Offsets Flag
11172 , p_source_35 IN VARCHAR2
11173 , p_source_35_meaning IN VARCHAR2
11174 --Accounting Reversal Indicator
11175 , p_source_41 IN VARCHAR2
11176 --Distribution Link Type
11177 , p_source_43 IN VARCHAR2
11178 --Allocation to Main Distribution Identifier
11179 , p_source_45 IN NUMBER
11180 --Invoice Identifier
11181 , p_source_46 IN NUMBER
11182 --Invoice Distribution Identifier
11183 , p_source_52 IN NUMBER
11184 --Payables Encumbrance Upgrade Credit Account
11185 , p_source_53 IN NUMBER
11186 --Payables Encumbrance Upgrade Credit Amount
11187 , p_source_54 IN NUMBER
11188 --Invoice Currency Code
11189 , p_source_55 IN VARCHAR2
11190 --Payables Encumbrance Upgrade Credit Base Amount
11191 , p_source_56 IN NUMBER
11192 --Payables Encumbrance Upgrade Debit Account
11193 , p_source_57 IN NUMBER
11194 --Payables Encumbrance Upgrade Debit Amount
11195 , p_source_58 IN NUMBER
11196 --Payables Encumbrance Upgrade Debit Base Amount
11197 , p_source_59 IN NUMBER
11198 --Payables Encumbrance Upgrade Option
11199 , p_source_60 IN VARCHAR2
11200 --Invoice Distribution Amount
11201 , p_source_61 IN NUMBER
11202 --Deferred Accounting End Date
11203 , p_source_65 IN DATE
11204 --Deferred Accounting Option
11205 , p_source_66 IN VARCHAR2
11206 --Deferred Accounting Start Date
11207 , p_source_67 IN DATE
11208 --Override Accounted Amount Indicator
11209 , p_source_68 IN VARCHAR2
11210 , p_source_68_meaning IN VARCHAR2
11211 --Invoice Supplier Identifier
11212 , p_source_69 IN NUMBER
11213 --Invoice Supplier Site Identifier
11214 , p_source_70 IN NUMBER
11215 --Third Party Type
11216 , p_source_71 IN VARCHAR2
11217 --Parent Reversal Identifier
11218 , p_source_72 IN NUMBER
11219 --Invoice Distribution Statistical Amount
11220 , p_source_73 IN NUMBER
11221 --Invoice Distribution Tax Line Identifier
11222 , p_source_74 IN NUMBER
11223 --Invoice Distribution Tax Distribution Identifier from Tax
11224 , p_source_75 IN NUMBER
11225 --Invoice Distribution Summary Tax Line Identifier
11226 , p_source_76 IN NUMBER
11227 --Payables Upgrade Credit Encumbrance Type Identifier
11228 , p_source_77 IN NUMBER
11229 --Payables Upgrade Debit Encumbrance Type Identifier
11230 , p_source_78 IN NUMBER
11231 --Business Flow Accounts Payable Application Identifier
11232 , p_source_79 IN NUMBER
11233 --Business Flow Invoice Distribution Type
11234 , p_source_80 IN VARCHAR2
11235 --Business Flow Invoice Entity Code
11236 , p_source_81 IN VARCHAR2
11237 --Business Flow Invoice Distribution Identifier
11238 , p_source_82 IN NUMBER
11239 --Business Flow Invoice Identifier
11240 , p_source_83 IN NUMBER
11241 )
11242 IS
11243
11244 l_component_type VARCHAR2(80);
11245 l_component_code VARCHAR2(30);
11246 l_component_type_code VARCHAR2(1);
11247 l_component_appl_id INTEGER;
11248 l_amb_context_code VARCHAR2(30);
11249 l_entity_code VARCHAR2(30);
11250 l_event_class_code VARCHAR2(30);
11251 l_ae_header_id NUMBER;
11252 l_event_type_code VARCHAR2(30);
11253 l_line_definition_code VARCHAR2(30);
11257 l_segment VARCHAR2(30);
11254 l_line_definition_owner_code VARCHAR2(1);
11255 --
11256 -- adr variables
11258 l_ccid NUMBER;
11259 l_adr_transaction_coa_id NUMBER;
11260 l_adr_accounting_coa_id NUMBER;
11261 l_adr_flexfield_segment_code VARCHAR2(30);
11262 l_adr_flex_value_set_id NUMBER;
11263 l_adr_value_type_code VARCHAR2(30);
11264 l_adr_value_combination_id NUMBER;
11265 l_adr_value_segment_code VARCHAR2(30);
11266
11267 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
11268 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
11269 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
11270 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
11271
11272 -- 4262811 Variables ------------------------------------------------------------------------------------------
11273 l_entered_amt_idx NUMBER;
11274 l_accted_amt_idx NUMBER;
11275 l_acc_rev_flag VARCHAR2(1);
11276 l_accrual_line_num NUMBER;
11277 l_tmp_amt NUMBER;
11278 l_acc_rev_natural_side_code VARCHAR2(1);
11279
11280 l_num_entries NUMBER;
11281 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
11282 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
11283 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
11284 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
11285 l_recog_line_1 NUMBER;
11286 l_recog_line_2 NUMBER;
11287
11288 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
11289 l_bflow_applied_to_amt NUMBER; -- 5132302
11290 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
11291
11292 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
11293
11294 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
11295 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
11296
11297 ---------------------------------------------------------------------------------------------------------------
11298
11299
11300 --
11301 -- bulk performance
11302 --
11303 l_balance_type_code VARCHAR2(1);
11304 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
11305 l_log_module VARCHAR2(240);
11306
11307 --
11308 -- Upgrade strategy
11309 --
11310 l_actual_upg_option VARCHAR2(1);
11311 l_enc_upg_option VARCHAR2(1);
11312
11313 --
11314 BEGIN
11315 --
11316 IF g_log_enabled THEN
11317 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_53';
11318 END IF;
11319 --
11320 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
11321
11322 trace
11323 (p_msg => 'BEGIN of AcctLineType_53'
11324 ,p_level => C_LEVEL_PROCEDURE
11325 ,p_module => l_log_module);
11326
11327 END IF;
11328 --
11329 l_component_type := 'AMB_JLT';
11330 l_component_code := 'AP_ALC_EX_RATE_VAR_INV';
11331 l_component_type_code := 'S';
11332 l_component_appl_id := 200;
11333 l_amb_context_code := 'DEFAULT';
11334 l_entity_code := 'AP_INVOICES';
11335 l_event_class_code := 'INVOICES';
11336 l_event_type_code := 'INVOICES_ALL';
11337 l_line_definition_owner_code := 'S';
11338 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
11339 --
11340 l_balance_type_code := 'A';
11341 l_segment := NULL;
11342 l_ccid := NULL;
11343 l_adr_transaction_coa_id := NULL;
11344 l_adr_accounting_coa_id := NULL;
11345 l_adr_flexfield_segment_code := NULL;
11346 l_adr_flex_value_set_id := NULL;
11347 l_adr_value_type_code := NULL;
11348 l_adr_value_combination_id := NULL;
11349 l_adr_value_segment_code := NULL;
11350
11351 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
11352 l_bflow_class_code := ''; -- 4219869 Business Flow
11353 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
11354 l_budgetary_control_flag := 'N';
11355
11356 l_bflow_applied_to_amt_idx := NULL; -- 5132302
11357 l_bflow_applied_to_amt := NULL; -- 5132302
11358 l_entered_amt_idx := NULL; -- 4262811
11359 l_accted_amt_idx := NULL; -- 4262811
11360 l_acc_rev_flag := NULL; -- 4262811
11361 l_accrual_line_num := NULL; -- 4262811
11362 l_tmp_amt := NULL; -- 4262811
11363 --
11364 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
11365 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
11366 return;
11367 END IF;
11368
11369 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
11370 l_balance_type_code <> 'B' THEN
11371 IF NVL(p_source_21,'
11372 ') = 'ACCRUAL'
11373 THEN
11374
11375 --
11376 XLA_AE_LINES_PKG.SetNewLine;
11377
11381 IF(l_balance_type_code = 'A' ) THEN
11378 p_balance_type_code := l_balance_type_code;
11379 -- set the flag so later we will know whether the gain loss line needs to be created
11380
11382 p_actual_flag :='G';
11383 END IF;
11384
11385 --
11386 -- bulk performance
11387 --
11388 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
11389 p_header_num => 0); -- 4262811
11390 --
11391 -- set accounting line options
11392 --
11393 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
11394 p_natural_side_code => 'G'
11395 , p_gain_or_loss_flag => 'N'
11396 , p_gl_transfer_mode_code => 'S'
11397 , p_acct_entry_type_code => 'A'
11398 , p_switch_side_flag => ''
11399 , p_merge_duplicate_code => 'A'
11400 );
11401 --
11402 l_acc_rev_natural_side_code := 'C'; -- 4262811
11403 --
11404 --
11405 -- set accounting line type info
11406 --
11407 xla_ae_lines_pkg.SetAcctLineType
11408 (p_component_type => l_component_type
11409 ,p_event_type_code => l_event_type_code
11410 ,p_line_definition_owner_code => l_line_definition_owner_code
11411 ,p_line_definition_code => l_line_definition_code
11412 ,p_accounting_line_code => l_component_code
11413 ,p_accounting_line_type_code => l_component_type_code
11414 ,p_accounting_line_appl_id => l_component_appl_id
11415 ,p_amb_context_code => l_amb_context_code
11416 ,p_entity_code => l_entity_code
11417 ,p_event_class_code => l_event_class_code);
11418 --
11419 -- set accounting class
11420 --
11421 xla_ae_lines_pkg.SetAcctClass(
11422 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
11423 , p_ae_header_id => l_ae_header_id
11424 );
11425
11426 --
11427 -- set rounding class
11428 --
11429 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
11430 'EXCHANGE_RATE_VARIANCE';
11431
11432 --
11433 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
11434 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
11435 --
11436 -- bulk performance
11437 --
11438 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
11439
11440 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
11441 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
11442
11443 -- 4955764
11444 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
11445 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
11446
11447 -- 4458381 Public Sector Enh
11448
11449 --
11450 -- set accounting attributes for the line type
11451 --
11452 l_entered_amt_idx := NULL;
11453 l_accted_amt_idx := 24;
11454 l_bflow_applied_to_amt_idx := 7; -- 5132302
11455 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
11456 l_rec_acct_attrs.array_char_value(1) := p_source_41;
11457 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
11458 l_rec_acct_attrs.array_num_value(2) :=
11459 xla_ae_sources_pkg.GetSystemSourceNum(
11460 p_source_code => 'XLA_EVENT_APPL_ID'
11461 , p_source_type_code => 'Y'
11462 , p_source_application_id => 602
11463 );
11464 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
11465 l_rec_acct_attrs.array_char_value(3) := p_source_43;
11466 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
11467 l_rec_acct_attrs.array_char_value(4) :=
11468 xla_ae_sources_pkg.GetSystemSourceChar(
11469 p_source_code => 'XLA_ENTITY_CODE'
11470 , p_source_type_code => 'Y'
11471 , p_source_application_id => 602
11472 );
11473 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
11474 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
11475 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
11476 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
11477 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
11478 l_rec_acct_attrs.array_num_value(7) := p_source_61;
11479 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
11480 l_rec_acct_attrs.array_num_value(8) := p_source_79;
11481 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
11482 l_rec_acct_attrs.array_char_value(9) := p_source_80;
11483 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
11484 l_rec_acct_attrs.array_char_value(10) := p_source_81;
11485 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
11486 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
11487 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
11488 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
11489 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
11490 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
11494 l_rec_acct_attrs.array_num_value(15) := p_source_53;
11491 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
11492 l_rec_acct_attrs.array_char_value(14) := p_source_43;
11493 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
11495 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
11496 l_rec_acct_attrs.array_num_value(16) := p_source_54;
11497 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
11498 l_rec_acct_attrs.array_char_value(17) := p_source_55;
11499 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
11500 l_rec_acct_attrs.array_num_value(18) := p_source_56;
11501 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
11502 l_rec_acct_attrs.array_num_value(19) := p_source_57;
11503 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
11504 l_rec_acct_attrs.array_num_value(20) := p_source_58;
11505 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
11506 l_rec_acct_attrs.array_char_value(21) := p_source_55;
11507 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
11508 l_rec_acct_attrs.array_num_value(22) := p_source_59;
11509 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
11510 l_rec_acct_attrs.array_char_value(23) := p_source_60;
11511 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
11512 l_rec_acct_attrs.array_num_value(24) := p_source_9;
11513 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
11514 l_rec_acct_attrs.array_date_value(25) := p_source_65;
11515 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
11516 l_rec_acct_attrs.array_char_value(26) := p_source_66;
11517 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
11518 l_rec_acct_attrs.array_date_value(27) := p_source_67;
11519 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
11520 l_rec_acct_attrs.array_char_value(28) := p_source_68;
11521 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
11522 l_rec_acct_attrs.array_num_value(29) := p_source_69;
11523 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
11524 l_rec_acct_attrs.array_num_value(30) := p_source_70;
11525 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
11526 l_rec_acct_attrs.array_char_value(31) := p_source_71;
11527 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
11528 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
11529 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
11530 l_rec_acct_attrs.array_char_value(33) := p_source_43;
11531 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
11532 l_rec_acct_attrs.array_num_value(34) := p_source_73;
11533 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
11534 l_rec_acct_attrs.array_num_value(35) := p_source_74;
11535 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
11536 l_rec_acct_attrs.array_num_value(36) := p_source_75;
11537 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
11538 l_rec_acct_attrs.array_num_value(37) := p_source_76;
11539 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
11540 l_rec_acct_attrs.array_num_value(38) := p_source_77;
11541 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
11542 l_rec_acct_attrs.array_num_value(39) := p_source_78;
11543
11544 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
11545 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
11546
11547 ---------------------------------------------------------------------------------------------------------------
11548 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
11549 ---------------------------------------------------------------------------------------------------------------
11550 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
11551
11552 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11553 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
11554
11555 IF xla_accounting_cache_pkg.GetValueChar
11556 (p_source_code => 'LEDGER_CATEGORY_CODE'
11557 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
11558 AND l_bflow_method_code = 'PRIOR_ENTRY'
11559 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
11560 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
11561 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
11562 )
11563 THEN
11564 xla_ae_lines_pkg.BflowUpgEntry
11565 (p_business_method_code => l_bflow_method_code
11566 ,p_business_class_code => l_bflow_class_code
11567 ,p_balance_type => l_balance_type_code);
11568 ELSE
11569 NULL;
11570 -- No business flow processing for business flow method of NONE.
11571 END IF;
11572
11573 --
11574 -- call analytical criteria
11575 --
11576
11577 --
11578 -- call description
11579 --
11580
11581 xla_ae_lines_pkg.SetLineDescription(
11582 p_ae_header_id => l_ae_header_id
11583 ,p_description => Description_2 (
11584 p_application_id => p_application_id
11585 , p_ae_header_id => l_ae_header_id
11589
11586 , p_source_1 => p_source_1
11587 )
11588 );
11590
11591 --
11592 -- call ADRs
11593 -- Bug 4922099
11594 --
11595 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11596 (NVL(l_actual_upg_option, 'N') = 'O') OR
11597 (NVL(l_enc_upg_option, 'N') = 'O')
11598 )
11599 THEN
11600 NULL;
11601 --
11602 --
11603
11604 l_ccid := AcctDerRule_29(
11605 p_application_id => p_application_id
11606 , p_ae_header_id => l_ae_header_id
11607 , p_source_3 => p_source_3
11608 , p_source_3_meaning => p_source_3_meaning
11609 , p_source_8 => p_source_8
11610 , p_source_9 => p_source_9
11611 , p_source_10 => p_source_10
11612 , p_source_10_meaning => p_source_10_meaning
11613 , p_source_11 => p_source_11
11614 , p_source_18 => p_source_18
11615 , p_source_35 => p_source_35
11616 , p_source_35_meaning => p_source_35_meaning
11617 , x_transaction_coa_id => l_adr_transaction_coa_id
11618 , x_accounting_coa_id => l_adr_accounting_coa_id
11619 , x_value_type_code => l_adr_value_type_code
11620 , p_side => 'ALL'
11621 );
11622
11623 xla_ae_lines_pkg.set_ccid(
11624 p_code_combination_id => l_ccid
11625 , p_value_type_code => l_adr_value_type_code
11626 , p_transaction_coa_id => l_adr_transaction_coa_id
11627 , p_accounting_coa_id => l_adr_accounting_coa_id
11628 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11629 , p_adr_type_code => 'S'
11630 , p_component_type => l_component_type
11631 , p_component_code => l_component_code
11632 , p_component_type_code => l_component_type_code
11633 , p_component_appl_id => l_component_appl_id
11634 , p_amb_context_code => l_amb_context_code
11635 , p_side => 'ALL'
11636 );
11637
11638
11639 l_segment := AcctDerRule_8(
11640 p_application_id => p_application_id
11641 , p_ae_header_id => l_ae_header_id
11642 , p_source_3 => p_source_3
11643 , p_source_3_meaning => p_source_3_meaning
11644 , p_source_8 => p_source_8
11645 , p_source_10 => p_source_10
11646 , p_source_10_meaning => p_source_10_meaning
11647 , x_transaction_coa_id => l_adr_transaction_coa_id
11648 , x_accounting_coa_id => l_adr_accounting_coa_id
11649 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11650 , x_flex_value_set_id => l_adr_flex_value_set_id
11651 , x_value_type_code => l_adr_value_type_code
11652 , x_value_combination_id => l_adr_value_combination_id
11653 , x_value_segment_code => l_adr_value_segment_code
11654 , p_side => 'CREDIT'
11655 , p_override_seg_flag => 'Y'
11656 );
11657
11658 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11659
11660 xla_ae_lines_pkg.set_segment(
11661 p_to_segment_code => 'GL_ACCOUNT'
11662 , p_segment_value => l_segment
11663 , p_from_segment_code => l_adr_value_segment_code
11664 , p_from_combination_id => l_adr_value_combination_id
11665 , p_value_type_code => l_adr_value_type_code
11666 , p_transaction_coa_id => l_adr_transaction_coa_id
11667 , p_accounting_coa_id => l_adr_accounting_coa_id
11668 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11669 , p_flex_value_set_id => l_adr_flex_value_set_id
11670 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11671 , p_adr_type_code => 'S'
11672 , p_component_type => l_component_type
11673 , p_component_code => l_component_code
11674 , p_component_type_code => l_component_type_code
11675 , p_component_appl_id => l_component_appl_id
11676 , p_amb_context_code => l_amb_context_code
11677 , p_entity_code => 'AP_INVOICES'
11678 , p_event_class_code => 'INVOICES'
11679 , p_side => 'CREDIT'
11680 );
11681
11682 END IF;
11683
11684 l_segment := AcctDerRule_9(
11685 p_application_id => p_application_id
11686 , p_ae_header_id => l_ae_header_id
11687 , p_source_3 => p_source_3
11688 , p_source_3_meaning => p_source_3_meaning
11689 , p_source_10 => p_source_10
11690 , p_source_10_meaning => p_source_10_meaning
11691 , p_source_11 => p_source_11
11692 , x_transaction_coa_id => l_adr_transaction_coa_id
11693 , x_accounting_coa_id => l_adr_accounting_coa_id
11694 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11695 , x_flex_value_set_id => l_adr_flex_value_set_id
11696 , x_value_type_code => l_adr_value_type_code
11697 , x_value_combination_id => l_adr_value_combination_id
11698 , x_value_segment_code => l_adr_value_segment_code
11699 , p_side => 'DEBIT'
11700 , p_override_seg_flag => 'Y'
11701 );
11702
11703 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11704
11708 , p_from_segment_code => l_adr_value_segment_code
11705 xla_ae_lines_pkg.set_segment(
11706 p_to_segment_code => 'GL_ACCOUNT'
11707 , p_segment_value => l_segment
11709 , p_from_combination_id => l_adr_value_combination_id
11710 , p_value_type_code => l_adr_value_type_code
11711 , p_transaction_coa_id => l_adr_transaction_coa_id
11712 , p_accounting_coa_id => l_adr_accounting_coa_id
11713 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11714 , p_flex_value_set_id => l_adr_flex_value_set_id
11715 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11716 , p_adr_type_code => 'S'
11717 , p_component_type => l_component_type
11718 , p_component_code => l_component_code
11719 , p_component_type_code => l_component_type_code
11720 , p_component_appl_id => l_component_appl_id
11721 , p_amb_context_code => l_amb_context_code
11722 , p_entity_code => 'AP_INVOICES'
11723 , p_event_class_code => 'INVOICES'
11724 , p_side => 'DEBIT'
11725 );
11726
11727 END IF;
11728
11729 l_segment := AcctDerRule_22(
11730 p_application_id => p_application_id
11731 , p_ae_header_id => l_ae_header_id
11732 , p_source_3 => p_source_3
11733 , p_source_3_meaning => p_source_3_meaning
11734 , p_source_10 => p_source_10
11735 , p_source_10_meaning => p_source_10_meaning
11736 , p_source_18 => p_source_18
11737 , x_transaction_coa_id => l_adr_transaction_coa_id
11738 , x_accounting_coa_id => l_adr_accounting_coa_id
11739 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11740 , x_flex_value_set_id => l_adr_flex_value_set_id
11741 , x_value_type_code => l_adr_value_type_code
11742 , x_value_combination_id => l_adr_value_combination_id
11743 , x_value_segment_code => l_adr_value_segment_code
11744 , p_side => 'ALL'
11745 , p_override_seg_flag => 'Y'
11746 );
11747
11748 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11749
11750 xla_ae_lines_pkg.set_segment(
11751 p_to_segment_code => 'GL_BALANCING'
11752 , p_segment_value => l_segment
11753 , p_from_segment_code => l_adr_value_segment_code
11754 , p_from_combination_id => l_adr_value_combination_id
11755 , p_value_type_code => l_adr_value_type_code
11756 , p_transaction_coa_id => l_adr_transaction_coa_id
11757 , p_accounting_coa_id => l_adr_accounting_coa_id
11758 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11759 , p_flex_value_set_id => l_adr_flex_value_set_id
11760 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
11761 , p_adr_type_code => 'S'
11762 , p_component_type => l_component_type
11763 , p_component_code => l_component_code
11764 , p_component_type_code => l_component_type_code
11765 , p_component_appl_id => l_component_appl_id
11766 , p_amb_context_code => l_amb_context_code
11767 , p_entity_code => 'AP_INVOICES'
11768 , p_event_class_code => 'INVOICES'
11769 , p_side => 'ALL'
11770 );
11771
11772 END IF;
11773
11774 --
11775 --
11776 END IF;
11777 --
11778 -- Bug 4922099
11779 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
11780 (NVL(l_enc_upg_option, 'N') = 'O')
11781 ) AND
11782 (l_bflow_method_code = 'PRIOR_ENTRY')
11783 )
11784 THEN
11785 IF
11786 --
11787 1 = 2
11788 --
11789 THEN
11790 xla_accounting_err_pkg.build_message
11791 (p_appli_s_name => 'XLA'
11792 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11793 ,p_token_1 => 'LINE_NUMBER'
11794 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
11795 ,p_token_2 => 'LINE_TYPE_NAME'
11796 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
11797 l_component_type
11798 ,l_component_code
11799 ,l_component_type_code
11800 ,l_component_appl_id
11801 ,l_amb_context_code
11802 ,l_entity_code
11803 ,l_event_class_code
11804 )
11805 ,p_token_3 => 'OWNER'
11806 ,p_value_3 => xla_lookups_pkg.get_meaning(
11810 ,p_token_4 => 'PRODUCT_NAME'
11807 p_lookup_type => 'XLA_OWNER_TYPE'
11808 ,p_lookup_code => l_component_type_code
11809 )
11811 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
11812 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
11813 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
11814 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
11815 ,p_ae_header_id => NULL
11816 );
11817
11818 IF (C_LEVEL_ERROR>= g_log_level) THEN
11819 trace
11820 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
11821 ,p_level => C_LEVEL_ERROR
11822 ,p_module => l_log_module);
11823 END IF;
11824 END IF;
11825 END IF;
11826 --
11827 --
11828 ------------------------------------------------------------------------------------------------
11829 -- 4219869 Business Flow
11830 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
11831 -- Prior Entry. Currently, the following code is always generated.
11832 ------------------------------------------------------------------------------------------------
11833 XLA_AE_LINES_PKG.ValidateCurrentLine;
11834
11835 ------------------------------------------------------------------------------------
11836 -- 4219869 Business Flow
11837 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
11838 ------------------------------------------------------------------------------------
11839 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
11840
11841 ----------------------------------------------------------------------------------
11842 -- 4219869 Business Flow
11843 -- Update journal entry status -- Need to generate this within IF <condition>
11844 ----------------------------------------------------------------------------------
11845 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
11846 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
11847 ,p_balance_type_code => l_balance_type_code
11848 );
11849
11850 -------------------------------------------------------------------------------------------
11851 -- 4262811 - Generate the Accrual Reversal lines
11852 -------------------------------------------------------------------------------------------
11853 BEGIN
11854 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
11855 (g_array_event(p_event_id).array_value_num('header_index'));
11856 IF l_acc_rev_flag IS NULL THEN
11857 l_acc_rev_flag := 'N';
11858 END IF;
11859 EXCEPTION
11860 WHEN OTHERS THEN
11861 l_acc_rev_flag := 'N';
11862 END;
11863 --
11864 IF (l_acc_rev_flag = 'Y') THEN
11865
11866 -- 4645092 ------------------------------------------------------------------------------
11867 -- To allow MPA report to determine if it should generate report process
11868 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
11869 ------------------------------------------------------------------------------------------
11870
11871 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
11872 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
11873 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
11874 -- call ADRs
11875 -- Bug 4922099
11876 --
11877 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
11878 (NVL(l_actual_upg_option, 'N') = 'O') OR
11879 (NVL(l_enc_upg_option, 'N') = 'O')
11880 )
11881 THEN
11882 NULL;
11883 --
11884 --
11885
11886 l_ccid := AcctDerRule_29(
11887 p_application_id => p_application_id
11888 , p_ae_header_id => l_ae_header_id
11889 , p_source_3 => p_source_3
11890 , p_source_3_meaning => p_source_3_meaning
11891 , p_source_8 => p_source_8
11892 , p_source_9 => p_source_9
11893 , p_source_10 => p_source_10
11894 , p_source_10_meaning => p_source_10_meaning
11895 , p_source_11 => p_source_11
11896 , p_source_18 => p_source_18
11897 , p_source_35 => p_source_35
11898 , p_source_35_meaning => p_source_35_meaning
11899 , x_transaction_coa_id => l_adr_transaction_coa_id
11900 , x_accounting_coa_id => l_adr_accounting_coa_id
11901 , x_value_type_code => l_adr_value_type_code
11902 , p_side => 'ALL'
11903 );
11904
11905 xla_ae_lines_pkg.set_ccid(
11906 p_code_combination_id => l_ccid
11907 , p_value_type_code => l_adr_value_type_code
11908 , p_transaction_coa_id => l_adr_transaction_coa_id
11909 , p_accounting_coa_id => l_adr_accounting_coa_id
11910 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
11911 , p_adr_type_code => 'S'
11915 , p_component_appl_id => l_component_appl_id
11912 , p_component_type => l_component_type
11913 , p_component_code => l_component_code
11914 , p_component_type_code => l_component_type_code
11916 , p_amb_context_code => l_amb_context_code
11917 , p_side => 'ALL'
11918 );
11919
11920
11921 l_segment := AcctDerRule_8(
11922 p_application_id => p_application_id
11923 , p_ae_header_id => l_ae_header_id
11924 , p_source_3 => p_source_3
11925 , p_source_3_meaning => p_source_3_meaning
11926 , p_source_8 => p_source_8
11927 , p_source_10 => p_source_10
11928 , p_source_10_meaning => p_source_10_meaning
11929 , x_transaction_coa_id => l_adr_transaction_coa_id
11930 , x_accounting_coa_id => l_adr_accounting_coa_id
11931 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11932 , x_flex_value_set_id => l_adr_flex_value_set_id
11933 , x_value_type_code => l_adr_value_type_code
11934 , x_value_combination_id => l_adr_value_combination_id
11935 , x_value_segment_code => l_adr_value_segment_code
11936 , p_side => 'CREDIT'
11937 , p_override_seg_flag => 'Y'
11938 );
11939
11940 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11941
11942 xla_ae_lines_pkg.set_segment(
11943 p_to_segment_code => 'GL_ACCOUNT'
11944 , p_segment_value => l_segment
11945 , p_from_segment_code => l_adr_value_segment_code
11946 , p_from_combination_id => l_adr_value_combination_id
11947 , p_value_type_code => l_adr_value_type_code
11948 , p_transaction_coa_id => l_adr_transaction_coa_id
11949 , p_accounting_coa_id => l_adr_accounting_coa_id
11950 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11951 , p_flex_value_set_id => l_adr_flex_value_set_id
11952 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
11953 , p_adr_type_code => 'S'
11954 , p_component_type => l_component_type
11955 , p_component_code => l_component_code
11956 , p_component_type_code => l_component_type_code
11957 , p_component_appl_id => l_component_appl_id
11958 , p_amb_context_code => l_amb_context_code
11959 , p_entity_code => 'AP_INVOICES'
11960 , p_event_class_code => 'INVOICES'
11961 , p_side => 'CREDIT'
11962 );
11963
11964 END IF;
11965
11966 l_segment := AcctDerRule_9(
11967 p_application_id => p_application_id
11968 , p_ae_header_id => l_ae_header_id
11969 , p_source_3 => p_source_3
11970 , p_source_3_meaning => p_source_3_meaning
11971 , p_source_10 => p_source_10
11972 , p_source_10_meaning => p_source_10_meaning
11973 , p_source_11 => p_source_11
11974 , x_transaction_coa_id => l_adr_transaction_coa_id
11975 , x_accounting_coa_id => l_adr_accounting_coa_id
11976 , x_flexfield_segment_code => l_adr_flexfield_segment_code
11977 , x_flex_value_set_id => l_adr_flex_value_set_id
11978 , x_value_type_code => l_adr_value_type_code
11979 , x_value_combination_id => l_adr_value_combination_id
11980 , x_value_segment_code => l_adr_value_segment_code
11981 , p_side => 'DEBIT'
11982 , p_override_seg_flag => 'Y'
11983 );
11984
11985 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
11986
11987 xla_ae_lines_pkg.set_segment(
11988 p_to_segment_code => 'GL_ACCOUNT'
11989 , p_segment_value => l_segment
11990 , p_from_segment_code => l_adr_value_segment_code
11991 , p_from_combination_id => l_adr_value_combination_id
11992 , p_value_type_code => l_adr_value_type_code
11993 , p_transaction_coa_id => l_adr_transaction_coa_id
11994 , p_accounting_coa_id => l_adr_accounting_coa_id
11995 , p_flexfield_segment_code => l_adr_flexfield_segment_code
11996 , p_flex_value_set_id => l_adr_flex_value_set_id
11997 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
11998 , p_adr_type_code => 'S'
11999 , p_component_type => l_component_type
12000 , p_component_code => l_component_code
12001 , p_component_type_code => l_component_type_code
12002 , p_component_appl_id => l_component_appl_id
12003 , p_amb_context_code => l_amb_context_code
12004 , p_entity_code => 'AP_INVOICES'
12005 , p_event_class_code => 'INVOICES'
12006 , p_side => 'DEBIT'
12007 );
12008
12009 END IF;
12010
12011 l_segment := AcctDerRule_22(
12012 p_application_id => p_application_id
12013 , p_ae_header_id => l_ae_header_id
12014 , p_source_3 => p_source_3
12015 , p_source_3_meaning => p_source_3_meaning
12016 , p_source_10 => p_source_10
12017 , p_source_10_meaning => p_source_10_meaning
12018 , p_source_18 => p_source_18
12019 , x_transaction_coa_id => l_adr_transaction_coa_id
12020 , x_accounting_coa_id => l_adr_accounting_coa_id
12024 , x_value_combination_id => l_adr_value_combination_id
12021 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12022 , x_flex_value_set_id => l_adr_flex_value_set_id
12023 , x_value_type_code => l_adr_value_type_code
12025 , x_value_segment_code => l_adr_value_segment_code
12026 , p_side => 'ALL'
12027 , p_override_seg_flag => 'Y'
12028 );
12029
12030 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12031
12032 xla_ae_lines_pkg.set_segment(
12033 p_to_segment_code => 'GL_BALANCING'
12034 , p_segment_value => l_segment
12035 , p_from_segment_code => l_adr_value_segment_code
12036 , p_from_combination_id => l_adr_value_combination_id
12037 , p_value_type_code => l_adr_value_type_code
12038 , p_transaction_coa_id => l_adr_transaction_coa_id
12039 , p_accounting_coa_id => l_adr_accounting_coa_id
12040 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12041 , p_flex_value_set_id => l_adr_flex_value_set_id
12042 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12043 , p_adr_type_code => 'S'
12044 , p_component_type => l_component_type
12045 , p_component_code => l_component_code
12046 , p_component_type_code => l_component_type_code
12047 , p_component_appl_id => l_component_appl_id
12048 , p_amb_context_code => l_amb_context_code
12049 , p_entity_code => 'AP_INVOICES'
12050 , p_event_class_code => 'INVOICES'
12051 , p_side => 'ALL'
12052 );
12053
12054 END IF;
12055
12056 --
12057 --
12058 END IF;
12059
12060 --
12061 -- Update the line information that should be overwritten
12062 --
12063 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
12064 p_header_num => 1);
12065 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
12066
12067 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
12068
12069 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
12070 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
12071 END IF;
12072
12073 --
12074 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
12075 --
12076 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
12077 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
12078 ELSE
12079 ---------------------------------------------------------------------------------------------------
12080 -- 4262811a Switch Sign
12081 ---------------------------------------------------------------------------------------------------
12082 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
12083 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12085 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
12086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12087 -- 5132302
12088 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
12089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
12090
12091 END IF;
12092
12093 -- 4955764
12094 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12095 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
12096
12097
12098 XLA_AE_LINES_PKG.ValidateCurrentLine;
12099 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12100
12101 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12102 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
12103 ,p_balance_type_code => l_balance_type_code);
12104
12105 END IF;
12106
12107 -----------------------------------------------------------------------------------------
12108 -- 4262811 Multiperiod Accounting
12109 -----------------------------------------------------------------------------------------
12110 -- No MPA option is assigned.
12111
12112
12113 END IF;
12114 END IF;
12115 --
12116
12117 --
12118 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12119 trace
12120 (p_msg => 'END of AcctLineType_53'
12121 ,p_level => C_LEVEL_PROCEDURE
12122 ,p_module => l_log_module);
12123 END IF;
12124 --
12125 EXCEPTION
12126 WHEN xla_exceptions_pkg.application_exception THEN
12127 RAISE;
12128 WHEN OTHERS THEN
12129 xla_exceptions_pkg.raise_message
12130 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_53');
12131 END AcctLineType_53;
12132 --
12133
12134 ---------------------------------------
12138 --
12135 --
12136 -- PRIVATE FUNCTION
12137 -- AcctLineType_54
12139 ---------------------------------------
12140 PROCEDURE AcctLineType_54 (
12141 p_application_id IN NUMBER
12142 ,p_event_id IN NUMBER
12143 ,p_calculate_acctd_flag IN VARCHAR2
12144 ,p_calculate_g_l_flag IN VARCHAR2
12145 ,p_actual_flag IN OUT VARCHAR2
12146 ,p_balance_type_code OUT VARCHAR2
12147 ,p_gain_or_loss_ref OUT VARCHAR2
12148
12149 --Invoice Distribution Description
12150 , p_source_1 IN VARCHAR2
12151 --Automatic Offsets Value
12152 , p_source_3 IN VARCHAR2
12153 , p_source_3_meaning IN VARCHAR2
12154 --Purchase Order Rate Variance Gain Account
12155 , p_source_8 IN NUMBER
12156 --Invoice Distribution Ledger Amount
12157 , p_source_9 IN NUMBER
12158 --Destination Type of the PO Distribution
12159 , p_source_10 IN VARCHAR2
12160 , p_source_10_meaning IN VARCHAR2
12161 --Purchase Order Rate Variance Loss Account
12162 , p_source_11 IN NUMBER
12163 --Invoice Distribution Account
12164 , p_source_18 IN NUMBER
12165 --Invoice Distribution Type
12166 , p_source_21 IN VARCHAR2
12167 , p_source_21_meaning IN VARCHAR2
12168 --Automatic Offsets Flag
12169 , p_source_35 IN VARCHAR2
12170 , p_source_35_meaning IN VARCHAR2
12171 --Accounting Reversal Indicator
12172 , p_source_41 IN VARCHAR2
12173 --Distribution Link Type
12174 , p_source_43 IN VARCHAR2
12175 --Allocation to Main Distribution Identifier
12176 , p_source_45 IN NUMBER
12177 --Invoice Identifier
12178 , p_source_46 IN NUMBER
12179 --Invoice Distribution Identifier
12180 , p_source_52 IN NUMBER
12181 --Payables Encumbrance Upgrade Credit Account
12182 , p_source_53 IN NUMBER
12183 --Payables Encumbrance Upgrade Credit Amount
12184 , p_source_54 IN NUMBER
12185 --Invoice Currency Code
12186 , p_source_55 IN VARCHAR2
12187 --Payables Encumbrance Upgrade Credit Base Amount
12188 , p_source_56 IN NUMBER
12189 --Payables Encumbrance Upgrade Debit Account
12190 , p_source_57 IN NUMBER
12191 --Payables Encumbrance Upgrade Debit Amount
12192 , p_source_58 IN NUMBER
12193 --Payables Encumbrance Upgrade Debit Base Amount
12194 , p_source_59 IN NUMBER
12195 --Payables Encumbrance Upgrade Option
12196 , p_source_60 IN VARCHAR2
12197 --Deferred Accounting End Date
12198 , p_source_65 IN DATE
12199 --Deferred Accounting Option
12200 , p_source_66 IN VARCHAR2
12201 --Deferred Accounting Start Date
12202 , p_source_67 IN DATE
12203 --Override Accounted Amount Indicator
12204 , p_source_68 IN VARCHAR2
12205 , p_source_68_meaning IN VARCHAR2
12206 --Invoice Supplier Identifier
12207 , p_source_69 IN NUMBER
12208 --Invoice Supplier Site Identifier
12209 , p_source_70 IN NUMBER
12210 --Third Party Type
12211 , p_source_71 IN VARCHAR2
12212 --Parent Reversal Identifier
12213 , p_source_72 IN NUMBER
12214 --Invoice Distribution Statistical Amount
12215 , p_source_73 IN NUMBER
12216 --Invoice Distribution Tax Line Identifier
12217 , p_source_74 IN NUMBER
12218 --Invoice Distribution Tax Distribution Identifier from Tax
12219 , p_source_75 IN NUMBER
12220 --Invoice Distribution Summary Tax Line Identifier
12221 , p_source_76 IN NUMBER
12222 --Payables Upgrade Credit Encumbrance Type Identifier
12223 , p_source_77 IN NUMBER
12224 --Payables Upgrade Debit Encumbrance Type Identifier
12225 , p_source_78 IN NUMBER
12226 --Business Flow Accounts Payable Application Identifier
12227 , p_source_79 IN NUMBER
12228 --Business Flow Invoice Distribution Type
12229 , p_source_80 IN VARCHAR2
12230 --Business Flow Invoice Entity Code
12231 , p_source_81 IN VARCHAR2
12232 --Business Flow Invoice Distribution Identifier
12233 , p_source_82 IN NUMBER
12234 --Business Flow Invoice Identifier
12235 , p_source_83 IN NUMBER
12236 )
12237 IS
12238
12239 l_component_type VARCHAR2(80);
12240 l_component_code VARCHAR2(30);
12241 l_component_type_code VARCHAR2(1);
12242 l_component_appl_id INTEGER;
12243 l_amb_context_code VARCHAR2(30);
12244 l_entity_code VARCHAR2(30);
12245 l_event_class_code VARCHAR2(30);
12246 l_ae_header_id NUMBER;
12247 l_event_type_code VARCHAR2(30);
12248 l_line_definition_code VARCHAR2(30);
12249 l_line_definition_owner_code VARCHAR2(1);
12250 --
12251 -- adr variables
12252 l_segment VARCHAR2(30);
12253 l_ccid NUMBER;
12254 l_adr_transaction_coa_id NUMBER;
12255 l_adr_accounting_coa_id NUMBER;
12256 l_adr_flexfield_segment_code VARCHAR2(30);
12257 l_adr_flex_value_set_id NUMBER;
12258 l_adr_value_type_code VARCHAR2(30);
12259 l_adr_value_combination_id NUMBER;
12260 l_adr_value_segment_code VARCHAR2(30);
12261
12262 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
12263 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
12267 -- 4262811 Variables ------------------------------------------------------------------------------------------
12264 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
12265 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
12266
12268 l_entered_amt_idx NUMBER;
12269 l_accted_amt_idx NUMBER;
12270 l_acc_rev_flag VARCHAR2(1);
12271 l_accrual_line_num NUMBER;
12272 l_tmp_amt NUMBER;
12273 l_acc_rev_natural_side_code VARCHAR2(1);
12274
12275 l_num_entries NUMBER;
12276 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
12277 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
12278 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
12279 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
12280 l_recog_line_1 NUMBER;
12281 l_recog_line_2 NUMBER;
12282
12283 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
12284 l_bflow_applied_to_amt NUMBER; -- 5132302
12285 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
12286
12287 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
12288
12289 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
12290 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
12291
12292 ---------------------------------------------------------------------------------------------------------------
12293
12294
12295 --
12296 -- bulk performance
12297 --
12298 l_balance_type_code VARCHAR2(1);
12299 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
12300 l_log_module VARCHAR2(240);
12301
12302 --
12303 -- Upgrade strategy
12304 --
12305 l_actual_upg_option VARCHAR2(1);
12306 l_enc_upg_option VARCHAR2(1);
12307
12308 --
12309 BEGIN
12310 --
12311 IF g_log_enabled THEN
12312 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_54';
12313 END IF;
12314 --
12315 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
12316
12317 trace
12318 (p_msg => 'BEGIN of AcctLineType_54'
12319 ,p_level => C_LEVEL_PROCEDURE
12320 ,p_module => l_log_module);
12321
12322 END IF;
12323 --
12324 l_component_type := 'AMB_JLT';
12325 l_component_code := 'AP_ALC_EX_RATE_VAR_PREPAY';
12326 l_component_type_code := 'S';
12327 l_component_appl_id := 200;
12328 l_amb_context_code := 'DEFAULT';
12329 l_entity_code := 'AP_INVOICES';
12330 l_event_class_code := 'PREPAYMENTS';
12331 l_event_type_code := 'PREPAYMENTS_ALL';
12332 l_line_definition_owner_code := 'S';
12333 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
12334 --
12335 l_balance_type_code := 'A';
12336 l_segment := NULL;
12337 l_ccid := NULL;
12338 l_adr_transaction_coa_id := NULL;
12339 l_adr_accounting_coa_id := NULL;
12340 l_adr_flexfield_segment_code := NULL;
12341 l_adr_flex_value_set_id := NULL;
12342 l_adr_value_type_code := NULL;
12343 l_adr_value_combination_id := NULL;
12344 l_adr_value_segment_code := NULL;
12345
12346 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
12347 l_bflow_class_code := ''; -- 4219869 Business Flow
12348 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
12349 l_budgetary_control_flag := 'N';
12350
12351 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12352 l_bflow_applied_to_amt := NULL; -- 5132302
12353 l_entered_amt_idx := NULL; -- 4262811
12354 l_accted_amt_idx := NULL; -- 4262811
12355 l_acc_rev_flag := NULL; -- 4262811
12356 l_accrual_line_num := NULL; -- 4262811
12357 l_tmp_amt := NULL; -- 4262811
12358 --
12359 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
12360 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
12361 return;
12362 END IF;
12363
12364 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
12365 l_balance_type_code <> 'B' THEN
12366 IF NVL(p_source_21,'
12367 ') = 'ACCRUAL'
12368 THEN
12369
12370 --
12371 XLA_AE_LINES_PKG.SetNewLine;
12372
12373 p_balance_type_code := l_balance_type_code;
12374 -- set the flag so later we will know whether the gain loss line needs to be created
12375
12376 IF(l_balance_type_code = 'A' ) THEN
12377 p_actual_flag :='G';
12378 END IF;
12379
12380 --
12381 -- bulk performance
12382 --
12383 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
12384 p_header_num => 0); -- 4262811
12385 --
12386 -- set accounting line options
12387 --
12388 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
12389 p_natural_side_code => 'G'
12390 , p_gain_or_loss_flag => 'N'
12391 , p_gl_transfer_mode_code => 'S'
12395 );
12392 , p_acct_entry_type_code => 'A'
12393 , p_switch_side_flag => ''
12394 , p_merge_duplicate_code => 'A'
12396 --
12397 l_acc_rev_natural_side_code := 'C'; -- 4262811
12398 --
12399 --
12400 -- set accounting line type info
12401 --
12402 xla_ae_lines_pkg.SetAcctLineType
12403 (p_component_type => l_component_type
12404 ,p_event_type_code => l_event_type_code
12405 ,p_line_definition_owner_code => l_line_definition_owner_code
12406 ,p_line_definition_code => l_line_definition_code
12407 ,p_accounting_line_code => l_component_code
12408 ,p_accounting_line_type_code => l_component_type_code
12409 ,p_accounting_line_appl_id => l_component_appl_id
12410 ,p_amb_context_code => l_amb_context_code
12411 ,p_entity_code => l_entity_code
12412 ,p_event_class_code => l_event_class_code);
12413 --
12414 -- set accounting class
12415 --
12416 xla_ae_lines_pkg.SetAcctClass(
12417 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
12418 , p_ae_header_id => l_ae_header_id
12419 );
12420
12421 --
12422 -- set rounding class
12423 --
12424 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
12425 'EXCHANGE_RATE_VARIANCE';
12426
12427 --
12428 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
12429 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
12430 --
12431 -- bulk performance
12432 --
12433 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
12434
12435 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
12436 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
12437
12438 -- 4955764
12439 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
12440 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
12441
12442 -- 4458381 Public Sector Enh
12443
12444 --
12445 -- set accounting attributes for the line type
12446 --
12447 l_entered_amt_idx := NULL;
12448 l_accted_amt_idx := 23;
12449 l_bflow_applied_to_amt_idx := NULL; -- 5132302
12450 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
12451 l_rec_acct_attrs.array_char_value(1) := p_source_41;
12452 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
12453 l_rec_acct_attrs.array_num_value(2) :=
12454 xla_ae_sources_pkg.GetSystemSourceNum(
12455 p_source_code => 'XLA_EVENT_APPL_ID'
12456 , p_source_type_code => 'Y'
12457 , p_source_application_id => 602
12458 );
12459 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
12460 l_rec_acct_attrs.array_char_value(3) := p_source_43;
12461 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
12462 l_rec_acct_attrs.array_char_value(4) :=
12463 xla_ae_sources_pkg.GetSystemSourceChar(
12464 p_source_code => 'XLA_ENTITY_CODE'
12465 , p_source_type_code => 'Y'
12466 , p_source_application_id => 602
12467 );
12468 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
12469 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
12470 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
12471 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
12472 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
12473 l_rec_acct_attrs.array_num_value(7) := p_source_79;
12474 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
12475 l_rec_acct_attrs.array_char_value(8) := p_source_80;
12476 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
12477 l_rec_acct_attrs.array_char_value(9) := p_source_81;
12478 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
12479 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
12480 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
12481 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
12482 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
12483 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
12484 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
12485 l_rec_acct_attrs.array_char_value(13) := p_source_43;
12486 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
12487 l_rec_acct_attrs.array_num_value(14) := p_source_53;
12488 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
12489 l_rec_acct_attrs.array_num_value(15) := p_source_54;
12490 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
12491 l_rec_acct_attrs.array_char_value(16) := p_source_55;
12492 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
12493 l_rec_acct_attrs.array_num_value(17) := p_source_56;
12494 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
12495 l_rec_acct_attrs.array_num_value(18) := p_source_57;
12496 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
12497 l_rec_acct_attrs.array_num_value(19) := p_source_58;
12501 l_rec_acct_attrs.array_num_value(21) := p_source_59;
12498 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
12499 l_rec_acct_attrs.array_char_value(20) := p_source_55;
12500 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
12502 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
12503 l_rec_acct_attrs.array_char_value(22) := p_source_60;
12504 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
12505 l_rec_acct_attrs.array_num_value(23) := p_source_9;
12506 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
12507 l_rec_acct_attrs.array_date_value(24) := p_source_65;
12508 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
12509 l_rec_acct_attrs.array_char_value(25) := p_source_66;
12510 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
12511 l_rec_acct_attrs.array_date_value(26) := p_source_67;
12512 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
12513 l_rec_acct_attrs.array_char_value(27) := p_source_68;
12514 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
12515 l_rec_acct_attrs.array_num_value(28) := p_source_69;
12516 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
12517 l_rec_acct_attrs.array_num_value(29) := p_source_70;
12518 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
12519 l_rec_acct_attrs.array_char_value(30) := p_source_71;
12520 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
12521 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
12522 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
12523 l_rec_acct_attrs.array_char_value(32) := p_source_43;
12524 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
12525 l_rec_acct_attrs.array_num_value(33) := p_source_73;
12526 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
12527 l_rec_acct_attrs.array_num_value(34) := p_source_74;
12528 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
12529 l_rec_acct_attrs.array_num_value(35) := p_source_75;
12530 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
12531 l_rec_acct_attrs.array_num_value(36) := p_source_76;
12532 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
12533 l_rec_acct_attrs.array_num_value(37) := p_source_77;
12534 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
12535 l_rec_acct_attrs.array_num_value(38) := p_source_78;
12536
12537 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
12538 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
12539
12540 ---------------------------------------------------------------------------------------------------------------
12541 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
12542 ---------------------------------------------------------------------------------------------------------------
12543 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
12544
12545 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12546 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
12547
12548 IF xla_accounting_cache_pkg.GetValueChar
12549 (p_source_code => 'LEDGER_CATEGORY_CODE'
12550 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
12551 AND l_bflow_method_code = 'PRIOR_ENTRY'
12552 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
12553 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
12554 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
12555 )
12556 THEN
12557 xla_ae_lines_pkg.BflowUpgEntry
12558 (p_business_method_code => l_bflow_method_code
12559 ,p_business_class_code => l_bflow_class_code
12560 ,p_balance_type => l_balance_type_code);
12561 ELSE
12562 NULL;
12563 -- No business flow processing for business flow method of NONE.
12564 END IF;
12565
12566 --
12567 -- call analytical criteria
12568 --
12569
12570 --
12571 -- call description
12572 --
12573
12574 xla_ae_lines_pkg.SetLineDescription(
12575 p_ae_header_id => l_ae_header_id
12576 ,p_description => Description_2 (
12577 p_application_id => p_application_id
12578 , p_ae_header_id => l_ae_header_id
12579 , p_source_1 => p_source_1
12580 )
12581 );
12582
12583
12584 --
12585 -- call ADRs
12586 -- Bug 4922099
12587 --
12588 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12589 (NVL(l_actual_upg_option, 'N') = 'O') OR
12590 (NVL(l_enc_upg_option, 'N') = 'O')
12591 )
12592 THEN
12593 NULL;
12594 --
12595 --
12596
12597 l_ccid := AcctDerRule_29(
12598 p_application_id => p_application_id
12599 , p_ae_header_id => l_ae_header_id
12600 , p_source_3 => p_source_3
12601 , p_source_3_meaning => p_source_3_meaning
12602 , p_source_8 => p_source_8
12603 , p_source_9 => p_source_9
12604 , p_source_10 => p_source_10
12608 , p_source_35 => p_source_35
12605 , p_source_10_meaning => p_source_10_meaning
12606 , p_source_11 => p_source_11
12607 , p_source_18 => p_source_18
12609 , p_source_35_meaning => p_source_35_meaning
12610 , x_transaction_coa_id => l_adr_transaction_coa_id
12611 , x_accounting_coa_id => l_adr_accounting_coa_id
12612 , x_value_type_code => l_adr_value_type_code
12613 , p_side => 'ALL'
12614 );
12615
12616 xla_ae_lines_pkg.set_ccid(
12617 p_code_combination_id => l_ccid
12618 , p_value_type_code => l_adr_value_type_code
12619 , p_transaction_coa_id => l_adr_transaction_coa_id
12620 , p_accounting_coa_id => l_adr_accounting_coa_id
12621 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12622 , p_adr_type_code => 'S'
12623 , p_component_type => l_component_type
12624 , p_component_code => l_component_code
12625 , p_component_type_code => l_component_type_code
12626 , p_component_appl_id => l_component_appl_id
12627 , p_amb_context_code => l_amb_context_code
12628 , p_side => 'ALL'
12629 );
12630
12631
12632 l_segment := AcctDerRule_8(
12633 p_application_id => p_application_id
12634 , p_ae_header_id => l_ae_header_id
12635 , p_source_3 => p_source_3
12636 , p_source_3_meaning => p_source_3_meaning
12637 , p_source_8 => p_source_8
12638 , p_source_10 => p_source_10
12639 , p_source_10_meaning => p_source_10_meaning
12640 , x_transaction_coa_id => l_adr_transaction_coa_id
12641 , x_accounting_coa_id => l_adr_accounting_coa_id
12642 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12643 , x_flex_value_set_id => l_adr_flex_value_set_id
12644 , x_value_type_code => l_adr_value_type_code
12645 , x_value_combination_id => l_adr_value_combination_id
12646 , x_value_segment_code => l_adr_value_segment_code
12647 , p_side => 'CREDIT'
12648 , p_override_seg_flag => 'Y'
12649 );
12650
12651 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12652
12653 xla_ae_lines_pkg.set_segment(
12654 p_to_segment_code => 'GL_ACCOUNT'
12655 , p_segment_value => l_segment
12656 , p_from_segment_code => l_adr_value_segment_code
12657 , p_from_combination_id => l_adr_value_combination_id
12658 , p_value_type_code => l_adr_value_type_code
12659 , p_transaction_coa_id => l_adr_transaction_coa_id
12660 , p_accounting_coa_id => l_adr_accounting_coa_id
12661 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12662 , p_flex_value_set_id => l_adr_flex_value_set_id
12663 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12664 , p_adr_type_code => 'S'
12665 , p_component_type => l_component_type
12666 , p_component_code => l_component_code
12667 , p_component_type_code => l_component_type_code
12668 , p_component_appl_id => l_component_appl_id
12669 , p_amb_context_code => l_amb_context_code
12670 , p_entity_code => 'AP_INVOICES'
12671 , p_event_class_code => 'PREPAYMENTS'
12672 , p_side => 'CREDIT'
12673 );
12674
12675 END IF;
12676
12677 l_segment := AcctDerRule_9(
12678 p_application_id => p_application_id
12679 , p_ae_header_id => l_ae_header_id
12680 , p_source_3 => p_source_3
12681 , p_source_3_meaning => p_source_3_meaning
12682 , p_source_10 => p_source_10
12683 , p_source_10_meaning => p_source_10_meaning
12684 , p_source_11 => p_source_11
12685 , x_transaction_coa_id => l_adr_transaction_coa_id
12686 , x_accounting_coa_id => l_adr_accounting_coa_id
12687 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12688 , x_flex_value_set_id => l_adr_flex_value_set_id
12689 , x_value_type_code => l_adr_value_type_code
12690 , x_value_combination_id => l_adr_value_combination_id
12691 , x_value_segment_code => l_adr_value_segment_code
12692 , p_side => 'DEBIT'
12693 , p_override_seg_flag => 'Y'
12694 );
12695
12696 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12697
12698 xla_ae_lines_pkg.set_segment(
12699 p_to_segment_code => 'GL_ACCOUNT'
12700 , p_segment_value => l_segment
12701 , p_from_segment_code => l_adr_value_segment_code
12702 , p_from_combination_id => l_adr_value_combination_id
12703 , p_value_type_code => l_adr_value_type_code
12704 , p_transaction_coa_id => l_adr_transaction_coa_id
12705 , p_accounting_coa_id => l_adr_accounting_coa_id
12706 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12707 , p_flex_value_set_id => l_adr_flex_value_set_id
12708 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12709 , p_adr_type_code => 'S'
12710 , p_component_type => l_component_type
12711 , p_component_code => l_component_code
12712 , p_component_type_code => l_component_type_code
12713 , p_component_appl_id => l_component_appl_id
12717 , p_side => 'DEBIT'
12714 , p_amb_context_code => l_amb_context_code
12715 , p_entity_code => 'AP_INVOICES'
12716 , p_event_class_code => 'PREPAYMENTS'
12718 );
12719
12720 END IF;
12721
12722 l_segment := AcctDerRule_22(
12723 p_application_id => p_application_id
12724 , p_ae_header_id => l_ae_header_id
12725 , p_source_3 => p_source_3
12726 , p_source_3_meaning => p_source_3_meaning
12727 , p_source_10 => p_source_10
12728 , p_source_10_meaning => p_source_10_meaning
12729 , p_source_18 => p_source_18
12730 , x_transaction_coa_id => l_adr_transaction_coa_id
12731 , x_accounting_coa_id => l_adr_accounting_coa_id
12732 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12733 , x_flex_value_set_id => l_adr_flex_value_set_id
12734 , x_value_type_code => l_adr_value_type_code
12735 , x_value_combination_id => l_adr_value_combination_id
12736 , x_value_segment_code => l_adr_value_segment_code
12737 , p_side => 'ALL'
12738 , p_override_seg_flag => 'Y'
12739 );
12740
12741 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12742
12743 xla_ae_lines_pkg.set_segment(
12744 p_to_segment_code => 'GL_BALANCING'
12745 , p_segment_value => l_segment
12746 , p_from_segment_code => l_adr_value_segment_code
12747 , p_from_combination_id => l_adr_value_combination_id
12748 , p_value_type_code => l_adr_value_type_code
12749 , p_transaction_coa_id => l_adr_transaction_coa_id
12750 , p_accounting_coa_id => l_adr_accounting_coa_id
12751 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12752 , p_flex_value_set_id => l_adr_flex_value_set_id
12753 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
12754 , p_adr_type_code => 'S'
12755 , p_component_type => l_component_type
12756 , p_component_code => l_component_code
12757 , p_component_type_code => l_component_type_code
12758 , p_component_appl_id => l_component_appl_id
12759 , p_amb_context_code => l_amb_context_code
12760 , p_entity_code => 'AP_INVOICES'
12761 , p_event_class_code => 'PREPAYMENTS'
12762 , p_side => 'ALL'
12763 );
12764
12765 END IF;
12766
12767 --
12768 --
12769 END IF;
12770 --
12771 -- Bug 4922099
12772 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
12773 (NVL(l_enc_upg_option, 'N') = 'O')
12774 ) AND
12775 (l_bflow_method_code = 'PRIOR_ENTRY')
12776 )
12777 THEN
12778 IF
12779 --
12780 1 = 2
12781 --
12782 THEN
12783 xla_accounting_err_pkg.build_message
12784 (p_appli_s_name => 'XLA'
12785 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12786 ,p_token_1 => 'LINE_NUMBER'
12787 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
12788 ,p_token_2 => 'LINE_TYPE_NAME'
12789 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
12790 l_component_type
12791 ,l_component_code
12792 ,l_component_type_code
12793 ,l_component_appl_id
12794 ,l_amb_context_code
12795 ,l_entity_code
12796 ,l_event_class_code
12797 )
12798 ,p_token_3 => 'OWNER'
12799 ,p_value_3 => xla_lookups_pkg.get_meaning(
12800 p_lookup_type => 'XLA_OWNER_TYPE'
12801 ,p_lookup_code => l_component_type_code
12802 )
12803 ,p_token_4 => 'PRODUCT_NAME'
12804 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
12805 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
12806 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
12807 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
12808 ,p_ae_header_id => NULL
12809 );
12810
12811 IF (C_LEVEL_ERROR>= g_log_level) THEN
12815 ,p_module => l_log_module);
12812 trace
12813 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
12814 ,p_level => C_LEVEL_ERROR
12816 END IF;
12817 END IF;
12818 END IF;
12819 --
12820 --
12821 ------------------------------------------------------------------------------------------------
12822 -- 4219869 Business Flow
12823 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
12824 -- Prior Entry. Currently, the following code is always generated.
12825 ------------------------------------------------------------------------------------------------
12826 XLA_AE_LINES_PKG.ValidateCurrentLine;
12827
12828 ------------------------------------------------------------------------------------
12829 -- 4219869 Business Flow
12830 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
12831 ------------------------------------------------------------------------------------
12832 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
12833
12834 ----------------------------------------------------------------------------------
12835 -- 4219869 Business Flow
12836 -- Update journal entry status -- Need to generate this within IF <condition>
12837 ----------------------------------------------------------------------------------
12838 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
12839 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
12840 ,p_balance_type_code => l_balance_type_code
12841 );
12842
12843 -------------------------------------------------------------------------------------------
12844 -- 4262811 - Generate the Accrual Reversal lines
12845 -------------------------------------------------------------------------------------------
12846 BEGIN
12847 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
12848 (g_array_event(p_event_id).array_value_num('header_index'));
12849 IF l_acc_rev_flag IS NULL THEN
12850 l_acc_rev_flag := 'N';
12851 END IF;
12852 EXCEPTION
12853 WHEN OTHERS THEN
12854 l_acc_rev_flag := 'N';
12855 END;
12856 --
12857 IF (l_acc_rev_flag = 'Y') THEN
12858
12859 -- 4645092 ------------------------------------------------------------------------------
12860 -- To allow MPA report to determine if it should generate report process
12861 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
12862 ------------------------------------------------------------------------------------------
12863
12864 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
12865 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
12866 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
12867 -- call ADRs
12868 -- Bug 4922099
12869 --
12870 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
12871 (NVL(l_actual_upg_option, 'N') = 'O') OR
12872 (NVL(l_enc_upg_option, 'N') = 'O')
12873 )
12874 THEN
12875 NULL;
12876 --
12877 --
12878
12879 l_ccid := AcctDerRule_29(
12880 p_application_id => p_application_id
12881 , p_ae_header_id => l_ae_header_id
12882 , p_source_3 => p_source_3
12883 , p_source_3_meaning => p_source_3_meaning
12884 , p_source_8 => p_source_8
12885 , p_source_9 => p_source_9
12886 , p_source_10 => p_source_10
12887 , p_source_10_meaning => p_source_10_meaning
12888 , p_source_11 => p_source_11
12889 , p_source_18 => p_source_18
12890 , p_source_35 => p_source_35
12891 , p_source_35_meaning => p_source_35_meaning
12892 , x_transaction_coa_id => l_adr_transaction_coa_id
12893 , x_accounting_coa_id => l_adr_accounting_coa_id
12894 , x_value_type_code => l_adr_value_type_code
12895 , p_side => 'ALL'
12896 );
12897
12898 xla_ae_lines_pkg.set_ccid(
12899 p_code_combination_id => l_ccid
12900 , p_value_type_code => l_adr_value_type_code
12901 , p_transaction_coa_id => l_adr_transaction_coa_id
12902 , p_accounting_coa_id => l_adr_accounting_coa_id
12903 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
12904 , p_adr_type_code => 'S'
12905 , p_component_type => l_component_type
12906 , p_component_code => l_component_code
12907 , p_component_type_code => l_component_type_code
12908 , p_component_appl_id => l_component_appl_id
12909 , p_amb_context_code => l_amb_context_code
12910 , p_side => 'ALL'
12911 );
12912
12913
12914 l_segment := AcctDerRule_8(
12915 p_application_id => p_application_id
12916 , p_ae_header_id => l_ae_header_id
12917 , p_source_3 => p_source_3
12918 , p_source_3_meaning => p_source_3_meaning
12919 , p_source_8 => p_source_8
12920 , p_source_10 => p_source_10
12921 , p_source_10_meaning => p_source_10_meaning
12922 , x_transaction_coa_id => l_adr_transaction_coa_id
12923 , x_accounting_coa_id => l_adr_accounting_coa_id
12924 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12928 , x_value_segment_code => l_adr_value_segment_code
12925 , x_flex_value_set_id => l_adr_flex_value_set_id
12926 , x_value_type_code => l_adr_value_type_code
12927 , x_value_combination_id => l_adr_value_combination_id
12929 , p_side => 'CREDIT'
12930 , p_override_seg_flag => 'Y'
12931 );
12932
12933 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12934
12935 xla_ae_lines_pkg.set_segment(
12936 p_to_segment_code => 'GL_ACCOUNT'
12937 , p_segment_value => l_segment
12938 , p_from_segment_code => l_adr_value_segment_code
12939 , p_from_combination_id => l_adr_value_combination_id
12940 , p_value_type_code => l_adr_value_type_code
12941 , p_transaction_coa_id => l_adr_transaction_coa_id
12942 , p_accounting_coa_id => l_adr_accounting_coa_id
12943 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12944 , p_flex_value_set_id => l_adr_flex_value_set_id
12945 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
12946 , p_adr_type_code => 'S'
12947 , p_component_type => l_component_type
12948 , p_component_code => l_component_code
12949 , p_component_type_code => l_component_type_code
12950 , p_component_appl_id => l_component_appl_id
12951 , p_amb_context_code => l_amb_context_code
12952 , p_entity_code => 'AP_INVOICES'
12953 , p_event_class_code => 'PREPAYMENTS'
12954 , p_side => 'CREDIT'
12955 );
12956
12957 END IF;
12958
12959 l_segment := AcctDerRule_9(
12960 p_application_id => p_application_id
12961 , p_ae_header_id => l_ae_header_id
12962 , p_source_3 => p_source_3
12963 , p_source_3_meaning => p_source_3_meaning
12964 , p_source_10 => p_source_10
12965 , p_source_10_meaning => p_source_10_meaning
12966 , p_source_11 => p_source_11
12967 , x_transaction_coa_id => l_adr_transaction_coa_id
12968 , x_accounting_coa_id => l_adr_accounting_coa_id
12969 , x_flexfield_segment_code => l_adr_flexfield_segment_code
12970 , x_flex_value_set_id => l_adr_flex_value_set_id
12971 , x_value_type_code => l_adr_value_type_code
12972 , x_value_combination_id => l_adr_value_combination_id
12973 , x_value_segment_code => l_adr_value_segment_code
12974 , p_side => 'DEBIT'
12975 , p_override_seg_flag => 'Y'
12976 );
12977
12978 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
12979
12980 xla_ae_lines_pkg.set_segment(
12981 p_to_segment_code => 'GL_ACCOUNT'
12982 , p_segment_value => l_segment
12983 , p_from_segment_code => l_adr_value_segment_code
12984 , p_from_combination_id => l_adr_value_combination_id
12985 , p_value_type_code => l_adr_value_type_code
12986 , p_transaction_coa_id => l_adr_transaction_coa_id
12987 , p_accounting_coa_id => l_adr_accounting_coa_id
12988 , p_flexfield_segment_code => l_adr_flexfield_segment_code
12989 , p_flex_value_set_id => l_adr_flex_value_set_id
12990 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
12991 , p_adr_type_code => 'S'
12992 , p_component_type => l_component_type
12993 , p_component_code => l_component_code
12994 , p_component_type_code => l_component_type_code
12995 , p_component_appl_id => l_component_appl_id
12996 , p_amb_context_code => l_amb_context_code
12997 , p_entity_code => 'AP_INVOICES'
12998 , p_event_class_code => 'PREPAYMENTS'
12999 , p_side => 'DEBIT'
13000 );
13001
13002 END IF;
13003
13004 l_segment := AcctDerRule_22(
13005 p_application_id => p_application_id
13006 , p_ae_header_id => l_ae_header_id
13007 , p_source_3 => p_source_3
13008 , p_source_3_meaning => p_source_3_meaning
13009 , p_source_10 => p_source_10
13010 , p_source_10_meaning => p_source_10_meaning
13011 , p_source_18 => p_source_18
13012 , x_transaction_coa_id => l_adr_transaction_coa_id
13013 , x_accounting_coa_id => l_adr_accounting_coa_id
13014 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13015 , x_flex_value_set_id => l_adr_flex_value_set_id
13016 , x_value_type_code => l_adr_value_type_code
13017 , x_value_combination_id => l_adr_value_combination_id
13018 , x_value_segment_code => l_adr_value_segment_code
13019 , p_side => 'ALL'
13020 , p_override_seg_flag => 'Y'
13021 );
13022
13023 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13024
13025 xla_ae_lines_pkg.set_segment(
13026 p_to_segment_code => 'GL_BALANCING'
13027 , p_segment_value => l_segment
13028 , p_from_segment_code => l_adr_value_segment_code
13029 , p_from_combination_id => l_adr_value_combination_id
13030 , p_value_type_code => l_adr_value_type_code
13031 , p_transaction_coa_id => l_adr_transaction_coa_id
13032 , p_accounting_coa_id => l_adr_accounting_coa_id
13033 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13037 , p_component_type => l_component_type
13034 , p_flex_value_set_id => l_adr_flex_value_set_id
13035 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13036 , p_adr_type_code => 'S'
13038 , p_component_code => l_component_code
13039 , p_component_type_code => l_component_type_code
13040 , p_component_appl_id => l_component_appl_id
13041 , p_amb_context_code => l_amb_context_code
13042 , p_entity_code => 'AP_INVOICES'
13043 , p_event_class_code => 'PREPAYMENTS'
13044 , p_side => 'ALL'
13045 );
13046
13047 END IF;
13048
13049 --
13050 --
13051 END IF;
13052
13053 --
13054 -- Update the line information that should be overwritten
13055 --
13056 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
13057 p_header_num => 1);
13058 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
13059
13060 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
13061
13062 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
13063 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
13064 END IF;
13065
13066 --
13067 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
13068 --
13069 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
13070 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
13071 ELSE
13072 ---------------------------------------------------------------------------------------------------
13073 -- 4262811a Switch Sign
13074 ---------------------------------------------------------------------------------------------------
13075 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
13076 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13077 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13078 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
13079 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13080 -- 5132302
13081 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
13082 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
13083
13084 END IF;
13085
13086 -- 4955764
13087 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13088 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
13089
13090
13091 XLA_AE_LINES_PKG.ValidateCurrentLine;
13092 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13093
13094 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13095 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
13096 ,p_balance_type_code => l_balance_type_code);
13097
13098 END IF;
13099
13100 -----------------------------------------------------------------------------------------
13101 -- 4262811 Multiperiod Accounting
13102 -----------------------------------------------------------------------------------------
13103 -- No MPA option is assigned.
13104
13105
13106 END IF;
13107 END IF;
13108 --
13109
13110 --
13111 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13112 trace
13113 (p_msg => 'END of AcctLineType_54'
13114 ,p_level => C_LEVEL_PROCEDURE
13115 ,p_module => l_log_module);
13116 END IF;
13117 --
13118 EXCEPTION
13119 WHEN xla_exceptions_pkg.application_exception THEN
13120 RAISE;
13121 WHEN OTHERS THEN
13122 xla_exceptions_pkg.raise_message
13123 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_54');
13124 END AcctLineType_54;
13125 --
13126
13127 ---------------------------------------
13128 --
13129 -- PRIVATE FUNCTION
13130 -- AcctLineType_55
13131 --
13132 ---------------------------------------
13133 PROCEDURE AcctLineType_55 (
13134 p_application_id IN NUMBER
13135 ,p_event_id IN NUMBER
13136 ,p_calculate_acctd_flag IN VARCHAR2
13137 ,p_calculate_g_l_flag IN VARCHAR2
13138 ,p_actual_flag IN OUT VARCHAR2
13139 ,p_balance_type_code OUT VARCHAR2
13140 ,p_gain_or_loss_ref OUT VARCHAR2
13141
13142 --Invoice Distribution Description
13143 , p_source_1 IN VARCHAR2
13144 --Automatic Offsets Value
13145 , p_source_3 IN VARCHAR2
13146 , p_source_3_meaning IN VARCHAR2
13147 --Purchase Order Rate Variance Gain Account
13148 , p_source_8 IN NUMBER
13149 --Invoice Distribution Ledger Amount
13150 , p_source_9 IN NUMBER
13151 --Destination Type of the PO Distribution
13152 , p_source_10 IN VARCHAR2
13153 , p_source_10_meaning IN VARCHAR2
13154 --Purchase Order Rate Variance Loss Account
13155 , p_source_11 IN NUMBER
13156 --Invoice Distribution Account
13157 , p_source_18 IN NUMBER
13158 --Invoice Distribution Type
13162 , p_source_35 IN VARCHAR2
13159 , p_source_21 IN VARCHAR2
13160 , p_source_21_meaning IN VARCHAR2
13161 --Automatic Offsets Flag
13163 , p_source_35_meaning IN VARCHAR2
13164 --Accounting Reversal Indicator
13165 , p_source_41 IN VARCHAR2
13166 --Distribution Link Type
13167 , p_source_43 IN VARCHAR2
13168 --Allocation to Main Distribution Identifier
13169 , p_source_45 IN NUMBER
13170 --Invoice Identifier
13171 , p_source_46 IN NUMBER
13172 --Invoice Distribution Identifier
13173 , p_source_52 IN NUMBER
13174 --Payables Encumbrance Upgrade Credit Account
13175 , p_source_53 IN NUMBER
13176 --Payables Encumbrance Upgrade Credit Amount
13177 , p_source_54 IN NUMBER
13178 --Invoice Currency Code
13179 , p_source_55 IN VARCHAR2
13180 --Payables Encumbrance Upgrade Credit Base Amount
13181 , p_source_56 IN NUMBER
13182 --Payables Encumbrance Upgrade Debit Account
13183 , p_source_57 IN NUMBER
13184 --Payables Encumbrance Upgrade Debit Amount
13185 , p_source_58 IN NUMBER
13186 --Payables Encumbrance Upgrade Debit Base Amount
13187 , p_source_59 IN NUMBER
13188 --Payables Encumbrance Upgrade Option
13189 , p_source_60 IN VARCHAR2
13190 --Deferred Accounting End Date
13191 , p_source_65 IN DATE
13192 --Deferred Accounting Option
13193 , p_source_66 IN VARCHAR2
13194 --Deferred Accounting Start Date
13195 , p_source_67 IN DATE
13196 --Override Accounted Amount Indicator
13197 , p_source_68 IN VARCHAR2
13198 , p_source_68_meaning IN VARCHAR2
13199 --Invoice Supplier Identifier
13200 , p_source_69 IN NUMBER
13201 --Invoice Supplier Site Identifier
13202 , p_source_70 IN NUMBER
13203 --Third Party Type
13204 , p_source_71 IN VARCHAR2
13205 --Parent Reversal Identifier
13206 , p_source_72 IN NUMBER
13207 --Invoice Distribution Statistical Amount
13208 , p_source_73 IN NUMBER
13209 --Invoice Distribution Tax Line Identifier
13210 , p_source_74 IN NUMBER
13211 --Invoice Distribution Tax Distribution Identifier from Tax
13212 , p_source_75 IN NUMBER
13213 --Invoice Distribution Summary Tax Line Identifier
13214 , p_source_76 IN NUMBER
13215 --Payables Upgrade Credit Encumbrance Type Identifier
13216 , p_source_77 IN NUMBER
13217 --Payables Upgrade Debit Encumbrance Type Identifier
13218 , p_source_78 IN NUMBER
13219 --Business Flow Accounts Payable Application Identifier
13220 , p_source_79 IN NUMBER
13221 --Business Flow Invoice Distribution Type
13222 , p_source_80 IN VARCHAR2
13223 --Business Flow Invoice Entity Code
13224 , p_source_81 IN VARCHAR2
13225 --Business Flow Invoice Distribution Identifier
13226 , p_source_82 IN NUMBER
13227 --Business Flow Invoice Identifier
13228 , p_source_83 IN NUMBER
13229 --Accrue on Receipt Option
13230 , p_source_84 IN VARCHAR2
13231 , p_source_84_meaning IN VARCHAR2
13232 )
13233 IS
13234
13235 l_component_type VARCHAR2(80);
13236 l_component_code VARCHAR2(30);
13237 l_component_type_code VARCHAR2(1);
13238 l_component_appl_id INTEGER;
13239 l_amb_context_code VARCHAR2(30);
13240 l_entity_code VARCHAR2(30);
13241 l_event_class_code VARCHAR2(30);
13242 l_ae_header_id NUMBER;
13243 l_event_type_code VARCHAR2(30);
13244 l_line_definition_code VARCHAR2(30);
13245 l_line_definition_owner_code VARCHAR2(1);
13246 --
13247 -- adr variables
13248 l_segment VARCHAR2(30);
13249 l_ccid NUMBER;
13250 l_adr_transaction_coa_id NUMBER;
13251 l_adr_accounting_coa_id NUMBER;
13252 l_adr_flexfield_segment_code VARCHAR2(30);
13253 l_adr_flex_value_set_id NUMBER;
13254 l_adr_value_type_code VARCHAR2(30);
13255 l_adr_value_combination_id NUMBER;
13256 l_adr_value_segment_code VARCHAR2(30);
13257
13258 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
13259 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
13260 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
13261 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
13262
13263 -- 4262811 Variables ------------------------------------------------------------------------------------------
13264 l_entered_amt_idx NUMBER;
13265 l_accted_amt_idx NUMBER;
13266 l_acc_rev_flag VARCHAR2(1);
13267 l_accrual_line_num NUMBER;
13268 l_tmp_amt NUMBER;
13269 l_acc_rev_natural_side_code VARCHAR2(1);
13270
13271 l_num_entries NUMBER;
13272 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
13273 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
13274 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
13275 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
13276 l_recog_line_1 NUMBER;
13277 l_recog_line_2 NUMBER;
13278
13279 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
13280 l_bflow_applied_to_amt NUMBER; -- 5132302
13284
13281 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
13282
13283 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
13285 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
13286 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
13287
13288 ---------------------------------------------------------------------------------------------------------------
13289
13290
13291 --
13292 -- bulk performance
13293 --
13294 l_balance_type_code VARCHAR2(1);
13295 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
13296 l_log_module VARCHAR2(240);
13297
13298 --
13299 -- Upgrade strategy
13300 --
13301 l_actual_upg_option VARCHAR2(1);
13302 l_enc_upg_option VARCHAR2(1);
13303
13304 --
13305 BEGIN
13306 --
13307 IF g_log_enabled THEN
13308 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_55';
13309 END IF;
13310 --
13311 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
13312
13313 trace
13314 (p_msg => 'BEGIN of AcctLineType_55'
13315 ,p_level => C_LEVEL_PROCEDURE
13316 ,p_module => l_log_module);
13317
13318 END IF;
13319 --
13320 l_component_type := 'AMB_JLT';
13321 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_CM';
13322 l_component_type_code := 'S';
13323 l_component_appl_id := 200;
13324 l_amb_context_code := 'DEFAULT';
13325 l_entity_code := 'AP_INVOICES';
13326 l_event_class_code := 'CREDIT MEMOS';
13327 l_event_type_code := 'CREDIT MEMOS_ALL';
13328 l_line_definition_owner_code := 'S';
13329 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
13330 --
13331 l_balance_type_code := 'A';
13332 l_segment := NULL;
13333 l_ccid := NULL;
13334 l_adr_transaction_coa_id := NULL;
13335 l_adr_accounting_coa_id := NULL;
13336 l_adr_flexfield_segment_code := NULL;
13337 l_adr_flex_value_set_id := NULL;
13338 l_adr_value_type_code := NULL;
13339 l_adr_value_combination_id := NULL;
13340 l_adr_value_segment_code := NULL;
13341
13342 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
13343 l_bflow_class_code := ''; -- 4219869 Business Flow
13344 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
13345 l_budgetary_control_flag := 'N';
13346
13347 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13348 l_bflow_applied_to_amt := NULL; -- 5132302
13349 l_entered_amt_idx := NULL; -- 4262811
13350 l_accted_amt_idx := NULL; -- 4262811
13351 l_acc_rev_flag := NULL; -- 4262811
13352 l_accrual_line_num := NULL; -- 4262811
13353 l_tmp_amt := NULL; -- 4262811
13354 --
13355 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
13356 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
13357 return;
13358 END IF;
13359
13360 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
13361 l_balance_type_code <> 'B' THEN
13362 IF NVL(p_source_21,'
13363 ') = 'NONREC_TAX' AND
13364 NVL(p_source_84,'
13365 ') = 'Y'
13366 THEN
13367
13368 --
13369 XLA_AE_LINES_PKG.SetNewLine;
13370
13371 p_balance_type_code := l_balance_type_code;
13372 -- set the flag so later we will know whether the gain loss line needs to be created
13373
13374 IF(l_balance_type_code = 'A' ) THEN
13375 p_actual_flag :='G';
13376 END IF;
13377
13378 --
13379 -- bulk performance
13380 --
13381 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
13382 p_header_num => 0); -- 4262811
13383 --
13384 -- set accounting line options
13385 --
13386 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
13387 p_natural_side_code => 'G'
13388 , p_gain_or_loss_flag => 'N'
13389 , p_gl_transfer_mode_code => 'S'
13390 , p_acct_entry_type_code => 'A'
13391 , p_switch_side_flag => ''
13392 , p_merge_duplicate_code => 'A'
13393 );
13394 --
13395 l_acc_rev_natural_side_code := 'C'; -- 4262811
13396 --
13397 --
13398 -- set accounting line type info
13399 --
13400 xla_ae_lines_pkg.SetAcctLineType
13401 (p_component_type => l_component_type
13402 ,p_event_type_code => l_event_type_code
13403 ,p_line_definition_owner_code => l_line_definition_owner_code
13404 ,p_line_definition_code => l_line_definition_code
13405 ,p_accounting_line_code => l_component_code
13406 ,p_accounting_line_type_code => l_component_type_code
13407 ,p_accounting_line_appl_id => l_component_appl_id
13408 ,p_amb_context_code => l_amb_context_code
13409 ,p_entity_code => l_entity_code
13410 ,p_event_class_code => l_event_class_code);
13411 --
13415 p_accounting_class_code => 'TERV'
13412 -- set accounting class
13413 --
13414 xla_ae_lines_pkg.SetAcctClass(
13416 , p_ae_header_id => l_ae_header_id
13417 );
13418
13419 --
13420 -- set rounding class
13421 --
13422 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
13423 'TERV';
13424
13425 --
13426 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
13427 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
13428 --
13429 -- bulk performance
13430 --
13431 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
13432
13433 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
13434 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
13435
13436 -- 4955764
13437 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
13438 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
13439
13440 -- 4458381 Public Sector Enh
13441
13442 --
13443 -- set accounting attributes for the line type
13444 --
13445 l_entered_amt_idx := NULL;
13446 l_accted_amt_idx := 23;
13447 l_bflow_applied_to_amt_idx := NULL; -- 5132302
13448 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
13449 l_rec_acct_attrs.array_char_value(1) := p_source_41;
13450 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
13451 l_rec_acct_attrs.array_num_value(2) :=
13452 xla_ae_sources_pkg.GetSystemSourceNum(
13453 p_source_code => 'XLA_EVENT_APPL_ID'
13454 , p_source_type_code => 'Y'
13455 , p_source_application_id => 602
13456 );
13457 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
13458 l_rec_acct_attrs.array_char_value(3) := p_source_43;
13459 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
13460 l_rec_acct_attrs.array_char_value(4) :=
13461 xla_ae_sources_pkg.GetSystemSourceChar(
13462 p_source_code => 'XLA_ENTITY_CODE'
13463 , p_source_type_code => 'Y'
13464 , p_source_application_id => 602
13465 );
13466 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
13467 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
13468 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
13469 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
13470 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
13471 l_rec_acct_attrs.array_num_value(7) := p_source_79;
13472 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
13473 l_rec_acct_attrs.array_char_value(8) := p_source_80;
13474 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
13475 l_rec_acct_attrs.array_char_value(9) := p_source_81;
13476 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
13477 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
13478 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
13479 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
13480 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
13481 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
13482 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
13483 l_rec_acct_attrs.array_char_value(13) := p_source_43;
13484 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
13485 l_rec_acct_attrs.array_num_value(14) := p_source_53;
13486 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
13487 l_rec_acct_attrs.array_num_value(15) := p_source_54;
13488 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
13489 l_rec_acct_attrs.array_char_value(16) := p_source_55;
13490 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
13491 l_rec_acct_attrs.array_num_value(17) := p_source_56;
13492 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
13493 l_rec_acct_attrs.array_num_value(18) := p_source_57;
13494 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
13495 l_rec_acct_attrs.array_num_value(19) := p_source_58;
13496 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
13497 l_rec_acct_attrs.array_char_value(20) := p_source_55;
13498 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
13499 l_rec_acct_attrs.array_num_value(21) := p_source_59;
13500 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
13501 l_rec_acct_attrs.array_char_value(22) := p_source_60;
13502 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
13503 l_rec_acct_attrs.array_num_value(23) := p_source_9;
13504 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
13505 l_rec_acct_attrs.array_date_value(24) := p_source_65;
13506 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
13507 l_rec_acct_attrs.array_char_value(25) := p_source_66;
13508 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
13509 l_rec_acct_attrs.array_date_value(26) := p_source_67;
13510 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
13511 l_rec_acct_attrs.array_char_value(27) := p_source_68;
13515 l_rec_acct_attrs.array_num_value(29) := p_source_70;
13512 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
13513 l_rec_acct_attrs.array_num_value(28) := p_source_69;
13514 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
13516 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
13517 l_rec_acct_attrs.array_char_value(30) := p_source_71;
13518 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
13519 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
13520 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
13521 l_rec_acct_attrs.array_char_value(32) := p_source_43;
13522 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
13523 l_rec_acct_attrs.array_num_value(33) := p_source_73;
13524 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
13525 l_rec_acct_attrs.array_num_value(34) := p_source_74;
13526 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
13527 l_rec_acct_attrs.array_num_value(35) := p_source_75;
13528 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
13529 l_rec_acct_attrs.array_num_value(36) := p_source_76;
13530 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
13531 l_rec_acct_attrs.array_num_value(37) := p_source_77;
13532 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
13533 l_rec_acct_attrs.array_num_value(38) := p_source_78;
13534
13535 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
13536 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
13537
13538 ---------------------------------------------------------------------------------------------------------------
13539 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
13540 ---------------------------------------------------------------------------------------------------------------
13541 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
13542
13543 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13544 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
13545
13546 IF xla_accounting_cache_pkg.GetValueChar
13547 (p_source_code => 'LEDGER_CATEGORY_CODE'
13548 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
13549 AND l_bflow_method_code = 'PRIOR_ENTRY'
13550 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
13551 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
13552 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
13553 )
13554 THEN
13555 xla_ae_lines_pkg.BflowUpgEntry
13556 (p_business_method_code => l_bflow_method_code
13557 ,p_business_class_code => l_bflow_class_code
13558 ,p_balance_type => l_balance_type_code);
13559 ELSE
13560 NULL;
13561 -- No business flow processing for business flow method of NONE.
13562 END IF;
13563
13564 --
13565 -- call analytical criteria
13566 --
13567
13568 --
13569 -- call description
13570 --
13571
13572 xla_ae_lines_pkg.SetLineDescription(
13573 p_ae_header_id => l_ae_header_id
13574 ,p_description => Description_2 (
13575 p_application_id => p_application_id
13576 , p_ae_header_id => l_ae_header_id
13577 , p_source_1 => p_source_1
13578 )
13579 );
13580
13581
13582 --
13583 -- call ADRs
13584 -- Bug 4922099
13585 --
13586 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13587 (NVL(l_actual_upg_option, 'N') = 'O') OR
13588 (NVL(l_enc_upg_option, 'N') = 'O')
13589 )
13590 THEN
13591 NULL;
13592 --
13593 --
13594
13595 l_ccid := AcctDerRule_29(
13596 p_application_id => p_application_id
13597 , p_ae_header_id => l_ae_header_id
13598 , p_source_3 => p_source_3
13599 , p_source_3_meaning => p_source_3_meaning
13600 , p_source_8 => p_source_8
13601 , p_source_9 => p_source_9
13602 , p_source_10 => p_source_10
13603 , p_source_10_meaning => p_source_10_meaning
13604 , p_source_11 => p_source_11
13605 , p_source_18 => p_source_18
13606 , p_source_35 => p_source_35
13607 , p_source_35_meaning => p_source_35_meaning
13608 , x_transaction_coa_id => l_adr_transaction_coa_id
13609 , x_accounting_coa_id => l_adr_accounting_coa_id
13610 , x_value_type_code => l_adr_value_type_code
13611 , p_side => 'ALL'
13612 );
13613
13614 xla_ae_lines_pkg.set_ccid(
13615 p_code_combination_id => l_ccid
13616 , p_value_type_code => l_adr_value_type_code
13617 , p_transaction_coa_id => l_adr_transaction_coa_id
13618 , p_accounting_coa_id => l_adr_accounting_coa_id
13619 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13620 , p_adr_type_code => 'S'
13621 , p_component_type => l_component_type
13622 , p_component_code => l_component_code
13623 , p_component_type_code => l_component_type_code
13624 , p_component_appl_id => l_component_appl_id
13625 , p_amb_context_code => l_amb_context_code
13629
13626 , p_side => 'ALL'
13627 );
13628
13630 l_segment := AcctDerRule_8(
13631 p_application_id => p_application_id
13632 , p_ae_header_id => l_ae_header_id
13633 , p_source_3 => p_source_3
13634 , p_source_3_meaning => p_source_3_meaning
13635 , p_source_8 => p_source_8
13636 , p_source_10 => p_source_10
13637 , p_source_10_meaning => p_source_10_meaning
13638 , x_transaction_coa_id => l_adr_transaction_coa_id
13639 , x_accounting_coa_id => l_adr_accounting_coa_id
13640 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13641 , x_flex_value_set_id => l_adr_flex_value_set_id
13642 , x_value_type_code => l_adr_value_type_code
13643 , x_value_combination_id => l_adr_value_combination_id
13644 , x_value_segment_code => l_adr_value_segment_code
13645 , p_side => 'DEBIT'
13646 , p_override_seg_flag => 'Y'
13647 );
13648
13649 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13650
13651 xla_ae_lines_pkg.set_segment(
13652 p_to_segment_code => 'GL_ACCOUNT'
13653 , p_segment_value => l_segment
13654 , p_from_segment_code => l_adr_value_segment_code
13655 , p_from_combination_id => l_adr_value_combination_id
13656 , p_value_type_code => l_adr_value_type_code
13657 , p_transaction_coa_id => l_adr_transaction_coa_id
13658 , p_accounting_coa_id => l_adr_accounting_coa_id
13659 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13660 , p_flex_value_set_id => l_adr_flex_value_set_id
13661 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13662 , p_adr_type_code => 'S'
13663 , p_component_type => l_component_type
13664 , p_component_code => l_component_code
13665 , p_component_type_code => l_component_type_code
13666 , p_component_appl_id => l_component_appl_id
13667 , p_amb_context_code => l_amb_context_code
13668 , p_entity_code => 'AP_INVOICES'
13669 , p_event_class_code => 'CREDIT MEMOS'
13670 , p_side => 'DEBIT'
13671 );
13672
13673 END IF;
13674
13675 l_segment := AcctDerRule_9(
13676 p_application_id => p_application_id
13677 , p_ae_header_id => l_ae_header_id
13678 , p_source_3 => p_source_3
13679 , p_source_3_meaning => p_source_3_meaning
13680 , p_source_10 => p_source_10
13681 , p_source_10_meaning => p_source_10_meaning
13682 , p_source_11 => p_source_11
13683 , x_transaction_coa_id => l_adr_transaction_coa_id
13684 , x_accounting_coa_id => l_adr_accounting_coa_id
13685 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13686 , x_flex_value_set_id => l_adr_flex_value_set_id
13687 , x_value_type_code => l_adr_value_type_code
13688 , x_value_combination_id => l_adr_value_combination_id
13689 , x_value_segment_code => l_adr_value_segment_code
13690 , p_side => 'CREDIT'
13691 , p_override_seg_flag => 'Y'
13692 );
13693
13694 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13695
13696 xla_ae_lines_pkg.set_segment(
13697 p_to_segment_code => 'GL_ACCOUNT'
13698 , p_segment_value => l_segment
13699 , p_from_segment_code => l_adr_value_segment_code
13700 , p_from_combination_id => l_adr_value_combination_id
13701 , p_value_type_code => l_adr_value_type_code
13702 , p_transaction_coa_id => l_adr_transaction_coa_id
13703 , p_accounting_coa_id => l_adr_accounting_coa_id
13704 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13705 , p_flex_value_set_id => l_adr_flex_value_set_id
13706 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13707 , p_adr_type_code => 'S'
13708 , p_component_type => l_component_type
13709 , p_component_code => l_component_code
13710 , p_component_type_code => l_component_type_code
13711 , p_component_appl_id => l_component_appl_id
13712 , p_amb_context_code => l_amb_context_code
13713 , p_entity_code => 'AP_INVOICES'
13714 , p_event_class_code => 'CREDIT MEMOS'
13715 , p_side => 'CREDIT'
13716 );
13717
13718 END IF;
13719
13720 l_segment := AcctDerRule_22(
13721 p_application_id => p_application_id
13722 , p_ae_header_id => l_ae_header_id
13723 , p_source_3 => p_source_3
13724 , p_source_3_meaning => p_source_3_meaning
13725 , p_source_10 => p_source_10
13726 , p_source_10_meaning => p_source_10_meaning
13727 , p_source_18 => p_source_18
13728 , x_transaction_coa_id => l_adr_transaction_coa_id
13729 , x_accounting_coa_id => l_adr_accounting_coa_id
13730 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13731 , x_flex_value_set_id => l_adr_flex_value_set_id
13732 , x_value_type_code => l_adr_value_type_code
13736 , p_override_seg_flag => 'Y'
13733 , x_value_combination_id => l_adr_value_combination_id
13734 , x_value_segment_code => l_adr_value_segment_code
13735 , p_side => 'ALL'
13737 );
13738
13739 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13740
13741 xla_ae_lines_pkg.set_segment(
13742 p_to_segment_code => 'GL_BALANCING'
13743 , p_segment_value => l_segment
13744 , p_from_segment_code => l_adr_value_segment_code
13745 , p_from_combination_id => l_adr_value_combination_id
13746 , p_value_type_code => l_adr_value_type_code
13747 , p_transaction_coa_id => l_adr_transaction_coa_id
13748 , p_accounting_coa_id => l_adr_accounting_coa_id
13749 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13750 , p_flex_value_set_id => l_adr_flex_value_set_id
13751 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
13752 , p_adr_type_code => 'S'
13753 , p_component_type => l_component_type
13754 , p_component_code => l_component_code
13755 , p_component_type_code => l_component_type_code
13756 , p_component_appl_id => l_component_appl_id
13757 , p_amb_context_code => l_amb_context_code
13758 , p_entity_code => 'AP_INVOICES'
13759 , p_event_class_code => 'CREDIT MEMOS'
13760 , p_side => 'ALL'
13761 );
13762
13763 END IF;
13764
13765 --
13766 --
13767 END IF;
13768 --
13769 -- Bug 4922099
13770 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
13771 (NVL(l_enc_upg_option, 'N') = 'O')
13772 ) AND
13773 (l_bflow_method_code = 'PRIOR_ENTRY')
13774 )
13775 THEN
13776 IF
13777 --
13778 1 = 2
13779 --
13780 THEN
13781 xla_accounting_err_pkg.build_message
13782 (p_appli_s_name => 'XLA'
13783 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13784 ,p_token_1 => 'LINE_NUMBER'
13785 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
13786 ,p_token_2 => 'LINE_TYPE_NAME'
13787 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
13788 l_component_type
13789 ,l_component_code
13790 ,l_component_type_code
13791 ,l_component_appl_id
13792 ,l_amb_context_code
13793 ,l_entity_code
13794 ,l_event_class_code
13795 )
13796 ,p_token_3 => 'OWNER'
13797 ,p_value_3 => xla_lookups_pkg.get_meaning(
13798 p_lookup_type => 'XLA_OWNER_TYPE'
13799 ,p_lookup_code => l_component_type_code
13800 )
13801 ,p_token_4 => 'PRODUCT_NAME'
13802 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
13803 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
13804 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
13805 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
13806 ,p_ae_header_id => NULL
13807 );
13808
13809 IF (C_LEVEL_ERROR>= g_log_level) THEN
13810 trace
13811 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
13812 ,p_level => C_LEVEL_ERROR
13813 ,p_module => l_log_module);
13814 END IF;
13815 END IF;
13816 END IF;
13817 --
13818 --
13819 ------------------------------------------------------------------------------------------------
13820 -- 4219869 Business Flow
13821 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
13822 -- Prior Entry. Currently, the following code is always generated.
13823 ------------------------------------------------------------------------------------------------
13824 XLA_AE_LINES_PKG.ValidateCurrentLine;
13825
13826 ------------------------------------------------------------------------------------
13827 -- 4219869 Business Flow
13828 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
13832 ----------------------------------------------------------------------------------
13829 ------------------------------------------------------------------------------------
13830 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
13831
13833 -- 4219869 Business Flow
13834 -- Update journal entry status -- Need to generate this within IF <condition>
13835 ----------------------------------------------------------------------------------
13836 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
13837 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
13838 ,p_balance_type_code => l_balance_type_code
13839 );
13840
13841 -------------------------------------------------------------------------------------------
13842 -- 4262811 - Generate the Accrual Reversal lines
13843 -------------------------------------------------------------------------------------------
13844 BEGIN
13845 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
13846 (g_array_event(p_event_id).array_value_num('header_index'));
13847 IF l_acc_rev_flag IS NULL THEN
13848 l_acc_rev_flag := 'N';
13849 END IF;
13850 EXCEPTION
13851 WHEN OTHERS THEN
13852 l_acc_rev_flag := 'N';
13853 END;
13854 --
13855 IF (l_acc_rev_flag = 'Y') THEN
13856
13857 -- 4645092 ------------------------------------------------------------------------------
13858 -- To allow MPA report to determine if it should generate report process
13859 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
13860 ------------------------------------------------------------------------------------------
13861
13862 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
13863 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
13864 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
13865 -- call ADRs
13866 -- Bug 4922099
13867 --
13868 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
13869 (NVL(l_actual_upg_option, 'N') = 'O') OR
13870 (NVL(l_enc_upg_option, 'N') = 'O')
13871 )
13872 THEN
13873 NULL;
13874 --
13875 --
13876
13877 l_ccid := AcctDerRule_29(
13878 p_application_id => p_application_id
13879 , p_ae_header_id => l_ae_header_id
13880 , p_source_3 => p_source_3
13881 , p_source_3_meaning => p_source_3_meaning
13882 , p_source_8 => p_source_8
13883 , p_source_9 => p_source_9
13884 , p_source_10 => p_source_10
13885 , p_source_10_meaning => p_source_10_meaning
13886 , p_source_11 => p_source_11
13887 , p_source_18 => p_source_18
13888 , p_source_35 => p_source_35
13889 , p_source_35_meaning => p_source_35_meaning
13890 , x_transaction_coa_id => l_adr_transaction_coa_id
13891 , x_accounting_coa_id => l_adr_accounting_coa_id
13892 , x_value_type_code => l_adr_value_type_code
13893 , p_side => 'ALL'
13894 );
13895
13896 xla_ae_lines_pkg.set_ccid(
13897 p_code_combination_id => l_ccid
13898 , p_value_type_code => l_adr_value_type_code
13899 , p_transaction_coa_id => l_adr_transaction_coa_id
13900 , p_accounting_coa_id => l_adr_accounting_coa_id
13901 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
13902 , p_adr_type_code => 'S'
13903 , p_component_type => l_component_type
13904 , p_component_code => l_component_code
13905 , p_component_type_code => l_component_type_code
13906 , p_component_appl_id => l_component_appl_id
13907 , p_amb_context_code => l_amb_context_code
13908 , p_side => 'ALL'
13909 );
13910
13911
13912 l_segment := AcctDerRule_8(
13913 p_application_id => p_application_id
13914 , p_ae_header_id => l_ae_header_id
13915 , p_source_3 => p_source_3
13916 , p_source_3_meaning => p_source_3_meaning
13917 , p_source_8 => p_source_8
13918 , p_source_10 => p_source_10
13919 , p_source_10_meaning => p_source_10_meaning
13920 , x_transaction_coa_id => l_adr_transaction_coa_id
13921 , x_accounting_coa_id => l_adr_accounting_coa_id
13922 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13923 , x_flex_value_set_id => l_adr_flex_value_set_id
13924 , x_value_type_code => l_adr_value_type_code
13925 , x_value_combination_id => l_adr_value_combination_id
13926 , x_value_segment_code => l_adr_value_segment_code
13927 , p_side => 'DEBIT'
13928 , p_override_seg_flag => 'Y'
13929 );
13930
13931 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13932
13933 xla_ae_lines_pkg.set_segment(
13934 p_to_segment_code => 'GL_ACCOUNT'
13935 , p_segment_value => l_segment
13936 , p_from_segment_code => l_adr_value_segment_code
13937 , p_from_combination_id => l_adr_value_combination_id
13938 , p_value_type_code => l_adr_value_type_code
13939 , p_transaction_coa_id => l_adr_transaction_coa_id
13940 , p_accounting_coa_id => l_adr_accounting_coa_id
13941 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13945 , p_component_type => l_component_type
13942 , p_flex_value_set_id => l_adr_flex_value_set_id
13943 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
13944 , p_adr_type_code => 'S'
13946 , p_component_code => l_component_code
13947 , p_component_type_code => l_component_type_code
13948 , p_component_appl_id => l_component_appl_id
13949 , p_amb_context_code => l_amb_context_code
13950 , p_entity_code => 'AP_INVOICES'
13951 , p_event_class_code => 'CREDIT MEMOS'
13952 , p_side => 'DEBIT'
13953 );
13954
13955 END IF;
13956
13957 l_segment := AcctDerRule_9(
13958 p_application_id => p_application_id
13959 , p_ae_header_id => l_ae_header_id
13960 , p_source_3 => p_source_3
13961 , p_source_3_meaning => p_source_3_meaning
13962 , p_source_10 => p_source_10
13963 , p_source_10_meaning => p_source_10_meaning
13964 , p_source_11 => p_source_11
13965 , x_transaction_coa_id => l_adr_transaction_coa_id
13966 , x_accounting_coa_id => l_adr_accounting_coa_id
13967 , x_flexfield_segment_code => l_adr_flexfield_segment_code
13968 , x_flex_value_set_id => l_adr_flex_value_set_id
13969 , x_value_type_code => l_adr_value_type_code
13970 , x_value_combination_id => l_adr_value_combination_id
13971 , x_value_segment_code => l_adr_value_segment_code
13972 , p_side => 'CREDIT'
13973 , p_override_seg_flag => 'Y'
13974 );
13975
13976 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
13977
13978 xla_ae_lines_pkg.set_segment(
13979 p_to_segment_code => 'GL_ACCOUNT'
13980 , p_segment_value => l_segment
13981 , p_from_segment_code => l_adr_value_segment_code
13982 , p_from_combination_id => l_adr_value_combination_id
13983 , p_value_type_code => l_adr_value_type_code
13984 , p_transaction_coa_id => l_adr_transaction_coa_id
13985 , p_accounting_coa_id => l_adr_accounting_coa_id
13986 , p_flexfield_segment_code => l_adr_flexfield_segment_code
13987 , p_flex_value_set_id => l_adr_flex_value_set_id
13988 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
13989 , p_adr_type_code => 'S'
13990 , p_component_type => l_component_type
13991 , p_component_code => l_component_code
13992 , p_component_type_code => l_component_type_code
13993 , p_component_appl_id => l_component_appl_id
13994 , p_amb_context_code => l_amb_context_code
13995 , p_entity_code => 'AP_INVOICES'
13996 , p_event_class_code => 'CREDIT MEMOS'
13997 , p_side => 'CREDIT'
13998 );
13999
14000 END IF;
14001
14002 l_segment := AcctDerRule_22(
14003 p_application_id => p_application_id
14004 , p_ae_header_id => l_ae_header_id
14005 , p_source_3 => p_source_3
14006 , p_source_3_meaning => p_source_3_meaning
14007 , p_source_10 => p_source_10
14008 , p_source_10_meaning => p_source_10_meaning
14009 , p_source_18 => p_source_18
14010 , x_transaction_coa_id => l_adr_transaction_coa_id
14011 , x_accounting_coa_id => l_adr_accounting_coa_id
14012 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14013 , x_flex_value_set_id => l_adr_flex_value_set_id
14014 , x_value_type_code => l_adr_value_type_code
14015 , x_value_combination_id => l_adr_value_combination_id
14016 , x_value_segment_code => l_adr_value_segment_code
14017 , p_side => 'ALL'
14018 , p_override_seg_flag => 'Y'
14019 );
14020
14021 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14022
14023 xla_ae_lines_pkg.set_segment(
14024 p_to_segment_code => 'GL_BALANCING'
14025 , p_segment_value => l_segment
14026 , p_from_segment_code => l_adr_value_segment_code
14027 , p_from_combination_id => l_adr_value_combination_id
14028 , p_value_type_code => l_adr_value_type_code
14029 , p_transaction_coa_id => l_adr_transaction_coa_id
14030 , p_accounting_coa_id => l_adr_accounting_coa_id
14031 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14032 , p_flex_value_set_id => l_adr_flex_value_set_id
14033 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14034 , p_adr_type_code => 'S'
14035 , p_component_type => l_component_type
14036 , p_component_code => l_component_code
14037 , p_component_type_code => l_component_type_code
14038 , p_component_appl_id => l_component_appl_id
14039 , p_amb_context_code => l_amb_context_code
14040 , p_entity_code => 'AP_INVOICES'
14041 , p_event_class_code => 'CREDIT MEMOS'
14042 , p_side => 'ALL'
14043 );
14044
14045 END IF;
14046
14047 --
14048 --
14049 END IF;
14050
14051 --
14052 -- Update the line information that should be overwritten
14053 --
14057
14054 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
14055 p_header_num => 1);
14056 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
14058 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
14059
14060 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
14061 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
14062 END IF;
14063
14064 --
14065 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
14066 --
14067 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
14068 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
14069 ELSE
14070 ---------------------------------------------------------------------------------------------------
14071 -- 4262811a Switch Sign
14072 ---------------------------------------------------------------------------------------------------
14073 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
14074 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14075 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14076 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
14077 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14078 -- 5132302
14079 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
14080 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
14081
14082 END IF;
14083
14084 -- 4955764
14085 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14086 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
14087
14088
14089 XLA_AE_LINES_PKG.ValidateCurrentLine;
14090 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14091
14092 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14093 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
14094 ,p_balance_type_code => l_balance_type_code);
14095
14096 END IF;
14097
14098 -----------------------------------------------------------------------------------------
14099 -- 4262811 Multiperiod Accounting
14100 -----------------------------------------------------------------------------------------
14101 -- No MPA option is assigned.
14102
14103
14104 END IF;
14105 END IF;
14106 --
14107
14108 --
14109 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14110 trace
14111 (p_msg => 'END of AcctLineType_55'
14112 ,p_level => C_LEVEL_PROCEDURE
14113 ,p_module => l_log_module);
14114 END IF;
14115 --
14116 EXCEPTION
14117 WHEN xla_exceptions_pkg.application_exception THEN
14118 RAISE;
14119 WHEN OTHERS THEN
14120 xla_exceptions_pkg.raise_message
14121 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_55');
14122 END AcctLineType_55;
14123 --
14124
14125 ---------------------------------------
14126 --
14127 -- PRIVATE FUNCTION
14128 -- AcctLineType_56
14129 --
14130 ---------------------------------------
14131 PROCEDURE AcctLineType_56 (
14132 p_application_id IN NUMBER
14133 ,p_event_id IN NUMBER
14134 ,p_calculate_acctd_flag IN VARCHAR2
14135 ,p_calculate_g_l_flag IN VARCHAR2
14136 ,p_actual_flag IN OUT VARCHAR2
14137 ,p_balance_type_code OUT VARCHAR2
14138 ,p_gain_or_loss_ref OUT VARCHAR2
14139
14140 --Invoice Distribution Description
14141 , p_source_1 IN VARCHAR2
14142 --Automatic Offsets Value
14143 , p_source_3 IN VARCHAR2
14144 , p_source_3_meaning IN VARCHAR2
14145 --Purchase Order Rate Variance Gain Account
14146 , p_source_8 IN NUMBER
14147 --Invoice Distribution Ledger Amount
14148 , p_source_9 IN NUMBER
14149 --Destination Type of the PO Distribution
14150 , p_source_10 IN VARCHAR2
14151 , p_source_10_meaning IN VARCHAR2
14152 --Purchase Order Rate Variance Loss Account
14153 , p_source_11 IN NUMBER
14154 --Invoice Distribution Account
14155 , p_source_18 IN NUMBER
14156 --Invoice Distribution Type
14157 , p_source_21 IN VARCHAR2
14158 , p_source_21_meaning IN VARCHAR2
14159 --Automatic Offsets Flag
14160 , p_source_35 IN VARCHAR2
14161 , p_source_35_meaning IN VARCHAR2
14162 --Accounting Reversal Indicator
14163 , p_source_41 IN VARCHAR2
14164 --Distribution Link Type
14165 , p_source_43 IN VARCHAR2
14166 --Allocation to Main Distribution Identifier
14167 , p_source_45 IN NUMBER
14168 --Invoice Identifier
14169 , p_source_46 IN NUMBER
14170 --Invoice Distribution Identifier
14171 , p_source_52 IN NUMBER
14172 --Payables Encumbrance Upgrade Credit Account
14173 , p_source_53 IN NUMBER
14174 --Payables Encumbrance Upgrade Credit Amount
14178 --Payables Encumbrance Upgrade Credit Base Amount
14175 , p_source_54 IN NUMBER
14176 --Invoice Currency Code
14177 , p_source_55 IN VARCHAR2
14179 , p_source_56 IN NUMBER
14180 --Payables Encumbrance Upgrade Debit Account
14181 , p_source_57 IN NUMBER
14182 --Payables Encumbrance Upgrade Debit Amount
14183 , p_source_58 IN NUMBER
14184 --Payables Encumbrance Upgrade Debit Base Amount
14185 , p_source_59 IN NUMBER
14186 --Payables Encumbrance Upgrade Option
14187 , p_source_60 IN VARCHAR2
14188 --Deferred Accounting End Date
14189 , p_source_65 IN DATE
14190 --Deferred Accounting Option
14191 , p_source_66 IN VARCHAR2
14192 --Deferred Accounting Start Date
14193 , p_source_67 IN DATE
14194 --Override Accounted Amount Indicator
14195 , p_source_68 IN VARCHAR2
14196 , p_source_68_meaning IN VARCHAR2
14197 --Invoice Supplier Identifier
14198 , p_source_69 IN NUMBER
14199 --Invoice Supplier Site Identifier
14200 , p_source_70 IN NUMBER
14201 --Third Party Type
14202 , p_source_71 IN VARCHAR2
14203 --Parent Reversal Identifier
14204 , p_source_72 IN NUMBER
14205 --Invoice Distribution Tax Line Identifier
14206 , p_source_74 IN NUMBER
14207 --Invoice Distribution Tax Distribution Identifier from Tax
14208 , p_source_75 IN NUMBER
14209 --Invoice Distribution Summary Tax Line Identifier
14210 , p_source_76 IN NUMBER
14211 --Payables Upgrade Credit Encumbrance Type Identifier
14212 , p_source_77 IN NUMBER
14213 --Payables Upgrade Debit Encumbrance Type Identifier
14214 , p_source_78 IN NUMBER
14215 --Business Flow Accounts Payable Application Identifier
14216 , p_source_79 IN NUMBER
14217 --Business Flow Invoice Distribution Type
14218 , p_source_80 IN VARCHAR2
14219 --Business Flow Invoice Entity Code
14220 , p_source_81 IN VARCHAR2
14221 --Business Flow Invoice Distribution Identifier
14222 , p_source_82 IN NUMBER
14223 --Business Flow Invoice Identifier
14224 , p_source_83 IN NUMBER
14225 --Accrue on Receipt Option
14226 , p_source_84 IN VARCHAR2
14227 , p_source_84_meaning IN VARCHAR2
14228 )
14229 IS
14230
14231 l_component_type VARCHAR2(80);
14232 l_component_code VARCHAR2(30);
14233 l_component_type_code VARCHAR2(1);
14234 l_component_appl_id INTEGER;
14235 l_amb_context_code VARCHAR2(30);
14236 l_entity_code VARCHAR2(30);
14237 l_event_class_code VARCHAR2(30);
14238 l_ae_header_id NUMBER;
14239 l_event_type_code VARCHAR2(30);
14240 l_line_definition_code VARCHAR2(30);
14241 l_line_definition_owner_code VARCHAR2(1);
14242 --
14243 -- adr variables
14244 l_segment VARCHAR2(30);
14245 l_ccid NUMBER;
14246 l_adr_transaction_coa_id NUMBER;
14247 l_adr_accounting_coa_id NUMBER;
14248 l_adr_flexfield_segment_code VARCHAR2(30);
14249 l_adr_flex_value_set_id NUMBER;
14250 l_adr_value_type_code VARCHAR2(30);
14251 l_adr_value_combination_id NUMBER;
14252 l_adr_value_segment_code VARCHAR2(30);
14253
14254 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
14255 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
14256 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
14257 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
14258
14259 -- 4262811 Variables ------------------------------------------------------------------------------------------
14260 l_entered_amt_idx NUMBER;
14261 l_accted_amt_idx NUMBER;
14262 l_acc_rev_flag VARCHAR2(1);
14263 l_accrual_line_num NUMBER;
14264 l_tmp_amt NUMBER;
14265 l_acc_rev_natural_side_code VARCHAR2(1);
14266
14267 l_num_entries NUMBER;
14268 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
14269 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
14270 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
14271 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
14272 l_recog_line_1 NUMBER;
14273 l_recog_line_2 NUMBER;
14274
14275 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
14276 l_bflow_applied_to_amt NUMBER; -- 5132302
14277 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
14278
14279 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
14280
14281 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
14282 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
14283
14284 ---------------------------------------------------------------------------------------------------------------
14285
14286
14287 --
14288 -- bulk performance
14289 --
14290 l_balance_type_code VARCHAR2(1);
14291 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
14292 l_log_module VARCHAR2(240);
14293
14294 --
14295 -- Upgrade strategy
14296 --
14297 l_actual_upg_option VARCHAR2(1);
14301 BEGIN
14298 l_enc_upg_option VARCHAR2(1);
14299
14300 --
14302 --
14303 IF g_log_enabled THEN
14304 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_56';
14305 END IF;
14306 --
14307 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
14308
14309 trace
14310 (p_msg => 'BEGIN of AcctLineType_56'
14311 ,p_level => C_LEVEL_PROCEDURE
14312 ,p_module => l_log_module);
14313
14314 END IF;
14315 --
14316 l_component_type := 'AMB_JLT';
14317 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_DM';
14318 l_component_type_code := 'S';
14319 l_component_appl_id := 200;
14320 l_amb_context_code := 'DEFAULT';
14321 l_entity_code := 'AP_INVOICES';
14322 l_event_class_code := 'DEBIT MEMOS';
14323 l_event_type_code := 'DEBIT MEMOS_ALL';
14324 l_line_definition_owner_code := 'S';
14325 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
14326 --
14327 l_balance_type_code := 'A';
14328 l_segment := NULL;
14329 l_ccid := NULL;
14330 l_adr_transaction_coa_id := NULL;
14331 l_adr_accounting_coa_id := NULL;
14332 l_adr_flexfield_segment_code := NULL;
14333 l_adr_flex_value_set_id := NULL;
14334 l_adr_value_type_code := NULL;
14335 l_adr_value_combination_id := NULL;
14336 l_adr_value_segment_code := NULL;
14337
14338 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
14339 l_bflow_class_code := ''; -- 4219869 Business Flow
14340 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
14341 l_budgetary_control_flag := 'N';
14342
14343 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14344 l_bflow_applied_to_amt := NULL; -- 5132302
14345 l_entered_amt_idx := NULL; -- 4262811
14346 l_accted_amt_idx := NULL; -- 4262811
14347 l_acc_rev_flag := NULL; -- 4262811
14348 l_accrual_line_num := NULL; -- 4262811
14349 l_tmp_amt := NULL; -- 4262811
14350 --
14351 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
14352 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
14353 return;
14354 END IF;
14355
14356 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
14357 l_balance_type_code <> 'B' THEN
14358 IF NVL(p_source_21,'
14359 ') = 'NONREC_TAX' AND
14360 NVL(p_source_84,'
14361 ') = 'Y'
14362 THEN
14363
14364 --
14365 XLA_AE_LINES_PKG.SetNewLine;
14366
14367 p_balance_type_code := l_balance_type_code;
14368 -- set the flag so later we will know whether the gain loss line needs to be created
14369
14370 IF(l_balance_type_code = 'A' ) THEN
14371 p_actual_flag :='G';
14372 END IF;
14373
14374 --
14375 -- bulk performance
14376 --
14377 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
14378 p_header_num => 0); -- 4262811
14379 --
14380 -- set accounting line options
14381 --
14382 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
14383 p_natural_side_code => 'G'
14384 , p_gain_or_loss_flag => 'N'
14385 , p_gl_transfer_mode_code => 'S'
14386 , p_acct_entry_type_code => 'A'
14387 , p_switch_side_flag => ''
14388 , p_merge_duplicate_code => 'A'
14389 );
14390 --
14391 l_acc_rev_natural_side_code := 'C'; -- 4262811
14392 --
14393 --
14394 -- set accounting line type info
14395 --
14396 xla_ae_lines_pkg.SetAcctLineType
14397 (p_component_type => l_component_type
14398 ,p_event_type_code => l_event_type_code
14399 ,p_line_definition_owner_code => l_line_definition_owner_code
14400 ,p_line_definition_code => l_line_definition_code
14401 ,p_accounting_line_code => l_component_code
14402 ,p_accounting_line_type_code => l_component_type_code
14403 ,p_accounting_line_appl_id => l_component_appl_id
14404 ,p_amb_context_code => l_amb_context_code
14405 ,p_entity_code => l_entity_code
14406 ,p_event_class_code => l_event_class_code);
14407 --
14408 -- set accounting class
14409 --
14410 xla_ae_lines_pkg.SetAcctClass(
14411 p_accounting_class_code => 'TERV'
14412 , p_ae_header_id => l_ae_header_id
14413 );
14414
14415 --
14416 -- set rounding class
14417 --
14418 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
14419 'TERV';
14420
14421 --
14422 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
14423 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
14424 --
14425 -- bulk performance
14426 --
14427 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
14428
14432 -- 4955764
14429 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
14430 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
14431
14433 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
14434 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
14435
14436 -- 4458381 Public Sector Enh
14437
14438 --
14439 -- set accounting attributes for the line type
14440 --
14441 l_entered_amt_idx := NULL;
14442 l_accted_amt_idx := 23;
14443 l_bflow_applied_to_amt_idx := NULL; -- 5132302
14444 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
14445 l_rec_acct_attrs.array_char_value(1) := p_source_41;
14446 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
14447 l_rec_acct_attrs.array_num_value(2) :=
14448 xla_ae_sources_pkg.GetSystemSourceNum(
14449 p_source_code => 'XLA_EVENT_APPL_ID'
14450 , p_source_type_code => 'Y'
14451 , p_source_application_id => 602
14452 );
14453 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
14454 l_rec_acct_attrs.array_char_value(3) := p_source_43;
14455 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
14456 l_rec_acct_attrs.array_char_value(4) :=
14457 xla_ae_sources_pkg.GetSystemSourceChar(
14458 p_source_code => 'XLA_ENTITY_CODE'
14459 , p_source_type_code => 'Y'
14460 , p_source_application_id => 602
14461 );
14462 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
14463 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
14464 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
14465 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
14466 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
14467 l_rec_acct_attrs.array_num_value(7) := p_source_79;
14468 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
14469 l_rec_acct_attrs.array_char_value(8) := p_source_80;
14470 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
14471 l_rec_acct_attrs.array_char_value(9) := p_source_81;
14472 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
14473 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
14474 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
14475 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
14476 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
14477 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
14478 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
14479 l_rec_acct_attrs.array_char_value(13) := p_source_43;
14480 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
14481 l_rec_acct_attrs.array_num_value(14) := p_source_53;
14482 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
14483 l_rec_acct_attrs.array_num_value(15) := p_source_54;
14484 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
14485 l_rec_acct_attrs.array_char_value(16) := p_source_55;
14486 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
14487 l_rec_acct_attrs.array_num_value(17) := p_source_56;
14488 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
14489 l_rec_acct_attrs.array_num_value(18) := p_source_57;
14490 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
14491 l_rec_acct_attrs.array_num_value(19) := p_source_58;
14492 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
14493 l_rec_acct_attrs.array_char_value(20) := p_source_55;
14494 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
14495 l_rec_acct_attrs.array_num_value(21) := p_source_59;
14496 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
14497 l_rec_acct_attrs.array_char_value(22) := p_source_60;
14498 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
14499 l_rec_acct_attrs.array_num_value(23) := p_source_9;
14500 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
14501 l_rec_acct_attrs.array_date_value(24) := p_source_65;
14502 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
14503 l_rec_acct_attrs.array_char_value(25) := p_source_66;
14504 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
14505 l_rec_acct_attrs.array_date_value(26) := p_source_67;
14506 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
14507 l_rec_acct_attrs.array_char_value(27) := p_source_68;
14508 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
14509 l_rec_acct_attrs.array_num_value(28) := p_source_69;
14510 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
14511 l_rec_acct_attrs.array_num_value(29) := p_source_70;
14512 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
14513 l_rec_acct_attrs.array_char_value(30) := p_source_71;
14514 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
14515 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
14516 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
14517 l_rec_acct_attrs.array_char_value(32) := p_source_43;
14518 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
14519 l_rec_acct_attrs.array_num_value(33) := p_source_74;
14520 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
14521 l_rec_acct_attrs.array_num_value(34) := p_source_75;
14525 l_rec_acct_attrs.array_num_value(36) := p_source_77;
14522 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
14523 l_rec_acct_attrs.array_num_value(35) := p_source_76;
14524 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
14526 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
14527 l_rec_acct_attrs.array_num_value(37) := p_source_78;
14528
14529 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
14530 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
14531
14532 ---------------------------------------------------------------------------------------------------------------
14533 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
14534 ---------------------------------------------------------------------------------------------------------------
14535 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
14536
14537 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14538 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
14539
14540 IF xla_accounting_cache_pkg.GetValueChar
14541 (p_source_code => 'LEDGER_CATEGORY_CODE'
14542 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
14543 AND l_bflow_method_code = 'PRIOR_ENTRY'
14544 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
14545 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
14546 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
14547 )
14548 THEN
14549 xla_ae_lines_pkg.BflowUpgEntry
14550 (p_business_method_code => l_bflow_method_code
14551 ,p_business_class_code => l_bflow_class_code
14552 ,p_balance_type => l_balance_type_code);
14553 ELSE
14554 NULL;
14555 -- No business flow processing for business flow method of NONE.
14556 END IF;
14557
14558 --
14559 -- call analytical criteria
14560 --
14561
14562 --
14563 -- call description
14564 --
14565
14566 xla_ae_lines_pkg.SetLineDescription(
14567 p_ae_header_id => l_ae_header_id
14568 ,p_description => Description_2 (
14569 p_application_id => p_application_id
14570 , p_ae_header_id => l_ae_header_id
14571 , p_source_1 => p_source_1
14572 )
14573 );
14574
14575
14576 --
14577 -- call ADRs
14578 -- Bug 4922099
14579 --
14580 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14581 (NVL(l_actual_upg_option, 'N') = 'O') OR
14582 (NVL(l_enc_upg_option, 'N') = 'O')
14583 )
14584 THEN
14585 NULL;
14586 --
14587 --
14588
14589 l_ccid := AcctDerRule_29(
14590 p_application_id => p_application_id
14591 , p_ae_header_id => l_ae_header_id
14592 , p_source_3 => p_source_3
14593 , p_source_3_meaning => p_source_3_meaning
14594 , p_source_8 => p_source_8
14595 , p_source_9 => p_source_9
14596 , p_source_10 => p_source_10
14597 , p_source_10_meaning => p_source_10_meaning
14598 , p_source_11 => p_source_11
14599 , p_source_18 => p_source_18
14600 , p_source_35 => p_source_35
14601 , p_source_35_meaning => p_source_35_meaning
14602 , x_transaction_coa_id => l_adr_transaction_coa_id
14603 , x_accounting_coa_id => l_adr_accounting_coa_id
14604 , x_value_type_code => l_adr_value_type_code
14605 , p_side => 'ALL'
14606 );
14607
14608 xla_ae_lines_pkg.set_ccid(
14609 p_code_combination_id => l_ccid
14610 , p_value_type_code => l_adr_value_type_code
14611 , p_transaction_coa_id => l_adr_transaction_coa_id
14612 , p_accounting_coa_id => l_adr_accounting_coa_id
14613 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14614 , p_adr_type_code => 'S'
14615 , p_component_type => l_component_type
14616 , p_component_code => l_component_code
14617 , p_component_type_code => l_component_type_code
14618 , p_component_appl_id => l_component_appl_id
14619 , p_amb_context_code => l_amb_context_code
14620 , p_side => 'ALL'
14621 );
14622
14623
14624 l_segment := AcctDerRule_8(
14625 p_application_id => p_application_id
14626 , p_ae_header_id => l_ae_header_id
14627 , p_source_3 => p_source_3
14628 , p_source_3_meaning => p_source_3_meaning
14629 , p_source_8 => p_source_8
14630 , p_source_10 => p_source_10
14631 , p_source_10_meaning => p_source_10_meaning
14632 , x_transaction_coa_id => l_adr_transaction_coa_id
14633 , x_accounting_coa_id => l_adr_accounting_coa_id
14634 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14635 , x_flex_value_set_id => l_adr_flex_value_set_id
14636 , x_value_type_code => l_adr_value_type_code
14637 , x_value_combination_id => l_adr_value_combination_id
14638 , x_value_segment_code => l_adr_value_segment_code
14639 , p_side => 'DEBIT'
14640 , p_override_seg_flag => 'Y'
14641 );
14642
14646 p_to_segment_code => 'GL_ACCOUNT'
14643 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14644
14645 xla_ae_lines_pkg.set_segment(
14647 , p_segment_value => l_segment
14648 , p_from_segment_code => l_adr_value_segment_code
14649 , p_from_combination_id => l_adr_value_combination_id
14650 , p_value_type_code => l_adr_value_type_code
14651 , p_transaction_coa_id => l_adr_transaction_coa_id
14652 , p_accounting_coa_id => l_adr_accounting_coa_id
14653 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14654 , p_flex_value_set_id => l_adr_flex_value_set_id
14655 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14656 , p_adr_type_code => 'S'
14657 , p_component_type => l_component_type
14658 , p_component_code => l_component_code
14659 , p_component_type_code => l_component_type_code
14660 , p_component_appl_id => l_component_appl_id
14661 , p_amb_context_code => l_amb_context_code
14662 , p_entity_code => 'AP_INVOICES'
14663 , p_event_class_code => 'DEBIT MEMOS'
14664 , p_side => 'DEBIT'
14665 );
14666
14667 END IF;
14668
14669 l_segment := AcctDerRule_9(
14670 p_application_id => p_application_id
14671 , p_ae_header_id => l_ae_header_id
14672 , p_source_3 => p_source_3
14673 , p_source_3_meaning => p_source_3_meaning
14674 , p_source_10 => p_source_10
14675 , p_source_10_meaning => p_source_10_meaning
14676 , p_source_11 => p_source_11
14677 , x_transaction_coa_id => l_adr_transaction_coa_id
14678 , x_accounting_coa_id => l_adr_accounting_coa_id
14679 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14680 , x_flex_value_set_id => l_adr_flex_value_set_id
14681 , x_value_type_code => l_adr_value_type_code
14682 , x_value_combination_id => l_adr_value_combination_id
14683 , x_value_segment_code => l_adr_value_segment_code
14684 , p_side => 'CREDIT'
14685 , p_override_seg_flag => 'Y'
14686 );
14687
14688 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14689
14690 xla_ae_lines_pkg.set_segment(
14691 p_to_segment_code => 'GL_ACCOUNT'
14692 , p_segment_value => l_segment
14693 , p_from_segment_code => l_adr_value_segment_code
14694 , p_from_combination_id => l_adr_value_combination_id
14695 , p_value_type_code => l_adr_value_type_code
14696 , p_transaction_coa_id => l_adr_transaction_coa_id
14697 , p_accounting_coa_id => l_adr_accounting_coa_id
14698 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14699 , p_flex_value_set_id => l_adr_flex_value_set_id
14700 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14701 , p_adr_type_code => 'S'
14702 , p_component_type => l_component_type
14703 , p_component_code => l_component_code
14704 , p_component_type_code => l_component_type_code
14705 , p_component_appl_id => l_component_appl_id
14706 , p_amb_context_code => l_amb_context_code
14707 , p_entity_code => 'AP_INVOICES'
14708 , p_event_class_code => 'DEBIT MEMOS'
14709 , p_side => 'CREDIT'
14710 );
14711
14712 END IF;
14713
14714 l_segment := AcctDerRule_22(
14715 p_application_id => p_application_id
14716 , p_ae_header_id => l_ae_header_id
14717 , p_source_3 => p_source_3
14718 , p_source_3_meaning => p_source_3_meaning
14719 , p_source_10 => p_source_10
14720 , p_source_10_meaning => p_source_10_meaning
14721 , p_source_18 => p_source_18
14722 , x_transaction_coa_id => l_adr_transaction_coa_id
14723 , x_accounting_coa_id => l_adr_accounting_coa_id
14724 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14725 , x_flex_value_set_id => l_adr_flex_value_set_id
14726 , x_value_type_code => l_adr_value_type_code
14727 , x_value_combination_id => l_adr_value_combination_id
14728 , x_value_segment_code => l_adr_value_segment_code
14729 , p_side => 'ALL'
14730 , p_override_seg_flag => 'Y'
14731 );
14732
14733 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14734
14735 xla_ae_lines_pkg.set_segment(
14736 p_to_segment_code => 'GL_BALANCING'
14737 , p_segment_value => l_segment
14738 , p_from_segment_code => l_adr_value_segment_code
14739 , p_from_combination_id => l_adr_value_combination_id
14740 , p_value_type_code => l_adr_value_type_code
14741 , p_transaction_coa_id => l_adr_transaction_coa_id
14742 , p_accounting_coa_id => l_adr_accounting_coa_id
14743 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14744 , p_flex_value_set_id => l_adr_flex_value_set_id
14745 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
14746 , p_adr_type_code => 'S'
14747 , p_component_type => l_component_type
14748 , p_component_code => l_component_code
14752 , p_entity_code => 'AP_INVOICES'
14749 , p_component_type_code => l_component_type_code
14750 , p_component_appl_id => l_component_appl_id
14751 , p_amb_context_code => l_amb_context_code
14753 , p_event_class_code => 'DEBIT MEMOS'
14754 , p_side => 'ALL'
14755 );
14756
14757 END IF;
14758
14759 --
14760 --
14761 END IF;
14762 --
14763 -- Bug 4922099
14764 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
14765 (NVL(l_enc_upg_option, 'N') = 'O')
14766 ) AND
14767 (l_bflow_method_code = 'PRIOR_ENTRY')
14768 )
14769 THEN
14770 IF
14771 --
14772 1 = 2
14773 --
14774 THEN
14775 xla_accounting_err_pkg.build_message
14776 (p_appli_s_name => 'XLA'
14777 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14778 ,p_token_1 => 'LINE_NUMBER'
14779 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
14780 ,p_token_2 => 'LINE_TYPE_NAME'
14781 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
14782 l_component_type
14783 ,l_component_code
14784 ,l_component_type_code
14785 ,l_component_appl_id
14786 ,l_amb_context_code
14787 ,l_entity_code
14788 ,l_event_class_code
14789 )
14790 ,p_token_3 => 'OWNER'
14791 ,p_value_3 => xla_lookups_pkg.get_meaning(
14792 p_lookup_type => 'XLA_OWNER_TYPE'
14793 ,p_lookup_code => l_component_type_code
14794 )
14795 ,p_token_4 => 'PRODUCT_NAME'
14796 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
14797 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
14798 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
14799 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
14800 ,p_ae_header_id => NULL
14801 );
14802
14803 IF (C_LEVEL_ERROR>= g_log_level) THEN
14804 trace
14805 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
14806 ,p_level => C_LEVEL_ERROR
14807 ,p_module => l_log_module);
14808 END IF;
14809 END IF;
14810 END IF;
14811 --
14812 --
14813 ------------------------------------------------------------------------------------------------
14814 -- 4219869 Business Flow
14815 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
14816 -- Prior Entry. Currently, the following code is always generated.
14817 ------------------------------------------------------------------------------------------------
14818 XLA_AE_LINES_PKG.ValidateCurrentLine;
14819
14820 ------------------------------------------------------------------------------------
14821 -- 4219869 Business Flow
14822 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
14823 ------------------------------------------------------------------------------------
14824 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
14825
14826 ----------------------------------------------------------------------------------
14827 -- 4219869 Business Flow
14828 -- Update journal entry status -- Need to generate this within IF <condition>
14829 ----------------------------------------------------------------------------------
14830 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
14831 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
14832 ,p_balance_type_code => l_balance_type_code
14833 );
14834
14835 -------------------------------------------------------------------------------------------
14836 -- 4262811 - Generate the Accrual Reversal lines
14837 -------------------------------------------------------------------------------------------
14838 BEGIN
14839 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
14840 (g_array_event(p_event_id).array_value_num('header_index'));
14841 IF l_acc_rev_flag IS NULL THEN
14842 l_acc_rev_flag := 'N';
14843 END IF;
14844 EXCEPTION
14845 WHEN OTHERS THEN
14846 l_acc_rev_flag := 'N';
14847 END;
14851 -- 4645092 ------------------------------------------------------------------------------
14848 --
14849 IF (l_acc_rev_flag = 'Y') THEN
14850
14852 -- To allow MPA report to determine if it should generate report process
14853 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
14854 ------------------------------------------------------------------------------------------
14855
14856 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
14857 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
14858 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
14859 -- call ADRs
14860 -- Bug 4922099
14861 --
14862 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
14863 (NVL(l_actual_upg_option, 'N') = 'O') OR
14864 (NVL(l_enc_upg_option, 'N') = 'O')
14865 )
14866 THEN
14867 NULL;
14868 --
14869 --
14870
14871 l_ccid := AcctDerRule_29(
14872 p_application_id => p_application_id
14873 , p_ae_header_id => l_ae_header_id
14874 , p_source_3 => p_source_3
14875 , p_source_3_meaning => p_source_3_meaning
14876 , p_source_8 => p_source_8
14877 , p_source_9 => p_source_9
14878 , p_source_10 => p_source_10
14879 , p_source_10_meaning => p_source_10_meaning
14880 , p_source_11 => p_source_11
14881 , p_source_18 => p_source_18
14882 , p_source_35 => p_source_35
14883 , p_source_35_meaning => p_source_35_meaning
14884 , x_transaction_coa_id => l_adr_transaction_coa_id
14885 , x_accounting_coa_id => l_adr_accounting_coa_id
14886 , x_value_type_code => l_adr_value_type_code
14887 , p_side => 'ALL'
14888 );
14889
14890 xla_ae_lines_pkg.set_ccid(
14891 p_code_combination_id => l_ccid
14892 , p_value_type_code => l_adr_value_type_code
14893 , p_transaction_coa_id => l_adr_transaction_coa_id
14894 , p_accounting_coa_id => l_adr_accounting_coa_id
14895 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
14896 , p_adr_type_code => 'S'
14897 , p_component_type => l_component_type
14898 , p_component_code => l_component_code
14899 , p_component_type_code => l_component_type_code
14900 , p_component_appl_id => l_component_appl_id
14901 , p_amb_context_code => l_amb_context_code
14902 , p_side => 'ALL'
14903 );
14904
14905
14906 l_segment := AcctDerRule_8(
14907 p_application_id => p_application_id
14908 , p_ae_header_id => l_ae_header_id
14909 , p_source_3 => p_source_3
14910 , p_source_3_meaning => p_source_3_meaning
14911 , p_source_8 => p_source_8
14912 , p_source_10 => p_source_10
14913 , p_source_10_meaning => p_source_10_meaning
14914 , x_transaction_coa_id => l_adr_transaction_coa_id
14915 , x_accounting_coa_id => l_adr_accounting_coa_id
14916 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14917 , x_flex_value_set_id => l_adr_flex_value_set_id
14918 , x_value_type_code => l_adr_value_type_code
14919 , x_value_combination_id => l_adr_value_combination_id
14920 , x_value_segment_code => l_adr_value_segment_code
14921 , p_side => 'DEBIT'
14922 , p_override_seg_flag => 'Y'
14923 );
14924
14925 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14926
14927 xla_ae_lines_pkg.set_segment(
14928 p_to_segment_code => 'GL_ACCOUNT'
14929 , p_segment_value => l_segment
14930 , p_from_segment_code => l_adr_value_segment_code
14931 , p_from_combination_id => l_adr_value_combination_id
14932 , p_value_type_code => l_adr_value_type_code
14933 , p_transaction_coa_id => l_adr_transaction_coa_id
14934 , p_accounting_coa_id => l_adr_accounting_coa_id
14935 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14936 , p_flex_value_set_id => l_adr_flex_value_set_id
14937 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
14938 , p_adr_type_code => 'S'
14939 , p_component_type => l_component_type
14940 , p_component_code => l_component_code
14941 , p_component_type_code => l_component_type_code
14942 , p_component_appl_id => l_component_appl_id
14943 , p_amb_context_code => l_amb_context_code
14944 , p_entity_code => 'AP_INVOICES'
14945 , p_event_class_code => 'DEBIT MEMOS'
14946 , p_side => 'DEBIT'
14947 );
14948
14949 END IF;
14950
14951 l_segment := AcctDerRule_9(
14952 p_application_id => p_application_id
14953 , p_ae_header_id => l_ae_header_id
14954 , p_source_3 => p_source_3
14955 , p_source_3_meaning => p_source_3_meaning
14956 , p_source_10 => p_source_10
14957 , p_source_10_meaning => p_source_10_meaning
14958 , p_source_11 => p_source_11
14959 , x_transaction_coa_id => l_adr_transaction_coa_id
14960 , x_accounting_coa_id => l_adr_accounting_coa_id
14961 , x_flexfield_segment_code => l_adr_flexfield_segment_code
14962 , x_flex_value_set_id => l_adr_flex_value_set_id
14966 , p_side => 'CREDIT'
14963 , x_value_type_code => l_adr_value_type_code
14964 , x_value_combination_id => l_adr_value_combination_id
14965 , x_value_segment_code => l_adr_value_segment_code
14967 , p_override_seg_flag => 'Y'
14968 );
14969
14970 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
14971
14972 xla_ae_lines_pkg.set_segment(
14973 p_to_segment_code => 'GL_ACCOUNT'
14974 , p_segment_value => l_segment
14975 , p_from_segment_code => l_adr_value_segment_code
14976 , p_from_combination_id => l_adr_value_combination_id
14977 , p_value_type_code => l_adr_value_type_code
14978 , p_transaction_coa_id => l_adr_transaction_coa_id
14979 , p_accounting_coa_id => l_adr_accounting_coa_id
14980 , p_flexfield_segment_code => l_adr_flexfield_segment_code
14981 , p_flex_value_set_id => l_adr_flex_value_set_id
14982 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
14983 , p_adr_type_code => 'S'
14984 , p_component_type => l_component_type
14985 , p_component_code => l_component_code
14986 , p_component_type_code => l_component_type_code
14987 , p_component_appl_id => l_component_appl_id
14988 , p_amb_context_code => l_amb_context_code
14989 , p_entity_code => 'AP_INVOICES'
14990 , p_event_class_code => 'DEBIT MEMOS'
14991 , p_side => 'CREDIT'
14992 );
14993
14994 END IF;
14995
14996 l_segment := AcctDerRule_22(
14997 p_application_id => p_application_id
14998 , p_ae_header_id => l_ae_header_id
14999 , p_source_3 => p_source_3
15000 , p_source_3_meaning => p_source_3_meaning
15001 , p_source_10 => p_source_10
15002 , p_source_10_meaning => p_source_10_meaning
15003 , p_source_18 => p_source_18
15004 , x_transaction_coa_id => l_adr_transaction_coa_id
15005 , x_accounting_coa_id => l_adr_accounting_coa_id
15006 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15007 , x_flex_value_set_id => l_adr_flex_value_set_id
15008 , x_value_type_code => l_adr_value_type_code
15009 , x_value_combination_id => l_adr_value_combination_id
15010 , x_value_segment_code => l_adr_value_segment_code
15011 , p_side => 'ALL'
15012 , p_override_seg_flag => 'Y'
15013 );
15014
15015 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15016
15017 xla_ae_lines_pkg.set_segment(
15018 p_to_segment_code => 'GL_BALANCING'
15019 , p_segment_value => l_segment
15020 , p_from_segment_code => l_adr_value_segment_code
15021 , p_from_combination_id => l_adr_value_combination_id
15022 , p_value_type_code => l_adr_value_type_code
15023 , p_transaction_coa_id => l_adr_transaction_coa_id
15024 , p_accounting_coa_id => l_adr_accounting_coa_id
15025 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15026 , p_flex_value_set_id => l_adr_flex_value_set_id
15027 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15028 , p_adr_type_code => 'S'
15029 , p_component_type => l_component_type
15030 , p_component_code => l_component_code
15031 , p_component_type_code => l_component_type_code
15032 , p_component_appl_id => l_component_appl_id
15033 , p_amb_context_code => l_amb_context_code
15034 , p_entity_code => 'AP_INVOICES'
15035 , p_event_class_code => 'DEBIT MEMOS'
15036 , p_side => 'ALL'
15037 );
15038
15039 END IF;
15040
15041 --
15042 --
15043 END IF;
15044
15045 --
15046 -- Update the line information that should be overwritten
15047 --
15048 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
15049 p_header_num => 1);
15050 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
15051
15052 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
15053
15054 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
15055 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
15056 END IF;
15057
15058 --
15059 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
15060 --
15061 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
15062 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
15063 ELSE
15064 ---------------------------------------------------------------------------------------------------
15065 -- 4262811a Switch Sign
15066 ---------------------------------------------------------------------------------------------------
15070 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15067 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
15068 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
15069 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15071 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15072 -- 5132302
15073 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
15074 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
15075
15076 END IF;
15077
15078 -- 4955764
15079 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15080 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
15081
15082
15083 XLA_AE_LINES_PKG.ValidateCurrentLine;
15084 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15085
15086 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15087 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
15088 ,p_balance_type_code => l_balance_type_code);
15089
15090 END IF;
15091
15092 -----------------------------------------------------------------------------------------
15093 -- 4262811 Multiperiod Accounting
15094 -----------------------------------------------------------------------------------------
15095 -- No MPA option is assigned.
15096
15097
15098 END IF;
15099 END IF;
15100 --
15101
15102 --
15103 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15104 trace
15105 (p_msg => 'END of AcctLineType_56'
15106 ,p_level => C_LEVEL_PROCEDURE
15107 ,p_module => l_log_module);
15108 END IF;
15109 --
15110 EXCEPTION
15111 WHEN xla_exceptions_pkg.application_exception THEN
15112 RAISE;
15113 WHEN OTHERS THEN
15114 xla_exceptions_pkg.raise_message
15115 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_56');
15116 END AcctLineType_56;
15117 --
15118
15119 ---------------------------------------
15120 --
15121 -- PRIVATE FUNCTION
15122 -- AcctLineType_57
15123 --
15124 ---------------------------------------
15125 PROCEDURE AcctLineType_57 (
15126 p_application_id IN NUMBER
15127 ,p_event_id IN NUMBER
15128 ,p_calculate_acctd_flag IN VARCHAR2
15129 ,p_calculate_g_l_flag IN VARCHAR2
15130 ,p_actual_flag IN OUT VARCHAR2
15131 ,p_balance_type_code OUT VARCHAR2
15132 ,p_gain_or_loss_ref OUT VARCHAR2
15133
15134 --Invoice Distribution Description
15135 , p_source_1 IN VARCHAR2
15136 --Automatic Offsets Value
15137 , p_source_3 IN VARCHAR2
15138 , p_source_3_meaning IN VARCHAR2
15139 --Purchase Order Rate Variance Gain Account
15140 , p_source_8 IN NUMBER
15141 --Invoice Distribution Ledger Amount
15142 , p_source_9 IN NUMBER
15143 --Destination Type of the PO Distribution
15144 , p_source_10 IN VARCHAR2
15145 , p_source_10_meaning IN VARCHAR2
15146 --Purchase Order Rate Variance Loss Account
15147 , p_source_11 IN NUMBER
15148 --Invoice Distribution Account
15149 , p_source_18 IN NUMBER
15150 --Invoice Distribution Type
15151 , p_source_21 IN VARCHAR2
15152 , p_source_21_meaning IN VARCHAR2
15153 --Automatic Offsets Flag
15154 , p_source_35 IN VARCHAR2
15155 , p_source_35_meaning IN VARCHAR2
15156 --Accounting Reversal Indicator
15157 , p_source_41 IN VARCHAR2
15158 --Distribution Link Type
15159 , p_source_43 IN VARCHAR2
15160 --Allocation to Main Distribution Identifier
15161 , p_source_45 IN NUMBER
15162 --Invoice Identifier
15163 , p_source_46 IN NUMBER
15164 --Invoice Distribution Identifier
15165 , p_source_52 IN NUMBER
15166 --Payables Encumbrance Upgrade Credit Account
15167 , p_source_53 IN NUMBER
15168 --Payables Encumbrance Upgrade Credit Amount
15169 , p_source_54 IN NUMBER
15170 --Invoice Currency Code
15171 , p_source_55 IN VARCHAR2
15172 --Payables Encumbrance Upgrade Credit Base Amount
15173 , p_source_56 IN NUMBER
15174 --Payables Encumbrance Upgrade Debit Account
15175 , p_source_57 IN NUMBER
15176 --Payables Encumbrance Upgrade Debit Amount
15177 , p_source_58 IN NUMBER
15178 --Payables Encumbrance Upgrade Debit Base Amount
15179 , p_source_59 IN NUMBER
15180 --Payables Encumbrance Upgrade Option
15181 , p_source_60 IN VARCHAR2
15182 --Invoice Distribution Amount
15183 , p_source_61 IN NUMBER
15184 --Deferred Accounting End Date
15185 , p_source_65 IN DATE
15186 --Deferred Accounting Option
15187 , p_source_66 IN VARCHAR2
15188 --Deferred Accounting Start Date
15189 , p_source_67 IN DATE
15190 --Override Accounted Amount Indicator
15191 , p_source_68 IN VARCHAR2
15192 , p_source_68_meaning IN VARCHAR2
15193 --Invoice Supplier Identifier
15194 , p_source_69 IN NUMBER
15195 --Invoice Supplier Site Identifier
15196 , p_source_70 IN NUMBER
15197 --Third Party Type
15198 , p_source_71 IN VARCHAR2
15202 , p_source_73 IN NUMBER
15199 --Parent Reversal Identifier
15200 , p_source_72 IN NUMBER
15201 --Invoice Distribution Statistical Amount
15203 --Invoice Distribution Tax Line Identifier
15204 , p_source_74 IN NUMBER
15205 --Invoice Distribution Tax Distribution Identifier from Tax
15206 , p_source_75 IN NUMBER
15207 --Invoice Distribution Summary Tax Line Identifier
15208 , p_source_76 IN NUMBER
15209 --Payables Upgrade Credit Encumbrance Type Identifier
15210 , p_source_77 IN NUMBER
15211 --Payables Upgrade Debit Encumbrance Type Identifier
15212 , p_source_78 IN NUMBER
15213 --Business Flow Accounts Payable Application Identifier
15214 , p_source_79 IN NUMBER
15215 --Business Flow Invoice Distribution Type
15216 , p_source_80 IN VARCHAR2
15217 --Business Flow Invoice Entity Code
15218 , p_source_81 IN VARCHAR2
15219 --Business Flow Invoice Distribution Identifier
15220 , p_source_82 IN NUMBER
15221 --Business Flow Invoice Identifier
15222 , p_source_83 IN NUMBER
15223 --Accrue on Receipt Option
15224 , p_source_84 IN VARCHAR2
15225 , p_source_84_meaning IN VARCHAR2
15226 )
15227 IS
15228
15229 l_component_type VARCHAR2(80);
15230 l_component_code VARCHAR2(30);
15231 l_component_type_code VARCHAR2(1);
15232 l_component_appl_id INTEGER;
15233 l_amb_context_code VARCHAR2(30);
15234 l_entity_code VARCHAR2(30);
15235 l_event_class_code VARCHAR2(30);
15236 l_ae_header_id NUMBER;
15237 l_event_type_code VARCHAR2(30);
15238 l_line_definition_code VARCHAR2(30);
15239 l_line_definition_owner_code VARCHAR2(1);
15240 --
15241 -- adr variables
15242 l_segment VARCHAR2(30);
15243 l_ccid NUMBER;
15244 l_adr_transaction_coa_id NUMBER;
15245 l_adr_accounting_coa_id NUMBER;
15246 l_adr_flexfield_segment_code VARCHAR2(30);
15247 l_adr_flex_value_set_id NUMBER;
15248 l_adr_value_type_code VARCHAR2(30);
15249 l_adr_value_combination_id NUMBER;
15250 l_adr_value_segment_code VARCHAR2(30);
15251
15252 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
15253 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
15254 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
15255 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
15256
15257 -- 4262811 Variables ------------------------------------------------------------------------------------------
15258 l_entered_amt_idx NUMBER;
15259 l_accted_amt_idx NUMBER;
15260 l_acc_rev_flag VARCHAR2(1);
15261 l_accrual_line_num NUMBER;
15262 l_tmp_amt NUMBER;
15263 l_acc_rev_natural_side_code VARCHAR2(1);
15264
15265 l_num_entries NUMBER;
15266 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
15267 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
15268 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
15269 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
15270 l_recog_line_1 NUMBER;
15271 l_recog_line_2 NUMBER;
15272
15273 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
15274 l_bflow_applied_to_amt NUMBER; -- 5132302
15275 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
15276
15277 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
15278
15279 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
15280 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
15281
15282 ---------------------------------------------------------------------------------------------------------------
15283
15284
15285 --
15286 -- bulk performance
15287 --
15288 l_balance_type_code VARCHAR2(1);
15289 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
15290 l_log_module VARCHAR2(240);
15291
15292 --
15293 -- Upgrade strategy
15294 --
15295 l_actual_upg_option VARCHAR2(1);
15296 l_enc_upg_option VARCHAR2(1);
15297
15298 --
15299 BEGIN
15300 --
15301 IF g_log_enabled THEN
15302 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_57';
15303 END IF;
15304 --
15305 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
15306
15307 trace
15308 (p_msg => 'BEGIN of AcctLineType_57'
15309 ,p_level => C_LEVEL_PROCEDURE
15310 ,p_module => l_log_module);
15311
15312 END IF;
15313 --
15314 l_component_type := 'AMB_JLT';
15315 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_INV';
15316 l_component_type_code := 'S';
15317 l_component_appl_id := 200;
15318 l_amb_context_code := 'DEFAULT';
15319 l_entity_code := 'AP_INVOICES';
15320 l_event_class_code := 'INVOICES';
15321 l_event_type_code := 'INVOICES_ALL';
15322 l_line_definition_owner_code := 'S';
15323 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
15324 --
15325 l_balance_type_code := 'A';
15329 l_adr_accounting_coa_id := NULL;
15326 l_segment := NULL;
15327 l_ccid := NULL;
15328 l_adr_transaction_coa_id := NULL;
15330 l_adr_flexfield_segment_code := NULL;
15331 l_adr_flex_value_set_id := NULL;
15332 l_adr_value_type_code := NULL;
15333 l_adr_value_combination_id := NULL;
15334 l_adr_value_segment_code := NULL;
15335
15336 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
15337 l_bflow_class_code := ''; -- 4219869 Business Flow
15338 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
15339 l_budgetary_control_flag := 'N';
15340
15341 l_bflow_applied_to_amt_idx := NULL; -- 5132302
15342 l_bflow_applied_to_amt := NULL; -- 5132302
15343 l_entered_amt_idx := NULL; -- 4262811
15344 l_accted_amt_idx := NULL; -- 4262811
15345 l_acc_rev_flag := NULL; -- 4262811
15346 l_accrual_line_num := NULL; -- 4262811
15347 l_tmp_amt := NULL; -- 4262811
15348 --
15349 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
15350 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
15351 return;
15352 END IF;
15353
15354 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
15355 l_balance_type_code <> 'B' THEN
15356 IF NVL(p_source_21,'
15357 ') = 'NONREC_TAX' AND
15358 NVL(p_source_84,'
15359 ') = 'Y'
15360 THEN
15361
15362 --
15363 XLA_AE_LINES_PKG.SetNewLine;
15364
15365 p_balance_type_code := l_balance_type_code;
15366 -- set the flag so later we will know whether the gain loss line needs to be created
15367
15368 IF(l_balance_type_code = 'A' ) THEN
15369 p_actual_flag :='G';
15370 END IF;
15371
15372 --
15373 -- bulk performance
15374 --
15375 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
15376 p_header_num => 0); -- 4262811
15377 --
15378 -- set accounting line options
15379 --
15380 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
15381 p_natural_side_code => 'G'
15382 , p_gain_or_loss_flag => 'N'
15383 , p_gl_transfer_mode_code => 'S'
15384 , p_acct_entry_type_code => 'A'
15385 , p_switch_side_flag => ''
15386 , p_merge_duplicate_code => 'A'
15387 );
15388 --
15389 l_acc_rev_natural_side_code := 'C'; -- 4262811
15390 --
15391 --
15392 -- set accounting line type info
15393 --
15394 xla_ae_lines_pkg.SetAcctLineType
15395 (p_component_type => l_component_type
15396 ,p_event_type_code => l_event_type_code
15397 ,p_line_definition_owner_code => l_line_definition_owner_code
15398 ,p_line_definition_code => l_line_definition_code
15399 ,p_accounting_line_code => l_component_code
15400 ,p_accounting_line_type_code => l_component_type_code
15401 ,p_accounting_line_appl_id => l_component_appl_id
15402 ,p_amb_context_code => l_amb_context_code
15403 ,p_entity_code => l_entity_code
15404 ,p_event_class_code => l_event_class_code);
15405 --
15406 -- set accounting class
15407 --
15408 xla_ae_lines_pkg.SetAcctClass(
15409 p_accounting_class_code => 'TERV'
15410 , p_ae_header_id => l_ae_header_id
15411 );
15412
15413 --
15414 -- set rounding class
15415 --
15416 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
15417 'TERV';
15418
15419 --
15420 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
15421 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
15422 --
15423 -- bulk performance
15424 --
15425 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
15426
15427 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
15428 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
15429
15430 -- 4955764
15431 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
15432 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
15433
15434 -- 4458381 Public Sector Enh
15435
15436 --
15437 -- set accounting attributes for the line type
15438 --
15439 l_entered_amt_idx := NULL;
15440 l_accted_amt_idx := 24;
15441 l_bflow_applied_to_amt_idx := 7; -- 5132302
15442 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
15443 l_rec_acct_attrs.array_char_value(1) := p_source_41;
15444 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
15445 l_rec_acct_attrs.array_num_value(2) :=
15446 xla_ae_sources_pkg.GetSystemSourceNum(
15447 p_source_code => 'XLA_EVENT_APPL_ID'
15451 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
15448 , p_source_type_code => 'Y'
15449 , p_source_application_id => 602
15450 );
15452 l_rec_acct_attrs.array_char_value(3) := p_source_43;
15453 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
15454 l_rec_acct_attrs.array_char_value(4) :=
15455 xla_ae_sources_pkg.GetSystemSourceChar(
15456 p_source_code => 'XLA_ENTITY_CODE'
15457 , p_source_type_code => 'Y'
15458 , p_source_application_id => 602
15459 );
15460 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
15461 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
15462 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
15463 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
15464 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
15465 l_rec_acct_attrs.array_num_value(7) := p_source_61;
15466 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
15467 l_rec_acct_attrs.array_num_value(8) := p_source_79;
15468 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
15469 l_rec_acct_attrs.array_char_value(9) := p_source_80;
15470 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
15471 l_rec_acct_attrs.array_char_value(10) := p_source_81;
15472 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
15473 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
15474 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
15475 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
15476 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
15477 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
15478 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
15479 l_rec_acct_attrs.array_char_value(14) := p_source_43;
15480 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
15481 l_rec_acct_attrs.array_num_value(15) := p_source_53;
15482 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
15483 l_rec_acct_attrs.array_num_value(16) := p_source_54;
15484 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
15485 l_rec_acct_attrs.array_char_value(17) := p_source_55;
15486 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
15487 l_rec_acct_attrs.array_num_value(18) := p_source_56;
15488 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
15489 l_rec_acct_attrs.array_num_value(19) := p_source_57;
15490 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
15491 l_rec_acct_attrs.array_num_value(20) := p_source_58;
15492 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
15493 l_rec_acct_attrs.array_char_value(21) := p_source_55;
15494 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
15495 l_rec_acct_attrs.array_num_value(22) := p_source_59;
15496 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
15497 l_rec_acct_attrs.array_char_value(23) := p_source_60;
15498 l_rec_acct_attrs.array_acct_attr_code(24) := 'LEDGER_AMOUNT';
15499 l_rec_acct_attrs.array_num_value(24) := p_source_9;
15500 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_END_DATE';
15501 l_rec_acct_attrs.array_date_value(25) := p_source_65;
15502 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_OPTION';
15503 l_rec_acct_attrs.array_char_value(26) := p_source_66;
15504 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_START_DATE';
15505 l_rec_acct_attrs.array_date_value(27) := p_source_67;
15506 l_rec_acct_attrs.array_acct_attr_code(28) := 'OVERRIDE_ACCTD_AMT_FLAG';
15507 l_rec_acct_attrs.array_char_value(28) := p_source_68;
15508 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_ID';
15509 l_rec_acct_attrs.array_num_value(29) := p_source_69;
15510 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_SITE_ID';
15511 l_rec_acct_attrs.array_num_value(30) := p_source_70;
15512 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
15513 l_rec_acct_attrs.array_char_value(31) := p_source_71;
15514 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
15515 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
15516 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
15517 l_rec_acct_attrs.array_char_value(33) := p_source_43;
15518 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
15519 l_rec_acct_attrs.array_num_value(34) := p_source_73;
15520 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
15521 l_rec_acct_attrs.array_num_value(35) := p_source_74;
15522 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
15523 l_rec_acct_attrs.array_num_value(36) := p_source_75;
15524 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
15525 l_rec_acct_attrs.array_num_value(37) := p_source_76;
15526 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
15527 l_rec_acct_attrs.array_num_value(38) := p_source_77;
15528 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
15529 l_rec_acct_attrs.array_num_value(39) := p_source_78;
15530
15531 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
15532 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
15533
15534 ---------------------------------------------------------------------------------------------------------------
15538
15535 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
15536 ---------------------------------------------------------------------------------------------------------------
15537 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
15539 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15540 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
15541
15542 IF xla_accounting_cache_pkg.GetValueChar
15543 (p_source_code => 'LEDGER_CATEGORY_CODE'
15544 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
15545 AND l_bflow_method_code = 'PRIOR_ENTRY'
15546 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
15547 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
15548 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
15549 )
15550 THEN
15551 xla_ae_lines_pkg.BflowUpgEntry
15552 (p_business_method_code => l_bflow_method_code
15553 ,p_business_class_code => l_bflow_class_code
15554 ,p_balance_type => l_balance_type_code);
15555 ELSE
15556 NULL;
15557 -- No business flow processing for business flow method of NONE.
15558 END IF;
15559
15560 --
15561 -- call analytical criteria
15562 --
15563
15564 --
15565 -- call description
15566 --
15567
15568 xla_ae_lines_pkg.SetLineDescription(
15569 p_ae_header_id => l_ae_header_id
15570 ,p_description => Description_2 (
15571 p_application_id => p_application_id
15572 , p_ae_header_id => l_ae_header_id
15573 , p_source_1 => p_source_1
15574 )
15575 );
15576
15577
15578 --
15579 -- call ADRs
15580 -- Bug 4922099
15581 --
15582 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15583 (NVL(l_actual_upg_option, 'N') = 'O') OR
15584 (NVL(l_enc_upg_option, 'N') = 'O')
15585 )
15586 THEN
15587 NULL;
15588 --
15589 --
15590
15591 l_ccid := AcctDerRule_29(
15592 p_application_id => p_application_id
15593 , p_ae_header_id => l_ae_header_id
15594 , p_source_3 => p_source_3
15595 , p_source_3_meaning => p_source_3_meaning
15596 , p_source_8 => p_source_8
15597 , p_source_9 => p_source_9
15598 , p_source_10 => p_source_10
15599 , p_source_10_meaning => p_source_10_meaning
15600 , p_source_11 => p_source_11
15601 , p_source_18 => p_source_18
15602 , p_source_35 => p_source_35
15603 , p_source_35_meaning => p_source_35_meaning
15604 , x_transaction_coa_id => l_adr_transaction_coa_id
15605 , x_accounting_coa_id => l_adr_accounting_coa_id
15606 , x_value_type_code => l_adr_value_type_code
15607 , p_side => 'ALL'
15608 );
15609
15610 xla_ae_lines_pkg.set_ccid(
15611 p_code_combination_id => l_ccid
15612 , p_value_type_code => l_adr_value_type_code
15613 , p_transaction_coa_id => l_adr_transaction_coa_id
15614 , p_accounting_coa_id => l_adr_accounting_coa_id
15615 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15616 , p_adr_type_code => 'S'
15617 , p_component_type => l_component_type
15618 , p_component_code => l_component_code
15619 , p_component_type_code => l_component_type_code
15620 , p_component_appl_id => l_component_appl_id
15621 , p_amb_context_code => l_amb_context_code
15622 , p_side => 'ALL'
15623 );
15624
15625
15626 l_segment := AcctDerRule_8(
15627 p_application_id => p_application_id
15628 , p_ae_header_id => l_ae_header_id
15629 , p_source_3 => p_source_3
15630 , p_source_3_meaning => p_source_3_meaning
15631 , p_source_8 => p_source_8
15632 , p_source_10 => p_source_10
15633 , p_source_10_meaning => p_source_10_meaning
15634 , x_transaction_coa_id => l_adr_transaction_coa_id
15635 , x_accounting_coa_id => l_adr_accounting_coa_id
15636 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15637 , x_flex_value_set_id => l_adr_flex_value_set_id
15638 , x_value_type_code => l_adr_value_type_code
15639 , x_value_combination_id => l_adr_value_combination_id
15640 , x_value_segment_code => l_adr_value_segment_code
15641 , p_side => 'CREDIT'
15642 , p_override_seg_flag => 'Y'
15643 );
15644
15645 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15646
15647 xla_ae_lines_pkg.set_segment(
15648 p_to_segment_code => 'GL_ACCOUNT'
15649 , p_segment_value => l_segment
15650 , p_from_segment_code => l_adr_value_segment_code
15651 , p_from_combination_id => l_adr_value_combination_id
15652 , p_value_type_code => l_adr_value_type_code
15653 , p_transaction_coa_id => l_adr_transaction_coa_id
15654 , p_accounting_coa_id => l_adr_accounting_coa_id
15655 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15656 , p_flex_value_set_id => l_adr_flex_value_set_id
15660 , p_component_code => l_component_code
15657 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15658 , p_adr_type_code => 'S'
15659 , p_component_type => l_component_type
15661 , p_component_type_code => l_component_type_code
15662 , p_component_appl_id => l_component_appl_id
15663 , p_amb_context_code => l_amb_context_code
15664 , p_entity_code => 'AP_INVOICES'
15665 , p_event_class_code => 'INVOICES'
15666 , p_side => 'CREDIT'
15667 );
15668
15669 END IF;
15670
15671 l_segment := AcctDerRule_9(
15672 p_application_id => p_application_id
15673 , p_ae_header_id => l_ae_header_id
15674 , p_source_3 => p_source_3
15675 , p_source_3_meaning => p_source_3_meaning
15676 , p_source_10 => p_source_10
15677 , p_source_10_meaning => p_source_10_meaning
15678 , p_source_11 => p_source_11
15679 , x_transaction_coa_id => l_adr_transaction_coa_id
15680 , x_accounting_coa_id => l_adr_accounting_coa_id
15681 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15682 , x_flex_value_set_id => l_adr_flex_value_set_id
15683 , x_value_type_code => l_adr_value_type_code
15684 , x_value_combination_id => l_adr_value_combination_id
15685 , x_value_segment_code => l_adr_value_segment_code
15686 , p_side => 'DEBIT'
15687 , p_override_seg_flag => 'Y'
15688 );
15689
15690 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15691
15692 xla_ae_lines_pkg.set_segment(
15693 p_to_segment_code => 'GL_ACCOUNT'
15694 , p_segment_value => l_segment
15695 , p_from_segment_code => l_adr_value_segment_code
15696 , p_from_combination_id => l_adr_value_combination_id
15697 , p_value_type_code => l_adr_value_type_code
15698 , p_transaction_coa_id => l_adr_transaction_coa_id
15699 , p_accounting_coa_id => l_adr_accounting_coa_id
15700 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15701 , p_flex_value_set_id => l_adr_flex_value_set_id
15702 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15703 , p_adr_type_code => 'S'
15704 , p_component_type => l_component_type
15705 , p_component_code => l_component_code
15706 , p_component_type_code => l_component_type_code
15707 , p_component_appl_id => l_component_appl_id
15708 , p_amb_context_code => l_amb_context_code
15709 , p_entity_code => 'AP_INVOICES'
15710 , p_event_class_code => 'INVOICES'
15711 , p_side => 'DEBIT'
15712 );
15713
15714 END IF;
15715
15716 l_segment := AcctDerRule_22(
15717 p_application_id => p_application_id
15718 , p_ae_header_id => l_ae_header_id
15719 , p_source_3 => p_source_3
15720 , p_source_3_meaning => p_source_3_meaning
15721 , p_source_10 => p_source_10
15722 , p_source_10_meaning => p_source_10_meaning
15723 , p_source_18 => p_source_18
15724 , x_transaction_coa_id => l_adr_transaction_coa_id
15725 , x_accounting_coa_id => l_adr_accounting_coa_id
15726 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15727 , x_flex_value_set_id => l_adr_flex_value_set_id
15728 , x_value_type_code => l_adr_value_type_code
15729 , x_value_combination_id => l_adr_value_combination_id
15730 , x_value_segment_code => l_adr_value_segment_code
15731 , p_side => 'ALL'
15732 , p_override_seg_flag => 'Y'
15733 );
15734
15735 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15736
15737 xla_ae_lines_pkg.set_segment(
15738 p_to_segment_code => 'GL_BALANCING'
15739 , p_segment_value => l_segment
15740 , p_from_segment_code => l_adr_value_segment_code
15741 , p_from_combination_id => l_adr_value_combination_id
15742 , p_value_type_code => l_adr_value_type_code
15743 , p_transaction_coa_id => l_adr_transaction_coa_id
15744 , p_accounting_coa_id => l_adr_accounting_coa_id
15745 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15746 , p_flex_value_set_id => l_adr_flex_value_set_id
15747 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
15748 , p_adr_type_code => 'S'
15749 , p_component_type => l_component_type
15750 , p_component_code => l_component_code
15751 , p_component_type_code => l_component_type_code
15752 , p_component_appl_id => l_component_appl_id
15753 , p_amb_context_code => l_amb_context_code
15754 , p_entity_code => 'AP_INVOICES'
15755 , p_event_class_code => 'INVOICES'
15756 , p_side => 'ALL'
15757 );
15758
15759 END IF;
15760
15761 --
15762 --
15763 END IF;
15764 --
15765 -- Bug 4922099
15766 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
15767 (NVL(l_enc_upg_option, 'N') = 'O')
15768 ) AND
15769 (l_bflow_method_code = 'PRIOR_ENTRY')
15770 )
15771 THEN
15772 IF
15773 --
15774 1 = 2
15775 --
15776 THEN
15777 xla_accounting_err_pkg.build_message
15781 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
15778 (p_appli_s_name => 'XLA'
15779 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15780 ,p_token_1 => 'LINE_NUMBER'
15782 ,p_token_2 => 'LINE_TYPE_NAME'
15783 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
15784 l_component_type
15785 ,l_component_code
15786 ,l_component_type_code
15787 ,l_component_appl_id
15788 ,l_amb_context_code
15789 ,l_entity_code
15790 ,l_event_class_code
15791 )
15792 ,p_token_3 => 'OWNER'
15793 ,p_value_3 => xla_lookups_pkg.get_meaning(
15794 p_lookup_type => 'XLA_OWNER_TYPE'
15795 ,p_lookup_code => l_component_type_code
15796 )
15797 ,p_token_4 => 'PRODUCT_NAME'
15798 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
15799 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
15800 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
15801 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
15802 ,p_ae_header_id => NULL
15803 );
15804
15805 IF (C_LEVEL_ERROR>= g_log_level) THEN
15806 trace
15807 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
15808 ,p_level => C_LEVEL_ERROR
15809 ,p_module => l_log_module);
15810 END IF;
15811 END IF;
15812 END IF;
15813 --
15814 --
15815 ------------------------------------------------------------------------------------------------
15816 -- 4219869 Business Flow
15817 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
15818 -- Prior Entry. Currently, the following code is always generated.
15819 ------------------------------------------------------------------------------------------------
15820 XLA_AE_LINES_PKG.ValidateCurrentLine;
15821
15822 ------------------------------------------------------------------------------------
15823 -- 4219869 Business Flow
15824 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
15825 ------------------------------------------------------------------------------------
15826 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
15827
15828 ----------------------------------------------------------------------------------
15829 -- 4219869 Business Flow
15830 -- Update journal entry status -- Need to generate this within IF <condition>
15831 ----------------------------------------------------------------------------------
15832 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
15833 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
15834 ,p_balance_type_code => l_balance_type_code
15835 );
15836
15837 -------------------------------------------------------------------------------------------
15838 -- 4262811 - Generate the Accrual Reversal lines
15839 -------------------------------------------------------------------------------------------
15840 BEGIN
15841 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
15842 (g_array_event(p_event_id).array_value_num('header_index'));
15843 IF l_acc_rev_flag IS NULL THEN
15844 l_acc_rev_flag := 'N';
15845 END IF;
15846 EXCEPTION
15847 WHEN OTHERS THEN
15848 l_acc_rev_flag := 'N';
15849 END;
15850 --
15851 IF (l_acc_rev_flag = 'Y') THEN
15852
15853 -- 4645092 ------------------------------------------------------------------------------
15854 -- To allow MPA report to determine if it should generate report process
15855 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
15856 ------------------------------------------------------------------------------------------
15857
15858 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
15859 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
15860 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
15861 -- call ADRs
15862 -- Bug 4922099
15863 --
15864 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
15865 (NVL(l_actual_upg_option, 'N') = 'O') OR
15866 (NVL(l_enc_upg_option, 'N') = 'O')
15867 )
15871 --
15868 THEN
15869 NULL;
15870 --
15872
15873 l_ccid := AcctDerRule_29(
15874 p_application_id => p_application_id
15875 , p_ae_header_id => l_ae_header_id
15876 , p_source_3 => p_source_3
15877 , p_source_3_meaning => p_source_3_meaning
15878 , p_source_8 => p_source_8
15879 , p_source_9 => p_source_9
15880 , p_source_10 => p_source_10
15881 , p_source_10_meaning => p_source_10_meaning
15882 , p_source_11 => p_source_11
15883 , p_source_18 => p_source_18
15884 , p_source_35 => p_source_35
15885 , p_source_35_meaning => p_source_35_meaning
15886 , x_transaction_coa_id => l_adr_transaction_coa_id
15887 , x_accounting_coa_id => l_adr_accounting_coa_id
15888 , x_value_type_code => l_adr_value_type_code
15889 , p_side => 'ALL'
15890 );
15891
15892 xla_ae_lines_pkg.set_ccid(
15893 p_code_combination_id => l_ccid
15894 , p_value_type_code => l_adr_value_type_code
15895 , p_transaction_coa_id => l_adr_transaction_coa_id
15896 , p_accounting_coa_id => l_adr_accounting_coa_id
15897 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
15898 , p_adr_type_code => 'S'
15899 , p_component_type => l_component_type
15900 , p_component_code => l_component_code
15901 , p_component_type_code => l_component_type_code
15902 , p_component_appl_id => l_component_appl_id
15903 , p_amb_context_code => l_amb_context_code
15904 , p_side => 'ALL'
15905 );
15906
15907
15908 l_segment := AcctDerRule_8(
15909 p_application_id => p_application_id
15910 , p_ae_header_id => l_ae_header_id
15911 , p_source_3 => p_source_3
15912 , p_source_3_meaning => p_source_3_meaning
15913 , p_source_8 => p_source_8
15914 , p_source_10 => p_source_10
15915 , p_source_10_meaning => p_source_10_meaning
15916 , x_transaction_coa_id => l_adr_transaction_coa_id
15917 , x_accounting_coa_id => l_adr_accounting_coa_id
15918 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15919 , x_flex_value_set_id => l_adr_flex_value_set_id
15920 , x_value_type_code => l_adr_value_type_code
15921 , x_value_combination_id => l_adr_value_combination_id
15922 , x_value_segment_code => l_adr_value_segment_code
15923 , p_side => 'CREDIT'
15924 , p_override_seg_flag => 'Y'
15925 );
15926
15927 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15928
15929 xla_ae_lines_pkg.set_segment(
15930 p_to_segment_code => 'GL_ACCOUNT'
15931 , p_segment_value => l_segment
15932 , p_from_segment_code => l_adr_value_segment_code
15933 , p_from_combination_id => l_adr_value_combination_id
15934 , p_value_type_code => l_adr_value_type_code
15935 , p_transaction_coa_id => l_adr_transaction_coa_id
15936 , p_accounting_coa_id => l_adr_accounting_coa_id
15937 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15938 , p_flex_value_set_id => l_adr_flex_value_set_id
15939 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
15940 , p_adr_type_code => 'S'
15941 , p_component_type => l_component_type
15942 , p_component_code => l_component_code
15943 , p_component_type_code => l_component_type_code
15944 , p_component_appl_id => l_component_appl_id
15945 , p_amb_context_code => l_amb_context_code
15946 , p_entity_code => 'AP_INVOICES'
15947 , p_event_class_code => 'INVOICES'
15948 , p_side => 'CREDIT'
15949 );
15950
15951 END IF;
15952
15953 l_segment := AcctDerRule_9(
15954 p_application_id => p_application_id
15955 , p_ae_header_id => l_ae_header_id
15956 , p_source_3 => p_source_3
15957 , p_source_3_meaning => p_source_3_meaning
15958 , p_source_10 => p_source_10
15959 , p_source_10_meaning => p_source_10_meaning
15960 , p_source_11 => p_source_11
15961 , x_transaction_coa_id => l_adr_transaction_coa_id
15962 , x_accounting_coa_id => l_adr_accounting_coa_id
15963 , x_flexfield_segment_code => l_adr_flexfield_segment_code
15964 , x_flex_value_set_id => l_adr_flex_value_set_id
15965 , x_value_type_code => l_adr_value_type_code
15966 , x_value_combination_id => l_adr_value_combination_id
15967 , x_value_segment_code => l_adr_value_segment_code
15968 , p_side => 'DEBIT'
15969 , p_override_seg_flag => 'Y'
15970 );
15971
15972 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
15973
15974 xla_ae_lines_pkg.set_segment(
15975 p_to_segment_code => 'GL_ACCOUNT'
15976 , p_segment_value => l_segment
15977 , p_from_segment_code => l_adr_value_segment_code
15978 , p_from_combination_id => l_adr_value_combination_id
15979 , p_value_type_code => l_adr_value_type_code
15980 , p_transaction_coa_id => l_adr_transaction_coa_id
15981 , p_accounting_coa_id => l_adr_accounting_coa_id
15985 , p_adr_type_code => 'S'
15982 , p_flexfield_segment_code => l_adr_flexfield_segment_code
15983 , p_flex_value_set_id => l_adr_flex_value_set_id
15984 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
15986 , p_component_type => l_component_type
15987 , p_component_code => l_component_code
15988 , p_component_type_code => l_component_type_code
15989 , p_component_appl_id => l_component_appl_id
15990 , p_amb_context_code => l_amb_context_code
15991 , p_entity_code => 'AP_INVOICES'
15992 , p_event_class_code => 'INVOICES'
15993 , p_side => 'DEBIT'
15994 );
15995
15996 END IF;
15997
15998 l_segment := AcctDerRule_22(
15999 p_application_id => p_application_id
16000 , p_ae_header_id => l_ae_header_id
16001 , p_source_3 => p_source_3
16002 , p_source_3_meaning => p_source_3_meaning
16003 , p_source_10 => p_source_10
16004 , p_source_10_meaning => p_source_10_meaning
16005 , p_source_18 => p_source_18
16006 , x_transaction_coa_id => l_adr_transaction_coa_id
16007 , x_accounting_coa_id => l_adr_accounting_coa_id
16008 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16009 , x_flex_value_set_id => l_adr_flex_value_set_id
16010 , x_value_type_code => l_adr_value_type_code
16011 , x_value_combination_id => l_adr_value_combination_id
16012 , x_value_segment_code => l_adr_value_segment_code
16013 , p_side => 'ALL'
16014 , p_override_seg_flag => 'Y'
16015 );
16016
16017 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16018
16019 xla_ae_lines_pkg.set_segment(
16020 p_to_segment_code => 'GL_BALANCING'
16021 , p_segment_value => l_segment
16022 , p_from_segment_code => l_adr_value_segment_code
16023 , p_from_combination_id => l_adr_value_combination_id
16024 , p_value_type_code => l_adr_value_type_code
16025 , p_transaction_coa_id => l_adr_transaction_coa_id
16026 , p_accounting_coa_id => l_adr_accounting_coa_id
16027 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16028 , p_flex_value_set_id => l_adr_flex_value_set_id
16029 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16030 , p_adr_type_code => 'S'
16031 , p_component_type => l_component_type
16032 , p_component_code => l_component_code
16033 , p_component_type_code => l_component_type_code
16034 , p_component_appl_id => l_component_appl_id
16035 , p_amb_context_code => l_amb_context_code
16036 , p_entity_code => 'AP_INVOICES'
16037 , p_event_class_code => 'INVOICES'
16038 , p_side => 'ALL'
16039 );
16040
16041 END IF;
16042
16043 --
16044 --
16045 END IF;
16046
16047 --
16048 -- Update the line information that should be overwritten
16049 --
16050 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
16051 p_header_num => 1);
16052 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
16053
16054 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
16055
16056 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
16057 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
16058 END IF;
16059
16060 --
16061 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
16062 --
16063 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
16064 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
16065 ELSE
16066 ---------------------------------------------------------------------------------------------------
16067 -- 4262811a Switch Sign
16068 ---------------------------------------------------------------------------------------------------
16069 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
16070 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16071 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16072 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
16073 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16074 -- 5132302
16075 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
16076 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
16077
16078 END IF;
16079
16080 -- 4955764
16081 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16082 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
16083
16084
16085 XLA_AE_LINES_PKG.ValidateCurrentLine;
16089 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
16086 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16087
16088 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16090 ,p_balance_type_code => l_balance_type_code);
16091
16092 END IF;
16093
16094 -----------------------------------------------------------------------------------------
16095 -- 4262811 Multiperiod Accounting
16096 -----------------------------------------------------------------------------------------
16097 -- No MPA option is assigned.
16098
16099
16100 END IF;
16101 END IF;
16102 --
16103
16104 --
16105 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16106 trace
16107 (p_msg => 'END of AcctLineType_57'
16108 ,p_level => C_LEVEL_PROCEDURE
16109 ,p_module => l_log_module);
16110 END IF;
16111 --
16112 EXCEPTION
16113 WHEN xla_exceptions_pkg.application_exception THEN
16114 RAISE;
16115 WHEN OTHERS THEN
16116 xla_exceptions_pkg.raise_message
16117 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_57');
16118 END AcctLineType_57;
16119 --
16120
16121 ---------------------------------------
16122 --
16123 -- PRIVATE FUNCTION
16124 -- AcctLineType_58
16125 --
16126 ---------------------------------------
16127 PROCEDURE AcctLineType_58 (
16128 p_application_id IN NUMBER
16129 ,p_event_id IN NUMBER
16130 ,p_calculate_acctd_flag IN VARCHAR2
16131 ,p_calculate_g_l_flag IN VARCHAR2
16132 ,p_actual_flag IN OUT VARCHAR2
16133 ,p_balance_type_code OUT VARCHAR2
16134 ,p_gain_or_loss_ref OUT VARCHAR2
16135
16136 --Invoice Distribution Description
16137 , p_source_1 IN VARCHAR2
16138 --Automatic Offsets Value
16139 , p_source_3 IN VARCHAR2
16140 , p_source_3_meaning IN VARCHAR2
16141 --Purchase Order Rate Variance Gain Account
16142 , p_source_8 IN NUMBER
16143 --Invoice Distribution Ledger Amount
16144 , p_source_9 IN NUMBER
16145 --Destination Type of the PO Distribution
16146 , p_source_10 IN VARCHAR2
16147 , p_source_10_meaning IN VARCHAR2
16148 --Purchase Order Rate Variance Loss Account
16149 , p_source_11 IN NUMBER
16150 --Invoice Distribution Account
16151 , p_source_18 IN NUMBER
16152 --Invoice Distribution Type
16153 , p_source_21 IN VARCHAR2
16154 , p_source_21_meaning IN VARCHAR2
16155 --Automatic Offsets Flag
16156 , p_source_35 IN VARCHAR2
16157 , p_source_35_meaning IN VARCHAR2
16158 --Accounting Reversal Indicator
16159 , p_source_41 IN VARCHAR2
16160 --Distribution Link Type
16161 , p_source_43 IN VARCHAR2
16162 --Allocation to Main Distribution Identifier
16163 , p_source_45 IN NUMBER
16164 --Invoice Identifier
16165 , p_source_46 IN NUMBER
16166 --Invoice Distribution Identifier
16167 , p_source_52 IN NUMBER
16168 --Payables Encumbrance Upgrade Credit Account
16169 , p_source_53 IN NUMBER
16170 --Payables Encumbrance Upgrade Credit Amount
16171 , p_source_54 IN NUMBER
16172 --Invoice Currency Code
16173 , p_source_55 IN VARCHAR2
16174 --Payables Encumbrance Upgrade Credit Base Amount
16175 , p_source_56 IN NUMBER
16176 --Payables Encumbrance Upgrade Debit Account
16177 , p_source_57 IN NUMBER
16178 --Payables Encumbrance Upgrade Debit Amount
16179 , p_source_58 IN NUMBER
16180 --Payables Encumbrance Upgrade Debit Base Amount
16181 , p_source_59 IN NUMBER
16182 --Payables Encumbrance Upgrade Option
16183 , p_source_60 IN VARCHAR2
16184 --Deferred Accounting End Date
16185 , p_source_65 IN DATE
16186 --Deferred Accounting Option
16187 , p_source_66 IN VARCHAR2
16188 --Deferred Accounting Start Date
16189 , p_source_67 IN DATE
16190 --Override Accounted Amount Indicator
16191 , p_source_68 IN VARCHAR2
16192 , p_source_68_meaning IN VARCHAR2
16193 --Invoice Supplier Identifier
16194 , p_source_69 IN NUMBER
16195 --Invoice Supplier Site Identifier
16196 , p_source_70 IN NUMBER
16197 --Third Party Type
16198 , p_source_71 IN VARCHAR2
16199 --Parent Reversal Identifier
16200 , p_source_72 IN NUMBER
16201 --Invoice Distribution Statistical Amount
16202 , p_source_73 IN NUMBER
16203 --Invoice Distribution Tax Line Identifier
16204 , p_source_74 IN NUMBER
16205 --Invoice Distribution Tax Distribution Identifier from Tax
16206 , p_source_75 IN NUMBER
16207 --Invoice Distribution Summary Tax Line Identifier
16208 , p_source_76 IN NUMBER
16209 --Payables Upgrade Credit Encumbrance Type Identifier
16210 , p_source_77 IN NUMBER
16211 --Payables Upgrade Debit Encumbrance Type Identifier
16212 , p_source_78 IN NUMBER
16213 --Business Flow Accounts Payable Application Identifier
16214 , p_source_79 IN NUMBER
16215 --Business Flow Invoice Distribution Type
16216 , p_source_80 IN VARCHAR2
16217 --Business Flow Invoice Entity Code
16218 , p_source_81 IN VARCHAR2
16219 --Business Flow Invoice Distribution Identifier
16223 --Accrue on Receipt Option
16220 , p_source_82 IN NUMBER
16221 --Business Flow Invoice Identifier
16222 , p_source_83 IN NUMBER
16224 , p_source_84 IN VARCHAR2
16225 , p_source_84_meaning IN VARCHAR2
16226 )
16227 IS
16228
16229 l_component_type VARCHAR2(80);
16230 l_component_code VARCHAR2(30);
16231 l_component_type_code VARCHAR2(1);
16232 l_component_appl_id INTEGER;
16233 l_amb_context_code VARCHAR2(30);
16234 l_entity_code VARCHAR2(30);
16235 l_event_class_code VARCHAR2(30);
16236 l_ae_header_id NUMBER;
16237 l_event_type_code VARCHAR2(30);
16238 l_line_definition_code VARCHAR2(30);
16239 l_line_definition_owner_code VARCHAR2(1);
16240 --
16241 -- adr variables
16242 l_segment VARCHAR2(30);
16243 l_ccid NUMBER;
16244 l_adr_transaction_coa_id NUMBER;
16245 l_adr_accounting_coa_id NUMBER;
16246 l_adr_flexfield_segment_code VARCHAR2(30);
16247 l_adr_flex_value_set_id NUMBER;
16248 l_adr_value_type_code VARCHAR2(30);
16249 l_adr_value_combination_id NUMBER;
16250 l_adr_value_segment_code VARCHAR2(30);
16251
16252 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
16253 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
16254 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
16255 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
16256
16257 -- 4262811 Variables ------------------------------------------------------------------------------------------
16258 l_entered_amt_idx NUMBER;
16259 l_accted_amt_idx NUMBER;
16260 l_acc_rev_flag VARCHAR2(1);
16261 l_accrual_line_num NUMBER;
16262 l_tmp_amt NUMBER;
16263 l_acc_rev_natural_side_code VARCHAR2(1);
16264
16265 l_num_entries NUMBER;
16266 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
16267 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
16268 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
16269 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
16270 l_recog_line_1 NUMBER;
16271 l_recog_line_2 NUMBER;
16272
16273 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
16274 l_bflow_applied_to_amt NUMBER; -- 5132302
16275 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
16276
16277 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
16278
16279 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
16280 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
16281
16282 ---------------------------------------------------------------------------------------------------------------
16283
16284
16285 --
16286 -- bulk performance
16287 --
16288 l_balance_type_code VARCHAR2(1);
16289 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
16290 l_log_module VARCHAR2(240);
16291
16292 --
16293 -- Upgrade strategy
16294 --
16295 l_actual_upg_option VARCHAR2(1);
16296 l_enc_upg_option VARCHAR2(1);
16297
16298 --
16299 BEGIN
16300 --
16301 IF g_log_enabled THEN
16302 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_58';
16303 END IF;
16304 --
16305 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
16306
16307 trace
16308 (p_msg => 'BEGIN of AcctLineType_58'
16309 ,p_level => C_LEVEL_PROCEDURE
16310 ,p_module => l_log_module);
16311
16312 END IF;
16313 --
16314 l_component_type := 'AMB_JLT';
16315 l_component_code := 'AP_ALC_TAX_EX_RATE_VAR_PREPAY';
16316 l_component_type_code := 'S';
16317 l_component_appl_id := 200;
16318 l_amb_context_code := 'DEFAULT';
16319 l_entity_code := 'AP_INVOICES';
16320 l_event_class_code := 'PREPAYMENTS';
16321 l_event_type_code := 'PREPAYMENTS_ALL';
16322 l_line_definition_owner_code := 'S';
16323 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
16324 --
16325 l_balance_type_code := 'A';
16326 l_segment := NULL;
16327 l_ccid := NULL;
16328 l_adr_transaction_coa_id := NULL;
16329 l_adr_accounting_coa_id := NULL;
16330 l_adr_flexfield_segment_code := NULL;
16331 l_adr_flex_value_set_id := NULL;
16332 l_adr_value_type_code := NULL;
16333 l_adr_value_combination_id := NULL;
16334 l_adr_value_segment_code := NULL;
16335
16336 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
16337 l_bflow_class_code := ''; -- 4219869 Business Flow
16338 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
16339 l_budgetary_control_flag := 'N';
16340
16341 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16342 l_bflow_applied_to_amt := NULL; -- 5132302
16343 l_entered_amt_idx := NULL; -- 4262811
16344 l_accted_amt_idx := NULL; -- 4262811
16345 l_acc_rev_flag := NULL; -- 4262811
16346 l_accrual_line_num := NULL; -- 4262811
16350 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
16347 l_tmp_amt := NULL; -- 4262811
16348 --
16349 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
16351 return;
16352 END IF;
16353
16354 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
16355 l_balance_type_code <> 'B' THEN
16356 IF NVL(p_source_21,'
16357 ') = 'NONREC_TAX' AND
16358 NVL(p_source_84,'
16359 ') = 'Y'
16360 THEN
16361
16362 --
16363 XLA_AE_LINES_PKG.SetNewLine;
16364
16365 p_balance_type_code := l_balance_type_code;
16366 -- set the flag so later we will know whether the gain loss line needs to be created
16367
16368 IF(l_balance_type_code = 'A' ) THEN
16369 p_actual_flag :='G';
16370 END IF;
16371
16372 --
16373 -- bulk performance
16374 --
16375 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
16376 p_header_num => 0); -- 4262811
16377 --
16378 -- set accounting line options
16379 --
16380 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
16381 p_natural_side_code => 'G'
16382 , p_gain_or_loss_flag => 'N'
16383 , p_gl_transfer_mode_code => 'S'
16384 , p_acct_entry_type_code => 'A'
16385 , p_switch_side_flag => ''
16386 , p_merge_duplicate_code => 'A'
16387 );
16388 --
16389 l_acc_rev_natural_side_code := 'C'; -- 4262811
16390 --
16391 --
16392 -- set accounting line type info
16393 --
16394 xla_ae_lines_pkg.SetAcctLineType
16395 (p_component_type => l_component_type
16396 ,p_event_type_code => l_event_type_code
16397 ,p_line_definition_owner_code => l_line_definition_owner_code
16398 ,p_line_definition_code => l_line_definition_code
16399 ,p_accounting_line_code => l_component_code
16400 ,p_accounting_line_type_code => l_component_type_code
16401 ,p_accounting_line_appl_id => l_component_appl_id
16402 ,p_amb_context_code => l_amb_context_code
16403 ,p_entity_code => l_entity_code
16404 ,p_event_class_code => l_event_class_code);
16405 --
16406 -- set accounting class
16407 --
16408 xla_ae_lines_pkg.SetAcctClass(
16409 p_accounting_class_code => 'TERV'
16410 , p_ae_header_id => l_ae_header_id
16411 );
16412
16413 --
16414 -- set rounding class
16415 --
16416 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
16417 'TERV';
16418
16419 --
16420 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
16421 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
16422 --
16423 -- bulk performance
16424 --
16425 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
16426
16427 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
16428 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
16429
16430 -- 4955764
16431 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
16432 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
16433
16434 -- 4458381 Public Sector Enh
16435
16436 --
16437 -- set accounting attributes for the line type
16438 --
16439 l_entered_amt_idx := NULL;
16440 l_accted_amt_idx := 23;
16441 l_bflow_applied_to_amt_idx := NULL; -- 5132302
16442 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
16443 l_rec_acct_attrs.array_char_value(1) := p_source_41;
16444 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
16445 l_rec_acct_attrs.array_num_value(2) :=
16446 xla_ae_sources_pkg.GetSystemSourceNum(
16447 p_source_code => 'XLA_EVENT_APPL_ID'
16448 , p_source_type_code => 'Y'
16449 , p_source_application_id => 602
16450 );
16451 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
16452 l_rec_acct_attrs.array_char_value(3) := p_source_43;
16453 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
16454 l_rec_acct_attrs.array_char_value(4) :=
16455 xla_ae_sources_pkg.GetSystemSourceChar(
16456 p_source_code => 'XLA_ENTITY_CODE'
16457 , p_source_type_code => 'Y'
16458 , p_source_application_id => 602
16459 );
16460 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
16461 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
16462 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
16463 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
16464 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
16465 l_rec_acct_attrs.array_num_value(7) := p_source_79;
16466 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
16470 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
16467 l_rec_acct_attrs.array_char_value(8) := p_source_80;
16468 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
16469 l_rec_acct_attrs.array_char_value(9) := p_source_81;
16471 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
16472 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
16473 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
16474 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
16475 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
16476 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
16477 l_rec_acct_attrs.array_char_value(13) := p_source_43;
16478 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
16479 l_rec_acct_attrs.array_num_value(14) := p_source_53;
16480 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
16481 l_rec_acct_attrs.array_num_value(15) := p_source_54;
16482 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
16483 l_rec_acct_attrs.array_char_value(16) := p_source_55;
16484 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
16485 l_rec_acct_attrs.array_num_value(17) := p_source_56;
16486 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
16487 l_rec_acct_attrs.array_num_value(18) := p_source_57;
16488 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
16489 l_rec_acct_attrs.array_num_value(19) := p_source_58;
16490 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
16491 l_rec_acct_attrs.array_char_value(20) := p_source_55;
16492 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
16493 l_rec_acct_attrs.array_num_value(21) := p_source_59;
16494 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
16495 l_rec_acct_attrs.array_char_value(22) := p_source_60;
16496 l_rec_acct_attrs.array_acct_attr_code(23) := 'LEDGER_AMOUNT';
16497 l_rec_acct_attrs.array_num_value(23) := p_source_9;
16498 l_rec_acct_attrs.array_acct_attr_code(24) := 'MULTIPERIOD_END_DATE';
16499 l_rec_acct_attrs.array_date_value(24) := p_source_65;
16500 l_rec_acct_attrs.array_acct_attr_code(25) := 'MULTIPERIOD_OPTION';
16501 l_rec_acct_attrs.array_char_value(25) := p_source_66;
16502 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_START_DATE';
16503 l_rec_acct_attrs.array_date_value(26) := p_source_67;
16504 l_rec_acct_attrs.array_acct_attr_code(27) := 'OVERRIDE_ACCTD_AMT_FLAG';
16505 l_rec_acct_attrs.array_char_value(27) := p_source_68;
16506 l_rec_acct_attrs.array_acct_attr_code(28) := 'PARTY_ID';
16507 l_rec_acct_attrs.array_num_value(28) := p_source_69;
16508 l_rec_acct_attrs.array_acct_attr_code(29) := 'PARTY_SITE_ID';
16509 l_rec_acct_attrs.array_num_value(29) := p_source_70;
16510 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
16511 l_rec_acct_attrs.array_char_value(30) := p_source_71;
16512 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
16513 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
16514 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
16515 l_rec_acct_attrs.array_char_value(32) := p_source_43;
16516 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
16517 l_rec_acct_attrs.array_num_value(33) := p_source_73;
16518 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
16519 l_rec_acct_attrs.array_num_value(34) := p_source_74;
16520 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
16521 l_rec_acct_attrs.array_num_value(35) := p_source_75;
16522 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
16523 l_rec_acct_attrs.array_num_value(36) := p_source_76;
16524 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
16525 l_rec_acct_attrs.array_num_value(37) := p_source_77;
16526 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
16527 l_rec_acct_attrs.array_num_value(38) := p_source_78;
16528
16529 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
16530 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
16531
16532 ---------------------------------------------------------------------------------------------------------------
16533 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
16534 ---------------------------------------------------------------------------------------------------------------
16535 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
16536
16537 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16538 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
16539
16540 IF xla_accounting_cache_pkg.GetValueChar
16541 (p_source_code => 'LEDGER_CATEGORY_CODE'
16542 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
16543 AND l_bflow_method_code = 'PRIOR_ENTRY'
16544 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
16545 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
16546 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
16547 )
16548 THEN
16549 xla_ae_lines_pkg.BflowUpgEntry
16550 (p_business_method_code => l_bflow_method_code
16554 NULL;
16551 ,p_business_class_code => l_bflow_class_code
16552 ,p_balance_type => l_balance_type_code);
16553 ELSE
16555 -- No business flow processing for business flow method of NONE.
16556 END IF;
16557
16558 --
16559 -- call analytical criteria
16560 --
16561
16562 --
16563 -- call description
16564 --
16565
16566 xla_ae_lines_pkg.SetLineDescription(
16567 p_ae_header_id => l_ae_header_id
16568 ,p_description => Description_2 (
16569 p_application_id => p_application_id
16570 , p_ae_header_id => l_ae_header_id
16571 , p_source_1 => p_source_1
16572 )
16573 );
16574
16575
16576 --
16577 -- call ADRs
16578 -- Bug 4922099
16579 --
16580 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16581 (NVL(l_actual_upg_option, 'N') = 'O') OR
16582 (NVL(l_enc_upg_option, 'N') = 'O')
16583 )
16584 THEN
16585 NULL;
16586 --
16587 --
16588
16589 l_ccid := AcctDerRule_29(
16590 p_application_id => p_application_id
16591 , p_ae_header_id => l_ae_header_id
16592 , p_source_3 => p_source_3
16593 , p_source_3_meaning => p_source_3_meaning
16594 , p_source_8 => p_source_8
16595 , p_source_9 => p_source_9
16596 , p_source_10 => p_source_10
16597 , p_source_10_meaning => p_source_10_meaning
16598 , p_source_11 => p_source_11
16599 , p_source_18 => p_source_18
16600 , p_source_35 => p_source_35
16601 , p_source_35_meaning => p_source_35_meaning
16602 , x_transaction_coa_id => l_adr_transaction_coa_id
16603 , x_accounting_coa_id => l_adr_accounting_coa_id
16604 , x_value_type_code => l_adr_value_type_code
16605 , p_side => 'ALL'
16606 );
16607
16608 xla_ae_lines_pkg.set_ccid(
16609 p_code_combination_id => l_ccid
16610 , p_value_type_code => l_adr_value_type_code
16611 , p_transaction_coa_id => l_adr_transaction_coa_id
16612 , p_accounting_coa_id => l_adr_accounting_coa_id
16613 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16614 , p_adr_type_code => 'S'
16615 , p_component_type => l_component_type
16616 , p_component_code => l_component_code
16617 , p_component_type_code => l_component_type_code
16618 , p_component_appl_id => l_component_appl_id
16619 , p_amb_context_code => l_amb_context_code
16620 , p_side => 'ALL'
16621 );
16622
16623
16624 l_segment := AcctDerRule_8(
16625 p_application_id => p_application_id
16626 , p_ae_header_id => l_ae_header_id
16627 , p_source_3 => p_source_3
16628 , p_source_3_meaning => p_source_3_meaning
16629 , p_source_8 => p_source_8
16630 , p_source_10 => p_source_10
16631 , p_source_10_meaning => p_source_10_meaning
16632 , x_transaction_coa_id => l_adr_transaction_coa_id
16633 , x_accounting_coa_id => l_adr_accounting_coa_id
16634 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16635 , x_flex_value_set_id => l_adr_flex_value_set_id
16636 , x_value_type_code => l_adr_value_type_code
16637 , x_value_combination_id => l_adr_value_combination_id
16638 , x_value_segment_code => l_adr_value_segment_code
16639 , p_side => 'CREDIT'
16640 , p_override_seg_flag => 'Y'
16641 );
16642
16643 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16644
16645 xla_ae_lines_pkg.set_segment(
16646 p_to_segment_code => 'GL_ACCOUNT'
16647 , p_segment_value => l_segment
16648 , p_from_segment_code => l_adr_value_segment_code
16649 , p_from_combination_id => l_adr_value_combination_id
16650 , p_value_type_code => l_adr_value_type_code
16651 , p_transaction_coa_id => l_adr_transaction_coa_id
16652 , p_accounting_coa_id => l_adr_accounting_coa_id
16653 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16654 , p_flex_value_set_id => l_adr_flex_value_set_id
16655 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16656 , p_adr_type_code => 'S'
16657 , p_component_type => l_component_type
16658 , p_component_code => l_component_code
16659 , p_component_type_code => l_component_type_code
16660 , p_component_appl_id => l_component_appl_id
16661 , p_amb_context_code => l_amb_context_code
16662 , p_entity_code => 'AP_INVOICES'
16663 , p_event_class_code => 'PREPAYMENTS'
16664 , p_side => 'CREDIT'
16665 );
16666
16667 END IF;
16668
16669 l_segment := AcctDerRule_9(
16670 p_application_id => p_application_id
16671 , p_ae_header_id => l_ae_header_id
16672 , p_source_3 => p_source_3
16673 , p_source_3_meaning => p_source_3_meaning
16674 , p_source_10 => p_source_10
16675 , p_source_10_meaning => p_source_10_meaning
16676 , p_source_11 => p_source_11
16677 , x_transaction_coa_id => l_adr_transaction_coa_id
16678 , x_accounting_coa_id => l_adr_accounting_coa_id
16682 , x_value_combination_id => l_adr_value_combination_id
16679 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16680 , x_flex_value_set_id => l_adr_flex_value_set_id
16681 , x_value_type_code => l_adr_value_type_code
16683 , x_value_segment_code => l_adr_value_segment_code
16684 , p_side => 'DEBIT'
16685 , p_override_seg_flag => 'Y'
16686 );
16687
16688 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16689
16690 xla_ae_lines_pkg.set_segment(
16691 p_to_segment_code => 'GL_ACCOUNT'
16692 , p_segment_value => l_segment
16693 , p_from_segment_code => l_adr_value_segment_code
16694 , p_from_combination_id => l_adr_value_combination_id
16695 , p_value_type_code => l_adr_value_type_code
16696 , p_transaction_coa_id => l_adr_transaction_coa_id
16697 , p_accounting_coa_id => l_adr_accounting_coa_id
16698 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16699 , p_flex_value_set_id => l_adr_flex_value_set_id
16700 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16701 , p_adr_type_code => 'S'
16702 , p_component_type => l_component_type
16703 , p_component_code => l_component_code
16704 , p_component_type_code => l_component_type_code
16705 , p_component_appl_id => l_component_appl_id
16706 , p_amb_context_code => l_amb_context_code
16707 , p_entity_code => 'AP_INVOICES'
16708 , p_event_class_code => 'PREPAYMENTS'
16709 , p_side => 'DEBIT'
16710 );
16711
16712 END IF;
16713
16714 l_segment := AcctDerRule_22(
16715 p_application_id => p_application_id
16716 , p_ae_header_id => l_ae_header_id
16717 , p_source_3 => p_source_3
16718 , p_source_3_meaning => p_source_3_meaning
16719 , p_source_10 => p_source_10
16720 , p_source_10_meaning => p_source_10_meaning
16721 , p_source_18 => p_source_18
16722 , x_transaction_coa_id => l_adr_transaction_coa_id
16723 , x_accounting_coa_id => l_adr_accounting_coa_id
16724 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16725 , x_flex_value_set_id => l_adr_flex_value_set_id
16726 , x_value_type_code => l_adr_value_type_code
16727 , x_value_combination_id => l_adr_value_combination_id
16728 , x_value_segment_code => l_adr_value_segment_code
16729 , p_side => 'ALL'
16730 , p_override_seg_flag => 'Y'
16731 );
16732
16733 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16734
16735 xla_ae_lines_pkg.set_segment(
16736 p_to_segment_code => 'GL_BALANCING'
16737 , p_segment_value => l_segment
16738 , p_from_segment_code => l_adr_value_segment_code
16739 , p_from_combination_id => l_adr_value_combination_id
16740 , p_value_type_code => l_adr_value_type_code
16741 , p_transaction_coa_id => l_adr_transaction_coa_id
16742 , p_accounting_coa_id => l_adr_accounting_coa_id
16743 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16744 , p_flex_value_set_id => l_adr_flex_value_set_id
16745 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
16746 , p_adr_type_code => 'S'
16747 , p_component_type => l_component_type
16748 , p_component_code => l_component_code
16749 , p_component_type_code => l_component_type_code
16750 , p_component_appl_id => l_component_appl_id
16751 , p_amb_context_code => l_amb_context_code
16752 , p_entity_code => 'AP_INVOICES'
16753 , p_event_class_code => 'PREPAYMENTS'
16754 , p_side => 'ALL'
16755 );
16756
16757 END IF;
16758
16759 --
16760 --
16761 END IF;
16762 --
16763 -- Bug 4922099
16764 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
16765 (NVL(l_enc_upg_option, 'N') = 'O')
16766 ) AND
16767 (l_bflow_method_code = 'PRIOR_ENTRY')
16768 )
16769 THEN
16770 IF
16771 --
16772 1 = 2
16773 --
16774 THEN
16775 xla_accounting_err_pkg.build_message
16776 (p_appli_s_name => 'XLA'
16777 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16778 ,p_token_1 => 'LINE_NUMBER'
16779 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
16780 ,p_token_2 => 'LINE_TYPE_NAME'
16781 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
16782 l_component_type
16783 ,l_component_code
16784 ,l_component_type_code
16788 ,l_event_class_code
16785 ,l_component_appl_id
16786 ,l_amb_context_code
16787 ,l_entity_code
16789 )
16790 ,p_token_3 => 'OWNER'
16791 ,p_value_3 => xla_lookups_pkg.get_meaning(
16792 p_lookup_type => 'XLA_OWNER_TYPE'
16793 ,p_lookup_code => l_component_type_code
16794 )
16795 ,p_token_4 => 'PRODUCT_NAME'
16796 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
16797 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
16798 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
16799 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
16800 ,p_ae_header_id => NULL
16801 );
16802
16803 IF (C_LEVEL_ERROR>= g_log_level) THEN
16804 trace
16805 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
16806 ,p_level => C_LEVEL_ERROR
16807 ,p_module => l_log_module);
16808 END IF;
16809 END IF;
16810 END IF;
16811 --
16812 --
16813 ------------------------------------------------------------------------------------------------
16814 -- 4219869 Business Flow
16815 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
16816 -- Prior Entry. Currently, the following code is always generated.
16817 ------------------------------------------------------------------------------------------------
16818 XLA_AE_LINES_PKG.ValidateCurrentLine;
16819
16820 ------------------------------------------------------------------------------------
16821 -- 4219869 Business Flow
16822 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
16823 ------------------------------------------------------------------------------------
16824 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
16825
16826 ----------------------------------------------------------------------------------
16827 -- 4219869 Business Flow
16828 -- Update journal entry status -- Need to generate this within IF <condition>
16829 ----------------------------------------------------------------------------------
16830 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
16831 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
16832 ,p_balance_type_code => l_balance_type_code
16833 );
16834
16835 -------------------------------------------------------------------------------------------
16836 -- 4262811 - Generate the Accrual Reversal lines
16837 -------------------------------------------------------------------------------------------
16838 BEGIN
16839 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
16840 (g_array_event(p_event_id).array_value_num('header_index'));
16841 IF l_acc_rev_flag IS NULL THEN
16842 l_acc_rev_flag := 'N';
16843 END IF;
16844 EXCEPTION
16845 WHEN OTHERS THEN
16846 l_acc_rev_flag := 'N';
16847 END;
16848 --
16849 IF (l_acc_rev_flag = 'Y') THEN
16850
16851 -- 4645092 ------------------------------------------------------------------------------
16852 -- To allow MPA report to determine if it should generate report process
16853 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
16854 ------------------------------------------------------------------------------------------
16855
16856 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
16857 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
16858 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
16859 -- call ADRs
16860 -- Bug 4922099
16861 --
16862 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
16863 (NVL(l_actual_upg_option, 'N') = 'O') OR
16864 (NVL(l_enc_upg_option, 'N') = 'O')
16865 )
16866 THEN
16867 NULL;
16868 --
16869 --
16870
16871 l_ccid := AcctDerRule_29(
16872 p_application_id => p_application_id
16873 , p_ae_header_id => l_ae_header_id
16874 , p_source_3 => p_source_3
16875 , p_source_3_meaning => p_source_3_meaning
16876 , p_source_8 => p_source_8
16877 , p_source_9 => p_source_9
16878 , p_source_10 => p_source_10
16879 , p_source_10_meaning => p_source_10_meaning
16880 , p_source_11 => p_source_11
16881 , p_source_18 => p_source_18
16882 , p_source_35 => p_source_35
16883 , p_source_35_meaning => p_source_35_meaning
16884 , x_transaction_coa_id => l_adr_transaction_coa_id
16888 );
16885 , x_accounting_coa_id => l_adr_accounting_coa_id
16886 , x_value_type_code => l_adr_value_type_code
16887 , p_side => 'ALL'
16889
16890 xla_ae_lines_pkg.set_ccid(
16891 p_code_combination_id => l_ccid
16892 , p_value_type_code => l_adr_value_type_code
16893 , p_transaction_coa_id => l_adr_transaction_coa_id
16894 , p_accounting_coa_id => l_adr_accounting_coa_id
16895 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
16896 , p_adr_type_code => 'S'
16897 , p_component_type => l_component_type
16898 , p_component_code => l_component_code
16899 , p_component_type_code => l_component_type_code
16900 , p_component_appl_id => l_component_appl_id
16901 , p_amb_context_code => l_amb_context_code
16902 , p_side => 'ALL'
16903 );
16904
16905
16906 l_segment := AcctDerRule_8(
16907 p_application_id => p_application_id
16908 , p_ae_header_id => l_ae_header_id
16909 , p_source_3 => p_source_3
16910 , p_source_3_meaning => p_source_3_meaning
16911 , p_source_8 => p_source_8
16912 , p_source_10 => p_source_10
16913 , p_source_10_meaning => p_source_10_meaning
16914 , x_transaction_coa_id => l_adr_transaction_coa_id
16915 , x_accounting_coa_id => l_adr_accounting_coa_id
16916 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16917 , x_flex_value_set_id => l_adr_flex_value_set_id
16918 , x_value_type_code => l_adr_value_type_code
16919 , x_value_combination_id => l_adr_value_combination_id
16920 , x_value_segment_code => l_adr_value_segment_code
16921 , p_side => 'CREDIT'
16922 , p_override_seg_flag => 'Y'
16923 );
16924
16925 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16926
16927 xla_ae_lines_pkg.set_segment(
16928 p_to_segment_code => 'GL_ACCOUNT'
16929 , p_segment_value => l_segment
16930 , p_from_segment_code => l_adr_value_segment_code
16931 , p_from_combination_id => l_adr_value_combination_id
16932 , p_value_type_code => l_adr_value_type_code
16933 , p_transaction_coa_id => l_adr_transaction_coa_id
16934 , p_accounting_coa_id => l_adr_accounting_coa_id
16935 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16936 , p_flex_value_set_id => l_adr_flex_value_set_id
16937 , p_adr_code => 'AP_ERV_GAIN_NAT_ACCT_SEG'
16938 , p_adr_type_code => 'S'
16939 , p_component_type => l_component_type
16940 , p_component_code => l_component_code
16941 , p_component_type_code => l_component_type_code
16942 , p_component_appl_id => l_component_appl_id
16943 , p_amb_context_code => l_amb_context_code
16944 , p_entity_code => 'AP_INVOICES'
16945 , p_event_class_code => 'PREPAYMENTS'
16946 , p_side => 'CREDIT'
16947 );
16948
16949 END IF;
16950
16951 l_segment := AcctDerRule_9(
16952 p_application_id => p_application_id
16953 , p_ae_header_id => l_ae_header_id
16954 , p_source_3 => p_source_3
16955 , p_source_3_meaning => p_source_3_meaning
16956 , p_source_10 => p_source_10
16957 , p_source_10_meaning => p_source_10_meaning
16958 , p_source_11 => p_source_11
16959 , x_transaction_coa_id => l_adr_transaction_coa_id
16960 , x_accounting_coa_id => l_adr_accounting_coa_id
16961 , x_flexfield_segment_code => l_adr_flexfield_segment_code
16962 , x_flex_value_set_id => l_adr_flex_value_set_id
16963 , x_value_type_code => l_adr_value_type_code
16964 , x_value_combination_id => l_adr_value_combination_id
16965 , x_value_segment_code => l_adr_value_segment_code
16966 , p_side => 'DEBIT'
16967 , p_override_seg_flag => 'Y'
16968 );
16969
16970 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
16971
16972 xla_ae_lines_pkg.set_segment(
16973 p_to_segment_code => 'GL_ACCOUNT'
16974 , p_segment_value => l_segment
16975 , p_from_segment_code => l_adr_value_segment_code
16976 , p_from_combination_id => l_adr_value_combination_id
16977 , p_value_type_code => l_adr_value_type_code
16978 , p_transaction_coa_id => l_adr_transaction_coa_id
16979 , p_accounting_coa_id => l_adr_accounting_coa_id
16980 , p_flexfield_segment_code => l_adr_flexfield_segment_code
16981 , p_flex_value_set_id => l_adr_flex_value_set_id
16982 , p_adr_code => 'AP_ERV_LOSS_NAT_ACCT_SEG'
16983 , p_adr_type_code => 'S'
16984 , p_component_type => l_component_type
16985 , p_component_code => l_component_code
16986 , p_component_type_code => l_component_type_code
16987 , p_component_appl_id => l_component_appl_id
16988 , p_amb_context_code => l_amb_context_code
16992 );
16989 , p_entity_code => 'AP_INVOICES'
16990 , p_event_class_code => 'PREPAYMENTS'
16991 , p_side => 'DEBIT'
16993
16994 END IF;
16995
16996 l_segment := AcctDerRule_22(
16997 p_application_id => p_application_id
16998 , p_ae_header_id => l_ae_header_id
16999 , p_source_3 => p_source_3
17000 , p_source_3_meaning => p_source_3_meaning
17001 , p_source_10 => p_source_10
17002 , p_source_10_meaning => p_source_10_meaning
17003 , p_source_18 => p_source_18
17004 , x_transaction_coa_id => l_adr_transaction_coa_id
17005 , x_accounting_coa_id => l_adr_accounting_coa_id
17006 , x_flexfield_segment_code => l_adr_flexfield_segment_code
17007 , x_flex_value_set_id => l_adr_flex_value_set_id
17008 , x_value_type_code => l_adr_value_type_code
17009 , x_value_combination_id => l_adr_value_combination_id
17010 , x_value_segment_code => l_adr_value_segment_code
17011 , p_side => 'ALL'
17012 , p_override_seg_flag => 'Y'
17013 );
17014
17015 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
17016
17017 xla_ae_lines_pkg.set_segment(
17018 p_to_segment_code => 'GL_BALANCING'
17019 , p_segment_value => l_segment
17020 , p_from_segment_code => l_adr_value_segment_code
17021 , p_from_combination_id => l_adr_value_combination_id
17022 , p_value_type_code => l_adr_value_type_code
17023 , p_transaction_coa_id => l_adr_transaction_coa_id
17024 , p_accounting_coa_id => l_adr_accounting_coa_id
17025 , p_flexfield_segment_code => l_adr_flexfield_segment_code
17026 , p_flex_value_set_id => l_adr_flex_value_set_id
17027 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
17028 , p_adr_type_code => 'S'
17029 , p_component_type => l_component_type
17030 , p_component_code => l_component_code
17031 , p_component_type_code => l_component_type_code
17032 , p_component_appl_id => l_component_appl_id
17033 , p_amb_context_code => l_amb_context_code
17034 , p_entity_code => 'AP_INVOICES'
17035 , p_event_class_code => 'PREPAYMENTS'
17036 , p_side => 'ALL'
17037 );
17038
17039 END IF;
17040
17041 --
17042 --
17043 END IF;
17044
17045 --
17046 -- Update the line information that should be overwritten
17047 --
17048 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17049 p_header_num => 1);
17050 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17051
17052 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17053
17054 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17055 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17056 END IF;
17057
17058 --
17059 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17060 --
17061 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17062 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17063 ELSE
17064 ---------------------------------------------------------------------------------------------------
17065 -- 4262811a Switch Sign
17066 ---------------------------------------------------------------------------------------------------
17067 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17068 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17069 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17070 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17071 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17072 -- 5132302
17073 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17074 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17075
17076 END IF;
17077
17078 -- 4955764
17079 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17080 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17081
17082
17083 XLA_AE_LINES_PKG.ValidateCurrentLine;
17084 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17085
17086 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17087 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17088 ,p_balance_type_code => l_balance_type_code);
17089
17090 END IF;
17091
17092 -----------------------------------------------------------------------------------------
17093 -- 4262811 Multiperiod Accounting
17094 -----------------------------------------------------------------------------------------
17095 -- No MPA option is assigned.
17096
17097
17098 END IF;
17102 --
17099 END IF;
17100 --
17101
17103 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17104 trace
17105 (p_msg => 'END of AcctLineType_58'
17106 ,p_level => C_LEVEL_PROCEDURE
17107 ,p_module => l_log_module);
17108 END IF;
17109 --
17110 EXCEPTION
17111 WHEN xla_exceptions_pkg.application_exception THEN
17112 RAISE;
17113 WHEN OTHERS THEN
17114 xla_exceptions_pkg.raise_message
17115 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_58');
17116 END AcctLineType_58;
17117 --
17118
17119 ---------------------------------------
17120 --
17121 -- PRIVATE FUNCTION
17122 -- AcctLineType_59
17123 --
17124 ---------------------------------------
17125 PROCEDURE AcctLineType_59 (
17126 p_application_id IN NUMBER
17127 ,p_event_id IN NUMBER
17128 ,p_calculate_acctd_flag IN VARCHAR2
17129 ,p_calculate_g_l_flag IN VARCHAR2
17130 ,p_actual_flag IN OUT VARCHAR2
17131 ,p_balance_type_code OUT VARCHAR2
17132 ,p_gain_or_loss_ref OUT VARCHAR2
17133
17134 --Invoice Distribution Type
17135 , p_source_21 IN VARCHAR2
17136 , p_source_21_meaning IN VARCHAR2
17137 --Accounting Reversal Indicator
17138 , p_source_41 IN VARCHAR2
17139 --Distribution Link Type
17140 , p_source_43 IN VARCHAR2
17141 --Allocation to Main Distribution Identifier
17142 , p_source_45 IN NUMBER
17143 --Invoice Identifier
17144 , p_source_46 IN NUMBER
17145 --Invoice Distribution Identifier
17146 , p_source_52 IN NUMBER
17147 --Payables Encumbrance Upgrade Credit Account
17148 , p_source_53 IN NUMBER
17149 --Payables Encumbrance Upgrade Credit Amount
17150 , p_source_54 IN NUMBER
17151 --Invoice Currency Code
17152 , p_source_55 IN VARCHAR2
17153 --Payables Encumbrance Upgrade Credit Base Amount
17154 , p_source_56 IN NUMBER
17155 --Payables Encumbrance Upgrade Debit Account
17156 , p_source_57 IN NUMBER
17157 --Payables Encumbrance Upgrade Debit Amount
17158 , p_source_58 IN NUMBER
17159 --Payables Encumbrance Upgrade Debit Base Amount
17160 , p_source_59 IN NUMBER
17161 --Payables Encumbrance Upgrade Option
17162 , p_source_60 IN VARCHAR2
17163 --Deferred Accounting End Date
17164 , p_source_65 IN DATE
17165 --Deferred Accounting Option
17166 , p_source_66 IN VARCHAR2
17167 --Deferred Accounting Start Date
17168 , p_source_67 IN DATE
17169 --Override Accounted Amount Indicator
17170 , p_source_68 IN VARCHAR2
17171 , p_source_68_meaning IN VARCHAR2
17172 --Third Party Type
17173 , p_source_71 IN VARCHAR2
17174 --Parent Reversal Identifier
17175 , p_source_72 IN NUMBER
17176 --Invoice Distribution Statistical Amount
17177 , p_source_73 IN NUMBER
17178 --Invoice Distribution Tax Line Identifier
17179 , p_source_74 IN NUMBER
17180 --Invoice Distribution Tax Distribution Identifier from Tax
17181 , p_source_75 IN NUMBER
17182 --Invoice Distribution Summary Tax Line Identifier
17183 , p_source_76 IN NUMBER
17184 --Payables Upgrade Credit Encumbrance Type Identifier
17185 , p_source_77 IN NUMBER
17186 --Payables Upgrade Debit Encumbrance Type Identifier
17187 , p_source_78 IN NUMBER
17188 --Business Flow Accounts Payable Application Identifier
17189 , p_source_79 IN NUMBER
17190 --Business Flow Invoice Distribution Type
17191 , p_source_80 IN VARCHAR2
17192 --Business Flow Invoice Entity Code
17193 , p_source_81 IN VARCHAR2
17194 --Business Flow Invoice Distribution Identifier
17195 , p_source_82 IN NUMBER
17196 --Business Flow Invoice Identifier
17197 , p_source_83 IN NUMBER
17198 --Accrue on Receipt Option
17199 , p_source_84 IN VARCHAR2
17200 , p_source_84_meaning IN VARCHAR2
17201 --Amount for Variance Amount
17202 , p_source_85 IN NUMBER
17203 --Purchasing Encumbrance Option
17204 , p_source_86 IN VARCHAR2
17205 , p_source_86_meaning IN VARCHAR2
17206 --Invoice Encumbered Option
17207 , p_source_87 IN VARCHAR2
17208 , p_source_87_meaning IN VARCHAR2
17209 --Variance Amount in Ledger Currency
17210 , p_source_88 IN NUMBER
17211 )
17212 IS
17213
17214 l_component_type VARCHAR2(80);
17215 l_component_code VARCHAR2(30);
17216 l_component_type_code VARCHAR2(1);
17217 l_component_appl_id INTEGER;
17218 l_amb_context_code VARCHAR2(30);
17219 l_entity_code VARCHAR2(30);
17220 l_event_class_code VARCHAR2(30);
17221 l_ae_header_id NUMBER;
17222 l_event_type_code VARCHAR2(30);
17223 l_line_definition_code VARCHAR2(30);
17224 l_line_definition_owner_code VARCHAR2(1);
17225 --
17226 -- adr variables
17227 l_segment VARCHAR2(30);
17228 l_ccid NUMBER;
17229 l_adr_transaction_coa_id NUMBER;
17230 l_adr_accounting_coa_id NUMBER;
17231 l_adr_flexfield_segment_code VARCHAR2(30);
17232 l_adr_flex_value_set_id NUMBER;
17233 l_adr_value_type_code VARCHAR2(30);
17234 l_adr_value_combination_id NUMBER;
17238 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
17235 l_adr_value_segment_code VARCHAR2(30);
17236
17237 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
17239 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
17240 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
17241
17242 -- 4262811 Variables ------------------------------------------------------------------------------------------
17243 l_entered_amt_idx NUMBER;
17244 l_accted_amt_idx NUMBER;
17245 l_acc_rev_flag VARCHAR2(1);
17246 l_accrual_line_num NUMBER;
17247 l_tmp_amt NUMBER;
17248 l_acc_rev_natural_side_code VARCHAR2(1);
17249
17250 l_num_entries NUMBER;
17251 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
17252 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
17253 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
17254 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
17255 l_recog_line_1 NUMBER;
17256 l_recog_line_2 NUMBER;
17257
17258 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
17259 l_bflow_applied_to_amt NUMBER; -- 5132302
17260 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
17261
17262 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
17263
17264 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
17265 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
17266
17267 ---------------------------------------------------------------------------------------------------------------
17268
17269
17270 --
17271 -- bulk performance
17272 --
17273 l_balance_type_code VARCHAR2(1);
17274 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17275 l_log_module VARCHAR2(240);
17276
17277 --
17278 -- Upgrade strategy
17279 --
17280 l_actual_upg_option VARCHAR2(1);
17281 l_enc_upg_option VARCHAR2(1);
17282
17283 --
17284 BEGIN
17285 --
17286 IF g_log_enabled THEN
17287 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_59';
17288 END IF;
17289 --
17290 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17291
17292 trace
17293 (p_msg => 'BEGIN of AcctLineType_59'
17294 ,p_level => C_LEVEL_PROCEDURE
17295 ,p_module => l_log_module);
17296
17297 END IF;
17298 --
17299 l_component_type := 'AMB_JLT';
17300 l_component_code := 'AP_AMOUNT_VARIANCE_CM_ENC';
17301 l_component_type_code := 'S';
17302 l_component_appl_id := 200;
17303 l_amb_context_code := 'DEFAULT';
17304 l_entity_code := 'AP_INVOICES';
17305 l_event_class_code := 'CREDIT MEMOS';
17306 l_event_type_code := 'CREDIT MEMOS_ALL';
17307 l_line_definition_owner_code := 'S';
17308 l_line_definition_code := 'ENC_REV_CM_ALL';
17309 --
17310 l_balance_type_code := 'E';
17311 l_segment := NULL;
17312 l_ccid := NULL;
17313 l_adr_transaction_coa_id := NULL;
17314 l_adr_accounting_coa_id := NULL;
17315 l_adr_flexfield_segment_code := NULL;
17316 l_adr_flex_value_set_id := NULL;
17317 l_adr_value_type_code := NULL;
17318 l_adr_value_combination_id := NULL;
17319 l_adr_value_segment_code := NULL;
17320
17321 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
17322 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
17323 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
17324 l_budgetary_control_flag := 'N';
17325
17326 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17327 l_bflow_applied_to_amt := NULL; -- 5132302
17328 l_entered_amt_idx := NULL; -- 4262811
17329 l_accted_amt_idx := NULL; -- 4262811
17330 l_acc_rev_flag := NULL; -- 4262811
17331 l_accrual_line_num := NULL; -- 4262811
17332 l_tmp_amt := NULL; -- 4262811
17333 --
17334
17335 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
17336 l_balance_type_code <> 'B' THEN
17337 IF NVL(p_source_21,'
17338 ') = 'ITEM' AND
17339 NVL(p_source_84,'
17340 ') <> 'Y' AND
17341 p_source_85 IS NOT NULL AND
17342 NVL(p_source_86,'
17343 ') = 'Y' AND
17344 NVL(p_source_87,'
17345 ') = 'Y'
17346 THEN
17347
17348 --
17349 XLA_AE_LINES_PKG.SetNewLine;
17350
17351 p_balance_type_code := l_balance_type_code;
17352 -- set the flag so later we will know whether the gain loss line needs to be created
17353
17354 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
17355 p_actual_flag :='A';
17356 END IF;
17357
17358 --
17359 -- bulk performance
17360 --
17361 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17362 p_header_num => 0); -- 4262811
17363 --
17364 -- set accounting line options
17368 , p_gain_or_loss_flag => 'N'
17365 --
17366 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
17367 p_natural_side_code => 'C'
17369 , p_gl_transfer_mode_code => 'S'
17370 , p_acct_entry_type_code => 'E'
17371 , p_switch_side_flag => 'Y'
17372 , p_merge_duplicate_code => 'A'
17373 );
17374 --
17375 l_acc_rev_natural_side_code := 'D'; -- 4262811
17376 --
17377 --
17378 -- set accounting line type info
17379 --
17380 xla_ae_lines_pkg.SetAcctLineType
17381 (p_component_type => l_component_type
17382 ,p_event_type_code => l_event_type_code
17383 ,p_line_definition_owner_code => l_line_definition_owner_code
17384 ,p_line_definition_code => l_line_definition_code
17385 ,p_accounting_line_code => l_component_code
17386 ,p_accounting_line_type_code => l_component_type_code
17387 ,p_accounting_line_appl_id => l_component_appl_id
17388 ,p_amb_context_code => l_amb_context_code
17389 ,p_entity_code => l_entity_code
17390 ,p_event_class_code => l_event_class_code);
17391 --
17392 -- set accounting class
17393 --
17394 xla_ae_lines_pkg.SetAcctClass(
17395 p_accounting_class_code => 'AMT_VARIANCE'
17396 , p_ae_header_id => l_ae_header_id
17397 );
17398
17399 --
17400 -- set rounding class
17401 --
17402 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
17403 'AMT_VARIANCE';
17404
17405 --
17406 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
17407 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
17408 --
17409 -- bulk performance
17410 --
17411 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
17412
17413 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
17414 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
17415
17416 -- 4955764
17417 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17418 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
17419
17420 -- 4458381 Public Sector Enh
17421
17422 --
17423 -- set accounting attributes for the line type
17424 --
17425 l_entered_amt_idx := 23;
17426 l_accted_amt_idx := 25;
17427 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17428 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
17429 l_rec_acct_attrs.array_char_value(1) := p_source_41;
17430 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
17431 l_rec_acct_attrs.array_num_value(2) :=
17432 xla_ae_sources_pkg.GetSystemSourceNum(
17433 p_source_code => 'XLA_EVENT_APPL_ID'
17434 , p_source_type_code => 'Y'
17435 , p_source_application_id => 602
17436 );
17437 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
17438 l_rec_acct_attrs.array_char_value(3) := p_source_43;
17439 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
17440 l_rec_acct_attrs.array_char_value(4) :=
17441 xla_ae_sources_pkg.GetSystemSourceChar(
17442 p_source_code => 'XLA_ENTITY_CODE'
17443 , p_source_type_code => 'Y'
17444 , p_source_application_id => 602
17445 );
17446 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
17447 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
17448 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
17449 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
17450 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
17451 l_rec_acct_attrs.array_num_value(7) := p_source_79;
17452 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
17453 l_rec_acct_attrs.array_char_value(8) := p_source_80;
17454 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
17455 l_rec_acct_attrs.array_char_value(9) := p_source_81;
17456 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
17457 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
17458 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
17459 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
17460 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
17461 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
17462 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
17463 l_rec_acct_attrs.array_char_value(13) := p_source_43;
17464 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
17465 l_rec_acct_attrs.array_num_value(14) := p_source_53;
17466 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
17467 l_rec_acct_attrs.array_num_value(15) := p_source_54;
17468 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
17469 l_rec_acct_attrs.array_char_value(16) := p_source_55;
17470 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
17471 l_rec_acct_attrs.array_num_value(17) := p_source_56;
17475 l_rec_acct_attrs.array_num_value(19) := p_source_58;
17472 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
17473 l_rec_acct_attrs.array_num_value(18) := p_source_57;
17474 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
17476 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
17477 l_rec_acct_attrs.array_char_value(20) := p_source_55;
17478 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
17479 l_rec_acct_attrs.array_num_value(21) := p_source_59;
17480 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
17481 l_rec_acct_attrs.array_char_value(22) := p_source_60;
17482 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
17483 l_rec_acct_attrs.array_num_value(23) := p_source_85;
17484 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
17485 l_rec_acct_attrs.array_char_value(24) := p_source_55;
17486 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
17487 l_rec_acct_attrs.array_num_value(25) := p_source_88;
17488 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
17489 l_rec_acct_attrs.array_date_value(26) := p_source_65;
17490 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
17491 l_rec_acct_attrs.array_char_value(27) := p_source_66;
17492 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
17493 l_rec_acct_attrs.array_date_value(28) := p_source_67;
17494 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
17495 l_rec_acct_attrs.array_char_value(29) := p_source_68;
17496 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
17497 l_rec_acct_attrs.array_char_value(30) := p_source_71;
17498 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
17499 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
17500 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
17501 l_rec_acct_attrs.array_char_value(32) := p_source_43;
17502 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
17503 l_rec_acct_attrs.array_num_value(33) := p_source_73;
17504 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
17505 l_rec_acct_attrs.array_num_value(34) := p_source_74;
17506 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
17507 l_rec_acct_attrs.array_num_value(35) := p_source_75;
17508 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
17509 l_rec_acct_attrs.array_num_value(36) := p_source_76;
17510 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
17511 l_rec_acct_attrs.array_num_value(37) := p_source_77;
17512 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
17513 l_rec_acct_attrs.array_num_value(38) := p_source_78;
17514
17515 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
17516 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
17517
17518 ---------------------------------------------------------------------------------------------------------------
17519 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
17520 ---------------------------------------------------------------------------------------------------------------
17521 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
17522
17523 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17524 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
17525
17526 IF xla_accounting_cache_pkg.GetValueChar
17527 (p_source_code => 'LEDGER_CATEGORY_CODE'
17528 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
17529 AND l_bflow_method_code = 'PRIOR_ENTRY'
17530 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
17531 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
17532 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
17533 )
17534 THEN
17535 xla_ae_lines_pkg.BflowUpgEntry
17536 (p_business_method_code => l_bflow_method_code
17537 ,p_business_class_code => l_bflow_class_code
17538 ,p_balance_type => l_balance_type_code);
17539 ELSE
17540 NULL;
17541 XLA_AE_LINES_PKG.business_flow_validation(
17542 p_business_method_code => l_bflow_method_code
17543 ,p_business_class_code => l_bflow_class_code
17544 ,p_inherit_description_flag => l_inherit_desc_flag);
17545 END IF;
17546
17547 --
17548 -- call analytical criteria
17549 --
17550 -- Inherited Analytical Criteria for business flow method of Prior Entry.
17551 --
17552 -- call description
17553 --
17554 -- No description or it is inherited.
17555 --
17556 -- call ADRs
17557 -- Bug 4922099
17558 --
17559 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17560 (NVL(l_actual_upg_option, 'N') = 'O') OR
17561 (NVL(l_enc_upg_option, 'N') = 'O')
17562 )
17563 THEN
17564 NULL;
17565 --
17566 --
17567
17568 --
17569 --
17570 END IF;
17571 --
17572 -- Bug 4922099
17573 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
17574 (NVL(l_enc_upg_option, 'N') = 'O')
17578 THEN
17575 ) AND
17576 (l_bflow_method_code = 'PRIOR_ENTRY')
17577 )
17579 IF
17580 --
17581 1 = 1
17582 --
17583 THEN
17584 xla_accounting_err_pkg.build_message
17585 (p_appli_s_name => 'XLA'
17586 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17587 ,p_token_1 => 'LINE_NUMBER'
17588 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
17589 ,p_token_2 => 'LINE_TYPE_NAME'
17590 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
17591 l_component_type
17592 ,l_component_code
17593 ,l_component_type_code
17594 ,l_component_appl_id
17595 ,l_amb_context_code
17596 ,l_entity_code
17597 ,l_event_class_code
17598 )
17599 ,p_token_3 => 'OWNER'
17600 ,p_value_3 => xla_lookups_pkg.get_meaning(
17601 p_lookup_type => 'XLA_OWNER_TYPE'
17602 ,p_lookup_code => l_component_type_code
17603 )
17604 ,p_token_4 => 'PRODUCT_NAME'
17605 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
17606 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
17607 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
17608 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
17609 ,p_ae_header_id => NULL
17610 );
17611
17612 IF (C_LEVEL_ERROR>= g_log_level) THEN
17613 trace
17614 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
17615 ,p_level => C_LEVEL_ERROR
17616 ,p_module => l_log_module);
17617 END IF;
17618 END IF;
17619 END IF;
17620 --
17621 --
17622 ------------------------------------------------------------------------------------------------
17623 -- 4219869 Business Flow
17624 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
17625 -- Prior Entry. Currently, the following code is always generated.
17626 ------------------------------------------------------------------------------------------------
17627 -- No ValidateCurrentLine for business flow method of Prior Entry
17628
17629 ------------------------------------------------------------------------------------
17630 -- 4219869 Business Flow
17631 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
17632 ------------------------------------------------------------------------------------
17633 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17634
17635 ----------------------------------------------------------------------------------
17636 -- 4219869 Business Flow
17637 -- Update journal entry status -- Need to generate this within IF <condition>
17638 ----------------------------------------------------------------------------------
17639 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17640 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
17641 ,p_balance_type_code => l_balance_type_code
17642 );
17643
17644 -------------------------------------------------------------------------------------------
17645 -- 4262811 - Generate the Accrual Reversal lines
17646 -------------------------------------------------------------------------------------------
17647 BEGIN
17648 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
17649 (g_array_event(p_event_id).array_value_num('header_index'));
17650 IF l_acc_rev_flag IS NULL THEN
17651 l_acc_rev_flag := 'N';
17652 END IF;
17653 EXCEPTION
17654 WHEN OTHERS THEN
17655 l_acc_rev_flag := 'N';
17656 END;
17657 --
17658 IF (l_acc_rev_flag = 'Y') THEN
17659
17660 -- 4645092 ------------------------------------------------------------------------------
17661 -- To allow MPA report to determine if it should generate report process
17662 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
17663 ------------------------------------------------------------------------------------------
17664
17665 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
17666 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
17670 --
17667 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
17668 -- call ADRs
17669 -- Bug 4922099
17671 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
17672 (NVL(l_actual_upg_option, 'N') = 'O') OR
17673 (NVL(l_enc_upg_option, 'N') = 'O')
17674 )
17675 THEN
17676 NULL;
17677 --
17678 --
17679
17680 --
17681 --
17682 END IF;
17683
17684 --
17685 -- Update the line information that should be overwritten
17686 --
17687 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
17688 p_header_num => 1);
17689 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
17690
17691 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
17692
17693 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
17694 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
17695 END IF;
17696
17697 --
17698 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
17699 --
17700 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
17701 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
17702 ELSE
17703 ---------------------------------------------------------------------------------------------------
17704 -- 4262811a Switch Sign
17705 ---------------------------------------------------------------------------------------------------
17706 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
17707 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17708 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17709 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
17710 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17711 -- 5132302
17712 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
17713 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
17714
17715 END IF;
17716
17717 -- 4955764
17718 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
17719 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
17720
17721
17722 XLA_AE_LINES_PKG.ValidateCurrentLine;
17723 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
17724
17725 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
17726 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
17727 ,p_balance_type_code => l_balance_type_code);
17728
17729 END IF;
17730
17731 -----------------------------------------------------------------------------------------
17732 -- 4262811 Multiperiod Accounting
17733 -----------------------------------------------------------------------------------------
17734 -- No MPA option is assigned.
17735
17736
17737 END IF;
17738 END IF;
17739 --
17740
17741 --
17742 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17743 trace
17744 (p_msg => 'END of AcctLineType_59'
17745 ,p_level => C_LEVEL_PROCEDURE
17746 ,p_module => l_log_module);
17747 END IF;
17748 --
17749 EXCEPTION
17750 WHEN xla_exceptions_pkg.application_exception THEN
17751 RAISE;
17752 WHEN OTHERS THEN
17753 xla_exceptions_pkg.raise_message
17754 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_59');
17755 END AcctLineType_59;
17756 --
17757
17758 ---------------------------------------
17759 --
17760 -- PRIVATE FUNCTION
17761 -- AcctLineType_60
17762 --
17763 ---------------------------------------
17764 PROCEDURE AcctLineType_60 (
17765 p_application_id IN NUMBER
17766 ,p_event_id IN NUMBER
17767 ,p_calculate_acctd_flag IN VARCHAR2
17768 ,p_calculate_g_l_flag IN VARCHAR2
17769 ,p_actual_flag IN OUT VARCHAR2
17770 ,p_balance_type_code OUT VARCHAR2
17771 ,p_gain_or_loss_ref OUT VARCHAR2
17772
17773 --Invoice Distribution Type
17774 , p_source_21 IN VARCHAR2
17775 , p_source_21_meaning IN VARCHAR2
17776 --Accounting Reversal Indicator
17777 , p_source_41 IN VARCHAR2
17778 --Distribution Link Type
17779 , p_source_43 IN VARCHAR2
17780 --Allocation to Main Distribution Identifier
17781 , p_source_45 IN NUMBER
17782 --Invoice Identifier
17783 , p_source_46 IN NUMBER
17784 --Invoice Distribution Identifier
17785 , p_source_52 IN NUMBER
17786 --Payables Encumbrance Upgrade Credit Account
17787 , p_source_53 IN NUMBER
17788 --Payables Encumbrance Upgrade Credit Amount
17789 , p_source_54 IN NUMBER
17790 --Invoice Currency Code
17791 , p_source_55 IN VARCHAR2
17792 --Payables Encumbrance Upgrade Credit Base Amount
17796 --Payables Encumbrance Upgrade Debit Amount
17793 , p_source_56 IN NUMBER
17794 --Payables Encumbrance Upgrade Debit Account
17795 , p_source_57 IN NUMBER
17797 , p_source_58 IN NUMBER
17798 --Payables Encumbrance Upgrade Debit Base Amount
17799 , p_source_59 IN NUMBER
17800 --Payables Encumbrance Upgrade Option
17801 , p_source_60 IN VARCHAR2
17802 --Deferred Accounting End Date
17803 , p_source_65 IN DATE
17804 --Deferred Accounting Option
17805 , p_source_66 IN VARCHAR2
17806 --Deferred Accounting Start Date
17807 , p_source_67 IN DATE
17808 --Override Accounted Amount Indicator
17809 , p_source_68 IN VARCHAR2
17810 , p_source_68_meaning IN VARCHAR2
17811 --Third Party Type
17812 , p_source_71 IN VARCHAR2
17813 --Parent Reversal Identifier
17814 , p_source_72 IN NUMBER
17815 --Invoice Distribution Tax Line Identifier
17816 , p_source_74 IN NUMBER
17817 --Invoice Distribution Tax Distribution Identifier from Tax
17818 , p_source_75 IN NUMBER
17819 --Invoice Distribution Summary Tax Line Identifier
17820 , p_source_76 IN NUMBER
17821 --Payables Upgrade Credit Encumbrance Type Identifier
17822 , p_source_77 IN NUMBER
17823 --Payables Upgrade Debit Encumbrance Type Identifier
17824 , p_source_78 IN NUMBER
17825 --Business Flow Accounts Payable Application Identifier
17826 , p_source_79 IN NUMBER
17827 --Business Flow Invoice Distribution Type
17828 , p_source_80 IN VARCHAR2
17829 --Business Flow Invoice Entity Code
17830 , p_source_81 IN VARCHAR2
17831 --Business Flow Invoice Distribution Identifier
17832 , p_source_82 IN NUMBER
17833 --Business Flow Invoice Identifier
17834 , p_source_83 IN NUMBER
17835 --Accrue on Receipt Option
17836 , p_source_84 IN VARCHAR2
17837 , p_source_84_meaning IN VARCHAR2
17838 --Amount for Variance Amount
17839 , p_source_85 IN NUMBER
17840 --Purchasing Encumbrance Option
17841 , p_source_86 IN VARCHAR2
17842 , p_source_86_meaning IN VARCHAR2
17843 --Invoice Encumbered Option
17844 , p_source_87 IN VARCHAR2
17845 , p_source_87_meaning IN VARCHAR2
17846 --Variance Amount in Ledger Currency
17847 , p_source_88 IN NUMBER
17848 )
17849 IS
17850
17851 l_component_type VARCHAR2(80);
17852 l_component_code VARCHAR2(30);
17853 l_component_type_code VARCHAR2(1);
17854 l_component_appl_id INTEGER;
17855 l_amb_context_code VARCHAR2(30);
17856 l_entity_code VARCHAR2(30);
17857 l_event_class_code VARCHAR2(30);
17858 l_ae_header_id NUMBER;
17859 l_event_type_code VARCHAR2(30);
17860 l_line_definition_code VARCHAR2(30);
17861 l_line_definition_owner_code VARCHAR2(1);
17862 --
17863 -- adr variables
17864 l_segment VARCHAR2(30);
17865 l_ccid NUMBER;
17866 l_adr_transaction_coa_id NUMBER;
17867 l_adr_accounting_coa_id NUMBER;
17868 l_adr_flexfield_segment_code VARCHAR2(30);
17869 l_adr_flex_value_set_id NUMBER;
17870 l_adr_value_type_code VARCHAR2(30);
17871 l_adr_value_combination_id NUMBER;
17872 l_adr_value_segment_code VARCHAR2(30);
17873
17874 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
17875 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
17876 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
17877 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
17878
17879 -- 4262811 Variables ------------------------------------------------------------------------------------------
17880 l_entered_amt_idx NUMBER;
17881 l_accted_amt_idx NUMBER;
17882 l_acc_rev_flag VARCHAR2(1);
17883 l_accrual_line_num NUMBER;
17884 l_tmp_amt NUMBER;
17885 l_acc_rev_natural_side_code VARCHAR2(1);
17886
17887 l_num_entries NUMBER;
17888 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
17889 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
17890 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
17891 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
17892 l_recog_line_1 NUMBER;
17893 l_recog_line_2 NUMBER;
17894
17895 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
17896 l_bflow_applied_to_amt NUMBER; -- 5132302
17897 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
17898
17899 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
17900
17901 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
17902 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
17903
17904 ---------------------------------------------------------------------------------------------------------------
17905
17906
17907 --
17908 -- bulk performance
17909 --
17910 l_balance_type_code VARCHAR2(1);
17911 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
17912 l_log_module VARCHAR2(240);
17913
17914 --
17915 -- Upgrade strategy
17916 --
17920 --
17917 l_actual_upg_option VARCHAR2(1);
17918 l_enc_upg_option VARCHAR2(1);
17919
17921 BEGIN
17922 --
17923 IF g_log_enabled THEN
17924 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_60';
17925 END IF;
17926 --
17927 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
17928
17929 trace
17930 (p_msg => 'BEGIN of AcctLineType_60'
17931 ,p_level => C_LEVEL_PROCEDURE
17932 ,p_module => l_log_module);
17933
17934 END IF;
17935 --
17936 l_component_type := 'AMB_JLT';
17937 l_component_code := 'AP_AMOUNT_VARIANCE_DM_ENC';
17938 l_component_type_code := 'S';
17939 l_component_appl_id := 200;
17940 l_amb_context_code := 'DEFAULT';
17941 l_entity_code := 'AP_INVOICES';
17942 l_event_class_code := 'DEBIT MEMOS';
17943 l_event_type_code := 'DEBIT MEMOS_ALL';
17944 l_line_definition_owner_code := 'S';
17945 l_line_definition_code := 'ENC_REV_DM_ALL';
17946 --
17947 l_balance_type_code := 'E';
17948 l_segment := NULL;
17949 l_ccid := NULL;
17950 l_adr_transaction_coa_id := NULL;
17951 l_adr_accounting_coa_id := NULL;
17952 l_adr_flexfield_segment_code := NULL;
17953 l_adr_flex_value_set_id := NULL;
17954 l_adr_value_type_code := NULL;
17955 l_adr_value_combination_id := NULL;
17956 l_adr_value_segment_code := NULL;
17957
17958 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
17959 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
17960 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
17961 l_budgetary_control_flag := 'N';
17962
17963 l_bflow_applied_to_amt_idx := NULL; -- 5132302
17964 l_bflow_applied_to_amt := NULL; -- 5132302
17965 l_entered_amt_idx := NULL; -- 4262811
17966 l_accted_amt_idx := NULL; -- 4262811
17967 l_acc_rev_flag := NULL; -- 4262811
17968 l_accrual_line_num := NULL; -- 4262811
17969 l_tmp_amt := NULL; -- 4262811
17970 --
17971
17972 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
17973 l_balance_type_code <> 'B' THEN
17974 IF NVL(p_source_21,'
17975 ') = 'ITEM' AND
17976 p_source_85 IS NOT NULL AND
17977 NVL(p_source_84,'
17978 ') <> 'Y' AND
17979 NVL(p_source_86,'
17980 ') = 'Y' AND
17981 NVL(p_source_87,'
17982 ') = 'Y'
17983 THEN
17984
17985 --
17986 XLA_AE_LINES_PKG.SetNewLine;
17987
17988 p_balance_type_code := l_balance_type_code;
17989 -- set the flag so later we will know whether the gain loss line needs to be created
17990
17991 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
17992 p_actual_flag :='A';
17993 END IF;
17994
17995 --
17996 -- bulk performance
17997 --
17998 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
17999 p_header_num => 0); -- 4262811
18000 --
18001 -- set accounting line options
18002 --
18003 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18004 p_natural_side_code => 'C'
18005 , p_gain_or_loss_flag => 'N'
18006 , p_gl_transfer_mode_code => 'S'
18007 , p_acct_entry_type_code => 'E'
18008 , p_switch_side_flag => 'Y'
18009 , p_merge_duplicate_code => 'A'
18010 );
18011 --
18012 l_acc_rev_natural_side_code := 'D'; -- 4262811
18013 --
18014 --
18015 -- set accounting line type info
18016 --
18017 xla_ae_lines_pkg.SetAcctLineType
18018 (p_component_type => l_component_type
18019 ,p_event_type_code => l_event_type_code
18020 ,p_line_definition_owner_code => l_line_definition_owner_code
18021 ,p_line_definition_code => l_line_definition_code
18022 ,p_accounting_line_code => l_component_code
18023 ,p_accounting_line_type_code => l_component_type_code
18024 ,p_accounting_line_appl_id => l_component_appl_id
18025 ,p_amb_context_code => l_amb_context_code
18026 ,p_entity_code => l_entity_code
18027 ,p_event_class_code => l_event_class_code);
18028 --
18029 -- set accounting class
18030 --
18031 xla_ae_lines_pkg.SetAcctClass(
18032 p_accounting_class_code => 'AMT_VARIANCE'
18033 , p_ae_header_id => l_ae_header_id
18034 );
18035
18036 --
18037 -- set rounding class
18038 --
18039 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18040 'AMT_VARIANCE';
18041
18042 --
18043 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18044 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18045 --
18046 -- bulk performance
18047 --
18048 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18049
18050 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18054 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18051 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18052
18053 -- 4955764
18055 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18056
18057 -- 4458381 Public Sector Enh
18058
18059 --
18060 -- set accounting attributes for the line type
18061 --
18062 l_entered_amt_idx := 23;
18063 l_accted_amt_idx := 25;
18064 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18065 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
18066 l_rec_acct_attrs.array_char_value(1) := p_source_41;
18067 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
18068 l_rec_acct_attrs.array_num_value(2) :=
18069 xla_ae_sources_pkg.GetSystemSourceNum(
18070 p_source_code => 'XLA_EVENT_APPL_ID'
18071 , p_source_type_code => 'Y'
18072 , p_source_application_id => 602
18073 );
18074 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
18075 l_rec_acct_attrs.array_char_value(3) := p_source_43;
18076 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
18077 l_rec_acct_attrs.array_char_value(4) :=
18078 xla_ae_sources_pkg.GetSystemSourceChar(
18079 p_source_code => 'XLA_ENTITY_CODE'
18080 , p_source_type_code => 'Y'
18081 , p_source_application_id => 602
18082 );
18083 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
18084 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
18085 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
18086 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
18087 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
18088 l_rec_acct_attrs.array_num_value(7) := p_source_79;
18089 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
18090 l_rec_acct_attrs.array_char_value(8) := p_source_80;
18091 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
18092 l_rec_acct_attrs.array_char_value(9) := p_source_81;
18093 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
18094 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
18095 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
18096 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
18097 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
18098 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
18099 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
18100 l_rec_acct_attrs.array_char_value(13) := p_source_43;
18101 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
18102 l_rec_acct_attrs.array_num_value(14) := p_source_53;
18103 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
18104 l_rec_acct_attrs.array_num_value(15) := p_source_54;
18105 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
18106 l_rec_acct_attrs.array_char_value(16) := p_source_55;
18107 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
18108 l_rec_acct_attrs.array_num_value(17) := p_source_56;
18109 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
18110 l_rec_acct_attrs.array_num_value(18) := p_source_57;
18111 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
18112 l_rec_acct_attrs.array_num_value(19) := p_source_58;
18113 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
18114 l_rec_acct_attrs.array_char_value(20) := p_source_55;
18115 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
18116 l_rec_acct_attrs.array_num_value(21) := p_source_59;
18117 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
18118 l_rec_acct_attrs.array_char_value(22) := p_source_60;
18119 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
18120 l_rec_acct_attrs.array_num_value(23) := p_source_85;
18121 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
18122 l_rec_acct_attrs.array_char_value(24) := p_source_55;
18123 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
18124 l_rec_acct_attrs.array_num_value(25) := p_source_88;
18125 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
18126 l_rec_acct_attrs.array_date_value(26) := p_source_65;
18127 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
18128 l_rec_acct_attrs.array_char_value(27) := p_source_66;
18129 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
18130 l_rec_acct_attrs.array_date_value(28) := p_source_67;
18131 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
18132 l_rec_acct_attrs.array_char_value(29) := p_source_68;
18133 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
18134 l_rec_acct_attrs.array_char_value(30) := p_source_71;
18135 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
18136 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
18137 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
18138 l_rec_acct_attrs.array_char_value(32) := p_source_43;
18139 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
18140 l_rec_acct_attrs.array_num_value(33) := p_source_74;
18141 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
18145 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
18142 l_rec_acct_attrs.array_num_value(34) := p_source_75;
18143 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
18144 l_rec_acct_attrs.array_num_value(35) := p_source_76;
18146 l_rec_acct_attrs.array_num_value(36) := p_source_77;
18147 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
18148 l_rec_acct_attrs.array_num_value(37) := p_source_78;
18149
18150 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18151 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18152
18153 ---------------------------------------------------------------------------------------------------------------
18154 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18155 ---------------------------------------------------------------------------------------------------------------
18156 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18157
18158 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18159 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18160
18161 IF xla_accounting_cache_pkg.GetValueChar
18162 (p_source_code => 'LEDGER_CATEGORY_CODE'
18163 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18164 AND l_bflow_method_code = 'PRIOR_ENTRY'
18165 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18166 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18167 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18168 )
18169 THEN
18170 xla_ae_lines_pkg.BflowUpgEntry
18171 (p_business_method_code => l_bflow_method_code
18172 ,p_business_class_code => l_bflow_class_code
18173 ,p_balance_type => l_balance_type_code);
18174 ELSE
18175 NULL;
18176 XLA_AE_LINES_PKG.business_flow_validation(
18177 p_business_method_code => l_bflow_method_code
18178 ,p_business_class_code => l_bflow_class_code
18179 ,p_inherit_description_flag => l_inherit_desc_flag);
18180 END IF;
18181
18182 --
18183 -- call analytical criteria
18184 --
18185 -- Inherited Analytical Criteria for business flow method of Prior Entry.
18186 --
18187 -- call description
18188 --
18189 -- No description or it is inherited.
18190 --
18191 -- call ADRs
18192 -- Bug 4922099
18193 --
18194 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18195 (NVL(l_actual_upg_option, 'N') = 'O') OR
18196 (NVL(l_enc_upg_option, 'N') = 'O')
18197 )
18198 THEN
18199 NULL;
18200 --
18201 --
18202
18203 --
18204 --
18205 END IF;
18206 --
18207 -- Bug 4922099
18208 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
18209 (NVL(l_enc_upg_option, 'N') = 'O')
18210 ) AND
18211 (l_bflow_method_code = 'PRIOR_ENTRY')
18212 )
18213 THEN
18214 IF
18215 --
18216 1 = 1
18217 --
18218 THEN
18219 xla_accounting_err_pkg.build_message
18220 (p_appli_s_name => 'XLA'
18221 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18222 ,p_token_1 => 'LINE_NUMBER'
18223 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18224 ,p_token_2 => 'LINE_TYPE_NAME'
18225 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18226 l_component_type
18227 ,l_component_code
18228 ,l_component_type_code
18229 ,l_component_appl_id
18230 ,l_amb_context_code
18231 ,l_entity_code
18232 ,l_event_class_code
18233 )
18234 ,p_token_3 => 'OWNER'
18235 ,p_value_3 => xla_lookups_pkg.get_meaning(
18236 p_lookup_type => 'XLA_OWNER_TYPE'
18237 ,p_lookup_code => l_component_type_code
18238 )
18239 ,p_token_4 => 'PRODUCT_NAME'
18240 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18241 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18245 );
18242 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18243 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18244 ,p_ae_header_id => NULL
18246
18247 IF (C_LEVEL_ERROR>= g_log_level) THEN
18248 trace
18249 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18250 ,p_level => C_LEVEL_ERROR
18251 ,p_module => l_log_module);
18252 END IF;
18253 END IF;
18254 END IF;
18255 --
18256 --
18257 ------------------------------------------------------------------------------------------------
18258 -- 4219869 Business Flow
18259 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18260 -- Prior Entry. Currently, the following code is always generated.
18261 ------------------------------------------------------------------------------------------------
18262 -- No ValidateCurrentLine for business flow method of Prior Entry
18263
18264 ------------------------------------------------------------------------------------
18265 -- 4219869 Business Flow
18266 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18267 ------------------------------------------------------------------------------------
18268 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18269
18270 ----------------------------------------------------------------------------------
18271 -- 4219869 Business Flow
18272 -- Update journal entry status -- Need to generate this within IF <condition>
18273 ----------------------------------------------------------------------------------
18274 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18275 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18276 ,p_balance_type_code => l_balance_type_code
18277 );
18278
18279 -------------------------------------------------------------------------------------------
18280 -- 4262811 - Generate the Accrual Reversal lines
18281 -------------------------------------------------------------------------------------------
18282 BEGIN
18283 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18284 (g_array_event(p_event_id).array_value_num('header_index'));
18285 IF l_acc_rev_flag IS NULL THEN
18286 l_acc_rev_flag := 'N';
18287 END IF;
18288 EXCEPTION
18289 WHEN OTHERS THEN
18290 l_acc_rev_flag := 'N';
18291 END;
18292 --
18293 IF (l_acc_rev_flag = 'Y') THEN
18294
18295 -- 4645092 ------------------------------------------------------------------------------
18296 -- To allow MPA report to determine if it should generate report process
18297 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18298 ------------------------------------------------------------------------------------------
18299
18300 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18301 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18302 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18303 -- call ADRs
18304 -- Bug 4922099
18305 --
18306 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18307 (NVL(l_actual_upg_option, 'N') = 'O') OR
18308 (NVL(l_enc_upg_option, 'N') = 'O')
18309 )
18310 THEN
18311 NULL;
18312 --
18313 --
18314
18315 --
18316 --
18317 END IF;
18318
18319 --
18320 -- Update the line information that should be overwritten
18321 --
18322 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18323 p_header_num => 1);
18324 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18325
18326 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18327
18328 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18329 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18330 END IF;
18331
18332 --
18333 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18334 --
18335 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18336 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18337 ELSE
18338 ---------------------------------------------------------------------------------------------------
18339 -- 4262811a Switch Sign
18340 ---------------------------------------------------------------------------------------------------
18341 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18342 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18343 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18344 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18348 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18345 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18346 -- 5132302
18347 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18349
18350 END IF;
18351
18352 -- 4955764
18353 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18354 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18355
18356
18357 XLA_AE_LINES_PKG.ValidateCurrentLine;
18358 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18359
18360 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18361 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
18362 ,p_balance_type_code => l_balance_type_code);
18363
18364 END IF;
18365
18366 -----------------------------------------------------------------------------------------
18367 -- 4262811 Multiperiod Accounting
18368 -----------------------------------------------------------------------------------------
18369 -- No MPA option is assigned.
18370
18371
18372 END IF;
18373 END IF;
18374 --
18375
18376 --
18377 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18378 trace
18379 (p_msg => 'END of AcctLineType_60'
18380 ,p_level => C_LEVEL_PROCEDURE
18381 ,p_module => l_log_module);
18382 END IF;
18383 --
18384 EXCEPTION
18385 WHEN xla_exceptions_pkg.application_exception THEN
18386 RAISE;
18387 WHEN OTHERS THEN
18388 xla_exceptions_pkg.raise_message
18389 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_60');
18390 END AcctLineType_60;
18391 --
18392
18393 ---------------------------------------
18394 --
18395 -- PRIVATE FUNCTION
18396 -- AcctLineType_61
18397 --
18398 ---------------------------------------
18399 PROCEDURE AcctLineType_61 (
18400 p_application_id IN NUMBER
18401 ,p_event_id IN NUMBER
18402 ,p_calculate_acctd_flag IN VARCHAR2
18403 ,p_calculate_g_l_flag IN VARCHAR2
18404 ,p_actual_flag IN OUT VARCHAR2
18405 ,p_balance_type_code OUT VARCHAR2
18406 ,p_gain_or_loss_ref OUT VARCHAR2
18407
18408 --Invoice Distribution Type
18409 , p_source_21 IN VARCHAR2
18410 , p_source_21_meaning IN VARCHAR2
18411 --Accounting Reversal Indicator
18412 , p_source_41 IN VARCHAR2
18413 --Distribution Link Type
18414 , p_source_43 IN VARCHAR2
18415 --Allocation to Main Distribution Identifier
18416 , p_source_45 IN NUMBER
18417 --Invoice Identifier
18418 , p_source_46 IN NUMBER
18419 --Invoice Distribution Identifier
18420 , p_source_52 IN NUMBER
18421 --Payables Encumbrance Upgrade Credit Account
18422 , p_source_53 IN NUMBER
18423 --Payables Encumbrance Upgrade Credit Amount
18424 , p_source_54 IN NUMBER
18425 --Invoice Currency Code
18426 , p_source_55 IN VARCHAR2
18427 --Payables Encumbrance Upgrade Credit Base Amount
18428 , p_source_56 IN NUMBER
18429 --Payables Encumbrance Upgrade Debit Account
18430 , p_source_57 IN NUMBER
18431 --Payables Encumbrance Upgrade Debit Amount
18432 , p_source_58 IN NUMBER
18433 --Payables Encumbrance Upgrade Debit Base Amount
18434 , p_source_59 IN NUMBER
18435 --Payables Encumbrance Upgrade Option
18436 , p_source_60 IN VARCHAR2
18437 --Invoice Distribution Amount
18438 , p_source_61 IN NUMBER
18439 --Deferred Accounting End Date
18440 , p_source_65 IN DATE
18441 --Deferred Accounting Option
18442 , p_source_66 IN VARCHAR2
18443 --Deferred Accounting Start Date
18444 , p_source_67 IN DATE
18445 --Override Accounted Amount Indicator
18446 , p_source_68 IN VARCHAR2
18447 , p_source_68_meaning IN VARCHAR2
18448 --Third Party Type
18449 , p_source_71 IN VARCHAR2
18450 --Parent Reversal Identifier
18451 , p_source_72 IN NUMBER
18452 --Invoice Distribution Statistical Amount
18453 , p_source_73 IN NUMBER
18454 --Invoice Distribution Tax Line Identifier
18455 , p_source_74 IN NUMBER
18456 --Invoice Distribution Tax Distribution Identifier from Tax
18457 , p_source_75 IN NUMBER
18458 --Invoice Distribution Summary Tax Line Identifier
18459 , p_source_76 IN NUMBER
18460 --Payables Upgrade Credit Encumbrance Type Identifier
18461 , p_source_77 IN NUMBER
18462 --Payables Upgrade Debit Encumbrance Type Identifier
18463 , p_source_78 IN NUMBER
18464 --Business Flow Accounts Payable Application Identifier
18465 , p_source_79 IN NUMBER
18466 --Business Flow Invoice Distribution Type
18467 , p_source_80 IN VARCHAR2
18468 --Business Flow Invoice Entity Code
18469 , p_source_81 IN VARCHAR2
18470 --Business Flow Invoice Distribution Identifier
18471 , p_source_82 IN NUMBER
18472 --Business Flow Invoice Identifier
18473 , p_source_83 IN NUMBER
18474 --Accrue on Receipt Option
18475 , p_source_84 IN VARCHAR2
18476 , p_source_84_meaning IN VARCHAR2
18477 --Amount for Variance Amount
18481 , p_source_86_meaning IN VARCHAR2
18478 , p_source_85 IN NUMBER
18479 --Purchasing Encumbrance Option
18480 , p_source_86 IN VARCHAR2
18482 --Invoice Encumbered Option
18483 , p_source_87 IN VARCHAR2
18484 , p_source_87_meaning IN VARCHAR2
18485 --Variance Amount in Ledger Currency
18486 , p_source_88 IN NUMBER
18487 )
18488 IS
18489
18490 l_component_type VARCHAR2(80);
18491 l_component_code VARCHAR2(30);
18492 l_component_type_code VARCHAR2(1);
18493 l_component_appl_id INTEGER;
18494 l_amb_context_code VARCHAR2(30);
18495 l_entity_code VARCHAR2(30);
18496 l_event_class_code VARCHAR2(30);
18497 l_ae_header_id NUMBER;
18498 l_event_type_code VARCHAR2(30);
18499 l_line_definition_code VARCHAR2(30);
18500 l_line_definition_owner_code VARCHAR2(1);
18501 --
18502 -- adr variables
18503 l_segment VARCHAR2(30);
18504 l_ccid NUMBER;
18505 l_adr_transaction_coa_id NUMBER;
18506 l_adr_accounting_coa_id NUMBER;
18507 l_adr_flexfield_segment_code VARCHAR2(30);
18508 l_adr_flex_value_set_id NUMBER;
18509 l_adr_value_type_code VARCHAR2(30);
18510 l_adr_value_combination_id NUMBER;
18511 l_adr_value_segment_code VARCHAR2(30);
18512
18513 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
18514 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
18515 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
18516 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
18517
18518 -- 4262811 Variables ------------------------------------------------------------------------------------------
18519 l_entered_amt_idx NUMBER;
18520 l_accted_amt_idx NUMBER;
18521 l_acc_rev_flag VARCHAR2(1);
18522 l_accrual_line_num NUMBER;
18523 l_tmp_amt NUMBER;
18524 l_acc_rev_natural_side_code VARCHAR2(1);
18525
18526 l_num_entries NUMBER;
18527 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
18528 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
18529 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
18530 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
18531 l_recog_line_1 NUMBER;
18532 l_recog_line_2 NUMBER;
18533
18534 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
18535 l_bflow_applied_to_amt NUMBER; -- 5132302
18536 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
18537
18538 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
18539
18540 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
18541 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
18542
18543 ---------------------------------------------------------------------------------------------------------------
18544
18545
18546 --
18547 -- bulk performance
18548 --
18549 l_balance_type_code VARCHAR2(1);
18550 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
18551 l_log_module VARCHAR2(240);
18552
18553 --
18554 -- Upgrade strategy
18555 --
18556 l_actual_upg_option VARCHAR2(1);
18557 l_enc_upg_option VARCHAR2(1);
18558
18559 --
18560 BEGIN
18561 --
18562 IF g_log_enabled THEN
18563 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_61';
18564 END IF;
18565 --
18566 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
18567
18568 trace
18569 (p_msg => 'BEGIN of AcctLineType_61'
18570 ,p_level => C_LEVEL_PROCEDURE
18571 ,p_module => l_log_module);
18572
18573 END IF;
18574 --
18575 l_component_type := 'AMB_JLT';
18576 l_component_code := 'AP_AMOUNT_VARIANCE_INV_ENC';
18577 l_component_type_code := 'S';
18578 l_component_appl_id := 200;
18579 l_amb_context_code := 'DEFAULT';
18580 l_entity_code := 'AP_INVOICES';
18581 l_event_class_code := 'INVOICES';
18582 l_event_type_code := 'INVOICES_ALL';
18583 l_line_definition_owner_code := 'S';
18584 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
18585 --
18586 l_balance_type_code := 'E';
18587 l_segment := NULL;
18588 l_ccid := NULL;
18589 l_adr_transaction_coa_id := NULL;
18590 l_adr_accounting_coa_id := NULL;
18591 l_adr_flexfield_segment_code := NULL;
18592 l_adr_flex_value_set_id := NULL;
18593 l_adr_value_type_code := NULL;
18594 l_adr_value_combination_id := NULL;
18595 l_adr_value_segment_code := NULL;
18596
18597 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
18598 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
18599 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
18600 l_budgetary_control_flag := 'N';
18601
18602 l_bflow_applied_to_amt_idx := NULL; -- 5132302
18603 l_bflow_applied_to_amt := NULL; -- 5132302
18604 l_entered_amt_idx := NULL; -- 4262811
18608 l_tmp_amt := NULL; -- 4262811
18605 l_accted_amt_idx := NULL; -- 4262811
18606 l_acc_rev_flag := NULL; -- 4262811
18607 l_accrual_line_num := NULL; -- 4262811
18609 --
18610
18611 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
18612 l_balance_type_code <> 'B' THEN
18613 IF NVL(p_source_21,'
18614 ') = 'ITEM' AND
18615 p_source_85 IS NOT NULL AND
18616 NVL(p_source_86,'
18617 ') = 'Y' AND
18618 NVL(p_source_84,'
18619 ') <> 'Y' AND
18620 NVL(p_source_87,'
18621 ') = 'Y'
18622 THEN
18623
18624 --
18625 XLA_AE_LINES_PKG.SetNewLine;
18626
18627 p_balance_type_code := l_balance_type_code;
18628 -- set the flag so later we will know whether the gain loss line needs to be created
18629
18630 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
18631 p_actual_flag :='A';
18632 END IF;
18633
18634 --
18635 -- bulk performance
18636 --
18637 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
18638 p_header_num => 0); -- 4262811
18639 --
18640 -- set accounting line options
18641 --
18642 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
18643 p_natural_side_code => 'C'
18644 , p_gain_or_loss_flag => 'N'
18645 , p_gl_transfer_mode_code => 'S'
18646 , p_acct_entry_type_code => 'E'
18647 , p_switch_side_flag => 'Y'
18648 , p_merge_duplicate_code => 'A'
18649 );
18650 --
18651 l_acc_rev_natural_side_code := 'D'; -- 4262811
18652 --
18653 --
18654 -- set accounting line type info
18655 --
18656 xla_ae_lines_pkg.SetAcctLineType
18657 (p_component_type => l_component_type
18658 ,p_event_type_code => l_event_type_code
18659 ,p_line_definition_owner_code => l_line_definition_owner_code
18660 ,p_line_definition_code => l_line_definition_code
18661 ,p_accounting_line_code => l_component_code
18662 ,p_accounting_line_type_code => l_component_type_code
18663 ,p_accounting_line_appl_id => l_component_appl_id
18664 ,p_amb_context_code => l_amb_context_code
18665 ,p_entity_code => l_entity_code
18666 ,p_event_class_code => l_event_class_code);
18667 --
18668 -- set accounting class
18669 --
18670 xla_ae_lines_pkg.SetAcctClass(
18671 p_accounting_class_code => 'AMT_VARIANCE'
18672 , p_ae_header_id => l_ae_header_id
18673 );
18674
18675 --
18676 -- set rounding class
18677 --
18678 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
18679 'AMT_VARIANCE';
18680
18681 --
18682 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
18683 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
18684 --
18685 -- bulk performance
18686 --
18687 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
18688
18689 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
18690 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
18691
18692 -- 4955764
18693 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18694 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
18695
18696 -- 4458381 Public Sector Enh
18697
18698 --
18699 -- set accounting attributes for the line type
18700 --
18701 l_entered_amt_idx := 24;
18702 l_accted_amt_idx := 26;
18703 l_bflow_applied_to_amt_idx := 7; -- 5132302
18704 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
18705 l_rec_acct_attrs.array_char_value(1) := p_source_41;
18706 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
18707 l_rec_acct_attrs.array_num_value(2) :=
18708 xla_ae_sources_pkg.GetSystemSourceNum(
18709 p_source_code => 'XLA_EVENT_APPL_ID'
18710 , p_source_type_code => 'Y'
18711 , p_source_application_id => 602
18712 );
18713 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
18714 l_rec_acct_attrs.array_char_value(3) := p_source_43;
18715 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
18716 l_rec_acct_attrs.array_char_value(4) :=
18717 xla_ae_sources_pkg.GetSystemSourceChar(
18718 p_source_code => 'XLA_ENTITY_CODE'
18719 , p_source_type_code => 'Y'
18720 , p_source_application_id => 602
18721 );
18722 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
18723 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
18724 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
18725 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
18726 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
18727 l_rec_acct_attrs.array_num_value(7) := p_source_61;
18728 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
18732 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
18729 l_rec_acct_attrs.array_num_value(8) := p_source_79;
18730 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
18731 l_rec_acct_attrs.array_char_value(9) := p_source_80;
18733 l_rec_acct_attrs.array_char_value(10) := p_source_81;
18734 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
18735 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
18736 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
18737 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
18738 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
18739 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
18740 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
18741 l_rec_acct_attrs.array_char_value(14) := p_source_43;
18742 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
18743 l_rec_acct_attrs.array_num_value(15) := p_source_53;
18744 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
18745 l_rec_acct_attrs.array_num_value(16) := p_source_54;
18746 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
18747 l_rec_acct_attrs.array_char_value(17) := p_source_55;
18748 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
18749 l_rec_acct_attrs.array_num_value(18) := p_source_56;
18750 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
18751 l_rec_acct_attrs.array_num_value(19) := p_source_57;
18752 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
18753 l_rec_acct_attrs.array_num_value(20) := p_source_58;
18754 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
18755 l_rec_acct_attrs.array_char_value(21) := p_source_55;
18756 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
18757 l_rec_acct_attrs.array_num_value(22) := p_source_59;
18758 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
18759 l_rec_acct_attrs.array_char_value(23) := p_source_60;
18760 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
18761 l_rec_acct_attrs.array_num_value(24) := p_source_85;
18762 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
18763 l_rec_acct_attrs.array_char_value(25) := p_source_55;
18764 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
18765 l_rec_acct_attrs.array_num_value(26) := p_source_88;
18766 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
18767 l_rec_acct_attrs.array_date_value(27) := p_source_65;
18768 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
18769 l_rec_acct_attrs.array_char_value(28) := p_source_66;
18770 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
18771 l_rec_acct_attrs.array_date_value(29) := p_source_67;
18772 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
18773 l_rec_acct_attrs.array_char_value(30) := p_source_68;
18774 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
18775 l_rec_acct_attrs.array_char_value(31) := p_source_71;
18776 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
18777 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
18778 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
18779 l_rec_acct_attrs.array_char_value(33) := p_source_43;
18780 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
18781 l_rec_acct_attrs.array_num_value(34) := p_source_73;
18782 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
18783 l_rec_acct_attrs.array_num_value(35) := p_source_74;
18784 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
18785 l_rec_acct_attrs.array_num_value(36) := p_source_75;
18786 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
18787 l_rec_acct_attrs.array_num_value(37) := p_source_76;
18788 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
18789 l_rec_acct_attrs.array_num_value(38) := p_source_77;
18790 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
18791 l_rec_acct_attrs.array_num_value(39) := p_source_78;
18792
18793 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
18794 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
18795
18796 ---------------------------------------------------------------------------------------------------------------
18797 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
18798 ---------------------------------------------------------------------------------------------------------------
18799 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
18800
18801 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18802 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
18803
18804 IF xla_accounting_cache_pkg.GetValueChar
18805 (p_source_code => 'LEDGER_CATEGORY_CODE'
18806 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
18807 AND l_bflow_method_code = 'PRIOR_ENTRY'
18808 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
18809 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
18810 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
18814 (p_business_method_code => l_bflow_method_code
18811 )
18812 THEN
18813 xla_ae_lines_pkg.BflowUpgEntry
18815 ,p_business_class_code => l_bflow_class_code
18816 ,p_balance_type => l_balance_type_code);
18817 ELSE
18818 NULL;
18819 XLA_AE_LINES_PKG.business_flow_validation(
18820 p_business_method_code => l_bflow_method_code
18821 ,p_business_class_code => l_bflow_class_code
18822 ,p_inherit_description_flag => l_inherit_desc_flag);
18823 END IF;
18824
18825 --
18826 -- call analytical criteria
18827 --
18828 -- Inherited Analytical Criteria for business flow method of Prior Entry.
18829 --
18830 -- call description
18831 --
18832 -- No description or it is inherited.
18833 --
18834 -- call ADRs
18835 -- Bug 4922099
18836 --
18837 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18838 (NVL(l_actual_upg_option, 'N') = 'O') OR
18839 (NVL(l_enc_upg_option, 'N') = 'O')
18840 )
18841 THEN
18842 NULL;
18843 --
18844 --
18845
18846 --
18847 --
18848 END IF;
18849 --
18850 -- Bug 4922099
18851 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
18852 (NVL(l_enc_upg_option, 'N') = 'O')
18853 ) AND
18854 (l_bflow_method_code = 'PRIOR_ENTRY')
18855 )
18856 THEN
18857 IF
18858 --
18859 1 = 1
18860 --
18861 THEN
18862 xla_accounting_err_pkg.build_message
18863 (p_appli_s_name => 'XLA'
18864 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18865 ,p_token_1 => 'LINE_NUMBER'
18866 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
18867 ,p_token_2 => 'LINE_TYPE_NAME'
18868 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
18869 l_component_type
18870 ,l_component_code
18871 ,l_component_type_code
18872 ,l_component_appl_id
18873 ,l_amb_context_code
18874 ,l_entity_code
18875 ,l_event_class_code
18876 )
18877 ,p_token_3 => 'OWNER'
18878 ,p_value_3 => xla_lookups_pkg.get_meaning(
18879 p_lookup_type => 'XLA_OWNER_TYPE'
18880 ,p_lookup_code => l_component_type_code
18881 )
18882 ,p_token_4 => 'PRODUCT_NAME'
18883 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
18884 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
18885 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
18886 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
18887 ,p_ae_header_id => NULL
18888 );
18889
18890 IF (C_LEVEL_ERROR>= g_log_level) THEN
18891 trace
18892 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
18893 ,p_level => C_LEVEL_ERROR
18894 ,p_module => l_log_module);
18895 END IF;
18896 END IF;
18897 END IF;
18898 --
18899 --
18900 ------------------------------------------------------------------------------------------------
18901 -- 4219869 Business Flow
18902 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
18903 -- Prior Entry. Currently, the following code is always generated.
18904 ------------------------------------------------------------------------------------------------
18905 -- No ValidateCurrentLine for business flow method of Prior Entry
18906
18907 ------------------------------------------------------------------------------------
18908 -- 4219869 Business Flow
18909 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
18910 ------------------------------------------------------------------------------------
18911 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
18912
18913 ----------------------------------------------------------------------------------
18914 -- 4219869 Business Flow
18915 -- Update journal entry status -- Need to generate this within IF <condition>
18919 ,p_balance_type_code => l_balance_type_code
18916 ----------------------------------------------------------------------------------
18917 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
18918 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
18920 );
18921
18922 -------------------------------------------------------------------------------------------
18923 -- 4262811 - Generate the Accrual Reversal lines
18924 -------------------------------------------------------------------------------------------
18925 BEGIN
18926 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
18927 (g_array_event(p_event_id).array_value_num('header_index'));
18928 IF l_acc_rev_flag IS NULL THEN
18929 l_acc_rev_flag := 'N';
18930 END IF;
18931 EXCEPTION
18932 WHEN OTHERS THEN
18933 l_acc_rev_flag := 'N';
18934 END;
18935 --
18936 IF (l_acc_rev_flag = 'Y') THEN
18937
18938 -- 4645092 ------------------------------------------------------------------------------
18939 -- To allow MPA report to determine if it should generate report process
18940 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
18941 ------------------------------------------------------------------------------------------
18942
18943 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
18944 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
18945 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
18946 -- call ADRs
18947 -- Bug 4922099
18948 --
18949 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
18950 (NVL(l_actual_upg_option, 'N') = 'O') OR
18951 (NVL(l_enc_upg_option, 'N') = 'O')
18952 )
18953 THEN
18954 NULL;
18955 --
18956 --
18957
18958 --
18959 --
18960 END IF;
18961
18962 --
18963 -- Update the line information that should be overwritten
18964 --
18965 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
18966 p_header_num => 1);
18967 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
18968
18969 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
18970
18971 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
18972 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
18973 END IF;
18974
18975 --
18976 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
18977 --
18978 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
18979 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
18980 ELSE
18981 ---------------------------------------------------------------------------------------------------
18982 -- 4262811a Switch Sign
18983 ---------------------------------------------------------------------------------------------------
18984 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
18985 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18986 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18987 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
18988 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18989 -- 5132302
18990 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
18991 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
18992
18993 END IF;
18994
18995 -- 4955764
18996 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
18997 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
18998
18999
19000 XLA_AE_LINES_PKG.ValidateCurrentLine;
19001 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19002
19003 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19004 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19005 ,p_balance_type_code => l_balance_type_code);
19006
19007 END IF;
19008
19009 -----------------------------------------------------------------------------------------
19010 -- 4262811 Multiperiod Accounting
19011 -----------------------------------------------------------------------------------------
19012 -- No MPA option is assigned.
19013
19014
19015 END IF;
19016 END IF;
19017 --
19018
19019 --
19020 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19021 trace
19022 (p_msg => 'END of AcctLineType_61'
19023 ,p_level => C_LEVEL_PROCEDURE
19024 ,p_module => l_log_module);
19025 END IF;
19026 --
19027 EXCEPTION
19028 WHEN xla_exceptions_pkg.application_exception THEN
19029 RAISE;
19030 WHEN OTHERS THEN
19034 --
19031 xla_exceptions_pkg.raise_message
19032 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_61');
19033 END AcctLineType_61;
19035
19036 ---------------------------------------
19037 --
19038 -- PRIVATE FUNCTION
19039 -- AcctLineType_62
19040 --
19041 ---------------------------------------
19042 PROCEDURE AcctLineType_62 (
19043 p_application_id IN NUMBER
19044 ,p_event_id IN NUMBER
19045 ,p_calculate_acctd_flag IN VARCHAR2
19046 ,p_calculate_g_l_flag IN VARCHAR2
19047 ,p_actual_flag IN OUT VARCHAR2
19048 ,p_balance_type_code OUT VARCHAR2
19049 ,p_gain_or_loss_ref OUT VARCHAR2
19050
19051 --Invoice Distribution Type
19052 , p_source_21 IN VARCHAR2
19053 , p_source_21_meaning IN VARCHAR2
19054 --Accounting Reversal Indicator
19055 , p_source_41 IN VARCHAR2
19056 --Distribution Link Type
19057 , p_source_43 IN VARCHAR2
19058 --Allocation to Main Distribution Identifier
19059 , p_source_45 IN NUMBER
19060 --Invoice Identifier
19061 , p_source_46 IN NUMBER
19062 --Invoice Distribution Identifier
19063 , p_source_52 IN NUMBER
19064 --Payables Encumbrance Upgrade Credit Account
19065 , p_source_53 IN NUMBER
19066 --Payables Encumbrance Upgrade Credit Amount
19067 , p_source_54 IN NUMBER
19068 --Invoice Currency Code
19069 , p_source_55 IN VARCHAR2
19070 --Payables Encumbrance Upgrade Credit Base Amount
19071 , p_source_56 IN NUMBER
19072 --Payables Encumbrance Upgrade Debit Account
19073 , p_source_57 IN NUMBER
19074 --Payables Encumbrance Upgrade Debit Amount
19075 , p_source_58 IN NUMBER
19076 --Payables Encumbrance Upgrade Debit Base Amount
19077 , p_source_59 IN NUMBER
19078 --Payables Encumbrance Upgrade Option
19079 , p_source_60 IN VARCHAR2
19080 --Deferred Accounting End Date
19081 , p_source_65 IN DATE
19082 --Deferred Accounting Option
19083 , p_source_66 IN VARCHAR2
19084 --Deferred Accounting Start Date
19085 , p_source_67 IN DATE
19086 --Override Accounted Amount Indicator
19087 , p_source_68 IN VARCHAR2
19088 , p_source_68_meaning IN VARCHAR2
19089 --Third Party Type
19090 , p_source_71 IN VARCHAR2
19091 --Parent Reversal Identifier
19092 , p_source_72 IN NUMBER
19093 --Invoice Distribution Statistical Amount
19094 , p_source_73 IN NUMBER
19095 --Invoice Distribution Tax Line Identifier
19096 , p_source_74 IN NUMBER
19097 --Invoice Distribution Tax Distribution Identifier from Tax
19098 , p_source_75 IN NUMBER
19099 --Invoice Distribution Summary Tax Line Identifier
19100 , p_source_76 IN NUMBER
19101 --Payables Upgrade Credit Encumbrance Type Identifier
19102 , p_source_77 IN NUMBER
19103 --Payables Upgrade Debit Encumbrance Type Identifier
19104 , p_source_78 IN NUMBER
19105 --Business Flow Accounts Payable Application Identifier
19106 , p_source_79 IN NUMBER
19107 --Business Flow Invoice Distribution Type
19108 , p_source_80 IN VARCHAR2
19109 --Business Flow Invoice Entity Code
19110 , p_source_81 IN VARCHAR2
19111 --Business Flow Invoice Distribution Identifier
19112 , p_source_82 IN NUMBER
19113 --Business Flow Invoice Identifier
19114 , p_source_83 IN NUMBER
19115 --Accrue on Receipt Option
19116 , p_source_84 IN VARCHAR2
19117 , p_source_84_meaning IN VARCHAR2
19118 --Amount for Variance Amount
19119 , p_source_85 IN NUMBER
19120 --Purchasing Encumbrance Option
19121 , p_source_86 IN VARCHAR2
19122 , p_source_86_meaning IN VARCHAR2
19123 --Invoice Encumbered Option
19124 , p_source_87 IN VARCHAR2
19125 , p_source_87_meaning IN VARCHAR2
19126 --Variance Amount in Ledger Currency
19127 , p_source_88 IN NUMBER
19128 )
19129 IS
19130
19131 l_component_type VARCHAR2(80);
19132 l_component_code VARCHAR2(30);
19133 l_component_type_code VARCHAR2(1);
19134 l_component_appl_id INTEGER;
19135 l_amb_context_code VARCHAR2(30);
19136 l_entity_code VARCHAR2(30);
19137 l_event_class_code VARCHAR2(30);
19138 l_ae_header_id NUMBER;
19139 l_event_type_code VARCHAR2(30);
19140 l_line_definition_code VARCHAR2(30);
19141 l_line_definition_owner_code VARCHAR2(1);
19142 --
19143 -- adr variables
19144 l_segment VARCHAR2(30);
19145 l_ccid NUMBER;
19146 l_adr_transaction_coa_id NUMBER;
19147 l_adr_accounting_coa_id NUMBER;
19148 l_adr_flexfield_segment_code VARCHAR2(30);
19149 l_adr_flex_value_set_id NUMBER;
19150 l_adr_value_type_code VARCHAR2(30);
19151 l_adr_value_combination_id NUMBER;
19152 l_adr_value_segment_code VARCHAR2(30);
19153
19154 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19155 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19156 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19157 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19158
19159 -- 4262811 Variables ------------------------------------------------------------------------------------------
19163 l_accrual_line_num NUMBER;
19160 l_entered_amt_idx NUMBER;
19161 l_accted_amt_idx NUMBER;
19162 l_acc_rev_flag VARCHAR2(1);
19164 l_tmp_amt NUMBER;
19165 l_acc_rev_natural_side_code VARCHAR2(1);
19166
19167 l_num_entries NUMBER;
19168 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19169 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19170 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19171 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19172 l_recog_line_1 NUMBER;
19173 l_recog_line_2 NUMBER;
19174
19175 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19176 l_bflow_applied_to_amt NUMBER; -- 5132302
19177 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19178
19179 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19180
19181 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19182 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19183
19184 ---------------------------------------------------------------------------------------------------------------
19185
19186
19187 --
19188 -- bulk performance
19189 --
19190 l_balance_type_code VARCHAR2(1);
19191 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19192 l_log_module VARCHAR2(240);
19193
19194 --
19195 -- Upgrade strategy
19196 --
19197 l_actual_upg_option VARCHAR2(1);
19198 l_enc_upg_option VARCHAR2(1);
19199
19200 --
19201 BEGIN
19202 --
19203 IF g_log_enabled THEN
19204 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_62';
19205 END IF;
19206 --
19207 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19208
19209 trace
19210 (p_msg => 'BEGIN of AcctLineType_62'
19211 ,p_level => C_LEVEL_PROCEDURE
19212 ,p_module => l_log_module);
19213
19214 END IF;
19215 --
19216 l_component_type := 'AMB_JLT';
19217 l_component_code := 'AP_AMOUNT_VARIANCE_PP_ENC';
19218 l_component_type_code := 'S';
19219 l_component_appl_id := 200;
19220 l_amb_context_code := 'DEFAULT';
19221 l_entity_code := 'AP_INVOICES';
19222 l_event_class_code := 'PREPAYMENTS';
19223 l_event_type_code := 'PREPAYMENTS_ALL';
19224 l_line_definition_owner_code := 'S';
19225 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
19226 --
19227 l_balance_type_code := 'E';
19228 l_segment := NULL;
19229 l_ccid := NULL;
19230 l_adr_transaction_coa_id := NULL;
19231 l_adr_accounting_coa_id := NULL;
19232 l_adr_flexfield_segment_code := NULL;
19233 l_adr_flex_value_set_id := NULL;
19234 l_adr_value_type_code := NULL;
19235 l_adr_value_combination_id := NULL;
19236 l_adr_value_segment_code := NULL;
19237
19238 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
19239 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
19240 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19241 l_budgetary_control_flag := 'N';
19242
19243 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19244 l_bflow_applied_to_amt := NULL; -- 5132302
19245 l_entered_amt_idx := NULL; -- 4262811
19246 l_accted_amt_idx := NULL; -- 4262811
19247 l_acc_rev_flag := NULL; -- 4262811
19248 l_accrual_line_num := NULL; -- 4262811
19249 l_tmp_amt := NULL; -- 4262811
19250 --
19251
19252 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
19253 l_balance_type_code <> 'B' THEN
19254 IF NVL(p_source_21,'
19255 ') = 'ITEM' AND
19256 p_source_85 IS NOT NULL AND
19257 NVL(p_source_84,'
19258 ') <> 'Y' AND
19259 NVL(p_source_86,'
19260 ') = 'Y' AND
19261 NVL(p_source_87,'
19262 ') = 'Y'
19263 THEN
19264
19265 --
19266 XLA_AE_LINES_PKG.SetNewLine;
19267
19268 p_balance_type_code := l_balance_type_code;
19269 -- set the flag so later we will know whether the gain loss line needs to be created
19270
19271 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
19272 p_actual_flag :='A';
19273 END IF;
19274
19275 --
19276 -- bulk performance
19277 --
19278 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19279 p_header_num => 0); -- 4262811
19280 --
19281 -- set accounting line options
19282 --
19283 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19284 p_natural_side_code => 'C'
19285 , p_gain_or_loss_flag => 'N'
19286 , p_gl_transfer_mode_code => 'S'
19287 , p_acct_entry_type_code => 'E'
19288 , p_switch_side_flag => 'Y'
19289 , p_merge_duplicate_code => 'A'
19290 );
19291 --
19292 l_acc_rev_natural_side_code := 'D'; -- 4262811
19293 --
19294 --
19298 (p_component_type => l_component_type
19295 -- set accounting line type info
19296 --
19297 xla_ae_lines_pkg.SetAcctLineType
19299 ,p_event_type_code => l_event_type_code
19300 ,p_line_definition_owner_code => l_line_definition_owner_code
19301 ,p_line_definition_code => l_line_definition_code
19302 ,p_accounting_line_code => l_component_code
19303 ,p_accounting_line_type_code => l_component_type_code
19304 ,p_accounting_line_appl_id => l_component_appl_id
19305 ,p_amb_context_code => l_amb_context_code
19306 ,p_entity_code => l_entity_code
19307 ,p_event_class_code => l_event_class_code);
19308 --
19309 -- set accounting class
19310 --
19311 xla_ae_lines_pkg.SetAcctClass(
19312 p_accounting_class_code => 'AMT_VARIANCE'
19313 , p_ae_header_id => l_ae_header_id
19314 );
19315
19316 --
19317 -- set rounding class
19318 --
19319 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19320 'AMT_VARIANCE';
19321
19322 --
19323 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19324 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19325 --
19326 -- bulk performance
19327 --
19328 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19329
19330 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19331 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19332
19333 -- 4955764
19334 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19335 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19336
19337 -- 4458381 Public Sector Enh
19338
19339 --
19340 -- set accounting attributes for the line type
19341 --
19342 l_entered_amt_idx := 23;
19343 l_accted_amt_idx := 25;
19344 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19345 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19346 l_rec_acct_attrs.array_char_value(1) := p_source_41;
19347 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
19348 l_rec_acct_attrs.array_num_value(2) :=
19349 xla_ae_sources_pkg.GetSystemSourceNum(
19350 p_source_code => 'XLA_EVENT_APPL_ID'
19351 , p_source_type_code => 'Y'
19352 , p_source_application_id => 602
19353 );
19354 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
19355 l_rec_acct_attrs.array_char_value(3) := p_source_43;
19356 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
19357 l_rec_acct_attrs.array_char_value(4) :=
19358 xla_ae_sources_pkg.GetSystemSourceChar(
19359 p_source_code => 'XLA_ENTITY_CODE'
19360 , p_source_type_code => 'Y'
19361 , p_source_application_id => 602
19362 );
19363 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
19364 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
19365 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
19366 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
19367 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
19368 l_rec_acct_attrs.array_num_value(7) := p_source_79;
19369 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19370 l_rec_acct_attrs.array_char_value(8) := p_source_80;
19371 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
19372 l_rec_acct_attrs.array_char_value(9) := p_source_81;
19373 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
19374 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
19375 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19376 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
19377 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
19378 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
19379 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
19380 l_rec_acct_attrs.array_char_value(13) := p_source_43;
19381 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
19382 l_rec_acct_attrs.array_num_value(14) := p_source_53;
19383 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
19384 l_rec_acct_attrs.array_num_value(15) := p_source_54;
19385 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
19386 l_rec_acct_attrs.array_char_value(16) := p_source_55;
19387 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
19388 l_rec_acct_attrs.array_num_value(17) := p_source_56;
19389 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
19390 l_rec_acct_attrs.array_num_value(18) := p_source_57;
19391 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
19392 l_rec_acct_attrs.array_num_value(19) := p_source_58;
19393 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
19394 l_rec_acct_attrs.array_char_value(20) := p_source_55;
19395 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
19396 l_rec_acct_attrs.array_num_value(21) := p_source_59;
19400 l_rec_acct_attrs.array_num_value(23) := p_source_85;
19397 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
19398 l_rec_acct_attrs.array_char_value(22) := p_source_60;
19399 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
19401 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
19402 l_rec_acct_attrs.array_char_value(24) := p_source_55;
19403 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
19404 l_rec_acct_attrs.array_num_value(25) := p_source_88;
19405 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
19406 l_rec_acct_attrs.array_date_value(26) := p_source_65;
19407 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
19408 l_rec_acct_attrs.array_char_value(27) := p_source_66;
19409 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
19410 l_rec_acct_attrs.array_date_value(28) := p_source_67;
19411 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
19412 l_rec_acct_attrs.array_char_value(29) := p_source_68;
19413 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
19414 l_rec_acct_attrs.array_char_value(30) := p_source_71;
19415 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
19416 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
19417 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
19418 l_rec_acct_attrs.array_char_value(32) := p_source_43;
19419 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
19420 l_rec_acct_attrs.array_num_value(33) := p_source_73;
19421 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
19422 l_rec_acct_attrs.array_num_value(34) := p_source_74;
19423 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
19424 l_rec_acct_attrs.array_num_value(35) := p_source_75;
19425 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
19426 l_rec_acct_attrs.array_num_value(36) := p_source_76;
19427 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
19428 l_rec_acct_attrs.array_num_value(37) := p_source_77;
19429 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
19430 l_rec_acct_attrs.array_num_value(38) := p_source_78;
19431
19432 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
19433 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
19434
19435 ---------------------------------------------------------------------------------------------------------------
19436 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
19437 ---------------------------------------------------------------------------------------------------------------
19438 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
19439
19440 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19441 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
19442
19443 IF xla_accounting_cache_pkg.GetValueChar
19444 (p_source_code => 'LEDGER_CATEGORY_CODE'
19445 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
19446 AND l_bflow_method_code = 'PRIOR_ENTRY'
19447 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
19448 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
19449 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
19450 )
19451 THEN
19452 xla_ae_lines_pkg.BflowUpgEntry
19453 (p_business_method_code => l_bflow_method_code
19454 ,p_business_class_code => l_bflow_class_code
19455 ,p_balance_type => l_balance_type_code);
19456 ELSE
19457 NULL;
19458 XLA_AE_LINES_PKG.business_flow_validation(
19459 p_business_method_code => l_bflow_method_code
19460 ,p_business_class_code => l_bflow_class_code
19461 ,p_inherit_description_flag => l_inherit_desc_flag);
19462 END IF;
19463
19464 --
19465 -- call analytical criteria
19466 --
19467 -- Inherited Analytical Criteria for business flow method of Prior Entry.
19468 --
19469 -- call description
19470 --
19471 -- No description or it is inherited.
19472 --
19473 -- call ADRs
19474 -- Bug 4922099
19475 --
19476 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19477 (NVL(l_actual_upg_option, 'N') = 'O') OR
19478 (NVL(l_enc_upg_option, 'N') = 'O')
19479 )
19480 THEN
19481 NULL;
19482 --
19483 --
19484
19485 --
19486 --
19487 END IF;
19488 --
19489 -- Bug 4922099
19490 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
19491 (NVL(l_enc_upg_option, 'N') = 'O')
19492 ) AND
19493 (l_bflow_method_code = 'PRIOR_ENTRY')
19494 )
19495 THEN
19496 IF
19497 --
19498 1 = 1
19499 --
19500 THEN
19501 xla_accounting_err_pkg.build_message
19502 (p_appli_s_name => 'XLA'
19503 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19504 ,p_token_1 => 'LINE_NUMBER'
19508 l_component_type
19505 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
19506 ,p_token_2 => 'LINE_TYPE_NAME'
19507 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
19509 ,l_component_code
19510 ,l_component_type_code
19511 ,l_component_appl_id
19512 ,l_amb_context_code
19513 ,l_entity_code
19514 ,l_event_class_code
19515 )
19516 ,p_token_3 => 'OWNER'
19517 ,p_value_3 => xla_lookups_pkg.get_meaning(
19518 p_lookup_type => 'XLA_OWNER_TYPE'
19519 ,p_lookup_code => l_component_type_code
19520 )
19521 ,p_token_4 => 'PRODUCT_NAME'
19522 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
19523 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
19524 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
19525 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
19526 ,p_ae_header_id => NULL
19527 );
19528
19529 IF (C_LEVEL_ERROR>= g_log_level) THEN
19530 trace
19531 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
19532 ,p_level => C_LEVEL_ERROR
19533 ,p_module => l_log_module);
19534 END IF;
19535 END IF;
19536 END IF;
19537 --
19538 --
19539 ------------------------------------------------------------------------------------------------
19540 -- 4219869 Business Flow
19541 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
19542 -- Prior Entry. Currently, the following code is always generated.
19543 ------------------------------------------------------------------------------------------------
19544 -- No ValidateCurrentLine for business flow method of Prior Entry
19545
19546 ------------------------------------------------------------------------------------
19547 -- 4219869 Business Flow
19548 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
19549 ------------------------------------------------------------------------------------
19550 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19551
19552 ----------------------------------------------------------------------------------
19553 -- 4219869 Business Flow
19554 -- Update journal entry status -- Need to generate this within IF <condition>
19555 ----------------------------------------------------------------------------------
19556 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19557 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
19558 ,p_balance_type_code => l_balance_type_code
19559 );
19560
19561 -------------------------------------------------------------------------------------------
19562 -- 4262811 - Generate the Accrual Reversal lines
19563 -------------------------------------------------------------------------------------------
19564 BEGIN
19565 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
19566 (g_array_event(p_event_id).array_value_num('header_index'));
19567 IF l_acc_rev_flag IS NULL THEN
19568 l_acc_rev_flag := 'N';
19569 END IF;
19570 EXCEPTION
19571 WHEN OTHERS THEN
19572 l_acc_rev_flag := 'N';
19573 END;
19574 --
19575 IF (l_acc_rev_flag = 'Y') THEN
19576
19577 -- 4645092 ------------------------------------------------------------------------------
19578 -- To allow MPA report to determine if it should generate report process
19579 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
19580 ------------------------------------------------------------------------------------------
19581
19582 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
19583 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
19584 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
19585 -- call ADRs
19586 -- Bug 4922099
19587 --
19588 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
19589 (NVL(l_actual_upg_option, 'N') = 'O') OR
19590 (NVL(l_enc_upg_option, 'N') = 'O')
19591 )
19592 THEN
19593 NULL;
19594 --
19595 --
19596
19597 --
19598 --
19599 END IF;
19600
19601 --
19605 p_header_num => 1);
19602 -- Update the line information that should be overwritten
19603 --
19604 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
19606 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
19607
19608 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
19609
19610 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
19611 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
19612 END IF;
19613
19614 --
19615 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
19616 --
19617 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
19618 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
19619 ELSE
19620 ---------------------------------------------------------------------------------------------------
19621 -- 4262811a Switch Sign
19622 ---------------------------------------------------------------------------------------------------
19623 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
19624 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19625 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19626 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
19627 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19628 -- 5132302
19629 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
19630 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
19631
19632 END IF;
19633
19634 -- 4955764
19635 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19636 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
19637
19638
19639 XLA_AE_LINES_PKG.ValidateCurrentLine;
19640 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
19641
19642 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
19643 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
19644 ,p_balance_type_code => l_balance_type_code);
19645
19646 END IF;
19647
19648 -----------------------------------------------------------------------------------------
19649 -- 4262811 Multiperiod Accounting
19650 -----------------------------------------------------------------------------------------
19651 -- No MPA option is assigned.
19652
19653
19654 END IF;
19655 END IF;
19656 --
19657
19658 --
19659 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19660 trace
19661 (p_msg => 'END of AcctLineType_62'
19662 ,p_level => C_LEVEL_PROCEDURE
19663 ,p_module => l_log_module);
19664 END IF;
19665 --
19666 EXCEPTION
19667 WHEN xla_exceptions_pkg.application_exception THEN
19668 RAISE;
19669 WHEN OTHERS THEN
19670 xla_exceptions_pkg.raise_message
19671 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_62');
19672 END AcctLineType_62;
19673 --
19674
19675 ---------------------------------------
19676 --
19677 -- PRIVATE FUNCTION
19678 -- AcctLineType_63
19679 --
19680 ---------------------------------------
19681 PROCEDURE AcctLineType_63 (
19682 p_application_id IN NUMBER
19683 ,p_event_id IN NUMBER
19684 ,p_calculate_acctd_flag IN VARCHAR2
19685 ,p_calculate_g_l_flag IN VARCHAR2
19686 ,p_actual_flag IN OUT VARCHAR2
19687 ,p_balance_type_code OUT VARCHAR2
19688 ,p_gain_or_loss_ref OUT VARCHAR2
19689
19690 --Bank Charges Account
19691 , p_source_2 IN NUMBER
19692 --Automatic Offsets Value
19693 , p_source_3 IN VARCHAR2
19694 , p_source_3_meaning IN VARCHAR2
19695 --Invoice Distribution Account
19696 , p_source_18 IN NUMBER
19697 --Accounting Reversal Indicator
19698 , p_source_41 IN VARCHAR2
19699 --Distribution Link Type
19700 , p_source_43 IN VARCHAR2
19701 --Override Accounted Amount Indicator
19702 , p_source_68 IN VARCHAR2
19703 , p_source_68_meaning IN VARCHAR2
19704 --Third Party Type
19705 , p_source_71 IN VARCHAR2
19706 --Invoice Distribution Tax Line Identifier
19707 , p_source_74 IN NUMBER
19708 --Invoice Distribution Summary Tax Line Identifier
19709 , p_source_76 IN NUMBER
19710 --Business Flow Accounts Payable Application Identifier
19711 , p_source_79 IN NUMBER
19712 --When to Account for Payment Option
19713 , p_source_89 IN VARCHAR2
19714 --Payment Distribution Type
19715 , p_source_90 IN VARCHAR2
19716 , p_source_90_meaning IN VARCHAR2
19717 --Payment Distribution Amount
19718 , p_source_91 IN NUMBER
19719 --Business Flow Payment Distribution Type
19720 , p_source_92 IN VARCHAR2
19721 --Business Flow Payment Entity Code
19722 , p_source_93 IN VARCHAR2
19723 --Business Flow Payment Distribution Identifier
19727 --Payment Distribution Identifier
19724 , p_source_94 IN NUMBER
19725 --Business Flow Payment Identifier
19726 , p_source_95 IN NUMBER
19728 , p_source_96 IN NUMBER
19729 --Cleared Currency Code
19730 , p_source_97 IN VARCHAR2
19731 --Cleared Exchange Date
19732 , p_source_98 IN DATE
19733 --Cleared Exchange Rate
19734 , p_source_99 IN NUMBER
19735 --Cleared Exchange Rate Type
19736 , p_source_100 IN VARCHAR2
19737 --Payment Distribution (Cleared Rate) Ledger Amount
19738 , p_source_101 IN NUMBER
19739 --Payment Supplier Identifier
19740 , p_source_102 IN NUMBER
19741 --Payment Supplier Site Identifier
19742 , p_source_103 IN NUMBER
19743 --Payment Distribution Reversed Identifier
19744 , p_source_104 IN NUMBER
19745 )
19746 IS
19747
19748 l_component_type VARCHAR2(80);
19749 l_component_code VARCHAR2(30);
19750 l_component_type_code VARCHAR2(1);
19751 l_component_appl_id INTEGER;
19752 l_amb_context_code VARCHAR2(30);
19753 l_entity_code VARCHAR2(30);
19754 l_event_class_code VARCHAR2(30);
19755 l_ae_header_id NUMBER;
19756 l_event_type_code VARCHAR2(30);
19757 l_line_definition_code VARCHAR2(30);
19758 l_line_definition_owner_code VARCHAR2(1);
19759 --
19760 -- adr variables
19761 l_segment VARCHAR2(30);
19762 l_ccid NUMBER;
19763 l_adr_transaction_coa_id NUMBER;
19764 l_adr_accounting_coa_id NUMBER;
19765 l_adr_flexfield_segment_code VARCHAR2(30);
19766 l_adr_flex_value_set_id NUMBER;
19767 l_adr_value_type_code VARCHAR2(30);
19768 l_adr_value_combination_id NUMBER;
19769 l_adr_value_segment_code VARCHAR2(30);
19770
19771 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
19772 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
19773 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
19774 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
19775
19776 -- 4262811 Variables ------------------------------------------------------------------------------------------
19777 l_entered_amt_idx NUMBER;
19778 l_accted_amt_idx NUMBER;
19779 l_acc_rev_flag VARCHAR2(1);
19780 l_accrual_line_num NUMBER;
19781 l_tmp_amt NUMBER;
19782 l_acc_rev_natural_side_code VARCHAR2(1);
19783
19784 l_num_entries NUMBER;
19785 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
19786 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
19787 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
19788 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
19789 l_recog_line_1 NUMBER;
19790 l_recog_line_2 NUMBER;
19791
19792 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
19793 l_bflow_applied_to_amt NUMBER; -- 5132302
19794 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
19795
19796 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
19797
19798 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
19799 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
19800
19801 ---------------------------------------------------------------------------------------------------------------
19802
19803
19804 --
19805 -- bulk performance
19806 --
19807 l_balance_type_code VARCHAR2(1);
19808 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
19809 l_log_module VARCHAR2(240);
19810
19811 --
19812 -- Upgrade strategy
19813 --
19814 l_actual_upg_option VARCHAR2(1);
19815 l_enc_upg_option VARCHAR2(1);
19816
19817 --
19818 BEGIN
19819 --
19820 IF g_log_enabled THEN
19821 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_63';
19822 END IF;
19823 --
19824 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
19825
19826 trace
19827 (p_msg => 'BEGIN of AcctLineType_63'
19828 ,p_level => C_LEVEL_PROCEDURE
19829 ,p_module => l_log_module);
19830
19831 END IF;
19832 --
19833 l_component_type := 'AMB_JLT';
19834 l_component_code := 'AP_BANK_CHARGES_CLEAR';
19835 l_component_type_code := 'S';
19836 l_component_appl_id := 200;
19837 l_amb_context_code := 'DEFAULT';
19838 l_entity_code := 'AP_PAYMENTS';
19839 l_event_class_code := 'RECONCILED PAYMENTS';
19840 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
19841 l_line_definition_owner_code := 'S';
19842 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
19843 --
19844 l_balance_type_code := 'A';
19845 l_segment := NULL;
19846 l_ccid := NULL;
19847 l_adr_transaction_coa_id := NULL;
19848 l_adr_accounting_coa_id := NULL;
19849 l_adr_flexfield_segment_code := NULL;
19850 l_adr_flex_value_set_id := NULL;
19854
19851 l_adr_value_type_code := NULL;
19852 l_adr_value_combination_id := NULL;
19853 l_adr_value_segment_code := NULL;
19855 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
19856 l_bflow_class_code := ''; -- 4219869 Business Flow
19857 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
19858 l_budgetary_control_flag := 'N';
19859
19860 l_bflow_applied_to_amt_idx := NULL; -- 5132302
19861 l_bflow_applied_to_amt := NULL; -- 5132302
19862 l_entered_amt_idx := NULL; -- 4262811
19863 l_accted_amt_idx := NULL; -- 4262811
19864 l_acc_rev_flag := NULL; -- 4262811
19865 l_accrual_line_num := NULL; -- 4262811
19866 l_tmp_amt := NULL; -- 4262811
19867 --
19868
19869 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
19870 l_balance_type_code <> 'B' THEN
19871 IF NVL(p_source_89,'
19872 ') <> 'ISSUE_ISSUE' AND
19873 NVL(p_source_90,'
19874 ') = 'BANK CHARGE'
19875 THEN
19876
19877 --
19878 XLA_AE_LINES_PKG.SetNewLine;
19879
19880 p_balance_type_code := l_balance_type_code;
19881 -- set the flag so later we will know whether the gain loss line needs to be created
19882
19883 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
19884 p_actual_flag :='A';
19885 END IF;
19886
19887 --
19888 -- bulk performance
19889 --
19890 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
19891 p_header_num => 0); -- 4262811
19892 --
19893 -- set accounting line options
19894 --
19895 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
19896 p_natural_side_code => 'D'
19897 , p_gain_or_loss_flag => 'N'
19898 , p_gl_transfer_mode_code => 'S'
19899 , p_acct_entry_type_code => 'A'
19900 , p_switch_side_flag => 'Y'
19901 , p_merge_duplicate_code => 'A'
19902 );
19903 --
19904 l_acc_rev_natural_side_code := 'C'; -- 4262811
19905 --
19906 --
19907 -- set accounting line type info
19908 --
19909 xla_ae_lines_pkg.SetAcctLineType
19910 (p_component_type => l_component_type
19911 ,p_event_type_code => l_event_type_code
19912 ,p_line_definition_owner_code => l_line_definition_owner_code
19913 ,p_line_definition_code => l_line_definition_code
19914 ,p_accounting_line_code => l_component_code
19915 ,p_accounting_line_type_code => l_component_type_code
19916 ,p_accounting_line_appl_id => l_component_appl_id
19917 ,p_amb_context_code => l_amb_context_code
19918 ,p_entity_code => l_entity_code
19919 ,p_event_class_code => l_event_class_code);
19920 --
19921 -- set accounting class
19922 --
19923 xla_ae_lines_pkg.SetAcctClass(
19924 p_accounting_class_code => 'BANK_CHG'
19925 , p_ae_header_id => l_ae_header_id
19926 );
19927
19928 --
19929 -- set rounding class
19930 --
19931 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
19932 'BANK_CHG';
19933
19934 --
19935 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
19936 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
19937 --
19938 -- bulk performance
19939 --
19940 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
19941
19942 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
19943 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
19944
19945 -- 4955764
19946 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
19947 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
19948
19949 -- 4458381 Public Sector Enh
19950
19951 --
19952 -- set accounting attributes for the line type
19953 --
19954 l_entered_amt_idx := 10;
19955 l_accted_amt_idx := 15;
19956 l_bflow_applied_to_amt_idx := 2; -- 5132302
19957 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
19958 l_rec_acct_attrs.array_char_value(1) := p_source_41;
19959 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
19960 l_rec_acct_attrs.array_num_value(2) := p_source_91;
19961 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
19962 l_rec_acct_attrs.array_num_value(3) := p_source_79;
19963 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
19964 l_rec_acct_attrs.array_char_value(4) := p_source_92;
19965 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
19966 l_rec_acct_attrs.array_char_value(5) := p_source_93;
19967 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
19968 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
19969 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
19970 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
19974 l_rec_acct_attrs.array_char_value(9) := p_source_43;
19971 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
19972 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
19973 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
19975 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
19976 l_rec_acct_attrs.array_num_value(10) := p_source_91;
19977 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
19978 l_rec_acct_attrs.array_char_value(11) := p_source_97;
19979 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
19980 l_rec_acct_attrs.array_date_value(12) := p_source_98;
19981 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
19982 l_rec_acct_attrs.array_num_value(13) := p_source_99;
19983 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
19984 l_rec_acct_attrs.array_char_value(14) := p_source_100;
19985 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
19986 l_rec_acct_attrs.array_num_value(15) := p_source_101;
19987 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
19988 l_rec_acct_attrs.array_char_value(16) := p_source_68;
19989 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
19990 l_rec_acct_attrs.array_num_value(17) := p_source_102;
19991 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
19992 l_rec_acct_attrs.array_num_value(18) := p_source_103;
19993 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
19994 l_rec_acct_attrs.array_char_value(19) := p_source_71;
19995 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
19996 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
19997 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
19998 l_rec_acct_attrs.array_char_value(21) := p_source_43;
19999 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20000 l_rec_acct_attrs.array_num_value(22) := p_source_74;
20001 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20002 l_rec_acct_attrs.array_num_value(23) := p_source_74;
20003 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20004 l_rec_acct_attrs.array_num_value(24) := p_source_76;
20005
20006 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20007 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20008
20009 ---------------------------------------------------------------------------------------------------------------
20010 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20011 ---------------------------------------------------------------------------------------------------------------
20012 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20013
20014 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20015 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20016
20017 IF xla_accounting_cache_pkg.GetValueChar
20018 (p_source_code => 'LEDGER_CATEGORY_CODE'
20019 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20020 AND l_bflow_method_code = 'PRIOR_ENTRY'
20021 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20022 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20023 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20024 )
20025 THEN
20026 xla_ae_lines_pkg.BflowUpgEntry
20027 (p_business_method_code => l_bflow_method_code
20028 ,p_business_class_code => l_bflow_class_code
20029 ,p_balance_type => l_balance_type_code);
20030 ELSE
20031 NULL;
20032 -- No business flow processing for business flow method of NONE.
20033 END IF;
20034
20035 --
20036 -- call analytical criteria
20037 --
20038
20039 --
20040 -- call description
20041 --
20042 -- No description or it is inherited.
20043 --
20044 -- call ADRs
20045 -- Bug 4922099
20046 --
20047 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20048 (NVL(l_actual_upg_option, 'N') = 'O') OR
20049 (NVL(l_enc_upg_option, 'N') = 'O')
20050 )
20051 THEN
20052 NULL;
20053 --
20054 --
20055
20056 l_ccid := AcctDerRule_25(
20057 p_application_id => p_application_id
20058 , p_ae_header_id => l_ae_header_id
20059 , p_source_2 => p_source_2
20060 , p_source_3 => p_source_3
20061 , p_source_3_meaning => p_source_3_meaning
20062 , p_source_18 => p_source_18
20063 , x_transaction_coa_id => l_adr_transaction_coa_id
20064 , x_accounting_coa_id => l_adr_accounting_coa_id
20065 , x_value_type_code => l_adr_value_type_code
20066 , p_side => 'NA'
20067 );
20068
20069 xla_ae_lines_pkg.set_ccid(
20070 p_code_combination_id => l_ccid
20071 , p_value_type_code => l_adr_value_type_code
20072 , p_transaction_coa_id => l_adr_transaction_coa_id
20073 , p_accounting_coa_id => l_adr_accounting_coa_id
20074 , p_adr_code => 'AP_BANK_CHARGES'
20075 , p_adr_type_code => 'S'
20076 , p_component_type => l_component_type
20080 , p_amb_context_code => l_amb_context_code
20077 , p_component_code => l_component_code
20078 , p_component_type_code => l_component_type_code
20079 , p_component_appl_id => l_component_appl_id
20081 , p_side => 'NA'
20082 );
20083
20084
20085 l_segment := AcctDerRule_3(
20086 p_application_id => p_application_id
20087 , p_ae_header_id => l_ae_header_id
20088 , p_source_2 => p_source_2
20089 , p_source_3 => p_source_3
20090 , p_source_3_meaning => p_source_3_meaning
20091 , x_transaction_coa_id => l_adr_transaction_coa_id
20092 , x_accounting_coa_id => l_adr_accounting_coa_id
20093 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20094 , x_flex_value_set_id => l_adr_flex_value_set_id
20095 , x_value_type_code => l_adr_value_type_code
20096 , x_value_combination_id => l_adr_value_combination_id
20097 , x_value_segment_code => l_adr_value_segment_code
20098 , p_side => 'NA'
20099 , p_override_seg_flag => 'Y'
20100 );
20101
20102 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20103
20104 xla_ae_lines_pkg.set_segment(
20105 p_to_segment_code => 'GL_ACCOUNT'
20106 , p_segment_value => l_segment
20107 , p_from_segment_code => l_adr_value_segment_code
20108 , p_from_combination_id => l_adr_value_combination_id
20109 , p_value_type_code => l_adr_value_type_code
20110 , p_transaction_coa_id => l_adr_transaction_coa_id
20111 , p_accounting_coa_id => l_adr_accounting_coa_id
20112 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20113 , p_flex_value_set_id => l_adr_flex_value_set_id
20114 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
20115 , p_adr_type_code => 'S'
20116 , p_component_type => l_component_type
20117 , p_component_code => l_component_code
20118 , p_component_type_code => l_component_type_code
20119 , p_component_appl_id => l_component_appl_id
20120 , p_amb_context_code => l_amb_context_code
20121 , p_entity_code => 'AP_PAYMENTS'
20122 , p_event_class_code => 'RECONCILED PAYMENTS'
20123 , p_side => 'NA'
20124 );
20125
20126 END IF;
20127
20128 l_segment := AcctDerRule_21(
20129 p_application_id => p_application_id
20130 , p_ae_header_id => l_ae_header_id
20131 , p_source_3 => p_source_3
20132 , p_source_3_meaning => p_source_3_meaning
20133 , p_source_18 => p_source_18
20134 , x_transaction_coa_id => l_adr_transaction_coa_id
20135 , x_accounting_coa_id => l_adr_accounting_coa_id
20136 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20137 , x_flex_value_set_id => l_adr_flex_value_set_id
20138 , x_value_type_code => l_adr_value_type_code
20139 , x_value_combination_id => l_adr_value_combination_id
20140 , x_value_segment_code => l_adr_value_segment_code
20141 , p_side => 'NA'
20142 , p_override_seg_flag => 'Y'
20143 );
20144
20145 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20146
20147 xla_ae_lines_pkg.set_segment(
20148 p_to_segment_code => 'GL_BALANCING'
20149 , p_segment_value => l_segment
20150 , p_from_segment_code => l_adr_value_segment_code
20151 , p_from_combination_id => l_adr_value_combination_id
20152 , p_value_type_code => l_adr_value_type_code
20153 , p_transaction_coa_id => l_adr_transaction_coa_id
20154 , p_accounting_coa_id => l_adr_accounting_coa_id
20155 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20156 , p_flex_value_set_id => l_adr_flex_value_set_id
20157 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
20158 , p_adr_type_code => 'S'
20159 , p_component_type => l_component_type
20160 , p_component_code => l_component_code
20161 , p_component_type_code => l_component_type_code
20162 , p_component_appl_id => l_component_appl_id
20163 , p_amb_context_code => l_amb_context_code
20164 , p_entity_code => 'AP_PAYMENTS'
20165 , p_event_class_code => 'RECONCILED PAYMENTS'
20166 , p_side => 'NA'
20167 );
20168
20169 END IF;
20170
20171 --
20172 --
20173 END IF;
20174 --
20175 -- Bug 4922099
20176 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20177 (NVL(l_enc_upg_option, 'N') = 'O')
20178 ) AND
20179 (l_bflow_method_code = 'PRIOR_ENTRY')
20180 )
20181 THEN
20182 IF
20183 --
20184 1 = 2
20185 --
20186 THEN
20187 xla_accounting_err_pkg.build_message
20188 (p_appli_s_name => 'XLA'
20189 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20193 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20190 ,p_token_1 => 'LINE_NUMBER'
20191 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20192 ,p_token_2 => 'LINE_TYPE_NAME'
20194 l_component_type
20195 ,l_component_code
20196 ,l_component_type_code
20197 ,l_component_appl_id
20198 ,l_amb_context_code
20199 ,l_entity_code
20200 ,l_event_class_code
20201 )
20202 ,p_token_3 => 'OWNER'
20203 ,p_value_3 => xla_lookups_pkg.get_meaning(
20204 p_lookup_type => 'XLA_OWNER_TYPE'
20205 ,p_lookup_code => l_component_type_code
20206 )
20207 ,p_token_4 => 'PRODUCT_NAME'
20208 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
20209 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
20210 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
20211 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
20212 ,p_ae_header_id => NULL
20213 );
20214
20215 IF (C_LEVEL_ERROR>= g_log_level) THEN
20216 trace
20217 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20218 ,p_level => C_LEVEL_ERROR
20219 ,p_module => l_log_module);
20220 END IF;
20221 END IF;
20222 END IF;
20223 --
20224 --
20225 ------------------------------------------------------------------------------------------------
20226 -- 4219869 Business Flow
20227 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
20228 -- Prior Entry. Currently, the following code is always generated.
20229 ------------------------------------------------------------------------------------------------
20230 XLA_AE_LINES_PKG.ValidateCurrentLine;
20231
20232 ------------------------------------------------------------------------------------
20233 -- 4219869 Business Flow
20234 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
20235 ------------------------------------------------------------------------------------
20236 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20237
20238 ----------------------------------------------------------------------------------
20239 -- 4219869 Business Flow
20240 -- Update journal entry status -- Need to generate this within IF <condition>
20241 ----------------------------------------------------------------------------------
20242 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20243 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
20244 ,p_balance_type_code => l_balance_type_code
20245 );
20246
20247 -------------------------------------------------------------------------------------------
20248 -- 4262811 - Generate the Accrual Reversal lines
20249 -------------------------------------------------------------------------------------------
20250 BEGIN
20251 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
20252 (g_array_event(p_event_id).array_value_num('header_index'));
20253 IF l_acc_rev_flag IS NULL THEN
20254 l_acc_rev_flag := 'N';
20255 END IF;
20256 EXCEPTION
20257 WHEN OTHERS THEN
20258 l_acc_rev_flag := 'N';
20259 END;
20260 --
20261 IF (l_acc_rev_flag = 'Y') THEN
20262
20263 -- 4645092 ------------------------------------------------------------------------------
20264 -- To allow MPA report to determine if it should generate report process
20265 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
20266 ------------------------------------------------------------------------------------------
20267
20268 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
20269 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
20270 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
20271 -- call ADRs
20272 -- Bug 4922099
20273 --
20274 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20275 (NVL(l_actual_upg_option, 'N') = 'O') OR
20276 (NVL(l_enc_upg_option, 'N') = 'O')
20277 )
20278 THEN
20279 NULL;
20280 --
20281 --
20285 , p_ae_header_id => l_ae_header_id
20282
20283 l_ccid := AcctDerRule_25(
20284 p_application_id => p_application_id
20286 , p_source_2 => p_source_2
20287 , p_source_3 => p_source_3
20288 , p_source_3_meaning => p_source_3_meaning
20289 , p_source_18 => p_source_18
20290 , x_transaction_coa_id => l_adr_transaction_coa_id
20291 , x_accounting_coa_id => l_adr_accounting_coa_id
20292 , x_value_type_code => l_adr_value_type_code
20293 , p_side => 'NA'
20294 );
20295
20296 xla_ae_lines_pkg.set_ccid(
20297 p_code_combination_id => l_ccid
20298 , p_value_type_code => l_adr_value_type_code
20299 , p_transaction_coa_id => l_adr_transaction_coa_id
20300 , p_accounting_coa_id => l_adr_accounting_coa_id
20301 , p_adr_code => 'AP_BANK_CHARGES'
20302 , p_adr_type_code => 'S'
20303 , p_component_type => l_component_type
20304 , p_component_code => l_component_code
20305 , p_component_type_code => l_component_type_code
20306 , p_component_appl_id => l_component_appl_id
20307 , p_amb_context_code => l_amb_context_code
20308 , p_side => 'NA'
20309 );
20310
20311
20312 l_segment := AcctDerRule_3(
20313 p_application_id => p_application_id
20314 , p_ae_header_id => l_ae_header_id
20315 , p_source_2 => p_source_2
20316 , p_source_3 => p_source_3
20317 , p_source_3_meaning => p_source_3_meaning
20318 , x_transaction_coa_id => l_adr_transaction_coa_id
20319 , x_accounting_coa_id => l_adr_accounting_coa_id
20320 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20321 , x_flex_value_set_id => l_adr_flex_value_set_id
20322 , x_value_type_code => l_adr_value_type_code
20323 , x_value_combination_id => l_adr_value_combination_id
20324 , x_value_segment_code => l_adr_value_segment_code
20325 , p_side => 'NA'
20326 , p_override_seg_flag => 'Y'
20327 );
20328
20329 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20330
20331 xla_ae_lines_pkg.set_segment(
20332 p_to_segment_code => 'GL_ACCOUNT'
20333 , p_segment_value => l_segment
20334 , p_from_segment_code => l_adr_value_segment_code
20335 , p_from_combination_id => l_adr_value_combination_id
20336 , p_value_type_code => l_adr_value_type_code
20337 , p_transaction_coa_id => l_adr_transaction_coa_id
20338 , p_accounting_coa_id => l_adr_accounting_coa_id
20339 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20340 , p_flex_value_set_id => l_adr_flex_value_set_id
20341 , p_adr_code => 'AP_BANK_CHARGES_NAT_ACCT_SEG'
20342 , p_adr_type_code => 'S'
20343 , p_component_type => l_component_type
20344 , p_component_code => l_component_code
20345 , p_component_type_code => l_component_type_code
20346 , p_component_appl_id => l_component_appl_id
20347 , p_amb_context_code => l_amb_context_code
20348 , p_entity_code => 'AP_PAYMENTS'
20349 , p_event_class_code => 'RECONCILED PAYMENTS'
20350 , p_side => 'NA'
20351 );
20352
20353 END IF;
20354
20355 l_segment := AcctDerRule_21(
20356 p_application_id => p_application_id
20357 , p_ae_header_id => l_ae_header_id
20358 , p_source_3 => p_source_3
20359 , p_source_3_meaning => p_source_3_meaning
20360 , p_source_18 => p_source_18
20361 , x_transaction_coa_id => l_adr_transaction_coa_id
20362 , x_accounting_coa_id => l_adr_accounting_coa_id
20363 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20364 , x_flex_value_set_id => l_adr_flex_value_set_id
20365 , x_value_type_code => l_adr_value_type_code
20366 , x_value_combination_id => l_adr_value_combination_id
20367 , x_value_segment_code => l_adr_value_segment_code
20368 , p_side => 'NA'
20369 , p_override_seg_flag => 'Y'
20370 );
20371
20372 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20373
20374 xla_ae_lines_pkg.set_segment(
20375 p_to_segment_code => 'GL_BALANCING'
20376 , p_segment_value => l_segment
20377 , p_from_segment_code => l_adr_value_segment_code
20378 , p_from_combination_id => l_adr_value_combination_id
20379 , p_value_type_code => l_adr_value_type_code
20380 , p_transaction_coa_id => l_adr_transaction_coa_id
20381 , p_accounting_coa_id => l_adr_accounting_coa_id
20382 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20383 , p_flex_value_set_id => l_adr_flex_value_set_id
20384 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
20385 , p_adr_type_code => 'S'
20386 , p_component_type => l_component_type
20387 , p_component_code => l_component_code
20388 , p_component_type_code => l_component_type_code
20392 , p_event_class_code => 'RECONCILED PAYMENTS'
20389 , p_component_appl_id => l_component_appl_id
20390 , p_amb_context_code => l_amb_context_code
20391 , p_entity_code => 'AP_PAYMENTS'
20393 , p_side => 'NA'
20394 );
20395
20396 END IF;
20397
20398 --
20399 --
20400 END IF;
20401
20402 --
20403 -- Update the line information that should be overwritten
20404 --
20405 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
20406 p_header_num => 1);
20407 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
20408
20409 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
20410
20411 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
20412 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
20413 END IF;
20414
20415 --
20416 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
20417 --
20418 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
20419 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
20420 ELSE
20421 ---------------------------------------------------------------------------------------------------
20422 -- 4262811a Switch Sign
20423 ---------------------------------------------------------------------------------------------------
20424 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
20425 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20426 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20427 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
20428 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20429 -- 5132302
20430 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
20431 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
20432
20433 END IF;
20434
20435 -- 4955764
20436 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20437 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
20438
20439
20440 XLA_AE_LINES_PKG.ValidateCurrentLine;
20441 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
20442
20443 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
20444 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
20445 ,p_balance_type_code => l_balance_type_code);
20446
20447 END IF;
20448
20449 -----------------------------------------------------------------------------------------
20450 -- 4262811 Multiperiod Accounting
20451 -----------------------------------------------------------------------------------------
20452 -- No MPA option is assigned.
20453
20454
20455 END IF;
20456 END IF;
20457 --
20458
20459 --
20460 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20461 trace
20462 (p_msg => 'END of AcctLineType_63'
20463 ,p_level => C_LEVEL_PROCEDURE
20464 ,p_module => l_log_module);
20465 END IF;
20466 --
20467 EXCEPTION
20468 WHEN xla_exceptions_pkg.application_exception THEN
20469 RAISE;
20470 WHEN OTHERS THEN
20471 xla_exceptions_pkg.raise_message
20472 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_63');
20473 END AcctLineType_63;
20474 --
20475
20476 ---------------------------------------
20477 --
20478 -- PRIVATE FUNCTION
20479 -- AcctLineType_64
20480 --
20481 ---------------------------------------
20482 PROCEDURE AcctLineType_64 (
20483 p_application_id IN NUMBER
20484 ,p_event_id IN NUMBER
20485 ,p_calculate_acctd_flag IN VARCHAR2
20486 ,p_calculate_g_l_flag IN VARCHAR2
20487 ,p_actual_flag IN OUT VARCHAR2
20488 ,p_balance_type_code OUT VARCHAR2
20489 ,p_gain_or_loss_ref OUT VARCHAR2
20490
20491 --Automatic Offsets Value
20492 , p_source_3 IN VARCHAR2
20493 , p_source_3_meaning IN VARCHAR2
20494 --Bank Errors Account
20495 , p_source_4 IN NUMBER
20496 --Invoice Distribution Account
20497 , p_source_18 IN NUMBER
20498 --Accounting Reversal Indicator
20499 , p_source_41 IN VARCHAR2
20500 --Distribution Link Type
20501 , p_source_43 IN VARCHAR2
20502 --Override Accounted Amount Indicator
20503 , p_source_68 IN VARCHAR2
20504 , p_source_68_meaning IN VARCHAR2
20505 --Third Party Type
20506 , p_source_71 IN VARCHAR2
20507 --Invoice Distribution Tax Line Identifier
20508 , p_source_74 IN NUMBER
20509 --Invoice Distribution Summary Tax Line Identifier
20510 , p_source_76 IN NUMBER
20511 --Business Flow Accounts Payable Application Identifier
20512 , p_source_79 IN NUMBER
20513 --When to Account for Payment Option
20514 , p_source_89 IN VARCHAR2
20515 --Payment Distribution Type
20516 , p_source_90 IN VARCHAR2
20517 , p_source_90_meaning IN VARCHAR2
20521 , p_source_92 IN VARCHAR2
20518 --Payment Distribution Amount
20519 , p_source_91 IN NUMBER
20520 --Business Flow Payment Distribution Type
20522 --Business Flow Payment Entity Code
20523 , p_source_93 IN VARCHAR2
20524 --Business Flow Payment Distribution Identifier
20525 , p_source_94 IN NUMBER
20526 --Business Flow Payment Identifier
20527 , p_source_95 IN NUMBER
20528 --Payment Distribution Identifier
20529 , p_source_96 IN NUMBER
20530 --Cleared Currency Code
20531 , p_source_97 IN VARCHAR2
20532 --Cleared Exchange Date
20533 , p_source_98 IN DATE
20534 --Cleared Exchange Rate
20535 , p_source_99 IN NUMBER
20536 --Cleared Exchange Rate Type
20537 , p_source_100 IN VARCHAR2
20538 --Payment Distribution (Cleared Rate) Ledger Amount
20539 , p_source_101 IN NUMBER
20540 --Payment Supplier Identifier
20541 , p_source_102 IN NUMBER
20542 --Payment Supplier Site Identifier
20543 , p_source_103 IN NUMBER
20544 --Payment Distribution Reversed Identifier
20545 , p_source_104 IN NUMBER
20546 )
20547 IS
20548
20549 l_component_type VARCHAR2(80);
20550 l_component_code VARCHAR2(30);
20551 l_component_type_code VARCHAR2(1);
20552 l_component_appl_id INTEGER;
20553 l_amb_context_code VARCHAR2(30);
20554 l_entity_code VARCHAR2(30);
20555 l_event_class_code VARCHAR2(30);
20556 l_ae_header_id NUMBER;
20557 l_event_type_code VARCHAR2(30);
20558 l_line_definition_code VARCHAR2(30);
20559 l_line_definition_owner_code VARCHAR2(1);
20560 --
20561 -- adr variables
20562 l_segment VARCHAR2(30);
20563 l_ccid NUMBER;
20564 l_adr_transaction_coa_id NUMBER;
20565 l_adr_accounting_coa_id NUMBER;
20566 l_adr_flexfield_segment_code VARCHAR2(30);
20567 l_adr_flex_value_set_id NUMBER;
20568 l_adr_value_type_code VARCHAR2(30);
20569 l_adr_value_combination_id NUMBER;
20570 l_adr_value_segment_code VARCHAR2(30);
20571
20572 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
20573 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
20574 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
20575 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
20576
20577 -- 4262811 Variables ------------------------------------------------------------------------------------------
20578 l_entered_amt_idx NUMBER;
20579 l_accted_amt_idx NUMBER;
20580 l_acc_rev_flag VARCHAR2(1);
20581 l_accrual_line_num NUMBER;
20582 l_tmp_amt NUMBER;
20583 l_acc_rev_natural_side_code VARCHAR2(1);
20584
20585 l_num_entries NUMBER;
20586 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
20587 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
20588 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
20589 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
20590 l_recog_line_1 NUMBER;
20591 l_recog_line_2 NUMBER;
20592
20593 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
20594 l_bflow_applied_to_amt NUMBER; -- 5132302
20595 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
20596
20597 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
20598
20599 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
20600 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
20601
20602 ---------------------------------------------------------------------------------------------------------------
20603
20604
20605 --
20606 -- bulk performance
20607 --
20608 l_balance_type_code VARCHAR2(1);
20609 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
20610 l_log_module VARCHAR2(240);
20611
20612 --
20613 -- Upgrade strategy
20614 --
20615 l_actual_upg_option VARCHAR2(1);
20616 l_enc_upg_option VARCHAR2(1);
20617
20618 --
20619 BEGIN
20620 --
20621 IF g_log_enabled THEN
20622 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_64';
20623 END IF;
20624 --
20625 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
20626
20627 trace
20628 (p_msg => 'BEGIN of AcctLineType_64'
20629 ,p_level => C_LEVEL_PROCEDURE
20630 ,p_module => l_log_module);
20631
20632 END IF;
20633 --
20634 l_component_type := 'AMB_JLT';
20635 l_component_code := 'AP_BANK_ERROR_CLEAR';
20636 l_component_type_code := 'S';
20637 l_component_appl_id := 200;
20638 l_amb_context_code := 'DEFAULT';
20639 l_entity_code := 'AP_PAYMENTS';
20640 l_event_class_code := 'RECONCILED PAYMENTS';
20641 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
20642 l_line_definition_owner_code := 'S';
20643 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
20644 --
20645 l_balance_type_code := 'A';
20646 l_segment := NULL;
20647 l_ccid := NULL;
20648 l_adr_transaction_coa_id := NULL;
20649 l_adr_accounting_coa_id := NULL;
20653 l_adr_value_combination_id := NULL;
20650 l_adr_flexfield_segment_code := NULL;
20651 l_adr_flex_value_set_id := NULL;
20652 l_adr_value_type_code := NULL;
20654 l_adr_value_segment_code := NULL;
20655
20656 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
20657 l_bflow_class_code := ''; -- 4219869 Business Flow
20658 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
20659 l_budgetary_control_flag := 'N';
20660
20661 l_bflow_applied_to_amt_idx := NULL; -- 5132302
20662 l_bflow_applied_to_amt := NULL; -- 5132302
20663 l_entered_amt_idx := NULL; -- 4262811
20664 l_accted_amt_idx := NULL; -- 4262811
20665 l_acc_rev_flag := NULL; -- 4262811
20666 l_accrual_line_num := NULL; -- 4262811
20667 l_tmp_amt := NULL; -- 4262811
20668 --
20669
20670 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
20671 l_balance_type_code <> 'B' THEN
20672 IF NVL(p_source_89,'
20673 ') <> 'ISSUE_ISSUE' AND
20674 NVL(p_source_90,'
20675 ') = 'BANK ERROR'
20676 THEN
20677
20678 --
20679 XLA_AE_LINES_PKG.SetNewLine;
20680
20681 p_balance_type_code := l_balance_type_code;
20682 -- set the flag so later we will know whether the gain loss line needs to be created
20683
20684 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
20685 p_actual_flag :='A';
20686 END IF;
20687
20688 --
20689 -- bulk performance
20690 --
20691 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
20692 p_header_num => 0); -- 4262811
20693 --
20694 -- set accounting line options
20695 --
20696 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
20697 p_natural_side_code => 'D'
20698 , p_gain_or_loss_flag => 'N'
20699 , p_gl_transfer_mode_code => 'S'
20700 , p_acct_entry_type_code => 'A'
20701 , p_switch_side_flag => 'Y'
20702 , p_merge_duplicate_code => 'A'
20703 );
20704 --
20705 l_acc_rev_natural_side_code := 'C'; -- 4262811
20706 --
20707 --
20708 -- set accounting line type info
20709 --
20710 xla_ae_lines_pkg.SetAcctLineType
20711 (p_component_type => l_component_type
20712 ,p_event_type_code => l_event_type_code
20713 ,p_line_definition_owner_code => l_line_definition_owner_code
20714 ,p_line_definition_code => l_line_definition_code
20715 ,p_accounting_line_code => l_component_code
20716 ,p_accounting_line_type_code => l_component_type_code
20717 ,p_accounting_line_appl_id => l_component_appl_id
20718 ,p_amb_context_code => l_amb_context_code
20719 ,p_entity_code => l_entity_code
20720 ,p_event_class_code => l_event_class_code);
20721 --
20722 -- set accounting class
20723 --
20724 xla_ae_lines_pkg.SetAcctClass(
20725 p_accounting_class_code => 'BANK_ERROR'
20726 , p_ae_header_id => l_ae_header_id
20727 );
20728
20729 --
20730 -- set rounding class
20731 --
20732 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
20733 'BANK_ERROR';
20734
20735 --
20736 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
20737 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
20738 --
20739 -- bulk performance
20740 --
20741 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
20742
20743 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
20744 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
20745
20746 -- 4955764
20747 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
20748 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
20749
20750 -- 4458381 Public Sector Enh
20751
20752 --
20753 -- set accounting attributes for the line type
20754 --
20755 l_entered_amt_idx := 10;
20756 l_accted_amt_idx := 15;
20757 l_bflow_applied_to_amt_idx := 2; -- 5132302
20758 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
20759 l_rec_acct_attrs.array_char_value(1) := p_source_41;
20760 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
20761 l_rec_acct_attrs.array_num_value(2) := p_source_91;
20762 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
20763 l_rec_acct_attrs.array_num_value(3) := p_source_79;
20764 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
20765 l_rec_acct_attrs.array_char_value(4) := p_source_92;
20766 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
20767 l_rec_acct_attrs.array_char_value(5) := p_source_93;
20768 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
20769 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
20770 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
20774 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
20771 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
20772 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
20773 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
20775 l_rec_acct_attrs.array_char_value(9) := p_source_43;
20776 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
20777 l_rec_acct_attrs.array_num_value(10) := p_source_91;
20778 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
20779 l_rec_acct_attrs.array_char_value(11) := p_source_97;
20780 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
20781 l_rec_acct_attrs.array_date_value(12) := p_source_98;
20782 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
20783 l_rec_acct_attrs.array_num_value(13) := p_source_99;
20784 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
20785 l_rec_acct_attrs.array_char_value(14) := p_source_100;
20786 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
20787 l_rec_acct_attrs.array_num_value(15) := p_source_101;
20788 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
20789 l_rec_acct_attrs.array_char_value(16) := p_source_68;
20790 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
20791 l_rec_acct_attrs.array_num_value(17) := p_source_102;
20792 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
20793 l_rec_acct_attrs.array_num_value(18) := p_source_103;
20794 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
20795 l_rec_acct_attrs.array_char_value(19) := p_source_71;
20796 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
20797 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
20798 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
20799 l_rec_acct_attrs.array_char_value(21) := p_source_43;
20800 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
20801 l_rec_acct_attrs.array_num_value(22) := p_source_74;
20802 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
20803 l_rec_acct_attrs.array_num_value(23) := p_source_74;
20804 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
20805 l_rec_acct_attrs.array_num_value(24) := p_source_76;
20806
20807 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
20808 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
20809
20810 ---------------------------------------------------------------------------------------------------------------
20811 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
20812 ---------------------------------------------------------------------------------------------------------------
20813 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
20814
20815 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20816 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
20817
20818 IF xla_accounting_cache_pkg.GetValueChar
20819 (p_source_code => 'LEDGER_CATEGORY_CODE'
20820 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
20821 AND l_bflow_method_code = 'PRIOR_ENTRY'
20822 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
20823 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
20824 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
20825 )
20826 THEN
20827 xla_ae_lines_pkg.BflowUpgEntry
20828 (p_business_method_code => l_bflow_method_code
20829 ,p_business_class_code => l_bflow_class_code
20830 ,p_balance_type => l_balance_type_code);
20831 ELSE
20832 NULL;
20833 -- No business flow processing for business flow method of NONE.
20834 END IF;
20835
20836 --
20837 -- call analytical criteria
20838 --
20839
20840 --
20841 -- call description
20842 --
20843 -- No description or it is inherited.
20844 --
20845 -- call ADRs
20846 -- Bug 4922099
20847 --
20848 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
20849 (NVL(l_actual_upg_option, 'N') = 'O') OR
20850 (NVL(l_enc_upg_option, 'N') = 'O')
20851 )
20852 THEN
20853 NULL;
20854 --
20855 --
20856
20857 l_ccid := AcctDerRule_26(
20858 p_application_id => p_application_id
20859 , p_ae_header_id => l_ae_header_id
20860 , p_source_3 => p_source_3
20861 , p_source_3_meaning => p_source_3_meaning
20862 , p_source_4 => p_source_4
20863 , p_source_18 => p_source_18
20864 , x_transaction_coa_id => l_adr_transaction_coa_id
20865 , x_accounting_coa_id => l_adr_accounting_coa_id
20866 , x_value_type_code => l_adr_value_type_code
20867 , p_side => 'NA'
20868 );
20869
20870 xla_ae_lines_pkg.set_ccid(
20871 p_code_combination_id => l_ccid
20872 , p_value_type_code => l_adr_value_type_code
20873 , p_transaction_coa_id => l_adr_transaction_coa_id
20874 , p_accounting_coa_id => l_adr_accounting_coa_id
20875 , p_adr_code => 'AP_BANK_ERRORS'
20876 , p_adr_type_code => 'S'
20880 , p_component_appl_id => l_component_appl_id
20877 , p_component_type => l_component_type
20878 , p_component_code => l_component_code
20879 , p_component_type_code => l_component_type_code
20881 , p_amb_context_code => l_amb_context_code
20882 , p_side => 'NA'
20883 );
20884
20885
20886 l_segment := AcctDerRule_4(
20887 p_application_id => p_application_id
20888 , p_ae_header_id => l_ae_header_id
20889 , p_source_3 => p_source_3
20890 , p_source_3_meaning => p_source_3_meaning
20891 , p_source_4 => p_source_4
20892 , x_transaction_coa_id => l_adr_transaction_coa_id
20893 , x_accounting_coa_id => l_adr_accounting_coa_id
20894 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20895 , x_flex_value_set_id => l_adr_flex_value_set_id
20896 , x_value_type_code => l_adr_value_type_code
20897 , x_value_combination_id => l_adr_value_combination_id
20898 , x_value_segment_code => l_adr_value_segment_code
20899 , p_side => 'NA'
20900 , p_override_seg_flag => 'Y'
20901 );
20902
20903 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20904
20905 xla_ae_lines_pkg.set_segment(
20906 p_to_segment_code => 'GL_ACCOUNT'
20907 , p_segment_value => l_segment
20908 , p_from_segment_code => l_adr_value_segment_code
20909 , p_from_combination_id => l_adr_value_combination_id
20910 , p_value_type_code => l_adr_value_type_code
20911 , p_transaction_coa_id => l_adr_transaction_coa_id
20912 , p_accounting_coa_id => l_adr_accounting_coa_id
20913 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20914 , p_flex_value_set_id => l_adr_flex_value_set_id
20915 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
20916 , p_adr_type_code => 'S'
20917 , p_component_type => l_component_type
20918 , p_component_code => l_component_code
20919 , p_component_type_code => l_component_type_code
20920 , p_component_appl_id => l_component_appl_id
20921 , p_amb_context_code => l_amb_context_code
20922 , p_entity_code => 'AP_PAYMENTS'
20923 , p_event_class_code => 'RECONCILED PAYMENTS'
20924 , p_side => 'NA'
20925 );
20926
20927 END IF;
20928
20929 l_segment := AcctDerRule_21(
20930 p_application_id => p_application_id
20931 , p_ae_header_id => l_ae_header_id
20932 , p_source_3 => p_source_3
20933 , p_source_3_meaning => p_source_3_meaning
20934 , p_source_18 => p_source_18
20935 , x_transaction_coa_id => l_adr_transaction_coa_id
20936 , x_accounting_coa_id => l_adr_accounting_coa_id
20937 , x_flexfield_segment_code => l_adr_flexfield_segment_code
20938 , x_flex_value_set_id => l_adr_flex_value_set_id
20939 , x_value_type_code => l_adr_value_type_code
20940 , x_value_combination_id => l_adr_value_combination_id
20941 , x_value_segment_code => l_adr_value_segment_code
20942 , p_side => 'NA'
20943 , p_override_seg_flag => 'Y'
20944 );
20945
20946 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
20947
20948 xla_ae_lines_pkg.set_segment(
20949 p_to_segment_code => 'GL_BALANCING'
20950 , p_segment_value => l_segment
20951 , p_from_segment_code => l_adr_value_segment_code
20952 , p_from_combination_id => l_adr_value_combination_id
20953 , p_value_type_code => l_adr_value_type_code
20954 , p_transaction_coa_id => l_adr_transaction_coa_id
20955 , p_accounting_coa_id => l_adr_accounting_coa_id
20956 , p_flexfield_segment_code => l_adr_flexfield_segment_code
20957 , p_flex_value_set_id => l_adr_flex_value_set_id
20958 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
20959 , p_adr_type_code => 'S'
20960 , p_component_type => l_component_type
20961 , p_component_code => l_component_code
20962 , p_component_type_code => l_component_type_code
20963 , p_component_appl_id => l_component_appl_id
20964 , p_amb_context_code => l_amb_context_code
20965 , p_entity_code => 'AP_PAYMENTS'
20966 , p_event_class_code => 'RECONCILED PAYMENTS'
20967 , p_side => 'NA'
20968 );
20969
20970 END IF;
20971
20972 --
20973 --
20974 END IF;
20975 --
20976 -- Bug 4922099
20977 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
20978 (NVL(l_enc_upg_option, 'N') = 'O')
20979 ) AND
20980 (l_bflow_method_code = 'PRIOR_ENTRY')
20981 )
20982 THEN
20983 IF
20984 --
20985 1 = 2
20986 --
20987 THEN
20988 xla_accounting_err_pkg.build_message
20989 (p_appli_s_name => 'XLA'
20990 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
20994 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
20991 ,p_token_1 => 'LINE_NUMBER'
20992 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
20993 ,p_token_2 => 'LINE_TYPE_NAME'
20995 l_component_type
20996 ,l_component_code
20997 ,l_component_type_code
20998 ,l_component_appl_id
20999 ,l_amb_context_code
21000 ,l_entity_code
21001 ,l_event_class_code
21002 )
21003 ,p_token_3 => 'OWNER'
21004 ,p_value_3 => xla_lookups_pkg.get_meaning(
21005 p_lookup_type => 'XLA_OWNER_TYPE'
21006 ,p_lookup_code => l_component_type_code
21007 )
21008 ,p_token_4 => 'PRODUCT_NAME'
21009 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
21010 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
21011 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
21012 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
21013 ,p_ae_header_id => NULL
21014 );
21015
21016 IF (C_LEVEL_ERROR>= g_log_level) THEN
21017 trace
21018 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21019 ,p_level => C_LEVEL_ERROR
21020 ,p_module => l_log_module);
21021 END IF;
21022 END IF;
21023 END IF;
21024 --
21025 --
21026 ------------------------------------------------------------------------------------------------
21027 -- 4219869 Business Flow
21028 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21029 -- Prior Entry. Currently, the following code is always generated.
21030 ------------------------------------------------------------------------------------------------
21031 XLA_AE_LINES_PKG.ValidateCurrentLine;
21032
21033 ------------------------------------------------------------------------------------
21034 -- 4219869 Business Flow
21035 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21036 ------------------------------------------------------------------------------------
21037 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21038
21039 ----------------------------------------------------------------------------------
21040 -- 4219869 Business Flow
21041 -- Update journal entry status -- Need to generate this within IF <condition>
21042 ----------------------------------------------------------------------------------
21043 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21044 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21045 ,p_balance_type_code => l_balance_type_code
21046 );
21047
21048 -------------------------------------------------------------------------------------------
21049 -- 4262811 - Generate the Accrual Reversal lines
21050 -------------------------------------------------------------------------------------------
21051 BEGIN
21052 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21053 (g_array_event(p_event_id).array_value_num('header_index'));
21054 IF l_acc_rev_flag IS NULL THEN
21055 l_acc_rev_flag := 'N';
21056 END IF;
21057 EXCEPTION
21058 WHEN OTHERS THEN
21059 l_acc_rev_flag := 'N';
21060 END;
21061 --
21062 IF (l_acc_rev_flag = 'Y') THEN
21063
21064 -- 4645092 ------------------------------------------------------------------------------
21065 -- To allow MPA report to determine if it should generate report process
21066 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21067 ------------------------------------------------------------------------------------------
21068
21069 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21070 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21071 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21072 -- call ADRs
21073 -- Bug 4922099
21074 --
21075 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21076 (NVL(l_actual_upg_option, 'N') = 'O') OR
21077 (NVL(l_enc_upg_option, 'N') = 'O')
21078 )
21079 THEN
21080 NULL;
21081 --
21082 --
21083
21087 , p_source_3 => p_source_3
21084 l_ccid := AcctDerRule_26(
21085 p_application_id => p_application_id
21086 , p_ae_header_id => l_ae_header_id
21088 , p_source_3_meaning => p_source_3_meaning
21089 , p_source_4 => p_source_4
21090 , p_source_18 => p_source_18
21091 , x_transaction_coa_id => l_adr_transaction_coa_id
21092 , x_accounting_coa_id => l_adr_accounting_coa_id
21093 , x_value_type_code => l_adr_value_type_code
21094 , p_side => 'NA'
21095 );
21096
21097 xla_ae_lines_pkg.set_ccid(
21098 p_code_combination_id => l_ccid
21099 , p_value_type_code => l_adr_value_type_code
21100 , p_transaction_coa_id => l_adr_transaction_coa_id
21101 , p_accounting_coa_id => l_adr_accounting_coa_id
21102 , p_adr_code => 'AP_BANK_ERRORS'
21103 , p_adr_type_code => 'S'
21104 , p_component_type => l_component_type
21105 , p_component_code => l_component_code
21106 , p_component_type_code => l_component_type_code
21107 , p_component_appl_id => l_component_appl_id
21108 , p_amb_context_code => l_amb_context_code
21109 , p_side => 'NA'
21110 );
21111
21112
21113 l_segment := AcctDerRule_4(
21114 p_application_id => p_application_id
21115 , p_ae_header_id => l_ae_header_id
21116 , p_source_3 => p_source_3
21117 , p_source_3_meaning => p_source_3_meaning
21118 , p_source_4 => p_source_4
21119 , x_transaction_coa_id => l_adr_transaction_coa_id
21120 , x_accounting_coa_id => l_adr_accounting_coa_id
21121 , x_flexfield_segment_code => l_adr_flexfield_segment_code
21122 , x_flex_value_set_id => l_adr_flex_value_set_id
21123 , x_value_type_code => l_adr_value_type_code
21124 , x_value_combination_id => l_adr_value_combination_id
21125 , x_value_segment_code => l_adr_value_segment_code
21126 , p_side => 'NA'
21127 , p_override_seg_flag => 'Y'
21128 );
21129
21130 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21131
21132 xla_ae_lines_pkg.set_segment(
21133 p_to_segment_code => 'GL_ACCOUNT'
21134 , p_segment_value => l_segment
21135 , p_from_segment_code => l_adr_value_segment_code
21136 , p_from_combination_id => l_adr_value_combination_id
21137 , p_value_type_code => l_adr_value_type_code
21138 , p_transaction_coa_id => l_adr_transaction_coa_id
21139 , p_accounting_coa_id => l_adr_accounting_coa_id
21140 , p_flexfield_segment_code => l_adr_flexfield_segment_code
21141 , p_flex_value_set_id => l_adr_flex_value_set_id
21142 , p_adr_code => 'AP_BANK_ERRORS_NAT_ACCT_SEG'
21143 , p_adr_type_code => 'S'
21144 , p_component_type => l_component_type
21145 , p_component_code => l_component_code
21146 , p_component_type_code => l_component_type_code
21147 , p_component_appl_id => l_component_appl_id
21148 , p_amb_context_code => l_amb_context_code
21149 , p_entity_code => 'AP_PAYMENTS'
21150 , p_event_class_code => 'RECONCILED PAYMENTS'
21151 , p_side => 'NA'
21152 );
21153
21154 END IF;
21155
21156 l_segment := AcctDerRule_21(
21157 p_application_id => p_application_id
21158 , p_ae_header_id => l_ae_header_id
21159 , p_source_3 => p_source_3
21160 , p_source_3_meaning => p_source_3_meaning
21161 , p_source_18 => p_source_18
21162 , x_transaction_coa_id => l_adr_transaction_coa_id
21163 , x_accounting_coa_id => l_adr_accounting_coa_id
21164 , x_flexfield_segment_code => l_adr_flexfield_segment_code
21165 , x_flex_value_set_id => l_adr_flex_value_set_id
21166 , x_value_type_code => l_adr_value_type_code
21167 , x_value_combination_id => l_adr_value_combination_id
21168 , x_value_segment_code => l_adr_value_segment_code
21169 , p_side => 'NA'
21170 , p_override_seg_flag => 'Y'
21171 );
21172
21173 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21174
21175 xla_ae_lines_pkg.set_segment(
21176 p_to_segment_code => 'GL_BALANCING'
21177 , p_segment_value => l_segment
21178 , p_from_segment_code => l_adr_value_segment_code
21179 , p_from_combination_id => l_adr_value_combination_id
21180 , p_value_type_code => l_adr_value_type_code
21181 , p_transaction_coa_id => l_adr_transaction_coa_id
21182 , p_accounting_coa_id => l_adr_accounting_coa_id
21183 , p_flexfield_segment_code => l_adr_flexfield_segment_code
21184 , p_flex_value_set_id => l_adr_flex_value_set_id
21185 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
21186 , p_adr_type_code => 'S'
21187 , p_component_type => l_component_type
21188 , p_component_code => l_component_code
21189 , p_component_type_code => l_component_type_code
21193 , p_event_class_code => 'RECONCILED PAYMENTS'
21190 , p_component_appl_id => l_component_appl_id
21191 , p_amb_context_code => l_amb_context_code
21192 , p_entity_code => 'AP_PAYMENTS'
21194 , p_side => 'NA'
21195 );
21196
21197 END IF;
21198
21199 --
21200 --
21201 END IF;
21202
21203 --
21204 -- Update the line information that should be overwritten
21205 --
21206 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21207 p_header_num => 1);
21208 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21209
21210 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21211
21212 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21213 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21214 END IF;
21215
21216 --
21217 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21218 --
21219 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21220 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21221 ELSE
21222 ---------------------------------------------------------------------------------------------------
21223 -- 4262811a Switch Sign
21224 ---------------------------------------------------------------------------------------------------
21225 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21226 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21227 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21228 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21229 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21230 -- 5132302
21231 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
21232 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21233
21234 END IF;
21235
21236 -- 4955764
21237 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21238 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
21239
21240
21241 XLA_AE_LINES_PKG.ValidateCurrentLine;
21242 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21243
21244 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21245 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
21246 ,p_balance_type_code => l_balance_type_code);
21247
21248 END IF;
21249
21250 -----------------------------------------------------------------------------------------
21251 -- 4262811 Multiperiod Accounting
21252 -----------------------------------------------------------------------------------------
21253 -- No MPA option is assigned.
21254
21255
21256 END IF;
21257 END IF;
21258 --
21259
21260 --
21261 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21262 trace
21263 (p_msg => 'END of AcctLineType_64'
21264 ,p_level => C_LEVEL_PROCEDURE
21265 ,p_module => l_log_module);
21266 END IF;
21267 --
21268 EXCEPTION
21269 WHEN xla_exceptions_pkg.application_exception THEN
21270 RAISE;
21271 WHEN OTHERS THEN
21272 xla_exceptions_pkg.raise_message
21273 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_64');
21274 END AcctLineType_64;
21275 --
21276
21277 ---------------------------------------
21278 --
21279 -- PRIVATE FUNCTION
21280 -- AcctLineType_65
21281 --
21282 ---------------------------------------
21283 PROCEDURE AcctLineType_65 (
21284 p_application_id IN NUMBER
21285 ,p_event_id IN NUMBER
21286 ,p_calculate_acctd_flag IN VARCHAR2
21287 ,p_calculate_g_l_flag IN VARCHAR2
21288 ,p_actual_flag IN OUT VARCHAR2
21289 ,p_balance_type_code OUT VARCHAR2
21290 ,p_gain_or_loss_ref OUT VARCHAR2
21291
21292 --Automatic Offsets Value
21293 , p_source_3 IN VARCHAR2
21294 , p_source_3_meaning IN VARCHAR2
21295 --Bank Cash Account
21296 , p_source_5 IN NUMBER
21297 --Accounting Reversal Indicator
21298 , p_source_41 IN VARCHAR2
21299 --Distribution Link Type
21300 , p_source_43 IN VARCHAR2
21301 --Override Accounted Amount Indicator
21302 , p_source_68 IN VARCHAR2
21303 , p_source_68_meaning IN VARCHAR2
21304 --Third Party Type
21305 , p_source_71 IN VARCHAR2
21306 --Invoice Distribution Tax Line Identifier
21307 , p_source_74 IN NUMBER
21308 --Invoice Distribution Summary Tax Line Identifier
21309 , p_source_76 IN NUMBER
21310 --Business Flow Accounts Payable Application Identifier
21311 , p_source_79 IN NUMBER
21312 --When to Account for Payment Option
21316 , p_source_90_meaning IN VARCHAR2
21313 , p_source_89 IN VARCHAR2
21314 --Payment Distribution Type
21315 , p_source_90 IN VARCHAR2
21317 --Payment Distribution Amount
21318 , p_source_91 IN NUMBER
21319 --Business Flow Payment Distribution Type
21320 , p_source_92 IN VARCHAR2
21321 --Business Flow Payment Entity Code
21322 , p_source_93 IN VARCHAR2
21323 --Business Flow Payment Distribution Identifier
21324 , p_source_94 IN NUMBER
21325 --Business Flow Payment Identifier
21326 , p_source_95 IN NUMBER
21327 --Payment Distribution Identifier
21328 , p_source_96 IN NUMBER
21329 --Cleared Exchange Date
21330 , p_source_98 IN DATE
21331 --Cleared Exchange Rate
21332 , p_source_99 IN NUMBER
21333 --Cleared Exchange Rate Type
21334 , p_source_100 IN VARCHAR2
21335 --Payment Distribution (Cleared Rate) Ledger Amount
21336 , p_source_101 IN NUMBER
21337 --Payment Supplier Identifier
21338 , p_source_102 IN NUMBER
21339 --Payment Supplier Site Identifier
21340 , p_source_103 IN NUMBER
21341 --Payment Distribution Reversed Identifier
21342 , p_source_104 IN NUMBER
21343 --Pooled Bank Account Option
21344 , p_source_105 IN VARCHAR2
21345 , p_source_105_meaning IN VARCHAR2
21346 --Payment Currency Code
21347 , p_source_106 IN VARCHAR2
21348 )
21349 IS
21350
21351 l_component_type VARCHAR2(80);
21352 l_component_code VARCHAR2(30);
21353 l_component_type_code VARCHAR2(1);
21354 l_component_appl_id INTEGER;
21355 l_amb_context_code VARCHAR2(30);
21356 l_entity_code VARCHAR2(30);
21357 l_event_class_code VARCHAR2(30);
21358 l_ae_header_id NUMBER;
21359 l_event_type_code VARCHAR2(30);
21360 l_line_definition_code VARCHAR2(30);
21361 l_line_definition_owner_code VARCHAR2(1);
21362 --
21363 -- adr variables
21364 l_segment VARCHAR2(30);
21365 l_ccid NUMBER;
21366 l_adr_transaction_coa_id NUMBER;
21367 l_adr_accounting_coa_id NUMBER;
21368 l_adr_flexfield_segment_code VARCHAR2(30);
21369 l_adr_flex_value_set_id NUMBER;
21370 l_adr_value_type_code VARCHAR2(30);
21371 l_adr_value_combination_id NUMBER;
21372 l_adr_value_segment_code VARCHAR2(30);
21373
21374 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
21375 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
21376 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
21377 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
21378
21379 -- 4262811 Variables ------------------------------------------------------------------------------------------
21380 l_entered_amt_idx NUMBER;
21381 l_accted_amt_idx NUMBER;
21382 l_acc_rev_flag VARCHAR2(1);
21383 l_accrual_line_num NUMBER;
21384 l_tmp_amt NUMBER;
21385 l_acc_rev_natural_side_code VARCHAR2(1);
21386
21387 l_num_entries NUMBER;
21388 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
21389 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
21390 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
21391 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
21392 l_recog_line_1 NUMBER;
21393 l_recog_line_2 NUMBER;
21394
21395 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
21396 l_bflow_applied_to_amt NUMBER; -- 5132302
21397 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
21398
21399 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
21400
21401 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
21402 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
21403
21404 ---------------------------------------------------------------------------------------------------------------
21405
21406
21407 --
21408 -- bulk performance
21409 --
21410 l_balance_type_code VARCHAR2(1);
21411 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
21412 l_log_module VARCHAR2(240);
21413
21414 --
21415 -- Upgrade strategy
21416 --
21417 l_actual_upg_option VARCHAR2(1);
21418 l_enc_upg_option VARCHAR2(1);
21419
21420 --
21421 BEGIN
21422 --
21423 IF g_log_enabled THEN
21424 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_65';
21425 END IF;
21426 --
21427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
21428
21429 trace
21430 (p_msg => 'BEGIN of AcctLineType_65'
21431 ,p_level => C_LEVEL_PROCEDURE
21432 ,p_module => l_log_module);
21433
21434 END IF;
21435 --
21436 l_component_type := 'AMB_JLT';
21437 l_component_code := 'AP_CASH_CLEARONLY_AOS_AS';
21438 l_component_type_code := 'S';
21439 l_component_appl_id := 200;
21440 l_amb_context_code := 'DEFAULT';
21444 l_line_definition_owner_code := 'S';
21441 l_entity_code := 'AP_PAYMENTS';
21442 l_event_class_code := 'RECONCILED PAYMENTS';
21443 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
21445 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
21446 --
21447 l_balance_type_code := 'A';
21448 l_segment := NULL;
21449 l_ccid := NULL;
21450 l_adr_transaction_coa_id := NULL;
21451 l_adr_accounting_coa_id := NULL;
21452 l_adr_flexfield_segment_code := NULL;
21453 l_adr_flex_value_set_id := NULL;
21454 l_adr_value_type_code := NULL;
21455 l_adr_value_combination_id := NULL;
21456 l_adr_value_segment_code := NULL;
21457
21458 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
21459 l_bflow_class_code := ''; -- 4219869 Business Flow
21460 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
21461 l_budgetary_control_flag := 'N';
21462
21463 l_bflow_applied_to_amt_idx := NULL; -- 5132302
21464 l_bflow_applied_to_amt := NULL; -- 5132302
21465 l_entered_amt_idx := NULL; -- 4262811
21466 l_accted_amt_idx := NULL; -- 4262811
21467 l_acc_rev_flag := NULL; -- 4262811
21468 l_accrual_line_num := NULL; -- 4262811
21469 l_tmp_amt := NULL; -- 4262811
21470 --
21471
21472 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
21473 l_balance_type_code <> 'B' THEN
21474 IF NVL(p_source_89,'
21475 ') <> 'ISSUE_ISSUE' AND
21476 (NVL(p_source_105,'
21477 ') = 'Y' AND
21478 NVL(p_source_3,'
21479 ') = 'ACCOUNT_SEGMENT_VALUE') AND
21480 (NVL(p_source_90,'
21481 ') = 'CASH' OR
21482 NVL(p_source_90,'
21483 ') = 'BANK CHARGE' OR
21484 NVL(p_source_90,'
21485 ') = 'BANK ERROR')
21486 THEN
21487
21488 --
21489 XLA_AE_LINES_PKG.SetNewLine;
21490
21491 p_balance_type_code := l_balance_type_code;
21492 -- set the flag so later we will know whether the gain loss line needs to be created
21493
21494 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
21495 p_actual_flag :='A';
21496 END IF;
21497
21498 --
21499 -- bulk performance
21500 --
21501 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
21502 p_header_num => 0); -- 4262811
21503 --
21504 -- set accounting line options
21505 --
21506 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
21507 p_natural_side_code => 'C'
21508 , p_gain_or_loss_flag => 'N'
21509 , p_gl_transfer_mode_code => 'S'
21510 , p_acct_entry_type_code => 'A'
21511 , p_switch_side_flag => 'Y'
21512 , p_merge_duplicate_code => 'A'
21513 );
21514 --
21515 l_acc_rev_natural_side_code := 'D'; -- 4262811
21516 --
21517 --
21518 -- set accounting line type info
21519 --
21520 xla_ae_lines_pkg.SetAcctLineType
21521 (p_component_type => l_component_type
21522 ,p_event_type_code => l_event_type_code
21523 ,p_line_definition_owner_code => l_line_definition_owner_code
21524 ,p_line_definition_code => l_line_definition_code
21525 ,p_accounting_line_code => l_component_code
21526 ,p_accounting_line_type_code => l_component_type_code
21527 ,p_accounting_line_appl_id => l_component_appl_id
21528 ,p_amb_context_code => l_amb_context_code
21529 ,p_entity_code => l_entity_code
21530 ,p_event_class_code => l_event_class_code);
21531 --
21532 -- set accounting class
21533 --
21534 xla_ae_lines_pkg.SetAcctClass(
21535 p_accounting_class_code => 'CASH'
21536 , p_ae_header_id => l_ae_header_id
21537 );
21538
21539 --
21540 -- set rounding class
21541 --
21542 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
21543 'CASH';
21544
21545 --
21546 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
21547 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
21548 --
21549 -- bulk performance
21550 --
21551 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
21552
21553 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
21554 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
21555
21556 -- 4955764
21557 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
21558 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
21559
21560 -- 4458381 Public Sector Enh
21561
21562 --
21563 -- set accounting attributes for the line type
21564 --
21565 l_entered_amt_idx := 10;
21566 l_accted_amt_idx := 15;
21567 l_bflow_applied_to_amt_idx := 2; -- 5132302
21568 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
21569 l_rec_acct_attrs.array_char_value(1) := p_source_41;
21573 l_rec_acct_attrs.array_num_value(3) := p_source_79;
21570 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
21571 l_rec_acct_attrs.array_num_value(2) := p_source_91;
21572 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
21574 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
21575 l_rec_acct_attrs.array_char_value(4) := p_source_92;
21576 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
21577 l_rec_acct_attrs.array_char_value(5) := p_source_93;
21578 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
21579 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
21580 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
21581 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
21582 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
21583 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
21584 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
21585 l_rec_acct_attrs.array_char_value(9) := p_source_43;
21586 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
21587 l_rec_acct_attrs.array_num_value(10) := p_source_91;
21588 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
21589 l_rec_acct_attrs.array_char_value(11) := p_source_106;
21590 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
21591 l_rec_acct_attrs.array_date_value(12) := p_source_98;
21592 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
21593 l_rec_acct_attrs.array_num_value(13) := p_source_99;
21594 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
21595 l_rec_acct_attrs.array_char_value(14) := p_source_100;
21596 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
21597 l_rec_acct_attrs.array_num_value(15) := p_source_101;
21598 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
21599 l_rec_acct_attrs.array_char_value(16) := p_source_68;
21600 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
21601 l_rec_acct_attrs.array_num_value(17) := p_source_102;
21602 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
21603 l_rec_acct_attrs.array_num_value(18) := p_source_103;
21604 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
21605 l_rec_acct_attrs.array_char_value(19) := p_source_71;
21606 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
21607 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
21608 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
21609 l_rec_acct_attrs.array_char_value(21) := p_source_43;
21610 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
21611 l_rec_acct_attrs.array_num_value(22) := p_source_74;
21612 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
21613 l_rec_acct_attrs.array_num_value(23) := p_source_74;
21614 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
21615 l_rec_acct_attrs.array_num_value(24) := p_source_76;
21616
21617 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
21618 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
21619
21620 ---------------------------------------------------------------------------------------------------------------
21621 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
21622 ---------------------------------------------------------------------------------------------------------------
21623 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
21624
21625 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21626 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
21627
21628 IF xla_accounting_cache_pkg.GetValueChar
21629 (p_source_code => 'LEDGER_CATEGORY_CODE'
21630 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
21631 AND l_bflow_method_code = 'PRIOR_ENTRY'
21632 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
21633 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
21634 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
21635 )
21636 THEN
21637 xla_ae_lines_pkg.BflowUpgEntry
21638 (p_business_method_code => l_bflow_method_code
21639 ,p_business_class_code => l_bflow_class_code
21640 ,p_balance_type => l_balance_type_code);
21641 ELSE
21642 NULL;
21643 XLA_AE_LINES_PKG.business_flow_validation(
21644 p_business_method_code => l_bflow_method_code
21645 ,p_business_class_code => l_bflow_class_code
21646 ,p_inherit_description_flag => l_inherit_desc_flag);
21647 END IF;
21648
21649 --
21650 -- call analytical criteria
21651 --
21652
21653 --
21654 -- call description
21655 --
21656 -- No description or it is inherited.
21657 --
21658 -- call ADRs
21659 -- Bug 4922099
21660 --
21661 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21662 (NVL(l_actual_upg_option, 'N') = 'O') OR
21663 (NVL(l_enc_upg_option, 'N') = 'O')
21664 )
21665 THEN
21666 NULL;
21667 --
21668 --
21672 , p_value_type_code => NULL
21669
21670 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
21671 p_code_combination_id => TO_NUMBER(C_NUM)
21673 , p_transaction_coa_id => null
21674 , p_accounting_coa_id => null
21675 , p_adr_code => NULL
21676 , p_adr_type_code => NULL
21677 , p_component_type => l_component_type
21678 , p_component_code => l_component_code
21679 , p_component_type_code => l_component_type_code
21680 , p_component_appl_id => l_component_appl_id
21681 , p_amb_context_code => l_amb_context_code
21682 , p_side => NULL
21683 );
21684
21685
21686 -- initialise segments
21687 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21688 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21689 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21690 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21691 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21692 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21693 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21694 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21695 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21696 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21697 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21698 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21699 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21700 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21701 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21702 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21703 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21704 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21705 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21706 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21707 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21708 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21709 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21710 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21711 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21712 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21713 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21714 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21715 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21716 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21717 --
21718
21719 --
21720
21721
21722 l_segment := AcctDerRule_5(
21723 p_application_id => p_application_id
21724 , p_ae_header_id => l_ae_header_id
21725 , p_source_5 => p_source_5
21726 , x_transaction_coa_id => l_adr_transaction_coa_id
21727 , x_accounting_coa_id => l_adr_accounting_coa_id
21728 , x_flexfield_segment_code => l_adr_flexfield_segment_code
21729 , x_flex_value_set_id => l_adr_flex_value_set_id
21730 , x_value_type_code => l_adr_value_type_code
21731 , x_value_combination_id => l_adr_value_combination_id
21732 , x_value_segment_code => l_adr_value_segment_code
21733 , p_side => 'NA'
21734 , p_override_seg_flag => 'Y'
21735 );
21736
21737 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21738
21739 xla_ae_lines_pkg.set_segment(
21740 p_to_segment_code => 'GL_ACCOUNT'
21741 , p_segment_value => l_segment
21742 , p_from_segment_code => l_adr_value_segment_code
21743 , p_from_combination_id => l_adr_value_combination_id
21744 , p_value_type_code => l_adr_value_type_code
21745 , p_transaction_coa_id => l_adr_transaction_coa_id
21746 , p_accounting_coa_id => l_adr_accounting_coa_id
21747 , p_flexfield_segment_code => l_adr_flexfield_segment_code
21748 , p_flex_value_set_id => l_adr_flex_value_set_id
21749 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
21750 , p_adr_type_code => 'S'
21751 , p_component_type => l_component_type
21752 , p_component_code => l_component_code
21753 , p_component_type_code => l_component_type_code
21754 , p_component_appl_id => l_component_appl_id
21755 , p_amb_context_code => l_amb_context_code
21756 , p_entity_code => 'AP_PAYMENTS'
21757 , p_event_class_code => 'RECONCILED PAYMENTS'
21761 END IF;
21758 , p_side => 'NA'
21759 );
21760
21762
21763 --
21764 --
21765 END IF;
21766 --
21767 -- Bug 4922099
21768 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
21769 (NVL(l_enc_upg_option, 'N') = 'O')
21770 ) AND
21771 (l_bflow_method_code = 'PRIOR_ENTRY')
21772 )
21773 THEN
21774 IF
21775 --
21776 1 = 2
21777 --
21778 THEN
21779 xla_accounting_err_pkg.build_message
21780 (p_appli_s_name => 'XLA'
21781 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21782 ,p_token_1 => 'LINE_NUMBER'
21783 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
21784 ,p_token_2 => 'LINE_TYPE_NAME'
21785 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
21786 l_component_type
21787 ,l_component_code
21788 ,l_component_type_code
21789 ,l_component_appl_id
21790 ,l_amb_context_code
21791 ,l_entity_code
21792 ,l_event_class_code
21793 )
21794 ,p_token_3 => 'OWNER'
21795 ,p_value_3 => xla_lookups_pkg.get_meaning(
21796 p_lookup_type => 'XLA_OWNER_TYPE'
21797 ,p_lookup_code => l_component_type_code
21798 )
21799 ,p_token_4 => 'PRODUCT_NAME'
21800 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
21801 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
21802 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
21803 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
21804 ,p_ae_header_id => NULL
21805 );
21806
21807 IF (C_LEVEL_ERROR>= g_log_level) THEN
21808 trace
21809 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
21810 ,p_level => C_LEVEL_ERROR
21811 ,p_module => l_log_module);
21812 END IF;
21813 END IF;
21814 END IF;
21815 --
21816 --
21817 ------------------------------------------------------------------------------------------------
21818 -- 4219869 Business Flow
21819 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
21820 -- Prior Entry. Currently, the following code is always generated.
21821 ------------------------------------------------------------------------------------------------
21822 XLA_AE_LINES_PKG.ValidateCurrentLine;
21823
21824 ------------------------------------------------------------------------------------
21825 -- 4219869 Business Flow
21826 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
21827 ------------------------------------------------------------------------------------
21828 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
21829
21830 ----------------------------------------------------------------------------------
21831 -- 4219869 Business Flow
21832 -- Update journal entry status -- Need to generate this within IF <condition>
21833 ----------------------------------------------------------------------------------
21834 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
21835 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
21836 ,p_balance_type_code => l_balance_type_code
21837 );
21838
21839 -------------------------------------------------------------------------------------------
21840 -- 4262811 - Generate the Accrual Reversal lines
21841 -------------------------------------------------------------------------------------------
21842 BEGIN
21843 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
21844 (g_array_event(p_event_id).array_value_num('header_index'));
21845 IF l_acc_rev_flag IS NULL THEN
21846 l_acc_rev_flag := 'N';
21847 END IF;
21848 EXCEPTION
21849 WHEN OTHERS THEN
21850 l_acc_rev_flag := 'N';
21851 END;
21852 --
21853 IF (l_acc_rev_flag = 'Y') THEN
21854
21855 -- 4645092 ------------------------------------------------------------------------------
21856 -- To allow MPA report to determine if it should generate report process
21860 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
21857 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
21858 ------------------------------------------------------------------------------------------
21859
21861 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
21862 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
21863 -- call ADRs
21864 -- Bug 4922099
21865 --
21866 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
21867 (NVL(l_actual_upg_option, 'N') = 'O') OR
21868 (NVL(l_enc_upg_option, 'N') = 'O')
21869 )
21870 THEN
21871 NULL;
21872 --
21873 --
21874
21875 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
21876 p_code_combination_id => TO_NUMBER(C_NUM)
21877 , p_value_type_code => NULL
21878 , p_transaction_coa_id => null
21879 , p_accounting_coa_id => null
21880 , p_adr_code => NULL
21881 , p_adr_type_code => NULL
21882 , p_component_type => l_component_type
21883 , p_component_code => l_component_code
21884 , p_component_type_code => l_component_type_code
21885 , p_component_appl_id => l_component_appl_id
21886 , p_amb_context_code => l_amb_context_code
21887 , p_side => NULL
21888 );
21889
21890
21891 -- initialise segments
21892 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21893 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21894 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21895 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21896 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21897 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21898 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21899 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21900 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21901 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21902 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21903 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21904 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21905 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21906 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21907 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21908 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21909 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21910 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21911 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21912 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21913 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21914 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21915 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21916 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21917 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21918 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21919 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21920 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21921 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
21922 --
21923
21924 --
21925
21926
21927 l_segment := AcctDerRule_5(
21928 p_application_id => p_application_id
21929 , p_ae_header_id => l_ae_header_id
21930 , p_source_5 => p_source_5
21931 , x_transaction_coa_id => l_adr_transaction_coa_id
21932 , x_accounting_coa_id => l_adr_accounting_coa_id
21933 , x_flexfield_segment_code => l_adr_flexfield_segment_code
21934 , x_flex_value_set_id => l_adr_flex_value_set_id
21935 , x_value_type_code => l_adr_value_type_code
21936 , x_value_combination_id => l_adr_value_combination_id
21937 , x_value_segment_code => l_adr_value_segment_code
21938 , p_side => 'NA'
21939 , p_override_seg_flag => 'Y'
21940 );
21941
21942 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
21943
21944 xla_ae_lines_pkg.set_segment(
21945 p_to_segment_code => 'GL_ACCOUNT'
21946 , p_segment_value => l_segment
21947 , p_from_segment_code => l_adr_value_segment_code
21948 , p_from_combination_id => l_adr_value_combination_id
21949 , p_value_type_code => l_adr_value_type_code
21950 , p_transaction_coa_id => l_adr_transaction_coa_id
21951 , p_accounting_coa_id => l_adr_accounting_coa_id
21955 , p_adr_type_code => 'S'
21952 , p_flexfield_segment_code => l_adr_flexfield_segment_code
21953 , p_flex_value_set_id => l_adr_flex_value_set_id
21954 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
21956 , p_component_type => l_component_type
21957 , p_component_code => l_component_code
21958 , p_component_type_code => l_component_type_code
21959 , p_component_appl_id => l_component_appl_id
21960 , p_amb_context_code => l_amb_context_code
21961 , p_entity_code => 'AP_PAYMENTS'
21962 , p_event_class_code => 'RECONCILED PAYMENTS'
21963 , p_side => 'NA'
21964 );
21965
21966 END IF;
21967
21968 --
21969 --
21970 END IF;
21971
21972 --
21973 -- Update the line information that should be overwritten
21974 --
21975 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
21976 p_header_num => 1);
21977 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
21978
21979 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
21980
21981 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
21982 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
21983 END IF;
21984
21985 --
21986 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
21987 --
21988 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
21989 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
21990 ELSE
21991 ---------------------------------------------------------------------------------------------------
21992 -- 4262811a Switch Sign
21993 ---------------------------------------------------------------------------------------------------
21994 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
21995 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21996 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21997 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
21998 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
21999 -- 5132302
22000 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22001 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22002
22003 END IF;
22004
22005 -- 4955764
22006 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22007 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22008
22009
22010 XLA_AE_LINES_PKG.ValidateCurrentLine;
22011 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22012
22013 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22014 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22015 ,p_balance_type_code => l_balance_type_code);
22016
22017 END IF;
22018
22019 -----------------------------------------------------------------------------------------
22020 -- 4262811 Multiperiod Accounting
22021 -----------------------------------------------------------------------------------------
22022 -- No MPA option is assigned.
22023
22024
22025 END IF;
22026 END IF;
22027 --
22028
22029 --
22030 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22031 trace
22032 (p_msg => 'END of AcctLineType_65'
22033 ,p_level => C_LEVEL_PROCEDURE
22034 ,p_module => l_log_module);
22035 END IF;
22036 --
22037 EXCEPTION
22038 WHEN xla_exceptions_pkg.application_exception THEN
22039 RAISE;
22040 WHEN OTHERS THEN
22041 xla_exceptions_pkg.raise_message
22042 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_65');
22043 END AcctLineType_65;
22044 --
22045
22046 ---------------------------------------
22047 --
22048 -- PRIVATE FUNCTION
22049 -- AcctLineType_66
22050 --
22051 ---------------------------------------
22052 PROCEDURE AcctLineType_66 (
22053 p_application_id IN NUMBER
22054 ,p_event_id IN NUMBER
22055 ,p_calculate_acctd_flag IN VARCHAR2
22056 ,p_calculate_g_l_flag IN VARCHAR2
22057 ,p_actual_flag IN OUT VARCHAR2
22058 ,p_balance_type_code OUT VARCHAR2
22059 ,p_gain_or_loss_ref OUT VARCHAR2
22060
22061 --Automatic Offsets Value
22062 , p_source_3 IN VARCHAR2
22063 , p_source_3_meaning IN VARCHAR2
22064 --Bank Cash Account
22065 , p_source_5 IN NUMBER
22066 --Accounting Reversal Indicator
22067 , p_source_41 IN VARCHAR2
22068 --Distribution Link Type
22069 , p_source_43 IN VARCHAR2
22070 --Override Accounted Amount Indicator
22071 , p_source_68 IN VARCHAR2
22072 , p_source_68_meaning IN VARCHAR2
22073 --Third Party Type
22077 --Invoice Distribution Summary Tax Line Identifier
22074 , p_source_71 IN VARCHAR2
22075 --Invoice Distribution Tax Line Identifier
22076 , p_source_74 IN NUMBER
22078 , p_source_76 IN NUMBER
22079 --Business Flow Accounts Payable Application Identifier
22080 , p_source_79 IN NUMBER
22081 --When to Account for Payment Option
22082 , p_source_89 IN VARCHAR2
22083 --Payment Distribution Type
22084 , p_source_90 IN VARCHAR2
22085 , p_source_90_meaning IN VARCHAR2
22086 --Payment Distribution Amount
22087 , p_source_91 IN NUMBER
22088 --Business Flow Payment Distribution Type
22089 , p_source_92 IN VARCHAR2
22090 --Business Flow Payment Entity Code
22091 , p_source_93 IN VARCHAR2
22092 --Business Flow Payment Distribution Identifier
22093 , p_source_94 IN NUMBER
22094 --Business Flow Payment Identifier
22095 , p_source_95 IN NUMBER
22096 --Payment Distribution Identifier
22097 , p_source_96 IN NUMBER
22098 --Cleared Exchange Date
22099 , p_source_98 IN DATE
22100 --Cleared Exchange Rate
22101 , p_source_99 IN NUMBER
22102 --Cleared Exchange Rate Type
22103 , p_source_100 IN VARCHAR2
22104 --Payment Distribution (Cleared Rate) Ledger Amount
22105 , p_source_101 IN NUMBER
22106 --Payment Supplier Identifier
22107 , p_source_102 IN NUMBER
22108 --Payment Supplier Site Identifier
22109 , p_source_103 IN NUMBER
22110 --Payment Distribution Reversed Identifier
22111 , p_source_104 IN NUMBER
22112 --Pooled Bank Account Option
22113 , p_source_105 IN VARCHAR2
22114 , p_source_105_meaning IN VARCHAR2
22115 --Payment Currency Code
22116 , p_source_106 IN VARCHAR2
22117 )
22118 IS
22119
22120 l_component_type VARCHAR2(80);
22121 l_component_code VARCHAR2(30);
22122 l_component_type_code VARCHAR2(1);
22123 l_component_appl_id INTEGER;
22124 l_amb_context_code VARCHAR2(30);
22125 l_entity_code VARCHAR2(30);
22126 l_event_class_code VARCHAR2(30);
22127 l_ae_header_id NUMBER;
22128 l_event_type_code VARCHAR2(30);
22129 l_line_definition_code VARCHAR2(30);
22130 l_line_definition_owner_code VARCHAR2(1);
22131 --
22132 -- adr variables
22133 l_segment VARCHAR2(30);
22134 l_ccid NUMBER;
22135 l_adr_transaction_coa_id NUMBER;
22136 l_adr_accounting_coa_id NUMBER;
22137 l_adr_flexfield_segment_code VARCHAR2(30);
22138 l_adr_flex_value_set_id NUMBER;
22139 l_adr_value_type_code VARCHAR2(30);
22140 l_adr_value_combination_id NUMBER;
22141 l_adr_value_segment_code VARCHAR2(30);
22142
22143 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22144 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22145 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22146 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22147
22148 -- 4262811 Variables ------------------------------------------------------------------------------------------
22149 l_entered_amt_idx NUMBER;
22150 l_accted_amt_idx NUMBER;
22151 l_acc_rev_flag VARCHAR2(1);
22152 l_accrual_line_num NUMBER;
22153 l_tmp_amt NUMBER;
22154 l_acc_rev_natural_side_code VARCHAR2(1);
22155
22156 l_num_entries NUMBER;
22157 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22158 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22159 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22160 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22161 l_recog_line_1 NUMBER;
22162 l_recog_line_2 NUMBER;
22163
22164 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22165 l_bflow_applied_to_amt NUMBER; -- 5132302
22166 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22167
22168 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22169
22170 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22171 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22172
22173 ---------------------------------------------------------------------------------------------------------------
22174
22175
22176 --
22177 -- bulk performance
22178 --
22179 l_balance_type_code VARCHAR2(1);
22180 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22181 l_log_module VARCHAR2(240);
22182
22183 --
22184 -- Upgrade strategy
22185 --
22186 l_actual_upg_option VARCHAR2(1);
22187 l_enc_upg_option VARCHAR2(1);
22188
22189 --
22190 BEGIN
22191 --
22192 IF g_log_enabled THEN
22193 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_66';
22194 END IF;
22195 --
22196 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22197
22198 trace
22199 (p_msg => 'BEGIN of AcctLineType_66'
22200 ,p_level => C_LEVEL_PROCEDURE
22201 ,p_module => l_log_module);
22202
22203 END IF;
22204 --
22205 l_component_type := 'AMB_JLT';
22209 l_amb_context_code := 'DEFAULT';
22206 l_component_code := 'AP_CASH_CLEARONLY_AOS_BS';
22207 l_component_type_code := 'S';
22208 l_component_appl_id := 200;
22210 l_entity_code := 'AP_PAYMENTS';
22211 l_event_class_code := 'RECONCILED PAYMENTS';
22212 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
22213 l_line_definition_owner_code := 'S';
22214 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
22215 --
22216 l_balance_type_code := 'A';
22217 l_segment := NULL;
22218 l_ccid := NULL;
22219 l_adr_transaction_coa_id := NULL;
22220 l_adr_accounting_coa_id := NULL;
22221 l_adr_flexfield_segment_code := NULL;
22222 l_adr_flex_value_set_id := NULL;
22223 l_adr_value_type_code := NULL;
22224 l_adr_value_combination_id := NULL;
22225 l_adr_value_segment_code := NULL;
22226
22227 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
22228 l_bflow_class_code := ''; -- 4219869 Business Flow
22229 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
22230 l_budgetary_control_flag := 'N';
22231
22232 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22233 l_bflow_applied_to_amt := NULL; -- 5132302
22234 l_entered_amt_idx := NULL; -- 4262811
22235 l_accted_amt_idx := NULL; -- 4262811
22236 l_acc_rev_flag := NULL; -- 4262811
22237 l_accrual_line_num := NULL; -- 4262811
22238 l_tmp_amt := NULL; -- 4262811
22239 --
22240
22241 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
22242 l_balance_type_code <> 'B' THEN
22243 IF NVL(p_source_89,'
22244 ') <> 'ISSUE_ISSUE' AND
22245 (NVL(p_source_105,'
22246 ') = 'Y' AND
22247 NVL(p_source_3,'
22248 ') = 'BALANCING_SEGMENT') AND
22249 (NVL(p_source_90,'
22250 ') = 'CASH' OR
22251 NVL(p_source_90,'
22252 ') = 'BANK CHARGE' OR
22253 NVL(p_source_90,'
22254 ') = 'BANK ERROR')
22255 THEN
22256
22257 --
22258 XLA_AE_LINES_PKG.SetNewLine;
22259
22260 p_balance_type_code := l_balance_type_code;
22261 -- set the flag so later we will know whether the gain loss line needs to be created
22262
22263 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
22264 p_actual_flag :='A';
22265 END IF;
22266
22267 --
22268 -- bulk performance
22269 --
22270 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22271 p_header_num => 0); -- 4262811
22272 --
22273 -- set accounting line options
22274 --
22275 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22276 p_natural_side_code => 'C'
22277 , p_gain_or_loss_flag => 'N'
22278 , p_gl_transfer_mode_code => 'S'
22279 , p_acct_entry_type_code => 'A'
22280 , p_switch_side_flag => 'Y'
22281 , p_merge_duplicate_code => 'A'
22282 );
22283 --
22284 l_acc_rev_natural_side_code := 'D'; -- 4262811
22285 --
22286 --
22287 -- set accounting line type info
22288 --
22289 xla_ae_lines_pkg.SetAcctLineType
22290 (p_component_type => l_component_type
22291 ,p_event_type_code => l_event_type_code
22292 ,p_line_definition_owner_code => l_line_definition_owner_code
22293 ,p_line_definition_code => l_line_definition_code
22294 ,p_accounting_line_code => l_component_code
22295 ,p_accounting_line_type_code => l_component_type_code
22296 ,p_accounting_line_appl_id => l_component_appl_id
22297 ,p_amb_context_code => l_amb_context_code
22298 ,p_entity_code => l_entity_code
22299 ,p_event_class_code => l_event_class_code);
22300 --
22301 -- set accounting class
22302 --
22303 xla_ae_lines_pkg.SetAcctClass(
22304 p_accounting_class_code => 'CASH'
22305 , p_ae_header_id => l_ae_header_id
22306 );
22307
22308 --
22309 -- set rounding class
22310 --
22311 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22312 'CASH';
22313
22314 --
22315 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
22316 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
22317 --
22318 -- bulk performance
22319 --
22320 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
22321
22322 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
22323 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
22324
22325 -- 4955764
22326 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22327 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
22328
22329 -- 4458381 Public Sector Enh
22330
22331 --
22332 -- set accounting attributes for the line type
22333 --
22334 l_entered_amt_idx := 10;
22338 l_rec_acct_attrs.array_char_value(1) := p_source_41;
22335 l_accted_amt_idx := 15;
22336 l_bflow_applied_to_amt_idx := 2; -- 5132302
22337 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
22339 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
22340 l_rec_acct_attrs.array_num_value(2) := p_source_91;
22341 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
22342 l_rec_acct_attrs.array_num_value(3) := p_source_79;
22343 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
22344 l_rec_acct_attrs.array_char_value(4) := p_source_92;
22345 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
22346 l_rec_acct_attrs.array_char_value(5) := p_source_93;
22347 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
22348 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
22349 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
22350 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
22351 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
22352 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
22353 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
22354 l_rec_acct_attrs.array_char_value(9) := p_source_43;
22355 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
22356 l_rec_acct_attrs.array_num_value(10) := p_source_91;
22357 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
22358 l_rec_acct_attrs.array_char_value(11) := p_source_106;
22359 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
22360 l_rec_acct_attrs.array_date_value(12) := p_source_98;
22361 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
22362 l_rec_acct_attrs.array_num_value(13) := p_source_99;
22363 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
22364 l_rec_acct_attrs.array_char_value(14) := p_source_100;
22365 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
22366 l_rec_acct_attrs.array_num_value(15) := p_source_101;
22367 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
22368 l_rec_acct_attrs.array_char_value(16) := p_source_68;
22369 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
22370 l_rec_acct_attrs.array_num_value(17) := p_source_102;
22371 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
22372 l_rec_acct_attrs.array_num_value(18) := p_source_103;
22373 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
22374 l_rec_acct_attrs.array_char_value(19) := p_source_71;
22375 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
22376 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
22377 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
22378 l_rec_acct_attrs.array_char_value(21) := p_source_43;
22379 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
22380 l_rec_acct_attrs.array_num_value(22) := p_source_74;
22381 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
22382 l_rec_acct_attrs.array_num_value(23) := p_source_74;
22383 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
22384 l_rec_acct_attrs.array_num_value(24) := p_source_76;
22385
22386 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
22387 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
22388
22389 ---------------------------------------------------------------------------------------------------------------
22390 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
22391 ---------------------------------------------------------------------------------------------------------------
22392 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
22393
22394 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22395 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
22396
22397 IF xla_accounting_cache_pkg.GetValueChar
22398 (p_source_code => 'LEDGER_CATEGORY_CODE'
22399 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
22400 AND l_bflow_method_code = 'PRIOR_ENTRY'
22401 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
22402 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
22403 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
22404 )
22405 THEN
22406 xla_ae_lines_pkg.BflowUpgEntry
22407 (p_business_method_code => l_bflow_method_code
22408 ,p_business_class_code => l_bflow_class_code
22409 ,p_balance_type => l_balance_type_code);
22410 ELSE
22411 NULL;
22412 XLA_AE_LINES_PKG.business_flow_validation(
22413 p_business_method_code => l_bflow_method_code
22414 ,p_business_class_code => l_bflow_class_code
22415 ,p_inherit_description_flag => l_inherit_desc_flag);
22416 END IF;
22417
22418 --
22419 -- call analytical criteria
22420 --
22421
22422 --
22423 -- call description
22424 --
22425 -- No description or it is inherited.
22426 --
22427 -- call ADRs
22431 (NVL(l_actual_upg_option, 'N') = 'O') OR
22428 -- Bug 4922099
22429 --
22430 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22432 (NVL(l_enc_upg_option, 'N') = 'O')
22433 )
22434 THEN
22435 NULL;
22436 --
22437 --
22438
22439 l_ccid := AcctDerRule_27(
22440 p_application_id => p_application_id
22441 , p_ae_header_id => l_ae_header_id
22442 , p_source_5 => p_source_5
22443 , x_transaction_coa_id => l_adr_transaction_coa_id
22444 , x_accounting_coa_id => l_adr_accounting_coa_id
22445 , x_value_type_code => l_adr_value_type_code
22446 , p_side => 'NA'
22447 );
22448
22449 xla_ae_lines_pkg.set_ccid(
22450 p_code_combination_id => l_ccid
22451 , p_value_type_code => l_adr_value_type_code
22452 , p_transaction_coa_id => l_adr_transaction_coa_id
22453 , p_accounting_coa_id => l_adr_accounting_coa_id
22454 , p_adr_code => 'AP_CASH'
22455 , p_adr_type_code => 'S'
22456 , p_component_type => l_component_type
22457 , p_component_code => l_component_code
22458 , p_component_type_code => l_component_type_code
22459 , p_component_appl_id => l_component_appl_id
22460 , p_amb_context_code => l_amb_context_code
22461 , p_side => 'NA'
22462 );
22463
22464
22465 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
22466 p_to_segment_code => 'GL_BALANCING'
22467 , p_segment_value => C_CHAR
22468 , p_from_segment_code => NULL
22469 , p_from_combination_id => NULL
22470 , p_value_type_code => NULL
22471 , p_transaction_coa_id => null
22472 , p_accounting_coa_id => null
22473 , p_flexfield_segment_code => NULL
22474 , p_flex_value_set_id => NULL
22475 , p_adr_code => NULL
22476 , p_adr_type_code => NULL
22477 , p_component_type => l_component_type
22478 , p_component_code => l_component_code
22479 , p_component_type_code => l_component_type_code
22480 , p_component_appl_id => l_component_appl_id
22481 , p_amb_context_code => l_amb_context_code
22482 , p_entity_code => 'AP_PAYMENTS'
22483 , p_event_class_code => 'RECONCILED PAYMENTS'
22484 , p_side => 'NA'
22485 );
22486 --
22487
22488
22489 --
22490 --
22491 END IF;
22492 --
22493 -- Bug 4922099
22494 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
22495 (NVL(l_enc_upg_option, 'N') = 'O')
22496 ) AND
22497 (l_bflow_method_code = 'PRIOR_ENTRY')
22498 )
22499 THEN
22500 IF
22501 --
22502 1 = 2
22503 --
22504 THEN
22505 xla_accounting_err_pkg.build_message
22506 (p_appli_s_name => 'XLA'
22507 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22508 ,p_token_1 => 'LINE_NUMBER'
22509 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
22510 ,p_token_2 => 'LINE_TYPE_NAME'
22511 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
22512 l_component_type
22513 ,l_component_code
22514 ,l_component_type_code
22515 ,l_component_appl_id
22516 ,l_amb_context_code
22517 ,l_entity_code
22518 ,l_event_class_code
22519 )
22520 ,p_token_3 => 'OWNER'
22521 ,p_value_3 => xla_lookups_pkg.get_meaning(
22522 p_lookup_type => 'XLA_OWNER_TYPE'
22523 ,p_lookup_code => l_component_type_code
22524 )
22525 ,p_token_4 => 'PRODUCT_NAME'
22526 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
22527 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
22528 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
22529 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
22530 ,p_ae_header_id => NULL
22531 );
22532
22533 IF (C_LEVEL_ERROR>= g_log_level) THEN
22534 trace
22535 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
22539 END IF;
22536 ,p_level => C_LEVEL_ERROR
22537 ,p_module => l_log_module);
22538 END IF;
22540 END IF;
22541 --
22542 --
22543 ------------------------------------------------------------------------------------------------
22544 -- 4219869 Business Flow
22545 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
22546 -- Prior Entry. Currently, the following code is always generated.
22547 ------------------------------------------------------------------------------------------------
22548 XLA_AE_LINES_PKG.ValidateCurrentLine;
22549
22550 ------------------------------------------------------------------------------------
22551 -- 4219869 Business Flow
22552 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
22553 ------------------------------------------------------------------------------------
22554 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22555
22556 ----------------------------------------------------------------------------------
22557 -- 4219869 Business Flow
22558 -- Update journal entry status -- Need to generate this within IF <condition>
22559 ----------------------------------------------------------------------------------
22560 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22561 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
22562 ,p_balance_type_code => l_balance_type_code
22563 );
22564
22565 -------------------------------------------------------------------------------------------
22566 -- 4262811 - Generate the Accrual Reversal lines
22567 -------------------------------------------------------------------------------------------
22568 BEGIN
22569 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
22570 (g_array_event(p_event_id).array_value_num('header_index'));
22571 IF l_acc_rev_flag IS NULL THEN
22572 l_acc_rev_flag := 'N';
22573 END IF;
22574 EXCEPTION
22575 WHEN OTHERS THEN
22576 l_acc_rev_flag := 'N';
22577 END;
22578 --
22579 IF (l_acc_rev_flag = 'Y') THEN
22580
22581 -- 4645092 ------------------------------------------------------------------------------
22582 -- To allow MPA report to determine if it should generate report process
22583 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
22584 ------------------------------------------------------------------------------------------
22585
22586 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
22587 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
22588 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
22589 -- call ADRs
22590 -- Bug 4922099
22591 --
22592 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
22593 (NVL(l_actual_upg_option, 'N') = 'O') OR
22594 (NVL(l_enc_upg_option, 'N') = 'O')
22595 )
22596 THEN
22597 NULL;
22598 --
22599 --
22600
22601 l_ccid := AcctDerRule_27(
22602 p_application_id => p_application_id
22603 , p_ae_header_id => l_ae_header_id
22604 , p_source_5 => p_source_5
22605 , x_transaction_coa_id => l_adr_transaction_coa_id
22606 , x_accounting_coa_id => l_adr_accounting_coa_id
22607 , x_value_type_code => l_adr_value_type_code
22608 , p_side => 'NA'
22609 );
22610
22611 xla_ae_lines_pkg.set_ccid(
22612 p_code_combination_id => l_ccid
22613 , p_value_type_code => l_adr_value_type_code
22614 , p_transaction_coa_id => l_adr_transaction_coa_id
22615 , p_accounting_coa_id => l_adr_accounting_coa_id
22616 , p_adr_code => 'AP_CASH'
22617 , p_adr_type_code => 'S'
22618 , p_component_type => l_component_type
22619 , p_component_code => l_component_code
22620 , p_component_type_code => l_component_type_code
22621 , p_component_appl_id => l_component_appl_id
22622 , p_amb_context_code => l_amb_context_code
22623 , p_side => 'NA'
22624 );
22625
22626
22627 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
22628 p_to_segment_code => 'GL_BALANCING'
22629 , p_segment_value => C_CHAR
22630 , p_from_segment_code => NULL
22631 , p_from_combination_id => NULL
22632 , p_value_type_code => NULL
22633 , p_transaction_coa_id => null
22634 , p_accounting_coa_id => null
22635 , p_flexfield_segment_code => NULL
22636 , p_flex_value_set_id => NULL
22637 , p_adr_code => NULL
22638 , p_adr_type_code => NULL
22639 , p_component_type => l_component_type
22640 , p_component_code => l_component_code
22641 , p_component_type_code => l_component_type_code
22642 , p_component_appl_id => l_component_appl_id
22643 , p_amb_context_code => l_amb_context_code
22644 , p_entity_code => 'AP_PAYMENTS'
22645 , p_event_class_code => 'RECONCILED PAYMENTS'
22646 , p_side => 'NA'
22647 );
22648 --
22652 --
22649
22650
22651 --
22653 END IF;
22654
22655 --
22656 -- Update the line information that should be overwritten
22657 --
22658 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
22659 p_header_num => 1);
22660 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
22661
22662 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
22663
22664 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
22665 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
22666 END IF;
22667
22668 --
22669 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
22670 --
22671 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
22672 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
22673 ELSE
22674 ---------------------------------------------------------------------------------------------------
22675 -- 4262811a Switch Sign
22676 ---------------------------------------------------------------------------------------------------
22677 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
22678 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22679 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22680 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
22681 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22682 -- 5132302
22683 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
22684 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
22685
22686 END IF;
22687
22688 -- 4955764
22689 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
22690 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
22691
22692
22693 XLA_AE_LINES_PKG.ValidateCurrentLine;
22694 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
22695
22696 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
22697 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
22698 ,p_balance_type_code => l_balance_type_code);
22699
22700 END IF;
22701
22702 -----------------------------------------------------------------------------------------
22703 -- 4262811 Multiperiod Accounting
22704 -----------------------------------------------------------------------------------------
22705 -- No MPA option is assigned.
22706
22707
22708 END IF;
22709 END IF;
22710 --
22711
22712 --
22713 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22714 trace
22715 (p_msg => 'END of AcctLineType_66'
22716 ,p_level => C_LEVEL_PROCEDURE
22717 ,p_module => l_log_module);
22718 END IF;
22719 --
22720 EXCEPTION
22721 WHEN xla_exceptions_pkg.application_exception THEN
22722 RAISE;
22723 WHEN OTHERS THEN
22724 xla_exceptions_pkg.raise_message
22725 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_66');
22726 END AcctLineType_66;
22727 --
22728
22729 ---------------------------------------
22730 --
22731 -- PRIVATE FUNCTION
22732 -- AcctLineType_67
22733 --
22734 ---------------------------------------
22735 PROCEDURE AcctLineType_67 (
22736 p_application_id IN NUMBER
22737 ,p_event_id IN NUMBER
22738 ,p_calculate_acctd_flag IN VARCHAR2
22739 ,p_calculate_g_l_flag IN VARCHAR2
22740 ,p_actual_flag IN OUT VARCHAR2
22741 ,p_balance_type_code OUT VARCHAR2
22742 ,p_gain_or_loss_ref OUT VARCHAR2
22743
22744 --Bank Cash Account
22745 , p_source_5 IN NUMBER
22746 --Automatic Offsets Flag
22747 , p_source_35 IN VARCHAR2
22748 , p_source_35_meaning IN VARCHAR2
22749 --Accounting Reversal Indicator
22750 , p_source_41 IN VARCHAR2
22751 --Distribution Link Type
22752 , p_source_43 IN VARCHAR2
22753 --Override Accounted Amount Indicator
22754 , p_source_68 IN VARCHAR2
22755 , p_source_68_meaning IN VARCHAR2
22756 --Third Party Type
22757 , p_source_71 IN VARCHAR2
22758 --Invoice Distribution Tax Line Identifier
22759 , p_source_74 IN NUMBER
22760 --Invoice Distribution Summary Tax Line Identifier
22761 , p_source_76 IN NUMBER
22762 --Business Flow Accounts Payable Application Identifier
22763 , p_source_79 IN NUMBER
22764 --When to Account for Payment Option
22765 , p_source_89 IN VARCHAR2
22766 --Payment Distribution Type
22767 , p_source_90 IN VARCHAR2
22768 , p_source_90_meaning IN VARCHAR2
22769 --Payment Distribution Amount
22770 , p_source_91 IN NUMBER
22771 --Business Flow Payment Distribution Type
22772 , p_source_92 IN VARCHAR2
22776 , p_source_94 IN NUMBER
22773 --Business Flow Payment Entity Code
22774 , p_source_93 IN VARCHAR2
22775 --Business Flow Payment Distribution Identifier
22777 --Business Flow Payment Identifier
22778 , p_source_95 IN NUMBER
22779 --Payment Distribution Identifier
22780 , p_source_96 IN NUMBER
22781 --Cleared Exchange Date
22782 , p_source_98 IN DATE
22783 --Cleared Exchange Rate
22784 , p_source_99 IN NUMBER
22785 --Cleared Exchange Rate Type
22786 , p_source_100 IN VARCHAR2
22787 --Payment Distribution (Cleared Rate) Ledger Amount
22788 , p_source_101 IN NUMBER
22789 --Payment Supplier Identifier
22790 , p_source_102 IN NUMBER
22791 --Payment Supplier Site Identifier
22792 , p_source_103 IN NUMBER
22793 --Payment Distribution Reversed Identifier
22794 , p_source_104 IN NUMBER
22795 --Pooled Bank Account Option
22796 , p_source_105 IN VARCHAR2
22797 , p_source_105_meaning IN VARCHAR2
22798 --Payment Currency Code
22799 , p_source_106 IN VARCHAR2
22800 )
22801 IS
22802
22803 l_component_type VARCHAR2(80);
22804 l_component_code VARCHAR2(30);
22805 l_component_type_code VARCHAR2(1);
22806 l_component_appl_id INTEGER;
22807 l_amb_context_code VARCHAR2(30);
22808 l_entity_code VARCHAR2(30);
22809 l_event_class_code VARCHAR2(30);
22810 l_ae_header_id NUMBER;
22811 l_event_type_code VARCHAR2(30);
22812 l_line_definition_code VARCHAR2(30);
22813 l_line_definition_owner_code VARCHAR2(1);
22814 --
22815 -- adr variables
22816 l_segment VARCHAR2(30);
22817 l_ccid NUMBER;
22818 l_adr_transaction_coa_id NUMBER;
22819 l_adr_accounting_coa_id NUMBER;
22820 l_adr_flexfield_segment_code VARCHAR2(30);
22821 l_adr_flex_value_set_id NUMBER;
22822 l_adr_value_type_code VARCHAR2(30);
22823 l_adr_value_combination_id NUMBER;
22824 l_adr_value_segment_code VARCHAR2(30);
22825
22826 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
22827 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
22828 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
22829 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
22830
22831 -- 4262811 Variables ------------------------------------------------------------------------------------------
22832 l_entered_amt_idx NUMBER;
22833 l_accted_amt_idx NUMBER;
22834 l_acc_rev_flag VARCHAR2(1);
22835 l_accrual_line_num NUMBER;
22836 l_tmp_amt NUMBER;
22837 l_acc_rev_natural_side_code VARCHAR2(1);
22838
22839 l_num_entries NUMBER;
22840 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
22841 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
22842 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
22843 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
22844 l_recog_line_1 NUMBER;
22845 l_recog_line_2 NUMBER;
22846
22847 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
22848 l_bflow_applied_to_amt NUMBER; -- 5132302
22849 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
22850
22851 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
22852
22853 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
22854 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
22855
22856 ---------------------------------------------------------------------------------------------------------------
22857
22858
22859 --
22860 -- bulk performance
22861 --
22862 l_balance_type_code VARCHAR2(1);
22863 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
22864 l_log_module VARCHAR2(240);
22865
22866 --
22867 -- Upgrade strategy
22868 --
22869 l_actual_upg_option VARCHAR2(1);
22870 l_enc_upg_option VARCHAR2(1);
22871
22872 --
22873 BEGIN
22874 --
22875 IF g_log_enabled THEN
22876 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_67';
22877 END IF;
22878 --
22879 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
22880
22881 trace
22882 (p_msg => 'BEGIN of AcctLineType_67'
22883 ,p_level => C_LEVEL_PROCEDURE
22884 ,p_module => l_log_module);
22885
22886 END IF;
22887 --
22888 l_component_type := 'AMB_JLT';
22889 l_component_code := 'AP_CASH_CLEARONLY_NP';
22890 l_component_type_code := 'S';
22891 l_component_appl_id := 200;
22892 l_amb_context_code := 'DEFAULT';
22893 l_entity_code := 'AP_PAYMENTS';
22894 l_event_class_code := 'RECONCILED PAYMENTS';
22895 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
22896 l_line_definition_owner_code := 'S';
22897 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
22898 --
22899 l_balance_type_code := 'A';
22900 l_segment := NULL;
22901 l_ccid := NULL;
22902 l_adr_transaction_coa_id := NULL;
22903 l_adr_accounting_coa_id := NULL;
22904 l_adr_flexfield_segment_code := NULL;
22908 l_adr_value_segment_code := NULL;
22905 l_adr_flex_value_set_id := NULL;
22906 l_adr_value_type_code := NULL;
22907 l_adr_value_combination_id := NULL;
22909
22910 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
22911 l_bflow_class_code := ''; -- 4219869 Business Flow
22912 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
22913 l_budgetary_control_flag := 'N';
22914
22915 l_bflow_applied_to_amt_idx := NULL; -- 5132302
22916 l_bflow_applied_to_amt := NULL; -- 5132302
22917 l_entered_amt_idx := NULL; -- 4262811
22918 l_accted_amt_idx := NULL; -- 4262811
22919 l_acc_rev_flag := NULL; -- 4262811
22920 l_accrual_line_num := NULL; -- 4262811
22921 l_tmp_amt := NULL; -- 4262811
22922 --
22923
22924 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
22925 l_balance_type_code <> 'B' THEN
22926 IF NVL(p_source_89,'
22927 ') <> 'ISSUE_ISSUE' AND
22928 (NVL(p_source_35,'
22929 ') <> 'Y' OR
22930 NVL(p_source_35,'
22931 ') = 'Y' AND
22932 NVL(p_source_105,'
22933 ') <> 'Y') AND
22934 (NVL(p_source_90,'
22935 ') = 'CASH' OR
22936 NVL(p_source_90,'
22937 ') = 'BANK CHARGE' OR
22938 NVL(p_source_90,'
22939 ') = 'BANK ERROR')
22940 THEN
22941
22942 --
22943 XLA_AE_LINES_PKG.SetNewLine;
22944
22945 p_balance_type_code := l_balance_type_code;
22946 -- set the flag so later we will know whether the gain loss line needs to be created
22947
22948 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
22949 p_actual_flag :='A';
22950 END IF;
22951
22952 --
22953 -- bulk performance
22954 --
22955 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
22956 p_header_num => 0); -- 4262811
22957 --
22958 -- set accounting line options
22959 --
22960 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
22961 p_natural_side_code => 'C'
22962 , p_gain_or_loss_flag => 'N'
22963 , p_gl_transfer_mode_code => 'S'
22964 , p_acct_entry_type_code => 'A'
22965 , p_switch_side_flag => 'Y'
22966 , p_merge_duplicate_code => 'A'
22967 );
22968 --
22969 l_acc_rev_natural_side_code := 'D'; -- 4262811
22970 --
22971 --
22972 -- set accounting line type info
22973 --
22974 xla_ae_lines_pkg.SetAcctLineType
22975 (p_component_type => l_component_type
22976 ,p_event_type_code => l_event_type_code
22977 ,p_line_definition_owner_code => l_line_definition_owner_code
22978 ,p_line_definition_code => l_line_definition_code
22979 ,p_accounting_line_code => l_component_code
22980 ,p_accounting_line_type_code => l_component_type_code
22981 ,p_accounting_line_appl_id => l_component_appl_id
22982 ,p_amb_context_code => l_amb_context_code
22983 ,p_entity_code => l_entity_code
22984 ,p_event_class_code => l_event_class_code);
22985 --
22986 -- set accounting class
22987 --
22988 xla_ae_lines_pkg.SetAcctClass(
22989 p_accounting_class_code => 'CASH'
22990 , p_ae_header_id => l_ae_header_id
22991 );
22992
22993 --
22994 -- set rounding class
22995 --
22996 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
22997 'CASH';
22998
22999 --
23000 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23001 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23002 --
23003 -- bulk performance
23004 --
23005 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23006
23007 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23008 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23009
23010 -- 4955764
23011 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23012 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23013
23014 -- 4458381 Public Sector Enh
23015
23016 --
23017 -- set accounting attributes for the line type
23018 --
23019 l_entered_amt_idx := 10;
23020 l_accted_amt_idx := 15;
23021 l_bflow_applied_to_amt_idx := 2; -- 5132302
23022 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23023 l_rec_acct_attrs.array_char_value(1) := p_source_41;
23024 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
23025 l_rec_acct_attrs.array_num_value(2) := p_source_91;
23026 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
23027 l_rec_acct_attrs.array_num_value(3) := p_source_79;
23028 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23029 l_rec_acct_attrs.array_char_value(4) := p_source_92;
23030 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
23031 l_rec_acct_attrs.array_char_value(5) := p_source_93;
23032 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
23036 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
23033 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
23034 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23035 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
23037 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
23038 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
23039 l_rec_acct_attrs.array_char_value(9) := p_source_43;
23040 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
23041 l_rec_acct_attrs.array_num_value(10) := p_source_91;
23042 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
23043 l_rec_acct_attrs.array_char_value(11) := p_source_106;
23044 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
23045 l_rec_acct_attrs.array_date_value(12) := p_source_98;
23046 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
23047 l_rec_acct_attrs.array_num_value(13) := p_source_99;
23048 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
23049 l_rec_acct_attrs.array_char_value(14) := p_source_100;
23050 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
23051 l_rec_acct_attrs.array_num_value(15) := p_source_101;
23052 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
23053 l_rec_acct_attrs.array_char_value(16) := p_source_68;
23054 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
23055 l_rec_acct_attrs.array_num_value(17) := p_source_102;
23056 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
23057 l_rec_acct_attrs.array_num_value(18) := p_source_103;
23058 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
23059 l_rec_acct_attrs.array_char_value(19) := p_source_71;
23060 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
23061 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
23062 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
23063 l_rec_acct_attrs.array_char_value(21) := p_source_43;
23064 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
23065 l_rec_acct_attrs.array_num_value(22) := p_source_74;
23066 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
23067 l_rec_acct_attrs.array_num_value(23) := p_source_74;
23068 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
23069 l_rec_acct_attrs.array_num_value(24) := p_source_76;
23070
23071 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23072 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23073
23074 ---------------------------------------------------------------------------------------------------------------
23075 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23076 ---------------------------------------------------------------------------------------------------------------
23077 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23078
23079 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23080 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23081
23082 IF xla_accounting_cache_pkg.GetValueChar
23083 (p_source_code => 'LEDGER_CATEGORY_CODE'
23084 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23085 AND l_bflow_method_code = 'PRIOR_ENTRY'
23086 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23087 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23088 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23089 )
23090 THEN
23091 xla_ae_lines_pkg.BflowUpgEntry
23092 (p_business_method_code => l_bflow_method_code
23093 ,p_business_class_code => l_bflow_class_code
23094 ,p_balance_type => l_balance_type_code);
23095 ELSE
23096 NULL;
23097 -- No business flow processing for business flow method of NONE.
23098 END IF;
23099
23100 --
23101 -- call analytical criteria
23102 --
23103
23104 --
23105 -- call description
23106 --
23107 -- No description or it is inherited.
23108 --
23109 -- call ADRs
23110 -- Bug 4922099
23111 --
23112 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23113 (NVL(l_actual_upg_option, 'N') = 'O') OR
23114 (NVL(l_enc_upg_option, 'N') = 'O')
23115 )
23116 THEN
23117 NULL;
23118 --
23119 --
23120
23121 l_ccid := AcctDerRule_27(
23122 p_application_id => p_application_id
23123 , p_ae_header_id => l_ae_header_id
23124 , p_source_5 => p_source_5
23125 , x_transaction_coa_id => l_adr_transaction_coa_id
23126 , x_accounting_coa_id => l_adr_accounting_coa_id
23127 , x_value_type_code => l_adr_value_type_code
23128 , p_side => 'NA'
23129 );
23130
23131 xla_ae_lines_pkg.set_ccid(
23132 p_code_combination_id => l_ccid
23133 , p_value_type_code => l_adr_value_type_code
23134 , p_transaction_coa_id => l_adr_transaction_coa_id
23135 , p_accounting_coa_id => l_adr_accounting_coa_id
23139 , p_component_code => l_component_code
23136 , p_adr_code => 'AP_CASH'
23137 , p_adr_type_code => 'S'
23138 , p_component_type => l_component_type
23140 , p_component_type_code => l_component_type_code
23141 , p_component_appl_id => l_component_appl_id
23142 , p_amb_context_code => l_amb_context_code
23143 , p_side => 'NA'
23144 );
23145
23146
23147 --
23148 --
23149 END IF;
23150 --
23151 -- Bug 4922099
23152 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23153 (NVL(l_enc_upg_option, 'N') = 'O')
23154 ) AND
23155 (l_bflow_method_code = 'PRIOR_ENTRY')
23156 )
23157 THEN
23158 IF
23159 --
23160 1 = 2
23161 --
23162 THEN
23163 xla_accounting_err_pkg.build_message
23164 (p_appli_s_name => 'XLA'
23165 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23166 ,p_token_1 => 'LINE_NUMBER'
23167 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23168 ,p_token_2 => 'LINE_TYPE_NAME'
23169 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23170 l_component_type
23171 ,l_component_code
23172 ,l_component_type_code
23173 ,l_component_appl_id
23174 ,l_amb_context_code
23175 ,l_entity_code
23176 ,l_event_class_code
23177 )
23178 ,p_token_3 => 'OWNER'
23179 ,p_value_3 => xla_lookups_pkg.get_meaning(
23180 p_lookup_type => 'XLA_OWNER_TYPE'
23181 ,p_lookup_code => l_component_type_code
23182 )
23183 ,p_token_4 => 'PRODUCT_NAME'
23184 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23185 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23186 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23187 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23188 ,p_ae_header_id => NULL
23189 );
23190
23191 IF (C_LEVEL_ERROR>= g_log_level) THEN
23192 trace
23193 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23194 ,p_level => C_LEVEL_ERROR
23195 ,p_module => l_log_module);
23196 END IF;
23197 END IF;
23198 END IF;
23199 --
23200 --
23201 ------------------------------------------------------------------------------------------------
23202 -- 4219869 Business Flow
23203 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23204 -- Prior Entry. Currently, the following code is always generated.
23205 ------------------------------------------------------------------------------------------------
23206 XLA_AE_LINES_PKG.ValidateCurrentLine;
23207
23208 ------------------------------------------------------------------------------------
23209 -- 4219869 Business Flow
23210 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23211 ------------------------------------------------------------------------------------
23212 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23213
23214 ----------------------------------------------------------------------------------
23215 -- 4219869 Business Flow
23216 -- Update journal entry status -- Need to generate this within IF <condition>
23217 ----------------------------------------------------------------------------------
23218 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23219 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23220 ,p_balance_type_code => l_balance_type_code
23221 );
23222
23223 -------------------------------------------------------------------------------------------
23224 -- 4262811 - Generate the Accrual Reversal lines
23225 -------------------------------------------------------------------------------------------
23226 BEGIN
23227 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23228 (g_array_event(p_event_id).array_value_num('header_index'));
23229 IF l_acc_rev_flag IS NULL THEN
23230 l_acc_rev_flag := 'N';
23231 END IF;
23232 EXCEPTION
23233 WHEN OTHERS THEN
23237 IF (l_acc_rev_flag = 'Y') THEN
23234 l_acc_rev_flag := 'N';
23235 END;
23236 --
23238
23239 -- 4645092 ------------------------------------------------------------------------------
23240 -- To allow MPA report to determine if it should generate report process
23241 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23242 ------------------------------------------------------------------------------------------
23243
23244 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23245 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23246 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23247 -- call ADRs
23248 -- Bug 4922099
23249 --
23250 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23251 (NVL(l_actual_upg_option, 'N') = 'O') OR
23252 (NVL(l_enc_upg_option, 'N') = 'O')
23253 )
23254 THEN
23255 NULL;
23256 --
23257 --
23258
23259 l_ccid := AcctDerRule_27(
23260 p_application_id => p_application_id
23261 , p_ae_header_id => l_ae_header_id
23262 , p_source_5 => p_source_5
23263 , x_transaction_coa_id => l_adr_transaction_coa_id
23264 , x_accounting_coa_id => l_adr_accounting_coa_id
23265 , x_value_type_code => l_adr_value_type_code
23266 , p_side => 'NA'
23267 );
23268
23269 xla_ae_lines_pkg.set_ccid(
23270 p_code_combination_id => l_ccid
23271 , p_value_type_code => l_adr_value_type_code
23272 , p_transaction_coa_id => l_adr_transaction_coa_id
23273 , p_accounting_coa_id => l_adr_accounting_coa_id
23274 , p_adr_code => 'AP_CASH'
23275 , p_adr_type_code => 'S'
23276 , p_component_type => l_component_type
23277 , p_component_code => l_component_code
23278 , p_component_type_code => l_component_type_code
23279 , p_component_appl_id => l_component_appl_id
23280 , p_amb_context_code => l_amb_context_code
23281 , p_side => 'NA'
23282 );
23283
23284
23285 --
23286 --
23287 END IF;
23288
23289 --
23290 -- Update the line information that should be overwritten
23291 --
23292 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23293 p_header_num => 1);
23294 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23295
23296 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23297
23298 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23299 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23300 END IF;
23301
23302 --
23303 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23304 --
23305 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23306 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23307 ELSE
23308 ---------------------------------------------------------------------------------------------------
23309 -- 4262811a Switch Sign
23310 ---------------------------------------------------------------------------------------------------
23311 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23312 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23313 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23314 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23315 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23316 -- 5132302
23317 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23318 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23319
23320 END IF;
23321
23322 -- 4955764
23323 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23324 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23325
23326
23327 XLA_AE_LINES_PKG.ValidateCurrentLine;
23328 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23329
23330 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23331 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23332 ,p_balance_type_code => l_balance_type_code);
23333
23334 END IF;
23335
23336 -----------------------------------------------------------------------------------------
23337 -- 4262811 Multiperiod Accounting
23338 -----------------------------------------------------------------------------------------
23339 -- No MPA option is assigned.
23340
23341
23342 END IF;
23343 END IF;
23344 --
23345
23346 --
23347 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23348 trace
23349 (p_msg => 'END of AcctLineType_67'
23353 --
23350 ,p_level => C_LEVEL_PROCEDURE
23351 ,p_module => l_log_module);
23352 END IF;
23354 EXCEPTION
23355 WHEN xla_exceptions_pkg.application_exception THEN
23356 RAISE;
23357 WHEN OTHERS THEN
23358 xla_exceptions_pkg.raise_message
23359 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_67');
23360 END AcctLineType_67;
23361 --
23362
23363 ---------------------------------------
23364 --
23365 -- PRIVATE FUNCTION
23366 -- AcctLineType_68
23367 --
23368 ---------------------------------------
23369 PROCEDURE AcctLineType_68 (
23370 p_application_id IN NUMBER
23371 ,p_event_id IN NUMBER
23372 ,p_calculate_acctd_flag IN VARCHAR2
23373 ,p_calculate_g_l_flag IN VARCHAR2
23374 ,p_actual_flag IN OUT VARCHAR2
23375 ,p_balance_type_code OUT VARCHAR2
23376 ,p_gain_or_loss_ref OUT VARCHAR2
23377
23378 --Accounting Reversal Indicator
23379 , p_source_41 IN VARCHAR2
23380 --Distribution Link Type
23381 , p_source_43 IN VARCHAR2
23382 --Override Accounted Amount Indicator
23383 , p_source_68 IN VARCHAR2
23384 , p_source_68_meaning IN VARCHAR2
23385 --Third Party Type
23386 , p_source_71 IN VARCHAR2
23387 --Invoice Distribution Tax Line Identifier
23388 , p_source_74 IN NUMBER
23389 --Invoice Distribution Summary Tax Line Identifier
23390 , p_source_76 IN NUMBER
23391 --Business Flow Accounts Payable Application Identifier
23392 , p_source_79 IN NUMBER
23393 --When to Account for Payment Option
23394 , p_source_89 IN VARCHAR2
23395 --Payment Distribution Type
23396 , p_source_90 IN VARCHAR2
23397 , p_source_90_meaning IN VARCHAR2
23398 --Payment Distribution Amount
23399 , p_source_91 IN NUMBER
23400 --Business Flow Payment Distribution Type
23401 , p_source_92 IN VARCHAR2
23402 --Business Flow Payment Entity Code
23403 , p_source_93 IN VARCHAR2
23404 --Business Flow Payment Distribution Identifier
23405 , p_source_94 IN NUMBER
23406 --Business Flow Payment Identifier
23407 , p_source_95 IN NUMBER
23408 --Payment Distribution Identifier
23409 , p_source_96 IN NUMBER
23410 --Payment Distribution Reversed Identifier
23411 , p_source_104 IN NUMBER
23412 --Payment Currency Code
23413 , p_source_106 IN VARCHAR2
23414 --Payment Maturity Date
23415 , p_source_107 IN DATE
23416 --Payment Distribution (Payment Rate) Ledger Amount
23417 , p_source_108 IN NUMBER
23418 )
23419 IS
23420
23421 l_component_type VARCHAR2(80);
23422 l_component_code VARCHAR2(30);
23423 l_component_type_code VARCHAR2(1);
23424 l_component_appl_id INTEGER;
23425 l_amb_context_code VARCHAR2(30);
23426 l_entity_code VARCHAR2(30);
23427 l_event_class_code VARCHAR2(30);
23428 l_ae_header_id NUMBER;
23429 l_event_type_code VARCHAR2(30);
23430 l_line_definition_code VARCHAR2(30);
23431 l_line_definition_owner_code VARCHAR2(1);
23432 --
23433 -- adr variables
23434 l_segment VARCHAR2(30);
23435 l_ccid NUMBER;
23436 l_adr_transaction_coa_id NUMBER;
23437 l_adr_accounting_coa_id NUMBER;
23438 l_adr_flexfield_segment_code VARCHAR2(30);
23439 l_adr_flex_value_set_id NUMBER;
23440 l_adr_value_type_code VARCHAR2(30);
23441 l_adr_value_combination_id NUMBER;
23442 l_adr_value_segment_code VARCHAR2(30);
23443
23444 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23445 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23446 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23447 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
23448
23449 -- 4262811 Variables ------------------------------------------------------------------------------------------
23450 l_entered_amt_idx NUMBER;
23451 l_accted_amt_idx NUMBER;
23452 l_acc_rev_flag VARCHAR2(1);
23453 l_accrual_line_num NUMBER;
23454 l_tmp_amt NUMBER;
23455 l_acc_rev_natural_side_code VARCHAR2(1);
23456
23457 l_num_entries NUMBER;
23458 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
23459 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
23460 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
23461 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
23462 l_recog_line_1 NUMBER;
23463 l_recog_line_2 NUMBER;
23464
23465 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
23466 l_bflow_applied_to_amt NUMBER; -- 5132302
23467 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
23468
23469 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
23470
23471 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
23472 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
23473
23474 ---------------------------------------------------------------------------------------------------------------
23475
23476
23477 --
23478 -- bulk performance
23479 --
23483
23480 l_balance_type_code VARCHAR2(1);
23481 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
23482 l_log_module VARCHAR2(240);
23484 --
23485 -- Upgrade strategy
23486 --
23487 l_actual_upg_option VARCHAR2(1);
23488 l_enc_upg_option VARCHAR2(1);
23489
23490 --
23491 BEGIN
23492 --
23493 IF g_log_enabled THEN
23494 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_68';
23495 END IF;
23496 --
23497 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23498
23499 trace
23500 (p_msg => 'BEGIN of AcctLineType_68'
23501 ,p_level => C_LEVEL_PROCEDURE
23502 ,p_module => l_log_module);
23503
23504 END IF;
23505 --
23506 l_component_type := 'AMB_JLT';
23507 l_component_code := 'AP_CASH_CLEAR_CLEAR';
23508 l_component_type_code := 'S';
23509 l_component_appl_id := 200;
23510 l_amb_context_code := 'DEFAULT';
23511 l_entity_code := 'AP_PAYMENTS';
23512 l_event_class_code := 'RECONCILED PAYMENTS';
23513 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
23514 l_line_definition_owner_code := 'S';
23515 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
23516 --
23517 l_balance_type_code := 'A';
23518 l_segment := NULL;
23519 l_ccid := NULL;
23520 l_adr_transaction_coa_id := NULL;
23521 l_adr_accounting_coa_id := NULL;
23522 l_adr_flexfield_segment_code := NULL;
23523 l_adr_flex_value_set_id := NULL;
23524 l_adr_value_type_code := NULL;
23525 l_adr_value_combination_id := NULL;
23526 l_adr_value_segment_code := NULL;
23527
23528 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
23529 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
23530 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
23531 l_budgetary_control_flag := 'N';
23532
23533 l_bflow_applied_to_amt_idx := NULL; -- 5132302
23534 l_bflow_applied_to_amt := NULL; -- 5132302
23535 l_entered_amt_idx := NULL; -- 4262811
23536 l_accted_amt_idx := NULL; -- 4262811
23537 l_acc_rev_flag := NULL; -- 4262811
23538 l_accrual_line_num := NULL; -- 4262811
23539 l_tmp_amt := NULL; -- 4262811
23540 --
23541
23542 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
23543 l_balance_type_code <> 'B' THEN
23544 IF (NVL(p_source_89,'
23545 ') = 'ALWAYS_ALWAYS' OR
23546 NVL(p_source_89,'
23547 ') = 'ALWAYS_ISSUE') AND
23548 NVL(p_source_90,'
23549 ') = 'CASH' AND
23550 p_source_107 IS NULL
23551 THEN
23552
23553 --
23554 XLA_AE_LINES_PKG.SetNewLine;
23555
23556 p_balance_type_code := l_balance_type_code;
23557 -- set the flag so later we will know whether the gain loss line needs to be created
23558
23559 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
23560 p_actual_flag :='A';
23561 END IF;
23562
23563 --
23564 -- bulk performance
23565 --
23566 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
23567 p_header_num => 0); -- 4262811
23568 --
23569 -- set accounting line options
23570 --
23571 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
23572 p_natural_side_code => 'D'
23573 , p_gain_or_loss_flag => 'N'
23574 , p_gl_transfer_mode_code => 'S'
23575 , p_acct_entry_type_code => 'A'
23576 , p_switch_side_flag => 'Y'
23577 , p_merge_duplicate_code => 'A'
23578 );
23579 --
23580 l_acc_rev_natural_side_code := 'C'; -- 4262811
23581 --
23582 --
23583 -- set accounting line type info
23584 --
23585 xla_ae_lines_pkg.SetAcctLineType
23586 (p_component_type => l_component_type
23587 ,p_event_type_code => l_event_type_code
23588 ,p_line_definition_owner_code => l_line_definition_owner_code
23589 ,p_line_definition_code => l_line_definition_code
23590 ,p_accounting_line_code => l_component_code
23591 ,p_accounting_line_type_code => l_component_type_code
23592 ,p_accounting_line_appl_id => l_component_appl_id
23593 ,p_amb_context_code => l_amb_context_code
23594 ,p_entity_code => l_entity_code
23595 ,p_event_class_code => l_event_class_code);
23596 --
23597 -- set accounting class
23598 --
23599 xla_ae_lines_pkg.SetAcctClass(
23600 p_accounting_class_code => 'CASH_CLEARING'
23601 , p_ae_header_id => l_ae_header_id
23602 );
23603
23604 --
23605 -- set rounding class
23606 --
23607 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
23608 'CASH_CLEARING';
23609
23610 --
23611 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
23615 --
23612 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
23613 --
23614 -- bulk performance
23616 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
23617
23618 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
23619 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
23620
23621 -- 4955764
23622 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23623 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
23624
23625 -- 4458381 Public Sector Enh
23626
23627 --
23628 -- set accounting attributes for the line type
23629 --
23630 l_entered_amt_idx := 10;
23631 l_accted_amt_idx := 12;
23632 l_bflow_applied_to_amt_idx := 2; -- 5132302
23633 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
23634 l_rec_acct_attrs.array_char_value(1) := p_source_41;
23635 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
23636 l_rec_acct_attrs.array_num_value(2) := p_source_91;
23637 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
23638 l_rec_acct_attrs.array_num_value(3) := p_source_79;
23639 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
23640 l_rec_acct_attrs.array_char_value(4) := p_source_92;
23641 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
23642 l_rec_acct_attrs.array_char_value(5) := p_source_93;
23643 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
23644 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
23645 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
23646 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
23647 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
23648 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
23649 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
23650 l_rec_acct_attrs.array_char_value(9) := p_source_43;
23651 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
23652 l_rec_acct_attrs.array_num_value(10) := p_source_91;
23653 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
23654 l_rec_acct_attrs.array_char_value(11) := p_source_106;
23655 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
23656 l_rec_acct_attrs.array_num_value(12) := p_source_108;
23657 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
23658 l_rec_acct_attrs.array_char_value(13) := p_source_68;
23659 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
23660 l_rec_acct_attrs.array_char_value(14) := p_source_71;
23661 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
23662 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
23663 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
23664 l_rec_acct_attrs.array_char_value(16) := p_source_43;
23665 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
23666 l_rec_acct_attrs.array_num_value(17) := p_source_74;
23667 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
23668 l_rec_acct_attrs.array_num_value(18) := p_source_74;
23669 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
23670 l_rec_acct_attrs.array_num_value(19) := p_source_76;
23671
23672 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
23673 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
23674
23675 ---------------------------------------------------------------------------------------------------------------
23676 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
23677 ---------------------------------------------------------------------------------------------------------------
23678 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
23679
23680 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23681 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
23682
23683 IF xla_accounting_cache_pkg.GetValueChar
23684 (p_source_code => 'LEDGER_CATEGORY_CODE'
23685 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
23686 AND l_bflow_method_code = 'PRIOR_ENTRY'
23687 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
23688 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
23689 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
23690 )
23691 THEN
23692 xla_ae_lines_pkg.BflowUpgEntry
23693 (p_business_method_code => l_bflow_method_code
23694 ,p_business_class_code => l_bflow_class_code
23695 ,p_balance_type => l_balance_type_code);
23696 ELSE
23697 NULL;
23698 XLA_AE_LINES_PKG.business_flow_validation(
23699 p_business_method_code => l_bflow_method_code
23700 ,p_business_class_code => l_bflow_class_code
23701 ,p_inherit_description_flag => l_inherit_desc_flag);
23702 END IF;
23703
23704 --
23708 --
23705 -- call analytical criteria
23706 --
23707 -- Inherited Analytical Criteria for business flow method of Prior Entry.
23709 -- call description
23710 --
23711 -- No description or it is inherited.
23712 --
23713 -- call ADRs
23714 -- Bug 4922099
23715 --
23716 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23717 (NVL(l_actual_upg_option, 'N') = 'O') OR
23718 (NVL(l_enc_upg_option, 'N') = 'O')
23719 )
23720 THEN
23721 NULL;
23722 --
23723 --
23724
23725 --
23726 --
23727 END IF;
23728 --
23729 -- Bug 4922099
23730 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
23731 (NVL(l_enc_upg_option, 'N') = 'O')
23732 ) AND
23733 (l_bflow_method_code = 'PRIOR_ENTRY')
23734 )
23735 THEN
23736 IF
23737 --
23738 1 = 1
23739 --
23740 THEN
23741 xla_accounting_err_pkg.build_message
23742 (p_appli_s_name => 'XLA'
23743 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23744 ,p_token_1 => 'LINE_NUMBER'
23745 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
23746 ,p_token_2 => 'LINE_TYPE_NAME'
23747 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
23748 l_component_type
23749 ,l_component_code
23750 ,l_component_type_code
23751 ,l_component_appl_id
23752 ,l_amb_context_code
23753 ,l_entity_code
23754 ,l_event_class_code
23755 )
23756 ,p_token_3 => 'OWNER'
23757 ,p_value_3 => xla_lookups_pkg.get_meaning(
23758 p_lookup_type => 'XLA_OWNER_TYPE'
23759 ,p_lookup_code => l_component_type_code
23760 )
23761 ,p_token_4 => 'PRODUCT_NAME'
23762 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
23763 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
23764 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
23765 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
23766 ,p_ae_header_id => NULL
23767 );
23768
23769 IF (C_LEVEL_ERROR>= g_log_level) THEN
23770 trace
23771 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
23772 ,p_level => C_LEVEL_ERROR
23773 ,p_module => l_log_module);
23774 END IF;
23775 END IF;
23776 END IF;
23777 --
23778 --
23779 ------------------------------------------------------------------------------------------------
23780 -- 4219869 Business Flow
23781 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
23782 -- Prior Entry. Currently, the following code is always generated.
23783 ------------------------------------------------------------------------------------------------
23784 -- No ValidateCurrentLine for business flow method of Prior Entry
23785
23786 ------------------------------------------------------------------------------------
23787 -- 4219869 Business Flow
23788 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
23789 ------------------------------------------------------------------------------------
23790 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23791
23792 ----------------------------------------------------------------------------------
23793 -- 4219869 Business Flow
23794 -- Update journal entry status -- Need to generate this within IF <condition>
23795 ----------------------------------------------------------------------------------
23796 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23797 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
23798 ,p_balance_type_code => l_balance_type_code
23799 );
23800
23801 -------------------------------------------------------------------------------------------
23802 -- 4262811 - Generate the Accrual Reversal lines
23803 -------------------------------------------------------------------------------------------
23804 BEGIN
23805 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
23806 (g_array_event(p_event_id).array_value_num('header_index'));
23810 EXCEPTION
23807 IF l_acc_rev_flag IS NULL THEN
23808 l_acc_rev_flag := 'N';
23809 END IF;
23811 WHEN OTHERS THEN
23812 l_acc_rev_flag := 'N';
23813 END;
23814 --
23815 IF (l_acc_rev_flag = 'Y') THEN
23816
23817 -- 4645092 ------------------------------------------------------------------------------
23818 -- To allow MPA report to determine if it should generate report process
23819 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
23820 ------------------------------------------------------------------------------------------
23821
23822 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
23823 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
23824 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
23825 -- call ADRs
23826 -- Bug 4922099
23827 --
23828 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
23829 (NVL(l_actual_upg_option, 'N') = 'O') OR
23830 (NVL(l_enc_upg_option, 'N') = 'O')
23831 )
23832 THEN
23833 NULL;
23834 --
23835 --
23836
23837 --
23838 --
23839 END IF;
23840
23841 --
23842 -- Update the line information that should be overwritten
23843 --
23844 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
23845 p_header_num => 1);
23846 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
23847
23848 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
23849
23850 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
23851 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
23852 END IF;
23853
23854 --
23855 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
23856 --
23857 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
23858 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
23859 ELSE
23860 ---------------------------------------------------------------------------------------------------
23861 -- 4262811a Switch Sign
23862 ---------------------------------------------------------------------------------------------------
23863 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
23864 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23865 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23866 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
23867 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23868 -- 5132302
23869 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
23870 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
23871
23872 END IF;
23873
23874 -- 4955764
23875 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
23876 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
23877
23878
23879 XLA_AE_LINES_PKG.ValidateCurrentLine;
23880 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
23881
23882 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
23883 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
23884 ,p_balance_type_code => l_balance_type_code);
23885
23886 END IF;
23887
23888 -----------------------------------------------------------------------------------------
23889 -- 4262811 Multiperiod Accounting
23890 -----------------------------------------------------------------------------------------
23891 -- No MPA option is assigned.
23892
23893
23894 END IF;
23895 END IF;
23896 --
23897
23898 --
23899 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
23900 trace
23901 (p_msg => 'END of AcctLineType_68'
23902 ,p_level => C_LEVEL_PROCEDURE
23903 ,p_module => l_log_module);
23904 END IF;
23905 --
23906 EXCEPTION
23907 WHEN xla_exceptions_pkg.application_exception THEN
23908 RAISE;
23909 WHEN OTHERS THEN
23910 xla_exceptions_pkg.raise_message
23911 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_68');
23912 END AcctLineType_68;
23913 --
23914
23915 ---------------------------------------
23916 --
23917 -- PRIVATE FUNCTION
23918 -- AcctLineType_69
23919 --
23920 ---------------------------------------
23921 PROCEDURE AcctLineType_69 (
23922 p_application_id IN NUMBER
23923 ,p_event_id IN NUMBER
23924 ,p_calculate_acctd_flag IN VARCHAR2
23925 ,p_calculate_g_l_flag IN VARCHAR2
23926 ,p_actual_flag IN OUT VARCHAR2
23927 ,p_balance_type_code OUT VARCHAR2
23928 ,p_gain_or_loss_ref OUT VARCHAR2
23929
23930 --Accounting Reversal Indicator
23931 , p_source_41 IN VARCHAR2
23932 --Distribution Link Type
23936 , p_source_68_meaning IN VARCHAR2
23933 , p_source_43 IN VARCHAR2
23934 --Override Accounted Amount Indicator
23935 , p_source_68 IN VARCHAR2
23937 --Third Party Type
23938 , p_source_71 IN VARCHAR2
23939 --Invoice Distribution Tax Line Identifier
23940 , p_source_74 IN NUMBER
23941 --Invoice Distribution Summary Tax Line Identifier
23942 , p_source_76 IN NUMBER
23943 --Business Flow Accounts Payable Application Identifier
23944 , p_source_79 IN NUMBER
23945 --When to Account for Payment Option
23946 , p_source_89 IN VARCHAR2
23947 --Payment Distribution Type
23948 , p_source_90 IN VARCHAR2
23949 , p_source_90_meaning IN VARCHAR2
23950 --Payment Distribution Amount
23951 , p_source_91 IN NUMBER
23952 --Business Flow Payment Distribution Type
23953 , p_source_92 IN VARCHAR2
23954 --Business Flow Payment Entity Code
23955 , p_source_93 IN VARCHAR2
23956 --Business Flow Payment Distribution Identifier
23957 , p_source_94 IN NUMBER
23958 --Business Flow Payment Identifier
23959 , p_source_95 IN NUMBER
23960 --Payment Distribution Identifier
23961 , p_source_96 IN NUMBER
23962 --Payment Distribution Reversed Identifier
23963 , p_source_104 IN NUMBER
23964 --Payment Currency Code
23965 , p_source_106 IN VARCHAR2
23966 --Payment Maturity Date
23967 , p_source_107 IN DATE
23968 --Payment Distribution (Invoice Rate) Ledger Amount
23969 , p_source_109 IN NUMBER
23970 )
23971 IS
23972
23973 l_component_type VARCHAR2(80);
23974 l_component_code VARCHAR2(30);
23975 l_component_type_code VARCHAR2(1);
23976 l_component_appl_id INTEGER;
23977 l_amb_context_code VARCHAR2(30);
23978 l_entity_code VARCHAR2(30);
23979 l_event_class_code VARCHAR2(30);
23980 l_ae_header_id NUMBER;
23981 l_event_type_code VARCHAR2(30);
23982 l_line_definition_code VARCHAR2(30);
23983 l_line_definition_owner_code VARCHAR2(1);
23984 --
23985 -- adr variables
23986 l_segment VARCHAR2(30);
23987 l_ccid NUMBER;
23988 l_adr_transaction_coa_id NUMBER;
23989 l_adr_accounting_coa_id NUMBER;
23990 l_adr_flexfield_segment_code VARCHAR2(30);
23991 l_adr_flex_value_set_id NUMBER;
23992 l_adr_value_type_code VARCHAR2(30);
23993 l_adr_value_combination_id NUMBER;
23994 l_adr_value_segment_code VARCHAR2(30);
23995
23996 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
23997 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
23998 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
23999 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24000
24001 -- 4262811 Variables ------------------------------------------------------------------------------------------
24002 l_entered_amt_idx NUMBER;
24003 l_accted_amt_idx NUMBER;
24004 l_acc_rev_flag VARCHAR2(1);
24005 l_accrual_line_num NUMBER;
24006 l_tmp_amt NUMBER;
24007 l_acc_rev_natural_side_code VARCHAR2(1);
24008
24009 l_num_entries NUMBER;
24010 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24011 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24012 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24013 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24014 l_recog_line_1 NUMBER;
24015 l_recog_line_2 NUMBER;
24016
24017 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24018 l_bflow_applied_to_amt NUMBER; -- 5132302
24019 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24020
24021 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24022
24023 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24024 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24025
24026 ---------------------------------------------------------------------------------------------------------------
24027
24028
24029 --
24030 -- bulk performance
24031 --
24032 l_balance_type_code VARCHAR2(1);
24033 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24034 l_log_module VARCHAR2(240);
24035
24036 --
24037 -- Upgrade strategy
24038 --
24039 l_actual_upg_option VARCHAR2(1);
24040 l_enc_upg_option VARCHAR2(1);
24041
24042 --
24043 BEGIN
24044 --
24045 IF g_log_enabled THEN
24046 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_69';
24047 END IF;
24048 --
24049 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24050
24051 trace
24052 (p_msg => 'BEGIN of AcctLineType_69'
24053 ,p_level => C_LEVEL_PROCEDURE
24054 ,p_module => l_log_module);
24055
24056 END IF;
24057 --
24058 l_component_type := 'AMB_JLT';
24059 l_component_code := 'AP_CASH_CLEAR_CLEAR_INVXRATE';
24060 l_component_type_code := 'S';
24061 l_component_appl_id := 200;
24062 l_amb_context_code := 'DEFAULT';
24066 l_line_definition_owner_code := 'S';
24063 l_entity_code := 'AP_PAYMENTS';
24064 l_event_class_code := 'RECONCILED PAYMENTS';
24065 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
24067 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
24068 --
24069 l_balance_type_code := 'A';
24070 l_segment := NULL;
24071 l_ccid := NULL;
24072 l_adr_transaction_coa_id := NULL;
24073 l_adr_accounting_coa_id := NULL;
24074 l_adr_flexfield_segment_code := NULL;
24075 l_adr_flex_value_set_id := NULL;
24076 l_adr_value_type_code := NULL;
24077 l_adr_value_combination_id := NULL;
24078 l_adr_value_segment_code := NULL;
24079
24080 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
24081 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
24082 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24083 l_budgetary_control_flag := 'N';
24084
24085 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24086 l_bflow_applied_to_amt := NULL; -- 5132302
24087 l_entered_amt_idx := NULL; -- 4262811
24088 l_accted_amt_idx := NULL; -- 4262811
24089 l_acc_rev_flag := NULL; -- 4262811
24090 l_accrual_line_num := NULL; -- 4262811
24091 l_tmp_amt := NULL; -- 4262811
24092 --
24093
24094 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24095 l_balance_type_code <> 'B' THEN
24096 IF NVL(p_source_89,'
24097 ') = 'ALWAYS_CLEAR' AND
24098 NVL(p_source_90,'
24099 ') = 'CASH' AND
24100 p_source_107 IS NULL
24101 THEN
24102
24103 --
24104 XLA_AE_LINES_PKG.SetNewLine;
24105
24106 p_balance_type_code := l_balance_type_code;
24107 -- set the flag so later we will know whether the gain loss line needs to be created
24108
24109 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
24110 p_actual_flag :='A';
24111 END IF;
24112
24113 --
24114 -- bulk performance
24115 --
24116 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24117 p_header_num => 0); -- 4262811
24118 --
24119 -- set accounting line options
24120 --
24121 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24122 p_natural_side_code => 'D'
24123 , p_gain_or_loss_flag => 'N'
24124 , p_gl_transfer_mode_code => 'S'
24125 , p_acct_entry_type_code => 'A'
24126 , p_switch_side_flag => 'Y'
24127 , p_merge_duplicate_code => 'A'
24128 );
24129 --
24130 l_acc_rev_natural_side_code := 'C'; -- 4262811
24131 --
24132 --
24133 -- set accounting line type info
24134 --
24135 xla_ae_lines_pkg.SetAcctLineType
24136 (p_component_type => l_component_type
24137 ,p_event_type_code => l_event_type_code
24138 ,p_line_definition_owner_code => l_line_definition_owner_code
24139 ,p_line_definition_code => l_line_definition_code
24140 ,p_accounting_line_code => l_component_code
24141 ,p_accounting_line_type_code => l_component_type_code
24142 ,p_accounting_line_appl_id => l_component_appl_id
24143 ,p_amb_context_code => l_amb_context_code
24144 ,p_entity_code => l_entity_code
24145 ,p_event_class_code => l_event_class_code);
24146 --
24147 -- set accounting class
24148 --
24149 xla_ae_lines_pkg.SetAcctClass(
24150 p_accounting_class_code => 'CASH_CLEARING'
24151 , p_ae_header_id => l_ae_header_id
24152 );
24153
24154 --
24155 -- set rounding class
24156 --
24157 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24158 'CASH_CLEARING';
24159
24160 --
24161 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24162 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24163 --
24164 -- bulk performance
24165 --
24166 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24167
24168 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24169 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24170
24171 -- 4955764
24172 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24173 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24174
24175 -- 4458381 Public Sector Enh
24176
24177 --
24178 -- set accounting attributes for the line type
24179 --
24180 l_entered_amt_idx := 10;
24181 l_accted_amt_idx := 12;
24182 l_bflow_applied_to_amt_idx := 2; -- 5132302
24183 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24184 l_rec_acct_attrs.array_char_value(1) := p_source_41;
24185 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
24186 l_rec_acct_attrs.array_num_value(2) := p_source_91;
24190 l_rec_acct_attrs.array_char_value(4) := p_source_92;
24187 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
24188 l_rec_acct_attrs.array_num_value(3) := p_source_79;
24189 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24191 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
24192 l_rec_acct_attrs.array_char_value(5) := p_source_93;
24193 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
24194 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
24195 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24196 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
24197 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
24198 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
24199 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
24200 l_rec_acct_attrs.array_char_value(9) := p_source_43;
24201 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
24202 l_rec_acct_attrs.array_num_value(10) := p_source_91;
24203 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
24204 l_rec_acct_attrs.array_char_value(11) := p_source_106;
24205 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
24206 l_rec_acct_attrs.array_num_value(12) := p_source_109;
24207 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
24208 l_rec_acct_attrs.array_char_value(13) := p_source_68;
24209 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
24210 l_rec_acct_attrs.array_char_value(14) := p_source_71;
24211 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
24212 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
24213 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
24214 l_rec_acct_attrs.array_char_value(16) := p_source_43;
24215 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
24216 l_rec_acct_attrs.array_num_value(17) := p_source_74;
24217 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
24218 l_rec_acct_attrs.array_num_value(18) := p_source_74;
24219 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
24220 l_rec_acct_attrs.array_num_value(19) := p_source_76;
24221
24222 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24223 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24224
24225 ---------------------------------------------------------------------------------------------------------------
24226 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24227 ---------------------------------------------------------------------------------------------------------------
24228 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24229
24230 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24231 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24232
24233 IF xla_accounting_cache_pkg.GetValueChar
24234 (p_source_code => 'LEDGER_CATEGORY_CODE'
24235 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24236 AND l_bflow_method_code = 'PRIOR_ENTRY'
24237 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24238 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24239 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24240 )
24241 THEN
24242 xla_ae_lines_pkg.BflowUpgEntry
24243 (p_business_method_code => l_bflow_method_code
24244 ,p_business_class_code => l_bflow_class_code
24245 ,p_balance_type => l_balance_type_code);
24246 ELSE
24247 NULL;
24248 XLA_AE_LINES_PKG.business_flow_validation(
24249 p_business_method_code => l_bflow_method_code
24250 ,p_business_class_code => l_bflow_class_code
24251 ,p_inherit_description_flag => l_inherit_desc_flag);
24252 END IF;
24253
24254 --
24255 -- call analytical criteria
24256 --
24257 -- Inherited Analytical Criteria for business flow method of Prior Entry.
24258 --
24259 -- call description
24260 --
24261 -- No description or it is inherited.
24262 --
24263 -- call ADRs
24264 -- Bug 4922099
24265 --
24266 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24267 (NVL(l_actual_upg_option, 'N') = 'O') OR
24268 (NVL(l_enc_upg_option, 'N') = 'O')
24269 )
24270 THEN
24271 NULL;
24272 --
24273 --
24274
24275 --
24276 --
24277 END IF;
24278 --
24279 -- Bug 4922099
24280 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24281 (NVL(l_enc_upg_option, 'N') = 'O')
24282 ) AND
24283 (l_bflow_method_code = 'PRIOR_ENTRY')
24284 )
24285 THEN
24286 IF
24287 --
24288 1 = 1
24289 --
24290 THEN
24291 xla_accounting_err_pkg.build_message
24292 (p_appli_s_name => 'XLA'
24293 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24297 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24294 ,p_token_1 => 'LINE_NUMBER'
24295 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24296 ,p_token_2 => 'LINE_TYPE_NAME'
24298 l_component_type
24299 ,l_component_code
24300 ,l_component_type_code
24301 ,l_component_appl_id
24302 ,l_amb_context_code
24303 ,l_entity_code
24304 ,l_event_class_code
24305 )
24306 ,p_token_3 => 'OWNER'
24307 ,p_value_3 => xla_lookups_pkg.get_meaning(
24308 p_lookup_type => 'XLA_OWNER_TYPE'
24309 ,p_lookup_code => l_component_type_code
24310 )
24311 ,p_token_4 => 'PRODUCT_NAME'
24312 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24313 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24314 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24315 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24316 ,p_ae_header_id => NULL
24317 );
24318
24319 IF (C_LEVEL_ERROR>= g_log_level) THEN
24320 trace
24321 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24322 ,p_level => C_LEVEL_ERROR
24323 ,p_module => l_log_module);
24324 END IF;
24325 END IF;
24326 END IF;
24327 --
24328 --
24329 ------------------------------------------------------------------------------------------------
24330 -- 4219869 Business Flow
24331 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24332 -- Prior Entry. Currently, the following code is always generated.
24333 ------------------------------------------------------------------------------------------------
24334 -- No ValidateCurrentLine for business flow method of Prior Entry
24335
24336 ------------------------------------------------------------------------------------
24337 -- 4219869 Business Flow
24338 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
24339 ------------------------------------------------------------------------------------
24340 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24341
24342 ----------------------------------------------------------------------------------
24343 -- 4219869 Business Flow
24344 -- Update journal entry status -- Need to generate this within IF <condition>
24345 ----------------------------------------------------------------------------------
24346 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24347 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
24348 ,p_balance_type_code => l_balance_type_code
24349 );
24350
24351 -------------------------------------------------------------------------------------------
24352 -- 4262811 - Generate the Accrual Reversal lines
24353 -------------------------------------------------------------------------------------------
24354 BEGIN
24355 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
24356 (g_array_event(p_event_id).array_value_num('header_index'));
24357 IF l_acc_rev_flag IS NULL THEN
24358 l_acc_rev_flag := 'N';
24359 END IF;
24360 EXCEPTION
24361 WHEN OTHERS THEN
24362 l_acc_rev_flag := 'N';
24363 END;
24364 --
24365 IF (l_acc_rev_flag = 'Y') THEN
24366
24367 -- 4645092 ------------------------------------------------------------------------------
24368 -- To allow MPA report to determine if it should generate report process
24369 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
24370 ------------------------------------------------------------------------------------------
24371
24372 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
24373 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
24374 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
24375 -- call ADRs
24376 -- Bug 4922099
24377 --
24378 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24379 (NVL(l_actual_upg_option, 'N') = 'O') OR
24380 (NVL(l_enc_upg_option, 'N') = 'O')
24381 )
24382 THEN
24383 NULL;
24384 --
24385 --
24386
24387 --
24388 --
24392 -- Update the line information that should be overwritten
24389 END IF;
24390
24391 --
24393 --
24394 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
24395 p_header_num => 1);
24396 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
24397
24398 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
24399
24400 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
24401 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
24402 END IF;
24403
24404 --
24405 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
24406 --
24407 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
24408 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
24409 ELSE
24410 ---------------------------------------------------------------------------------------------------
24411 -- 4262811a Switch Sign
24412 ---------------------------------------------------------------------------------------------------
24413 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
24414 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24415 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24416 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
24417 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24418 -- 5132302
24419 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
24420 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
24421
24422 END IF;
24423
24424 -- 4955764
24425 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24426 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
24427
24428
24429 XLA_AE_LINES_PKG.ValidateCurrentLine;
24430 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
24431
24432 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
24433 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
24434 ,p_balance_type_code => l_balance_type_code);
24435
24436 END IF;
24437
24438 -----------------------------------------------------------------------------------------
24439 -- 4262811 Multiperiod Accounting
24440 -----------------------------------------------------------------------------------------
24441 -- No MPA option is assigned.
24442
24443
24444 END IF;
24445 END IF;
24446 --
24447
24448 --
24449 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24450 trace
24451 (p_msg => 'END of AcctLineType_69'
24452 ,p_level => C_LEVEL_PROCEDURE
24453 ,p_module => l_log_module);
24454 END IF;
24455 --
24456 EXCEPTION
24457 WHEN xla_exceptions_pkg.application_exception THEN
24458 RAISE;
24459 WHEN OTHERS THEN
24460 xla_exceptions_pkg.raise_message
24461 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_69');
24462 END AcctLineType_69;
24463 --
24464
24465 ---------------------------------------
24466 --
24467 -- PRIVATE FUNCTION
24468 -- AcctLineType_70
24469 --
24470 ---------------------------------------
24471 PROCEDURE AcctLineType_70 (
24472 p_application_id IN NUMBER
24473 ,p_event_id IN NUMBER
24474 ,p_calculate_acctd_flag IN VARCHAR2
24475 ,p_calculate_g_l_flag IN VARCHAR2
24476 ,p_actual_flag IN OUT VARCHAR2
24477 ,p_balance_type_code OUT VARCHAR2
24478 ,p_gain_or_loss_ref OUT VARCHAR2
24479
24480 --Automatic Offsets Value
24481 , p_source_3 IN VARCHAR2
24482 , p_source_3_meaning IN VARCHAR2
24483 --Bank Cash Clearing Account
24484 , p_source_23 IN NUMBER
24485 --Accounting Reversal Indicator
24486 , p_source_41 IN VARCHAR2
24487 --Distribution Link Type
24488 , p_source_43 IN VARCHAR2
24489 --Override Accounted Amount Indicator
24490 , p_source_68 IN VARCHAR2
24491 , p_source_68_meaning IN VARCHAR2
24492 --Third Party Type
24493 , p_source_71 IN VARCHAR2
24494 --Business Flow Accounts Payable Application Identifier
24495 , p_source_79 IN NUMBER
24496 --When to Account for Payment Option
24497 , p_source_89 IN VARCHAR2
24498 --Payment Distribution Type
24499 , p_source_90 IN VARCHAR2
24500 , p_source_90_meaning IN VARCHAR2
24501 --Payment Distribution Amount
24502 , p_source_91 IN NUMBER
24503 --Business Flow Payment Distribution Type
24504 , p_source_92 IN VARCHAR2
24505 --Business Flow Payment Entity Code
24506 , p_source_93 IN VARCHAR2
24507 --Business Flow Payment Distribution Identifier
24508 , p_source_94 IN NUMBER
24509 --Business Flow Payment Identifier
24510 , p_source_95 IN NUMBER
24511 --Payment Distribution Identifier
24515 --Payment Supplier Site Identifier
24512 , p_source_96 IN NUMBER
24513 --Payment Supplier Identifier
24514 , p_source_102 IN NUMBER
24516 , p_source_103 IN NUMBER
24517 --Payment Distribution Reversed Identifier
24518 , p_source_104 IN NUMBER
24519 --Pooled Bank Account Option
24520 , p_source_105 IN VARCHAR2
24521 , p_source_105_meaning IN VARCHAR2
24522 --Payment Currency Code
24523 , p_source_106 IN VARCHAR2
24524 --Payment Maturity Date
24525 , p_source_107 IN DATE
24526 --Payment Distribution (Invoice Rate) Ledger Amount
24527 , p_source_109 IN NUMBER
24528 --Payment Exchange Date
24529 , p_source_110 IN DATE
24530 --Payment Exchange Rate
24531 , p_source_111 IN NUMBER
24532 --Payment Exchange Rate Type
24533 , p_source_112 IN VARCHAR2
24534 )
24535 IS
24536
24537 l_component_type VARCHAR2(80);
24538 l_component_code VARCHAR2(30);
24539 l_component_type_code VARCHAR2(1);
24540 l_component_appl_id INTEGER;
24541 l_amb_context_code VARCHAR2(30);
24542 l_entity_code VARCHAR2(30);
24543 l_event_class_code VARCHAR2(30);
24544 l_ae_header_id NUMBER;
24545 l_event_type_code VARCHAR2(30);
24546 l_line_definition_code VARCHAR2(30);
24547 l_line_definition_owner_code VARCHAR2(1);
24548 --
24549 -- adr variables
24550 l_segment VARCHAR2(30);
24551 l_ccid NUMBER;
24552 l_adr_transaction_coa_id NUMBER;
24553 l_adr_accounting_coa_id NUMBER;
24554 l_adr_flexfield_segment_code VARCHAR2(30);
24555 l_adr_flex_value_set_id NUMBER;
24556 l_adr_value_type_code VARCHAR2(30);
24557 l_adr_value_combination_id NUMBER;
24558 l_adr_value_segment_code VARCHAR2(30);
24559
24560 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
24561 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
24562 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
24563 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
24564
24565 -- 4262811 Variables ------------------------------------------------------------------------------------------
24566 l_entered_amt_idx NUMBER;
24567 l_accted_amt_idx NUMBER;
24568 l_acc_rev_flag VARCHAR2(1);
24569 l_accrual_line_num NUMBER;
24570 l_tmp_amt NUMBER;
24571 l_acc_rev_natural_side_code VARCHAR2(1);
24572
24573 l_num_entries NUMBER;
24574 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
24575 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
24576 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
24577 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
24578 l_recog_line_1 NUMBER;
24579 l_recog_line_2 NUMBER;
24580
24581 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
24582 l_bflow_applied_to_amt NUMBER; -- 5132302
24583 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
24584
24585 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
24586
24587 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
24588 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
24589
24590 ---------------------------------------------------------------------------------------------------------------
24591
24592
24593 --
24594 -- bulk performance
24595 --
24596 l_balance_type_code VARCHAR2(1);
24597 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
24598 l_log_module VARCHAR2(240);
24599
24600 --
24601 -- Upgrade strategy
24602 --
24603 l_actual_upg_option VARCHAR2(1);
24604 l_enc_upg_option VARCHAR2(1);
24605
24606 --
24607 BEGIN
24608 --
24609 IF g_log_enabled THEN
24610 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_70';
24611 END IF;
24612 --
24613 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
24614
24615 trace
24616 (p_msg => 'BEGIN of AcctLineType_70'
24617 ,p_level => C_LEVEL_PROCEDURE
24618 ,p_module => l_log_module);
24619
24620 END IF;
24621 --
24622 l_component_type := 'AMB_JLT';
24623 l_component_code := 'AP_CASH_CLEAR_MAT_AS_INVXRATE';
24624 l_component_type_code := 'S';
24625 l_component_appl_id := 200;
24626 l_amb_context_code := 'DEFAULT';
24627 l_entity_code := 'AP_PAYMENTS';
24628 l_event_class_code := 'FUTURE DATED PAYMENTS';
24629 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
24630 l_line_definition_owner_code := 'S';
24631 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
24632 --
24633 l_balance_type_code := 'A';
24634 l_segment := NULL;
24635 l_ccid := NULL;
24636 l_adr_transaction_coa_id := NULL;
24637 l_adr_accounting_coa_id := NULL;
24638 l_adr_flexfield_segment_code := NULL;
24639 l_adr_flex_value_set_id := NULL;
24640 l_adr_value_type_code := NULL;
24641 l_adr_value_combination_id := NULL;
24645 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
24642 l_adr_value_segment_code := NULL;
24643
24644 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
24646 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
24647 l_budgetary_control_flag := 'N';
24648
24649 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24650 l_bflow_applied_to_amt := NULL; -- 5132302
24651 l_entered_amt_idx := NULL; -- 4262811
24652 l_accted_amt_idx := NULL; -- 4262811
24653 l_acc_rev_flag := NULL; -- 4262811
24654 l_accrual_line_num := NULL; -- 4262811
24655 l_tmp_amt := NULL; -- 4262811
24656 --
24657
24658 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
24659 l_balance_type_code <> 'B' THEN
24660 IF NVL(p_source_89,'
24661 ') = 'ALWAYS_CLEAR' AND
24662 (NVL(p_source_105,'
24663 ') = 'Y' AND
24664 NVL(p_source_3,'
24665 ') = 'ACCOUNT_SEGMENT_VALUE') AND
24666 p_source_107 IS NOT NULL AND
24667 NVL(p_source_90,'
24668 ') = 'CASH'
24669 THEN
24670
24671 --
24672 XLA_AE_LINES_PKG.SetNewLine;
24673
24674 p_balance_type_code := l_balance_type_code;
24675 -- set the flag so later we will know whether the gain loss line needs to be created
24676
24677 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
24678 p_actual_flag :='A';
24679 END IF;
24680
24681 --
24682 -- bulk performance
24683 --
24684 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
24685 p_header_num => 0); -- 4262811
24686 --
24687 -- set accounting line options
24688 --
24689 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
24690 p_natural_side_code => 'C'
24691 , p_gain_or_loss_flag => 'N'
24692 , p_gl_transfer_mode_code => 'S'
24693 , p_acct_entry_type_code => 'A'
24694 , p_switch_side_flag => 'Y'
24695 , p_merge_duplicate_code => 'A'
24696 );
24697 --
24698 l_acc_rev_natural_side_code := 'D'; -- 4262811
24699 --
24700 --
24701 -- set accounting line type info
24702 --
24703 xla_ae_lines_pkg.SetAcctLineType
24704 (p_component_type => l_component_type
24705 ,p_event_type_code => l_event_type_code
24706 ,p_line_definition_owner_code => l_line_definition_owner_code
24707 ,p_line_definition_code => l_line_definition_code
24708 ,p_accounting_line_code => l_component_code
24709 ,p_accounting_line_type_code => l_component_type_code
24710 ,p_accounting_line_appl_id => l_component_appl_id
24711 ,p_amb_context_code => l_amb_context_code
24712 ,p_entity_code => l_entity_code
24713 ,p_event_class_code => l_event_class_code);
24714 --
24715 -- set accounting class
24716 --
24717 xla_ae_lines_pkg.SetAcctClass(
24718 p_accounting_class_code => 'CASH_CLEARING'
24719 , p_ae_header_id => l_ae_header_id
24720 );
24721
24722 --
24723 -- set rounding class
24724 --
24725 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
24726 'CASH_CLEARING';
24727
24728 --
24729 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
24730 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
24731 --
24732 -- bulk performance
24733 --
24734 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
24735
24736 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
24737 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
24738
24739 -- 4955764
24740 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
24741 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
24742
24743 -- 4458381 Public Sector Enh
24744
24745 --
24746 -- set accounting attributes for the line type
24747 --
24748 l_entered_amt_idx := 9;
24749 l_accted_amt_idx := 14;
24750 l_bflow_applied_to_amt_idx := NULL; -- 5132302
24751 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
24752 l_rec_acct_attrs.array_char_value(1) := p_source_41;
24753 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
24754 l_rec_acct_attrs.array_num_value(2) := p_source_79;
24755 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
24756 l_rec_acct_attrs.array_char_value(3) := p_source_92;
24757 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
24758 l_rec_acct_attrs.array_char_value(4) := p_source_93;
24759 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
24760 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
24761 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
24762 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
24766 l_rec_acct_attrs.array_char_value(8) := p_source_43;
24763 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
24764 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
24765 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
24767 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
24768 l_rec_acct_attrs.array_num_value(9) := p_source_91;
24769 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
24770 l_rec_acct_attrs.array_char_value(10) := p_source_106;
24771 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
24772 l_rec_acct_attrs.array_date_value(11) := p_source_110;
24773 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
24774 l_rec_acct_attrs.array_num_value(12) := p_source_111;
24775 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
24776 l_rec_acct_attrs.array_char_value(13) := p_source_112;
24777 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
24778 l_rec_acct_attrs.array_num_value(14) := p_source_109;
24779 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
24780 l_rec_acct_attrs.array_char_value(15) := p_source_68;
24781 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
24782 l_rec_acct_attrs.array_num_value(16) := p_source_102;
24783 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
24784 l_rec_acct_attrs.array_num_value(17) := p_source_103;
24785 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
24786 l_rec_acct_attrs.array_char_value(18) := p_source_71;
24787 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
24788 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
24789 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
24790 l_rec_acct_attrs.array_char_value(20) := p_source_43;
24791
24792 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
24793 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
24794
24795 ---------------------------------------------------------------------------------------------------------------
24796 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
24797 ---------------------------------------------------------------------------------------------------------------
24798 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
24799
24800 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24801 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
24802
24803 IF xla_accounting_cache_pkg.GetValueChar
24804 (p_source_code => 'LEDGER_CATEGORY_CODE'
24805 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
24806 AND l_bflow_method_code = 'PRIOR_ENTRY'
24807 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
24808 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
24809 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
24810 )
24811 THEN
24812 xla_ae_lines_pkg.BflowUpgEntry
24813 (p_business_method_code => l_bflow_method_code
24814 ,p_business_class_code => l_bflow_class_code
24815 ,p_balance_type => l_balance_type_code);
24816 ELSE
24817 NULL;
24818 XLA_AE_LINES_PKG.business_flow_validation(
24819 p_business_method_code => l_bflow_method_code
24820 ,p_business_class_code => l_bflow_class_code
24821 ,p_inherit_description_flag => l_inherit_desc_flag);
24822 END IF;
24823
24824 --
24825 -- call analytical criteria
24826 --
24827
24828 --
24829 -- call description
24830 --
24831 -- No description or it is inherited.
24832 --
24833 -- call ADRs
24834 -- Bug 4922099
24835 --
24836 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
24837 (NVL(l_actual_upg_option, 'N') = 'O') OR
24838 (NVL(l_enc_upg_option, 'N') = 'O')
24839 )
24840 THEN
24841 NULL;
24842 --
24843 --
24844
24845 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
24846 p_code_combination_id => TO_NUMBER(C_NUM)
24847 , p_value_type_code => NULL
24848 , p_transaction_coa_id => null
24849 , p_accounting_coa_id => null
24850 , p_adr_code => NULL
24851 , p_adr_type_code => NULL
24852 , p_component_type => l_component_type
24853 , p_component_code => l_component_code
24854 , p_component_type_code => l_component_type_code
24855 , p_component_appl_id => l_component_appl_id
24856 , p_amb_context_code => l_amb_context_code
24857 , p_side => NULL
24858 );
24859
24860
24861 -- initialise segments
24862 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24863 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24864 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24865 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24869 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24866 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24867 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24868 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24870 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24871 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24872 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24873 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24874 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24875 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24876 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24877 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24878 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24879 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24880 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24881 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24882 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24883 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24884 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24885 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24886 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24887 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24888 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24889 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24890 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24891 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
24892 --
24893
24894 --
24895
24896
24897 l_segment := AcctDerRule_15(
24898 p_application_id => p_application_id
24899 , p_ae_header_id => l_ae_header_id
24900 , p_source_23 => p_source_23
24901 , x_transaction_coa_id => l_adr_transaction_coa_id
24902 , x_accounting_coa_id => l_adr_accounting_coa_id
24903 , x_flexfield_segment_code => l_adr_flexfield_segment_code
24904 , x_flex_value_set_id => l_adr_flex_value_set_id
24905 , x_value_type_code => l_adr_value_type_code
24906 , x_value_combination_id => l_adr_value_combination_id
24907 , x_value_segment_code => l_adr_value_segment_code
24908 , p_side => 'NA'
24909 , p_override_seg_flag => 'Y'
24910 );
24911
24912 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
24913
24914 xla_ae_lines_pkg.set_segment(
24915 p_to_segment_code => 'GL_ACCOUNT'
24916 , p_segment_value => l_segment
24917 , p_from_segment_code => l_adr_value_segment_code
24918 , p_from_combination_id => l_adr_value_combination_id
24919 , p_value_type_code => l_adr_value_type_code
24920 , p_transaction_coa_id => l_adr_transaction_coa_id
24921 , p_accounting_coa_id => l_adr_accounting_coa_id
24922 , p_flexfield_segment_code => l_adr_flexfield_segment_code
24923 , p_flex_value_set_id => l_adr_flex_value_set_id
24924 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
24925 , p_adr_type_code => 'S'
24926 , p_component_type => l_component_type
24927 , p_component_code => l_component_code
24928 , p_component_type_code => l_component_type_code
24929 , p_component_appl_id => l_component_appl_id
24930 , p_amb_context_code => l_amb_context_code
24931 , p_entity_code => 'AP_PAYMENTS'
24932 , p_event_class_code => 'FUTURE DATED PAYMENTS'
24933 , p_side => 'NA'
24934 );
24935
24936 END IF;
24937
24938 --
24939 --
24940 END IF;
24941 --
24942 -- Bug 4922099
24943 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
24944 (NVL(l_enc_upg_option, 'N') = 'O')
24945 ) AND
24946 (l_bflow_method_code = 'PRIOR_ENTRY')
24947 )
24948 THEN
24949 IF
24950 --
24951 1 = 2
24952 --
24953 THEN
24954 xla_accounting_err_pkg.build_message
24955 (p_appli_s_name => 'XLA'
24956 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24957 ,p_token_1 => 'LINE_NUMBER'
24958 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
24959 ,p_token_2 => 'LINE_TYPE_NAME'
24960 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
24961 l_component_type
24965 ,l_amb_context_code
24962 ,l_component_code
24963 ,l_component_type_code
24964 ,l_component_appl_id
24966 ,l_entity_code
24967 ,l_event_class_code
24968 )
24969 ,p_token_3 => 'OWNER'
24970 ,p_value_3 => xla_lookups_pkg.get_meaning(
24971 p_lookup_type => 'XLA_OWNER_TYPE'
24972 ,p_lookup_code => l_component_type_code
24973 )
24974 ,p_token_4 => 'PRODUCT_NAME'
24975 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
24976 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
24977 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
24978 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
24979 ,p_ae_header_id => NULL
24980 );
24981
24982 IF (C_LEVEL_ERROR>= g_log_level) THEN
24983 trace
24984 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
24985 ,p_level => C_LEVEL_ERROR
24986 ,p_module => l_log_module);
24987 END IF;
24988 END IF;
24989 END IF;
24990 --
24991 --
24992 ------------------------------------------------------------------------------------------------
24993 -- 4219869 Business Flow
24994 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
24995 -- Prior Entry. Currently, the following code is always generated.
24996 ------------------------------------------------------------------------------------------------
24997 XLA_AE_LINES_PKG.ValidateCurrentLine;
24998
24999 ------------------------------------------------------------------------------------
25000 -- 4219869 Business Flow
25001 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25002 ------------------------------------------------------------------------------------
25003 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25004
25005 ----------------------------------------------------------------------------------
25006 -- 4219869 Business Flow
25007 -- Update journal entry status -- Need to generate this within IF <condition>
25008 ----------------------------------------------------------------------------------
25009 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25010 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25011 ,p_balance_type_code => l_balance_type_code
25012 );
25013
25014 -------------------------------------------------------------------------------------------
25015 -- 4262811 - Generate the Accrual Reversal lines
25016 -------------------------------------------------------------------------------------------
25017 BEGIN
25018 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25019 (g_array_event(p_event_id).array_value_num('header_index'));
25020 IF l_acc_rev_flag IS NULL THEN
25021 l_acc_rev_flag := 'N';
25022 END IF;
25023 EXCEPTION
25024 WHEN OTHERS THEN
25025 l_acc_rev_flag := 'N';
25026 END;
25027 --
25028 IF (l_acc_rev_flag = 'Y') THEN
25029
25030 -- 4645092 ------------------------------------------------------------------------------
25031 -- To allow MPA report to determine if it should generate report process
25032 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25033 ------------------------------------------------------------------------------------------
25034
25035 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25036 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25037 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25038 -- call ADRs
25039 -- Bug 4922099
25040 --
25041 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25042 (NVL(l_actual_upg_option, 'N') = 'O') OR
25043 (NVL(l_enc_upg_option, 'N') = 'O')
25044 )
25045 THEN
25046 NULL;
25047 --
25048 --
25049
25050 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
25051 p_code_combination_id => TO_NUMBER(C_NUM)
25052 , p_value_type_code => NULL
25053 , p_transaction_coa_id => null
25054 , p_accounting_coa_id => null
25055 , p_adr_code => NULL
25056 , p_adr_type_code => NULL
25057 , p_component_type => l_component_type
25058 , p_component_code => l_component_code
25062 , p_side => NULL
25059 , p_component_type_code => l_component_type_code
25060 , p_component_appl_id => l_component_appl_id
25061 , p_amb_context_code => l_amb_context_code
25063 );
25064
25065
25066 -- initialise segments
25067 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25068 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25069 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25070 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25071 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25072 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25073 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25074 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25075 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25076 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25077 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25078 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25079 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25080 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25081 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25082 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25083 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25084 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25085 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25086 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25087 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25088 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25089 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25090 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25091 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25092 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25093 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25094 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25095 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25096 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
25097 --
25098
25099 --
25100
25101
25102 l_segment := AcctDerRule_15(
25103 p_application_id => p_application_id
25104 , p_ae_header_id => l_ae_header_id
25105 , p_source_23 => p_source_23
25106 , x_transaction_coa_id => l_adr_transaction_coa_id
25107 , x_accounting_coa_id => l_adr_accounting_coa_id
25108 , x_flexfield_segment_code => l_adr_flexfield_segment_code
25109 , x_flex_value_set_id => l_adr_flex_value_set_id
25110 , x_value_type_code => l_adr_value_type_code
25111 , x_value_combination_id => l_adr_value_combination_id
25112 , x_value_segment_code => l_adr_value_segment_code
25113 , p_side => 'NA'
25114 , p_override_seg_flag => 'Y'
25115 );
25116
25117 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
25118
25119 xla_ae_lines_pkg.set_segment(
25120 p_to_segment_code => 'GL_ACCOUNT'
25121 , p_segment_value => l_segment
25122 , p_from_segment_code => l_adr_value_segment_code
25123 , p_from_combination_id => l_adr_value_combination_id
25124 , p_value_type_code => l_adr_value_type_code
25125 , p_transaction_coa_id => l_adr_transaction_coa_id
25126 , p_accounting_coa_id => l_adr_accounting_coa_id
25127 , p_flexfield_segment_code => l_adr_flexfield_segment_code
25128 , p_flex_value_set_id => l_adr_flex_value_set_id
25129 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
25130 , p_adr_type_code => 'S'
25131 , p_component_type => l_component_type
25132 , p_component_code => l_component_code
25133 , p_component_type_code => l_component_type_code
25134 , p_component_appl_id => l_component_appl_id
25135 , p_amb_context_code => l_amb_context_code
25136 , p_entity_code => 'AP_PAYMENTS'
25137 , p_event_class_code => 'FUTURE DATED PAYMENTS'
25138 , p_side => 'NA'
25139 );
25140
25141 END IF;
25142
25143 --
25144 --
25145 END IF;
25146
25147 --
25148 -- Update the line information that should be overwritten
25149 --
25150 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25151 p_header_num => 1);
25152 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25153
25157 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25154 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25155
25156 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25158 END IF;
25159
25160 --
25161 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25162 --
25163 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25164 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25165 ELSE
25166 ---------------------------------------------------------------------------------------------------
25167 -- 4262811a Switch Sign
25168 ---------------------------------------------------------------------------------------------------
25169 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25170 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25171 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25172 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25173 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25174 -- 5132302
25175 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25176 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25177
25178 END IF;
25179
25180 -- 4955764
25181 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25182 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25183
25184
25185 XLA_AE_LINES_PKG.ValidateCurrentLine;
25186 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25187
25188 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25189 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25190 ,p_balance_type_code => l_balance_type_code);
25191
25192 END IF;
25193
25194 -----------------------------------------------------------------------------------------
25195 -- 4262811 Multiperiod Accounting
25196 -----------------------------------------------------------------------------------------
25197 -- No MPA option is assigned.
25198
25199
25200 END IF;
25201 END IF;
25202 --
25203
25204 --
25205 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25206 trace
25207 (p_msg => 'END of AcctLineType_70'
25208 ,p_level => C_LEVEL_PROCEDURE
25209 ,p_module => l_log_module);
25210 END IF;
25211 --
25212 EXCEPTION
25213 WHEN xla_exceptions_pkg.application_exception THEN
25214 RAISE;
25215 WHEN OTHERS THEN
25216 xla_exceptions_pkg.raise_message
25217 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_70');
25218 END AcctLineType_70;
25219 --
25220
25221 ---------------------------------------
25222 --
25223 -- PRIVATE FUNCTION
25224 -- AcctLineType_71
25225 --
25226 ---------------------------------------
25227 PROCEDURE AcctLineType_71 (
25228 p_application_id IN NUMBER
25229 ,p_event_id IN NUMBER
25230 ,p_calculate_acctd_flag IN VARCHAR2
25231 ,p_calculate_g_l_flag IN VARCHAR2
25232 ,p_actual_flag IN OUT VARCHAR2
25233 ,p_balance_type_code OUT VARCHAR2
25234 ,p_gain_or_loss_ref OUT VARCHAR2
25235
25236 --Automatic Offsets Value
25237 , p_source_3 IN VARCHAR2
25238 , p_source_3_meaning IN VARCHAR2
25239 --Bank Cash Clearing Account
25240 , p_source_23 IN NUMBER
25241 --Accounting Reversal Indicator
25242 , p_source_41 IN VARCHAR2
25243 --Distribution Link Type
25244 , p_source_43 IN VARCHAR2
25245 --Override Accounted Amount Indicator
25246 , p_source_68 IN VARCHAR2
25247 , p_source_68_meaning IN VARCHAR2
25248 --Third Party Type
25249 , p_source_71 IN VARCHAR2
25250 --Business Flow Accounts Payable Application Identifier
25251 , p_source_79 IN NUMBER
25252 --When to Account for Payment Option
25253 , p_source_89 IN VARCHAR2
25254 --Payment Distribution Type
25255 , p_source_90 IN VARCHAR2
25256 , p_source_90_meaning IN VARCHAR2
25257 --Payment Distribution Amount
25258 , p_source_91 IN NUMBER
25259 --Business Flow Payment Distribution Type
25260 , p_source_92 IN VARCHAR2
25261 --Business Flow Payment Entity Code
25262 , p_source_93 IN VARCHAR2
25263 --Business Flow Payment Distribution Identifier
25264 , p_source_94 IN NUMBER
25265 --Business Flow Payment Identifier
25266 , p_source_95 IN NUMBER
25267 --Payment Distribution Identifier
25268 , p_source_96 IN NUMBER
25269 --Payment Supplier Identifier
25270 , p_source_102 IN NUMBER
25271 --Payment Supplier Site Identifier
25272 , p_source_103 IN NUMBER
25273 --Payment Distribution Reversed Identifier
25274 , p_source_104 IN NUMBER
25275 --Pooled Bank Account Option
25279 , p_source_106 IN VARCHAR2
25276 , p_source_105 IN VARCHAR2
25277 , p_source_105_meaning IN VARCHAR2
25278 --Payment Currency Code
25280 --Payment Maturity Date
25281 , p_source_107 IN DATE
25282 --Payment Distribution (Invoice Rate) Ledger Amount
25283 , p_source_109 IN NUMBER
25284 --Payment Exchange Date
25285 , p_source_110 IN DATE
25286 --Payment Exchange Rate
25287 , p_source_111 IN NUMBER
25288 --Payment Exchange Rate Type
25289 , p_source_112 IN VARCHAR2
25290 )
25291 IS
25292
25293 l_component_type VARCHAR2(80);
25294 l_component_code VARCHAR2(30);
25295 l_component_type_code VARCHAR2(1);
25296 l_component_appl_id INTEGER;
25297 l_amb_context_code VARCHAR2(30);
25298 l_entity_code VARCHAR2(30);
25299 l_event_class_code VARCHAR2(30);
25300 l_ae_header_id NUMBER;
25301 l_event_type_code VARCHAR2(30);
25302 l_line_definition_code VARCHAR2(30);
25303 l_line_definition_owner_code VARCHAR2(1);
25304 --
25305 -- adr variables
25306 l_segment VARCHAR2(30);
25307 l_ccid NUMBER;
25308 l_adr_transaction_coa_id NUMBER;
25309 l_adr_accounting_coa_id NUMBER;
25310 l_adr_flexfield_segment_code VARCHAR2(30);
25311 l_adr_flex_value_set_id NUMBER;
25312 l_adr_value_type_code VARCHAR2(30);
25313 l_adr_value_combination_id NUMBER;
25314 l_adr_value_segment_code VARCHAR2(30);
25315
25316 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25317 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25318 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25319 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25320
25321 -- 4262811 Variables ------------------------------------------------------------------------------------------
25322 l_entered_amt_idx NUMBER;
25323 l_accted_amt_idx NUMBER;
25324 l_acc_rev_flag VARCHAR2(1);
25325 l_accrual_line_num NUMBER;
25326 l_tmp_amt NUMBER;
25327 l_acc_rev_natural_side_code VARCHAR2(1);
25328
25329 l_num_entries NUMBER;
25330 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25331 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25332 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25333 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25334 l_recog_line_1 NUMBER;
25335 l_recog_line_2 NUMBER;
25336
25337 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25338 l_bflow_applied_to_amt NUMBER; -- 5132302
25339 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25340
25341 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25342
25343 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
25344 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
25345
25346 ---------------------------------------------------------------------------------------------------------------
25347
25348
25349 --
25350 -- bulk performance
25351 --
25352 l_balance_type_code VARCHAR2(1);
25353 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
25354 l_log_module VARCHAR2(240);
25355
25356 --
25357 -- Upgrade strategy
25358 --
25359 l_actual_upg_option VARCHAR2(1);
25360 l_enc_upg_option VARCHAR2(1);
25361
25362 --
25363 BEGIN
25364 --
25365 IF g_log_enabled THEN
25366 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_71';
25367 END IF;
25368 --
25369 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25370
25371 trace
25372 (p_msg => 'BEGIN of AcctLineType_71'
25373 ,p_level => C_LEVEL_PROCEDURE
25374 ,p_module => l_log_module);
25375
25376 END IF;
25377 --
25378 l_component_type := 'AMB_JLT';
25379 l_component_code := 'AP_CASH_CLEAR_MAT_BS_INVXRATE';
25380 l_component_type_code := 'S';
25381 l_component_appl_id := 200;
25382 l_amb_context_code := 'DEFAULT';
25383 l_entity_code := 'AP_PAYMENTS';
25384 l_event_class_code := 'FUTURE DATED PAYMENTS';
25385 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
25386 l_line_definition_owner_code := 'S';
25387 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
25388 --
25389 l_balance_type_code := 'A';
25390 l_segment := NULL;
25391 l_ccid := NULL;
25392 l_adr_transaction_coa_id := NULL;
25393 l_adr_accounting_coa_id := NULL;
25394 l_adr_flexfield_segment_code := NULL;
25395 l_adr_flex_value_set_id := NULL;
25396 l_adr_value_type_code := NULL;
25397 l_adr_value_combination_id := NULL;
25398 l_adr_value_segment_code := NULL;
25399
25400 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
25401 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
25402 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
25403 l_budgetary_control_flag := 'N';
25404
25408 l_accted_amt_idx := NULL; -- 4262811
25405 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25406 l_bflow_applied_to_amt := NULL; -- 5132302
25407 l_entered_amt_idx := NULL; -- 4262811
25409 l_acc_rev_flag := NULL; -- 4262811
25410 l_accrual_line_num := NULL; -- 4262811
25411 l_tmp_amt := NULL; -- 4262811
25412 --
25413
25414 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
25415 l_balance_type_code <> 'B' THEN
25416 IF NVL(p_source_89,'
25417 ') = 'ALWAYS_CLEAR' AND
25418 (NVL(p_source_105,'
25419 ') = 'Y' AND
25420 NVL(p_source_3,'
25421 ') = 'BALANCING_SEGMENT') AND
25422 p_source_107 IS NOT NULL AND
25423 NVL(p_source_90,'
25424 ') = 'CASH'
25425 THEN
25426
25427 --
25428 XLA_AE_LINES_PKG.SetNewLine;
25429
25430 p_balance_type_code := l_balance_type_code;
25431 -- set the flag so later we will know whether the gain loss line needs to be created
25432
25433 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
25434 p_actual_flag :='A';
25435 END IF;
25436
25437 --
25438 -- bulk performance
25439 --
25440 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
25441 p_header_num => 0); -- 4262811
25442 --
25443 -- set accounting line options
25444 --
25445 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
25446 p_natural_side_code => 'C'
25447 , p_gain_or_loss_flag => 'N'
25448 , p_gl_transfer_mode_code => 'S'
25449 , p_acct_entry_type_code => 'A'
25450 , p_switch_side_flag => 'Y'
25451 , p_merge_duplicate_code => 'A'
25452 );
25453 --
25454 l_acc_rev_natural_side_code := 'D'; -- 4262811
25455 --
25456 --
25457 -- set accounting line type info
25458 --
25459 xla_ae_lines_pkg.SetAcctLineType
25460 (p_component_type => l_component_type
25461 ,p_event_type_code => l_event_type_code
25462 ,p_line_definition_owner_code => l_line_definition_owner_code
25463 ,p_line_definition_code => l_line_definition_code
25464 ,p_accounting_line_code => l_component_code
25465 ,p_accounting_line_type_code => l_component_type_code
25466 ,p_accounting_line_appl_id => l_component_appl_id
25467 ,p_amb_context_code => l_amb_context_code
25468 ,p_entity_code => l_entity_code
25469 ,p_event_class_code => l_event_class_code);
25470 --
25471 -- set accounting class
25472 --
25473 xla_ae_lines_pkg.SetAcctClass(
25474 p_accounting_class_code => 'CASH_CLEARING'
25475 , p_ae_header_id => l_ae_header_id
25476 );
25477
25478 --
25479 -- set rounding class
25480 --
25481 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
25482 'CASH_CLEARING';
25483
25484 --
25485 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
25486 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
25487 --
25488 -- bulk performance
25489 --
25490 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
25491
25492 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
25493 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
25494
25495 -- 4955764
25496 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25497 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
25498
25499 -- 4458381 Public Sector Enh
25500
25501 --
25502 -- set accounting attributes for the line type
25503 --
25504 l_entered_amt_idx := 9;
25505 l_accted_amt_idx := 14;
25506 l_bflow_applied_to_amt_idx := NULL; -- 5132302
25507 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
25508 l_rec_acct_attrs.array_char_value(1) := p_source_41;
25509 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
25510 l_rec_acct_attrs.array_num_value(2) := p_source_79;
25511 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
25512 l_rec_acct_attrs.array_char_value(3) := p_source_92;
25513 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
25514 l_rec_acct_attrs.array_char_value(4) := p_source_93;
25515 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
25516 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
25517 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
25518 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
25519 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
25520 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
25521 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
25522 l_rec_acct_attrs.array_char_value(8) := p_source_43;
25523 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
25524 l_rec_acct_attrs.array_num_value(9) := p_source_91;
25528 l_rec_acct_attrs.array_date_value(11) := p_source_110;
25525 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
25526 l_rec_acct_attrs.array_char_value(10) := p_source_106;
25527 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
25529 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
25530 l_rec_acct_attrs.array_num_value(12) := p_source_111;
25531 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
25532 l_rec_acct_attrs.array_char_value(13) := p_source_112;
25533 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
25534 l_rec_acct_attrs.array_num_value(14) := p_source_109;
25535 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
25536 l_rec_acct_attrs.array_char_value(15) := p_source_68;
25537 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
25538 l_rec_acct_attrs.array_num_value(16) := p_source_102;
25539 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
25540 l_rec_acct_attrs.array_num_value(17) := p_source_103;
25541 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
25542 l_rec_acct_attrs.array_char_value(18) := p_source_71;
25543 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
25544 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
25545 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
25546 l_rec_acct_attrs.array_char_value(20) := p_source_43;
25547
25548 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
25549 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
25550
25551 ---------------------------------------------------------------------------------------------------------------
25552 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
25553 ---------------------------------------------------------------------------------------------------------------
25554 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
25555
25556 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25557 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
25558
25559 IF xla_accounting_cache_pkg.GetValueChar
25560 (p_source_code => 'LEDGER_CATEGORY_CODE'
25561 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
25562 AND l_bflow_method_code = 'PRIOR_ENTRY'
25563 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
25564 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
25565 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
25566 )
25567 THEN
25568 xla_ae_lines_pkg.BflowUpgEntry
25569 (p_business_method_code => l_bflow_method_code
25570 ,p_business_class_code => l_bflow_class_code
25571 ,p_balance_type => l_balance_type_code);
25572 ELSE
25573 NULL;
25574 XLA_AE_LINES_PKG.business_flow_validation(
25575 p_business_method_code => l_bflow_method_code
25576 ,p_business_class_code => l_bflow_class_code
25577 ,p_inherit_description_flag => l_inherit_desc_flag);
25578 END IF;
25579
25580 --
25581 -- call analytical criteria
25582 --
25583
25584 --
25585 -- call description
25586 --
25587 -- No description or it is inherited.
25588 --
25589 -- call ADRs
25590 -- Bug 4922099
25591 --
25592 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25593 (NVL(l_actual_upg_option, 'N') = 'O') OR
25594 (NVL(l_enc_upg_option, 'N') = 'O')
25595 )
25596 THEN
25597 NULL;
25598 --
25599 --
25600
25601 l_ccid := AcctDerRule_35(
25602 p_application_id => p_application_id
25603 , p_ae_header_id => l_ae_header_id
25604 , p_source_23 => p_source_23
25605 , x_transaction_coa_id => l_adr_transaction_coa_id
25606 , x_accounting_coa_id => l_adr_accounting_coa_id
25607 , x_value_type_code => l_adr_value_type_code
25608 , p_side => 'NA'
25609 );
25610
25611 xla_ae_lines_pkg.set_ccid(
25612 p_code_combination_id => l_ccid
25613 , p_value_type_code => l_adr_value_type_code
25614 , p_transaction_coa_id => l_adr_transaction_coa_id
25615 , p_accounting_coa_id => l_adr_accounting_coa_id
25616 , p_adr_code => 'AP_PMT_CASH_CLEAR'
25617 , p_adr_type_code => 'S'
25618 , p_component_type => l_component_type
25619 , p_component_code => l_component_code
25620 , p_component_type_code => l_component_type_code
25621 , p_component_appl_id => l_component_appl_id
25622 , p_amb_context_code => l_amb_context_code
25623 , p_side => 'NA'
25624 );
25625
25626
25627 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
25628 p_to_segment_code => 'GL_BALANCING'
25629 , p_segment_value => C_CHAR
25630 , p_from_segment_code => NULL
25631 , p_from_combination_id => NULL
25632 , p_value_type_code => NULL
25633 , p_transaction_coa_id => null
25637 , p_adr_code => NULL
25634 , p_accounting_coa_id => null
25635 , p_flexfield_segment_code => NULL
25636 , p_flex_value_set_id => NULL
25638 , p_adr_type_code => NULL
25639 , p_component_type => l_component_type
25640 , p_component_code => l_component_code
25641 , p_component_type_code => l_component_type_code
25642 , p_component_appl_id => l_component_appl_id
25643 , p_amb_context_code => l_amb_context_code
25644 , p_entity_code => 'AP_PAYMENTS'
25645 , p_event_class_code => 'FUTURE DATED PAYMENTS'
25646 , p_side => 'NA'
25647 );
25648 --
25649
25650
25651 --
25652 --
25653 END IF;
25654 --
25655 -- Bug 4922099
25656 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
25657 (NVL(l_enc_upg_option, 'N') = 'O')
25658 ) AND
25659 (l_bflow_method_code = 'PRIOR_ENTRY')
25660 )
25661 THEN
25662 IF
25663 --
25664 1 = 2
25665 --
25666 THEN
25667 xla_accounting_err_pkg.build_message
25668 (p_appli_s_name => 'XLA'
25669 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25670 ,p_token_1 => 'LINE_NUMBER'
25671 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
25672 ,p_token_2 => 'LINE_TYPE_NAME'
25673 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
25674 l_component_type
25675 ,l_component_code
25676 ,l_component_type_code
25677 ,l_component_appl_id
25678 ,l_amb_context_code
25679 ,l_entity_code
25680 ,l_event_class_code
25681 )
25682 ,p_token_3 => 'OWNER'
25683 ,p_value_3 => xla_lookups_pkg.get_meaning(
25684 p_lookup_type => 'XLA_OWNER_TYPE'
25685 ,p_lookup_code => l_component_type_code
25686 )
25687 ,p_token_4 => 'PRODUCT_NAME'
25688 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
25689 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
25690 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
25691 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
25692 ,p_ae_header_id => NULL
25693 );
25694
25695 IF (C_LEVEL_ERROR>= g_log_level) THEN
25696 trace
25697 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
25698 ,p_level => C_LEVEL_ERROR
25699 ,p_module => l_log_module);
25700 END IF;
25701 END IF;
25702 END IF;
25703 --
25704 --
25705 ------------------------------------------------------------------------------------------------
25706 -- 4219869 Business Flow
25707 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
25708 -- Prior Entry. Currently, the following code is always generated.
25709 ------------------------------------------------------------------------------------------------
25710 XLA_AE_LINES_PKG.ValidateCurrentLine;
25711
25712 ------------------------------------------------------------------------------------
25713 -- 4219869 Business Flow
25714 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
25715 ------------------------------------------------------------------------------------
25716 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25717
25718 ----------------------------------------------------------------------------------
25719 -- 4219869 Business Flow
25720 -- Update journal entry status -- Need to generate this within IF <condition>
25721 ----------------------------------------------------------------------------------
25722 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25723 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
25724 ,p_balance_type_code => l_balance_type_code
25725 );
25726
25727 -------------------------------------------------------------------------------------------
25728 -- 4262811 - Generate the Accrual Reversal lines
25729 -------------------------------------------------------------------------------------------
25730 BEGIN
25734 l_acc_rev_flag := 'N';
25731 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
25732 (g_array_event(p_event_id).array_value_num('header_index'));
25733 IF l_acc_rev_flag IS NULL THEN
25735 END IF;
25736 EXCEPTION
25737 WHEN OTHERS THEN
25738 l_acc_rev_flag := 'N';
25739 END;
25740 --
25741 IF (l_acc_rev_flag = 'Y') THEN
25742
25743 -- 4645092 ------------------------------------------------------------------------------
25744 -- To allow MPA report to determine if it should generate report process
25745 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
25746 ------------------------------------------------------------------------------------------
25747
25748 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
25749 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
25750 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
25751 -- call ADRs
25752 -- Bug 4922099
25753 --
25754 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
25755 (NVL(l_actual_upg_option, 'N') = 'O') OR
25756 (NVL(l_enc_upg_option, 'N') = 'O')
25757 )
25758 THEN
25759 NULL;
25760 --
25761 --
25762
25763 l_ccid := AcctDerRule_35(
25764 p_application_id => p_application_id
25765 , p_ae_header_id => l_ae_header_id
25766 , p_source_23 => p_source_23
25767 , x_transaction_coa_id => l_adr_transaction_coa_id
25768 , x_accounting_coa_id => l_adr_accounting_coa_id
25769 , x_value_type_code => l_adr_value_type_code
25770 , p_side => 'NA'
25771 );
25772
25773 xla_ae_lines_pkg.set_ccid(
25774 p_code_combination_id => l_ccid
25775 , p_value_type_code => l_adr_value_type_code
25776 , p_transaction_coa_id => l_adr_transaction_coa_id
25777 , p_accounting_coa_id => l_adr_accounting_coa_id
25778 , p_adr_code => 'AP_PMT_CASH_CLEAR'
25779 , p_adr_type_code => 'S'
25780 , p_component_type => l_component_type
25781 , p_component_code => l_component_code
25782 , p_component_type_code => l_component_type_code
25783 , p_component_appl_id => l_component_appl_id
25784 , p_amb_context_code => l_amb_context_code
25785 , p_side => 'NA'
25786 );
25787
25788
25789 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
25790 p_to_segment_code => 'GL_BALANCING'
25791 , p_segment_value => C_CHAR
25792 , p_from_segment_code => NULL
25793 , p_from_combination_id => NULL
25794 , p_value_type_code => NULL
25795 , p_transaction_coa_id => null
25796 , p_accounting_coa_id => null
25797 , p_flexfield_segment_code => NULL
25798 , p_flex_value_set_id => NULL
25799 , p_adr_code => NULL
25800 , p_adr_type_code => NULL
25801 , p_component_type => l_component_type
25802 , p_component_code => l_component_code
25803 , p_component_type_code => l_component_type_code
25804 , p_component_appl_id => l_component_appl_id
25805 , p_amb_context_code => l_amb_context_code
25806 , p_entity_code => 'AP_PAYMENTS'
25807 , p_event_class_code => 'FUTURE DATED PAYMENTS'
25808 , p_side => 'NA'
25809 );
25810 --
25811
25812
25813 --
25814 --
25815 END IF;
25816
25817 --
25818 -- Update the line information that should be overwritten
25819 --
25820 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
25821 p_header_num => 1);
25822 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
25823
25824 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
25825
25826 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
25827 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
25828 END IF;
25829
25830 --
25831 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
25832 --
25833 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
25834 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
25835 ELSE
25836 ---------------------------------------------------------------------------------------------------
25837 -- 4262811a Switch Sign
25838 ---------------------------------------------------------------------------------------------------
25839 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
25840 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25841 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25842 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
25843 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25844 -- 5132302
25848 END IF;
25845 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
25846 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
25847
25849
25850 -- 4955764
25851 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
25852 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
25853
25854
25855 XLA_AE_LINES_PKG.ValidateCurrentLine;
25856 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
25857
25858 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
25859 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
25860 ,p_balance_type_code => l_balance_type_code);
25861
25862 END IF;
25863
25864 -----------------------------------------------------------------------------------------
25865 -- 4262811 Multiperiod Accounting
25866 -----------------------------------------------------------------------------------------
25867 -- No MPA option is assigned.
25868
25869
25870 END IF;
25871 END IF;
25872 --
25873
25874 --
25875 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
25876 trace
25877 (p_msg => 'END of AcctLineType_71'
25878 ,p_level => C_LEVEL_PROCEDURE
25879 ,p_module => l_log_module);
25880 END IF;
25881 --
25882 EXCEPTION
25883 WHEN xla_exceptions_pkg.application_exception THEN
25884 RAISE;
25885 WHEN OTHERS THEN
25886 xla_exceptions_pkg.raise_message
25887 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_71');
25888 END AcctLineType_71;
25889 --
25890
25891 ---------------------------------------
25892 --
25893 -- PRIVATE FUNCTION
25894 -- AcctLineType_72
25895 --
25896 ---------------------------------------
25897 PROCEDURE AcctLineType_72 (
25898 p_application_id IN NUMBER
25899 ,p_event_id IN NUMBER
25900 ,p_calculate_acctd_flag IN VARCHAR2
25901 ,p_calculate_g_l_flag IN VARCHAR2
25902 ,p_actual_flag IN OUT VARCHAR2
25903 ,p_balance_type_code OUT VARCHAR2
25904 ,p_gain_or_loss_ref OUT VARCHAR2
25905
25906 --Accounting Reversal Indicator
25907 , p_source_41 IN VARCHAR2
25908 --Distribution Link Type
25909 , p_source_43 IN VARCHAR2
25910 --Override Accounted Amount Indicator
25911 , p_source_68 IN VARCHAR2
25912 , p_source_68_meaning IN VARCHAR2
25913 --Third Party Type
25914 , p_source_71 IN VARCHAR2
25915 --Invoice Distribution Tax Line Identifier
25916 , p_source_74 IN NUMBER
25917 --Invoice Distribution Summary Tax Line Identifier
25918 , p_source_76 IN NUMBER
25919 --Business Flow Accounts Payable Application Identifier
25920 , p_source_79 IN NUMBER
25921 --When to Account for Payment Option
25922 , p_source_89 IN VARCHAR2
25923 --Payment Distribution Type
25924 , p_source_90 IN VARCHAR2
25925 , p_source_90_meaning IN VARCHAR2
25926 --Payment Distribution Amount
25927 , p_source_91 IN NUMBER
25928 --Business Flow Payment Distribution Type
25929 , p_source_92 IN VARCHAR2
25930 --Business Flow Payment Entity Code
25931 , p_source_93 IN VARCHAR2
25932 --Business Flow Payment Identifier
25933 , p_source_95 IN NUMBER
25934 --Payment Distribution Identifier
25935 , p_source_96 IN NUMBER
25936 --Payment Distribution Reversed Identifier
25937 , p_source_104 IN NUMBER
25938 --Payment Currency Code
25939 , p_source_106 IN VARCHAR2
25940 --Payment Maturity Date
25941 , p_source_107 IN DATE
25942 --Business Flow Payment Maturity Identifier
25943 , p_source_113 IN NUMBER
25944 --Payment Distribution (Matured Rate) Ledger Amount
25945 , p_source_114 IN NUMBER
25946 )
25947 IS
25948
25949 l_component_type VARCHAR2(80);
25950 l_component_code VARCHAR2(30);
25951 l_component_type_code VARCHAR2(1);
25952 l_component_appl_id INTEGER;
25953 l_amb_context_code VARCHAR2(30);
25954 l_entity_code VARCHAR2(30);
25955 l_event_class_code VARCHAR2(30);
25956 l_ae_header_id NUMBER;
25957 l_event_type_code VARCHAR2(30);
25958 l_line_definition_code VARCHAR2(30);
25959 l_line_definition_owner_code VARCHAR2(1);
25960 --
25961 -- adr variables
25962 l_segment VARCHAR2(30);
25963 l_ccid NUMBER;
25964 l_adr_transaction_coa_id NUMBER;
25965 l_adr_accounting_coa_id NUMBER;
25966 l_adr_flexfield_segment_code VARCHAR2(30);
25967 l_adr_flex_value_set_id NUMBER;
25968 l_adr_value_type_code VARCHAR2(30);
25969 l_adr_value_combination_id NUMBER;
25970 l_adr_value_segment_code VARCHAR2(30);
25971
25972 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
25973 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
25974 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
25975 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
25976
25980 l_acc_rev_flag VARCHAR2(1);
25977 -- 4262811 Variables ------------------------------------------------------------------------------------------
25978 l_entered_amt_idx NUMBER;
25979 l_accted_amt_idx NUMBER;
25981 l_accrual_line_num NUMBER;
25982 l_tmp_amt NUMBER;
25983 l_acc_rev_natural_side_code VARCHAR2(1);
25984
25985 l_num_entries NUMBER;
25986 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
25987 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
25988 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
25989 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
25990 l_recog_line_1 NUMBER;
25991 l_recog_line_2 NUMBER;
25992
25993 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
25994 l_bflow_applied_to_amt NUMBER; -- 5132302
25995 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
25996
25997 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
25998
25999 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26000 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26001
26002 ---------------------------------------------------------------------------------------------------------------
26003
26004
26005 --
26006 -- bulk performance
26007 --
26008 l_balance_type_code VARCHAR2(1);
26009 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26010 l_log_module VARCHAR2(240);
26011
26012 --
26013 -- Upgrade strategy
26014 --
26015 l_actual_upg_option VARCHAR2(1);
26016 l_enc_upg_option VARCHAR2(1);
26017
26018 --
26019 BEGIN
26020 --
26021 IF g_log_enabled THEN
26022 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_72';
26023 END IF;
26024 --
26025 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26026
26027 trace
26028 (p_msg => 'BEGIN of AcctLineType_72'
26029 ,p_level => C_LEVEL_PROCEDURE
26030 ,p_module => l_log_module);
26031
26032 END IF;
26033 --
26034 l_component_type := 'AMB_JLT';
26035 l_component_code := 'AP_CASH_CLEAR_MAT_CLEAR';
26036 l_component_type_code := 'S';
26037 l_component_appl_id := 200;
26038 l_amb_context_code := 'DEFAULT';
26039 l_entity_code := 'AP_PAYMENTS';
26040 l_event_class_code := 'RECONCILED PAYMENTS';
26041 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
26042 l_line_definition_owner_code := 'S';
26043 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
26044 --
26045 l_balance_type_code := 'A';
26046 l_segment := NULL;
26047 l_ccid := NULL;
26048 l_adr_transaction_coa_id := NULL;
26049 l_adr_accounting_coa_id := NULL;
26050 l_adr_flexfield_segment_code := NULL;
26051 l_adr_flex_value_set_id := NULL;
26052 l_adr_value_type_code := NULL;
26053 l_adr_value_combination_id := NULL;
26054 l_adr_value_segment_code := NULL;
26055
26056 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
26057 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
26058 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26059 l_budgetary_control_flag := 'N';
26060
26061 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26062 l_bflow_applied_to_amt := NULL; -- 5132302
26063 l_entered_amt_idx := NULL; -- 4262811
26064 l_accted_amt_idx := NULL; -- 4262811
26065 l_acc_rev_flag := NULL; -- 4262811
26066 l_accrual_line_num := NULL; -- 4262811
26067 l_tmp_amt := NULL; -- 4262811
26068 --
26069
26070 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26071 l_balance_type_code <> 'B' THEN
26072 IF (NVL(p_source_89,'
26073 ') = 'ALWAYS_ALWAYS' OR
26074 NVL(p_source_89,'
26075 ') = 'ALWAYS_CLEAR' OR
26076 NVL(p_source_89,'
26077 ') = 'ALWAYS_ISSUE') AND
26078 NVL(p_source_90,'
26079 ') = 'CASH' AND
26080 p_source_107 IS NOT NULL
26081 THEN
26082
26083 --
26084 XLA_AE_LINES_PKG.SetNewLine;
26085
26086 p_balance_type_code := l_balance_type_code;
26087 -- set the flag so later we will know whether the gain loss line needs to be created
26088
26089 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26090 p_actual_flag :='A';
26091 END IF;
26092
26093 --
26094 -- bulk performance
26095 --
26096 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26097 p_header_num => 0); -- 4262811
26098 --
26099 -- set accounting line options
26100 --
26101 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26102 p_natural_side_code => 'D'
26103 , p_gain_or_loss_flag => 'N'
26104 , p_gl_transfer_mode_code => 'S'
26105 , p_acct_entry_type_code => 'A'
26106 , p_switch_side_flag => 'Y'
26110 l_acc_rev_natural_side_code := 'C'; -- 4262811
26107 , p_merge_duplicate_code => 'A'
26108 );
26109 --
26111 --
26112 --
26113 -- set accounting line type info
26114 --
26115 xla_ae_lines_pkg.SetAcctLineType
26116 (p_component_type => l_component_type
26117 ,p_event_type_code => l_event_type_code
26118 ,p_line_definition_owner_code => l_line_definition_owner_code
26119 ,p_line_definition_code => l_line_definition_code
26120 ,p_accounting_line_code => l_component_code
26121 ,p_accounting_line_type_code => l_component_type_code
26122 ,p_accounting_line_appl_id => l_component_appl_id
26123 ,p_amb_context_code => l_amb_context_code
26124 ,p_entity_code => l_entity_code
26125 ,p_event_class_code => l_event_class_code);
26126 --
26127 -- set accounting class
26128 --
26129 xla_ae_lines_pkg.SetAcctClass(
26130 p_accounting_class_code => 'CASH_CLEARING'
26131 , p_ae_header_id => l_ae_header_id
26132 );
26133
26134 --
26135 -- set rounding class
26136 --
26137 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26138 'CASH_CLEARING';
26139
26140 --
26141 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26142 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26143 --
26144 -- bulk performance
26145 --
26146 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26147
26148 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26149 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26150
26151 -- 4955764
26152 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26153 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26154
26155 -- 4458381 Public Sector Enh
26156
26157 --
26158 -- set accounting attributes for the line type
26159 --
26160 l_entered_amt_idx := 10;
26161 l_accted_amt_idx := 12;
26162 l_bflow_applied_to_amt_idx := 2; -- 5132302
26163 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26164 l_rec_acct_attrs.array_char_value(1) := p_source_41;
26165 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
26166 l_rec_acct_attrs.array_num_value(2) := p_source_91;
26167 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
26168 l_rec_acct_attrs.array_num_value(3) := p_source_79;
26169 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26170 l_rec_acct_attrs.array_char_value(4) := p_source_92;
26171 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
26172 l_rec_acct_attrs.array_char_value(5) := p_source_93;
26173 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
26174 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_113);
26175 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26176 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
26177 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
26178 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
26179 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
26180 l_rec_acct_attrs.array_char_value(9) := p_source_43;
26181 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26182 l_rec_acct_attrs.array_num_value(10) := p_source_91;
26183 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26184 l_rec_acct_attrs.array_char_value(11) := p_source_106;
26185 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
26186 l_rec_acct_attrs.array_num_value(12) := p_source_114;
26187 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
26188 l_rec_acct_attrs.array_char_value(13) := p_source_68;
26189 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
26190 l_rec_acct_attrs.array_char_value(14) := p_source_71;
26191 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
26192 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
26193 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
26194 l_rec_acct_attrs.array_char_value(16) := p_source_43;
26195 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
26196 l_rec_acct_attrs.array_num_value(17) := p_source_74;
26197 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
26198 l_rec_acct_attrs.array_num_value(18) := p_source_74;
26199 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
26200 l_rec_acct_attrs.array_num_value(19) := p_source_76;
26201
26202 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26203 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26204
26205 ---------------------------------------------------------------------------------------------------------------
26206 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26207 ---------------------------------------------------------------------------------------------------------------
26211 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26208 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26209
26210 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26212
26213 IF xla_accounting_cache_pkg.GetValueChar
26214 (p_source_code => 'LEDGER_CATEGORY_CODE'
26215 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26216 AND l_bflow_method_code = 'PRIOR_ENTRY'
26217 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26218 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26219 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26220 )
26221 THEN
26222 xla_ae_lines_pkg.BflowUpgEntry
26223 (p_business_method_code => l_bflow_method_code
26224 ,p_business_class_code => l_bflow_class_code
26225 ,p_balance_type => l_balance_type_code);
26226 ELSE
26227 NULL;
26228 XLA_AE_LINES_PKG.business_flow_validation(
26229 p_business_method_code => l_bflow_method_code
26230 ,p_business_class_code => l_bflow_class_code
26231 ,p_inherit_description_flag => l_inherit_desc_flag);
26232 END IF;
26233
26234 --
26235 -- call analytical criteria
26236 --
26237 -- Inherited Analytical Criteria for business flow method of Prior Entry.
26238 --
26239 -- call description
26240 --
26241 -- No description or it is inherited.
26242 --
26243 -- call ADRs
26244 -- Bug 4922099
26245 --
26246 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26247 (NVL(l_actual_upg_option, 'N') = 'O') OR
26248 (NVL(l_enc_upg_option, 'N') = 'O')
26249 )
26250 THEN
26251 NULL;
26252 --
26253 --
26254
26255 --
26256 --
26257 END IF;
26258 --
26259 -- Bug 4922099
26260 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26261 (NVL(l_enc_upg_option, 'N') = 'O')
26262 ) AND
26263 (l_bflow_method_code = 'PRIOR_ENTRY')
26264 )
26265 THEN
26266 IF
26267 --
26268 1 = 1
26269 --
26270 THEN
26271 xla_accounting_err_pkg.build_message
26272 (p_appli_s_name => 'XLA'
26273 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26274 ,p_token_1 => 'LINE_NUMBER'
26275 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26276 ,p_token_2 => 'LINE_TYPE_NAME'
26277 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26278 l_component_type
26279 ,l_component_code
26280 ,l_component_type_code
26281 ,l_component_appl_id
26282 ,l_amb_context_code
26283 ,l_entity_code
26284 ,l_event_class_code
26285 )
26286 ,p_token_3 => 'OWNER'
26287 ,p_value_3 => xla_lookups_pkg.get_meaning(
26288 p_lookup_type => 'XLA_OWNER_TYPE'
26289 ,p_lookup_code => l_component_type_code
26290 )
26291 ,p_token_4 => 'PRODUCT_NAME'
26292 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26293 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26294 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26295 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26296 ,p_ae_header_id => NULL
26297 );
26298
26299 IF (C_LEVEL_ERROR>= g_log_level) THEN
26300 trace
26301 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26302 ,p_level => C_LEVEL_ERROR
26303 ,p_module => l_log_module);
26304 END IF;
26305 END IF;
26306 END IF;
26307 --
26308 --
26309 ------------------------------------------------------------------------------------------------
26310 -- 4219869 Business Flow
26311 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26315
26312 -- Prior Entry. Currently, the following code is always generated.
26313 ------------------------------------------------------------------------------------------------
26314 -- No ValidateCurrentLine for business flow method of Prior Entry
26316 ------------------------------------------------------------------------------------
26317 -- 4219869 Business Flow
26318 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26319 ------------------------------------------------------------------------------------
26320 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26321
26322 ----------------------------------------------------------------------------------
26323 -- 4219869 Business Flow
26324 -- Update journal entry status -- Need to generate this within IF <condition>
26325 ----------------------------------------------------------------------------------
26326 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26327 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26328 ,p_balance_type_code => l_balance_type_code
26329 );
26330
26331 -------------------------------------------------------------------------------------------
26332 -- 4262811 - Generate the Accrual Reversal lines
26333 -------------------------------------------------------------------------------------------
26334 BEGIN
26335 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26336 (g_array_event(p_event_id).array_value_num('header_index'));
26337 IF l_acc_rev_flag IS NULL THEN
26338 l_acc_rev_flag := 'N';
26339 END IF;
26340 EXCEPTION
26341 WHEN OTHERS THEN
26342 l_acc_rev_flag := 'N';
26343 END;
26344 --
26345 IF (l_acc_rev_flag = 'Y') THEN
26346
26347 -- 4645092 ------------------------------------------------------------------------------
26348 -- To allow MPA report to determine if it should generate report process
26349 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26350 ------------------------------------------------------------------------------------------
26351
26352 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26353 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26354 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26355 -- call ADRs
26356 -- Bug 4922099
26357 --
26358 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26359 (NVL(l_actual_upg_option, 'N') = 'O') OR
26360 (NVL(l_enc_upg_option, 'N') = 'O')
26361 )
26362 THEN
26363 NULL;
26364 --
26365 --
26366
26367 --
26368 --
26369 END IF;
26370
26371 --
26372 -- Update the line information that should be overwritten
26373 --
26374 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
26375 p_header_num => 1);
26376 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
26377
26378 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
26379
26380 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
26381 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
26382 END IF;
26383
26384 --
26385 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
26386 --
26387 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
26388 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
26389 ELSE
26390 ---------------------------------------------------------------------------------------------------
26391 -- 4262811a Switch Sign
26392 ---------------------------------------------------------------------------------------------------
26393 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
26394 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26395 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26396 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
26397 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26398 -- 5132302
26399 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
26400 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
26401
26402 END IF;
26403
26404 -- 4955764
26405 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26406 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
26407
26408
26409 XLA_AE_LINES_PKG.ValidateCurrentLine;
26410 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26411
26412 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26413 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
26414 ,p_balance_type_code => l_balance_type_code);
26415
26416 END IF;
26420 -----------------------------------------------------------------------------------------
26417
26418 -----------------------------------------------------------------------------------------
26419 -- 4262811 Multiperiod Accounting
26421 -- No MPA option is assigned.
26422
26423
26424 END IF;
26425 END IF;
26426 --
26427
26428 --
26429 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26430 trace
26431 (p_msg => 'END of AcctLineType_72'
26432 ,p_level => C_LEVEL_PROCEDURE
26433 ,p_module => l_log_module);
26434 END IF;
26435 --
26436 EXCEPTION
26437 WHEN xla_exceptions_pkg.application_exception THEN
26438 RAISE;
26439 WHEN OTHERS THEN
26440 xla_exceptions_pkg.raise_message
26441 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_72');
26442 END AcctLineType_72;
26443 --
26444
26445 ---------------------------------------
26446 --
26447 -- PRIVATE FUNCTION
26448 -- AcctLineType_73
26449 --
26450 ---------------------------------------
26451 PROCEDURE AcctLineType_73 (
26452 p_application_id IN NUMBER
26453 ,p_event_id IN NUMBER
26454 ,p_calculate_acctd_flag IN VARCHAR2
26455 ,p_calculate_g_l_flag IN VARCHAR2
26456 ,p_actual_flag IN OUT VARCHAR2
26457 ,p_balance_type_code OUT VARCHAR2
26458 ,p_gain_or_loss_ref OUT VARCHAR2
26459
26460 --Bank Cash Clearing Account
26461 , p_source_23 IN NUMBER
26462 --Automatic Offsets Flag
26463 , p_source_35 IN VARCHAR2
26464 , p_source_35_meaning IN VARCHAR2
26465 --Accounting Reversal Indicator
26466 , p_source_41 IN VARCHAR2
26467 --Distribution Link Type
26468 , p_source_43 IN VARCHAR2
26469 --Override Accounted Amount Indicator
26470 , p_source_68 IN VARCHAR2
26471 , p_source_68_meaning IN VARCHAR2
26472 --Third Party Type
26473 , p_source_71 IN VARCHAR2
26474 --Invoice Distribution Tax Line Identifier
26475 , p_source_74 IN NUMBER
26476 --Invoice Distribution Tax Distribution Identifier from Tax
26477 , p_source_75 IN NUMBER
26478 --Invoice Distribution Summary Tax Line Identifier
26479 , p_source_76 IN NUMBER
26480 --Business Flow Accounts Payable Application Identifier
26481 , p_source_79 IN NUMBER
26482 --Business Flow Invoice Distribution Type
26483 , p_source_80 IN VARCHAR2
26484 --Business Flow Invoice Entity Code
26485 , p_source_81 IN VARCHAR2
26486 --Business Flow Invoice Distribution Identifier
26487 , p_source_82 IN NUMBER
26488 --Business Flow Invoice Identifier
26489 , p_source_83 IN NUMBER
26490 --When to Account for Payment Option
26491 , p_source_89 IN VARCHAR2
26492 --Payment Distribution Type
26493 , p_source_90 IN VARCHAR2
26494 , p_source_90_meaning IN VARCHAR2
26495 --Payment Distribution Amount
26496 , p_source_91 IN NUMBER
26497 --Payment Distribution Identifier
26498 , p_source_96 IN NUMBER
26499 --Payment Supplier Identifier
26500 , p_source_102 IN NUMBER
26501 --Payment Supplier Site Identifier
26502 , p_source_103 IN NUMBER
26503 --Payment Distribution Reversed Identifier
26504 , p_source_104 IN NUMBER
26505 --Pooled Bank Account Option
26506 , p_source_105 IN VARCHAR2
26507 , p_source_105_meaning IN VARCHAR2
26508 --Payment Currency Code
26509 , p_source_106 IN VARCHAR2
26510 --Payment Maturity Date
26511 , p_source_107 IN DATE
26512 --Payment Distribution (Payment Rate) Ledger Amount
26513 , p_source_108 IN NUMBER
26514 --Payment Exchange Date
26515 , p_source_110 IN DATE
26516 --Payment Exchange Rate
26517 , p_source_111 IN NUMBER
26518 --Payment Exchange Rate Type
26519 , p_source_112 IN VARCHAR2
26520 --Payment Type
26521 , p_source_115 IN VARCHAR2
26522 , p_source_115_meaning IN VARCHAR2
26523 --Payment Processing Type
26524 , p_source_116 IN VARCHAR2
26525 --Invoice Distribution Amount of the Payment Distribution
26526 , p_source_117 IN NUMBER
26527 )
26528 IS
26529
26530 l_component_type VARCHAR2(80);
26531 l_component_code VARCHAR2(30);
26532 l_component_type_code VARCHAR2(1);
26533 l_component_appl_id INTEGER;
26534 l_amb_context_code VARCHAR2(30);
26535 l_entity_code VARCHAR2(30);
26536 l_event_class_code VARCHAR2(30);
26537 l_ae_header_id NUMBER;
26538 l_event_type_code VARCHAR2(30);
26539 l_line_definition_code VARCHAR2(30);
26540 l_line_definition_owner_code VARCHAR2(1);
26541 --
26542 -- adr variables
26543 l_segment VARCHAR2(30);
26544 l_ccid NUMBER;
26545 l_adr_transaction_coa_id NUMBER;
26546 l_adr_accounting_coa_id NUMBER;
26547 l_adr_flexfield_segment_code VARCHAR2(30);
26548 l_adr_flex_value_set_id NUMBER;
26549 l_adr_value_type_code VARCHAR2(30);
26550 l_adr_value_combination_id NUMBER;
26551 l_adr_value_segment_code VARCHAR2(30);
26552
26553 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
26554 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
26558 -- 4262811 Variables ------------------------------------------------------------------------------------------
26555 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
26556 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
26557
26559 l_entered_amt_idx NUMBER;
26560 l_accted_amt_idx NUMBER;
26561 l_acc_rev_flag VARCHAR2(1);
26562 l_accrual_line_num NUMBER;
26563 l_tmp_amt NUMBER;
26564 l_acc_rev_natural_side_code VARCHAR2(1);
26565
26566 l_num_entries NUMBER;
26567 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
26568 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
26569 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
26570 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
26571 l_recog_line_1 NUMBER;
26572 l_recog_line_2 NUMBER;
26573
26574 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
26575 l_bflow_applied_to_amt NUMBER; -- 5132302
26576 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
26577
26578 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
26579
26580 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
26581 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
26582
26583 ---------------------------------------------------------------------------------------------------------------
26584
26585
26586 --
26587 -- bulk performance
26588 --
26589 l_balance_type_code VARCHAR2(1);
26590 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
26591 l_log_module VARCHAR2(240);
26592
26593 --
26594 -- Upgrade strategy
26595 --
26596 l_actual_upg_option VARCHAR2(1);
26597 l_enc_upg_option VARCHAR2(1);
26598
26599 --
26600 BEGIN
26601 --
26602 IF g_log_enabled THEN
26603 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_73';
26604 END IF;
26605 --
26606 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
26607
26608 trace
26609 (p_msg => 'BEGIN of AcctLineType_73'
26610 ,p_level => C_LEVEL_PROCEDURE
26611 ,p_module => l_log_module);
26612
26613 END IF;
26614 --
26615 l_component_type := 'AMB_JLT';
26616 l_component_code := 'AP_CASH_CLEAR_PMT';
26617 l_component_type_code := 'S';
26618 l_component_appl_id := 200;
26619 l_amb_context_code := 'DEFAULT';
26620 l_entity_code := 'AP_PAYMENTS';
26621 l_event_class_code := 'PAYMENTS';
26622 l_event_type_code := 'PAYMENTS_ALL';
26623 l_line_definition_owner_code := 'S';
26624 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
26625 --
26626 l_balance_type_code := 'A';
26627 l_segment := NULL;
26628 l_ccid := NULL;
26629 l_adr_transaction_coa_id := NULL;
26630 l_adr_accounting_coa_id := NULL;
26631 l_adr_flexfield_segment_code := NULL;
26632 l_adr_flex_value_set_id := NULL;
26633 l_adr_value_type_code := NULL;
26634 l_adr_value_combination_id := NULL;
26635 l_adr_value_segment_code := NULL;
26636
26637 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
26638 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
26639 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
26640 l_budgetary_control_flag := 'N';
26641
26642 l_bflow_applied_to_amt_idx := NULL; -- 5132302
26643 l_bflow_applied_to_amt := NULL; -- 5132302
26644 l_entered_amt_idx := NULL; -- 4262811
26645 l_accted_amt_idx := NULL; -- 4262811
26646 l_acc_rev_flag := NULL; -- 4262811
26647 l_accrual_line_num := NULL; -- 4262811
26648 l_tmp_amt := NULL; -- 4262811
26649 --
26650
26651 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
26652 l_balance_type_code <> 'B' THEN
26653 IF NVL(p_source_89,'
26654 ') = 'ALWAYS_ALWAYS' AND
26655 (NVL(p_source_35,'
26656 ') <> 'Y' OR
26657 NVL(p_source_35,'
26658 ') = 'Y' AND
26659 NVL(p_source_105,'
26660 ') <> 'Y') AND
26661 p_source_107 IS NULL AND
26662 NVL(p_source_90,'
26663 ') = 'CASH' AND
26664 NVL(p_source_115,'
26665 ') <> 'R' AND
26666 NVL(p_source_116,'
26667 ') <> 'PAYMENTCARD'
26668 THEN
26669
26670 --
26671 XLA_AE_LINES_PKG.SetNewLine;
26672
26673 p_balance_type_code := l_balance_type_code;
26674 -- set the flag so later we will know whether the gain loss line needs to be created
26675
26676 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
26677 p_actual_flag :='A';
26678 END IF;
26679
26680 --
26681 -- bulk performance
26682 --
26683 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
26684 p_header_num => 0); -- 4262811
26685 --
26686 -- set accounting line options
26687 --
26688 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
26689 p_natural_side_code => 'C'
26690 , p_gain_or_loss_flag => 'N'
26691 , p_gl_transfer_mode_code => 'S'
26692 , p_acct_entry_type_code => 'A'
26693 , p_switch_side_flag => 'Y'
26697 l_acc_rev_natural_side_code := 'D'; -- 4262811
26694 , p_merge_duplicate_code => 'A'
26695 );
26696 --
26698 --
26699 --
26700 -- set accounting line type info
26701 --
26702 xla_ae_lines_pkg.SetAcctLineType
26703 (p_component_type => l_component_type
26704 ,p_event_type_code => l_event_type_code
26705 ,p_line_definition_owner_code => l_line_definition_owner_code
26706 ,p_line_definition_code => l_line_definition_code
26707 ,p_accounting_line_code => l_component_code
26708 ,p_accounting_line_type_code => l_component_type_code
26709 ,p_accounting_line_appl_id => l_component_appl_id
26710 ,p_amb_context_code => l_amb_context_code
26711 ,p_entity_code => l_entity_code
26712 ,p_event_class_code => l_event_class_code);
26713 --
26714 -- set accounting class
26715 --
26716 xla_ae_lines_pkg.SetAcctClass(
26717 p_accounting_class_code => 'CASH_CLEARING'
26718 , p_ae_header_id => l_ae_header_id
26719 );
26720
26721 --
26722 -- set rounding class
26723 --
26724 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
26725 'CASH_CLEARING';
26726
26727 --
26728 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
26729 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
26730 --
26731 -- bulk performance
26732 --
26733 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
26734
26735 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
26736 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
26737
26738 -- 4955764
26739 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
26740 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
26741
26742 -- 4458381 Public Sector Enh
26743
26744 --
26745 -- set accounting attributes for the line type
26746 --
26747 l_entered_amt_idx := 10;
26748 l_accted_amt_idx := 15;
26749 l_bflow_applied_to_amt_idx := 2; -- 5132302
26750 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
26751 l_rec_acct_attrs.array_char_value(1) := p_source_41;
26752 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
26753 l_rec_acct_attrs.array_num_value(2) := p_source_117;
26754 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
26755 l_rec_acct_attrs.array_num_value(3) := p_source_79;
26756 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
26757 l_rec_acct_attrs.array_char_value(4) := p_source_80;
26758 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
26759 l_rec_acct_attrs.array_char_value(5) := p_source_81;
26760 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
26761 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
26762 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
26763 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
26764 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
26765 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
26766 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
26767 l_rec_acct_attrs.array_char_value(9) := p_source_43;
26768 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
26769 l_rec_acct_attrs.array_num_value(10) := p_source_91;
26770 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
26771 l_rec_acct_attrs.array_char_value(11) := p_source_106;
26772 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
26773 l_rec_acct_attrs.array_date_value(12) := p_source_110;
26774 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
26775 l_rec_acct_attrs.array_num_value(13) := p_source_111;
26776 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
26777 l_rec_acct_attrs.array_char_value(14) := p_source_112;
26778 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
26779 l_rec_acct_attrs.array_num_value(15) := p_source_108;
26780 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
26781 l_rec_acct_attrs.array_char_value(16) := p_source_68;
26782 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
26783 l_rec_acct_attrs.array_num_value(17) := p_source_102;
26784 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
26785 l_rec_acct_attrs.array_num_value(18) := p_source_103;
26786 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
26787 l_rec_acct_attrs.array_char_value(19) := p_source_71;
26788 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
26789 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
26790 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
26791 l_rec_acct_attrs.array_char_value(21) := p_source_43;
26792 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
26793 l_rec_acct_attrs.array_num_value(22) := p_source_74;
26794 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
26795 l_rec_acct_attrs.array_num_value(23) := p_source_75;
26796 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
26800 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
26797 l_rec_acct_attrs.array_num_value(24) := p_source_76;
26798
26799 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
26801
26802 ---------------------------------------------------------------------------------------------------------------
26803 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
26804 ---------------------------------------------------------------------------------------------------------------
26805 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
26806
26807 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26808 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
26809
26810 IF xla_accounting_cache_pkg.GetValueChar
26811 (p_source_code => 'LEDGER_CATEGORY_CODE'
26812 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
26813 AND l_bflow_method_code = 'PRIOR_ENTRY'
26814 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
26815 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
26816 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
26817 )
26818 THEN
26819 xla_ae_lines_pkg.BflowUpgEntry
26820 (p_business_method_code => l_bflow_method_code
26821 ,p_business_class_code => l_bflow_class_code
26822 ,p_balance_type => l_balance_type_code);
26823 ELSE
26824 NULL;
26825 -- No business flow processing for business flow method of NONE.
26826 END IF;
26827
26828 --
26829 -- call analytical criteria
26830 --
26831
26832 --
26833 -- call description
26834 --
26835 -- No description or it is inherited.
26836 --
26837 -- call ADRs
26838 -- Bug 4922099
26839 --
26840 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26841 (NVL(l_actual_upg_option, 'N') = 'O') OR
26842 (NVL(l_enc_upg_option, 'N') = 'O')
26843 )
26844 THEN
26845 NULL;
26846 --
26847 --
26848
26849 l_ccid := AcctDerRule_35(
26850 p_application_id => p_application_id
26851 , p_ae_header_id => l_ae_header_id
26852 , p_source_23 => p_source_23
26853 , x_transaction_coa_id => l_adr_transaction_coa_id
26854 , x_accounting_coa_id => l_adr_accounting_coa_id
26855 , x_value_type_code => l_adr_value_type_code
26856 , p_side => 'NA'
26857 );
26858
26859 xla_ae_lines_pkg.set_ccid(
26860 p_code_combination_id => l_ccid
26861 , p_value_type_code => l_adr_value_type_code
26862 , p_transaction_coa_id => l_adr_transaction_coa_id
26863 , p_accounting_coa_id => l_adr_accounting_coa_id
26864 , p_adr_code => 'AP_PMT_CASH_CLEAR'
26865 , p_adr_type_code => 'S'
26866 , p_component_type => l_component_type
26867 , p_component_code => l_component_code
26868 , p_component_type_code => l_component_type_code
26869 , p_component_appl_id => l_component_appl_id
26870 , p_amb_context_code => l_amb_context_code
26871 , p_side => 'NA'
26872 );
26873
26874
26875 --
26876 --
26877 END IF;
26878 --
26879 -- Bug 4922099
26880 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
26881 (NVL(l_enc_upg_option, 'N') = 'O')
26882 ) AND
26883 (l_bflow_method_code = 'PRIOR_ENTRY')
26884 )
26885 THEN
26886 IF
26887 --
26888 1 = 2
26889 --
26890 THEN
26891 xla_accounting_err_pkg.build_message
26892 (p_appli_s_name => 'XLA'
26893 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26894 ,p_token_1 => 'LINE_NUMBER'
26895 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
26896 ,p_token_2 => 'LINE_TYPE_NAME'
26897 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
26898 l_component_type
26899 ,l_component_code
26900 ,l_component_type_code
26901 ,l_component_appl_id
26902 ,l_amb_context_code
26903 ,l_entity_code
26904 ,l_event_class_code
26905 )
26906 ,p_token_3 => 'OWNER'
26907 ,p_value_3 => xla_lookups_pkg.get_meaning(
26911 ,p_token_4 => 'PRODUCT_NAME'
26908 p_lookup_type => 'XLA_OWNER_TYPE'
26909 ,p_lookup_code => l_component_type_code
26910 )
26912 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
26913 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
26914 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
26915 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
26916 ,p_ae_header_id => NULL
26917 );
26918
26919 IF (C_LEVEL_ERROR>= g_log_level) THEN
26920 trace
26921 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
26922 ,p_level => C_LEVEL_ERROR
26923 ,p_module => l_log_module);
26924 END IF;
26925 END IF;
26926 END IF;
26927 --
26928 --
26929 ------------------------------------------------------------------------------------------------
26930 -- 4219869 Business Flow
26931 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
26932 -- Prior Entry. Currently, the following code is always generated.
26933 ------------------------------------------------------------------------------------------------
26934 XLA_AE_LINES_PKG.ValidateCurrentLine;
26935
26936 ------------------------------------------------------------------------------------
26937 -- 4219869 Business Flow
26938 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
26939 ------------------------------------------------------------------------------------
26940 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
26941
26942 ----------------------------------------------------------------------------------
26943 -- 4219869 Business Flow
26944 -- Update journal entry status -- Need to generate this within IF <condition>
26945 ----------------------------------------------------------------------------------
26946 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
26947 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
26948 ,p_balance_type_code => l_balance_type_code
26949 );
26950
26951 -------------------------------------------------------------------------------------------
26952 -- 4262811 - Generate the Accrual Reversal lines
26953 -------------------------------------------------------------------------------------------
26954 BEGIN
26955 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
26956 (g_array_event(p_event_id).array_value_num('header_index'));
26957 IF l_acc_rev_flag IS NULL THEN
26958 l_acc_rev_flag := 'N';
26959 END IF;
26960 EXCEPTION
26961 WHEN OTHERS THEN
26962 l_acc_rev_flag := 'N';
26963 END;
26964 --
26965 IF (l_acc_rev_flag = 'Y') THEN
26966
26967 -- 4645092 ------------------------------------------------------------------------------
26968 -- To allow MPA report to determine if it should generate report process
26969 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
26970 ------------------------------------------------------------------------------------------
26971
26972 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
26973 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
26974 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
26975 -- call ADRs
26976 -- Bug 4922099
26977 --
26978 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
26979 (NVL(l_actual_upg_option, 'N') = 'O') OR
26980 (NVL(l_enc_upg_option, 'N') = 'O')
26981 )
26982 THEN
26983 NULL;
26984 --
26985 --
26986
26987 l_ccid := AcctDerRule_35(
26988 p_application_id => p_application_id
26989 , p_ae_header_id => l_ae_header_id
26990 , p_source_23 => p_source_23
26991 , x_transaction_coa_id => l_adr_transaction_coa_id
26992 , x_accounting_coa_id => l_adr_accounting_coa_id
26993 , x_value_type_code => l_adr_value_type_code
26994 , p_side => 'NA'
26995 );
26996
26997 xla_ae_lines_pkg.set_ccid(
26998 p_code_combination_id => l_ccid
26999 , p_value_type_code => l_adr_value_type_code
27000 , p_transaction_coa_id => l_adr_transaction_coa_id
27001 , p_accounting_coa_id => l_adr_accounting_coa_id
27002 , p_adr_code => 'AP_PMT_CASH_CLEAR'
27003 , p_adr_type_code => 'S'
27004 , p_component_type => l_component_type
27005 , p_component_code => l_component_code
27006 , p_component_type_code => l_component_type_code
27007 , p_component_appl_id => l_component_appl_id
27008 , p_amb_context_code => l_amb_context_code
27009 , p_side => 'NA'
27010 );
27011
27012
27013 --
27014 --
27015 END IF;
27016
27017 --
27021 p_header_num => 1);
27018 -- Update the line information that should be overwritten
27019 --
27020 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27022 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27023
27024 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27025
27026 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27027 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27028 END IF;
27029
27030 --
27031 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27032 --
27033 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27034 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27035 ELSE
27036 ---------------------------------------------------------------------------------------------------
27037 -- 4262811a Switch Sign
27038 ---------------------------------------------------------------------------------------------------
27039 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27040 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27041 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27042 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27043 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27044 -- 5132302
27045 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27046 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27047
27048 END IF;
27049
27050 -- 4955764
27051 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27052 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27053
27054
27055 XLA_AE_LINES_PKG.ValidateCurrentLine;
27056 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27057
27058 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27059 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27060 ,p_balance_type_code => l_balance_type_code);
27061
27062 END IF;
27063
27064 -----------------------------------------------------------------------------------------
27065 -- 4262811 Multiperiod Accounting
27066 -----------------------------------------------------------------------------------------
27067 -- No MPA option is assigned.
27068
27069
27070 END IF;
27071 END IF;
27072 --
27073
27074 --
27075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27076 trace
27077 (p_msg => 'END of AcctLineType_73'
27078 ,p_level => C_LEVEL_PROCEDURE
27079 ,p_module => l_log_module);
27080 END IF;
27081 --
27082 EXCEPTION
27083 WHEN xla_exceptions_pkg.application_exception THEN
27084 RAISE;
27085 WHEN OTHERS THEN
27086 xla_exceptions_pkg.raise_message
27087 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_73');
27088 END AcctLineType_73;
27089 --
27090
27091 ---------------------------------------
27092 --
27093 -- PRIVATE FUNCTION
27094 -- AcctLineType_74
27095 --
27096 ---------------------------------------
27097 PROCEDURE AcctLineType_74 (
27098 p_application_id IN NUMBER
27099 ,p_event_id IN NUMBER
27100 ,p_calculate_acctd_flag IN VARCHAR2
27101 ,p_calculate_g_l_flag IN VARCHAR2
27102 ,p_actual_flag IN OUT VARCHAR2
27103 ,p_balance_type_code OUT VARCHAR2
27104 ,p_gain_or_loss_ref OUT VARCHAR2
27105
27106 --Automatic Offsets Value
27107 , p_source_3 IN VARCHAR2
27108 , p_source_3_meaning IN VARCHAR2
27109 --Bank Cash Clearing Account
27110 , p_source_23 IN NUMBER
27111 --Accounting Reversal Indicator
27112 , p_source_41 IN VARCHAR2
27113 --Distribution Link Type
27114 , p_source_43 IN VARCHAR2
27115 --Override Accounted Amount Indicator
27116 , p_source_68 IN VARCHAR2
27117 , p_source_68_meaning IN VARCHAR2
27118 --Third Party Type
27119 , p_source_71 IN VARCHAR2
27120 --Invoice Distribution Tax Line Identifier
27121 , p_source_74 IN NUMBER
27122 --Invoice Distribution Tax Distribution Identifier from Tax
27123 , p_source_75 IN NUMBER
27124 --Invoice Distribution Summary Tax Line Identifier
27125 , p_source_76 IN NUMBER
27126 --Business Flow Accounts Payable Application Identifier
27127 , p_source_79 IN NUMBER
27128 --Business Flow Invoice Distribution Type
27129 , p_source_80 IN VARCHAR2
27130 --Business Flow Invoice Entity Code
27131 , p_source_81 IN VARCHAR2
27132 --Business Flow Invoice Distribution Identifier
27133 , p_source_82 IN NUMBER
27134 --Business Flow Invoice Identifier
27135 , p_source_83 IN NUMBER
27136 --When to Account for Payment Option
27140 , p_source_90_meaning IN VARCHAR2
27137 , p_source_89 IN VARCHAR2
27138 --Payment Distribution Type
27139 , p_source_90 IN VARCHAR2
27141 --Payment Distribution Amount
27142 , p_source_91 IN NUMBER
27143 --Payment Distribution Identifier
27144 , p_source_96 IN NUMBER
27145 --Payment Supplier Identifier
27146 , p_source_102 IN NUMBER
27147 --Payment Supplier Site Identifier
27148 , p_source_103 IN NUMBER
27149 --Payment Distribution Reversed Identifier
27150 , p_source_104 IN NUMBER
27151 --Pooled Bank Account Option
27152 , p_source_105 IN VARCHAR2
27153 , p_source_105_meaning IN VARCHAR2
27154 --Payment Currency Code
27155 , p_source_106 IN VARCHAR2
27156 --Payment Maturity Date
27157 , p_source_107 IN DATE
27158 --Payment Distribution (Payment Rate) Ledger Amount
27159 , p_source_108 IN NUMBER
27160 --Payment Exchange Date
27161 , p_source_110 IN DATE
27162 --Payment Exchange Rate
27163 , p_source_111 IN NUMBER
27164 --Payment Exchange Rate Type
27165 , p_source_112 IN VARCHAR2
27166 --Payment Type
27167 , p_source_115 IN VARCHAR2
27168 , p_source_115_meaning IN VARCHAR2
27169 --Payment Processing Type
27170 , p_source_116 IN VARCHAR2
27171 --Invoice Distribution Amount of the Payment Distribution
27172 , p_source_117 IN NUMBER
27173 )
27174 IS
27175
27176 l_component_type VARCHAR2(80);
27177 l_component_code VARCHAR2(30);
27178 l_component_type_code VARCHAR2(1);
27179 l_component_appl_id INTEGER;
27180 l_amb_context_code VARCHAR2(30);
27181 l_entity_code VARCHAR2(30);
27182 l_event_class_code VARCHAR2(30);
27183 l_ae_header_id NUMBER;
27184 l_event_type_code VARCHAR2(30);
27185 l_line_definition_code VARCHAR2(30);
27186 l_line_definition_owner_code VARCHAR2(1);
27187 --
27188 -- adr variables
27189 l_segment VARCHAR2(30);
27190 l_ccid NUMBER;
27191 l_adr_transaction_coa_id NUMBER;
27192 l_adr_accounting_coa_id NUMBER;
27193 l_adr_flexfield_segment_code VARCHAR2(30);
27194 l_adr_flex_value_set_id NUMBER;
27195 l_adr_value_type_code VARCHAR2(30);
27196 l_adr_value_combination_id NUMBER;
27197 l_adr_value_segment_code VARCHAR2(30);
27198
27199 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27200 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27201 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27202 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27203
27204 -- 4262811 Variables ------------------------------------------------------------------------------------------
27205 l_entered_amt_idx NUMBER;
27206 l_accted_amt_idx NUMBER;
27207 l_acc_rev_flag VARCHAR2(1);
27208 l_accrual_line_num NUMBER;
27209 l_tmp_amt NUMBER;
27210 l_acc_rev_natural_side_code VARCHAR2(1);
27211
27212 l_num_entries NUMBER;
27213 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27214 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27215 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27216 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27217 l_recog_line_1 NUMBER;
27218 l_recog_line_2 NUMBER;
27219
27220 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
27221 l_bflow_applied_to_amt NUMBER; -- 5132302
27222 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
27223
27224 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
27225
27226 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
27227 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
27228
27229 ---------------------------------------------------------------------------------------------------------------
27230
27231
27232 --
27233 -- bulk performance
27234 --
27235 l_balance_type_code VARCHAR2(1);
27236 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
27237 l_log_module VARCHAR2(240);
27238
27239 --
27240 -- Upgrade strategy
27241 --
27242 l_actual_upg_option VARCHAR2(1);
27243 l_enc_upg_option VARCHAR2(1);
27244
27245 --
27246 BEGIN
27247 --
27248 IF g_log_enabled THEN
27249 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_74';
27250 END IF;
27251 --
27252 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27253
27254 trace
27255 (p_msg => 'BEGIN of AcctLineType_74'
27256 ,p_level => C_LEVEL_PROCEDURE
27257 ,p_module => l_log_module);
27258
27259 END IF;
27260 --
27261 l_component_type := 'AMB_JLT';
27262 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_AS';
27263 l_component_type_code := 'S';
27264 l_component_appl_id := 200;
27265 l_amb_context_code := 'DEFAULT';
27266 l_entity_code := 'AP_PAYMENTS';
27267 l_event_class_code := 'PAYMENTS';
27271 --
27268 l_event_type_code := 'PAYMENTS_ALL';
27269 l_line_definition_owner_code := 'S';
27270 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
27272 l_balance_type_code := 'A';
27273 l_segment := NULL;
27274 l_ccid := NULL;
27275 l_adr_transaction_coa_id := NULL;
27276 l_adr_accounting_coa_id := NULL;
27277 l_adr_flexfield_segment_code := NULL;
27278 l_adr_flex_value_set_id := NULL;
27279 l_adr_value_type_code := NULL;
27280 l_adr_value_combination_id := NULL;
27281 l_adr_value_segment_code := NULL;
27282
27283 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
27284 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
27285 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
27286 l_budgetary_control_flag := 'N';
27287
27288 l_bflow_applied_to_amt_idx := NULL; -- 5132302
27289 l_bflow_applied_to_amt := NULL; -- 5132302
27290 l_entered_amt_idx := NULL; -- 4262811
27291 l_accted_amt_idx := NULL; -- 4262811
27292 l_acc_rev_flag := NULL; -- 4262811
27293 l_accrual_line_num := NULL; -- 4262811
27294 l_tmp_amt := NULL; -- 4262811
27295 --
27296
27297 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
27298 l_balance_type_code <> 'B' THEN
27299 IF NVL(p_source_89,'
27300 ') = 'ALWAYS_ALWAYS' AND
27301 (NVL(p_source_105,'
27302 ') = 'Y' AND
27303 NVL(p_source_3,'
27304 ') = 'ACCOUNT_SEGMENT_VALUE') AND
27305 p_source_107 IS NULL AND
27306 NVL(p_source_90,'
27307 ') = 'CASH' AND
27308 NVL(p_source_115,'
27309 ') <> 'R' AND
27310 NVL(p_source_116,'
27311 ') <> 'PAYMENTCARD'
27312 THEN
27313
27314 --
27315 XLA_AE_LINES_PKG.SetNewLine;
27316
27317 p_balance_type_code := l_balance_type_code;
27318 -- set the flag so later we will know whether the gain loss line needs to be created
27319
27320 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
27321 p_actual_flag :='A';
27322 END IF;
27323
27324 --
27325 -- bulk performance
27326 --
27327 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
27328 p_header_num => 0); -- 4262811
27329 --
27330 -- set accounting line options
27331 --
27332 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
27333 p_natural_side_code => 'C'
27334 , p_gain_or_loss_flag => 'N'
27335 , p_gl_transfer_mode_code => 'S'
27336 , p_acct_entry_type_code => 'A'
27337 , p_switch_side_flag => 'Y'
27338 , p_merge_duplicate_code => 'A'
27339 );
27340 --
27341 l_acc_rev_natural_side_code := 'D'; -- 4262811
27342 --
27343 --
27344 -- set accounting line type info
27345 --
27346 xla_ae_lines_pkg.SetAcctLineType
27347 (p_component_type => l_component_type
27348 ,p_event_type_code => l_event_type_code
27349 ,p_line_definition_owner_code => l_line_definition_owner_code
27350 ,p_line_definition_code => l_line_definition_code
27351 ,p_accounting_line_code => l_component_code
27352 ,p_accounting_line_type_code => l_component_type_code
27353 ,p_accounting_line_appl_id => l_component_appl_id
27354 ,p_amb_context_code => l_amb_context_code
27355 ,p_entity_code => l_entity_code
27356 ,p_event_class_code => l_event_class_code);
27357 --
27358 -- set accounting class
27359 --
27360 xla_ae_lines_pkg.SetAcctClass(
27361 p_accounting_class_code => 'CASH_CLEARING'
27362 , p_ae_header_id => l_ae_header_id
27363 );
27364
27365 --
27366 -- set rounding class
27367 --
27368 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
27369 'CASH_CLEARING';
27370
27371 --
27372 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
27373 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
27374 --
27375 -- bulk performance
27376 --
27377 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
27378
27379 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
27380 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
27381
27382 -- 4955764
27383 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27384 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
27385
27386 -- 4458381 Public Sector Enh
27387
27388 --
27389 -- set accounting attributes for the line type
27390 --
27391 l_entered_amt_idx := 10;
27392 l_accted_amt_idx := 15;
27393 l_bflow_applied_to_amt_idx := 2; -- 5132302
27394 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
27395 l_rec_acct_attrs.array_char_value(1) := p_source_41;
27396 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
27400 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
27397 l_rec_acct_attrs.array_num_value(2) := p_source_117;
27398 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
27399 l_rec_acct_attrs.array_num_value(3) := p_source_79;
27401 l_rec_acct_attrs.array_char_value(4) := p_source_80;
27402 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
27403 l_rec_acct_attrs.array_char_value(5) := p_source_81;
27404 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
27405 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
27406 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
27407 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
27408 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
27409 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
27410 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
27411 l_rec_acct_attrs.array_char_value(9) := p_source_43;
27412 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
27413 l_rec_acct_attrs.array_num_value(10) := p_source_91;
27414 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
27415 l_rec_acct_attrs.array_char_value(11) := p_source_106;
27416 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
27417 l_rec_acct_attrs.array_date_value(12) := p_source_110;
27418 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
27419 l_rec_acct_attrs.array_num_value(13) := p_source_111;
27420 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
27421 l_rec_acct_attrs.array_char_value(14) := p_source_112;
27422 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
27423 l_rec_acct_attrs.array_num_value(15) := p_source_108;
27424 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
27425 l_rec_acct_attrs.array_char_value(16) := p_source_68;
27426 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
27427 l_rec_acct_attrs.array_num_value(17) := p_source_102;
27428 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
27429 l_rec_acct_attrs.array_num_value(18) := p_source_103;
27430 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
27431 l_rec_acct_attrs.array_char_value(19) := p_source_71;
27432 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
27433 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
27434 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
27435 l_rec_acct_attrs.array_char_value(21) := p_source_43;
27436 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
27437 l_rec_acct_attrs.array_num_value(22) := p_source_74;
27438 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
27439 l_rec_acct_attrs.array_num_value(23) := p_source_75;
27440 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
27441 l_rec_acct_attrs.array_num_value(24) := p_source_76;
27442
27443 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
27444 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
27445
27446 ---------------------------------------------------------------------------------------------------------------
27447 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
27448 ---------------------------------------------------------------------------------------------------------------
27449 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
27450
27451 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27452 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
27453
27454 IF xla_accounting_cache_pkg.GetValueChar
27455 (p_source_code => 'LEDGER_CATEGORY_CODE'
27456 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
27457 AND l_bflow_method_code = 'PRIOR_ENTRY'
27458 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
27459 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
27460 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
27461 )
27462 THEN
27463 xla_ae_lines_pkg.BflowUpgEntry
27464 (p_business_method_code => l_bflow_method_code
27465 ,p_business_class_code => l_bflow_class_code
27466 ,p_balance_type => l_balance_type_code);
27467 ELSE
27468 NULL;
27469 XLA_AE_LINES_PKG.business_flow_validation(
27470 p_business_method_code => l_bflow_method_code
27471 ,p_business_class_code => l_bflow_class_code
27472 ,p_inherit_description_flag => l_inherit_desc_flag);
27473 END IF;
27474
27475 --
27476 -- call analytical criteria
27477 --
27478
27479 --
27480 -- call description
27481 --
27482 -- No description or it is inherited.
27483 --
27484 -- call ADRs
27485 -- Bug 4922099
27486 --
27487 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27488 (NVL(l_actual_upg_option, 'N') = 'O') OR
27489 (NVL(l_enc_upg_option, 'N') = 'O')
27490 )
27491 THEN
27495
27492 NULL;
27493 --
27494 --
27496 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
27497 p_code_combination_id => TO_NUMBER(C_NUM)
27498 , p_value_type_code => NULL
27499 , p_transaction_coa_id => null
27500 , p_accounting_coa_id => null
27501 , p_adr_code => NULL
27502 , p_adr_type_code => NULL
27503 , p_component_type => l_component_type
27504 , p_component_code => l_component_code
27505 , p_component_type_code => l_component_type_code
27506 , p_component_appl_id => l_component_appl_id
27507 , p_amb_context_code => l_amb_context_code
27508 , p_side => NULL
27509 );
27510
27511
27512 -- initialise segments
27513 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27514 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27515 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27516 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27517 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27518 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27519 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27520 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27521 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27522 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27523 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27524 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27525 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27526 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27527 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27528 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27529 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27530 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27531 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27532 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27533 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27534 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27535 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27536 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27537 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27538 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27539 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27540 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27541 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27542 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27543 --
27544
27545 --
27546
27547
27548 l_segment := AcctDerRule_15(
27549 p_application_id => p_application_id
27550 , p_ae_header_id => l_ae_header_id
27551 , p_source_23 => p_source_23
27552 , x_transaction_coa_id => l_adr_transaction_coa_id
27553 , x_accounting_coa_id => l_adr_accounting_coa_id
27554 , x_flexfield_segment_code => l_adr_flexfield_segment_code
27555 , x_flex_value_set_id => l_adr_flex_value_set_id
27556 , x_value_type_code => l_adr_value_type_code
27557 , x_value_combination_id => l_adr_value_combination_id
27558 , x_value_segment_code => l_adr_value_segment_code
27559 , p_side => 'NA'
27560 , p_override_seg_flag => 'Y'
27561 );
27562
27563 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27564
27565 xla_ae_lines_pkg.set_segment(
27566 p_to_segment_code => 'GL_ACCOUNT'
27567 , p_segment_value => l_segment
27568 , p_from_segment_code => l_adr_value_segment_code
27569 , p_from_combination_id => l_adr_value_combination_id
27570 , p_value_type_code => l_adr_value_type_code
27571 , p_transaction_coa_id => l_adr_transaction_coa_id
27572 , p_accounting_coa_id => l_adr_accounting_coa_id
27573 , p_flexfield_segment_code => l_adr_flexfield_segment_code
27574 , p_flex_value_set_id => l_adr_flex_value_set_id
27575 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
27576 , p_adr_type_code => 'S'
27577 , p_component_type => l_component_type
27578 , p_component_code => l_component_code
27579 , p_component_type_code => l_component_type_code
27580 , p_component_appl_id => l_component_appl_id
27581 , p_amb_context_code => l_amb_context_code
27582 , p_entity_code => 'AP_PAYMENTS'
27586
27583 , p_event_class_code => 'PAYMENTS'
27584 , p_side => 'NA'
27585 );
27587 END IF;
27588
27589 --
27590 --
27591 END IF;
27592 --
27593 -- Bug 4922099
27594 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
27595 (NVL(l_enc_upg_option, 'N') = 'O')
27596 ) AND
27597 (l_bflow_method_code = 'PRIOR_ENTRY')
27598 )
27599 THEN
27600 IF
27601 --
27602 1 = 2
27603 --
27604 THEN
27605 xla_accounting_err_pkg.build_message
27606 (p_appli_s_name => 'XLA'
27607 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27608 ,p_token_1 => 'LINE_NUMBER'
27609 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
27610 ,p_token_2 => 'LINE_TYPE_NAME'
27611 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
27612 l_component_type
27613 ,l_component_code
27614 ,l_component_type_code
27615 ,l_component_appl_id
27616 ,l_amb_context_code
27617 ,l_entity_code
27618 ,l_event_class_code
27619 )
27620 ,p_token_3 => 'OWNER'
27621 ,p_value_3 => xla_lookups_pkg.get_meaning(
27622 p_lookup_type => 'XLA_OWNER_TYPE'
27623 ,p_lookup_code => l_component_type_code
27624 )
27625 ,p_token_4 => 'PRODUCT_NAME'
27626 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
27627 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
27628 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
27629 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
27630 ,p_ae_header_id => NULL
27631 );
27632
27633 IF (C_LEVEL_ERROR>= g_log_level) THEN
27634 trace
27635 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
27636 ,p_level => C_LEVEL_ERROR
27637 ,p_module => l_log_module);
27638 END IF;
27639 END IF;
27640 END IF;
27641 --
27642 --
27643 ------------------------------------------------------------------------------------------------
27644 -- 4219869 Business Flow
27645 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
27646 -- Prior Entry. Currently, the following code is always generated.
27647 ------------------------------------------------------------------------------------------------
27648 XLA_AE_LINES_PKG.ValidateCurrentLine;
27649
27650 ------------------------------------------------------------------------------------
27651 -- 4219869 Business Flow
27652 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
27653 ------------------------------------------------------------------------------------
27654 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27655
27656 ----------------------------------------------------------------------------------
27657 -- 4219869 Business Flow
27658 -- Update journal entry status -- Need to generate this within IF <condition>
27659 ----------------------------------------------------------------------------------
27660 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27661 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
27662 ,p_balance_type_code => l_balance_type_code
27663 );
27664
27665 -------------------------------------------------------------------------------------------
27666 -- 4262811 - Generate the Accrual Reversal lines
27667 -------------------------------------------------------------------------------------------
27668 BEGIN
27669 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
27670 (g_array_event(p_event_id).array_value_num('header_index'));
27671 IF l_acc_rev_flag IS NULL THEN
27672 l_acc_rev_flag := 'N';
27673 END IF;
27674 EXCEPTION
27675 WHEN OTHERS THEN
27676 l_acc_rev_flag := 'N';
27677 END;
27678 --
27679 IF (l_acc_rev_flag = 'Y') THEN
27680
27681 -- 4645092 ------------------------------------------------------------------------------
27685
27682 -- To allow MPA report to determine if it should generate report process
27683 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
27684 ------------------------------------------------------------------------------------------
27686 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
27687 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
27688 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
27689 -- call ADRs
27690 -- Bug 4922099
27691 --
27692 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
27693 (NVL(l_actual_upg_option, 'N') = 'O') OR
27694 (NVL(l_enc_upg_option, 'N') = 'O')
27695 )
27696 THEN
27697 NULL;
27698 --
27699 --
27700
27701 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
27702 p_code_combination_id => TO_NUMBER(C_NUM)
27703 , p_value_type_code => NULL
27704 , p_transaction_coa_id => null
27705 , p_accounting_coa_id => null
27706 , p_adr_code => NULL
27707 , p_adr_type_code => NULL
27708 , p_component_type => l_component_type
27709 , p_component_code => l_component_code
27710 , p_component_type_code => l_component_type_code
27711 , p_component_appl_id => l_component_appl_id
27712 , p_amb_context_code => l_amb_context_code
27713 , p_side => NULL
27714 );
27715
27716
27717 -- initialise segments
27718 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27719 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27720 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27721 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27722 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27723 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27724 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27725 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27726 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27727 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27728 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27729 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27730 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27731 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27732 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27733 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27734 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27735 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27736 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27737 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27738 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27739 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27740 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27741 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27742 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27743 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27744 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27745 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27746 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27747 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
27748 --
27749
27750 --
27751
27752
27753 l_segment := AcctDerRule_15(
27754 p_application_id => p_application_id
27755 , p_ae_header_id => l_ae_header_id
27756 , p_source_23 => p_source_23
27757 , x_transaction_coa_id => l_adr_transaction_coa_id
27758 , x_accounting_coa_id => l_adr_accounting_coa_id
27759 , x_flexfield_segment_code => l_adr_flexfield_segment_code
27760 , x_flex_value_set_id => l_adr_flex_value_set_id
27761 , x_value_type_code => l_adr_value_type_code
27762 , x_value_combination_id => l_adr_value_combination_id
27763 , x_value_segment_code => l_adr_value_segment_code
27764 , p_side => 'NA'
27765 , p_override_seg_flag => 'Y'
27766 );
27767
27768 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
27769
27770 xla_ae_lines_pkg.set_segment(
27771 p_to_segment_code => 'GL_ACCOUNT'
27772 , p_segment_value => l_segment
27773 , p_from_segment_code => l_adr_value_segment_code
27774 , p_from_combination_id => l_adr_value_combination_id
27775 , p_value_type_code => l_adr_value_type_code
27776 , p_transaction_coa_id => l_adr_transaction_coa_id
27780 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
27777 , p_accounting_coa_id => l_adr_accounting_coa_id
27778 , p_flexfield_segment_code => l_adr_flexfield_segment_code
27779 , p_flex_value_set_id => l_adr_flex_value_set_id
27781 , p_adr_type_code => 'S'
27782 , p_component_type => l_component_type
27783 , p_component_code => l_component_code
27784 , p_component_type_code => l_component_type_code
27785 , p_component_appl_id => l_component_appl_id
27786 , p_amb_context_code => l_amb_context_code
27787 , p_entity_code => 'AP_PAYMENTS'
27788 , p_event_class_code => 'PAYMENTS'
27789 , p_side => 'NA'
27790 );
27791
27792 END IF;
27793
27794 --
27795 --
27796 END IF;
27797
27798 --
27799 -- Update the line information that should be overwritten
27800 --
27801 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
27802 p_header_num => 1);
27803 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
27804
27805 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
27806
27807 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
27808 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
27809 END IF;
27810
27811 --
27812 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
27813 --
27814 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
27815 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
27816 ELSE
27817 ---------------------------------------------------------------------------------------------------
27818 -- 4262811a Switch Sign
27819 ---------------------------------------------------------------------------------------------------
27820 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
27821 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27822 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27823 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
27824 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27825 -- 5132302
27826 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
27827 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
27828
27829 END IF;
27830
27831 -- 4955764
27832 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
27833 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
27834
27835
27836 XLA_AE_LINES_PKG.ValidateCurrentLine;
27837 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
27838
27839 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
27840 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
27841 ,p_balance_type_code => l_balance_type_code);
27842
27843 END IF;
27844
27845 -----------------------------------------------------------------------------------------
27846 -- 4262811 Multiperiod Accounting
27847 -----------------------------------------------------------------------------------------
27848 -- No MPA option is assigned.
27849
27850
27851 END IF;
27852 END IF;
27853 --
27854
27855 --
27856 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
27857 trace
27858 (p_msg => 'END of AcctLineType_74'
27859 ,p_level => C_LEVEL_PROCEDURE
27860 ,p_module => l_log_module);
27861 END IF;
27862 --
27863 EXCEPTION
27864 WHEN xla_exceptions_pkg.application_exception THEN
27865 RAISE;
27866 WHEN OTHERS THEN
27867 xla_exceptions_pkg.raise_message
27868 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_74');
27869 END AcctLineType_74;
27870 --
27871
27872 ---------------------------------------
27873 --
27874 -- PRIVATE FUNCTION
27875 -- AcctLineType_75
27876 --
27877 ---------------------------------------
27878 PROCEDURE AcctLineType_75 (
27879 p_application_id IN NUMBER
27880 ,p_event_id IN NUMBER
27881 ,p_calculate_acctd_flag IN VARCHAR2
27882 ,p_calculate_g_l_flag IN VARCHAR2
27883 ,p_actual_flag IN OUT VARCHAR2
27884 ,p_balance_type_code OUT VARCHAR2
27885 ,p_gain_or_loss_ref OUT VARCHAR2
27886
27887 --Automatic Offsets Value
27888 , p_source_3 IN VARCHAR2
27889 , p_source_3_meaning IN VARCHAR2
27890 --Bank Cash Clearing Account
27891 , p_source_23 IN NUMBER
27892 --Accounting Reversal Indicator
27893 , p_source_41 IN VARCHAR2
27894 --Distribution Link Type
27895 , p_source_43 IN VARCHAR2
27896 --Override Accounted Amount Indicator
27897 , p_source_68 IN VARCHAR2
27901 --Invoice Distribution Tax Line Identifier
27898 , p_source_68_meaning IN VARCHAR2
27899 --Third Party Type
27900 , p_source_71 IN VARCHAR2
27902 , p_source_74 IN NUMBER
27903 --Invoice Distribution Tax Distribution Identifier from Tax
27904 , p_source_75 IN NUMBER
27905 --Invoice Distribution Summary Tax Line Identifier
27906 , p_source_76 IN NUMBER
27907 --Business Flow Accounts Payable Application Identifier
27908 , p_source_79 IN NUMBER
27909 --Business Flow Invoice Distribution Type
27910 , p_source_80 IN VARCHAR2
27911 --Business Flow Invoice Entity Code
27912 , p_source_81 IN VARCHAR2
27913 --Business Flow Invoice Distribution Identifier
27914 , p_source_82 IN NUMBER
27915 --Business Flow Invoice Identifier
27916 , p_source_83 IN NUMBER
27917 --When to Account for Payment Option
27918 , p_source_89 IN VARCHAR2
27919 --Payment Distribution Type
27920 , p_source_90 IN VARCHAR2
27921 , p_source_90_meaning IN VARCHAR2
27922 --Payment Distribution Amount
27923 , p_source_91 IN NUMBER
27924 --Payment Distribution Identifier
27925 , p_source_96 IN NUMBER
27926 --Payment Supplier Identifier
27927 , p_source_102 IN NUMBER
27928 --Payment Supplier Site Identifier
27929 , p_source_103 IN NUMBER
27930 --Payment Distribution Reversed Identifier
27931 , p_source_104 IN NUMBER
27932 --Pooled Bank Account Option
27933 , p_source_105 IN VARCHAR2
27934 , p_source_105_meaning IN VARCHAR2
27935 --Payment Currency Code
27936 , p_source_106 IN VARCHAR2
27937 --Payment Maturity Date
27938 , p_source_107 IN DATE
27939 --Payment Distribution (Payment Rate) Ledger Amount
27940 , p_source_108 IN NUMBER
27941 --Payment Exchange Date
27942 , p_source_110 IN DATE
27943 --Payment Exchange Rate
27944 , p_source_111 IN NUMBER
27945 --Payment Exchange Rate Type
27946 , p_source_112 IN VARCHAR2
27947 --Payment Type
27948 , p_source_115 IN VARCHAR2
27949 , p_source_115_meaning IN VARCHAR2
27950 --Payment Processing Type
27951 , p_source_116 IN VARCHAR2
27952 --Invoice Distribution Amount of the Payment Distribution
27953 , p_source_117 IN NUMBER
27954 )
27955 IS
27956
27957 l_component_type VARCHAR2(80);
27958 l_component_code VARCHAR2(30);
27959 l_component_type_code VARCHAR2(1);
27960 l_component_appl_id INTEGER;
27961 l_amb_context_code VARCHAR2(30);
27962 l_entity_code VARCHAR2(30);
27963 l_event_class_code VARCHAR2(30);
27964 l_ae_header_id NUMBER;
27965 l_event_type_code VARCHAR2(30);
27966 l_line_definition_code VARCHAR2(30);
27967 l_line_definition_owner_code VARCHAR2(1);
27968 --
27969 -- adr variables
27970 l_segment VARCHAR2(30);
27971 l_ccid NUMBER;
27972 l_adr_transaction_coa_id NUMBER;
27973 l_adr_accounting_coa_id NUMBER;
27974 l_adr_flexfield_segment_code VARCHAR2(30);
27975 l_adr_flex_value_set_id NUMBER;
27976 l_adr_value_type_code VARCHAR2(30);
27977 l_adr_value_combination_id NUMBER;
27978 l_adr_value_segment_code VARCHAR2(30);
27979
27980 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
27981 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
27982 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
27983 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
27984
27985 -- 4262811 Variables ------------------------------------------------------------------------------------------
27986 l_entered_amt_idx NUMBER;
27987 l_accted_amt_idx NUMBER;
27988 l_acc_rev_flag VARCHAR2(1);
27989 l_accrual_line_num NUMBER;
27990 l_tmp_amt NUMBER;
27991 l_acc_rev_natural_side_code VARCHAR2(1);
27992
27993 l_num_entries NUMBER;
27994 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
27995 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
27996 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
27997 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
27998 l_recog_line_1 NUMBER;
27999 l_recog_line_2 NUMBER;
28000
28001 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28002 l_bflow_applied_to_amt NUMBER; -- 5132302
28003 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28004
28005 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28006
28007 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28008 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28009
28010 ---------------------------------------------------------------------------------------------------------------
28011
28012
28013 --
28014 -- bulk performance
28015 --
28016 l_balance_type_code VARCHAR2(1);
28017 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28018 l_log_module VARCHAR2(240);
28019
28020 --
28021 -- Upgrade strategy
28022 --
28026 --
28023 l_actual_upg_option VARCHAR2(1);
28024 l_enc_upg_option VARCHAR2(1);
28025
28027 BEGIN
28028 --
28029 IF g_log_enabled THEN
28030 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_75';
28031 END IF;
28032 --
28033 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28034
28035 trace
28036 (p_msg => 'BEGIN of AcctLineType_75'
28037 ,p_level => C_LEVEL_PROCEDURE
28038 ,p_module => l_log_module);
28039
28040 END IF;
28041 --
28042 l_component_type := 'AMB_JLT';
28043 l_component_code := 'AP_CASH_CLEAR_PMT_AOS_BS';
28044 l_component_type_code := 'S';
28045 l_component_appl_id := 200;
28046 l_amb_context_code := 'DEFAULT';
28047 l_entity_code := 'AP_PAYMENTS';
28048 l_event_class_code := 'PAYMENTS';
28049 l_event_type_code := 'PAYMENTS_ALL';
28050 l_line_definition_owner_code := 'S';
28051 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
28052 --
28053 l_balance_type_code := 'A';
28054 l_segment := NULL;
28055 l_ccid := NULL;
28056 l_adr_transaction_coa_id := NULL;
28057 l_adr_accounting_coa_id := NULL;
28058 l_adr_flexfield_segment_code := NULL;
28059 l_adr_flex_value_set_id := NULL;
28060 l_adr_value_type_code := NULL;
28061 l_adr_value_combination_id := NULL;
28062 l_adr_value_segment_code := NULL;
28063
28064 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
28065 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28066 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28067 l_budgetary_control_flag := 'N';
28068
28069 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28070 l_bflow_applied_to_amt := NULL; -- 5132302
28071 l_entered_amt_idx := NULL; -- 4262811
28072 l_accted_amt_idx := NULL; -- 4262811
28073 l_acc_rev_flag := NULL; -- 4262811
28074 l_accrual_line_num := NULL; -- 4262811
28075 l_tmp_amt := NULL; -- 4262811
28076 --
28077
28078 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28079 l_balance_type_code <> 'B' THEN
28080 IF NVL(p_source_89,'
28081 ') = 'ALWAYS_ALWAYS' AND
28082 (NVL(p_source_105,'
28083 ') = 'Y' AND
28084 NVL(p_source_3,'
28085 ') = 'BALANCING_SEGMENT') AND
28086 p_source_107 IS NULL AND
28087 NVL(p_source_90,'
28088 ') = 'CASH' AND
28089 NVL(p_source_115,'
28090 ') <> 'R' AND
28091 NVL(p_source_116,'
28092 ') <> 'PAYMENTCARD'
28093 THEN
28094
28095 --
28096 XLA_AE_LINES_PKG.SetNewLine;
28097
28098 p_balance_type_code := l_balance_type_code;
28099 -- set the flag so later we will know whether the gain loss line needs to be created
28100
28101 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28102 p_actual_flag :='A';
28103 END IF;
28104
28105 --
28106 -- bulk performance
28107 --
28108 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28109 p_header_num => 0); -- 4262811
28110 --
28111 -- set accounting line options
28112 --
28113 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28114 p_natural_side_code => 'C'
28115 , p_gain_or_loss_flag => 'N'
28116 , p_gl_transfer_mode_code => 'S'
28117 , p_acct_entry_type_code => 'A'
28118 , p_switch_side_flag => 'Y'
28119 , p_merge_duplicate_code => 'A'
28120 );
28121 --
28122 l_acc_rev_natural_side_code := 'D'; -- 4262811
28123 --
28124 --
28125 -- set accounting line type info
28126 --
28127 xla_ae_lines_pkg.SetAcctLineType
28128 (p_component_type => l_component_type
28129 ,p_event_type_code => l_event_type_code
28130 ,p_line_definition_owner_code => l_line_definition_owner_code
28131 ,p_line_definition_code => l_line_definition_code
28132 ,p_accounting_line_code => l_component_code
28133 ,p_accounting_line_type_code => l_component_type_code
28134 ,p_accounting_line_appl_id => l_component_appl_id
28135 ,p_amb_context_code => l_amb_context_code
28136 ,p_entity_code => l_entity_code
28137 ,p_event_class_code => l_event_class_code);
28138 --
28139 -- set accounting class
28140 --
28141 xla_ae_lines_pkg.SetAcctClass(
28142 p_accounting_class_code => 'CASH_CLEARING'
28143 , p_ae_header_id => l_ae_header_id
28144 );
28145
28146 --
28147 -- set rounding class
28148 --
28149 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28150 'CASH_CLEARING';
28151
28152 --
28153 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28154 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28155 --
28156 -- bulk performance
28157 --
28161 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28158 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28159
28160 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28162
28163 -- 4955764
28164 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28165 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28166
28167 -- 4458381 Public Sector Enh
28168
28169 --
28170 -- set accounting attributes for the line type
28171 --
28172 l_entered_amt_idx := 10;
28173 l_accted_amt_idx := 15;
28174 l_bflow_applied_to_amt_idx := 2; -- 5132302
28175 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28176 l_rec_acct_attrs.array_char_value(1) := p_source_41;
28177 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
28178 l_rec_acct_attrs.array_num_value(2) := p_source_117;
28179 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
28180 l_rec_acct_attrs.array_num_value(3) := p_source_79;
28181 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28182 l_rec_acct_attrs.array_char_value(4) := p_source_80;
28183 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
28184 l_rec_acct_attrs.array_char_value(5) := p_source_81;
28185 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
28186 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
28187 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28188 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
28189 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
28190 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
28191 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
28192 l_rec_acct_attrs.array_char_value(9) := p_source_43;
28193 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
28194 l_rec_acct_attrs.array_num_value(10) := p_source_91;
28195 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
28196 l_rec_acct_attrs.array_char_value(11) := p_source_106;
28197 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
28198 l_rec_acct_attrs.array_date_value(12) := p_source_110;
28199 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
28200 l_rec_acct_attrs.array_num_value(13) := p_source_111;
28201 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
28202 l_rec_acct_attrs.array_char_value(14) := p_source_112;
28203 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
28204 l_rec_acct_attrs.array_num_value(15) := p_source_108;
28205 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
28206 l_rec_acct_attrs.array_char_value(16) := p_source_68;
28207 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
28208 l_rec_acct_attrs.array_num_value(17) := p_source_102;
28209 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
28210 l_rec_acct_attrs.array_num_value(18) := p_source_103;
28211 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
28212 l_rec_acct_attrs.array_char_value(19) := p_source_71;
28213 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
28214 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
28215 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
28216 l_rec_acct_attrs.array_char_value(21) := p_source_43;
28217 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
28218 l_rec_acct_attrs.array_num_value(22) := p_source_74;
28219 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
28220 l_rec_acct_attrs.array_num_value(23) := p_source_75;
28221 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
28222 l_rec_acct_attrs.array_num_value(24) := p_source_76;
28223
28224 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28225 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28226
28227 ---------------------------------------------------------------------------------------------------------------
28228 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28229 ---------------------------------------------------------------------------------------------------------------
28230 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28231
28232 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28233 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28234
28235 IF xla_accounting_cache_pkg.GetValueChar
28236 (p_source_code => 'LEDGER_CATEGORY_CODE'
28237 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28238 AND l_bflow_method_code = 'PRIOR_ENTRY'
28239 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28240 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28241 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28242 )
28243 THEN
28244 xla_ae_lines_pkg.BflowUpgEntry
28245 (p_business_method_code => l_bflow_method_code
28246 ,p_business_class_code => l_bflow_class_code
28250 XLA_AE_LINES_PKG.business_flow_validation(
28247 ,p_balance_type => l_balance_type_code);
28248 ELSE
28249 NULL;
28251 p_business_method_code => l_bflow_method_code
28252 ,p_business_class_code => l_bflow_class_code
28253 ,p_inherit_description_flag => l_inherit_desc_flag);
28254 END IF;
28255
28256 --
28257 -- call analytical criteria
28258 --
28259
28260 --
28261 -- call description
28262 --
28263 -- No description or it is inherited.
28264 --
28265 -- call ADRs
28266 -- Bug 4922099
28267 --
28268 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28269 (NVL(l_actual_upg_option, 'N') = 'O') OR
28270 (NVL(l_enc_upg_option, 'N') = 'O')
28271 )
28272 THEN
28273 NULL;
28274 --
28275 --
28276
28277 l_ccid := AcctDerRule_35(
28278 p_application_id => p_application_id
28279 , p_ae_header_id => l_ae_header_id
28280 , p_source_23 => p_source_23
28281 , x_transaction_coa_id => l_adr_transaction_coa_id
28282 , x_accounting_coa_id => l_adr_accounting_coa_id
28283 , x_value_type_code => l_adr_value_type_code
28284 , p_side => 'NA'
28285 );
28286
28287 xla_ae_lines_pkg.set_ccid(
28288 p_code_combination_id => l_ccid
28289 , p_value_type_code => l_adr_value_type_code
28290 , p_transaction_coa_id => l_adr_transaction_coa_id
28291 , p_accounting_coa_id => l_adr_accounting_coa_id
28292 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28293 , p_adr_type_code => 'S'
28294 , p_component_type => l_component_type
28295 , p_component_code => l_component_code
28296 , p_component_type_code => l_component_type_code
28297 , p_component_appl_id => l_component_appl_id
28298 , p_amb_context_code => l_amb_context_code
28299 , p_side => 'NA'
28300 );
28301
28302
28303 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
28304 p_to_segment_code => 'GL_BALANCING'
28305 , p_segment_value => C_CHAR
28306 , p_from_segment_code => NULL
28307 , p_from_combination_id => NULL
28308 , p_value_type_code => NULL
28309 , p_transaction_coa_id => null
28310 , p_accounting_coa_id => null
28311 , p_flexfield_segment_code => NULL
28312 , p_flex_value_set_id => NULL
28313 , p_adr_code => NULL
28314 , p_adr_type_code => NULL
28315 , p_component_type => l_component_type
28316 , p_component_code => l_component_code
28317 , p_component_type_code => l_component_type_code
28318 , p_component_appl_id => l_component_appl_id
28319 , p_amb_context_code => l_amb_context_code
28320 , p_entity_code => 'AP_PAYMENTS'
28321 , p_event_class_code => 'PAYMENTS'
28322 , p_side => 'NA'
28323 );
28324 --
28325
28326
28327 --
28328 --
28329 END IF;
28330 --
28331 -- Bug 4922099
28332 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
28333 (NVL(l_enc_upg_option, 'N') = 'O')
28334 ) AND
28335 (l_bflow_method_code = 'PRIOR_ENTRY')
28336 )
28337 THEN
28338 IF
28339 --
28340 1 = 2
28341 --
28342 THEN
28343 xla_accounting_err_pkg.build_message
28344 (p_appli_s_name => 'XLA'
28345 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28346 ,p_token_1 => 'LINE_NUMBER'
28347 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
28348 ,p_token_2 => 'LINE_TYPE_NAME'
28349 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
28350 l_component_type
28351 ,l_component_code
28352 ,l_component_type_code
28353 ,l_component_appl_id
28354 ,l_amb_context_code
28355 ,l_entity_code
28356 ,l_event_class_code
28357 )
28358 ,p_token_3 => 'OWNER'
28359 ,p_value_3 => xla_lookups_pkg.get_meaning(
28360 p_lookup_type => 'XLA_OWNER_TYPE'
28361 ,p_lookup_code => l_component_type_code
28362 )
28363 ,p_token_4 => 'PRODUCT_NAME'
28367 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
28364 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
28365 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
28366 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
28368 ,p_ae_header_id => NULL
28369 );
28370
28371 IF (C_LEVEL_ERROR>= g_log_level) THEN
28372 trace
28373 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
28374 ,p_level => C_LEVEL_ERROR
28375 ,p_module => l_log_module);
28376 END IF;
28377 END IF;
28378 END IF;
28379 --
28380 --
28381 ------------------------------------------------------------------------------------------------
28382 -- 4219869 Business Flow
28383 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
28384 -- Prior Entry. Currently, the following code is always generated.
28385 ------------------------------------------------------------------------------------------------
28386 XLA_AE_LINES_PKG.ValidateCurrentLine;
28387
28388 ------------------------------------------------------------------------------------
28389 -- 4219869 Business Flow
28390 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
28391 ------------------------------------------------------------------------------------
28392 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28393
28394 ----------------------------------------------------------------------------------
28395 -- 4219869 Business Flow
28396 -- Update journal entry status -- Need to generate this within IF <condition>
28397 ----------------------------------------------------------------------------------
28398 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28399 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
28400 ,p_balance_type_code => l_balance_type_code
28401 );
28402
28403 -------------------------------------------------------------------------------------------
28404 -- 4262811 - Generate the Accrual Reversal lines
28405 -------------------------------------------------------------------------------------------
28406 BEGIN
28407 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
28408 (g_array_event(p_event_id).array_value_num('header_index'));
28409 IF l_acc_rev_flag IS NULL THEN
28410 l_acc_rev_flag := 'N';
28411 END IF;
28412 EXCEPTION
28413 WHEN OTHERS THEN
28414 l_acc_rev_flag := 'N';
28415 END;
28416 --
28417 IF (l_acc_rev_flag = 'Y') THEN
28418
28419 -- 4645092 ------------------------------------------------------------------------------
28420 -- To allow MPA report to determine if it should generate report process
28421 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
28422 ------------------------------------------------------------------------------------------
28423
28424 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
28425 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
28426 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
28427 -- call ADRs
28428 -- Bug 4922099
28429 --
28430 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28431 (NVL(l_actual_upg_option, 'N') = 'O') OR
28432 (NVL(l_enc_upg_option, 'N') = 'O')
28433 )
28434 THEN
28435 NULL;
28436 --
28437 --
28438
28439 l_ccid := AcctDerRule_35(
28440 p_application_id => p_application_id
28441 , p_ae_header_id => l_ae_header_id
28442 , p_source_23 => p_source_23
28443 , x_transaction_coa_id => l_adr_transaction_coa_id
28444 , x_accounting_coa_id => l_adr_accounting_coa_id
28445 , x_value_type_code => l_adr_value_type_code
28446 , p_side => 'NA'
28447 );
28448
28449 xla_ae_lines_pkg.set_ccid(
28450 p_code_combination_id => l_ccid
28451 , p_value_type_code => l_adr_value_type_code
28452 , p_transaction_coa_id => l_adr_transaction_coa_id
28453 , p_accounting_coa_id => l_adr_accounting_coa_id
28454 , p_adr_code => 'AP_PMT_CASH_CLEAR'
28455 , p_adr_type_code => 'S'
28456 , p_component_type => l_component_type
28457 , p_component_code => l_component_code
28458 , p_component_type_code => l_component_type_code
28459 , p_component_appl_id => l_component_appl_id
28460 , p_amb_context_code => l_amb_context_code
28461 , p_side => 'NA'
28462 );
28463
28464
28465 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
28466 p_to_segment_code => 'GL_BALANCING'
28467 , p_segment_value => C_CHAR
28468 , p_from_segment_code => NULL
28469 , p_from_combination_id => NULL
28470 , p_value_type_code => NULL
28471 , p_transaction_coa_id => null
28472 , p_accounting_coa_id => null
28476 , p_adr_type_code => NULL
28473 , p_flexfield_segment_code => NULL
28474 , p_flex_value_set_id => NULL
28475 , p_adr_code => NULL
28477 , p_component_type => l_component_type
28478 , p_component_code => l_component_code
28479 , p_component_type_code => l_component_type_code
28480 , p_component_appl_id => l_component_appl_id
28481 , p_amb_context_code => l_amb_context_code
28482 , p_entity_code => 'AP_PAYMENTS'
28483 , p_event_class_code => 'PAYMENTS'
28484 , p_side => 'NA'
28485 );
28486 --
28487
28488
28489 --
28490 --
28491 END IF;
28492
28493 --
28494 -- Update the line information that should be overwritten
28495 --
28496 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
28497 p_header_num => 1);
28498 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
28499
28500 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
28501
28502 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
28503 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
28504 END IF;
28505
28506 --
28507 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
28508 --
28509 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
28510 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
28511 ELSE
28512 ---------------------------------------------------------------------------------------------------
28513 -- 4262811a Switch Sign
28514 ---------------------------------------------------------------------------------------------------
28515 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
28516 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28517 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28518 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
28519 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28520 -- 5132302
28521 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
28522 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
28523
28524 END IF;
28525
28526 -- 4955764
28527 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28528 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
28529
28530
28531 XLA_AE_LINES_PKG.ValidateCurrentLine;
28532 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
28533
28534 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
28535 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
28536 ,p_balance_type_code => l_balance_type_code);
28537
28538 END IF;
28539
28540 -----------------------------------------------------------------------------------------
28541 -- 4262811 Multiperiod Accounting
28542 -----------------------------------------------------------------------------------------
28543 -- No MPA option is assigned.
28544
28545
28546 END IF;
28547 END IF;
28548 --
28549
28550 --
28551 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28552 trace
28553 (p_msg => 'END of AcctLineType_75'
28554 ,p_level => C_LEVEL_PROCEDURE
28555 ,p_module => l_log_module);
28556 END IF;
28557 --
28558 EXCEPTION
28559 WHEN xla_exceptions_pkg.application_exception THEN
28560 RAISE;
28561 WHEN OTHERS THEN
28562 xla_exceptions_pkg.raise_message
28563 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_75');
28564 END AcctLineType_75;
28565 --
28566
28567 ---------------------------------------
28568 --
28569 -- PRIVATE FUNCTION
28570 -- AcctLineType_76
28571 --
28572 ---------------------------------------
28573 PROCEDURE AcctLineType_76 (
28574 p_application_id IN NUMBER
28575 ,p_event_id IN NUMBER
28576 ,p_calculate_acctd_flag IN VARCHAR2
28577 ,p_calculate_g_l_flag IN VARCHAR2
28578 ,p_actual_flag IN OUT VARCHAR2
28579 ,p_balance_type_code OUT VARCHAR2
28580 ,p_gain_or_loss_ref OUT VARCHAR2
28581
28582 --Automatic Offsets Value
28583 , p_source_3 IN VARCHAR2
28584 , p_source_3_meaning IN VARCHAR2
28585 --Bank Cash Clearing Account
28586 , p_source_23 IN NUMBER
28587 --Accounting Reversal Indicator
28588 , p_source_41 IN VARCHAR2
28589 --Distribution Link Type
28590 , p_source_43 IN VARCHAR2
28591 --Override Accounted Amount Indicator
28592 , p_source_68 IN VARCHAR2
28593 , p_source_68_meaning IN VARCHAR2
28594 --Third Party Type
28595 , p_source_71 IN VARCHAR2
28596 --Invoice Distribution Tax Line Identifier
28600 --Invoice Distribution Summary Tax Line Identifier
28597 , p_source_74 IN NUMBER
28598 --Invoice Distribution Tax Distribution Identifier from Tax
28599 , p_source_75 IN NUMBER
28601 , p_source_76 IN NUMBER
28602 --Business Flow Accounts Payable Application Identifier
28603 , p_source_79 IN NUMBER
28604 --Business Flow Invoice Distribution Type
28605 , p_source_80 IN VARCHAR2
28606 --Business Flow Invoice Entity Code
28607 , p_source_81 IN VARCHAR2
28608 --Business Flow Invoice Distribution Identifier
28609 , p_source_82 IN NUMBER
28610 --Business Flow Invoice Identifier
28611 , p_source_83 IN NUMBER
28612 --When to Account for Payment Option
28613 , p_source_89 IN VARCHAR2
28614 --Payment Distribution Type
28615 , p_source_90 IN VARCHAR2
28616 , p_source_90_meaning IN VARCHAR2
28617 --Payment Distribution Amount
28618 , p_source_91 IN NUMBER
28619 --Payment Distribution Identifier
28620 , p_source_96 IN NUMBER
28621 --Payment Supplier Identifier
28622 , p_source_102 IN NUMBER
28623 --Payment Supplier Site Identifier
28624 , p_source_103 IN NUMBER
28625 --Payment Distribution Reversed Identifier
28626 , p_source_104 IN NUMBER
28627 --Pooled Bank Account Option
28628 , p_source_105 IN VARCHAR2
28629 , p_source_105_meaning IN VARCHAR2
28630 --Payment Currency Code
28631 , p_source_106 IN VARCHAR2
28632 --Payment Maturity Date
28633 , p_source_107 IN DATE
28634 --Payment Distribution (Invoice Rate) Ledger Amount
28635 , p_source_109 IN NUMBER
28636 --Payment Exchange Date
28637 , p_source_110 IN DATE
28638 --Payment Exchange Rate
28639 , p_source_111 IN NUMBER
28640 --Payment Exchange Rate Type
28641 , p_source_112 IN VARCHAR2
28642 --Payment Type
28643 , p_source_115 IN VARCHAR2
28644 , p_source_115_meaning IN VARCHAR2
28645 --Payment Processing Type
28646 , p_source_116 IN VARCHAR2
28647 --Invoice Distribution Amount of the Payment Distribution
28648 , p_source_117 IN NUMBER
28649 )
28650 IS
28651
28652 l_component_type VARCHAR2(80);
28653 l_component_code VARCHAR2(30);
28654 l_component_type_code VARCHAR2(1);
28655 l_component_appl_id INTEGER;
28656 l_amb_context_code VARCHAR2(30);
28657 l_entity_code VARCHAR2(30);
28658 l_event_class_code VARCHAR2(30);
28659 l_ae_header_id NUMBER;
28660 l_event_type_code VARCHAR2(30);
28661 l_line_definition_code VARCHAR2(30);
28662 l_line_definition_owner_code VARCHAR2(1);
28663 --
28664 -- adr variables
28665 l_segment VARCHAR2(30);
28666 l_ccid NUMBER;
28667 l_adr_transaction_coa_id NUMBER;
28668 l_adr_accounting_coa_id NUMBER;
28669 l_adr_flexfield_segment_code VARCHAR2(30);
28670 l_adr_flex_value_set_id NUMBER;
28671 l_adr_value_type_code VARCHAR2(30);
28672 l_adr_value_combination_id NUMBER;
28673 l_adr_value_segment_code VARCHAR2(30);
28674
28675 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
28676 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
28677 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
28678 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
28679
28680 -- 4262811 Variables ------------------------------------------------------------------------------------------
28681 l_entered_amt_idx NUMBER;
28682 l_accted_amt_idx NUMBER;
28683 l_acc_rev_flag VARCHAR2(1);
28684 l_accrual_line_num NUMBER;
28685 l_tmp_amt NUMBER;
28686 l_acc_rev_natural_side_code VARCHAR2(1);
28687
28688 l_num_entries NUMBER;
28689 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
28690 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
28691 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
28692 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
28693 l_recog_line_1 NUMBER;
28694 l_recog_line_2 NUMBER;
28695
28696 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
28697 l_bflow_applied_to_amt NUMBER; -- 5132302
28698 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
28699
28700 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
28701
28702 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
28703 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
28704
28705 ---------------------------------------------------------------------------------------------------------------
28706
28707
28708 --
28709 -- bulk performance
28710 --
28711 l_balance_type_code VARCHAR2(1);
28712 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
28713 l_log_module VARCHAR2(240);
28714
28715 --
28716 -- Upgrade strategy
28717 --
28718 l_actual_upg_option VARCHAR2(1);
28719 l_enc_upg_option VARCHAR2(1);
28720
28721 --
28722 BEGIN
28723 --
28727 --
28724 IF g_log_enabled THEN
28725 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_76';
28726 END IF;
28728 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
28729
28730 trace
28731 (p_msg => 'BEGIN of AcctLineType_76'
28732 ,p_level => C_LEVEL_PROCEDURE
28733 ,p_module => l_log_module);
28734
28735 END IF;
28736 --
28737 l_component_type := 'AMB_JLT';
28738 l_component_code := 'AP_CASH_CLEAR_PMT_AS_INVXRATE';
28739 l_component_type_code := 'S';
28740 l_component_appl_id := 200;
28741 l_amb_context_code := 'DEFAULT';
28742 l_entity_code := 'AP_PAYMENTS';
28743 l_event_class_code := 'PAYMENTS';
28744 l_event_type_code := 'PAYMENTS_ALL';
28745 l_line_definition_owner_code := 'S';
28746 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
28747 --
28748 l_balance_type_code := 'A';
28749 l_segment := NULL;
28750 l_ccid := NULL;
28751 l_adr_transaction_coa_id := NULL;
28752 l_adr_accounting_coa_id := NULL;
28753 l_adr_flexfield_segment_code := NULL;
28754 l_adr_flex_value_set_id := NULL;
28755 l_adr_value_type_code := NULL;
28756 l_adr_value_combination_id := NULL;
28757 l_adr_value_segment_code := NULL;
28758
28759 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
28760 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
28761 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
28762 l_budgetary_control_flag := 'N';
28763
28764 l_bflow_applied_to_amt_idx := NULL; -- 5132302
28765 l_bflow_applied_to_amt := NULL; -- 5132302
28766 l_entered_amt_idx := NULL; -- 4262811
28767 l_accted_amt_idx := NULL; -- 4262811
28768 l_acc_rev_flag := NULL; -- 4262811
28769 l_accrual_line_num := NULL; -- 4262811
28770 l_tmp_amt := NULL; -- 4262811
28771 --
28772
28773 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
28774 l_balance_type_code <> 'B' THEN
28775 IF NVL(p_source_89,'
28776 ') = 'ALWAYS_CLEAR' AND
28777 (NVL(p_source_105,'
28778 ') = 'Y' AND
28779 NVL(p_source_3,'
28780 ') = 'ACCOUNT_SEGMENT_VALUE') AND
28781 p_source_107 IS NULL AND
28782 NVL(p_source_90,'
28783 ') = 'CASH' AND
28784 NVL(p_source_115,'
28785 ') <> 'R' AND
28786 NVL(p_source_116,'
28787 ') <> 'PAYMENTCARD'
28788 THEN
28789
28790 --
28791 XLA_AE_LINES_PKG.SetNewLine;
28792
28793 p_balance_type_code := l_balance_type_code;
28794 -- set the flag so later we will know whether the gain loss line needs to be created
28795
28796 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
28797 p_actual_flag :='A';
28798 END IF;
28799
28800 --
28801 -- bulk performance
28802 --
28803 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
28804 p_header_num => 0); -- 4262811
28805 --
28806 -- set accounting line options
28807 --
28808 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
28809 p_natural_side_code => 'C'
28810 , p_gain_or_loss_flag => 'N'
28811 , p_gl_transfer_mode_code => 'S'
28812 , p_acct_entry_type_code => 'A'
28813 , p_switch_side_flag => 'Y'
28814 , p_merge_duplicate_code => 'A'
28815 );
28816 --
28817 l_acc_rev_natural_side_code := 'D'; -- 4262811
28818 --
28819 --
28820 -- set accounting line type info
28821 --
28822 xla_ae_lines_pkg.SetAcctLineType
28823 (p_component_type => l_component_type
28824 ,p_event_type_code => l_event_type_code
28825 ,p_line_definition_owner_code => l_line_definition_owner_code
28826 ,p_line_definition_code => l_line_definition_code
28827 ,p_accounting_line_code => l_component_code
28828 ,p_accounting_line_type_code => l_component_type_code
28829 ,p_accounting_line_appl_id => l_component_appl_id
28830 ,p_amb_context_code => l_amb_context_code
28831 ,p_entity_code => l_entity_code
28832 ,p_event_class_code => l_event_class_code);
28833 --
28834 -- set accounting class
28835 --
28836 xla_ae_lines_pkg.SetAcctClass(
28837 p_accounting_class_code => 'CASH_CLEARING'
28838 , p_ae_header_id => l_ae_header_id
28839 );
28840
28841 --
28842 -- set rounding class
28843 --
28844 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
28845 'CASH_CLEARING';
28846
28847 --
28848 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
28849 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
28850 --
28851 -- bulk performance
28852 --
28853 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
28854
28855 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
28859 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
28856 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
28857
28858 -- 4955764
28860 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
28861
28862 -- 4458381 Public Sector Enh
28863
28864 --
28865 -- set accounting attributes for the line type
28866 --
28867 l_entered_amt_idx := 10;
28868 l_accted_amt_idx := 15;
28869 l_bflow_applied_to_amt_idx := 2; -- 5132302
28870 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
28871 l_rec_acct_attrs.array_char_value(1) := p_source_41;
28872 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
28873 l_rec_acct_attrs.array_num_value(2) := p_source_117;
28874 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
28875 l_rec_acct_attrs.array_num_value(3) := p_source_79;
28876 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
28877 l_rec_acct_attrs.array_char_value(4) := p_source_80;
28878 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
28879 l_rec_acct_attrs.array_char_value(5) := p_source_81;
28880 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
28881 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
28882 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
28883 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
28884 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
28885 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
28886 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
28887 l_rec_acct_attrs.array_char_value(9) := p_source_43;
28888 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
28889 l_rec_acct_attrs.array_num_value(10) := p_source_91;
28890 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
28891 l_rec_acct_attrs.array_char_value(11) := p_source_106;
28892 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
28893 l_rec_acct_attrs.array_date_value(12) := p_source_110;
28894 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
28895 l_rec_acct_attrs.array_num_value(13) := p_source_111;
28896 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
28897 l_rec_acct_attrs.array_char_value(14) := p_source_112;
28898 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
28899 l_rec_acct_attrs.array_num_value(15) := p_source_109;
28900 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
28901 l_rec_acct_attrs.array_char_value(16) := p_source_68;
28902 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
28903 l_rec_acct_attrs.array_num_value(17) := p_source_102;
28904 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
28905 l_rec_acct_attrs.array_num_value(18) := p_source_103;
28906 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
28907 l_rec_acct_attrs.array_char_value(19) := p_source_71;
28908 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
28909 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
28910 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
28911 l_rec_acct_attrs.array_char_value(21) := p_source_43;
28912 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
28913 l_rec_acct_attrs.array_num_value(22) := p_source_74;
28914 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
28915 l_rec_acct_attrs.array_num_value(23) := p_source_75;
28916 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
28917 l_rec_acct_attrs.array_num_value(24) := p_source_76;
28918
28919 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
28920 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
28921
28922 ---------------------------------------------------------------------------------------------------------------
28923 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
28924 ---------------------------------------------------------------------------------------------------------------
28925 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
28926
28927 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28928 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
28929
28930 IF xla_accounting_cache_pkg.GetValueChar
28931 (p_source_code => 'LEDGER_CATEGORY_CODE'
28932 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
28933 AND l_bflow_method_code = 'PRIOR_ENTRY'
28934 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
28935 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
28936 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
28937 )
28938 THEN
28939 xla_ae_lines_pkg.BflowUpgEntry
28940 (p_business_method_code => l_bflow_method_code
28941 ,p_business_class_code => l_bflow_class_code
28942 ,p_balance_type => l_balance_type_code);
28943 ELSE
28944 NULL;
28945 XLA_AE_LINES_PKG.business_flow_validation(
28946 p_business_method_code => l_bflow_method_code
28950
28947 ,p_business_class_code => l_bflow_class_code
28948 ,p_inherit_description_flag => l_inherit_desc_flag);
28949 END IF;
28951 --
28952 -- call analytical criteria
28953 --
28954
28955 --
28956 -- call description
28957 --
28958 -- No description or it is inherited.
28959 --
28960 -- call ADRs
28961 -- Bug 4922099
28962 --
28963 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
28964 (NVL(l_actual_upg_option, 'N') = 'O') OR
28965 (NVL(l_enc_upg_option, 'N') = 'O')
28966 )
28967 THEN
28968 NULL;
28969 --
28970 --
28971
28972 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
28973 p_code_combination_id => TO_NUMBER(C_NUM)
28974 , p_value_type_code => NULL
28975 , p_transaction_coa_id => null
28976 , p_accounting_coa_id => null
28977 , p_adr_code => NULL
28978 , p_adr_type_code => NULL
28979 , p_component_type => l_component_type
28980 , p_component_code => l_component_code
28981 , p_component_type_code => l_component_type_code
28982 , p_component_appl_id => l_component_appl_id
28983 , p_amb_context_code => l_amb_context_code
28984 , p_side => NULL
28985 );
28986
28987
28988 -- initialise segments
28989 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28990 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28991 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28992 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28993 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28994 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28995 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28996 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28997 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28998 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
28999 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29000 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29001 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29002 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29003 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29004 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29005 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29006 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29007 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29008 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29009 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29010 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29011 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29012 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29013 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29014 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29015 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29016 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29017 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29018 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29019 --
29020
29021 --
29022
29023
29024 l_segment := AcctDerRule_15(
29025 p_application_id => p_application_id
29026 , p_ae_header_id => l_ae_header_id
29027 , p_source_23 => p_source_23
29028 , x_transaction_coa_id => l_adr_transaction_coa_id
29029 , x_accounting_coa_id => l_adr_accounting_coa_id
29030 , x_flexfield_segment_code => l_adr_flexfield_segment_code
29031 , x_flex_value_set_id => l_adr_flex_value_set_id
29032 , x_value_type_code => l_adr_value_type_code
29033 , x_value_combination_id => l_adr_value_combination_id
29034 , x_value_segment_code => l_adr_value_segment_code
29035 , p_side => 'NA'
29036 , p_override_seg_flag => 'Y'
29037 );
29038
29039 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29040
29041 xla_ae_lines_pkg.set_segment(
29042 p_to_segment_code => 'GL_ACCOUNT'
29043 , p_segment_value => l_segment
29044 , p_from_segment_code => l_adr_value_segment_code
29045 , p_from_combination_id => l_adr_value_combination_id
29046 , p_value_type_code => l_adr_value_type_code
29047 , p_transaction_coa_id => l_adr_transaction_coa_id
29051 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
29048 , p_accounting_coa_id => l_adr_accounting_coa_id
29049 , p_flexfield_segment_code => l_adr_flexfield_segment_code
29050 , p_flex_value_set_id => l_adr_flex_value_set_id
29052 , p_adr_type_code => 'S'
29053 , p_component_type => l_component_type
29054 , p_component_code => l_component_code
29055 , p_component_type_code => l_component_type_code
29056 , p_component_appl_id => l_component_appl_id
29057 , p_amb_context_code => l_amb_context_code
29058 , p_entity_code => 'AP_PAYMENTS'
29059 , p_event_class_code => 'PAYMENTS'
29060 , p_side => 'NA'
29061 );
29062
29063 END IF;
29064
29065 --
29066 --
29067 END IF;
29068 --
29069 -- Bug 4922099
29070 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29071 (NVL(l_enc_upg_option, 'N') = 'O')
29072 ) AND
29073 (l_bflow_method_code = 'PRIOR_ENTRY')
29074 )
29075 THEN
29076 IF
29077 --
29078 1 = 2
29079 --
29080 THEN
29081 xla_accounting_err_pkg.build_message
29082 (p_appli_s_name => 'XLA'
29083 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29084 ,p_token_1 => 'LINE_NUMBER'
29085 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29086 ,p_token_2 => 'LINE_TYPE_NAME'
29087 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29088 l_component_type
29089 ,l_component_code
29090 ,l_component_type_code
29091 ,l_component_appl_id
29092 ,l_amb_context_code
29093 ,l_entity_code
29094 ,l_event_class_code
29095 )
29096 ,p_token_3 => 'OWNER'
29097 ,p_value_3 => xla_lookups_pkg.get_meaning(
29098 p_lookup_type => 'XLA_OWNER_TYPE'
29099 ,p_lookup_code => l_component_type_code
29100 )
29101 ,p_token_4 => 'PRODUCT_NAME'
29102 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29103 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29104 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29105 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29106 ,p_ae_header_id => NULL
29107 );
29108
29109 IF (C_LEVEL_ERROR>= g_log_level) THEN
29110 trace
29111 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29112 ,p_level => C_LEVEL_ERROR
29113 ,p_module => l_log_module);
29114 END IF;
29115 END IF;
29116 END IF;
29117 --
29118 --
29119 ------------------------------------------------------------------------------------------------
29120 -- 4219869 Business Flow
29121 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29122 -- Prior Entry. Currently, the following code is always generated.
29123 ------------------------------------------------------------------------------------------------
29124 XLA_AE_LINES_PKG.ValidateCurrentLine;
29125
29126 ------------------------------------------------------------------------------------
29127 -- 4219869 Business Flow
29128 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29129 ------------------------------------------------------------------------------------
29130 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29131
29132 ----------------------------------------------------------------------------------
29133 -- 4219869 Business Flow
29134 -- Update journal entry status -- Need to generate this within IF <condition>
29135 ----------------------------------------------------------------------------------
29136 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29137 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29138 ,p_balance_type_code => l_balance_type_code
29139 );
29140
29141 -------------------------------------------------------------------------------------------
29142 -- 4262811 - Generate the Accrual Reversal lines
29146 (g_array_event(p_event_id).array_value_num('header_index'));
29143 -------------------------------------------------------------------------------------------
29144 BEGIN
29145 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29147 IF l_acc_rev_flag IS NULL THEN
29148 l_acc_rev_flag := 'N';
29149 END IF;
29150 EXCEPTION
29151 WHEN OTHERS THEN
29152 l_acc_rev_flag := 'N';
29153 END;
29154 --
29155 IF (l_acc_rev_flag = 'Y') THEN
29156
29157 -- 4645092 ------------------------------------------------------------------------------
29158 -- To allow MPA report to determine if it should generate report process
29159 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29160 ------------------------------------------------------------------------------------------
29161
29162 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29163 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29164 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29165 -- call ADRs
29166 -- Bug 4922099
29167 --
29168 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29169 (NVL(l_actual_upg_option, 'N') = 'O') OR
29170 (NVL(l_enc_upg_option, 'N') = 'O')
29171 )
29172 THEN
29173 NULL;
29174 --
29175 --
29176
29177 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
29178 p_code_combination_id => TO_NUMBER(C_NUM)
29179 , p_value_type_code => NULL
29180 , p_transaction_coa_id => null
29181 , p_accounting_coa_id => null
29182 , p_adr_code => NULL
29183 , p_adr_type_code => NULL
29184 , p_component_type => l_component_type
29185 , p_component_code => l_component_code
29186 , p_component_type_code => l_component_type_code
29187 , p_component_appl_id => l_component_appl_id
29188 , p_amb_context_code => l_amb_context_code
29189 , p_side => NULL
29190 );
29191
29192
29193 -- initialise segments
29194 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29195 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29196 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29197 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29198 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29199 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29200 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29201 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29202 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29203 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29204 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29205 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29206 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29207 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29208 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29209 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29210 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29211 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29212 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29213 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29214 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29215 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29216 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29217 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29218 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29219 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29220 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29221 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29222 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29223 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
29224 --
29225
29226 --
29227
29228
29229 l_segment := AcctDerRule_15(
29230 p_application_id => p_application_id
29231 , p_ae_header_id => l_ae_header_id
29232 , p_source_23 => p_source_23
29233 , x_transaction_coa_id => l_adr_transaction_coa_id
29234 , x_accounting_coa_id => l_adr_accounting_coa_id
29235 , x_flexfield_segment_code => l_adr_flexfield_segment_code
29236 , x_flex_value_set_id => l_adr_flex_value_set_id
29237 , x_value_type_code => l_adr_value_type_code
29238 , x_value_combination_id => l_adr_value_combination_id
29239 , x_value_segment_code => l_adr_value_segment_code
29243
29240 , p_side => 'NA'
29241 , p_override_seg_flag => 'Y'
29242 );
29244 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
29245
29246 xla_ae_lines_pkg.set_segment(
29247 p_to_segment_code => 'GL_ACCOUNT'
29248 , p_segment_value => l_segment
29249 , p_from_segment_code => l_adr_value_segment_code
29250 , p_from_combination_id => l_adr_value_combination_id
29251 , p_value_type_code => l_adr_value_type_code
29252 , p_transaction_coa_id => l_adr_transaction_coa_id
29253 , p_accounting_coa_id => l_adr_accounting_coa_id
29254 , p_flexfield_segment_code => l_adr_flexfield_segment_code
29255 , p_flex_value_set_id => l_adr_flex_value_set_id
29256 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
29257 , p_adr_type_code => 'S'
29258 , p_component_type => l_component_type
29259 , p_component_code => l_component_code
29260 , p_component_type_code => l_component_type_code
29261 , p_component_appl_id => l_component_appl_id
29262 , p_amb_context_code => l_amb_context_code
29263 , p_entity_code => 'AP_PAYMENTS'
29264 , p_event_class_code => 'PAYMENTS'
29265 , p_side => 'NA'
29266 );
29267
29268 END IF;
29269
29270 --
29271 --
29272 END IF;
29273
29274 --
29275 -- Update the line information that should be overwritten
29276 --
29277 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29278 p_header_num => 1);
29279 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29280
29281 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29282
29283 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29284 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29285 END IF;
29286
29287 --
29288 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29289 --
29290 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29291 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29292 ELSE
29293 ---------------------------------------------------------------------------------------------------
29294 -- 4262811a Switch Sign
29295 ---------------------------------------------------------------------------------------------------
29296 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29297 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29298 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29299 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29300 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29301 -- 5132302
29302 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29303 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29304
29305 END IF;
29306
29307 -- 4955764
29308 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29309 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
29310
29311
29312 XLA_AE_LINES_PKG.ValidateCurrentLine;
29313 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29314
29315 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29316 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
29317 ,p_balance_type_code => l_balance_type_code);
29318
29319 END IF;
29320
29321 -----------------------------------------------------------------------------------------
29322 -- 4262811 Multiperiod Accounting
29323 -----------------------------------------------------------------------------------------
29324 -- No MPA option is assigned.
29325
29326
29327 END IF;
29328 END IF;
29329 --
29330
29331 --
29332 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29333 trace
29334 (p_msg => 'END of AcctLineType_76'
29335 ,p_level => C_LEVEL_PROCEDURE
29336 ,p_module => l_log_module);
29337 END IF;
29338 --
29339 EXCEPTION
29340 WHEN xla_exceptions_pkg.application_exception THEN
29341 RAISE;
29342 WHEN OTHERS THEN
29343 xla_exceptions_pkg.raise_message
29344 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_76');
29345 END AcctLineType_76;
29346 --
29347
29348 ---------------------------------------
29349 --
29350 -- PRIVATE FUNCTION
29351 -- AcctLineType_77
29352 --
29353 ---------------------------------------
29354 PROCEDURE AcctLineType_77 (
29355 p_application_id IN NUMBER
29356 ,p_event_id IN NUMBER
29357 ,p_calculate_acctd_flag IN VARCHAR2
29361 ,p_gain_or_loss_ref OUT VARCHAR2
29358 ,p_calculate_g_l_flag IN VARCHAR2
29359 ,p_actual_flag IN OUT VARCHAR2
29360 ,p_balance_type_code OUT VARCHAR2
29362
29363 --Automatic Offsets Value
29364 , p_source_3 IN VARCHAR2
29365 , p_source_3_meaning IN VARCHAR2
29366 --Bank Cash Clearing Account
29367 , p_source_23 IN NUMBER
29368 --Accounting Reversal Indicator
29369 , p_source_41 IN VARCHAR2
29370 --Distribution Link Type
29371 , p_source_43 IN VARCHAR2
29372 --Override Accounted Amount Indicator
29373 , p_source_68 IN VARCHAR2
29374 , p_source_68_meaning IN VARCHAR2
29375 --Third Party Type
29376 , p_source_71 IN VARCHAR2
29377 --Invoice Distribution Tax Line Identifier
29378 , p_source_74 IN NUMBER
29379 --Invoice Distribution Tax Distribution Identifier from Tax
29380 , p_source_75 IN NUMBER
29381 --Invoice Distribution Summary Tax Line Identifier
29382 , p_source_76 IN NUMBER
29383 --Business Flow Accounts Payable Application Identifier
29384 , p_source_79 IN NUMBER
29385 --Business Flow Invoice Distribution Type
29386 , p_source_80 IN VARCHAR2
29387 --Business Flow Invoice Entity Code
29388 , p_source_81 IN VARCHAR2
29389 --Business Flow Invoice Distribution Identifier
29390 , p_source_82 IN NUMBER
29391 --Business Flow Invoice Identifier
29392 , p_source_83 IN NUMBER
29393 --When to Account for Payment Option
29394 , p_source_89 IN VARCHAR2
29395 --Payment Distribution Type
29396 , p_source_90 IN VARCHAR2
29397 , p_source_90_meaning IN VARCHAR2
29398 --Payment Distribution Amount
29399 , p_source_91 IN NUMBER
29400 --Payment Distribution Identifier
29401 , p_source_96 IN NUMBER
29402 --Payment Supplier Identifier
29403 , p_source_102 IN NUMBER
29404 --Payment Supplier Site Identifier
29405 , p_source_103 IN NUMBER
29406 --Payment Distribution Reversed Identifier
29407 , p_source_104 IN NUMBER
29408 --Pooled Bank Account Option
29409 , p_source_105 IN VARCHAR2
29410 , p_source_105_meaning IN VARCHAR2
29411 --Payment Currency Code
29412 , p_source_106 IN VARCHAR2
29413 --Payment Maturity Date
29414 , p_source_107 IN DATE
29415 --Payment Distribution (Invoice Rate) Ledger Amount
29416 , p_source_109 IN NUMBER
29417 --Payment Exchange Date
29418 , p_source_110 IN DATE
29419 --Payment Exchange Rate
29420 , p_source_111 IN NUMBER
29421 --Payment Exchange Rate Type
29422 , p_source_112 IN VARCHAR2
29423 --Payment Type
29424 , p_source_115 IN VARCHAR2
29425 , p_source_115_meaning IN VARCHAR2
29426 --Payment Processing Type
29427 , p_source_116 IN VARCHAR2
29428 --Invoice Distribution Amount of the Payment Distribution
29429 , p_source_117 IN NUMBER
29430 )
29431 IS
29432
29433 l_component_type VARCHAR2(80);
29434 l_component_code VARCHAR2(30);
29435 l_component_type_code VARCHAR2(1);
29436 l_component_appl_id INTEGER;
29437 l_amb_context_code VARCHAR2(30);
29438 l_entity_code VARCHAR2(30);
29439 l_event_class_code VARCHAR2(30);
29440 l_ae_header_id NUMBER;
29441 l_event_type_code VARCHAR2(30);
29442 l_line_definition_code VARCHAR2(30);
29443 l_line_definition_owner_code VARCHAR2(1);
29444 --
29445 -- adr variables
29446 l_segment VARCHAR2(30);
29447 l_ccid NUMBER;
29448 l_adr_transaction_coa_id NUMBER;
29449 l_adr_accounting_coa_id NUMBER;
29450 l_adr_flexfield_segment_code VARCHAR2(30);
29451 l_adr_flex_value_set_id NUMBER;
29452 l_adr_value_type_code VARCHAR2(30);
29453 l_adr_value_combination_id NUMBER;
29454 l_adr_value_segment_code VARCHAR2(30);
29455
29456 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
29457 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
29458 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
29459 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
29460
29461 -- 4262811 Variables ------------------------------------------------------------------------------------------
29462 l_entered_amt_idx NUMBER;
29463 l_accted_amt_idx NUMBER;
29464 l_acc_rev_flag VARCHAR2(1);
29465 l_accrual_line_num NUMBER;
29466 l_tmp_amt NUMBER;
29467 l_acc_rev_natural_side_code VARCHAR2(1);
29468
29469 l_num_entries NUMBER;
29470 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
29471 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
29472 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
29473 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
29474 l_recog_line_1 NUMBER;
29475 l_recog_line_2 NUMBER;
29476
29477 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
29478 l_bflow_applied_to_amt NUMBER; -- 5132302
29479 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
29480
29481 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
29485
29482
29483 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
29484 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
29486 ---------------------------------------------------------------------------------------------------------------
29487
29488
29489 --
29490 -- bulk performance
29491 --
29492 l_balance_type_code VARCHAR2(1);
29493 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
29494 l_log_module VARCHAR2(240);
29495
29496 --
29497 -- Upgrade strategy
29498 --
29499 l_actual_upg_option VARCHAR2(1);
29500 l_enc_upg_option VARCHAR2(1);
29501
29502 --
29503 BEGIN
29504 --
29505 IF g_log_enabled THEN
29506 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_77';
29507 END IF;
29508 --
29509 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
29510
29511 trace
29512 (p_msg => 'BEGIN of AcctLineType_77'
29513 ,p_level => C_LEVEL_PROCEDURE
29514 ,p_module => l_log_module);
29515
29516 END IF;
29517 --
29518 l_component_type := 'AMB_JLT';
29519 l_component_code := 'AP_CASH_CLEAR_PMT_BS_INVXRATE';
29520 l_component_type_code := 'S';
29521 l_component_appl_id := 200;
29522 l_amb_context_code := 'DEFAULT';
29523 l_entity_code := 'AP_PAYMENTS';
29524 l_event_class_code := 'PAYMENTS';
29525 l_event_type_code := 'PAYMENTS_ALL';
29526 l_line_definition_owner_code := 'S';
29527 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
29528 --
29529 l_balance_type_code := 'A';
29530 l_segment := NULL;
29531 l_ccid := NULL;
29532 l_adr_transaction_coa_id := NULL;
29533 l_adr_accounting_coa_id := NULL;
29534 l_adr_flexfield_segment_code := NULL;
29535 l_adr_flex_value_set_id := NULL;
29536 l_adr_value_type_code := NULL;
29537 l_adr_value_combination_id := NULL;
29538 l_adr_value_segment_code := NULL;
29539
29540 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
29541 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
29542 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
29543 l_budgetary_control_flag := 'N';
29544
29545 l_bflow_applied_to_amt_idx := NULL; -- 5132302
29546 l_bflow_applied_to_amt := NULL; -- 5132302
29547 l_entered_amt_idx := NULL; -- 4262811
29548 l_accted_amt_idx := NULL; -- 4262811
29549 l_acc_rev_flag := NULL; -- 4262811
29550 l_accrual_line_num := NULL; -- 4262811
29551 l_tmp_amt := NULL; -- 4262811
29552 --
29553
29554 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
29555 l_balance_type_code <> 'B' THEN
29556 IF NVL(p_source_89,'
29557 ') = 'ALWAYS_CLEAR' AND
29558 (NVL(p_source_105,'
29559 ') = 'Y' AND
29560 NVL(p_source_3,'
29561 ') = 'BALANCING_SEGMENT') AND
29562 p_source_107 IS NULL AND
29563 NVL(p_source_90,'
29564 ') = 'CASH' AND
29565 NVL(p_source_115,'
29566 ') <> 'R' AND
29567 NVL(p_source_116,'
29568 ') <> 'PAYMENTCARD'
29569 THEN
29570
29571 --
29572 XLA_AE_LINES_PKG.SetNewLine;
29573
29574 p_balance_type_code := l_balance_type_code;
29575 -- set the flag so later we will know whether the gain loss line needs to be created
29576
29577 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
29578 p_actual_flag :='A';
29579 END IF;
29580
29581 --
29582 -- bulk performance
29583 --
29584 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
29585 p_header_num => 0); -- 4262811
29586 --
29587 -- set accounting line options
29588 --
29589 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
29590 p_natural_side_code => 'C'
29591 , p_gain_or_loss_flag => 'N'
29592 , p_gl_transfer_mode_code => 'S'
29593 , p_acct_entry_type_code => 'A'
29594 , p_switch_side_flag => 'Y'
29595 , p_merge_duplicate_code => 'A'
29596 );
29597 --
29598 l_acc_rev_natural_side_code := 'D'; -- 4262811
29599 --
29600 --
29601 -- set accounting line type info
29602 --
29603 xla_ae_lines_pkg.SetAcctLineType
29604 (p_component_type => l_component_type
29605 ,p_event_type_code => l_event_type_code
29606 ,p_line_definition_owner_code => l_line_definition_owner_code
29607 ,p_line_definition_code => l_line_definition_code
29608 ,p_accounting_line_code => l_component_code
29609 ,p_accounting_line_type_code => l_component_type_code
29610 ,p_accounting_line_appl_id => l_component_appl_id
29611 ,p_amb_context_code => l_amb_context_code
29612 ,p_entity_code => l_entity_code
29613 ,p_event_class_code => l_event_class_code);
29614 --
29615 -- set accounting class
29616 --
29617 xla_ae_lines_pkg.SetAcctClass(
29618 p_accounting_class_code => 'CASH_CLEARING'
29619 , p_ae_header_id => l_ae_header_id
29620 );
29624 --
29621
29622 --
29623 -- set rounding class
29625 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
29626 'CASH_CLEARING';
29627
29628 --
29629 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
29630 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
29631 --
29632 -- bulk performance
29633 --
29634 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
29635
29636 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
29637 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
29638
29639 -- 4955764
29640 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
29641 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
29642
29643 -- 4458381 Public Sector Enh
29644
29645 --
29646 -- set accounting attributes for the line type
29647 --
29648 l_entered_amt_idx := 10;
29649 l_accted_amt_idx := 15;
29650 l_bflow_applied_to_amt_idx := 2; -- 5132302
29651 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
29652 l_rec_acct_attrs.array_char_value(1) := p_source_41;
29653 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
29654 l_rec_acct_attrs.array_num_value(2) := p_source_117;
29655 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
29656 l_rec_acct_attrs.array_num_value(3) := p_source_79;
29657 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
29658 l_rec_acct_attrs.array_char_value(4) := p_source_80;
29659 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
29660 l_rec_acct_attrs.array_char_value(5) := p_source_81;
29661 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
29662 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
29663 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
29664 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
29665 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
29666 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
29667 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
29668 l_rec_acct_attrs.array_char_value(9) := p_source_43;
29669 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
29670 l_rec_acct_attrs.array_num_value(10) := p_source_91;
29671 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
29672 l_rec_acct_attrs.array_char_value(11) := p_source_106;
29673 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
29674 l_rec_acct_attrs.array_date_value(12) := p_source_110;
29675 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
29676 l_rec_acct_attrs.array_num_value(13) := p_source_111;
29677 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
29678 l_rec_acct_attrs.array_char_value(14) := p_source_112;
29679 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
29680 l_rec_acct_attrs.array_num_value(15) := p_source_109;
29681 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
29682 l_rec_acct_attrs.array_char_value(16) := p_source_68;
29683 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
29684 l_rec_acct_attrs.array_num_value(17) := p_source_102;
29685 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
29686 l_rec_acct_attrs.array_num_value(18) := p_source_103;
29687 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
29688 l_rec_acct_attrs.array_char_value(19) := p_source_71;
29689 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
29690 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
29691 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
29692 l_rec_acct_attrs.array_char_value(21) := p_source_43;
29693 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
29694 l_rec_acct_attrs.array_num_value(22) := p_source_74;
29695 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
29696 l_rec_acct_attrs.array_num_value(23) := p_source_75;
29697 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
29698 l_rec_acct_attrs.array_num_value(24) := p_source_76;
29699
29700 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
29701 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
29702
29703 ---------------------------------------------------------------------------------------------------------------
29704 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
29705 ---------------------------------------------------------------------------------------------------------------
29706 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
29707
29708 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29709 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
29710
29711 IF xla_accounting_cache_pkg.GetValueChar
29712 (p_source_code => 'LEDGER_CATEGORY_CODE'
29713 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
29717 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
29714 AND l_bflow_method_code = 'PRIOR_ENTRY'
29715 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
29716 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
29718 )
29719 THEN
29720 xla_ae_lines_pkg.BflowUpgEntry
29721 (p_business_method_code => l_bflow_method_code
29722 ,p_business_class_code => l_bflow_class_code
29723 ,p_balance_type => l_balance_type_code);
29724 ELSE
29725 NULL;
29726 XLA_AE_LINES_PKG.business_flow_validation(
29727 p_business_method_code => l_bflow_method_code
29728 ,p_business_class_code => l_bflow_class_code
29729 ,p_inherit_description_flag => l_inherit_desc_flag);
29730 END IF;
29731
29732 --
29733 -- call analytical criteria
29734 --
29735
29736 --
29737 -- call description
29738 --
29739 -- No description or it is inherited.
29740 --
29741 -- call ADRs
29742 -- Bug 4922099
29743 --
29744 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29745 (NVL(l_actual_upg_option, 'N') = 'O') OR
29746 (NVL(l_enc_upg_option, 'N') = 'O')
29747 )
29748 THEN
29749 NULL;
29750 --
29751 --
29752
29753 l_ccid := AcctDerRule_35(
29754 p_application_id => p_application_id
29755 , p_ae_header_id => l_ae_header_id
29756 , p_source_23 => p_source_23
29757 , x_transaction_coa_id => l_adr_transaction_coa_id
29758 , x_accounting_coa_id => l_adr_accounting_coa_id
29759 , x_value_type_code => l_adr_value_type_code
29760 , p_side => 'NA'
29761 );
29762
29763 xla_ae_lines_pkg.set_ccid(
29764 p_code_combination_id => l_ccid
29765 , p_value_type_code => l_adr_value_type_code
29766 , p_transaction_coa_id => l_adr_transaction_coa_id
29767 , p_accounting_coa_id => l_adr_accounting_coa_id
29768 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29769 , p_adr_type_code => 'S'
29770 , p_component_type => l_component_type
29771 , p_component_code => l_component_code
29772 , p_component_type_code => l_component_type_code
29773 , p_component_appl_id => l_component_appl_id
29774 , p_amb_context_code => l_amb_context_code
29775 , p_side => 'NA'
29776 );
29777
29778
29779 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
29780 p_to_segment_code => 'GL_BALANCING'
29781 , p_segment_value => C_CHAR
29782 , p_from_segment_code => NULL
29783 , p_from_combination_id => NULL
29784 , p_value_type_code => NULL
29785 , p_transaction_coa_id => null
29786 , p_accounting_coa_id => null
29787 , p_flexfield_segment_code => NULL
29788 , p_flex_value_set_id => NULL
29789 , p_adr_code => NULL
29790 , p_adr_type_code => NULL
29791 , p_component_type => l_component_type
29792 , p_component_code => l_component_code
29793 , p_component_type_code => l_component_type_code
29794 , p_component_appl_id => l_component_appl_id
29795 , p_amb_context_code => l_amb_context_code
29796 , p_entity_code => 'AP_PAYMENTS'
29797 , p_event_class_code => 'PAYMENTS'
29798 , p_side => 'NA'
29799 );
29800 --
29801
29802
29803 --
29804 --
29805 END IF;
29806 --
29807 -- Bug 4922099
29808 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
29809 (NVL(l_enc_upg_option, 'N') = 'O')
29810 ) AND
29811 (l_bflow_method_code = 'PRIOR_ENTRY')
29812 )
29813 THEN
29814 IF
29815 --
29816 1 = 2
29817 --
29818 THEN
29819 xla_accounting_err_pkg.build_message
29820 (p_appli_s_name => 'XLA'
29821 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29822 ,p_token_1 => 'LINE_NUMBER'
29823 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
29824 ,p_token_2 => 'LINE_TYPE_NAME'
29825 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
29826 l_component_type
29827 ,l_component_code
29828 ,l_component_type_code
29829 ,l_component_appl_id
29830 ,l_amb_context_code
29831 ,l_entity_code
29832 ,l_event_class_code
29833 )
29837 ,p_lookup_code => l_component_type_code
29834 ,p_token_3 => 'OWNER'
29835 ,p_value_3 => xla_lookups_pkg.get_meaning(
29836 p_lookup_type => 'XLA_OWNER_TYPE'
29838 )
29839 ,p_token_4 => 'PRODUCT_NAME'
29840 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
29841 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
29842 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
29843 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
29844 ,p_ae_header_id => NULL
29845 );
29846
29847 IF (C_LEVEL_ERROR>= g_log_level) THEN
29848 trace
29849 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
29850 ,p_level => C_LEVEL_ERROR
29851 ,p_module => l_log_module);
29852 END IF;
29853 END IF;
29854 END IF;
29855 --
29856 --
29857 ------------------------------------------------------------------------------------------------
29858 -- 4219869 Business Flow
29859 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
29860 -- Prior Entry. Currently, the following code is always generated.
29861 ------------------------------------------------------------------------------------------------
29862 XLA_AE_LINES_PKG.ValidateCurrentLine;
29863
29864 ------------------------------------------------------------------------------------
29865 -- 4219869 Business Flow
29866 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
29867 ------------------------------------------------------------------------------------
29868 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
29869
29870 ----------------------------------------------------------------------------------
29871 -- 4219869 Business Flow
29872 -- Update journal entry status -- Need to generate this within IF <condition>
29873 ----------------------------------------------------------------------------------
29874 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
29875 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
29876 ,p_balance_type_code => l_balance_type_code
29877 );
29878
29879 -------------------------------------------------------------------------------------------
29880 -- 4262811 - Generate the Accrual Reversal lines
29881 -------------------------------------------------------------------------------------------
29882 BEGIN
29883 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
29884 (g_array_event(p_event_id).array_value_num('header_index'));
29885 IF l_acc_rev_flag IS NULL THEN
29886 l_acc_rev_flag := 'N';
29887 END IF;
29888 EXCEPTION
29889 WHEN OTHERS THEN
29890 l_acc_rev_flag := 'N';
29891 END;
29892 --
29893 IF (l_acc_rev_flag = 'Y') THEN
29894
29895 -- 4645092 ------------------------------------------------------------------------------
29896 -- To allow MPA report to determine if it should generate report process
29897 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
29898 ------------------------------------------------------------------------------------------
29899
29900 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
29901 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
29902 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
29903 -- call ADRs
29904 -- Bug 4922099
29905 --
29906 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
29907 (NVL(l_actual_upg_option, 'N') = 'O') OR
29908 (NVL(l_enc_upg_option, 'N') = 'O')
29909 )
29910 THEN
29911 NULL;
29912 --
29913 --
29914
29915 l_ccid := AcctDerRule_35(
29916 p_application_id => p_application_id
29917 , p_ae_header_id => l_ae_header_id
29918 , p_source_23 => p_source_23
29919 , x_transaction_coa_id => l_adr_transaction_coa_id
29920 , x_accounting_coa_id => l_adr_accounting_coa_id
29921 , x_value_type_code => l_adr_value_type_code
29922 , p_side => 'NA'
29923 );
29924
29925 xla_ae_lines_pkg.set_ccid(
29926 p_code_combination_id => l_ccid
29927 , p_value_type_code => l_adr_value_type_code
29928 , p_transaction_coa_id => l_adr_transaction_coa_id
29929 , p_accounting_coa_id => l_adr_accounting_coa_id
29930 , p_adr_code => 'AP_PMT_CASH_CLEAR'
29931 , p_adr_type_code => 'S'
29932 , p_component_type => l_component_type
29933 , p_component_code => l_component_code
29934 , p_component_type_code => l_component_type_code
29938 );
29935 , p_component_appl_id => l_component_appl_id
29936 , p_amb_context_code => l_amb_context_code
29937 , p_side => 'NA'
29939
29940
29941 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
29942 p_to_segment_code => 'GL_BALANCING'
29943 , p_segment_value => C_CHAR
29944 , p_from_segment_code => NULL
29945 , p_from_combination_id => NULL
29946 , p_value_type_code => NULL
29947 , p_transaction_coa_id => null
29948 , p_accounting_coa_id => null
29949 , p_flexfield_segment_code => NULL
29950 , p_flex_value_set_id => NULL
29951 , p_adr_code => NULL
29952 , p_adr_type_code => NULL
29953 , p_component_type => l_component_type
29954 , p_component_code => l_component_code
29955 , p_component_type_code => l_component_type_code
29956 , p_component_appl_id => l_component_appl_id
29957 , p_amb_context_code => l_amb_context_code
29958 , p_entity_code => 'AP_PAYMENTS'
29959 , p_event_class_code => 'PAYMENTS'
29960 , p_side => 'NA'
29961 );
29962 --
29963
29964
29965 --
29966 --
29967 END IF;
29968
29969 --
29970 -- Update the line information that should be overwritten
29971 --
29972 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
29973 p_header_num => 1);
29974 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
29975
29976 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
29977
29978 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
29979 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
29980 END IF;
29981
29982 --
29983 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
29984 --
29985 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
29986 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
29987 ELSE
29988 ---------------------------------------------------------------------------------------------------
29989 -- 4262811a Switch Sign
29990 ---------------------------------------------------------------------------------------------------
29991 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
29992 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29993 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29994 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
29995 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29996 -- 5132302
29997 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
29998 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
29999
30000 END IF;
30001
30002 -- 4955764
30003 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30004 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30005
30006
30007 XLA_AE_LINES_PKG.ValidateCurrentLine;
30008 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30009
30010 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30011 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30012 ,p_balance_type_code => l_balance_type_code);
30013
30014 END IF;
30015
30016 -----------------------------------------------------------------------------------------
30017 -- 4262811 Multiperiod Accounting
30018 -----------------------------------------------------------------------------------------
30019 -- No MPA option is assigned.
30020
30021
30022 END IF;
30023 END IF;
30024 --
30025
30026 --
30027 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30028 trace
30029 (p_msg => 'END of AcctLineType_77'
30030 ,p_level => C_LEVEL_PROCEDURE
30031 ,p_module => l_log_module);
30032 END IF;
30033 --
30034 EXCEPTION
30035 WHEN xla_exceptions_pkg.application_exception THEN
30036 RAISE;
30037 WHEN OTHERS THEN
30038 xla_exceptions_pkg.raise_message
30039 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_77');
30040 END AcctLineType_77;
30041 --
30042
30043 ---------------------------------------
30044 --
30045 -- PRIVATE FUNCTION
30046 -- AcctLineType_78
30047 --
30048 ---------------------------------------
30049 PROCEDURE AcctLineType_78 (
30050 p_application_id IN NUMBER
30051 ,p_event_id IN NUMBER
30052 ,p_calculate_acctd_flag IN VARCHAR2
30053 ,p_calculate_g_l_flag IN VARCHAR2
30054 ,p_actual_flag IN OUT VARCHAR2
30055 ,p_balance_type_code OUT VARCHAR2
30056 ,p_gain_or_loss_ref OUT VARCHAR2
30057
30058 --Bank Cash Clearing Account
30059 , p_source_23 IN NUMBER
30063 --Accounting Reversal Indicator
30060 --Automatic Offsets Flag
30061 , p_source_35 IN VARCHAR2
30062 , p_source_35_meaning IN VARCHAR2
30064 , p_source_41 IN VARCHAR2
30065 --Distribution Link Type
30066 , p_source_43 IN VARCHAR2
30067 --Override Accounted Amount Indicator
30068 , p_source_68 IN VARCHAR2
30069 , p_source_68_meaning IN VARCHAR2
30070 --Third Party Type
30071 , p_source_71 IN VARCHAR2
30072 --Invoice Distribution Tax Line Identifier
30073 , p_source_74 IN NUMBER
30074 --Invoice Distribution Tax Distribution Identifier from Tax
30075 , p_source_75 IN NUMBER
30076 --Invoice Distribution Summary Tax Line Identifier
30077 , p_source_76 IN NUMBER
30078 --Business Flow Accounts Payable Application Identifier
30079 , p_source_79 IN NUMBER
30080 --Business Flow Invoice Distribution Type
30081 , p_source_80 IN VARCHAR2
30082 --Business Flow Invoice Entity Code
30083 , p_source_81 IN VARCHAR2
30084 --Business Flow Invoice Distribution Identifier
30085 , p_source_82 IN NUMBER
30086 --Business Flow Invoice Identifier
30087 , p_source_83 IN NUMBER
30088 --When to Account for Payment Option
30089 , p_source_89 IN VARCHAR2
30090 --Payment Distribution Type
30091 , p_source_90 IN VARCHAR2
30092 , p_source_90_meaning IN VARCHAR2
30093 --Payment Distribution Amount
30094 , p_source_91 IN NUMBER
30095 --Payment Distribution Identifier
30096 , p_source_96 IN NUMBER
30097 --Payment Supplier Identifier
30098 , p_source_102 IN NUMBER
30099 --Payment Supplier Site Identifier
30100 , p_source_103 IN NUMBER
30101 --Payment Distribution Reversed Identifier
30102 , p_source_104 IN NUMBER
30103 --Pooled Bank Account Option
30104 , p_source_105 IN VARCHAR2
30105 , p_source_105_meaning IN VARCHAR2
30106 --Payment Currency Code
30107 , p_source_106 IN VARCHAR2
30108 --Payment Maturity Date
30109 , p_source_107 IN DATE
30110 --Payment Distribution (Invoice Rate) Ledger Amount
30111 , p_source_109 IN NUMBER
30112 --Payment Exchange Date
30113 , p_source_110 IN DATE
30114 --Payment Exchange Rate
30115 , p_source_111 IN NUMBER
30116 --Payment Exchange Rate Type
30117 , p_source_112 IN VARCHAR2
30118 --Payment Type
30119 , p_source_115 IN VARCHAR2
30120 , p_source_115_meaning IN VARCHAR2
30121 --Payment Processing Type
30122 , p_source_116 IN VARCHAR2
30123 --Invoice Distribution Amount of the Payment Distribution
30124 , p_source_117 IN NUMBER
30125 )
30126 IS
30127
30128 l_component_type VARCHAR2(80);
30129 l_component_code VARCHAR2(30);
30130 l_component_type_code VARCHAR2(1);
30131 l_component_appl_id INTEGER;
30132 l_amb_context_code VARCHAR2(30);
30133 l_entity_code VARCHAR2(30);
30134 l_event_class_code VARCHAR2(30);
30135 l_ae_header_id NUMBER;
30136 l_event_type_code VARCHAR2(30);
30137 l_line_definition_code VARCHAR2(30);
30138 l_line_definition_owner_code VARCHAR2(1);
30139 --
30140 -- adr variables
30141 l_segment VARCHAR2(30);
30142 l_ccid NUMBER;
30143 l_adr_transaction_coa_id NUMBER;
30144 l_adr_accounting_coa_id NUMBER;
30145 l_adr_flexfield_segment_code VARCHAR2(30);
30146 l_adr_flex_value_set_id NUMBER;
30147 l_adr_value_type_code VARCHAR2(30);
30148 l_adr_value_combination_id NUMBER;
30149 l_adr_value_segment_code VARCHAR2(30);
30150
30151 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30152 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30153 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30154 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30155
30156 -- 4262811 Variables ------------------------------------------------------------------------------------------
30157 l_entered_amt_idx NUMBER;
30158 l_accted_amt_idx NUMBER;
30159 l_acc_rev_flag VARCHAR2(1);
30160 l_accrual_line_num NUMBER;
30161 l_tmp_amt NUMBER;
30162 l_acc_rev_natural_side_code VARCHAR2(1);
30163
30164 l_num_entries NUMBER;
30165 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30166 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30167 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30168 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30169 l_recog_line_1 NUMBER;
30170 l_recog_line_2 NUMBER;
30171
30172 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30173 l_bflow_applied_to_amt NUMBER; -- 5132302
30174 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30175
30176 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30177
30178 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30179 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30180
30184 --
30181 ---------------------------------------------------------------------------------------------------------------
30182
30183
30185 -- bulk performance
30186 --
30187 l_balance_type_code VARCHAR2(1);
30188 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30189 l_log_module VARCHAR2(240);
30190
30191 --
30192 -- Upgrade strategy
30193 --
30194 l_actual_upg_option VARCHAR2(1);
30195 l_enc_upg_option VARCHAR2(1);
30196
30197 --
30198 BEGIN
30199 --
30200 IF g_log_enabled THEN
30201 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_78';
30202 END IF;
30203 --
30204 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30205
30206 trace
30207 (p_msg => 'BEGIN of AcctLineType_78'
30208 ,p_level => C_LEVEL_PROCEDURE
30209 ,p_module => l_log_module);
30210
30211 END IF;
30212 --
30213 l_component_type := 'AMB_JLT';
30214 l_component_code := 'AP_CASH_CLEAR_PMT_INVXRATE';
30215 l_component_type_code := 'S';
30216 l_component_appl_id := 200;
30217 l_amb_context_code := 'DEFAULT';
30218 l_entity_code := 'AP_PAYMENTS';
30219 l_event_class_code := 'PAYMENTS';
30220 l_event_type_code := 'PAYMENTS_ALL';
30221 l_line_definition_owner_code := 'S';
30222 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
30223 --
30224 l_balance_type_code := 'A';
30225 l_segment := NULL;
30226 l_ccid := NULL;
30227 l_adr_transaction_coa_id := NULL;
30228 l_adr_accounting_coa_id := NULL;
30229 l_adr_flexfield_segment_code := NULL;
30230 l_adr_flex_value_set_id := NULL;
30231 l_adr_value_type_code := NULL;
30232 l_adr_value_combination_id := NULL;
30233 l_adr_value_segment_code := NULL;
30234
30235 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
30236 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30237 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30238 l_budgetary_control_flag := 'N';
30239
30240 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30241 l_bflow_applied_to_amt := NULL; -- 5132302
30242 l_entered_amt_idx := NULL; -- 4262811
30243 l_accted_amt_idx := NULL; -- 4262811
30244 l_acc_rev_flag := NULL; -- 4262811
30245 l_accrual_line_num := NULL; -- 4262811
30246 l_tmp_amt := NULL; -- 4262811
30247 --
30248
30249 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30250 l_balance_type_code <> 'B' THEN
30251 IF NVL(p_source_89,'
30252 ') = 'ALWAYS_CLEAR' AND
30253 (NVL(p_source_35,'
30254 ') <> 'Y' OR
30255 NVL(p_source_35,'
30256 ') = 'Y' AND
30257 NVL(p_source_105,'
30258 ') <> 'Y') AND
30259 p_source_107 IS NULL AND
30260 NVL(p_source_90,'
30261 ') = 'CASH' AND
30262 NVL(p_source_115,'
30263 ') <> 'R' AND
30264 NVL(p_source_116,'
30265 ') <> 'PAYMENTCARD'
30266 THEN
30267
30268 --
30269 XLA_AE_LINES_PKG.SetNewLine;
30270
30271 p_balance_type_code := l_balance_type_code;
30272 -- set the flag so later we will know whether the gain loss line needs to be created
30273
30274 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30275 p_actual_flag :='A';
30276 END IF;
30277
30278 --
30279 -- bulk performance
30280 --
30281 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30282 p_header_num => 0); -- 4262811
30283 --
30284 -- set accounting line options
30285 --
30286 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30287 p_natural_side_code => 'C'
30288 , p_gain_or_loss_flag => 'N'
30289 , p_gl_transfer_mode_code => 'S'
30290 , p_acct_entry_type_code => 'A'
30291 , p_switch_side_flag => 'Y'
30292 , p_merge_duplicate_code => 'A'
30293 );
30294 --
30295 l_acc_rev_natural_side_code := 'D'; -- 4262811
30296 --
30297 --
30298 -- set accounting line type info
30299 --
30300 xla_ae_lines_pkg.SetAcctLineType
30301 (p_component_type => l_component_type
30302 ,p_event_type_code => l_event_type_code
30303 ,p_line_definition_owner_code => l_line_definition_owner_code
30304 ,p_line_definition_code => l_line_definition_code
30305 ,p_accounting_line_code => l_component_code
30306 ,p_accounting_line_type_code => l_component_type_code
30307 ,p_accounting_line_appl_id => l_component_appl_id
30308 ,p_amb_context_code => l_amb_context_code
30309 ,p_entity_code => l_entity_code
30310 ,p_event_class_code => l_event_class_code);
30311 --
30312 -- set accounting class
30313 --
30314 xla_ae_lines_pkg.SetAcctClass(
30315 p_accounting_class_code => 'CASH_CLEARING'
30316 , p_ae_header_id => l_ae_header_id
30317 );
30318
30319 --
30320 -- set rounding class
30321 --
30325 --
30322 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30323 'CASH_CLEARING';
30324
30326 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30327 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30328 --
30329 -- bulk performance
30330 --
30331 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30332
30333 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30334 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30335
30336 -- 4955764
30337 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30338 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30339
30340 -- 4458381 Public Sector Enh
30341
30342 --
30343 -- set accounting attributes for the line type
30344 --
30345 l_entered_amt_idx := 10;
30346 l_accted_amt_idx := 15;
30347 l_bflow_applied_to_amt_idx := 2; -- 5132302
30348 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30349 l_rec_acct_attrs.array_char_value(1) := p_source_41;
30350 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
30351 l_rec_acct_attrs.array_num_value(2) := p_source_117;
30352 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
30353 l_rec_acct_attrs.array_num_value(3) := p_source_79;
30354 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30355 l_rec_acct_attrs.array_char_value(4) := p_source_80;
30356 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
30357 l_rec_acct_attrs.array_char_value(5) := p_source_81;
30358 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
30359 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
30360 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30361 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
30362 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
30363 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
30364 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
30365 l_rec_acct_attrs.array_char_value(9) := p_source_43;
30366 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
30367 l_rec_acct_attrs.array_num_value(10) := p_source_91;
30368 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
30369 l_rec_acct_attrs.array_char_value(11) := p_source_106;
30370 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
30371 l_rec_acct_attrs.array_date_value(12) := p_source_110;
30372 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
30373 l_rec_acct_attrs.array_num_value(13) := p_source_111;
30374 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
30375 l_rec_acct_attrs.array_char_value(14) := p_source_112;
30376 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
30377 l_rec_acct_attrs.array_num_value(15) := p_source_109;
30378 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
30379 l_rec_acct_attrs.array_char_value(16) := p_source_68;
30380 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
30381 l_rec_acct_attrs.array_num_value(17) := p_source_102;
30382 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
30383 l_rec_acct_attrs.array_num_value(18) := p_source_103;
30384 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
30385 l_rec_acct_attrs.array_char_value(19) := p_source_71;
30386 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
30387 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
30388 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
30389 l_rec_acct_attrs.array_char_value(21) := p_source_43;
30390 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
30391 l_rec_acct_attrs.array_num_value(22) := p_source_74;
30392 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
30393 l_rec_acct_attrs.array_num_value(23) := p_source_75;
30394 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
30395 l_rec_acct_attrs.array_num_value(24) := p_source_76;
30396
30397 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
30398 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
30399
30400 ---------------------------------------------------------------------------------------------------------------
30401 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
30402 ---------------------------------------------------------------------------------------------------------------
30403 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
30404
30405 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30406 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
30407
30408 IF xla_accounting_cache_pkg.GetValueChar
30409 (p_source_code => 'LEDGER_CATEGORY_CODE'
30413 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
30410 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
30411 AND l_bflow_method_code = 'PRIOR_ENTRY'
30412 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
30414 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
30415 )
30416 THEN
30417 xla_ae_lines_pkg.BflowUpgEntry
30418 (p_business_method_code => l_bflow_method_code
30419 ,p_business_class_code => l_bflow_class_code
30420 ,p_balance_type => l_balance_type_code);
30421 ELSE
30422 NULL;
30423 -- No business flow processing for business flow method of NONE.
30424 END IF;
30425
30426 --
30427 -- call analytical criteria
30428 --
30429
30430 --
30431 -- call description
30432 --
30433 -- No description or it is inherited.
30434 --
30435 -- call ADRs
30436 -- Bug 4922099
30437 --
30438 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30439 (NVL(l_actual_upg_option, 'N') = 'O') OR
30440 (NVL(l_enc_upg_option, 'N') = 'O')
30441 )
30442 THEN
30443 NULL;
30444 --
30445 --
30446
30447 l_ccid := AcctDerRule_35(
30448 p_application_id => p_application_id
30449 , p_ae_header_id => l_ae_header_id
30450 , p_source_23 => p_source_23
30451 , x_transaction_coa_id => l_adr_transaction_coa_id
30452 , x_accounting_coa_id => l_adr_accounting_coa_id
30453 , x_value_type_code => l_adr_value_type_code
30454 , p_side => 'NA'
30455 );
30456
30457 xla_ae_lines_pkg.set_ccid(
30458 p_code_combination_id => l_ccid
30459 , p_value_type_code => l_adr_value_type_code
30460 , p_transaction_coa_id => l_adr_transaction_coa_id
30461 , p_accounting_coa_id => l_adr_accounting_coa_id
30462 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30463 , p_adr_type_code => 'S'
30464 , p_component_type => l_component_type
30465 , p_component_code => l_component_code
30466 , p_component_type_code => l_component_type_code
30467 , p_component_appl_id => l_component_appl_id
30468 , p_amb_context_code => l_amb_context_code
30469 , p_side => 'NA'
30470 );
30471
30472
30473 --
30474 --
30475 END IF;
30476 --
30477 -- Bug 4922099
30478 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
30479 (NVL(l_enc_upg_option, 'N') = 'O')
30480 ) AND
30481 (l_bflow_method_code = 'PRIOR_ENTRY')
30482 )
30483 THEN
30484 IF
30485 --
30486 1 = 2
30487 --
30488 THEN
30489 xla_accounting_err_pkg.build_message
30490 (p_appli_s_name => 'XLA'
30491 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30492 ,p_token_1 => 'LINE_NUMBER'
30493 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
30494 ,p_token_2 => 'LINE_TYPE_NAME'
30495 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
30496 l_component_type
30497 ,l_component_code
30498 ,l_component_type_code
30499 ,l_component_appl_id
30500 ,l_amb_context_code
30501 ,l_entity_code
30502 ,l_event_class_code
30503 )
30504 ,p_token_3 => 'OWNER'
30505 ,p_value_3 => xla_lookups_pkg.get_meaning(
30506 p_lookup_type => 'XLA_OWNER_TYPE'
30507 ,p_lookup_code => l_component_type_code
30508 )
30509 ,p_token_4 => 'PRODUCT_NAME'
30510 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
30511 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
30512 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
30513 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
30514 ,p_ae_header_id => NULL
30515 );
30516
30517 IF (C_LEVEL_ERROR>= g_log_level) THEN
30518 trace
30519 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
30520 ,p_level => C_LEVEL_ERROR
30524 END IF;
30521 ,p_module => l_log_module);
30522 END IF;
30523 END IF;
30525 --
30526 --
30527 ------------------------------------------------------------------------------------------------
30528 -- 4219869 Business Flow
30529 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
30530 -- Prior Entry. Currently, the following code is always generated.
30531 ------------------------------------------------------------------------------------------------
30532 XLA_AE_LINES_PKG.ValidateCurrentLine;
30533
30534 ------------------------------------------------------------------------------------
30535 -- 4219869 Business Flow
30536 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
30537 ------------------------------------------------------------------------------------
30538 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30539
30540 ----------------------------------------------------------------------------------
30541 -- 4219869 Business Flow
30542 -- Update journal entry status -- Need to generate this within IF <condition>
30543 ----------------------------------------------------------------------------------
30544 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30545 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
30546 ,p_balance_type_code => l_balance_type_code
30547 );
30548
30549 -------------------------------------------------------------------------------------------
30550 -- 4262811 - Generate the Accrual Reversal lines
30551 -------------------------------------------------------------------------------------------
30552 BEGIN
30553 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
30554 (g_array_event(p_event_id).array_value_num('header_index'));
30555 IF l_acc_rev_flag IS NULL THEN
30556 l_acc_rev_flag := 'N';
30557 END IF;
30558 EXCEPTION
30559 WHEN OTHERS THEN
30560 l_acc_rev_flag := 'N';
30561 END;
30562 --
30563 IF (l_acc_rev_flag = 'Y') THEN
30564
30565 -- 4645092 ------------------------------------------------------------------------------
30566 -- To allow MPA report to determine if it should generate report process
30567 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
30568 ------------------------------------------------------------------------------------------
30569
30570 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
30571 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
30572 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
30573 -- call ADRs
30574 -- Bug 4922099
30575 --
30576 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
30577 (NVL(l_actual_upg_option, 'N') = 'O') OR
30578 (NVL(l_enc_upg_option, 'N') = 'O')
30579 )
30580 THEN
30581 NULL;
30582 --
30583 --
30584
30585 l_ccid := AcctDerRule_35(
30586 p_application_id => p_application_id
30587 , p_ae_header_id => l_ae_header_id
30588 , p_source_23 => p_source_23
30589 , x_transaction_coa_id => l_adr_transaction_coa_id
30590 , x_accounting_coa_id => l_adr_accounting_coa_id
30591 , x_value_type_code => l_adr_value_type_code
30592 , p_side => 'NA'
30593 );
30594
30595 xla_ae_lines_pkg.set_ccid(
30596 p_code_combination_id => l_ccid
30597 , p_value_type_code => l_adr_value_type_code
30598 , p_transaction_coa_id => l_adr_transaction_coa_id
30599 , p_accounting_coa_id => l_adr_accounting_coa_id
30600 , p_adr_code => 'AP_PMT_CASH_CLEAR'
30601 , p_adr_type_code => 'S'
30602 , p_component_type => l_component_type
30603 , p_component_code => l_component_code
30604 , p_component_type_code => l_component_type_code
30605 , p_component_appl_id => l_component_appl_id
30606 , p_amb_context_code => l_amb_context_code
30607 , p_side => 'NA'
30608 );
30609
30610
30611 --
30612 --
30613 END IF;
30614
30615 --
30616 -- Update the line information that should be overwritten
30617 --
30618 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
30619 p_header_num => 1);
30620 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
30621
30622 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
30623
30624 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
30625 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
30626 END IF;
30627
30628 --
30629 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
30630 --
30631 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
30632 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
30633 ELSE
30634 ---------------------------------------------------------------------------------------------------
30635 -- 4262811a Switch Sign
30636 ---------------------------------------------------------------------------------------------------
30640 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30637 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
30638 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
30639 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30641 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30642 -- 5132302
30643 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
30644 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
30645
30646 END IF;
30647
30648 -- 4955764
30649 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30650 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
30651
30652
30653 XLA_AE_LINES_PKG.ValidateCurrentLine;
30654 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
30655
30656 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
30657 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
30658 ,p_balance_type_code => l_balance_type_code);
30659
30660 END IF;
30661
30662 -----------------------------------------------------------------------------------------
30663 -- 4262811 Multiperiod Accounting
30664 -----------------------------------------------------------------------------------------
30665 -- No MPA option is assigned.
30666
30667
30668 END IF;
30669 END IF;
30670 --
30671
30672 --
30673 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30674 trace
30675 (p_msg => 'END of AcctLineType_78'
30676 ,p_level => C_LEVEL_PROCEDURE
30677 ,p_module => l_log_module);
30678 END IF;
30679 --
30680 EXCEPTION
30681 WHEN xla_exceptions_pkg.application_exception THEN
30682 RAISE;
30683 WHEN OTHERS THEN
30684 xla_exceptions_pkg.raise_message
30685 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_78');
30686 END AcctLineType_78;
30687 --
30688
30689 ---------------------------------------
30690 --
30691 -- PRIVATE FUNCTION
30692 -- AcctLineType_79
30693 --
30694 ---------------------------------------
30695 PROCEDURE AcctLineType_79 (
30696 p_application_id IN NUMBER
30697 ,p_event_id IN NUMBER
30698 ,p_calculate_acctd_flag IN VARCHAR2
30699 ,p_calculate_g_l_flag IN VARCHAR2
30700 ,p_actual_flag IN OUT VARCHAR2
30701 ,p_balance_type_code OUT VARCHAR2
30702 ,p_gain_or_loss_ref OUT VARCHAR2
30703
30704 --Bank Cash Clearing Account
30705 , p_source_23 IN NUMBER
30706 --Automatic Offsets Flag
30707 , p_source_35 IN VARCHAR2
30708 , p_source_35_meaning IN VARCHAR2
30709 --Accounting Reversal Indicator
30710 , p_source_41 IN VARCHAR2
30711 --Distribution Link Type
30712 , p_source_43 IN VARCHAR2
30713 --Override Accounted Amount Indicator
30714 , p_source_68 IN VARCHAR2
30715 , p_source_68_meaning IN VARCHAR2
30716 --Third Party Type
30717 , p_source_71 IN VARCHAR2
30718 --Business Flow Accounts Payable Application Identifier
30719 , p_source_79 IN NUMBER
30720 --When to Account for Payment Option
30721 , p_source_89 IN VARCHAR2
30722 --Payment Distribution Type
30723 , p_source_90 IN VARCHAR2
30724 , p_source_90_meaning IN VARCHAR2
30725 --Payment Distribution Amount
30726 , p_source_91 IN NUMBER
30727 --Business Flow Payment Distribution Type
30728 , p_source_92 IN VARCHAR2
30729 --Business Flow Payment Entity Code
30730 , p_source_93 IN VARCHAR2
30731 --Business Flow Payment Distribution Identifier
30732 , p_source_94 IN NUMBER
30733 --Business Flow Payment Identifier
30734 , p_source_95 IN NUMBER
30735 --Payment Distribution Identifier
30736 , p_source_96 IN NUMBER
30737 --Payment Supplier Identifier
30738 , p_source_102 IN NUMBER
30739 --Payment Supplier Site Identifier
30740 , p_source_103 IN NUMBER
30741 --Payment Distribution Reversed Identifier
30742 , p_source_104 IN NUMBER
30743 --Pooled Bank Account Option
30744 , p_source_105 IN VARCHAR2
30745 , p_source_105_meaning IN VARCHAR2
30746 --Payment Currency Code
30747 , p_source_106 IN VARCHAR2
30748 --Payment Maturity Date
30749 , p_source_107 IN DATE
30750 --Payment Exchange Date
30751 , p_source_110 IN DATE
30752 --Payment Exchange Rate
30753 , p_source_111 IN NUMBER
30754 --Payment Exchange Rate Type
30755 , p_source_112 IN VARCHAR2
30756 --Payment Distribution (Matured Rate) Ledger Amount
30757 , p_source_114 IN NUMBER
30758 )
30759 IS
30760
30761 l_component_type VARCHAR2(80);
30762 l_component_code VARCHAR2(30);
30763 l_component_type_code VARCHAR2(1);
30764 l_component_appl_id INTEGER;
30765 l_amb_context_code VARCHAR2(30);
30766 l_entity_code VARCHAR2(30);
30767 l_event_class_code VARCHAR2(30);
30768 l_ae_header_id NUMBER;
30772 --
30769 l_event_type_code VARCHAR2(30);
30770 l_line_definition_code VARCHAR2(30);
30771 l_line_definition_owner_code VARCHAR2(1);
30773 -- adr variables
30774 l_segment VARCHAR2(30);
30775 l_ccid NUMBER;
30776 l_adr_transaction_coa_id NUMBER;
30777 l_adr_accounting_coa_id NUMBER;
30778 l_adr_flexfield_segment_code VARCHAR2(30);
30779 l_adr_flex_value_set_id NUMBER;
30780 l_adr_value_type_code VARCHAR2(30);
30781 l_adr_value_combination_id NUMBER;
30782 l_adr_value_segment_code VARCHAR2(30);
30783
30784 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
30785 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
30786 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
30787 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
30788
30789 -- 4262811 Variables ------------------------------------------------------------------------------------------
30790 l_entered_amt_idx NUMBER;
30791 l_accted_amt_idx NUMBER;
30792 l_acc_rev_flag VARCHAR2(1);
30793 l_accrual_line_num NUMBER;
30794 l_tmp_amt NUMBER;
30795 l_acc_rev_natural_side_code VARCHAR2(1);
30796
30797 l_num_entries NUMBER;
30798 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
30799 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
30800 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
30801 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
30802 l_recog_line_1 NUMBER;
30803 l_recog_line_2 NUMBER;
30804
30805 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
30806 l_bflow_applied_to_amt NUMBER; -- 5132302
30807 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
30808
30809 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
30810
30811 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
30812 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
30813
30814 ---------------------------------------------------------------------------------------------------------------
30815
30816
30817 --
30818 -- bulk performance
30819 --
30820 l_balance_type_code VARCHAR2(1);
30821 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
30822 l_log_module VARCHAR2(240);
30823
30824 --
30825 -- Upgrade strategy
30826 --
30827 l_actual_upg_option VARCHAR2(1);
30828 l_enc_upg_option VARCHAR2(1);
30829
30830 --
30831 BEGIN
30832 --
30833 IF g_log_enabled THEN
30834 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_79';
30835 END IF;
30836 --
30837 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
30838
30839 trace
30840 (p_msg => 'BEGIN of AcctLineType_79'
30841 ,p_level => C_LEVEL_PROCEDURE
30842 ,p_module => l_log_module);
30843
30844 END IF;
30845 --
30846 l_component_type := 'AMB_JLT';
30847 l_component_code := 'AP_CASH_CLEAR_PMT_MAT';
30848 l_component_type_code := 'S';
30849 l_component_appl_id := 200;
30850 l_amb_context_code := 'DEFAULT';
30851 l_entity_code := 'AP_PAYMENTS';
30852 l_event_class_code := 'FUTURE DATED PAYMENTS';
30853 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
30854 l_line_definition_owner_code := 'S';
30855 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
30856 --
30857 l_balance_type_code := 'A';
30858 l_segment := NULL;
30859 l_ccid := NULL;
30860 l_adr_transaction_coa_id := NULL;
30861 l_adr_accounting_coa_id := NULL;
30862 l_adr_flexfield_segment_code := NULL;
30863 l_adr_flex_value_set_id := NULL;
30864 l_adr_value_type_code := NULL;
30865 l_adr_value_combination_id := NULL;
30866 l_adr_value_segment_code := NULL;
30867
30868 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
30869 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
30870 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
30871 l_budgetary_control_flag := 'N';
30872
30873 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30874 l_bflow_applied_to_amt := NULL; -- 5132302
30875 l_entered_amt_idx := NULL; -- 4262811
30876 l_accted_amt_idx := NULL; -- 4262811
30877 l_acc_rev_flag := NULL; -- 4262811
30878 l_accrual_line_num := NULL; -- 4262811
30879 l_tmp_amt := NULL; -- 4262811
30880 --
30881
30882 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
30883 l_balance_type_code <> 'B' THEN
30884 IF (NVL(p_source_89,'
30885 ') = 'ALWAYS_ALWAYS' OR
30886 NVL(p_source_89,'
30887 ') = 'ALWAYS_ISSUE') AND
30888 (NVL(p_source_35,'
30889 ') <> 'Y' OR
30890 NVL(p_source_35,'
30891 ') = 'Y' AND
30892 NVL(p_source_105,'
30893 ') <> 'Y') AND
30894 p_source_107 IS NOT NULL AND
30895 NVL(p_source_90,'
30896 ') = 'CASH'
30897 THEN
30898
30899 --
30900 XLA_AE_LINES_PKG.SetNewLine;
30904
30901
30902 p_balance_type_code := l_balance_type_code;
30903 -- set the flag so later we will know whether the gain loss line needs to be created
30905 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
30906 p_actual_flag :='A';
30907 END IF;
30908
30909 --
30910 -- bulk performance
30911 --
30912 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
30913 p_header_num => 0); -- 4262811
30914 --
30915 -- set accounting line options
30916 --
30917 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
30918 p_natural_side_code => 'C'
30919 , p_gain_or_loss_flag => 'N'
30920 , p_gl_transfer_mode_code => 'S'
30921 , p_acct_entry_type_code => 'A'
30922 , p_switch_side_flag => 'Y'
30923 , p_merge_duplicate_code => 'A'
30924 );
30925 --
30926 l_acc_rev_natural_side_code := 'D'; -- 4262811
30927 --
30928 --
30929 -- set accounting line type info
30930 --
30931 xla_ae_lines_pkg.SetAcctLineType
30932 (p_component_type => l_component_type
30933 ,p_event_type_code => l_event_type_code
30934 ,p_line_definition_owner_code => l_line_definition_owner_code
30935 ,p_line_definition_code => l_line_definition_code
30936 ,p_accounting_line_code => l_component_code
30937 ,p_accounting_line_type_code => l_component_type_code
30938 ,p_accounting_line_appl_id => l_component_appl_id
30939 ,p_amb_context_code => l_amb_context_code
30940 ,p_entity_code => l_entity_code
30941 ,p_event_class_code => l_event_class_code);
30942 --
30943 -- set accounting class
30944 --
30945 xla_ae_lines_pkg.SetAcctClass(
30946 p_accounting_class_code => 'CASH_CLEARING'
30947 , p_ae_header_id => l_ae_header_id
30948 );
30949
30950 --
30951 -- set rounding class
30952 --
30953 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
30954 'CASH_CLEARING';
30955
30956 --
30957 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
30958 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
30959 --
30960 -- bulk performance
30961 --
30962 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
30963
30964 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
30965 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
30966
30967 -- 4955764
30968 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
30969 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
30970
30971 -- 4458381 Public Sector Enh
30972
30973 --
30974 -- set accounting attributes for the line type
30975 --
30976 l_entered_amt_idx := 9;
30977 l_accted_amt_idx := 14;
30978 l_bflow_applied_to_amt_idx := NULL; -- 5132302
30979 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
30980 l_rec_acct_attrs.array_char_value(1) := p_source_41;
30981 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
30982 l_rec_acct_attrs.array_num_value(2) := p_source_79;
30983 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
30984 l_rec_acct_attrs.array_char_value(3) := p_source_92;
30985 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
30986 l_rec_acct_attrs.array_char_value(4) := p_source_93;
30987 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
30988 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
30989 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
30990 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
30991 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
30992 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
30993 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
30994 l_rec_acct_attrs.array_char_value(8) := p_source_43;
30995 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
30996 l_rec_acct_attrs.array_num_value(9) := p_source_91;
30997 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
30998 l_rec_acct_attrs.array_char_value(10) := p_source_106;
30999 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31000 l_rec_acct_attrs.array_date_value(11) := p_source_110;
31001 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31002 l_rec_acct_attrs.array_num_value(12) := p_source_111;
31003 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31004 l_rec_acct_attrs.array_char_value(13) := p_source_112;
31005 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31006 l_rec_acct_attrs.array_num_value(14) := p_source_114;
31007 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31008 l_rec_acct_attrs.array_char_value(15) := p_source_68;
31009 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31010 l_rec_acct_attrs.array_num_value(16) := p_source_102;
31011 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31015 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31012 l_rec_acct_attrs.array_num_value(17) := p_source_103;
31013 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31014 l_rec_acct_attrs.array_char_value(18) := p_source_71;
31016 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
31017 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31018 l_rec_acct_attrs.array_char_value(20) := p_source_43;
31019
31020 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31021 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31022
31023 ---------------------------------------------------------------------------------------------------------------
31024 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31025 ---------------------------------------------------------------------------------------------------------------
31026 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31027
31028 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31029 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31030
31031 IF xla_accounting_cache_pkg.GetValueChar
31032 (p_source_code => 'LEDGER_CATEGORY_CODE'
31033 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31034 AND l_bflow_method_code = 'PRIOR_ENTRY'
31035 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31036 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31037 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31038 )
31039 THEN
31040 xla_ae_lines_pkg.BflowUpgEntry
31041 (p_business_method_code => l_bflow_method_code
31042 ,p_business_class_code => l_bflow_class_code
31043 ,p_balance_type => l_balance_type_code);
31044 ELSE
31045 NULL;
31046 -- No business flow processing for business flow method of NONE.
31047 END IF;
31048
31049 --
31050 -- call analytical criteria
31051 --
31052
31053 --
31054 -- call description
31055 --
31056 -- No description or it is inherited.
31057 --
31058 -- call ADRs
31059 -- Bug 4922099
31060 --
31061 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31062 (NVL(l_actual_upg_option, 'N') = 'O') OR
31063 (NVL(l_enc_upg_option, 'N') = 'O')
31064 )
31065 THEN
31066 NULL;
31067 --
31068 --
31069
31070 l_ccid := AcctDerRule_35(
31071 p_application_id => p_application_id
31072 , p_ae_header_id => l_ae_header_id
31073 , p_source_23 => p_source_23
31074 , x_transaction_coa_id => l_adr_transaction_coa_id
31075 , x_accounting_coa_id => l_adr_accounting_coa_id
31076 , x_value_type_code => l_adr_value_type_code
31077 , p_side => 'NA'
31078 );
31079
31080 xla_ae_lines_pkg.set_ccid(
31081 p_code_combination_id => l_ccid
31082 , p_value_type_code => l_adr_value_type_code
31083 , p_transaction_coa_id => l_adr_transaction_coa_id
31084 , p_accounting_coa_id => l_adr_accounting_coa_id
31085 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31086 , p_adr_type_code => 'S'
31087 , p_component_type => l_component_type
31088 , p_component_code => l_component_code
31089 , p_component_type_code => l_component_type_code
31090 , p_component_appl_id => l_component_appl_id
31091 , p_amb_context_code => l_amb_context_code
31092 , p_side => 'NA'
31093 );
31094
31095
31096 --
31097 --
31098 END IF;
31099 --
31100 -- Bug 4922099
31101 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31102 (NVL(l_enc_upg_option, 'N') = 'O')
31103 ) AND
31104 (l_bflow_method_code = 'PRIOR_ENTRY')
31105 )
31106 THEN
31107 IF
31108 --
31109 1 = 2
31110 --
31111 THEN
31112 xla_accounting_err_pkg.build_message
31113 (p_appli_s_name => 'XLA'
31114 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31115 ,p_token_1 => 'LINE_NUMBER'
31116 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31117 ,p_token_2 => 'LINE_TYPE_NAME'
31118 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31119 l_component_type
31120 ,l_component_code
31121 ,l_component_type_code
31122 ,l_component_appl_id
31123 ,l_amb_context_code
31124 ,l_entity_code
31128 ,p_value_3 => xla_lookups_pkg.get_meaning(
31125 ,l_event_class_code
31126 )
31127 ,p_token_3 => 'OWNER'
31129 p_lookup_type => 'XLA_OWNER_TYPE'
31130 ,p_lookup_code => l_component_type_code
31131 )
31132 ,p_token_4 => 'PRODUCT_NAME'
31133 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31134 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31135 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31136 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31137 ,p_ae_header_id => NULL
31138 );
31139
31140 IF (C_LEVEL_ERROR>= g_log_level) THEN
31141 trace
31142 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31143 ,p_level => C_LEVEL_ERROR
31144 ,p_module => l_log_module);
31145 END IF;
31146 END IF;
31147 END IF;
31148 --
31149 --
31150 ------------------------------------------------------------------------------------------------
31151 -- 4219869 Business Flow
31152 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31153 -- Prior Entry. Currently, the following code is always generated.
31154 ------------------------------------------------------------------------------------------------
31155 XLA_AE_LINES_PKG.ValidateCurrentLine;
31156
31157 ------------------------------------------------------------------------------------
31158 -- 4219869 Business Flow
31159 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31160 ------------------------------------------------------------------------------------
31161 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31162
31163 ----------------------------------------------------------------------------------
31164 -- 4219869 Business Flow
31165 -- Update journal entry status -- Need to generate this within IF <condition>
31166 ----------------------------------------------------------------------------------
31167 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31168 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31169 ,p_balance_type_code => l_balance_type_code
31170 );
31171
31172 -------------------------------------------------------------------------------------------
31173 -- 4262811 - Generate the Accrual Reversal lines
31174 -------------------------------------------------------------------------------------------
31175 BEGIN
31176 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31177 (g_array_event(p_event_id).array_value_num('header_index'));
31178 IF l_acc_rev_flag IS NULL THEN
31179 l_acc_rev_flag := 'N';
31180 END IF;
31181 EXCEPTION
31182 WHEN OTHERS THEN
31183 l_acc_rev_flag := 'N';
31184 END;
31185 --
31186 IF (l_acc_rev_flag = 'Y') THEN
31187
31188 -- 4645092 ------------------------------------------------------------------------------
31189 -- To allow MPA report to determine if it should generate report process
31190 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31191 ------------------------------------------------------------------------------------------
31192
31193 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31194 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31195 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31196 -- call ADRs
31197 -- Bug 4922099
31198 --
31199 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31200 (NVL(l_actual_upg_option, 'N') = 'O') OR
31201 (NVL(l_enc_upg_option, 'N') = 'O')
31202 )
31203 THEN
31204 NULL;
31205 --
31206 --
31207
31208 l_ccid := AcctDerRule_35(
31209 p_application_id => p_application_id
31210 , p_ae_header_id => l_ae_header_id
31211 , p_source_23 => p_source_23
31212 , x_transaction_coa_id => l_adr_transaction_coa_id
31213 , x_accounting_coa_id => l_adr_accounting_coa_id
31214 , x_value_type_code => l_adr_value_type_code
31215 , p_side => 'NA'
31216 );
31217
31218 xla_ae_lines_pkg.set_ccid(
31219 p_code_combination_id => l_ccid
31220 , p_value_type_code => l_adr_value_type_code
31221 , p_transaction_coa_id => l_adr_transaction_coa_id
31222 , p_accounting_coa_id => l_adr_accounting_coa_id
31223 , p_adr_code => 'AP_PMT_CASH_CLEAR'
31224 , p_adr_type_code => 'S'
31228 , p_component_appl_id => l_component_appl_id
31225 , p_component_type => l_component_type
31226 , p_component_code => l_component_code
31227 , p_component_type_code => l_component_type_code
31229 , p_amb_context_code => l_amb_context_code
31230 , p_side => 'NA'
31231 );
31232
31233
31234 --
31235 --
31236 END IF;
31237
31238 --
31239 -- Update the line information that should be overwritten
31240 --
31241 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
31242 p_header_num => 1);
31243 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
31244
31245 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
31246
31247 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
31248 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
31249 END IF;
31250
31251 --
31252 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
31253 --
31254 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
31255 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
31256 ELSE
31257 ---------------------------------------------------------------------------------------------------
31258 -- 4262811a Switch Sign
31259 ---------------------------------------------------------------------------------------------------
31260 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
31261 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31262 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31263 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
31264 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31265 -- 5132302
31266 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
31267 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
31268
31269 END IF;
31270
31271 -- 4955764
31272 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31273 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
31274
31275
31276 XLA_AE_LINES_PKG.ValidateCurrentLine;
31277 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31278
31279 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31280 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
31281 ,p_balance_type_code => l_balance_type_code);
31282
31283 END IF;
31284
31285 -----------------------------------------------------------------------------------------
31286 -- 4262811 Multiperiod Accounting
31287 -----------------------------------------------------------------------------------------
31288 -- No MPA option is assigned.
31289
31290
31291 END IF;
31292 END IF;
31293 --
31294
31295 --
31296 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31297 trace
31298 (p_msg => 'END of AcctLineType_79'
31299 ,p_level => C_LEVEL_PROCEDURE
31300 ,p_module => l_log_module);
31301 END IF;
31302 --
31303 EXCEPTION
31304 WHEN xla_exceptions_pkg.application_exception THEN
31305 RAISE;
31306 WHEN OTHERS THEN
31307 xla_exceptions_pkg.raise_message
31308 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_79');
31309 END AcctLineType_79;
31310 --
31311
31312 ---------------------------------------
31313 --
31314 -- PRIVATE FUNCTION
31315 -- AcctLineType_80
31316 --
31317 ---------------------------------------
31318 PROCEDURE AcctLineType_80 (
31319 p_application_id IN NUMBER
31320 ,p_event_id IN NUMBER
31321 ,p_calculate_acctd_flag IN VARCHAR2
31322 ,p_calculate_g_l_flag IN VARCHAR2
31323 ,p_actual_flag IN OUT VARCHAR2
31324 ,p_balance_type_code OUT VARCHAR2
31325 ,p_gain_or_loss_ref OUT VARCHAR2
31326
31327 --Automatic Offsets Value
31328 , p_source_3 IN VARCHAR2
31329 , p_source_3_meaning IN VARCHAR2
31330 --Bank Cash Clearing Account
31331 , p_source_23 IN NUMBER
31332 --Accounting Reversal Indicator
31333 , p_source_41 IN VARCHAR2
31334 --Distribution Link Type
31335 , p_source_43 IN VARCHAR2
31336 --Override Accounted Amount Indicator
31337 , p_source_68 IN VARCHAR2
31338 , p_source_68_meaning IN VARCHAR2
31339 --Third Party Type
31340 , p_source_71 IN VARCHAR2
31341 --Business Flow Accounts Payable Application Identifier
31342 , p_source_79 IN NUMBER
31343 --When to Account for Payment Option
31344 , p_source_89 IN VARCHAR2
31345 --Payment Distribution Type
31346 , p_source_90 IN VARCHAR2
31347 , p_source_90_meaning IN VARCHAR2
31348 --Payment Distribution Amount
31352 --Business Flow Payment Entity Code
31349 , p_source_91 IN NUMBER
31350 --Business Flow Payment Distribution Type
31351 , p_source_92 IN VARCHAR2
31353 , p_source_93 IN VARCHAR2
31354 --Business Flow Payment Distribution Identifier
31355 , p_source_94 IN NUMBER
31356 --Business Flow Payment Identifier
31357 , p_source_95 IN NUMBER
31358 --Payment Distribution Identifier
31359 , p_source_96 IN NUMBER
31360 --Payment Supplier Identifier
31361 , p_source_102 IN NUMBER
31362 --Payment Supplier Site Identifier
31363 , p_source_103 IN NUMBER
31364 --Payment Distribution Reversed Identifier
31365 , p_source_104 IN NUMBER
31366 --Pooled Bank Account Option
31367 , p_source_105 IN VARCHAR2
31368 , p_source_105_meaning IN VARCHAR2
31369 --Payment Currency Code
31370 , p_source_106 IN VARCHAR2
31371 --Payment Maturity Date
31372 , p_source_107 IN DATE
31373 --Payment Exchange Date
31374 , p_source_110 IN DATE
31375 --Payment Exchange Rate
31376 , p_source_111 IN NUMBER
31377 --Payment Exchange Rate Type
31378 , p_source_112 IN VARCHAR2
31379 --Payment Distribution (Matured Rate) Ledger Amount
31380 , p_source_114 IN NUMBER
31381 )
31382 IS
31383
31384 l_component_type VARCHAR2(80);
31385 l_component_code VARCHAR2(30);
31386 l_component_type_code VARCHAR2(1);
31387 l_component_appl_id INTEGER;
31388 l_amb_context_code VARCHAR2(30);
31389 l_entity_code VARCHAR2(30);
31390 l_event_class_code VARCHAR2(30);
31391 l_ae_header_id NUMBER;
31392 l_event_type_code VARCHAR2(30);
31393 l_line_definition_code VARCHAR2(30);
31394 l_line_definition_owner_code VARCHAR2(1);
31395 --
31396 -- adr variables
31397 l_segment VARCHAR2(30);
31398 l_ccid NUMBER;
31399 l_adr_transaction_coa_id NUMBER;
31400 l_adr_accounting_coa_id NUMBER;
31401 l_adr_flexfield_segment_code VARCHAR2(30);
31402 l_adr_flex_value_set_id NUMBER;
31403 l_adr_value_type_code VARCHAR2(30);
31404 l_adr_value_combination_id NUMBER;
31405 l_adr_value_segment_code VARCHAR2(30);
31406
31407 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
31408 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
31409 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
31410 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
31411
31412 -- 4262811 Variables ------------------------------------------------------------------------------------------
31413 l_entered_amt_idx NUMBER;
31414 l_accted_amt_idx NUMBER;
31415 l_acc_rev_flag VARCHAR2(1);
31416 l_accrual_line_num NUMBER;
31417 l_tmp_amt NUMBER;
31418 l_acc_rev_natural_side_code VARCHAR2(1);
31419
31420 l_num_entries NUMBER;
31421 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
31422 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
31423 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
31424 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
31425 l_recog_line_1 NUMBER;
31426 l_recog_line_2 NUMBER;
31427
31428 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
31429 l_bflow_applied_to_amt NUMBER; -- 5132302
31430 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
31431
31432 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
31433
31434 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
31435 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
31436
31437 ---------------------------------------------------------------------------------------------------------------
31438
31439
31440 --
31441 -- bulk performance
31442 --
31443 l_balance_type_code VARCHAR2(1);
31444 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
31445 l_log_module VARCHAR2(240);
31446
31447 --
31448 -- Upgrade strategy
31449 --
31450 l_actual_upg_option VARCHAR2(1);
31451 l_enc_upg_option VARCHAR2(1);
31452
31453 --
31454 BEGIN
31455 --
31456 IF g_log_enabled THEN
31457 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_80';
31458 END IF;
31459 --
31460 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
31461
31462 trace
31463 (p_msg => 'BEGIN of AcctLineType_80'
31464 ,p_level => C_LEVEL_PROCEDURE
31465 ,p_module => l_log_module);
31466
31467 END IF;
31468 --
31469 l_component_type := 'AMB_JLT';
31470 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_AS';
31471 l_component_type_code := 'S';
31472 l_component_appl_id := 200;
31473 l_amb_context_code := 'DEFAULT';
31474 l_entity_code := 'AP_PAYMENTS';
31475 l_event_class_code := 'FUTURE DATED PAYMENTS';
31479 --
31476 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
31477 l_line_definition_owner_code := 'S';
31478 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
31480 l_balance_type_code := 'A';
31481 l_segment := NULL;
31482 l_ccid := NULL;
31483 l_adr_transaction_coa_id := NULL;
31484 l_adr_accounting_coa_id := NULL;
31485 l_adr_flexfield_segment_code := NULL;
31486 l_adr_flex_value_set_id := NULL;
31487 l_adr_value_type_code := NULL;
31488 l_adr_value_combination_id := NULL;
31489 l_adr_value_segment_code := NULL;
31490
31491 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
31492 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
31493 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
31494 l_budgetary_control_flag := 'N';
31495
31496 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31497 l_bflow_applied_to_amt := NULL; -- 5132302
31498 l_entered_amt_idx := NULL; -- 4262811
31499 l_accted_amt_idx := NULL; -- 4262811
31500 l_acc_rev_flag := NULL; -- 4262811
31501 l_accrual_line_num := NULL; -- 4262811
31502 l_tmp_amt := NULL; -- 4262811
31503 --
31504
31505 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
31506 l_balance_type_code <> 'B' THEN
31507 IF (NVL(p_source_89,'
31508 ') = 'ALWAYS_ALWAYS' OR
31509 NVL(p_source_89,'
31510 ') = 'ALWAYS_ISSUE') AND
31511 (NVL(p_source_105,'
31512 ') = 'Y' AND
31513 NVL(p_source_3,'
31514 ') = 'ACCOUNT_SEGMENT_VALUE') AND
31515 p_source_107 IS NOT NULL AND
31516 NVL(p_source_90,'
31517 ') = 'CASH'
31518 THEN
31519
31520 --
31521 XLA_AE_LINES_PKG.SetNewLine;
31522
31523 p_balance_type_code := l_balance_type_code;
31524 -- set the flag so later we will know whether the gain loss line needs to be created
31525
31526 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
31527 p_actual_flag :='A';
31528 END IF;
31529
31530 --
31531 -- bulk performance
31532 --
31533 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
31534 p_header_num => 0); -- 4262811
31535 --
31536 -- set accounting line options
31537 --
31538 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
31539 p_natural_side_code => 'C'
31540 , p_gain_or_loss_flag => 'N'
31541 , p_gl_transfer_mode_code => 'S'
31542 , p_acct_entry_type_code => 'A'
31543 , p_switch_side_flag => 'Y'
31544 , p_merge_duplicate_code => 'A'
31545 );
31546 --
31547 l_acc_rev_natural_side_code := 'D'; -- 4262811
31548 --
31549 --
31550 -- set accounting line type info
31551 --
31552 xla_ae_lines_pkg.SetAcctLineType
31553 (p_component_type => l_component_type
31554 ,p_event_type_code => l_event_type_code
31555 ,p_line_definition_owner_code => l_line_definition_owner_code
31556 ,p_line_definition_code => l_line_definition_code
31557 ,p_accounting_line_code => l_component_code
31558 ,p_accounting_line_type_code => l_component_type_code
31559 ,p_accounting_line_appl_id => l_component_appl_id
31560 ,p_amb_context_code => l_amb_context_code
31561 ,p_entity_code => l_entity_code
31562 ,p_event_class_code => l_event_class_code);
31563 --
31564 -- set accounting class
31565 --
31566 xla_ae_lines_pkg.SetAcctClass(
31567 p_accounting_class_code => 'CASH_CLEARING'
31568 , p_ae_header_id => l_ae_header_id
31569 );
31570
31571 --
31572 -- set rounding class
31573 --
31574 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
31575 'CASH_CLEARING';
31576
31577 --
31578 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
31579 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
31580 --
31581 -- bulk performance
31582 --
31583 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
31584
31585 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
31586 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
31587
31588 -- 4955764
31589 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
31590 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
31591
31592 -- 4458381 Public Sector Enh
31593
31594 --
31595 -- set accounting attributes for the line type
31596 --
31597 l_entered_amt_idx := 9;
31598 l_accted_amt_idx := 14;
31599 l_bflow_applied_to_amt_idx := NULL; -- 5132302
31600 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
31601 l_rec_acct_attrs.array_char_value(1) := p_source_41;
31602 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
31603 l_rec_acct_attrs.array_num_value(2) := p_source_79;
31604 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
31608 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
31605 l_rec_acct_attrs.array_char_value(3) := p_source_92;
31606 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
31607 l_rec_acct_attrs.array_char_value(4) := p_source_93;
31609 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
31610 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
31611 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
31612 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
31613 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
31614 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
31615 l_rec_acct_attrs.array_char_value(8) := p_source_43;
31616 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
31617 l_rec_acct_attrs.array_num_value(9) := p_source_91;
31618 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
31619 l_rec_acct_attrs.array_char_value(10) := p_source_106;
31620 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
31621 l_rec_acct_attrs.array_date_value(11) := p_source_110;
31622 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
31623 l_rec_acct_attrs.array_num_value(12) := p_source_111;
31624 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
31625 l_rec_acct_attrs.array_char_value(13) := p_source_112;
31626 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
31627 l_rec_acct_attrs.array_num_value(14) := p_source_114;
31628 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
31629 l_rec_acct_attrs.array_char_value(15) := p_source_68;
31630 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
31631 l_rec_acct_attrs.array_num_value(16) := p_source_102;
31632 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
31633 l_rec_acct_attrs.array_num_value(17) := p_source_103;
31634 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
31635 l_rec_acct_attrs.array_char_value(18) := p_source_71;
31636 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
31637 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
31638 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
31639 l_rec_acct_attrs.array_char_value(20) := p_source_43;
31640
31641 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
31642 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
31643
31644 ---------------------------------------------------------------------------------------------------------------
31645 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
31646 ---------------------------------------------------------------------------------------------------------------
31647 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
31648
31649 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31650 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
31651
31652 IF xla_accounting_cache_pkg.GetValueChar
31653 (p_source_code => 'LEDGER_CATEGORY_CODE'
31654 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
31655 AND l_bflow_method_code = 'PRIOR_ENTRY'
31656 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
31657 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
31658 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
31659 )
31660 THEN
31661 xla_ae_lines_pkg.BflowUpgEntry
31662 (p_business_method_code => l_bflow_method_code
31663 ,p_business_class_code => l_bflow_class_code
31664 ,p_balance_type => l_balance_type_code);
31665 ELSE
31666 NULL;
31667 XLA_AE_LINES_PKG.business_flow_validation(
31668 p_business_method_code => l_bflow_method_code
31669 ,p_business_class_code => l_bflow_class_code
31670 ,p_inherit_description_flag => l_inherit_desc_flag);
31671 END IF;
31672
31673 --
31674 -- call analytical criteria
31675 --
31676
31677 --
31678 -- call description
31679 --
31680 -- No description or it is inherited.
31681 --
31682 -- call ADRs
31683 -- Bug 4922099
31684 --
31685 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31686 (NVL(l_actual_upg_option, 'N') = 'O') OR
31687 (NVL(l_enc_upg_option, 'N') = 'O')
31688 )
31689 THEN
31690 NULL;
31691 --
31692 --
31693
31694 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
31695 p_code_combination_id => TO_NUMBER(C_NUM)
31696 , p_value_type_code => NULL
31697 , p_transaction_coa_id => null
31698 , p_accounting_coa_id => null
31699 , p_adr_code => NULL
31700 , p_adr_type_code => NULL
31701 , p_component_type => l_component_type
31702 , p_component_code => l_component_code
31703 , p_component_type_code => l_component_type_code
31704 , p_component_appl_id => l_component_appl_id
31705 , p_amb_context_code => l_amb_context_code
31706 , p_side => NULL
31707 );
31708
31709
31710 -- initialise segments
31714 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31711 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31712 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31713 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31715 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31716 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31717 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31718 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31719 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31720 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31721 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31722 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31723 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31724 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31725 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31726 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31727 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31728 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31729 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31730 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31731 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31732 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31733 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31734 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31735 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31736 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31737 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31738 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31739 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31740 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31741 --
31742
31743 --
31744
31745
31746 l_segment := AcctDerRule_15(
31747 p_application_id => p_application_id
31748 , p_ae_header_id => l_ae_header_id
31749 , p_source_23 => p_source_23
31750 , x_transaction_coa_id => l_adr_transaction_coa_id
31751 , x_accounting_coa_id => l_adr_accounting_coa_id
31752 , x_flexfield_segment_code => l_adr_flexfield_segment_code
31753 , x_flex_value_set_id => l_adr_flex_value_set_id
31754 , x_value_type_code => l_adr_value_type_code
31755 , x_value_combination_id => l_adr_value_combination_id
31756 , x_value_segment_code => l_adr_value_segment_code
31757 , p_side => 'NA'
31758 , p_override_seg_flag => 'Y'
31759 );
31760
31761 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
31762
31763 xla_ae_lines_pkg.set_segment(
31764 p_to_segment_code => 'GL_ACCOUNT'
31765 , p_segment_value => l_segment
31766 , p_from_segment_code => l_adr_value_segment_code
31767 , p_from_combination_id => l_adr_value_combination_id
31768 , p_value_type_code => l_adr_value_type_code
31769 , p_transaction_coa_id => l_adr_transaction_coa_id
31770 , p_accounting_coa_id => l_adr_accounting_coa_id
31771 , p_flexfield_segment_code => l_adr_flexfield_segment_code
31772 , p_flex_value_set_id => l_adr_flex_value_set_id
31773 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
31774 , p_adr_type_code => 'S'
31775 , p_component_type => l_component_type
31776 , p_component_code => l_component_code
31777 , p_component_type_code => l_component_type_code
31778 , p_component_appl_id => l_component_appl_id
31779 , p_amb_context_code => l_amb_context_code
31780 , p_entity_code => 'AP_PAYMENTS'
31781 , p_event_class_code => 'FUTURE DATED PAYMENTS'
31782 , p_side => 'NA'
31783 );
31784
31785 END IF;
31786
31787 --
31788 --
31789 END IF;
31790 --
31791 -- Bug 4922099
31792 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
31793 (NVL(l_enc_upg_option, 'N') = 'O')
31794 ) AND
31795 (l_bflow_method_code = 'PRIOR_ENTRY')
31796 )
31797 THEN
31798 IF
31799 --
31800 1 = 2
31801 --
31802 THEN
31803 xla_accounting_err_pkg.build_message
31804 (p_appli_s_name => 'XLA'
31805 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31809 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
31806 ,p_token_1 => 'LINE_NUMBER'
31807 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
31808 ,p_token_2 => 'LINE_TYPE_NAME'
31810 l_component_type
31811 ,l_component_code
31812 ,l_component_type_code
31813 ,l_component_appl_id
31814 ,l_amb_context_code
31815 ,l_entity_code
31816 ,l_event_class_code
31817 )
31818 ,p_token_3 => 'OWNER'
31819 ,p_value_3 => xla_lookups_pkg.get_meaning(
31820 p_lookup_type => 'XLA_OWNER_TYPE'
31821 ,p_lookup_code => l_component_type_code
31822 )
31823 ,p_token_4 => 'PRODUCT_NAME'
31824 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
31825 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
31826 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
31827 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
31828 ,p_ae_header_id => NULL
31829 );
31830
31831 IF (C_LEVEL_ERROR>= g_log_level) THEN
31832 trace
31833 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
31834 ,p_level => C_LEVEL_ERROR
31835 ,p_module => l_log_module);
31836 END IF;
31837 END IF;
31838 END IF;
31839 --
31840 --
31841 ------------------------------------------------------------------------------------------------
31842 -- 4219869 Business Flow
31843 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
31844 -- Prior Entry. Currently, the following code is always generated.
31845 ------------------------------------------------------------------------------------------------
31846 XLA_AE_LINES_PKG.ValidateCurrentLine;
31847
31848 ------------------------------------------------------------------------------------
31849 -- 4219869 Business Flow
31850 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
31851 ------------------------------------------------------------------------------------
31852 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
31853
31854 ----------------------------------------------------------------------------------
31855 -- 4219869 Business Flow
31856 -- Update journal entry status -- Need to generate this within IF <condition>
31857 ----------------------------------------------------------------------------------
31858 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
31859 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
31860 ,p_balance_type_code => l_balance_type_code
31861 );
31862
31863 -------------------------------------------------------------------------------------------
31864 -- 4262811 - Generate the Accrual Reversal lines
31865 -------------------------------------------------------------------------------------------
31866 BEGIN
31867 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
31868 (g_array_event(p_event_id).array_value_num('header_index'));
31869 IF l_acc_rev_flag IS NULL THEN
31870 l_acc_rev_flag := 'N';
31871 END IF;
31872 EXCEPTION
31873 WHEN OTHERS THEN
31874 l_acc_rev_flag := 'N';
31875 END;
31876 --
31877 IF (l_acc_rev_flag = 'Y') THEN
31878
31879 -- 4645092 ------------------------------------------------------------------------------
31880 -- To allow MPA report to determine if it should generate report process
31881 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
31882 ------------------------------------------------------------------------------------------
31883
31884 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
31885 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
31886 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
31887 -- call ADRs
31888 -- Bug 4922099
31889 --
31890 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
31891 (NVL(l_actual_upg_option, 'N') = 'O') OR
31892 (NVL(l_enc_upg_option, 'N') = 'O')
31893 )
31894 THEN
31895 NULL;
31896 --
31897 --
31898
31899 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
31903 , p_accounting_coa_id => null
31900 p_code_combination_id => TO_NUMBER(C_NUM)
31901 , p_value_type_code => NULL
31902 , p_transaction_coa_id => null
31904 , p_adr_code => NULL
31905 , p_adr_type_code => NULL
31906 , p_component_type => l_component_type
31907 , p_component_code => l_component_code
31908 , p_component_type_code => l_component_type_code
31909 , p_component_appl_id => l_component_appl_id
31910 , p_amb_context_code => l_amb_context_code
31911 , p_side => NULL
31912 );
31913
31914
31915 -- initialise segments
31916 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31917 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31918 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31919 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31920 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31921 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31922 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31923 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31924 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31925 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31926 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31927 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31928 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31929 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31930 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31931 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31932 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31933 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31934 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31935 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31936 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31937 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31938 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31939 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31940 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31941 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31942 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31943 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31944 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31945 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
31946 --
31947
31948 --
31949
31950
31951 l_segment := AcctDerRule_15(
31952 p_application_id => p_application_id
31953 , p_ae_header_id => l_ae_header_id
31954 , p_source_23 => p_source_23
31955 , x_transaction_coa_id => l_adr_transaction_coa_id
31956 , x_accounting_coa_id => l_adr_accounting_coa_id
31957 , x_flexfield_segment_code => l_adr_flexfield_segment_code
31958 , x_flex_value_set_id => l_adr_flex_value_set_id
31959 , x_value_type_code => l_adr_value_type_code
31960 , x_value_combination_id => l_adr_value_combination_id
31961 , x_value_segment_code => l_adr_value_segment_code
31962 , p_side => 'NA'
31963 , p_override_seg_flag => 'Y'
31964 );
31965
31966 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
31967
31968 xla_ae_lines_pkg.set_segment(
31969 p_to_segment_code => 'GL_ACCOUNT'
31970 , p_segment_value => l_segment
31971 , p_from_segment_code => l_adr_value_segment_code
31972 , p_from_combination_id => l_adr_value_combination_id
31973 , p_value_type_code => l_adr_value_type_code
31974 , p_transaction_coa_id => l_adr_transaction_coa_id
31975 , p_accounting_coa_id => l_adr_accounting_coa_id
31976 , p_flexfield_segment_code => l_adr_flexfield_segment_code
31977 , p_flex_value_set_id => l_adr_flex_value_set_id
31978 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
31979 , p_adr_type_code => 'S'
31980 , p_component_type => l_component_type
31981 , p_component_code => l_component_code
31982 , p_component_type_code => l_component_type_code
31983 , p_component_appl_id => l_component_appl_id
31984 , p_amb_context_code => l_amb_context_code
31985 , p_entity_code => 'AP_PAYMENTS'
31986 , p_event_class_code => 'FUTURE DATED PAYMENTS'
31987 , p_side => 'NA'
31988 );
31989
31990 END IF;
31991
31995
31992 --
31993 --
31994 END IF;
31996 --
31997 -- Update the line information that should be overwritten
31998 --
31999 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32000 p_header_num => 1);
32001 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32002
32003 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32004
32005 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32006 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32007 END IF;
32008
32009 --
32010 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32011 --
32012 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32013 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32014 ELSE
32015 ---------------------------------------------------------------------------------------------------
32016 -- 4262811a Switch Sign
32017 ---------------------------------------------------------------------------------------------------
32018 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32019 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32020 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32021 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32022 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32023 -- 5132302
32024 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32025 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32026
32027 END IF;
32028
32029 -- 4955764
32030 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32031 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32032
32033
32034 XLA_AE_LINES_PKG.ValidateCurrentLine;
32035 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32036
32037 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32038 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32039 ,p_balance_type_code => l_balance_type_code);
32040
32041 END IF;
32042
32043 -----------------------------------------------------------------------------------------
32044 -- 4262811 Multiperiod Accounting
32045 -----------------------------------------------------------------------------------------
32046 -- No MPA option is assigned.
32047
32048
32049 END IF;
32050 END IF;
32051 --
32052
32053 --
32054 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32055 trace
32056 (p_msg => 'END of AcctLineType_80'
32057 ,p_level => C_LEVEL_PROCEDURE
32058 ,p_module => l_log_module);
32059 END IF;
32060 --
32061 EXCEPTION
32062 WHEN xla_exceptions_pkg.application_exception THEN
32063 RAISE;
32064 WHEN OTHERS THEN
32065 xla_exceptions_pkg.raise_message
32066 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_80');
32067 END AcctLineType_80;
32068 --
32069
32070 ---------------------------------------
32071 --
32072 -- PRIVATE FUNCTION
32073 -- AcctLineType_81
32074 --
32075 ---------------------------------------
32076 PROCEDURE AcctLineType_81 (
32077 p_application_id IN NUMBER
32078 ,p_event_id IN NUMBER
32079 ,p_calculate_acctd_flag IN VARCHAR2
32080 ,p_calculate_g_l_flag IN VARCHAR2
32081 ,p_actual_flag IN OUT VARCHAR2
32082 ,p_balance_type_code OUT VARCHAR2
32083 ,p_gain_or_loss_ref OUT VARCHAR2
32084
32085 --Automatic Offsets Value
32086 , p_source_3 IN VARCHAR2
32087 , p_source_3_meaning IN VARCHAR2
32088 --Bank Cash Clearing Account
32089 , p_source_23 IN NUMBER
32090 --Accounting Reversal Indicator
32091 , p_source_41 IN VARCHAR2
32092 --Distribution Link Type
32093 , p_source_43 IN VARCHAR2
32094 --Override Accounted Amount Indicator
32095 , p_source_68 IN VARCHAR2
32096 , p_source_68_meaning IN VARCHAR2
32097 --Third Party Type
32098 , p_source_71 IN VARCHAR2
32099 --Business Flow Accounts Payable Application Identifier
32100 , p_source_79 IN NUMBER
32101 --When to Account for Payment Option
32102 , p_source_89 IN VARCHAR2
32103 --Payment Distribution Type
32104 , p_source_90 IN VARCHAR2
32105 , p_source_90_meaning IN VARCHAR2
32106 --Payment Distribution Amount
32107 , p_source_91 IN NUMBER
32108 --Business Flow Payment Distribution Type
32109 , p_source_92 IN VARCHAR2
32110 --Business Flow Payment Entity Code
32111 , p_source_93 IN VARCHAR2
32112 --Business Flow Payment Distribution Identifier
32113 , p_source_94 IN NUMBER
32114 --Business Flow Payment Identifier
32118 --Payment Supplier Identifier
32115 , p_source_95 IN NUMBER
32116 --Payment Distribution Identifier
32117 , p_source_96 IN NUMBER
32119 , p_source_102 IN NUMBER
32120 --Payment Supplier Site Identifier
32121 , p_source_103 IN NUMBER
32122 --Payment Distribution Reversed Identifier
32123 , p_source_104 IN NUMBER
32124 --Pooled Bank Account Option
32125 , p_source_105 IN VARCHAR2
32126 , p_source_105_meaning IN VARCHAR2
32127 --Payment Currency Code
32128 , p_source_106 IN VARCHAR2
32129 --Payment Maturity Date
32130 , p_source_107 IN DATE
32131 --Payment Exchange Date
32132 , p_source_110 IN DATE
32133 --Payment Exchange Rate
32134 , p_source_111 IN NUMBER
32135 --Payment Exchange Rate Type
32136 , p_source_112 IN VARCHAR2
32137 --Payment Distribution (Matured Rate) Ledger Amount
32138 , p_source_114 IN NUMBER
32139 )
32140 IS
32141
32142 l_component_type VARCHAR2(80);
32143 l_component_code VARCHAR2(30);
32144 l_component_type_code VARCHAR2(1);
32145 l_component_appl_id INTEGER;
32146 l_amb_context_code VARCHAR2(30);
32147 l_entity_code VARCHAR2(30);
32148 l_event_class_code VARCHAR2(30);
32149 l_ae_header_id NUMBER;
32150 l_event_type_code VARCHAR2(30);
32151 l_line_definition_code VARCHAR2(30);
32152 l_line_definition_owner_code VARCHAR2(1);
32153 --
32154 -- adr variables
32155 l_segment VARCHAR2(30);
32156 l_ccid NUMBER;
32157 l_adr_transaction_coa_id NUMBER;
32158 l_adr_accounting_coa_id NUMBER;
32159 l_adr_flexfield_segment_code VARCHAR2(30);
32160 l_adr_flex_value_set_id NUMBER;
32161 l_adr_value_type_code VARCHAR2(30);
32162 l_adr_value_combination_id NUMBER;
32163 l_adr_value_segment_code VARCHAR2(30);
32164
32165 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32166 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32167 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32168 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32169
32170 -- 4262811 Variables ------------------------------------------------------------------------------------------
32171 l_entered_amt_idx NUMBER;
32172 l_accted_amt_idx NUMBER;
32173 l_acc_rev_flag VARCHAR2(1);
32174 l_accrual_line_num NUMBER;
32175 l_tmp_amt NUMBER;
32176 l_acc_rev_natural_side_code VARCHAR2(1);
32177
32178 l_num_entries NUMBER;
32179 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32180 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32181 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32182 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32183 l_recog_line_1 NUMBER;
32184 l_recog_line_2 NUMBER;
32185
32186 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32187 l_bflow_applied_to_amt NUMBER; -- 5132302
32188 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32189
32190 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32191
32192 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32193 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32194
32195 ---------------------------------------------------------------------------------------------------------------
32196
32197
32198 --
32199 -- bulk performance
32200 --
32201 l_balance_type_code VARCHAR2(1);
32202 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32203 l_log_module VARCHAR2(240);
32204
32205 --
32206 -- Upgrade strategy
32207 --
32208 l_actual_upg_option VARCHAR2(1);
32209 l_enc_upg_option VARCHAR2(1);
32210
32211 --
32212 BEGIN
32213 --
32214 IF g_log_enabled THEN
32215 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_81';
32216 END IF;
32217 --
32218 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32219
32220 trace
32221 (p_msg => 'BEGIN of AcctLineType_81'
32222 ,p_level => C_LEVEL_PROCEDURE
32223 ,p_module => l_log_module);
32224
32225 END IF;
32226 --
32227 l_component_type := 'AMB_JLT';
32228 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_AOS_BS';
32229 l_component_type_code := 'S';
32230 l_component_appl_id := 200;
32231 l_amb_context_code := 'DEFAULT';
32232 l_entity_code := 'AP_PAYMENTS';
32233 l_event_class_code := 'FUTURE DATED PAYMENTS';
32234 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
32235 l_line_definition_owner_code := 'S';
32236 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
32237 --
32238 l_balance_type_code := 'A';
32239 l_segment := NULL;
32240 l_ccid := NULL;
32241 l_adr_transaction_coa_id := NULL;
32242 l_adr_accounting_coa_id := NULL;
32243 l_adr_flexfield_segment_code := NULL;
32244 l_adr_flex_value_set_id := NULL;
32248
32245 l_adr_value_type_code := NULL;
32246 l_adr_value_combination_id := NULL;
32247 l_adr_value_segment_code := NULL;
32249 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
32250 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
32251 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32252 l_budgetary_control_flag := 'N';
32253
32254 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32255 l_bflow_applied_to_amt := NULL; -- 5132302
32256 l_entered_amt_idx := NULL; -- 4262811
32257 l_accted_amt_idx := NULL; -- 4262811
32258 l_acc_rev_flag := NULL; -- 4262811
32259 l_accrual_line_num := NULL; -- 4262811
32260 l_tmp_amt := NULL; -- 4262811
32261 --
32262
32263 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32264 l_balance_type_code <> 'B' THEN
32265 IF (NVL(p_source_89,'
32266 ') = 'ALWAYS_ALWAYS' OR
32267 NVL(p_source_89,'
32268 ') = 'ALWAYS_CLEAR' OR
32269 NVL(p_source_89,'
32270 ') = 'ALWAYS_ISSUE') AND
32271 (NVL(p_source_105,'
32272 ') = 'Y' AND
32273 NVL(p_source_3,'
32274 ') = 'BALANCING_SEGMENT') AND
32275 p_source_107 IS NOT NULL AND
32276 NVL(p_source_90,'
32277 ') = 'CASH'
32278 THEN
32279
32280 --
32281 XLA_AE_LINES_PKG.SetNewLine;
32282
32283 p_balance_type_code := l_balance_type_code;
32284 -- set the flag so later we will know whether the gain loss line needs to be created
32285
32286 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32287 p_actual_flag :='A';
32288 END IF;
32289
32290 --
32291 -- bulk performance
32292 --
32293 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32294 p_header_num => 0); -- 4262811
32295 --
32296 -- set accounting line options
32297 --
32298 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32299 p_natural_side_code => 'C'
32300 , p_gain_or_loss_flag => 'N'
32301 , p_gl_transfer_mode_code => 'S'
32302 , p_acct_entry_type_code => 'A'
32303 , p_switch_side_flag => 'Y'
32304 , p_merge_duplicate_code => 'A'
32305 );
32306 --
32307 l_acc_rev_natural_side_code := 'D'; -- 4262811
32308 --
32309 --
32310 -- set accounting line type info
32311 --
32312 xla_ae_lines_pkg.SetAcctLineType
32313 (p_component_type => l_component_type
32314 ,p_event_type_code => l_event_type_code
32315 ,p_line_definition_owner_code => l_line_definition_owner_code
32316 ,p_line_definition_code => l_line_definition_code
32317 ,p_accounting_line_code => l_component_code
32318 ,p_accounting_line_type_code => l_component_type_code
32319 ,p_accounting_line_appl_id => l_component_appl_id
32320 ,p_amb_context_code => l_amb_context_code
32321 ,p_entity_code => l_entity_code
32322 ,p_event_class_code => l_event_class_code);
32323 --
32324 -- set accounting class
32325 --
32326 xla_ae_lines_pkg.SetAcctClass(
32327 p_accounting_class_code => 'CASH_CLEARING'
32328 , p_ae_header_id => l_ae_header_id
32329 );
32330
32331 --
32332 -- set rounding class
32333 --
32334 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
32335 'CASH_CLEARING';
32336
32337 --
32338 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
32339 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
32340 --
32341 -- bulk performance
32342 --
32343 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
32344
32345 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
32346 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
32347
32348 -- 4955764
32349 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32350 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
32351
32352 -- 4458381 Public Sector Enh
32353
32354 --
32355 -- set accounting attributes for the line type
32356 --
32357 l_entered_amt_idx := 9;
32358 l_accted_amt_idx := 14;
32359 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32360 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
32361 l_rec_acct_attrs.array_char_value(1) := p_source_41;
32362 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
32363 l_rec_acct_attrs.array_num_value(2) := p_source_79;
32364 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
32365 l_rec_acct_attrs.array_char_value(3) := p_source_92;
32366 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
32367 l_rec_acct_attrs.array_char_value(4) := p_source_93;
32368 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
32369 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
32370 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
32374 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
32371 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
32372 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
32373 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
32375 l_rec_acct_attrs.array_char_value(8) := p_source_43;
32376 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
32377 l_rec_acct_attrs.array_num_value(9) := p_source_91;
32378 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
32379 l_rec_acct_attrs.array_char_value(10) := p_source_106;
32380 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
32381 l_rec_acct_attrs.array_date_value(11) := p_source_110;
32382 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
32383 l_rec_acct_attrs.array_num_value(12) := p_source_111;
32384 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
32385 l_rec_acct_attrs.array_char_value(13) := p_source_112;
32386 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
32387 l_rec_acct_attrs.array_num_value(14) := p_source_114;
32388 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
32389 l_rec_acct_attrs.array_char_value(15) := p_source_68;
32390 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
32391 l_rec_acct_attrs.array_num_value(16) := p_source_102;
32392 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
32393 l_rec_acct_attrs.array_num_value(17) := p_source_103;
32394 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
32395 l_rec_acct_attrs.array_char_value(18) := p_source_71;
32396 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
32397 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
32398 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
32399 l_rec_acct_attrs.array_char_value(20) := p_source_43;
32400
32401 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
32402 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
32403
32404 ---------------------------------------------------------------------------------------------------------------
32405 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
32406 ---------------------------------------------------------------------------------------------------------------
32407 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
32408
32409 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32410 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
32411
32412 IF xla_accounting_cache_pkg.GetValueChar
32413 (p_source_code => 'LEDGER_CATEGORY_CODE'
32414 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
32415 AND l_bflow_method_code = 'PRIOR_ENTRY'
32416 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
32417 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
32418 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
32419 )
32420 THEN
32421 xla_ae_lines_pkg.BflowUpgEntry
32422 (p_business_method_code => l_bflow_method_code
32423 ,p_business_class_code => l_bflow_class_code
32424 ,p_balance_type => l_balance_type_code);
32425 ELSE
32426 NULL;
32427 XLA_AE_LINES_PKG.business_flow_validation(
32428 p_business_method_code => l_bflow_method_code
32429 ,p_business_class_code => l_bflow_class_code
32430 ,p_inherit_description_flag => l_inherit_desc_flag);
32431 END IF;
32432
32433 --
32434 -- call analytical criteria
32435 --
32436
32437 --
32438 -- call description
32439 --
32440 -- No description or it is inherited.
32441 --
32442 -- call ADRs
32443 -- Bug 4922099
32444 --
32445 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32446 (NVL(l_actual_upg_option, 'N') = 'O') OR
32447 (NVL(l_enc_upg_option, 'N') = 'O')
32448 )
32449 THEN
32450 NULL;
32451 --
32452 --
32453
32454 l_ccid := AcctDerRule_35(
32455 p_application_id => p_application_id
32456 , p_ae_header_id => l_ae_header_id
32457 , p_source_23 => p_source_23
32458 , x_transaction_coa_id => l_adr_transaction_coa_id
32459 , x_accounting_coa_id => l_adr_accounting_coa_id
32460 , x_value_type_code => l_adr_value_type_code
32461 , p_side => 'NA'
32462 );
32463
32464 xla_ae_lines_pkg.set_ccid(
32465 p_code_combination_id => l_ccid
32466 , p_value_type_code => l_adr_value_type_code
32467 , p_transaction_coa_id => l_adr_transaction_coa_id
32468 , p_accounting_coa_id => l_adr_accounting_coa_id
32469 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32470 , p_adr_type_code => 'S'
32471 , p_component_type => l_component_type
32472 , p_component_code => l_component_code
32473 , p_component_type_code => l_component_type_code
32474 , p_component_appl_id => l_component_appl_id
32478
32475 , p_amb_context_code => l_amb_context_code
32476 , p_side => 'NA'
32477 );
32479
32480 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
32481 p_to_segment_code => 'GL_BALANCING'
32482 , p_segment_value => C_CHAR
32483 , p_from_segment_code => NULL
32484 , p_from_combination_id => NULL
32485 , p_value_type_code => NULL
32486 , p_transaction_coa_id => null
32487 , p_accounting_coa_id => null
32488 , p_flexfield_segment_code => NULL
32489 , p_flex_value_set_id => NULL
32490 , p_adr_code => NULL
32491 , p_adr_type_code => NULL
32492 , p_component_type => l_component_type
32493 , p_component_code => l_component_code
32494 , p_component_type_code => l_component_type_code
32495 , p_component_appl_id => l_component_appl_id
32496 , p_amb_context_code => l_amb_context_code
32497 , p_entity_code => 'AP_PAYMENTS'
32498 , p_event_class_code => 'FUTURE DATED PAYMENTS'
32499 , p_side => 'NA'
32500 );
32501 --
32502
32503
32504 --
32505 --
32506 END IF;
32507 --
32508 -- Bug 4922099
32509 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
32510 (NVL(l_enc_upg_option, 'N') = 'O')
32511 ) AND
32512 (l_bflow_method_code = 'PRIOR_ENTRY')
32513 )
32514 THEN
32515 IF
32516 --
32517 1 = 2
32518 --
32519 THEN
32520 xla_accounting_err_pkg.build_message
32521 (p_appli_s_name => 'XLA'
32522 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32523 ,p_token_1 => 'LINE_NUMBER'
32524 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
32525 ,p_token_2 => 'LINE_TYPE_NAME'
32526 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
32527 l_component_type
32528 ,l_component_code
32529 ,l_component_type_code
32530 ,l_component_appl_id
32531 ,l_amb_context_code
32532 ,l_entity_code
32533 ,l_event_class_code
32534 )
32535 ,p_token_3 => 'OWNER'
32536 ,p_value_3 => xla_lookups_pkg.get_meaning(
32537 p_lookup_type => 'XLA_OWNER_TYPE'
32538 ,p_lookup_code => l_component_type_code
32539 )
32540 ,p_token_4 => 'PRODUCT_NAME'
32541 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
32542 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
32543 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
32544 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
32545 ,p_ae_header_id => NULL
32546 );
32547
32548 IF (C_LEVEL_ERROR>= g_log_level) THEN
32549 trace
32550 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
32551 ,p_level => C_LEVEL_ERROR
32552 ,p_module => l_log_module);
32553 END IF;
32554 END IF;
32555 END IF;
32556 --
32557 --
32558 ------------------------------------------------------------------------------------------------
32559 -- 4219869 Business Flow
32560 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
32561 -- Prior Entry. Currently, the following code is always generated.
32562 ------------------------------------------------------------------------------------------------
32563 XLA_AE_LINES_PKG.ValidateCurrentLine;
32564
32565 ------------------------------------------------------------------------------------
32566 -- 4219869 Business Flow
32567 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
32568 ------------------------------------------------------------------------------------
32569 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32570
32571 ----------------------------------------------------------------------------------
32572 -- 4219869 Business Flow
32573 -- Update journal entry status -- Need to generate this within IF <condition>
32574 ----------------------------------------------------------------------------------
32575 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32579
32576 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
32577 ,p_balance_type_code => l_balance_type_code
32578 );
32580 -------------------------------------------------------------------------------------------
32581 -- 4262811 - Generate the Accrual Reversal lines
32582 -------------------------------------------------------------------------------------------
32583 BEGIN
32584 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
32585 (g_array_event(p_event_id).array_value_num('header_index'));
32586 IF l_acc_rev_flag IS NULL THEN
32587 l_acc_rev_flag := 'N';
32588 END IF;
32589 EXCEPTION
32590 WHEN OTHERS THEN
32591 l_acc_rev_flag := 'N';
32592 END;
32593 --
32594 IF (l_acc_rev_flag = 'Y') THEN
32595
32596 -- 4645092 ------------------------------------------------------------------------------
32597 -- To allow MPA report to determine if it should generate report process
32598 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
32599 ------------------------------------------------------------------------------------------
32600
32601 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
32602 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
32603 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
32604 -- call ADRs
32605 -- Bug 4922099
32606 --
32607 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
32608 (NVL(l_actual_upg_option, 'N') = 'O') OR
32609 (NVL(l_enc_upg_option, 'N') = 'O')
32610 )
32611 THEN
32612 NULL;
32613 --
32614 --
32615
32616 l_ccid := AcctDerRule_35(
32617 p_application_id => p_application_id
32618 , p_ae_header_id => l_ae_header_id
32619 , p_source_23 => p_source_23
32620 , x_transaction_coa_id => l_adr_transaction_coa_id
32621 , x_accounting_coa_id => l_adr_accounting_coa_id
32622 , x_value_type_code => l_adr_value_type_code
32623 , p_side => 'NA'
32624 );
32625
32626 xla_ae_lines_pkg.set_ccid(
32627 p_code_combination_id => l_ccid
32628 , p_value_type_code => l_adr_value_type_code
32629 , p_transaction_coa_id => l_adr_transaction_coa_id
32630 , p_accounting_coa_id => l_adr_accounting_coa_id
32631 , p_adr_code => 'AP_PMT_CASH_CLEAR'
32632 , p_adr_type_code => 'S'
32633 , p_component_type => l_component_type
32634 , p_component_code => l_component_code
32635 , p_component_type_code => l_component_type_code
32636 , p_component_appl_id => l_component_appl_id
32637 , p_amb_context_code => l_amb_context_code
32638 , p_side => 'NA'
32639 );
32640
32641
32642 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
32643 p_to_segment_code => 'GL_BALANCING'
32644 , p_segment_value => C_CHAR
32645 , p_from_segment_code => NULL
32646 , p_from_combination_id => NULL
32647 , p_value_type_code => NULL
32648 , p_transaction_coa_id => null
32649 , p_accounting_coa_id => null
32650 , p_flexfield_segment_code => NULL
32651 , p_flex_value_set_id => NULL
32652 , p_adr_code => NULL
32653 , p_adr_type_code => NULL
32654 , p_component_type => l_component_type
32655 , p_component_code => l_component_code
32656 , p_component_type_code => l_component_type_code
32657 , p_component_appl_id => l_component_appl_id
32658 , p_amb_context_code => l_amb_context_code
32659 , p_entity_code => 'AP_PAYMENTS'
32660 , p_event_class_code => 'FUTURE DATED PAYMENTS'
32661 , p_side => 'NA'
32662 );
32663 --
32664
32665
32666 --
32667 --
32668 END IF;
32669
32670 --
32671 -- Update the line information that should be overwritten
32672 --
32673 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
32674 p_header_num => 1);
32675 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
32676
32677 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
32678
32679 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
32680 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
32681 END IF;
32682
32683 --
32684 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
32685 --
32686 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
32687 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
32688 ELSE
32689 ---------------------------------------------------------------------------------------------------
32690 -- 4262811a Switch Sign
32691 ---------------------------------------------------------------------------------------------------
32692 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
32696 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32693 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32694 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32695 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
32697 -- 5132302
32698 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
32699 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
32700
32701 END IF;
32702
32703 -- 4955764
32704 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
32705 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
32706
32707
32708 XLA_AE_LINES_PKG.ValidateCurrentLine;
32709 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
32710
32711 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
32712 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
32713 ,p_balance_type_code => l_balance_type_code);
32714
32715 END IF;
32716
32717 -----------------------------------------------------------------------------------------
32718 -- 4262811 Multiperiod Accounting
32719 -----------------------------------------------------------------------------------------
32720 -- No MPA option is assigned.
32721
32722
32723 END IF;
32724 END IF;
32725 --
32726
32727 --
32728 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32729 trace
32730 (p_msg => 'END of AcctLineType_81'
32731 ,p_level => C_LEVEL_PROCEDURE
32732 ,p_module => l_log_module);
32733 END IF;
32734 --
32735 EXCEPTION
32736 WHEN xla_exceptions_pkg.application_exception THEN
32737 RAISE;
32738 WHEN OTHERS THEN
32739 xla_exceptions_pkg.raise_message
32740 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_81');
32741 END AcctLineType_81;
32742 --
32743
32744 ---------------------------------------
32745 --
32746 -- PRIVATE FUNCTION
32747 -- AcctLineType_82
32748 --
32749 ---------------------------------------
32750 PROCEDURE AcctLineType_82 (
32751 p_application_id IN NUMBER
32752 ,p_event_id IN NUMBER
32753 ,p_calculate_acctd_flag IN VARCHAR2
32754 ,p_calculate_g_l_flag IN VARCHAR2
32755 ,p_actual_flag IN OUT VARCHAR2
32756 ,p_balance_type_code OUT VARCHAR2
32757 ,p_gain_or_loss_ref OUT VARCHAR2
32758
32759 --Bank Cash Clearing Account
32760 , p_source_23 IN NUMBER
32761 --Automatic Offsets Flag
32762 , p_source_35 IN VARCHAR2
32763 , p_source_35_meaning IN VARCHAR2
32764 --Accounting Reversal Indicator
32765 , p_source_41 IN VARCHAR2
32766 --Distribution Link Type
32767 , p_source_43 IN VARCHAR2
32768 --Override Accounted Amount Indicator
32769 , p_source_68 IN VARCHAR2
32770 , p_source_68_meaning IN VARCHAR2
32771 --Third Party Type
32772 , p_source_71 IN VARCHAR2
32773 --Business Flow Accounts Payable Application Identifier
32774 , p_source_79 IN NUMBER
32775 --When to Account for Payment Option
32776 , p_source_89 IN VARCHAR2
32777 --Payment Distribution Type
32778 , p_source_90 IN VARCHAR2
32779 , p_source_90_meaning IN VARCHAR2
32780 --Payment Distribution Amount
32781 , p_source_91 IN NUMBER
32782 --Business Flow Payment Distribution Type
32783 , p_source_92 IN VARCHAR2
32784 --Business Flow Payment Entity Code
32785 , p_source_93 IN VARCHAR2
32786 --Business Flow Payment Distribution Identifier
32787 , p_source_94 IN NUMBER
32788 --Business Flow Payment Identifier
32789 , p_source_95 IN NUMBER
32790 --Payment Distribution Identifier
32791 , p_source_96 IN NUMBER
32792 --Payment Supplier Identifier
32793 , p_source_102 IN NUMBER
32794 --Payment Supplier Site Identifier
32795 , p_source_103 IN NUMBER
32796 --Payment Distribution Reversed Identifier
32797 , p_source_104 IN NUMBER
32798 --Pooled Bank Account Option
32799 , p_source_105 IN VARCHAR2
32800 , p_source_105_meaning IN VARCHAR2
32801 --Payment Currency Code
32802 , p_source_106 IN VARCHAR2
32803 --Payment Maturity Date
32804 , p_source_107 IN DATE
32805 --Payment Distribution (Invoice Rate) Ledger Amount
32806 , p_source_109 IN NUMBER
32807 --Payment Exchange Date
32808 , p_source_110 IN DATE
32809 --Payment Exchange Rate
32810 , p_source_111 IN NUMBER
32811 --Payment Exchange Rate Type
32812 , p_source_112 IN VARCHAR2
32813 )
32814 IS
32815
32816 l_component_type VARCHAR2(80);
32817 l_component_code VARCHAR2(30);
32818 l_component_type_code VARCHAR2(1);
32819 l_component_appl_id INTEGER;
32820 l_amb_context_code VARCHAR2(30);
32821 l_entity_code VARCHAR2(30);
32822 l_event_class_code VARCHAR2(30);
32823 l_ae_header_id NUMBER;
32824 l_event_type_code VARCHAR2(30);
32828 -- adr variables
32825 l_line_definition_code VARCHAR2(30);
32826 l_line_definition_owner_code VARCHAR2(1);
32827 --
32829 l_segment VARCHAR2(30);
32830 l_ccid NUMBER;
32831 l_adr_transaction_coa_id NUMBER;
32832 l_adr_accounting_coa_id NUMBER;
32833 l_adr_flexfield_segment_code VARCHAR2(30);
32834 l_adr_flex_value_set_id NUMBER;
32835 l_adr_value_type_code VARCHAR2(30);
32836 l_adr_value_combination_id NUMBER;
32837 l_adr_value_segment_code VARCHAR2(30);
32838
32839 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
32840 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
32841 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
32842 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
32843
32844 -- 4262811 Variables ------------------------------------------------------------------------------------------
32845 l_entered_amt_idx NUMBER;
32846 l_accted_amt_idx NUMBER;
32847 l_acc_rev_flag VARCHAR2(1);
32848 l_accrual_line_num NUMBER;
32849 l_tmp_amt NUMBER;
32850 l_acc_rev_natural_side_code VARCHAR2(1);
32851
32852 l_num_entries NUMBER;
32853 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
32854 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
32855 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
32856 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
32857 l_recog_line_1 NUMBER;
32858 l_recog_line_2 NUMBER;
32859
32860 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
32861 l_bflow_applied_to_amt NUMBER; -- 5132302
32862 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
32863
32864 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
32865
32866 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
32867 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
32868
32869 ---------------------------------------------------------------------------------------------------------------
32870
32871
32872 --
32873 -- bulk performance
32874 --
32875 l_balance_type_code VARCHAR2(1);
32876 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
32877 l_log_module VARCHAR2(240);
32878
32879 --
32880 -- Upgrade strategy
32881 --
32882 l_actual_upg_option VARCHAR2(1);
32883 l_enc_upg_option VARCHAR2(1);
32884
32885 --
32886 BEGIN
32887 --
32888 IF g_log_enabled THEN
32889 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_82';
32890 END IF;
32891 --
32892 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
32893
32894 trace
32895 (p_msg => 'BEGIN of AcctLineType_82'
32896 ,p_level => C_LEVEL_PROCEDURE
32897 ,p_module => l_log_module);
32898
32899 END IF;
32900 --
32901 l_component_type := 'AMB_JLT';
32902 l_component_code := 'AP_CASH_CLEAR_PMT_MAT_INVXRATE';
32903 l_component_type_code := 'S';
32904 l_component_appl_id := 200;
32905 l_amb_context_code := 'DEFAULT';
32906 l_entity_code := 'AP_PAYMENTS';
32907 l_event_class_code := 'FUTURE DATED PAYMENTS';
32908 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
32909 l_line_definition_owner_code := 'S';
32910 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
32911 --
32912 l_balance_type_code := 'A';
32913 l_segment := NULL;
32914 l_ccid := NULL;
32915 l_adr_transaction_coa_id := NULL;
32916 l_adr_accounting_coa_id := NULL;
32917 l_adr_flexfield_segment_code := NULL;
32918 l_adr_flex_value_set_id := NULL;
32919 l_adr_value_type_code := NULL;
32920 l_adr_value_combination_id := NULL;
32921 l_adr_value_segment_code := NULL;
32922
32923 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
32924 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
32925 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
32926 l_budgetary_control_flag := 'N';
32927
32928 l_bflow_applied_to_amt_idx := NULL; -- 5132302
32929 l_bflow_applied_to_amt := NULL; -- 5132302
32930 l_entered_amt_idx := NULL; -- 4262811
32931 l_accted_amt_idx := NULL; -- 4262811
32932 l_acc_rev_flag := NULL; -- 4262811
32933 l_accrual_line_num := NULL; -- 4262811
32934 l_tmp_amt := NULL; -- 4262811
32935 --
32936
32937 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
32938 l_balance_type_code <> 'B' THEN
32939 IF NVL(p_source_89,'
32940 ') = 'ALWAYS_CLEAR' AND
32941 (NVL(p_source_35,'
32942 ') <> 'Y' OR
32943 NVL(p_source_35,'
32944 ') = 'Y' AND
32945 NVL(p_source_105,'
32946 ') <> 'Y') AND
32947 p_source_107 IS NOT NULL AND
32948 NVL(p_source_90,'
32949 ') = 'CASH'
32950 THEN
32951
32952 --
32953 XLA_AE_LINES_PKG.SetNewLine;
32954
32958 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
32955 p_balance_type_code := l_balance_type_code;
32956 -- set the flag so later we will know whether the gain loss line needs to be created
32957
32959 p_actual_flag :='A';
32960 END IF;
32961
32962 --
32963 -- bulk performance
32964 --
32965 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
32966 p_header_num => 0); -- 4262811
32967 --
32968 -- set accounting line options
32969 --
32970 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
32971 p_natural_side_code => 'C'
32972 , p_gain_or_loss_flag => 'N'
32973 , p_gl_transfer_mode_code => 'S'
32974 , p_acct_entry_type_code => 'A'
32975 , p_switch_side_flag => 'Y'
32976 , p_merge_duplicate_code => 'A'
32977 );
32978 --
32979 l_acc_rev_natural_side_code := 'D'; -- 4262811
32980 --
32981 --
32982 -- set accounting line type info
32983 --
32984 xla_ae_lines_pkg.SetAcctLineType
32985 (p_component_type => l_component_type
32986 ,p_event_type_code => l_event_type_code
32987 ,p_line_definition_owner_code => l_line_definition_owner_code
32988 ,p_line_definition_code => l_line_definition_code
32989 ,p_accounting_line_code => l_component_code
32990 ,p_accounting_line_type_code => l_component_type_code
32991 ,p_accounting_line_appl_id => l_component_appl_id
32992 ,p_amb_context_code => l_amb_context_code
32993 ,p_entity_code => l_entity_code
32994 ,p_event_class_code => l_event_class_code);
32995 --
32996 -- set accounting class
32997 --
32998 xla_ae_lines_pkg.SetAcctClass(
32999 p_accounting_class_code => 'CASH_CLEARING'
33000 , p_ae_header_id => l_ae_header_id
33001 );
33002
33003 --
33004 -- set rounding class
33005 --
33006 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33007 'CASH_CLEARING';
33008
33009 --
33010 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33011 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33012 --
33013 -- bulk performance
33014 --
33015 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33016
33017 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33018 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33019
33020 -- 4955764
33021 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33022 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33023
33024 -- 4458381 Public Sector Enh
33025
33026 --
33027 -- set accounting attributes for the line type
33028 --
33029 l_entered_amt_idx := 9;
33030 l_accted_amt_idx := 14;
33031 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33032 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33033 l_rec_acct_attrs.array_char_value(1) := p_source_41;
33034 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
33035 l_rec_acct_attrs.array_num_value(2) := p_source_79;
33036 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33037 l_rec_acct_attrs.array_char_value(3) := p_source_92;
33038 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
33039 l_rec_acct_attrs.array_char_value(4) := p_source_93;
33040 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
33041 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
33042 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33043 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
33044 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
33045 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
33046 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
33047 l_rec_acct_attrs.array_char_value(8) := p_source_43;
33048 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
33049 l_rec_acct_attrs.array_num_value(9) := p_source_91;
33050 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
33051 l_rec_acct_attrs.array_char_value(10) := p_source_106;
33052 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
33053 l_rec_acct_attrs.array_date_value(11) := p_source_110;
33054 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
33055 l_rec_acct_attrs.array_num_value(12) := p_source_111;
33056 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
33057 l_rec_acct_attrs.array_char_value(13) := p_source_112;
33058 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
33059 l_rec_acct_attrs.array_num_value(14) := p_source_109;
33060 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
33061 l_rec_acct_attrs.array_char_value(15) := p_source_68;
33062 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
33063 l_rec_acct_attrs.array_num_value(16) := p_source_102;
33064 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
33068 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
33065 l_rec_acct_attrs.array_num_value(17) := p_source_103;
33066 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
33067 l_rec_acct_attrs.array_char_value(18) := p_source_71;
33069 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
33070 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
33071 l_rec_acct_attrs.array_char_value(20) := p_source_43;
33072
33073 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33074 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33075
33076 ---------------------------------------------------------------------------------------------------------------
33077 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33078 ---------------------------------------------------------------------------------------------------------------
33079 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33080
33081 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33082 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33083
33084 IF xla_accounting_cache_pkg.GetValueChar
33085 (p_source_code => 'LEDGER_CATEGORY_CODE'
33086 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33087 AND l_bflow_method_code = 'PRIOR_ENTRY'
33088 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33089 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33090 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33091 )
33092 THEN
33093 xla_ae_lines_pkg.BflowUpgEntry
33094 (p_business_method_code => l_bflow_method_code
33095 ,p_business_class_code => l_bflow_class_code
33096 ,p_balance_type => l_balance_type_code);
33097 ELSE
33098 NULL;
33099 -- No business flow processing for business flow method of NONE.
33100 END IF;
33101
33102 --
33103 -- call analytical criteria
33104 --
33105
33106 --
33107 -- call description
33108 --
33109 -- No description or it is inherited.
33110 --
33111 -- call ADRs
33112 -- Bug 4922099
33113 --
33114 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33115 (NVL(l_actual_upg_option, 'N') = 'O') OR
33116 (NVL(l_enc_upg_option, 'N') = 'O')
33117 )
33118 THEN
33119 NULL;
33120 --
33121 --
33122
33123 l_ccid := AcctDerRule_35(
33124 p_application_id => p_application_id
33125 , p_ae_header_id => l_ae_header_id
33126 , p_source_23 => p_source_23
33127 , x_transaction_coa_id => l_adr_transaction_coa_id
33128 , x_accounting_coa_id => l_adr_accounting_coa_id
33129 , x_value_type_code => l_adr_value_type_code
33130 , p_side => 'NA'
33131 );
33132
33133 xla_ae_lines_pkg.set_ccid(
33134 p_code_combination_id => l_ccid
33135 , p_value_type_code => l_adr_value_type_code
33136 , p_transaction_coa_id => l_adr_transaction_coa_id
33137 , p_accounting_coa_id => l_adr_accounting_coa_id
33138 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33139 , p_adr_type_code => 'S'
33140 , p_component_type => l_component_type
33141 , p_component_code => l_component_code
33142 , p_component_type_code => l_component_type_code
33143 , p_component_appl_id => l_component_appl_id
33144 , p_amb_context_code => l_amb_context_code
33145 , p_side => 'NA'
33146 );
33147
33148
33149 --
33150 --
33151 END IF;
33152 --
33153 -- Bug 4922099
33154 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33155 (NVL(l_enc_upg_option, 'N') = 'O')
33156 ) AND
33157 (l_bflow_method_code = 'PRIOR_ENTRY')
33158 )
33159 THEN
33160 IF
33161 --
33162 1 = 2
33163 --
33164 THEN
33165 xla_accounting_err_pkg.build_message
33166 (p_appli_s_name => 'XLA'
33167 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33168 ,p_token_1 => 'LINE_NUMBER'
33169 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33170 ,p_token_2 => 'LINE_TYPE_NAME'
33171 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33172 l_component_type
33173 ,l_component_code
33174 ,l_component_type_code
33175 ,l_component_appl_id
33176 ,l_amb_context_code
33177 ,l_entity_code
33178 ,l_event_class_code
33182 p_lookup_type => 'XLA_OWNER_TYPE'
33179 )
33180 ,p_token_3 => 'OWNER'
33181 ,p_value_3 => xla_lookups_pkg.get_meaning(
33183 ,p_lookup_code => l_component_type_code
33184 )
33185 ,p_token_4 => 'PRODUCT_NAME'
33186 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33187 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33188 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33189 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33190 ,p_ae_header_id => NULL
33191 );
33192
33193 IF (C_LEVEL_ERROR>= g_log_level) THEN
33194 trace
33195 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33196 ,p_level => C_LEVEL_ERROR
33197 ,p_module => l_log_module);
33198 END IF;
33199 END IF;
33200 END IF;
33201 --
33202 --
33203 ------------------------------------------------------------------------------------------------
33204 -- 4219869 Business Flow
33205 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33206 -- Prior Entry. Currently, the following code is always generated.
33207 ------------------------------------------------------------------------------------------------
33208 XLA_AE_LINES_PKG.ValidateCurrentLine;
33209
33210 ------------------------------------------------------------------------------------
33211 -- 4219869 Business Flow
33212 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33213 ------------------------------------------------------------------------------------
33214 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33215
33216 ----------------------------------------------------------------------------------
33217 -- 4219869 Business Flow
33218 -- Update journal entry status -- Need to generate this within IF <condition>
33219 ----------------------------------------------------------------------------------
33220 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33221 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33222 ,p_balance_type_code => l_balance_type_code
33223 );
33224
33225 -------------------------------------------------------------------------------------------
33226 -- 4262811 - Generate the Accrual Reversal lines
33227 -------------------------------------------------------------------------------------------
33228 BEGIN
33229 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33230 (g_array_event(p_event_id).array_value_num('header_index'));
33231 IF l_acc_rev_flag IS NULL THEN
33232 l_acc_rev_flag := 'N';
33233 END IF;
33234 EXCEPTION
33235 WHEN OTHERS THEN
33236 l_acc_rev_flag := 'N';
33237 END;
33238 --
33239 IF (l_acc_rev_flag = 'Y') THEN
33240
33241 -- 4645092 ------------------------------------------------------------------------------
33242 -- To allow MPA report to determine if it should generate report process
33243 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33244 ------------------------------------------------------------------------------------------
33245
33246 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33247 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33248 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33249 -- call ADRs
33250 -- Bug 4922099
33251 --
33252 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33253 (NVL(l_actual_upg_option, 'N') = 'O') OR
33254 (NVL(l_enc_upg_option, 'N') = 'O')
33255 )
33256 THEN
33257 NULL;
33258 --
33259 --
33260
33261 l_ccid := AcctDerRule_35(
33262 p_application_id => p_application_id
33263 , p_ae_header_id => l_ae_header_id
33264 , p_source_23 => p_source_23
33265 , x_transaction_coa_id => l_adr_transaction_coa_id
33266 , x_accounting_coa_id => l_adr_accounting_coa_id
33267 , x_value_type_code => l_adr_value_type_code
33268 , p_side => 'NA'
33269 );
33270
33271 xla_ae_lines_pkg.set_ccid(
33272 p_code_combination_id => l_ccid
33273 , p_value_type_code => l_adr_value_type_code
33274 , p_transaction_coa_id => l_adr_transaction_coa_id
33275 , p_accounting_coa_id => l_adr_accounting_coa_id
33276 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33277 , p_adr_type_code => 'S'
33278 , p_component_type => l_component_type
33279 , p_component_code => l_component_code
33280 , p_component_type_code => l_component_type_code
33284 );
33281 , p_component_appl_id => l_component_appl_id
33282 , p_amb_context_code => l_amb_context_code
33283 , p_side => 'NA'
33285
33286
33287 --
33288 --
33289 END IF;
33290
33291 --
33292 -- Update the line information that should be overwritten
33293 --
33294 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33295 p_header_num => 1);
33296 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33297
33298 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33299
33300 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33301 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33302 END IF;
33303
33304 --
33305 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33306 --
33307 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33308 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33309 ELSE
33310 ---------------------------------------------------------------------------------------------------
33311 -- 4262811a Switch Sign
33312 ---------------------------------------------------------------------------------------------------
33313 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33314 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33315 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33316 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33317 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33318 -- 5132302
33319 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33320 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33321
33322 END IF;
33323
33324 -- 4955764
33325 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33326 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33327
33328
33329 XLA_AE_LINES_PKG.ValidateCurrentLine;
33330 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33331
33332 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33333 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33334 ,p_balance_type_code => l_balance_type_code);
33335
33336 END IF;
33337
33338 -----------------------------------------------------------------------------------------
33339 -- 4262811 Multiperiod Accounting
33340 -----------------------------------------------------------------------------------------
33341 -- No MPA option is assigned.
33342
33343
33344 END IF;
33345 END IF;
33346 --
33347
33348 --
33349 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33350 trace
33351 (p_msg => 'END of AcctLineType_82'
33352 ,p_level => C_LEVEL_PROCEDURE
33353 ,p_module => l_log_module);
33354 END IF;
33355 --
33356 EXCEPTION
33357 WHEN xla_exceptions_pkg.application_exception THEN
33358 RAISE;
33359 WHEN OTHERS THEN
33360 xla_exceptions_pkg.raise_message
33361 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_82');
33362 END AcctLineType_82;
33363 --
33364
33365 ---------------------------------------
33366 --
33367 -- PRIVATE FUNCTION
33368 -- AcctLineType_83
33369 --
33370 ---------------------------------------
33371 PROCEDURE AcctLineType_83 (
33372 p_application_id IN NUMBER
33373 ,p_event_id IN NUMBER
33374 ,p_calculate_acctd_flag IN VARCHAR2
33375 ,p_calculate_g_l_flag IN VARCHAR2
33376 ,p_actual_flag IN OUT VARCHAR2
33377 ,p_balance_type_code OUT VARCHAR2
33378 ,p_gain_or_loss_ref OUT VARCHAR2
33379
33380 --Bank Cash Clearing Account
33381 , p_source_23 IN NUMBER
33382 --Automatic Offsets Flag
33383 , p_source_35 IN VARCHAR2
33384 , p_source_35_meaning IN VARCHAR2
33385 --Accounting Reversal Indicator
33386 , p_source_41 IN VARCHAR2
33387 --Distribution Link Type
33388 , p_source_43 IN VARCHAR2
33389 --Override Accounted Amount Indicator
33390 , p_source_68 IN VARCHAR2
33391 , p_source_68_meaning IN VARCHAR2
33392 --Third Party Type
33393 , p_source_71 IN VARCHAR2
33394 --Invoice Distribution Tax Line Identifier
33395 , p_source_74 IN NUMBER
33396 --Invoice Distribution Tax Distribution Identifier from Tax
33397 , p_source_75 IN NUMBER
33398 --Invoice Distribution Summary Tax Line Identifier
33399 , p_source_76 IN NUMBER
33400 --Business Flow Accounts Payable Application Identifier
33401 , p_source_79 IN NUMBER
33402 --Business Flow Invoice Distribution Type
33403 , p_source_80 IN VARCHAR2
33404 --Business Flow Invoice Entity Code
33405 , p_source_81 IN VARCHAR2
33406 --Business Flow Invoice Distribution Identifier
33410 --When to Account for Payment Option
33407 , p_source_82 IN NUMBER
33408 --Business Flow Invoice Identifier
33409 , p_source_83 IN NUMBER
33411 , p_source_89 IN VARCHAR2
33412 --Payment Distribution Type
33413 , p_source_90 IN VARCHAR2
33414 , p_source_90_meaning IN VARCHAR2
33415 --Payment Distribution Amount
33416 , p_source_91 IN NUMBER
33417 --Payment Distribution Identifier
33418 , p_source_96 IN NUMBER
33419 --Payment Supplier Identifier
33420 , p_source_102 IN NUMBER
33421 --Payment Supplier Site Identifier
33422 , p_source_103 IN NUMBER
33423 --Payment Distribution Reversed Identifier
33424 , p_source_104 IN NUMBER
33425 --Pooled Bank Account Option
33426 , p_source_105 IN VARCHAR2
33427 , p_source_105_meaning IN VARCHAR2
33428 --Payment Currency Code
33429 , p_source_106 IN VARCHAR2
33430 --Payment Maturity Date
33431 , p_source_107 IN DATE
33432 --Payment Distribution (Payment Rate) Ledger Amount
33433 , p_source_108 IN NUMBER
33434 --Payment Exchange Date
33435 , p_source_110 IN DATE
33436 --Payment Exchange Rate
33437 , p_source_111 IN NUMBER
33438 --Payment Exchange Rate Type
33439 , p_source_112 IN VARCHAR2
33440 --Payment Type
33441 , p_source_115 IN VARCHAR2
33442 , p_source_115_meaning IN VARCHAR2
33443 )
33444 IS
33445
33446 l_component_type VARCHAR2(80);
33447 l_component_code VARCHAR2(30);
33448 l_component_type_code VARCHAR2(1);
33449 l_component_appl_id INTEGER;
33450 l_amb_context_code VARCHAR2(30);
33451 l_entity_code VARCHAR2(30);
33452 l_event_class_code VARCHAR2(30);
33453 l_ae_header_id NUMBER;
33454 l_event_type_code VARCHAR2(30);
33455 l_line_definition_code VARCHAR2(30);
33456 l_line_definition_owner_code VARCHAR2(1);
33457 --
33458 -- adr variables
33459 l_segment VARCHAR2(30);
33460 l_ccid NUMBER;
33461 l_adr_transaction_coa_id NUMBER;
33462 l_adr_accounting_coa_id NUMBER;
33463 l_adr_flexfield_segment_code VARCHAR2(30);
33464 l_adr_flex_value_set_id NUMBER;
33465 l_adr_value_type_code VARCHAR2(30);
33466 l_adr_value_combination_id NUMBER;
33467 l_adr_value_segment_code VARCHAR2(30);
33468
33469 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
33470 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
33471 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
33472 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
33473
33474 -- 4262811 Variables ------------------------------------------------------------------------------------------
33475 l_entered_amt_idx NUMBER;
33476 l_accted_amt_idx NUMBER;
33477 l_acc_rev_flag VARCHAR2(1);
33478 l_accrual_line_num NUMBER;
33479 l_tmp_amt NUMBER;
33480 l_acc_rev_natural_side_code VARCHAR2(1);
33481
33482 l_num_entries NUMBER;
33483 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
33484 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
33485 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
33486 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
33487 l_recog_line_1 NUMBER;
33488 l_recog_line_2 NUMBER;
33489
33490 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
33491 l_bflow_applied_to_amt NUMBER; -- 5132302
33492 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
33493
33494 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
33495
33496 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
33497 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
33498
33499 ---------------------------------------------------------------------------------------------------------------
33500
33501
33502 --
33503 -- bulk performance
33504 --
33505 l_balance_type_code VARCHAR2(1);
33506 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
33507 l_log_module VARCHAR2(240);
33508
33509 --
33510 -- Upgrade strategy
33511 --
33512 l_actual_upg_option VARCHAR2(1);
33513 l_enc_upg_option VARCHAR2(1);
33514
33515 --
33516 BEGIN
33517 --
33518 IF g_log_enabled THEN
33519 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_83';
33520 END IF;
33521 --
33522 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33523
33524 trace
33525 (p_msg => 'BEGIN of AcctLineType_83'
33526 ,p_level => C_LEVEL_PROCEDURE
33527 ,p_module => l_log_module);
33528
33529 END IF;
33530 --
33531 l_component_type := 'AMB_JLT';
33532 l_component_code := 'AP_CASH_CLEAR_REF';
33533 l_component_type_code := 'S';
33534 l_component_appl_id := 200;
33535 l_amb_context_code := 'DEFAULT';
33536 l_entity_code := 'AP_PAYMENTS';
33537 l_event_class_code := 'REFUNDS';
33541 --
33538 l_event_type_code := 'REFUNDS_ALL';
33539 l_line_definition_owner_code := 'S';
33540 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
33542 l_balance_type_code := 'A';
33543 l_segment := NULL;
33544 l_ccid := NULL;
33545 l_adr_transaction_coa_id := NULL;
33546 l_adr_accounting_coa_id := NULL;
33547 l_adr_flexfield_segment_code := NULL;
33548 l_adr_flex_value_set_id := NULL;
33549 l_adr_value_type_code := NULL;
33550 l_adr_value_combination_id := NULL;
33551 l_adr_value_segment_code := NULL;
33552
33553 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
33554 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
33555 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
33556 l_budgetary_control_flag := 'N';
33557
33558 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33559 l_bflow_applied_to_amt := NULL; -- 5132302
33560 l_entered_amt_idx := NULL; -- 4262811
33561 l_accted_amt_idx := NULL; -- 4262811
33562 l_acc_rev_flag := NULL; -- 4262811
33563 l_accrual_line_num := NULL; -- 4262811
33564 l_tmp_amt := NULL; -- 4262811
33565 --
33566
33567 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
33568 l_balance_type_code <> 'B' THEN
33569 IF NVL(p_source_89,'
33570 ') = 'ALWAYS_ALWAYS' AND
33571 (NVL(p_source_35,'
33572 ') <> 'Y' OR
33573 NVL(p_source_35,'
33574 ') = 'Y' AND
33575 NVL(p_source_105,'
33576 ') <> 'Y') AND
33577 p_source_107 IS NULL AND
33578 NVL(p_source_90,'
33579 ') = 'CASH' AND
33580 NVL(p_source_115,'
33581 ') = 'R'
33582 THEN
33583
33584 --
33585 XLA_AE_LINES_PKG.SetNewLine;
33586
33587 p_balance_type_code := l_balance_type_code;
33588 -- set the flag so later we will know whether the gain loss line needs to be created
33589
33590 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
33591 p_actual_flag :='A';
33592 END IF;
33593
33594 --
33595 -- bulk performance
33596 --
33597 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
33598 p_header_num => 0); -- 4262811
33599 --
33600 -- set accounting line options
33601 --
33602 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
33603 p_natural_side_code => 'C'
33604 , p_gain_or_loss_flag => 'N'
33605 , p_gl_transfer_mode_code => 'S'
33606 , p_acct_entry_type_code => 'A'
33607 , p_switch_side_flag => 'Y'
33608 , p_merge_duplicate_code => 'A'
33609 );
33610 --
33611 l_acc_rev_natural_side_code := 'D'; -- 4262811
33612 --
33613 --
33614 -- set accounting line type info
33615 --
33616 xla_ae_lines_pkg.SetAcctLineType
33617 (p_component_type => l_component_type
33618 ,p_event_type_code => l_event_type_code
33619 ,p_line_definition_owner_code => l_line_definition_owner_code
33620 ,p_line_definition_code => l_line_definition_code
33621 ,p_accounting_line_code => l_component_code
33622 ,p_accounting_line_type_code => l_component_type_code
33623 ,p_accounting_line_appl_id => l_component_appl_id
33624 ,p_amb_context_code => l_amb_context_code
33625 ,p_entity_code => l_entity_code
33626 ,p_event_class_code => l_event_class_code);
33627 --
33628 -- set accounting class
33629 --
33630 xla_ae_lines_pkg.SetAcctClass(
33631 p_accounting_class_code => 'CASH_CLEARING'
33632 , p_ae_header_id => l_ae_header_id
33633 );
33634
33635 --
33636 -- set rounding class
33637 --
33638 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
33639 'CASH_CLEARING';
33640
33641 --
33642 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
33643 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
33644 --
33645 -- bulk performance
33646 --
33647 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
33648
33649 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
33650 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
33651
33652 -- 4955764
33653 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33654 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
33655
33656 -- 4458381 Public Sector Enh
33657
33658 --
33659 -- set accounting attributes for the line type
33660 --
33661 l_entered_amt_idx := 9;
33662 l_accted_amt_idx := 14;
33663 l_bflow_applied_to_amt_idx := NULL; -- 5132302
33664 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
33665 l_rec_acct_attrs.array_char_value(1) := p_source_41;
33666 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
33670 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
33667 l_rec_acct_attrs.array_num_value(2) := p_source_79;
33668 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
33669 l_rec_acct_attrs.array_char_value(3) := p_source_80;
33671 l_rec_acct_attrs.array_char_value(4) := p_source_81;
33672 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
33673 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
33674 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
33675 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
33676 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
33677 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
33678 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
33679 l_rec_acct_attrs.array_char_value(8) := p_source_43;
33680 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
33681 l_rec_acct_attrs.array_num_value(9) := p_source_91;
33682 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
33683 l_rec_acct_attrs.array_char_value(10) := p_source_106;
33684 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
33685 l_rec_acct_attrs.array_date_value(11) := p_source_110;
33686 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
33687 l_rec_acct_attrs.array_num_value(12) := p_source_111;
33688 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
33689 l_rec_acct_attrs.array_char_value(13) := p_source_112;
33690 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
33691 l_rec_acct_attrs.array_num_value(14) := p_source_108;
33692 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
33693 l_rec_acct_attrs.array_char_value(15) := p_source_68;
33694 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
33695 l_rec_acct_attrs.array_num_value(16) := p_source_102;
33696 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
33697 l_rec_acct_attrs.array_num_value(17) := p_source_103;
33698 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
33699 l_rec_acct_attrs.array_char_value(18) := p_source_71;
33700 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
33701 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
33702 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
33703 l_rec_acct_attrs.array_char_value(20) := p_source_43;
33704 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
33705 l_rec_acct_attrs.array_num_value(21) := p_source_74;
33706 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
33707 l_rec_acct_attrs.array_num_value(22) := p_source_75;
33708 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
33709 l_rec_acct_attrs.array_num_value(23) := p_source_76;
33710
33711 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
33712 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
33713
33714 ---------------------------------------------------------------------------------------------------------------
33715 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
33716 ---------------------------------------------------------------------------------------------------------------
33717 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
33718
33719 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33720 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
33721
33722 IF xla_accounting_cache_pkg.GetValueChar
33723 (p_source_code => 'LEDGER_CATEGORY_CODE'
33724 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
33725 AND l_bflow_method_code = 'PRIOR_ENTRY'
33726 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
33727 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
33728 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
33729 )
33730 THEN
33731 xla_ae_lines_pkg.BflowUpgEntry
33732 (p_business_method_code => l_bflow_method_code
33733 ,p_business_class_code => l_bflow_class_code
33734 ,p_balance_type => l_balance_type_code);
33735 ELSE
33736 NULL;
33737 -- No business flow processing for business flow method of NONE.
33738 END IF;
33739
33740 --
33741 -- call analytical criteria
33742 --
33743
33744 --
33745 -- call description
33746 --
33747 -- No description or it is inherited.
33748 --
33749 -- call ADRs
33750 -- Bug 4922099
33751 --
33752 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33753 (NVL(l_actual_upg_option, 'N') = 'O') OR
33754 (NVL(l_enc_upg_option, 'N') = 'O')
33755 )
33756 THEN
33757 NULL;
33758 --
33759 --
33760
33761 l_ccid := AcctDerRule_35(
33762 p_application_id => p_application_id
33763 , p_ae_header_id => l_ae_header_id
33764 , p_source_23 => p_source_23
33765 , x_transaction_coa_id => l_adr_transaction_coa_id
33766 , x_accounting_coa_id => l_adr_accounting_coa_id
33767 , x_value_type_code => l_adr_value_type_code
33771 xla_ae_lines_pkg.set_ccid(
33768 , p_side => 'NA'
33769 );
33770
33772 p_code_combination_id => l_ccid
33773 , p_value_type_code => l_adr_value_type_code
33774 , p_transaction_coa_id => l_adr_transaction_coa_id
33775 , p_accounting_coa_id => l_adr_accounting_coa_id
33776 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33777 , p_adr_type_code => 'S'
33778 , p_component_type => l_component_type
33779 , p_component_code => l_component_code
33780 , p_component_type_code => l_component_type_code
33781 , p_component_appl_id => l_component_appl_id
33782 , p_amb_context_code => l_amb_context_code
33783 , p_side => 'NA'
33784 );
33785
33786
33787 --
33788 --
33789 END IF;
33790 --
33791 -- Bug 4922099
33792 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
33793 (NVL(l_enc_upg_option, 'N') = 'O')
33794 ) AND
33795 (l_bflow_method_code = 'PRIOR_ENTRY')
33796 )
33797 THEN
33798 IF
33799 --
33800 1 = 2
33801 --
33802 THEN
33803 xla_accounting_err_pkg.build_message
33804 (p_appli_s_name => 'XLA'
33805 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33806 ,p_token_1 => 'LINE_NUMBER'
33807 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
33808 ,p_token_2 => 'LINE_TYPE_NAME'
33809 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
33810 l_component_type
33811 ,l_component_code
33812 ,l_component_type_code
33813 ,l_component_appl_id
33814 ,l_amb_context_code
33815 ,l_entity_code
33816 ,l_event_class_code
33817 )
33818 ,p_token_3 => 'OWNER'
33819 ,p_value_3 => xla_lookups_pkg.get_meaning(
33820 p_lookup_type => 'XLA_OWNER_TYPE'
33821 ,p_lookup_code => l_component_type_code
33822 )
33823 ,p_token_4 => 'PRODUCT_NAME'
33824 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
33825 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
33826 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
33827 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
33828 ,p_ae_header_id => NULL
33829 );
33830
33831 IF (C_LEVEL_ERROR>= g_log_level) THEN
33832 trace
33833 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
33834 ,p_level => C_LEVEL_ERROR
33835 ,p_module => l_log_module);
33836 END IF;
33837 END IF;
33838 END IF;
33839 --
33840 --
33841 ------------------------------------------------------------------------------------------------
33842 -- 4219869 Business Flow
33843 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
33844 -- Prior Entry. Currently, the following code is always generated.
33845 ------------------------------------------------------------------------------------------------
33846 XLA_AE_LINES_PKG.ValidateCurrentLine;
33847
33848 ------------------------------------------------------------------------------------
33849 -- 4219869 Business Flow
33850 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
33851 ------------------------------------------------------------------------------------
33852 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33853
33854 ----------------------------------------------------------------------------------
33855 -- 4219869 Business Flow
33856 -- Update journal entry status -- Need to generate this within IF <condition>
33857 ----------------------------------------------------------------------------------
33858 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33859 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
33860 ,p_balance_type_code => l_balance_type_code
33861 );
33862
33863 -------------------------------------------------------------------------------------------
33864 -- 4262811 - Generate the Accrual Reversal lines
33865 -------------------------------------------------------------------------------------------
33866 BEGIN
33870 l_acc_rev_flag := 'N';
33867 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
33868 (g_array_event(p_event_id).array_value_num('header_index'));
33869 IF l_acc_rev_flag IS NULL THEN
33871 END IF;
33872 EXCEPTION
33873 WHEN OTHERS THEN
33874 l_acc_rev_flag := 'N';
33875 END;
33876 --
33877 IF (l_acc_rev_flag = 'Y') THEN
33878
33879 -- 4645092 ------------------------------------------------------------------------------
33880 -- To allow MPA report to determine if it should generate report process
33881 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
33882 ------------------------------------------------------------------------------------------
33883
33884 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
33885 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
33886 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
33887 -- call ADRs
33888 -- Bug 4922099
33889 --
33890 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
33891 (NVL(l_actual_upg_option, 'N') = 'O') OR
33892 (NVL(l_enc_upg_option, 'N') = 'O')
33893 )
33894 THEN
33895 NULL;
33896 --
33897 --
33898
33899 l_ccid := AcctDerRule_35(
33900 p_application_id => p_application_id
33901 , p_ae_header_id => l_ae_header_id
33902 , p_source_23 => p_source_23
33903 , x_transaction_coa_id => l_adr_transaction_coa_id
33904 , x_accounting_coa_id => l_adr_accounting_coa_id
33905 , x_value_type_code => l_adr_value_type_code
33906 , p_side => 'NA'
33907 );
33908
33909 xla_ae_lines_pkg.set_ccid(
33910 p_code_combination_id => l_ccid
33911 , p_value_type_code => l_adr_value_type_code
33912 , p_transaction_coa_id => l_adr_transaction_coa_id
33913 , p_accounting_coa_id => l_adr_accounting_coa_id
33914 , p_adr_code => 'AP_PMT_CASH_CLEAR'
33915 , p_adr_type_code => 'S'
33916 , p_component_type => l_component_type
33917 , p_component_code => l_component_code
33918 , p_component_type_code => l_component_type_code
33919 , p_component_appl_id => l_component_appl_id
33920 , p_amb_context_code => l_amb_context_code
33921 , p_side => 'NA'
33922 );
33923
33924
33925 --
33926 --
33927 END IF;
33928
33929 --
33930 -- Update the line information that should be overwritten
33931 --
33932 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
33933 p_header_num => 1);
33934 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
33935
33936 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
33937
33938 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
33939 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
33940 END IF;
33941
33942 --
33943 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
33944 --
33945 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
33946 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
33947 ELSE
33948 ---------------------------------------------------------------------------------------------------
33949 -- 4262811a Switch Sign
33950 ---------------------------------------------------------------------------------------------------
33951 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
33952 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33953 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33954 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
33955 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33956 -- 5132302
33957 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
33958 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
33959
33960 END IF;
33961
33962 -- 4955764
33963 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
33964 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
33965
33966
33967 XLA_AE_LINES_PKG.ValidateCurrentLine;
33968 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
33969
33970 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
33971 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
33972 ,p_balance_type_code => l_balance_type_code);
33973
33974 END IF;
33975
33976 -----------------------------------------------------------------------------------------
33977 -- 4262811 Multiperiod Accounting
33978 -----------------------------------------------------------------------------------------
33982 END IF;
33979 -- No MPA option is assigned.
33980
33981
33983 END IF;
33984 --
33985
33986 --
33987 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
33988 trace
33989 (p_msg => 'END of AcctLineType_83'
33990 ,p_level => C_LEVEL_PROCEDURE
33991 ,p_module => l_log_module);
33992 END IF;
33993 --
33994 EXCEPTION
33995 WHEN xla_exceptions_pkg.application_exception THEN
33996 RAISE;
33997 WHEN OTHERS THEN
33998 xla_exceptions_pkg.raise_message
33999 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_83');
34000 END AcctLineType_83;
34001 --
34002
34003 ---------------------------------------
34004 --
34005 -- PRIVATE FUNCTION
34006 -- AcctLineType_84
34007 --
34008 ---------------------------------------
34009 PROCEDURE AcctLineType_84 (
34010 p_application_id IN NUMBER
34011 ,p_event_id IN NUMBER
34012 ,p_calculate_acctd_flag IN VARCHAR2
34013 ,p_calculate_g_l_flag IN VARCHAR2
34014 ,p_actual_flag IN OUT VARCHAR2
34015 ,p_balance_type_code OUT VARCHAR2
34016 ,p_gain_or_loss_ref OUT VARCHAR2
34017
34018 --Automatic Offsets Value
34019 , p_source_3 IN VARCHAR2
34020 , p_source_3_meaning IN VARCHAR2
34021 --Bank Cash Clearing Account
34022 , p_source_23 IN NUMBER
34023 --Accounting Reversal Indicator
34024 , p_source_41 IN VARCHAR2
34025 --Distribution Link Type
34026 , p_source_43 IN VARCHAR2
34027 --Override Accounted Amount Indicator
34028 , p_source_68 IN VARCHAR2
34029 , p_source_68_meaning IN VARCHAR2
34030 --Third Party Type
34031 , p_source_71 IN VARCHAR2
34032 --Invoice Distribution Tax Line Identifier
34033 , p_source_74 IN NUMBER
34034 --Invoice Distribution Tax Distribution Identifier from Tax
34035 , p_source_75 IN NUMBER
34036 --Invoice Distribution Summary Tax Line Identifier
34037 , p_source_76 IN NUMBER
34038 --Business Flow Accounts Payable Application Identifier
34039 , p_source_79 IN NUMBER
34040 --Business Flow Invoice Distribution Type
34041 , p_source_80 IN VARCHAR2
34042 --Business Flow Invoice Entity Code
34043 , p_source_81 IN VARCHAR2
34044 --Business Flow Invoice Distribution Identifier
34045 , p_source_82 IN NUMBER
34046 --Business Flow Invoice Identifier
34047 , p_source_83 IN NUMBER
34048 --When to Account for Payment Option
34049 , p_source_89 IN VARCHAR2
34050 --Payment Distribution Type
34051 , p_source_90 IN VARCHAR2
34052 , p_source_90_meaning IN VARCHAR2
34053 --Payment Distribution Amount
34054 , p_source_91 IN NUMBER
34055 --Payment Distribution Identifier
34056 , p_source_96 IN NUMBER
34057 --Payment Supplier Identifier
34058 , p_source_102 IN NUMBER
34059 --Payment Supplier Site Identifier
34060 , p_source_103 IN NUMBER
34061 --Payment Distribution Reversed Identifier
34062 , p_source_104 IN NUMBER
34063 --Pooled Bank Account Option
34064 , p_source_105 IN VARCHAR2
34065 , p_source_105_meaning IN VARCHAR2
34066 --Payment Currency Code
34067 , p_source_106 IN VARCHAR2
34068 --Payment Maturity Date
34069 , p_source_107 IN DATE
34070 --Payment Distribution (Payment Rate) Ledger Amount
34071 , p_source_108 IN NUMBER
34072 --Payment Exchange Date
34073 , p_source_110 IN DATE
34074 --Payment Exchange Rate
34075 , p_source_111 IN NUMBER
34076 --Payment Exchange Rate Type
34077 , p_source_112 IN VARCHAR2
34078 --Payment Type
34079 , p_source_115 IN VARCHAR2
34080 , p_source_115_meaning IN VARCHAR2
34081 )
34082 IS
34083
34084 l_component_type VARCHAR2(80);
34085 l_component_code VARCHAR2(30);
34086 l_component_type_code VARCHAR2(1);
34087 l_component_appl_id INTEGER;
34088 l_amb_context_code VARCHAR2(30);
34089 l_entity_code VARCHAR2(30);
34090 l_event_class_code VARCHAR2(30);
34091 l_ae_header_id NUMBER;
34092 l_event_type_code VARCHAR2(30);
34093 l_line_definition_code VARCHAR2(30);
34094 l_line_definition_owner_code VARCHAR2(1);
34095 --
34096 -- adr variables
34097 l_segment VARCHAR2(30);
34098 l_ccid NUMBER;
34099 l_adr_transaction_coa_id NUMBER;
34100 l_adr_accounting_coa_id NUMBER;
34101 l_adr_flexfield_segment_code VARCHAR2(30);
34102 l_adr_flex_value_set_id NUMBER;
34103 l_adr_value_type_code VARCHAR2(30);
34104 l_adr_value_combination_id NUMBER;
34105 l_adr_value_segment_code VARCHAR2(30);
34106
34107 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34108 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34109 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34110 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34111
34112 -- 4262811 Variables ------------------------------------------------------------------------------------------
34113 l_entered_amt_idx NUMBER;
34114 l_accted_amt_idx NUMBER;
34115 l_acc_rev_flag VARCHAR2(1);
34116 l_accrual_line_num NUMBER;
34120 l_num_entries NUMBER;
34117 l_tmp_amt NUMBER;
34118 l_acc_rev_natural_side_code VARCHAR2(1);
34119
34121 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34122 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34123 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34124 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34125 l_recog_line_1 NUMBER;
34126 l_recog_line_2 NUMBER;
34127
34128 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34129 l_bflow_applied_to_amt NUMBER; -- 5132302
34130 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34131
34132 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34133
34134 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34135 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34136
34137 ---------------------------------------------------------------------------------------------------------------
34138
34139
34140 --
34141 -- bulk performance
34142 --
34143 l_balance_type_code VARCHAR2(1);
34144 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34145 l_log_module VARCHAR2(240);
34146
34147 --
34148 -- Upgrade strategy
34149 --
34150 l_actual_upg_option VARCHAR2(1);
34151 l_enc_upg_option VARCHAR2(1);
34152
34153 --
34154 BEGIN
34155 --
34156 IF g_log_enabled THEN
34157 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_84';
34158 END IF;
34159 --
34160 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34161
34162 trace
34163 (p_msg => 'BEGIN of AcctLineType_84'
34164 ,p_level => C_LEVEL_PROCEDURE
34165 ,p_module => l_log_module);
34166
34167 END IF;
34168 --
34169 l_component_type := 'AMB_JLT';
34170 l_component_code := 'AP_CASH_CLEAR_REF_AOS_AS';
34171 l_component_type_code := 'S';
34172 l_component_appl_id := 200;
34173 l_amb_context_code := 'DEFAULT';
34174 l_entity_code := 'AP_PAYMENTS';
34175 l_event_class_code := 'REFUNDS';
34176 l_event_type_code := 'REFUNDS_ALL';
34177 l_line_definition_owner_code := 'S';
34178 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
34179 --
34180 l_balance_type_code := 'A';
34181 l_segment := NULL;
34182 l_ccid := NULL;
34183 l_adr_transaction_coa_id := NULL;
34184 l_adr_accounting_coa_id := NULL;
34185 l_adr_flexfield_segment_code := NULL;
34186 l_adr_flex_value_set_id := NULL;
34187 l_adr_value_type_code := NULL;
34188 l_adr_value_combination_id := NULL;
34189 l_adr_value_segment_code := NULL;
34190
34191 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
34192 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
34193 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34194 l_budgetary_control_flag := 'N';
34195
34196 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34197 l_bflow_applied_to_amt := NULL; -- 5132302
34198 l_entered_amt_idx := NULL; -- 4262811
34199 l_accted_amt_idx := NULL; -- 4262811
34200 l_acc_rev_flag := NULL; -- 4262811
34201 l_accrual_line_num := NULL; -- 4262811
34202 l_tmp_amt := NULL; -- 4262811
34203 --
34204
34205 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34206 l_balance_type_code <> 'B' THEN
34207 IF NVL(p_source_89,'
34208 ') = 'ALWAYS_ALWAYS' AND
34209 (NVL(p_source_105,'
34210 ') = 'Y' AND
34211 NVL(p_source_3,'
34212 ') = 'ACCOUNT_SEGMENT_VALUE') AND
34213 p_source_107 IS NULL AND
34214 NVL(p_source_90,'
34215 ') = 'CASH' AND
34216 NVL(p_source_115,'
34217 ') = 'R'
34218 THEN
34219
34220 --
34221 XLA_AE_LINES_PKG.SetNewLine;
34222
34223 p_balance_type_code := l_balance_type_code;
34224 -- set the flag so later we will know whether the gain loss line needs to be created
34225
34226 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
34227 p_actual_flag :='A';
34228 END IF;
34229
34230 --
34231 -- bulk performance
34232 --
34233 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
34234 p_header_num => 0); -- 4262811
34235 --
34236 -- set accounting line options
34237 --
34238 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
34239 p_natural_side_code => 'C'
34240 , p_gain_or_loss_flag => 'N'
34241 , p_gl_transfer_mode_code => 'S'
34242 , p_acct_entry_type_code => 'A'
34243 , p_switch_side_flag => 'Y'
34244 , p_merge_duplicate_code => 'A'
34245 );
34246 --
34247 l_acc_rev_natural_side_code := 'D'; -- 4262811
34248 --
34249 --
34250 -- set accounting line type info
34251 --
34252 xla_ae_lines_pkg.SetAcctLineType
34253 (p_component_type => l_component_type
34254 ,p_event_type_code => l_event_type_code
34258 ,p_accounting_line_type_code => l_component_type_code
34255 ,p_line_definition_owner_code => l_line_definition_owner_code
34256 ,p_line_definition_code => l_line_definition_code
34257 ,p_accounting_line_code => l_component_code
34259 ,p_accounting_line_appl_id => l_component_appl_id
34260 ,p_amb_context_code => l_amb_context_code
34261 ,p_entity_code => l_entity_code
34262 ,p_event_class_code => l_event_class_code);
34263 --
34264 -- set accounting class
34265 --
34266 xla_ae_lines_pkg.SetAcctClass(
34267 p_accounting_class_code => 'CASH_CLEARING'
34268 , p_ae_header_id => l_ae_header_id
34269 );
34270
34271 --
34272 -- set rounding class
34273 --
34274 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
34275 'CASH_CLEARING';
34276
34277 --
34278 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
34279 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
34280 --
34281 -- bulk performance
34282 --
34283 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
34284
34285 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
34286 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
34287
34288 -- 4955764
34289 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34290 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
34291
34292 -- 4458381 Public Sector Enh
34293
34294 --
34295 -- set accounting attributes for the line type
34296 --
34297 l_entered_amt_idx := 9;
34298 l_accted_amt_idx := 14;
34299 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34300 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
34301 l_rec_acct_attrs.array_char_value(1) := p_source_41;
34302 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
34303 l_rec_acct_attrs.array_num_value(2) := p_source_79;
34304 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
34305 l_rec_acct_attrs.array_char_value(3) := p_source_80;
34306 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
34307 l_rec_acct_attrs.array_char_value(4) := p_source_81;
34308 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
34309 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
34310 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
34311 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
34312 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
34313 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
34314 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
34315 l_rec_acct_attrs.array_char_value(8) := p_source_43;
34316 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
34317 l_rec_acct_attrs.array_num_value(9) := p_source_91;
34318 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
34319 l_rec_acct_attrs.array_char_value(10) := p_source_106;
34320 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
34321 l_rec_acct_attrs.array_date_value(11) := p_source_110;
34322 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
34323 l_rec_acct_attrs.array_num_value(12) := p_source_111;
34324 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
34325 l_rec_acct_attrs.array_char_value(13) := p_source_112;
34326 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
34327 l_rec_acct_attrs.array_num_value(14) := p_source_108;
34328 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
34329 l_rec_acct_attrs.array_char_value(15) := p_source_68;
34330 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
34331 l_rec_acct_attrs.array_num_value(16) := p_source_102;
34332 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
34333 l_rec_acct_attrs.array_num_value(17) := p_source_103;
34334 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
34335 l_rec_acct_attrs.array_char_value(18) := p_source_71;
34336 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
34337 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
34338 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
34339 l_rec_acct_attrs.array_char_value(20) := p_source_43;
34340 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
34341 l_rec_acct_attrs.array_num_value(21) := p_source_74;
34342 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
34343 l_rec_acct_attrs.array_num_value(22) := p_source_75;
34344 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
34345 l_rec_acct_attrs.array_num_value(23) := p_source_76;
34346
34347 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
34348 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
34349
34350 ---------------------------------------------------------------------------------------------------------------
34351 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
34355 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34352 ---------------------------------------------------------------------------------------------------------------
34353 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
34354
34356 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
34357
34358 IF xla_accounting_cache_pkg.GetValueChar
34359 (p_source_code => 'LEDGER_CATEGORY_CODE'
34360 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
34361 AND l_bflow_method_code = 'PRIOR_ENTRY'
34362 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
34363 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
34364 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
34365 )
34366 THEN
34367 xla_ae_lines_pkg.BflowUpgEntry
34368 (p_business_method_code => l_bflow_method_code
34369 ,p_business_class_code => l_bflow_class_code
34370 ,p_balance_type => l_balance_type_code);
34371 ELSE
34372 NULL;
34373 XLA_AE_LINES_PKG.business_flow_validation(
34374 p_business_method_code => l_bflow_method_code
34375 ,p_business_class_code => l_bflow_class_code
34376 ,p_inherit_description_flag => l_inherit_desc_flag);
34377 END IF;
34378
34379 --
34380 -- call analytical criteria
34381 --
34382
34383 --
34384 -- call description
34385 --
34386 -- No description or it is inherited.
34387 --
34388 -- call ADRs
34389 -- Bug 4922099
34390 --
34391 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34392 (NVL(l_actual_upg_option, 'N') = 'O') OR
34393 (NVL(l_enc_upg_option, 'N') = 'O')
34394 )
34395 THEN
34396 NULL;
34397 --
34398 --
34399
34400 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
34401 p_code_combination_id => TO_NUMBER(C_NUM)
34402 , p_value_type_code => NULL
34403 , p_transaction_coa_id => null
34404 , p_accounting_coa_id => null
34405 , p_adr_code => NULL
34406 , p_adr_type_code => NULL
34407 , p_component_type => l_component_type
34408 , p_component_code => l_component_code
34409 , p_component_type_code => l_component_type_code
34410 , p_component_appl_id => l_component_appl_id
34411 , p_amb_context_code => l_amb_context_code
34412 , p_side => NULL
34413 );
34414
34415
34416 -- initialise segments
34417 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34418 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34419 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34420 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34421 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34422 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34423 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34424 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34425 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34426 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34427 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34428 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34429 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34430 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34431 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34432 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34433 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34434 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34435 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34436 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34437 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34438 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34439 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34440 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34441 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34442 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34443 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34444 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34445 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34446 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34447 --
34448
34449 --
34450
34454 , p_ae_header_id => l_ae_header_id
34451
34452 l_segment := AcctDerRule_15(
34453 p_application_id => p_application_id
34455 , p_source_23 => p_source_23
34456 , x_transaction_coa_id => l_adr_transaction_coa_id
34457 , x_accounting_coa_id => l_adr_accounting_coa_id
34458 , x_flexfield_segment_code => l_adr_flexfield_segment_code
34459 , x_flex_value_set_id => l_adr_flex_value_set_id
34460 , x_value_type_code => l_adr_value_type_code
34461 , x_value_combination_id => l_adr_value_combination_id
34462 , x_value_segment_code => l_adr_value_segment_code
34463 , p_side => 'NA'
34464 , p_override_seg_flag => 'Y'
34465 );
34466
34467 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34468
34469 xla_ae_lines_pkg.set_segment(
34470 p_to_segment_code => 'GL_ACCOUNT'
34471 , p_segment_value => l_segment
34472 , p_from_segment_code => l_adr_value_segment_code
34473 , p_from_combination_id => l_adr_value_combination_id
34474 , p_value_type_code => l_adr_value_type_code
34475 , p_transaction_coa_id => l_adr_transaction_coa_id
34476 , p_accounting_coa_id => l_adr_accounting_coa_id
34477 , p_flexfield_segment_code => l_adr_flexfield_segment_code
34478 , p_flex_value_set_id => l_adr_flex_value_set_id
34479 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
34480 , p_adr_type_code => 'S'
34481 , p_component_type => l_component_type
34482 , p_component_code => l_component_code
34483 , p_component_type_code => l_component_type_code
34484 , p_component_appl_id => l_component_appl_id
34485 , p_amb_context_code => l_amb_context_code
34486 , p_entity_code => 'AP_PAYMENTS'
34487 , p_event_class_code => 'REFUNDS'
34488 , p_side => 'NA'
34489 );
34490
34491 END IF;
34492
34493 --
34494 --
34495 END IF;
34496 --
34497 -- Bug 4922099
34498 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
34499 (NVL(l_enc_upg_option, 'N') = 'O')
34500 ) AND
34501 (l_bflow_method_code = 'PRIOR_ENTRY')
34502 )
34503 THEN
34504 IF
34505 --
34506 1 = 2
34507 --
34508 THEN
34509 xla_accounting_err_pkg.build_message
34510 (p_appli_s_name => 'XLA'
34511 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34512 ,p_token_1 => 'LINE_NUMBER'
34513 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
34514 ,p_token_2 => 'LINE_TYPE_NAME'
34515 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
34516 l_component_type
34517 ,l_component_code
34518 ,l_component_type_code
34519 ,l_component_appl_id
34520 ,l_amb_context_code
34521 ,l_entity_code
34522 ,l_event_class_code
34523 )
34524 ,p_token_3 => 'OWNER'
34525 ,p_value_3 => xla_lookups_pkg.get_meaning(
34526 p_lookup_type => 'XLA_OWNER_TYPE'
34527 ,p_lookup_code => l_component_type_code
34528 )
34529 ,p_token_4 => 'PRODUCT_NAME'
34530 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
34531 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
34532 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
34533 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
34534 ,p_ae_header_id => NULL
34535 );
34536
34537 IF (C_LEVEL_ERROR>= g_log_level) THEN
34538 trace
34539 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
34540 ,p_level => C_LEVEL_ERROR
34541 ,p_module => l_log_module);
34542 END IF;
34543 END IF;
34544 END IF;
34545 --
34546 --
34547 ------------------------------------------------------------------------------------------------
34548 -- 4219869 Business Flow
34552 XLA_AE_LINES_PKG.ValidateCurrentLine;
34549 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
34550 -- Prior Entry. Currently, the following code is always generated.
34551 ------------------------------------------------------------------------------------------------
34553
34554 ------------------------------------------------------------------------------------
34555 -- 4219869 Business Flow
34556 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
34557 ------------------------------------------------------------------------------------
34558 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34559
34560 ----------------------------------------------------------------------------------
34561 -- 4219869 Business Flow
34562 -- Update journal entry status -- Need to generate this within IF <condition>
34563 ----------------------------------------------------------------------------------
34564 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34565 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
34566 ,p_balance_type_code => l_balance_type_code
34567 );
34568
34569 -------------------------------------------------------------------------------------------
34570 -- 4262811 - Generate the Accrual Reversal lines
34571 -------------------------------------------------------------------------------------------
34572 BEGIN
34573 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
34574 (g_array_event(p_event_id).array_value_num('header_index'));
34575 IF l_acc_rev_flag IS NULL THEN
34576 l_acc_rev_flag := 'N';
34577 END IF;
34578 EXCEPTION
34579 WHEN OTHERS THEN
34580 l_acc_rev_flag := 'N';
34581 END;
34582 --
34583 IF (l_acc_rev_flag = 'Y') THEN
34584
34585 -- 4645092 ------------------------------------------------------------------------------
34586 -- To allow MPA report to determine if it should generate report process
34587 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
34588 ------------------------------------------------------------------------------------------
34589
34590 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
34591 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
34592 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
34593 -- call ADRs
34594 -- Bug 4922099
34595 --
34596 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
34597 (NVL(l_actual_upg_option, 'N') = 'O') OR
34598 (NVL(l_enc_upg_option, 'N') = 'O')
34599 )
34600 THEN
34601 NULL;
34602 --
34603 --
34604
34605 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
34606 p_code_combination_id => TO_NUMBER(C_NUM)
34607 , p_value_type_code => NULL
34608 , p_transaction_coa_id => null
34609 , p_accounting_coa_id => null
34610 , p_adr_code => NULL
34611 , p_adr_type_code => NULL
34612 , p_component_type => l_component_type
34613 , p_component_code => l_component_code
34614 , p_component_type_code => l_component_type_code
34615 , p_component_appl_id => l_component_appl_id
34616 , p_amb_context_code => l_amb_context_code
34617 , p_side => NULL
34618 );
34619
34620
34621 -- initialise segments
34622 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34623 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34624 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34625 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34626 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34627 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34628 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34629 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34630 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34631 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34632 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34633 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34634 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34635 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34636 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34637 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34638 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34639 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34640 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34641 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34642 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34643 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34644 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34648 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34645 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34646 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34647 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34649 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34650 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34651 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
34652 --
34653
34654 --
34655
34656
34657 l_segment := AcctDerRule_15(
34658 p_application_id => p_application_id
34659 , p_ae_header_id => l_ae_header_id
34660 , p_source_23 => p_source_23
34661 , x_transaction_coa_id => l_adr_transaction_coa_id
34662 , x_accounting_coa_id => l_adr_accounting_coa_id
34663 , x_flexfield_segment_code => l_adr_flexfield_segment_code
34664 , x_flex_value_set_id => l_adr_flex_value_set_id
34665 , x_value_type_code => l_adr_value_type_code
34666 , x_value_combination_id => l_adr_value_combination_id
34667 , x_value_segment_code => l_adr_value_segment_code
34668 , p_side => 'NA'
34669 , p_override_seg_flag => 'Y'
34670 );
34671
34672 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
34673
34674 xla_ae_lines_pkg.set_segment(
34675 p_to_segment_code => 'GL_ACCOUNT'
34676 , p_segment_value => l_segment
34677 , p_from_segment_code => l_adr_value_segment_code
34678 , p_from_combination_id => l_adr_value_combination_id
34679 , p_value_type_code => l_adr_value_type_code
34680 , p_transaction_coa_id => l_adr_transaction_coa_id
34681 , p_accounting_coa_id => l_adr_accounting_coa_id
34682 , p_flexfield_segment_code => l_adr_flexfield_segment_code
34683 , p_flex_value_set_id => l_adr_flex_value_set_id
34684 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
34685 , p_adr_type_code => 'S'
34686 , p_component_type => l_component_type
34687 , p_component_code => l_component_code
34688 , p_component_type_code => l_component_type_code
34689 , p_component_appl_id => l_component_appl_id
34690 , p_amb_context_code => l_amb_context_code
34691 , p_entity_code => 'AP_PAYMENTS'
34692 , p_event_class_code => 'REFUNDS'
34693 , p_side => 'NA'
34694 );
34695
34696 END IF;
34697
34698 --
34699 --
34700 END IF;
34701
34702 --
34703 -- Update the line information that should be overwritten
34704 --
34705 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
34706 p_header_num => 1);
34707 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
34708
34709 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
34710
34711 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
34712 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
34713 END IF;
34714
34715 --
34716 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
34717 --
34718 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
34719 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
34720 ELSE
34721 ---------------------------------------------------------------------------------------------------
34722 -- 4262811a Switch Sign
34723 ---------------------------------------------------------------------------------------------------
34724 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
34725 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34726 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34727 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
34728 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34729 -- 5132302
34730 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
34731 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
34732
34733 END IF;
34734
34735 -- 4955764
34736 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
34737 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
34738
34739
34740 XLA_AE_LINES_PKG.ValidateCurrentLine;
34741 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
34742
34743 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
34744 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
34745 ,p_balance_type_code => l_balance_type_code);
34746
34750 -- 4262811 Multiperiod Accounting
34747 END IF;
34748
34749 -----------------------------------------------------------------------------------------
34751 -----------------------------------------------------------------------------------------
34752 -- No MPA option is assigned.
34753
34754
34755 END IF;
34756 END IF;
34757 --
34758
34759 --
34760 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34761 trace
34762 (p_msg => 'END of AcctLineType_84'
34763 ,p_level => C_LEVEL_PROCEDURE
34764 ,p_module => l_log_module);
34765 END IF;
34766 --
34767 EXCEPTION
34768 WHEN xla_exceptions_pkg.application_exception THEN
34769 RAISE;
34770 WHEN OTHERS THEN
34771 xla_exceptions_pkg.raise_message
34772 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_84');
34773 END AcctLineType_84;
34774 --
34775
34776 ---------------------------------------
34777 --
34778 -- PRIVATE FUNCTION
34779 -- AcctLineType_85
34780 --
34781 ---------------------------------------
34782 PROCEDURE AcctLineType_85 (
34783 p_application_id IN NUMBER
34784 ,p_event_id IN NUMBER
34785 ,p_calculate_acctd_flag IN VARCHAR2
34786 ,p_calculate_g_l_flag IN VARCHAR2
34787 ,p_actual_flag IN OUT VARCHAR2
34788 ,p_balance_type_code OUT VARCHAR2
34789 ,p_gain_or_loss_ref OUT VARCHAR2
34790
34791 --Automatic Offsets Value
34792 , p_source_3 IN VARCHAR2
34793 , p_source_3_meaning IN VARCHAR2
34794 --Bank Cash Clearing Account
34795 , p_source_23 IN NUMBER
34796 --Accounting Reversal Indicator
34797 , p_source_41 IN VARCHAR2
34798 --Distribution Link Type
34799 , p_source_43 IN VARCHAR2
34800 --Override Accounted Amount Indicator
34801 , p_source_68 IN VARCHAR2
34802 , p_source_68_meaning IN VARCHAR2
34803 --Third Party Type
34804 , p_source_71 IN VARCHAR2
34805 --Invoice Distribution Tax Line Identifier
34806 , p_source_74 IN NUMBER
34807 --Invoice Distribution Tax Distribution Identifier from Tax
34808 , p_source_75 IN NUMBER
34809 --Invoice Distribution Summary Tax Line Identifier
34810 , p_source_76 IN NUMBER
34811 --Business Flow Accounts Payable Application Identifier
34812 , p_source_79 IN NUMBER
34813 --Business Flow Invoice Distribution Type
34814 , p_source_80 IN VARCHAR2
34815 --Business Flow Invoice Entity Code
34816 , p_source_81 IN VARCHAR2
34817 --Business Flow Invoice Distribution Identifier
34818 , p_source_82 IN NUMBER
34819 --Business Flow Invoice Identifier
34820 , p_source_83 IN NUMBER
34821 --When to Account for Payment Option
34822 , p_source_89 IN VARCHAR2
34823 --Payment Distribution Type
34824 , p_source_90 IN VARCHAR2
34825 , p_source_90_meaning IN VARCHAR2
34826 --Payment Distribution Amount
34827 , p_source_91 IN NUMBER
34828 --Payment Distribution Identifier
34829 , p_source_96 IN NUMBER
34830 --Payment Supplier Identifier
34831 , p_source_102 IN NUMBER
34832 --Payment Supplier Site Identifier
34833 , p_source_103 IN NUMBER
34834 --Payment Distribution Reversed Identifier
34835 , p_source_104 IN NUMBER
34836 --Pooled Bank Account Option
34837 , p_source_105 IN VARCHAR2
34838 , p_source_105_meaning IN VARCHAR2
34839 --Payment Currency Code
34840 , p_source_106 IN VARCHAR2
34841 --Payment Maturity Date
34842 , p_source_107 IN DATE
34843 --Payment Distribution (Payment Rate) Ledger Amount
34844 , p_source_108 IN NUMBER
34845 --Payment Exchange Date
34846 , p_source_110 IN DATE
34847 --Payment Exchange Rate
34848 , p_source_111 IN NUMBER
34849 --Payment Exchange Rate Type
34850 , p_source_112 IN VARCHAR2
34851 --Payment Type
34852 , p_source_115 IN VARCHAR2
34853 , p_source_115_meaning IN VARCHAR2
34854 )
34855 IS
34856
34857 l_component_type VARCHAR2(80);
34858 l_component_code VARCHAR2(30);
34859 l_component_type_code VARCHAR2(1);
34860 l_component_appl_id INTEGER;
34861 l_amb_context_code VARCHAR2(30);
34862 l_entity_code VARCHAR2(30);
34863 l_event_class_code VARCHAR2(30);
34864 l_ae_header_id NUMBER;
34865 l_event_type_code VARCHAR2(30);
34866 l_line_definition_code VARCHAR2(30);
34867 l_line_definition_owner_code VARCHAR2(1);
34868 --
34869 -- adr variables
34870 l_segment VARCHAR2(30);
34871 l_ccid NUMBER;
34872 l_adr_transaction_coa_id NUMBER;
34873 l_adr_accounting_coa_id NUMBER;
34874 l_adr_flexfield_segment_code VARCHAR2(30);
34875 l_adr_flex_value_set_id NUMBER;
34876 l_adr_value_type_code VARCHAR2(30);
34877 l_adr_value_combination_id NUMBER;
34878 l_adr_value_segment_code VARCHAR2(30);
34879
34880 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
34881 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
34882 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
34883 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
34884
34885 -- 4262811 Variables ------------------------------------------------------------------------------------------
34889 l_accrual_line_num NUMBER;
34886 l_entered_amt_idx NUMBER;
34887 l_accted_amt_idx NUMBER;
34888 l_acc_rev_flag VARCHAR2(1);
34890 l_tmp_amt NUMBER;
34891 l_acc_rev_natural_side_code VARCHAR2(1);
34892
34893 l_num_entries NUMBER;
34894 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
34895 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
34896 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
34897 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
34898 l_recog_line_1 NUMBER;
34899 l_recog_line_2 NUMBER;
34900
34901 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
34902 l_bflow_applied_to_amt NUMBER; -- 5132302
34903 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
34904
34905 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
34906
34907 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
34908 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
34909
34910 ---------------------------------------------------------------------------------------------------------------
34911
34912
34913 --
34914 -- bulk performance
34915 --
34916 l_balance_type_code VARCHAR2(1);
34917 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
34918 l_log_module VARCHAR2(240);
34919
34920 --
34921 -- Upgrade strategy
34922 --
34923 l_actual_upg_option VARCHAR2(1);
34924 l_enc_upg_option VARCHAR2(1);
34925
34926 --
34927 BEGIN
34928 --
34929 IF g_log_enabled THEN
34930 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_85';
34931 END IF;
34932 --
34933 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
34934
34935 trace
34936 (p_msg => 'BEGIN of AcctLineType_85'
34937 ,p_level => C_LEVEL_PROCEDURE
34938 ,p_module => l_log_module);
34939
34940 END IF;
34941 --
34942 l_component_type := 'AMB_JLT';
34943 l_component_code := 'AP_CASH_CLEAR_REF_AOS_BS';
34944 l_component_type_code := 'S';
34945 l_component_appl_id := 200;
34946 l_amb_context_code := 'DEFAULT';
34947 l_entity_code := 'AP_PAYMENTS';
34948 l_event_class_code := 'REFUNDS';
34949 l_event_type_code := 'REFUNDS_ALL';
34950 l_line_definition_owner_code := 'S';
34951 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
34952 --
34953 l_balance_type_code := 'A';
34954 l_segment := NULL;
34955 l_ccid := NULL;
34956 l_adr_transaction_coa_id := NULL;
34957 l_adr_accounting_coa_id := NULL;
34958 l_adr_flexfield_segment_code := NULL;
34959 l_adr_flex_value_set_id := NULL;
34960 l_adr_value_type_code := NULL;
34961 l_adr_value_combination_id := NULL;
34962 l_adr_value_segment_code := NULL;
34963
34964 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
34965 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
34966 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
34967 l_budgetary_control_flag := 'N';
34968
34969 l_bflow_applied_to_amt_idx := NULL; -- 5132302
34970 l_bflow_applied_to_amt := NULL; -- 5132302
34971 l_entered_amt_idx := NULL; -- 4262811
34972 l_accted_amt_idx := NULL; -- 4262811
34973 l_acc_rev_flag := NULL; -- 4262811
34974 l_accrual_line_num := NULL; -- 4262811
34975 l_tmp_amt := NULL; -- 4262811
34976 --
34977
34978 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
34979 l_balance_type_code <> 'B' THEN
34980 IF NVL(p_source_89,'
34981 ') = 'ALWAYS_ALWAYS' AND
34982 (NVL(p_source_105,'
34983 ') = 'Y' AND
34984 NVL(p_source_3,'
34985 ') = 'BALANCING_SEGMENT') AND
34986 p_source_107 IS NULL AND
34987 NVL(p_source_90,'
34988 ') = 'CASH' AND
34989 NVL(p_source_115,'
34990 ') = 'R'
34991 THEN
34992
34993 --
34994 XLA_AE_LINES_PKG.SetNewLine;
34995
34996 p_balance_type_code := l_balance_type_code;
34997 -- set the flag so later we will know whether the gain loss line needs to be created
34998
34999 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35000 p_actual_flag :='A';
35001 END IF;
35002
35003 --
35004 -- bulk performance
35005 --
35006 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35007 p_header_num => 0); -- 4262811
35008 --
35009 -- set accounting line options
35010 --
35011 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35012 p_natural_side_code => 'C'
35013 , p_gain_or_loss_flag => 'N'
35014 , p_gl_transfer_mode_code => 'S'
35015 , p_acct_entry_type_code => 'A'
35016 , p_switch_side_flag => 'Y'
35017 , p_merge_duplicate_code => 'A'
35018 );
35019 --
35023 -- set accounting line type info
35020 l_acc_rev_natural_side_code := 'D'; -- 4262811
35021 --
35022 --
35024 --
35025 xla_ae_lines_pkg.SetAcctLineType
35026 (p_component_type => l_component_type
35027 ,p_event_type_code => l_event_type_code
35028 ,p_line_definition_owner_code => l_line_definition_owner_code
35029 ,p_line_definition_code => l_line_definition_code
35030 ,p_accounting_line_code => l_component_code
35031 ,p_accounting_line_type_code => l_component_type_code
35032 ,p_accounting_line_appl_id => l_component_appl_id
35033 ,p_amb_context_code => l_amb_context_code
35034 ,p_entity_code => l_entity_code
35035 ,p_event_class_code => l_event_class_code);
35036 --
35037 -- set accounting class
35038 --
35039 xla_ae_lines_pkg.SetAcctClass(
35040 p_accounting_class_code => 'CASH_CLEARING'
35041 , p_ae_header_id => l_ae_header_id
35042 );
35043
35044 --
35045 -- set rounding class
35046 --
35047 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35048 'CASH_CLEARING';
35049
35050 --
35051 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35052 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35053 --
35054 -- bulk performance
35055 --
35056 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35057
35058 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35059 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35060
35061 -- 4955764
35062 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35063 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35064
35065 -- 4458381 Public Sector Enh
35066
35067 --
35068 -- set accounting attributes for the line type
35069 --
35070 l_entered_amt_idx := 9;
35071 l_accted_amt_idx := 14;
35072 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35073 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35074 l_rec_acct_attrs.array_char_value(1) := p_source_41;
35075 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
35076 l_rec_acct_attrs.array_num_value(2) := p_source_79;
35077 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35078 l_rec_acct_attrs.array_char_value(3) := p_source_80;
35079 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
35080 l_rec_acct_attrs.array_char_value(4) := p_source_81;
35081 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
35082 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
35083 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35084 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
35085 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
35086 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
35087 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
35088 l_rec_acct_attrs.array_char_value(8) := p_source_43;
35089 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
35090 l_rec_acct_attrs.array_num_value(9) := p_source_91;
35091 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
35092 l_rec_acct_attrs.array_char_value(10) := p_source_106;
35093 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
35094 l_rec_acct_attrs.array_date_value(11) := p_source_110;
35095 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
35096 l_rec_acct_attrs.array_num_value(12) := p_source_111;
35097 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
35098 l_rec_acct_attrs.array_char_value(13) := p_source_112;
35099 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
35100 l_rec_acct_attrs.array_num_value(14) := p_source_108;
35101 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
35102 l_rec_acct_attrs.array_char_value(15) := p_source_68;
35103 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
35104 l_rec_acct_attrs.array_num_value(16) := p_source_102;
35105 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
35106 l_rec_acct_attrs.array_num_value(17) := p_source_103;
35107 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
35108 l_rec_acct_attrs.array_char_value(18) := p_source_71;
35109 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
35110 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
35111 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
35112 l_rec_acct_attrs.array_char_value(20) := p_source_43;
35113 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
35114 l_rec_acct_attrs.array_num_value(21) := p_source_74;
35115 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
35116 l_rec_acct_attrs.array_num_value(22) := p_source_75;
35117 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
35118 l_rec_acct_attrs.array_num_value(23) := p_source_76;
35119
35120 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35124 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35121 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35122
35123 ---------------------------------------------------------------------------------------------------------------
35125 ---------------------------------------------------------------------------------------------------------------
35126 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35127
35128 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35129 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35130
35131 IF xla_accounting_cache_pkg.GetValueChar
35132 (p_source_code => 'LEDGER_CATEGORY_CODE'
35133 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35134 AND l_bflow_method_code = 'PRIOR_ENTRY'
35135 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35136 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35137 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35138 )
35139 THEN
35140 xla_ae_lines_pkg.BflowUpgEntry
35141 (p_business_method_code => l_bflow_method_code
35142 ,p_business_class_code => l_bflow_class_code
35143 ,p_balance_type => l_balance_type_code);
35144 ELSE
35145 NULL;
35146 XLA_AE_LINES_PKG.business_flow_validation(
35147 p_business_method_code => l_bflow_method_code
35148 ,p_business_class_code => l_bflow_class_code
35149 ,p_inherit_description_flag => l_inherit_desc_flag);
35150 END IF;
35151
35152 --
35153 -- call analytical criteria
35154 --
35155
35156 --
35157 -- call description
35158 --
35159 -- No description or it is inherited.
35160 --
35161 -- call ADRs
35162 -- Bug 4922099
35163 --
35164 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35165 (NVL(l_actual_upg_option, 'N') = 'O') OR
35166 (NVL(l_enc_upg_option, 'N') = 'O')
35167 )
35168 THEN
35169 NULL;
35170 --
35171 --
35172
35173 l_ccid := AcctDerRule_35(
35174 p_application_id => p_application_id
35175 , p_ae_header_id => l_ae_header_id
35176 , p_source_23 => p_source_23
35177 , x_transaction_coa_id => l_adr_transaction_coa_id
35178 , x_accounting_coa_id => l_adr_accounting_coa_id
35179 , x_value_type_code => l_adr_value_type_code
35180 , p_side => 'NA'
35181 );
35182
35183 xla_ae_lines_pkg.set_ccid(
35184 p_code_combination_id => l_ccid
35185 , p_value_type_code => l_adr_value_type_code
35186 , p_transaction_coa_id => l_adr_transaction_coa_id
35187 , p_accounting_coa_id => l_adr_accounting_coa_id
35188 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35189 , p_adr_type_code => 'S'
35190 , p_component_type => l_component_type
35191 , p_component_code => l_component_code
35192 , p_component_type_code => l_component_type_code
35193 , p_component_appl_id => l_component_appl_id
35194 , p_amb_context_code => l_amb_context_code
35195 , p_side => 'NA'
35196 );
35197
35198
35199 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
35200 p_to_segment_code => 'GL_BALANCING'
35201 , p_segment_value => C_CHAR
35202 , p_from_segment_code => NULL
35203 , p_from_combination_id => NULL
35204 , p_value_type_code => NULL
35205 , p_transaction_coa_id => null
35206 , p_accounting_coa_id => null
35207 , p_flexfield_segment_code => NULL
35208 , p_flex_value_set_id => NULL
35209 , p_adr_code => NULL
35210 , p_adr_type_code => NULL
35211 , p_component_type => l_component_type
35212 , p_component_code => l_component_code
35213 , p_component_type_code => l_component_type_code
35214 , p_component_appl_id => l_component_appl_id
35215 , p_amb_context_code => l_amb_context_code
35216 , p_entity_code => 'AP_PAYMENTS'
35217 , p_event_class_code => 'REFUNDS'
35218 , p_side => 'NA'
35219 );
35220 --
35221
35222
35223 --
35224 --
35225 END IF;
35226 --
35227 -- Bug 4922099
35228 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35229 (NVL(l_enc_upg_option, 'N') = 'O')
35230 ) AND
35231 (l_bflow_method_code = 'PRIOR_ENTRY')
35232 )
35233 THEN
35234 IF
35235 --
35236 1 = 2
35237 --
35238 THEN
35239 xla_accounting_err_pkg.build_message
35240 (p_appli_s_name => 'XLA'
35241 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35242 ,p_token_1 => 'LINE_NUMBER'
35246 l_component_type
35243 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35244 ,p_token_2 => 'LINE_TYPE_NAME'
35245 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35247 ,l_component_code
35248 ,l_component_type_code
35249 ,l_component_appl_id
35250 ,l_amb_context_code
35251 ,l_entity_code
35252 ,l_event_class_code
35253 )
35254 ,p_token_3 => 'OWNER'
35255 ,p_value_3 => xla_lookups_pkg.get_meaning(
35256 p_lookup_type => 'XLA_OWNER_TYPE'
35257 ,p_lookup_code => l_component_type_code
35258 )
35259 ,p_token_4 => 'PRODUCT_NAME'
35260 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35261 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35262 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35263 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35264 ,p_ae_header_id => NULL
35265 );
35266
35267 IF (C_LEVEL_ERROR>= g_log_level) THEN
35268 trace
35269 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35270 ,p_level => C_LEVEL_ERROR
35271 ,p_module => l_log_module);
35272 END IF;
35273 END IF;
35274 END IF;
35275 --
35276 --
35277 ------------------------------------------------------------------------------------------------
35278 -- 4219869 Business Flow
35279 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
35280 -- Prior Entry. Currently, the following code is always generated.
35281 ------------------------------------------------------------------------------------------------
35282 XLA_AE_LINES_PKG.ValidateCurrentLine;
35283
35284 ------------------------------------------------------------------------------------
35285 -- 4219869 Business Flow
35286 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
35287 ------------------------------------------------------------------------------------
35288 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35289
35290 ----------------------------------------------------------------------------------
35291 -- 4219869 Business Flow
35292 -- Update journal entry status -- Need to generate this within IF <condition>
35293 ----------------------------------------------------------------------------------
35294 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35295 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
35296 ,p_balance_type_code => l_balance_type_code
35297 );
35298
35299 -------------------------------------------------------------------------------------------
35300 -- 4262811 - Generate the Accrual Reversal lines
35301 -------------------------------------------------------------------------------------------
35302 BEGIN
35303 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
35304 (g_array_event(p_event_id).array_value_num('header_index'));
35305 IF l_acc_rev_flag IS NULL THEN
35306 l_acc_rev_flag := 'N';
35307 END IF;
35308 EXCEPTION
35309 WHEN OTHERS THEN
35310 l_acc_rev_flag := 'N';
35311 END;
35312 --
35313 IF (l_acc_rev_flag = 'Y') THEN
35314
35315 -- 4645092 ------------------------------------------------------------------------------
35316 -- To allow MPA report to determine if it should generate report process
35317 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
35318 ------------------------------------------------------------------------------------------
35319
35320 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
35321 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
35322 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
35323 -- call ADRs
35324 -- Bug 4922099
35325 --
35326 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35327 (NVL(l_actual_upg_option, 'N') = 'O') OR
35328 (NVL(l_enc_upg_option, 'N') = 'O')
35329 )
35330 THEN
35331 NULL;
35332 --
35333 --
35334
35335 l_ccid := AcctDerRule_35(
35336 p_application_id => p_application_id
35337 , p_ae_header_id => l_ae_header_id
35341 , x_value_type_code => l_adr_value_type_code
35338 , p_source_23 => p_source_23
35339 , x_transaction_coa_id => l_adr_transaction_coa_id
35340 , x_accounting_coa_id => l_adr_accounting_coa_id
35342 , p_side => 'NA'
35343 );
35344
35345 xla_ae_lines_pkg.set_ccid(
35346 p_code_combination_id => l_ccid
35347 , p_value_type_code => l_adr_value_type_code
35348 , p_transaction_coa_id => l_adr_transaction_coa_id
35349 , p_accounting_coa_id => l_adr_accounting_coa_id
35350 , p_adr_code => 'AP_PMT_CASH_CLEAR'
35351 , p_adr_type_code => 'S'
35352 , p_component_type => l_component_type
35353 , p_component_code => l_component_code
35354 , p_component_type_code => l_component_type_code
35355 , p_component_appl_id => l_component_appl_id
35356 , p_amb_context_code => l_amb_context_code
35357 , p_side => 'NA'
35358 );
35359
35360
35361 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
35362 p_to_segment_code => 'GL_BALANCING'
35363 , p_segment_value => C_CHAR
35364 , p_from_segment_code => NULL
35365 , p_from_combination_id => NULL
35366 , p_value_type_code => NULL
35367 , p_transaction_coa_id => null
35368 , p_accounting_coa_id => null
35369 , p_flexfield_segment_code => NULL
35370 , p_flex_value_set_id => NULL
35371 , p_adr_code => NULL
35372 , p_adr_type_code => NULL
35373 , p_component_type => l_component_type
35374 , p_component_code => l_component_code
35375 , p_component_type_code => l_component_type_code
35376 , p_component_appl_id => l_component_appl_id
35377 , p_amb_context_code => l_amb_context_code
35378 , p_entity_code => 'AP_PAYMENTS'
35379 , p_event_class_code => 'REFUNDS'
35380 , p_side => 'NA'
35381 );
35382 --
35383
35384
35385 --
35386 --
35387 END IF;
35388
35389 --
35390 -- Update the line information that should be overwritten
35391 --
35392 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
35393 p_header_num => 1);
35394 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
35395
35396 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
35397
35398 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
35399 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
35400 END IF;
35401
35402 --
35403 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
35404 --
35405 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
35406 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
35407 ELSE
35408 ---------------------------------------------------------------------------------------------------
35409 -- 4262811a Switch Sign
35410 ---------------------------------------------------------------------------------------------------
35411 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
35412 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35413 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35414 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
35415 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35416 -- 5132302
35417 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
35418 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
35419
35420 END IF;
35421
35422 -- 4955764
35423 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35424 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
35425
35426
35427 XLA_AE_LINES_PKG.ValidateCurrentLine;
35428 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
35429
35430 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
35431 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
35432 ,p_balance_type_code => l_balance_type_code);
35433
35434 END IF;
35435
35436 -----------------------------------------------------------------------------------------
35437 -- 4262811 Multiperiod Accounting
35438 -----------------------------------------------------------------------------------------
35439 -- No MPA option is assigned.
35440
35441
35442 END IF;
35443 END IF;
35444 --
35445
35446 --
35447 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35448 trace
35449 (p_msg => 'END of AcctLineType_85'
35450 ,p_level => C_LEVEL_PROCEDURE
35451 ,p_module => l_log_module);
35452 END IF;
35453 --
35457 WHEN OTHERS THEN
35454 EXCEPTION
35455 WHEN xla_exceptions_pkg.application_exception THEN
35456 RAISE;
35458 xla_exceptions_pkg.raise_message
35459 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_85');
35460 END AcctLineType_85;
35461 --
35462
35463 ---------------------------------------
35464 --
35465 -- PRIVATE FUNCTION
35466 -- AcctLineType_86
35467 --
35468 ---------------------------------------
35469 PROCEDURE AcctLineType_86 (
35470 p_application_id IN NUMBER
35471 ,p_event_id IN NUMBER
35472 ,p_calculate_acctd_flag IN VARCHAR2
35473 ,p_calculate_g_l_flag IN VARCHAR2
35474 ,p_actual_flag IN OUT VARCHAR2
35475 ,p_balance_type_code OUT VARCHAR2
35476 ,p_gain_or_loss_ref OUT VARCHAR2
35477
35478 --Automatic Offsets Value
35479 , p_source_3 IN VARCHAR2
35480 , p_source_3_meaning IN VARCHAR2
35481 --Bank Cash Clearing Account
35482 , p_source_23 IN NUMBER
35483 --Accounting Reversal Indicator
35484 , p_source_41 IN VARCHAR2
35485 --Distribution Link Type
35486 , p_source_43 IN VARCHAR2
35487 --Override Accounted Amount Indicator
35488 , p_source_68 IN VARCHAR2
35489 , p_source_68_meaning IN VARCHAR2
35490 --Third Party Type
35491 , p_source_71 IN VARCHAR2
35492 --Invoice Distribution Tax Line Identifier
35493 , p_source_74 IN NUMBER
35494 --Invoice Distribution Tax Distribution Identifier from Tax
35495 , p_source_75 IN NUMBER
35496 --Invoice Distribution Summary Tax Line Identifier
35497 , p_source_76 IN NUMBER
35498 --Business Flow Accounts Payable Application Identifier
35499 , p_source_79 IN NUMBER
35500 --Business Flow Invoice Distribution Type
35501 , p_source_80 IN VARCHAR2
35502 --Business Flow Invoice Entity Code
35503 , p_source_81 IN VARCHAR2
35504 --Business Flow Invoice Distribution Identifier
35505 , p_source_82 IN NUMBER
35506 --Business Flow Invoice Identifier
35507 , p_source_83 IN NUMBER
35508 --When to Account for Payment Option
35509 , p_source_89 IN VARCHAR2
35510 --Payment Distribution Type
35511 , p_source_90 IN VARCHAR2
35512 , p_source_90_meaning IN VARCHAR2
35513 --Payment Distribution Amount
35514 , p_source_91 IN NUMBER
35515 --Payment Distribution Identifier
35516 , p_source_96 IN NUMBER
35517 --Payment Supplier Identifier
35518 , p_source_102 IN NUMBER
35519 --Payment Supplier Site Identifier
35520 , p_source_103 IN NUMBER
35521 --Payment Distribution Reversed Identifier
35522 , p_source_104 IN NUMBER
35523 --Pooled Bank Account Option
35524 , p_source_105 IN VARCHAR2
35525 , p_source_105_meaning IN VARCHAR2
35526 --Payment Currency Code
35527 , p_source_106 IN VARCHAR2
35528 --Payment Maturity Date
35529 , p_source_107 IN DATE
35530 --Payment Distribution (Invoice Rate) Ledger Amount
35531 , p_source_109 IN NUMBER
35532 --Payment Exchange Date
35533 , p_source_110 IN DATE
35534 --Payment Exchange Rate
35535 , p_source_111 IN NUMBER
35536 --Payment Exchange Rate Type
35537 , p_source_112 IN VARCHAR2
35538 --Payment Type
35539 , p_source_115 IN VARCHAR2
35540 , p_source_115_meaning IN VARCHAR2
35541 )
35542 IS
35543
35544 l_component_type VARCHAR2(80);
35545 l_component_code VARCHAR2(30);
35546 l_component_type_code VARCHAR2(1);
35547 l_component_appl_id INTEGER;
35548 l_amb_context_code VARCHAR2(30);
35549 l_entity_code VARCHAR2(30);
35550 l_event_class_code VARCHAR2(30);
35551 l_ae_header_id NUMBER;
35552 l_event_type_code VARCHAR2(30);
35553 l_line_definition_code VARCHAR2(30);
35554 l_line_definition_owner_code VARCHAR2(1);
35555 --
35556 -- adr variables
35557 l_segment VARCHAR2(30);
35558 l_ccid NUMBER;
35559 l_adr_transaction_coa_id NUMBER;
35560 l_adr_accounting_coa_id NUMBER;
35561 l_adr_flexfield_segment_code VARCHAR2(30);
35562 l_adr_flex_value_set_id NUMBER;
35563 l_adr_value_type_code VARCHAR2(30);
35564 l_adr_value_combination_id NUMBER;
35565 l_adr_value_segment_code VARCHAR2(30);
35566
35567 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
35568 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
35569 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
35570 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
35571
35572 -- 4262811 Variables ------------------------------------------------------------------------------------------
35573 l_entered_amt_idx NUMBER;
35574 l_accted_amt_idx NUMBER;
35575 l_acc_rev_flag VARCHAR2(1);
35576 l_accrual_line_num NUMBER;
35577 l_tmp_amt NUMBER;
35578 l_acc_rev_natural_side_code VARCHAR2(1);
35579
35580 l_num_entries NUMBER;
35581 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
35582 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
35583 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
35584 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
35588 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
35585 l_recog_line_1 NUMBER;
35586 l_recog_line_2 NUMBER;
35587
35589 l_bflow_applied_to_amt NUMBER; -- 5132302
35590 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
35591
35592 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
35593
35594 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
35595 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
35596
35597 ---------------------------------------------------------------------------------------------------------------
35598
35599
35600 --
35601 -- bulk performance
35602 --
35603 l_balance_type_code VARCHAR2(1);
35604 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
35605 l_log_module VARCHAR2(240);
35606
35607 --
35608 -- Upgrade strategy
35609 --
35610 l_actual_upg_option VARCHAR2(1);
35611 l_enc_upg_option VARCHAR2(1);
35612
35613 --
35614 BEGIN
35615 --
35616 IF g_log_enabled THEN
35617 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_86';
35618 END IF;
35619 --
35620 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
35621
35622 trace
35623 (p_msg => 'BEGIN of AcctLineType_86'
35624 ,p_level => C_LEVEL_PROCEDURE
35625 ,p_module => l_log_module);
35626
35627 END IF;
35628 --
35629 l_component_type := 'AMB_JLT';
35630 l_component_code := 'AP_CASH_CLEAR_REF_AS_INVXRATE';
35631 l_component_type_code := 'S';
35632 l_component_appl_id := 200;
35633 l_amb_context_code := 'DEFAULT';
35634 l_entity_code := 'AP_PAYMENTS';
35635 l_event_class_code := 'REFUNDS';
35636 l_event_type_code := 'REFUNDS_ALL';
35637 l_line_definition_owner_code := 'S';
35638 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
35639 --
35640 l_balance_type_code := 'A';
35641 l_segment := NULL;
35642 l_ccid := NULL;
35643 l_adr_transaction_coa_id := NULL;
35644 l_adr_accounting_coa_id := NULL;
35645 l_adr_flexfield_segment_code := NULL;
35646 l_adr_flex_value_set_id := NULL;
35647 l_adr_value_type_code := NULL;
35648 l_adr_value_combination_id := NULL;
35649 l_adr_value_segment_code := NULL;
35650
35651 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
35652 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
35653 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
35654 l_budgetary_control_flag := 'N';
35655
35656 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35657 l_bflow_applied_to_amt := NULL; -- 5132302
35658 l_entered_amt_idx := NULL; -- 4262811
35659 l_accted_amt_idx := NULL; -- 4262811
35660 l_acc_rev_flag := NULL; -- 4262811
35661 l_accrual_line_num := NULL; -- 4262811
35662 l_tmp_amt := NULL; -- 4262811
35663 --
35664
35665 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
35666 l_balance_type_code <> 'B' THEN
35667 IF NVL(p_source_89,'
35668 ') = 'ALWAYS_CLEAR' AND
35669 (NVL(p_source_105,'
35670 ') = 'Y' AND
35671 NVL(p_source_3,'
35672 ') = 'ACCOUNT_SEGMENT_VALUE') AND
35673 p_source_107 IS NULL AND
35674 NVL(p_source_90,'
35675 ') = 'CASH' AND
35676 NVL(p_source_115,'
35677 ') = 'R'
35678 THEN
35679
35680 --
35681 XLA_AE_LINES_PKG.SetNewLine;
35682
35683 p_balance_type_code := l_balance_type_code;
35684 -- set the flag so later we will know whether the gain loss line needs to be created
35685
35686 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
35687 p_actual_flag :='A';
35688 END IF;
35689
35690 --
35691 -- bulk performance
35692 --
35693 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
35694 p_header_num => 0); -- 4262811
35695 --
35696 -- set accounting line options
35697 --
35698 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
35699 p_natural_side_code => 'C'
35700 , p_gain_or_loss_flag => 'N'
35701 , p_gl_transfer_mode_code => 'S'
35702 , p_acct_entry_type_code => 'A'
35703 , p_switch_side_flag => 'Y'
35704 , p_merge_duplicate_code => 'A'
35705 );
35706 --
35707 l_acc_rev_natural_side_code := 'D'; -- 4262811
35708 --
35709 --
35710 -- set accounting line type info
35711 --
35712 xla_ae_lines_pkg.SetAcctLineType
35713 (p_component_type => l_component_type
35714 ,p_event_type_code => l_event_type_code
35715 ,p_line_definition_owner_code => l_line_definition_owner_code
35716 ,p_line_definition_code => l_line_definition_code
35717 ,p_accounting_line_code => l_component_code
35718 ,p_accounting_line_type_code => l_component_type_code
35719 ,p_accounting_line_appl_id => l_component_appl_id
35723 --
35720 ,p_amb_context_code => l_amb_context_code
35721 ,p_entity_code => l_entity_code
35722 ,p_event_class_code => l_event_class_code);
35724 -- set accounting class
35725 --
35726 xla_ae_lines_pkg.SetAcctClass(
35727 p_accounting_class_code => 'CASH_CLEARING'
35728 , p_ae_header_id => l_ae_header_id
35729 );
35730
35731 --
35732 -- set rounding class
35733 --
35734 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
35735 'CASH_CLEARING';
35736
35737 --
35738 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
35739 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
35740 --
35741 -- bulk performance
35742 --
35743 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
35744
35745 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
35746 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
35747
35748 -- 4955764
35749 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
35750 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
35751
35752 -- 4458381 Public Sector Enh
35753
35754 --
35755 -- set accounting attributes for the line type
35756 --
35757 l_entered_amt_idx := 9;
35758 l_accted_amt_idx := 14;
35759 l_bflow_applied_to_amt_idx := NULL; -- 5132302
35760 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
35761 l_rec_acct_attrs.array_char_value(1) := p_source_41;
35762 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
35763 l_rec_acct_attrs.array_num_value(2) := p_source_79;
35764 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
35765 l_rec_acct_attrs.array_char_value(3) := p_source_80;
35766 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
35767 l_rec_acct_attrs.array_char_value(4) := p_source_81;
35768 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
35769 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
35770 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
35771 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
35772 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
35773 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
35774 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
35775 l_rec_acct_attrs.array_char_value(8) := p_source_43;
35776 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
35777 l_rec_acct_attrs.array_num_value(9) := p_source_91;
35778 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
35779 l_rec_acct_attrs.array_char_value(10) := p_source_106;
35780 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
35781 l_rec_acct_attrs.array_date_value(11) := p_source_110;
35782 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
35783 l_rec_acct_attrs.array_num_value(12) := p_source_111;
35784 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
35785 l_rec_acct_attrs.array_char_value(13) := p_source_112;
35786 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
35787 l_rec_acct_attrs.array_num_value(14) := p_source_109;
35788 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
35789 l_rec_acct_attrs.array_char_value(15) := p_source_68;
35790 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
35791 l_rec_acct_attrs.array_num_value(16) := p_source_102;
35792 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
35793 l_rec_acct_attrs.array_num_value(17) := p_source_103;
35794 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
35795 l_rec_acct_attrs.array_char_value(18) := p_source_71;
35796 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
35797 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
35798 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
35799 l_rec_acct_attrs.array_char_value(20) := p_source_43;
35800 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
35801 l_rec_acct_attrs.array_num_value(21) := p_source_74;
35802 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
35803 l_rec_acct_attrs.array_num_value(22) := p_source_75;
35804 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
35805 l_rec_acct_attrs.array_num_value(23) := p_source_76;
35806
35807 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
35808 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
35809
35810 ---------------------------------------------------------------------------------------------------------------
35811 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
35812 ---------------------------------------------------------------------------------------------------------------
35813 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
35814
35815 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35819 (p_source_code => 'LEDGER_CATEGORY_CODE'
35816 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
35817
35818 IF xla_accounting_cache_pkg.GetValueChar
35820 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
35821 AND l_bflow_method_code = 'PRIOR_ENTRY'
35822 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
35823 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
35824 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
35825 )
35826 THEN
35827 xla_ae_lines_pkg.BflowUpgEntry
35828 (p_business_method_code => l_bflow_method_code
35829 ,p_business_class_code => l_bflow_class_code
35830 ,p_balance_type => l_balance_type_code);
35831 ELSE
35832 NULL;
35833 XLA_AE_LINES_PKG.business_flow_validation(
35834 p_business_method_code => l_bflow_method_code
35835 ,p_business_class_code => l_bflow_class_code
35836 ,p_inherit_description_flag => l_inherit_desc_flag);
35837 END IF;
35838
35839 --
35840 -- call analytical criteria
35841 --
35842
35843 --
35844 -- call description
35845 --
35846 -- No description or it is inherited.
35847 --
35848 -- call ADRs
35849 -- Bug 4922099
35850 --
35851 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
35852 (NVL(l_actual_upg_option, 'N') = 'O') OR
35853 (NVL(l_enc_upg_option, 'N') = 'O')
35854 )
35855 THEN
35856 NULL;
35857 --
35858 --
35859
35860 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
35861 p_code_combination_id => TO_NUMBER(C_NUM)
35862 , p_value_type_code => NULL
35863 , p_transaction_coa_id => null
35864 , p_accounting_coa_id => null
35865 , p_adr_code => NULL
35866 , p_adr_type_code => NULL
35867 , p_component_type => l_component_type
35868 , p_component_code => l_component_code
35869 , p_component_type_code => l_component_type_code
35870 , p_component_appl_id => l_component_appl_id
35871 , p_amb_context_code => l_amb_context_code
35872 , p_side => NULL
35873 );
35874
35875
35876 -- initialise segments
35877 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35878 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35879 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35880 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35881 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35882 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35883 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35884 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35885 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35886 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35887 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35888 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35889 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35890 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35891 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35892 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35893 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35894 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35895 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35896 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35897 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35898 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35899 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35900 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35901 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35902 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35903 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35904 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35905 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35906 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
35907 --
35908
35909 --
35910
35911
35912 l_segment := AcctDerRule_15(
35913 p_application_id => p_application_id
35914 , p_ae_header_id => l_ae_header_id
35915 , p_source_23 => p_source_23
35916 , x_transaction_coa_id => l_adr_transaction_coa_id
35920 , x_value_type_code => l_adr_value_type_code
35917 , x_accounting_coa_id => l_adr_accounting_coa_id
35918 , x_flexfield_segment_code => l_adr_flexfield_segment_code
35919 , x_flex_value_set_id => l_adr_flex_value_set_id
35921 , x_value_combination_id => l_adr_value_combination_id
35922 , x_value_segment_code => l_adr_value_segment_code
35923 , p_side => 'NA'
35924 , p_override_seg_flag => 'Y'
35925 );
35926
35927 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
35928
35929 xla_ae_lines_pkg.set_segment(
35930 p_to_segment_code => 'GL_ACCOUNT'
35931 , p_segment_value => l_segment
35932 , p_from_segment_code => l_adr_value_segment_code
35933 , p_from_combination_id => l_adr_value_combination_id
35934 , p_value_type_code => l_adr_value_type_code
35935 , p_transaction_coa_id => l_adr_transaction_coa_id
35936 , p_accounting_coa_id => l_adr_accounting_coa_id
35937 , p_flexfield_segment_code => l_adr_flexfield_segment_code
35938 , p_flex_value_set_id => l_adr_flex_value_set_id
35939 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
35940 , p_adr_type_code => 'S'
35941 , p_component_type => l_component_type
35942 , p_component_code => l_component_code
35943 , p_component_type_code => l_component_type_code
35944 , p_component_appl_id => l_component_appl_id
35945 , p_amb_context_code => l_amb_context_code
35946 , p_entity_code => 'AP_PAYMENTS'
35947 , p_event_class_code => 'REFUNDS'
35948 , p_side => 'NA'
35949 );
35950
35951 END IF;
35952
35953 --
35954 --
35955 END IF;
35956 --
35957 -- Bug 4922099
35958 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
35959 (NVL(l_enc_upg_option, 'N') = 'O')
35960 ) AND
35961 (l_bflow_method_code = 'PRIOR_ENTRY')
35962 )
35963 THEN
35964 IF
35965 --
35966 1 = 2
35967 --
35968 THEN
35969 xla_accounting_err_pkg.build_message
35970 (p_appli_s_name => 'XLA'
35971 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
35972 ,p_token_1 => 'LINE_NUMBER'
35973 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
35974 ,p_token_2 => 'LINE_TYPE_NAME'
35975 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
35976 l_component_type
35977 ,l_component_code
35978 ,l_component_type_code
35979 ,l_component_appl_id
35980 ,l_amb_context_code
35981 ,l_entity_code
35982 ,l_event_class_code
35983 )
35984 ,p_token_3 => 'OWNER'
35985 ,p_value_3 => xla_lookups_pkg.get_meaning(
35986 p_lookup_type => 'XLA_OWNER_TYPE'
35987 ,p_lookup_code => l_component_type_code
35988 )
35989 ,p_token_4 => 'PRODUCT_NAME'
35990 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
35991 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
35992 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
35993 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
35994 ,p_ae_header_id => NULL
35995 );
35996
35997 IF (C_LEVEL_ERROR>= g_log_level) THEN
35998 trace
35999 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36000 ,p_level => C_LEVEL_ERROR
36001 ,p_module => l_log_module);
36002 END IF;
36003 END IF;
36004 END IF;
36005 --
36006 --
36007 ------------------------------------------------------------------------------------------------
36008 -- 4219869 Business Flow
36009 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36010 -- Prior Entry. Currently, the following code is always generated.
36011 ------------------------------------------------------------------------------------------------
36012 XLA_AE_LINES_PKG.ValidateCurrentLine;
36013
36017 ------------------------------------------------------------------------------------
36014 ------------------------------------------------------------------------------------
36015 -- 4219869 Business Flow
36016 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36018 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36019
36020 ----------------------------------------------------------------------------------
36021 -- 4219869 Business Flow
36022 -- Update journal entry status -- Need to generate this within IF <condition>
36023 ----------------------------------------------------------------------------------
36024 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36025 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36026 ,p_balance_type_code => l_balance_type_code
36027 );
36028
36029 -------------------------------------------------------------------------------------------
36030 -- 4262811 - Generate the Accrual Reversal lines
36031 -------------------------------------------------------------------------------------------
36032 BEGIN
36033 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36034 (g_array_event(p_event_id).array_value_num('header_index'));
36035 IF l_acc_rev_flag IS NULL THEN
36036 l_acc_rev_flag := 'N';
36037 END IF;
36038 EXCEPTION
36039 WHEN OTHERS THEN
36040 l_acc_rev_flag := 'N';
36041 END;
36042 --
36043 IF (l_acc_rev_flag = 'Y') THEN
36044
36045 -- 4645092 ------------------------------------------------------------------------------
36046 -- To allow MPA report to determine if it should generate report process
36047 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36048 ------------------------------------------------------------------------------------------
36049
36050 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36051 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36052 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36053 -- call ADRs
36054 -- Bug 4922099
36055 --
36056 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36057 (NVL(l_actual_upg_option, 'N') = 'O') OR
36058 (NVL(l_enc_upg_option, 'N') = 'O')
36059 )
36060 THEN
36061 NULL;
36062 --
36063 --
36064
36065 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
36066 p_code_combination_id => TO_NUMBER(C_NUM)
36067 , p_value_type_code => NULL
36068 , p_transaction_coa_id => null
36069 , p_accounting_coa_id => null
36070 , p_adr_code => NULL
36071 , p_adr_type_code => NULL
36072 , p_component_type => l_component_type
36073 , p_component_code => l_component_code
36074 , p_component_type_code => l_component_type_code
36075 , p_component_appl_id => l_component_appl_id
36076 , p_amb_context_code => l_amb_context_code
36077 , p_side => NULL
36078 );
36079
36080
36081 -- initialise segments
36082 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36083 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36084 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36085 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36086 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36087 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36088 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36089 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36090 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36091 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36092 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36093 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36094 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36095 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36096 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36097 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36098 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36099 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36100 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36101 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36102 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36103 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36104 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36105 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36106 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36107 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36108 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36112 --
36109 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36110 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36111 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
36113
36114 --
36115
36116
36117 l_segment := AcctDerRule_15(
36118 p_application_id => p_application_id
36119 , p_ae_header_id => l_ae_header_id
36120 , p_source_23 => p_source_23
36121 , x_transaction_coa_id => l_adr_transaction_coa_id
36122 , x_accounting_coa_id => l_adr_accounting_coa_id
36123 , x_flexfield_segment_code => l_adr_flexfield_segment_code
36124 , x_flex_value_set_id => l_adr_flex_value_set_id
36125 , x_value_type_code => l_adr_value_type_code
36126 , x_value_combination_id => l_adr_value_combination_id
36127 , x_value_segment_code => l_adr_value_segment_code
36128 , p_side => 'NA'
36129 , p_override_seg_flag => 'Y'
36130 );
36131
36132 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
36133
36134 xla_ae_lines_pkg.set_segment(
36135 p_to_segment_code => 'GL_ACCOUNT'
36136 , p_segment_value => l_segment
36137 , p_from_segment_code => l_adr_value_segment_code
36138 , p_from_combination_id => l_adr_value_combination_id
36139 , p_value_type_code => l_adr_value_type_code
36140 , p_transaction_coa_id => l_adr_transaction_coa_id
36141 , p_accounting_coa_id => l_adr_accounting_coa_id
36142 , p_flexfield_segment_code => l_adr_flexfield_segment_code
36143 , p_flex_value_set_id => l_adr_flex_value_set_id
36144 , p_adr_code => 'AP_PMT_CASH_CLEAR_NAT_ACC_POOL'
36145 , p_adr_type_code => 'S'
36146 , p_component_type => l_component_type
36147 , p_component_code => l_component_code
36148 , p_component_type_code => l_component_type_code
36149 , p_component_appl_id => l_component_appl_id
36150 , p_amb_context_code => l_amb_context_code
36151 , p_entity_code => 'AP_PAYMENTS'
36152 , p_event_class_code => 'REFUNDS'
36153 , p_side => 'NA'
36154 );
36155
36156 END IF;
36157
36158 --
36159 --
36160 END IF;
36161
36162 --
36163 -- Update the line information that should be overwritten
36164 --
36165 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36166 p_header_num => 1);
36167 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36168
36169 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36170
36171 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36172 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36173 END IF;
36174
36175 --
36176 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36177 --
36178 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36179 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36180 ELSE
36181 ---------------------------------------------------------------------------------------------------
36182 -- 4262811a Switch Sign
36183 ---------------------------------------------------------------------------------------------------
36184 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36185 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36187 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36188 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36189 -- 5132302
36190 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36191 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36192
36193 END IF;
36194
36195 -- 4955764
36196 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36197 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36198
36199
36200 XLA_AE_LINES_PKG.ValidateCurrentLine;
36201 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36202
36203 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36204 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36205 ,p_balance_type_code => l_balance_type_code);
36206
36207 END IF;
36208
36209 -----------------------------------------------------------------------------------------
36210 -- 4262811 Multiperiod Accounting
36211 -----------------------------------------------------------------------------------------
36212 -- No MPA option is assigned.
36213
36214
36215 END IF;
36216 END IF;
36217 --
36218
36222 (p_msg => 'END of AcctLineType_86'
36219 --
36220 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36221 trace
36223 ,p_level => C_LEVEL_PROCEDURE
36224 ,p_module => l_log_module);
36225 END IF;
36226 --
36227 EXCEPTION
36228 WHEN xla_exceptions_pkg.application_exception THEN
36229 RAISE;
36230 WHEN OTHERS THEN
36231 xla_exceptions_pkg.raise_message
36232 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_86');
36233 END AcctLineType_86;
36234 --
36235
36236 ---------------------------------------
36237 --
36238 -- PRIVATE FUNCTION
36239 -- AcctLineType_87
36240 --
36241 ---------------------------------------
36242 PROCEDURE AcctLineType_87 (
36243 p_application_id IN NUMBER
36244 ,p_event_id IN NUMBER
36245 ,p_calculate_acctd_flag IN VARCHAR2
36246 ,p_calculate_g_l_flag IN VARCHAR2
36247 ,p_actual_flag IN OUT VARCHAR2
36248 ,p_balance_type_code OUT VARCHAR2
36249 ,p_gain_or_loss_ref OUT VARCHAR2
36250
36251 --Automatic Offsets Value
36252 , p_source_3 IN VARCHAR2
36253 , p_source_3_meaning IN VARCHAR2
36254 --Bank Cash Clearing Account
36255 , p_source_23 IN NUMBER
36256 --Accounting Reversal Indicator
36257 , p_source_41 IN VARCHAR2
36258 --Distribution Link Type
36259 , p_source_43 IN VARCHAR2
36260 --Override Accounted Amount Indicator
36261 , p_source_68 IN VARCHAR2
36262 , p_source_68_meaning IN VARCHAR2
36263 --Third Party Type
36264 , p_source_71 IN VARCHAR2
36265 --Invoice Distribution Tax Line Identifier
36266 , p_source_74 IN NUMBER
36267 --Invoice Distribution Tax Distribution Identifier from Tax
36268 , p_source_75 IN NUMBER
36269 --Invoice Distribution Summary Tax Line Identifier
36270 , p_source_76 IN NUMBER
36271 --Business Flow Accounts Payable Application Identifier
36272 , p_source_79 IN NUMBER
36273 --Business Flow Invoice Distribution Type
36274 , p_source_80 IN VARCHAR2
36275 --Business Flow Invoice Entity Code
36276 , p_source_81 IN VARCHAR2
36277 --Business Flow Invoice Distribution Identifier
36278 , p_source_82 IN NUMBER
36279 --Business Flow Invoice Identifier
36280 , p_source_83 IN NUMBER
36281 --When to Account for Payment Option
36282 , p_source_89 IN VARCHAR2
36283 --Payment Distribution Type
36284 , p_source_90 IN VARCHAR2
36285 , p_source_90_meaning IN VARCHAR2
36286 --Payment Distribution Amount
36287 , p_source_91 IN NUMBER
36288 --Payment Distribution Identifier
36289 , p_source_96 IN NUMBER
36290 --Payment Supplier Identifier
36291 , p_source_102 IN NUMBER
36292 --Payment Supplier Site Identifier
36293 , p_source_103 IN NUMBER
36294 --Payment Distribution Reversed Identifier
36295 , p_source_104 IN NUMBER
36296 --Pooled Bank Account Option
36297 , p_source_105 IN VARCHAR2
36298 , p_source_105_meaning IN VARCHAR2
36299 --Payment Currency Code
36300 , p_source_106 IN VARCHAR2
36301 --Payment Maturity Date
36302 , p_source_107 IN DATE
36303 --Payment Distribution (Invoice Rate) Ledger Amount
36304 , p_source_109 IN NUMBER
36305 --Payment Exchange Date
36306 , p_source_110 IN DATE
36307 --Payment Exchange Rate
36308 , p_source_111 IN NUMBER
36309 --Payment Exchange Rate Type
36310 , p_source_112 IN VARCHAR2
36311 --Payment Type
36312 , p_source_115 IN VARCHAR2
36313 , p_source_115_meaning IN VARCHAR2
36314 )
36315 IS
36316
36317 l_component_type VARCHAR2(80);
36318 l_component_code VARCHAR2(30);
36319 l_component_type_code VARCHAR2(1);
36320 l_component_appl_id INTEGER;
36321 l_amb_context_code VARCHAR2(30);
36322 l_entity_code VARCHAR2(30);
36323 l_event_class_code VARCHAR2(30);
36324 l_ae_header_id NUMBER;
36325 l_event_type_code VARCHAR2(30);
36326 l_line_definition_code VARCHAR2(30);
36327 l_line_definition_owner_code VARCHAR2(1);
36328 --
36329 -- adr variables
36330 l_segment VARCHAR2(30);
36331 l_ccid NUMBER;
36332 l_adr_transaction_coa_id NUMBER;
36333 l_adr_accounting_coa_id NUMBER;
36334 l_adr_flexfield_segment_code VARCHAR2(30);
36335 l_adr_flex_value_set_id NUMBER;
36336 l_adr_value_type_code VARCHAR2(30);
36337 l_adr_value_combination_id NUMBER;
36338 l_adr_value_segment_code VARCHAR2(30);
36339
36340 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
36341 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
36342 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
36343 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
36344
36345 -- 4262811 Variables ------------------------------------------------------------------------------------------
36346 l_entered_amt_idx NUMBER;
36347 l_accted_amt_idx NUMBER;
36348 l_acc_rev_flag VARCHAR2(1);
36349 l_accrual_line_num NUMBER;
36350 l_tmp_amt NUMBER;
36351 l_acc_rev_natural_side_code VARCHAR2(1);
36355 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
36352
36353 l_num_entries NUMBER;
36354 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
36356 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
36357 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
36358 l_recog_line_1 NUMBER;
36359 l_recog_line_2 NUMBER;
36360
36361 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
36362 l_bflow_applied_to_amt NUMBER; -- 5132302
36363 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
36364
36365 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
36366
36367 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
36368 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
36369
36370 ---------------------------------------------------------------------------------------------------------------
36371
36372
36373 --
36374 -- bulk performance
36375 --
36376 l_balance_type_code VARCHAR2(1);
36377 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
36378 l_log_module VARCHAR2(240);
36379
36380 --
36381 -- Upgrade strategy
36382 --
36383 l_actual_upg_option VARCHAR2(1);
36384 l_enc_upg_option VARCHAR2(1);
36385
36386 --
36387 BEGIN
36388 --
36389 IF g_log_enabled THEN
36390 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_87';
36391 END IF;
36392 --
36393 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36394
36395 trace
36396 (p_msg => 'BEGIN of AcctLineType_87'
36397 ,p_level => C_LEVEL_PROCEDURE
36398 ,p_module => l_log_module);
36399
36400 END IF;
36401 --
36402 l_component_type := 'AMB_JLT';
36403 l_component_code := 'AP_CASH_CLEAR_REF_BS_INVXRATE';
36404 l_component_type_code := 'S';
36405 l_component_appl_id := 200;
36406 l_amb_context_code := 'DEFAULT';
36407 l_entity_code := 'AP_PAYMENTS';
36408 l_event_class_code := 'REFUNDS';
36409 l_event_type_code := 'REFUNDS_ALL';
36410 l_line_definition_owner_code := 'S';
36411 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
36412 --
36413 l_balance_type_code := 'A';
36414 l_segment := NULL;
36415 l_ccid := NULL;
36416 l_adr_transaction_coa_id := NULL;
36417 l_adr_accounting_coa_id := NULL;
36418 l_adr_flexfield_segment_code := NULL;
36419 l_adr_flex_value_set_id := NULL;
36420 l_adr_value_type_code := NULL;
36421 l_adr_value_combination_id := NULL;
36422 l_adr_value_segment_code := NULL;
36423
36424 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
36425 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
36426 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
36427 l_budgetary_control_flag := 'N';
36428
36429 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36430 l_bflow_applied_to_amt := NULL; -- 5132302
36431 l_entered_amt_idx := NULL; -- 4262811
36432 l_accted_amt_idx := NULL; -- 4262811
36433 l_acc_rev_flag := NULL; -- 4262811
36434 l_accrual_line_num := NULL; -- 4262811
36435 l_tmp_amt := NULL; -- 4262811
36436 --
36437
36438 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
36439 l_balance_type_code <> 'B' THEN
36440 IF NVL(p_source_89,'
36441 ') = 'ALWAYS_CLEAR' AND
36442 (NVL(p_source_105,'
36443 ') = 'Y' AND
36444 NVL(p_source_3,'
36445 ') = 'BALANCING_SEGMENT') AND
36446 p_source_107 IS NULL AND
36447 NVL(p_source_90,'
36448 ') = 'CASH' AND
36449 NVL(p_source_115,'
36450 ') = 'R'
36451 THEN
36452
36453 --
36454 XLA_AE_LINES_PKG.SetNewLine;
36455
36456 p_balance_type_code := l_balance_type_code;
36457 -- set the flag so later we will know whether the gain loss line needs to be created
36458
36459 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
36460 p_actual_flag :='A';
36461 END IF;
36462
36463 --
36464 -- bulk performance
36465 --
36466 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
36467 p_header_num => 0); -- 4262811
36468 --
36469 -- set accounting line options
36470 --
36471 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
36472 p_natural_side_code => 'C'
36473 , p_gain_or_loss_flag => 'N'
36474 , p_gl_transfer_mode_code => 'S'
36475 , p_acct_entry_type_code => 'A'
36476 , p_switch_side_flag => 'Y'
36477 , p_merge_duplicate_code => 'A'
36478 );
36479 --
36480 l_acc_rev_natural_side_code := 'D'; -- 4262811
36481 --
36482 --
36483 -- set accounting line type info
36484 --
36485 xla_ae_lines_pkg.SetAcctLineType
36486 (p_component_type => l_component_type
36490 ,p_accounting_line_code => l_component_code
36487 ,p_event_type_code => l_event_type_code
36488 ,p_line_definition_owner_code => l_line_definition_owner_code
36489 ,p_line_definition_code => l_line_definition_code
36491 ,p_accounting_line_type_code => l_component_type_code
36492 ,p_accounting_line_appl_id => l_component_appl_id
36493 ,p_amb_context_code => l_amb_context_code
36494 ,p_entity_code => l_entity_code
36495 ,p_event_class_code => l_event_class_code);
36496 --
36497 -- set accounting class
36498 --
36499 xla_ae_lines_pkg.SetAcctClass(
36500 p_accounting_class_code => 'CASH_CLEARING'
36501 , p_ae_header_id => l_ae_header_id
36502 );
36503
36504 --
36505 -- set rounding class
36506 --
36507 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
36508 'CASH_CLEARING';
36509
36510 --
36511 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
36512 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
36513 --
36514 -- bulk performance
36515 --
36516 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
36517
36518 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
36519 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
36520
36521 -- 4955764
36522 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36523 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
36524
36525 -- 4458381 Public Sector Enh
36526
36527 --
36528 -- set accounting attributes for the line type
36529 --
36530 l_entered_amt_idx := 9;
36531 l_accted_amt_idx := 14;
36532 l_bflow_applied_to_amt_idx := NULL; -- 5132302
36533 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
36534 l_rec_acct_attrs.array_char_value(1) := p_source_41;
36535 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
36536 l_rec_acct_attrs.array_num_value(2) := p_source_79;
36537 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
36538 l_rec_acct_attrs.array_char_value(3) := p_source_80;
36539 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
36540 l_rec_acct_attrs.array_char_value(4) := p_source_81;
36541 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
36542 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
36543 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
36544 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
36545 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
36546 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
36547 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
36548 l_rec_acct_attrs.array_char_value(8) := p_source_43;
36549 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
36550 l_rec_acct_attrs.array_num_value(9) := p_source_91;
36551 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
36552 l_rec_acct_attrs.array_char_value(10) := p_source_106;
36553 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
36554 l_rec_acct_attrs.array_date_value(11) := p_source_110;
36555 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
36556 l_rec_acct_attrs.array_num_value(12) := p_source_111;
36557 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
36558 l_rec_acct_attrs.array_char_value(13) := p_source_112;
36559 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
36560 l_rec_acct_attrs.array_num_value(14) := p_source_109;
36561 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
36562 l_rec_acct_attrs.array_char_value(15) := p_source_68;
36563 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
36564 l_rec_acct_attrs.array_num_value(16) := p_source_102;
36565 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
36566 l_rec_acct_attrs.array_num_value(17) := p_source_103;
36567 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
36568 l_rec_acct_attrs.array_char_value(18) := p_source_71;
36569 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
36570 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
36571 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
36572 l_rec_acct_attrs.array_char_value(20) := p_source_43;
36573 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
36574 l_rec_acct_attrs.array_num_value(21) := p_source_74;
36575 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
36576 l_rec_acct_attrs.array_num_value(22) := p_source_75;
36577 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
36578 l_rec_acct_attrs.array_num_value(23) := p_source_76;
36579
36580 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
36581 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
36582
36583 ---------------------------------------------------------------------------------------------------------------
36587
36584 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
36585 ---------------------------------------------------------------------------------------------------------------
36586 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
36588 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36589 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
36590
36591 IF xla_accounting_cache_pkg.GetValueChar
36592 (p_source_code => 'LEDGER_CATEGORY_CODE'
36593 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
36594 AND l_bflow_method_code = 'PRIOR_ENTRY'
36595 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
36596 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
36597 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
36598 )
36599 THEN
36600 xla_ae_lines_pkg.BflowUpgEntry
36601 (p_business_method_code => l_bflow_method_code
36602 ,p_business_class_code => l_bflow_class_code
36603 ,p_balance_type => l_balance_type_code);
36604 ELSE
36605 NULL;
36606 XLA_AE_LINES_PKG.business_flow_validation(
36607 p_business_method_code => l_bflow_method_code
36608 ,p_business_class_code => l_bflow_class_code
36609 ,p_inherit_description_flag => l_inherit_desc_flag);
36610 END IF;
36611
36612 --
36613 -- call analytical criteria
36614 --
36615
36616 --
36617 -- call description
36618 --
36619 -- No description or it is inherited.
36620 --
36621 -- call ADRs
36622 -- Bug 4922099
36623 --
36624 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36625 (NVL(l_actual_upg_option, 'N') = 'O') OR
36626 (NVL(l_enc_upg_option, 'N') = 'O')
36627 )
36628 THEN
36629 NULL;
36630 --
36631 --
36632
36633 l_ccid := AcctDerRule_35(
36634 p_application_id => p_application_id
36635 , p_ae_header_id => l_ae_header_id
36636 , p_source_23 => p_source_23
36637 , x_transaction_coa_id => l_adr_transaction_coa_id
36638 , x_accounting_coa_id => l_adr_accounting_coa_id
36639 , x_value_type_code => l_adr_value_type_code
36640 , p_side => 'NA'
36641 );
36642
36643 xla_ae_lines_pkg.set_ccid(
36644 p_code_combination_id => l_ccid
36645 , p_value_type_code => l_adr_value_type_code
36646 , p_transaction_coa_id => l_adr_transaction_coa_id
36647 , p_accounting_coa_id => l_adr_accounting_coa_id
36648 , p_adr_code => 'AP_PMT_CASH_CLEAR'
36649 , p_adr_type_code => 'S'
36650 , p_component_type => l_component_type
36651 , p_component_code => l_component_code
36652 , p_component_type_code => l_component_type_code
36653 , p_component_appl_id => l_component_appl_id
36654 , p_amb_context_code => l_amb_context_code
36655 , p_side => 'NA'
36656 );
36657
36658
36659 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
36660 p_to_segment_code => 'GL_BALANCING'
36661 , p_segment_value => C_CHAR
36662 , p_from_segment_code => NULL
36663 , p_from_combination_id => NULL
36664 , p_value_type_code => NULL
36665 , p_transaction_coa_id => null
36666 , p_accounting_coa_id => null
36667 , p_flexfield_segment_code => NULL
36668 , p_flex_value_set_id => NULL
36669 , p_adr_code => NULL
36670 , p_adr_type_code => NULL
36671 , p_component_type => l_component_type
36672 , p_component_code => l_component_code
36673 , p_component_type_code => l_component_type_code
36674 , p_component_appl_id => l_component_appl_id
36675 , p_amb_context_code => l_amb_context_code
36676 , p_entity_code => 'AP_PAYMENTS'
36677 , p_event_class_code => 'REFUNDS'
36678 , p_side => 'NA'
36679 );
36680 --
36681
36682
36683 --
36684 --
36685 END IF;
36686 --
36687 -- Bug 4922099
36688 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
36689 (NVL(l_enc_upg_option, 'N') = 'O')
36690 ) AND
36691 (l_bflow_method_code = 'PRIOR_ENTRY')
36692 )
36693 THEN
36694 IF
36695 --
36696 1 = 2
36697 --
36698 THEN
36699 xla_accounting_err_pkg.build_message
36700 (p_appli_s_name => 'XLA'
36701 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36702 ,p_token_1 => 'LINE_NUMBER'
36703 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
36704 ,p_token_2 => 'LINE_TYPE_NAME'
36705 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
36706 l_component_type
36710 ,l_amb_context_code
36707 ,l_component_code
36708 ,l_component_type_code
36709 ,l_component_appl_id
36711 ,l_entity_code
36712 ,l_event_class_code
36713 )
36714 ,p_token_3 => 'OWNER'
36715 ,p_value_3 => xla_lookups_pkg.get_meaning(
36716 p_lookup_type => 'XLA_OWNER_TYPE'
36717 ,p_lookup_code => l_component_type_code
36718 )
36719 ,p_token_4 => 'PRODUCT_NAME'
36720 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
36721 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
36722 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
36723 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
36724 ,p_ae_header_id => NULL
36725 );
36726
36727 IF (C_LEVEL_ERROR>= g_log_level) THEN
36728 trace
36729 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
36730 ,p_level => C_LEVEL_ERROR
36731 ,p_module => l_log_module);
36732 END IF;
36733 END IF;
36734 END IF;
36735 --
36736 --
36737 ------------------------------------------------------------------------------------------------
36738 -- 4219869 Business Flow
36739 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
36740 -- Prior Entry. Currently, the following code is always generated.
36741 ------------------------------------------------------------------------------------------------
36742 XLA_AE_LINES_PKG.ValidateCurrentLine;
36743
36744 ------------------------------------------------------------------------------------
36745 -- 4219869 Business Flow
36746 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
36747 ------------------------------------------------------------------------------------
36748 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36749
36750 ----------------------------------------------------------------------------------
36751 -- 4219869 Business Flow
36752 -- Update journal entry status -- Need to generate this within IF <condition>
36753 ----------------------------------------------------------------------------------
36754 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36755 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
36756 ,p_balance_type_code => l_balance_type_code
36757 );
36758
36759 -------------------------------------------------------------------------------------------
36760 -- 4262811 - Generate the Accrual Reversal lines
36761 -------------------------------------------------------------------------------------------
36762 BEGIN
36763 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
36764 (g_array_event(p_event_id).array_value_num('header_index'));
36765 IF l_acc_rev_flag IS NULL THEN
36766 l_acc_rev_flag := 'N';
36767 END IF;
36768 EXCEPTION
36769 WHEN OTHERS THEN
36770 l_acc_rev_flag := 'N';
36771 END;
36772 --
36773 IF (l_acc_rev_flag = 'Y') THEN
36774
36775 -- 4645092 ------------------------------------------------------------------------------
36776 -- To allow MPA report to determine if it should generate report process
36777 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
36778 ------------------------------------------------------------------------------------------
36779
36780 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
36781 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
36782 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
36783 -- call ADRs
36784 -- Bug 4922099
36785 --
36786 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
36787 (NVL(l_actual_upg_option, 'N') = 'O') OR
36788 (NVL(l_enc_upg_option, 'N') = 'O')
36789 )
36790 THEN
36791 NULL;
36792 --
36793 --
36794
36795 l_ccid := AcctDerRule_35(
36796 p_application_id => p_application_id
36797 , p_ae_header_id => l_ae_header_id
36798 , p_source_23 => p_source_23
36799 , x_transaction_coa_id => l_adr_transaction_coa_id
36800 , x_accounting_coa_id => l_adr_accounting_coa_id
36801 , x_value_type_code => l_adr_value_type_code
36802 , p_side => 'NA'
36803 );
36804
36805 xla_ae_lines_pkg.set_ccid(
36806 p_code_combination_id => l_ccid
36807 , p_value_type_code => l_adr_value_type_code
36811 , p_adr_type_code => 'S'
36808 , p_transaction_coa_id => l_adr_transaction_coa_id
36809 , p_accounting_coa_id => l_adr_accounting_coa_id
36810 , p_adr_code => 'AP_PMT_CASH_CLEAR'
36812 , p_component_type => l_component_type
36813 , p_component_code => l_component_code
36814 , p_component_type_code => l_component_type_code
36815 , p_component_appl_id => l_component_appl_id
36816 , p_amb_context_code => l_amb_context_code
36817 , p_side => 'NA'
36818 );
36819
36820
36821 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
36822 p_to_segment_code => 'GL_BALANCING'
36823 , p_segment_value => C_CHAR
36824 , p_from_segment_code => NULL
36825 , p_from_combination_id => NULL
36826 , p_value_type_code => NULL
36827 , p_transaction_coa_id => null
36828 , p_accounting_coa_id => null
36829 , p_flexfield_segment_code => NULL
36830 , p_flex_value_set_id => NULL
36831 , p_adr_code => NULL
36832 , p_adr_type_code => NULL
36833 , p_component_type => l_component_type
36834 , p_component_code => l_component_code
36835 , p_component_type_code => l_component_type_code
36836 , p_component_appl_id => l_component_appl_id
36837 , p_amb_context_code => l_amb_context_code
36838 , p_entity_code => 'AP_PAYMENTS'
36839 , p_event_class_code => 'REFUNDS'
36840 , p_side => 'NA'
36841 );
36842 --
36843
36844
36845 --
36846 --
36847 END IF;
36848
36849 --
36850 -- Update the line information that should be overwritten
36851 --
36852 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
36853 p_header_num => 1);
36854 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
36855
36856 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
36857
36858 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
36859 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
36860 END IF;
36861
36862 --
36863 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
36864 --
36865 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
36866 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
36867 ELSE
36868 ---------------------------------------------------------------------------------------------------
36869 -- 4262811a Switch Sign
36870 ---------------------------------------------------------------------------------------------------
36871 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
36872 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36873 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36874 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
36875 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36876 -- 5132302
36877 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
36878 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
36879
36880 END IF;
36881
36882 -- 4955764
36883 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
36884 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
36885
36886
36887 XLA_AE_LINES_PKG.ValidateCurrentLine;
36888 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
36889
36890 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
36891 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
36892 ,p_balance_type_code => l_balance_type_code);
36893
36894 END IF;
36895
36896 -----------------------------------------------------------------------------------------
36897 -- 4262811 Multiperiod Accounting
36898 -----------------------------------------------------------------------------------------
36899 -- No MPA option is assigned.
36900
36901
36902 END IF;
36903 END IF;
36904 --
36905
36906 --
36907 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
36908 trace
36909 (p_msg => 'END of AcctLineType_87'
36910 ,p_level => C_LEVEL_PROCEDURE
36911 ,p_module => l_log_module);
36912 END IF;
36913 --
36914 EXCEPTION
36915 WHEN xla_exceptions_pkg.application_exception THEN
36916 RAISE;
36917 WHEN OTHERS THEN
36918 xla_exceptions_pkg.raise_message
36919 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_87');
36920 END AcctLineType_87;
36921 --
36922
36923 ---------------------------------------
36924 --
36925 -- PRIVATE FUNCTION
36929 PROCEDURE AcctLineType_88 (
36926 -- AcctLineType_88
36927 --
36928 ---------------------------------------
36930 p_application_id IN NUMBER
36931 ,p_event_id IN NUMBER
36932 ,p_calculate_acctd_flag IN VARCHAR2
36933 ,p_calculate_g_l_flag IN VARCHAR2
36934 ,p_actual_flag IN OUT VARCHAR2
36935 ,p_balance_type_code OUT VARCHAR2
36936 ,p_gain_or_loss_ref OUT VARCHAR2
36937
36938 --Bank Cash Clearing Account
36939 , p_source_23 IN NUMBER
36940 --Automatic Offsets Flag
36941 , p_source_35 IN VARCHAR2
36942 , p_source_35_meaning IN VARCHAR2
36943 --Accounting Reversal Indicator
36944 , p_source_41 IN VARCHAR2
36945 --Distribution Link Type
36946 , p_source_43 IN VARCHAR2
36947 --Override Accounted Amount Indicator
36948 , p_source_68 IN VARCHAR2
36949 , p_source_68_meaning IN VARCHAR2
36950 --Third Party Type
36951 , p_source_71 IN VARCHAR2
36952 --Invoice Distribution Tax Line Identifier
36953 , p_source_74 IN NUMBER
36954 --Invoice Distribution Tax Distribution Identifier from Tax
36955 , p_source_75 IN NUMBER
36956 --Invoice Distribution Summary Tax Line Identifier
36957 , p_source_76 IN NUMBER
36958 --Business Flow Accounts Payable Application Identifier
36959 , p_source_79 IN NUMBER
36960 --Business Flow Invoice Distribution Type
36961 , p_source_80 IN VARCHAR2
36962 --Business Flow Invoice Entity Code
36963 , p_source_81 IN VARCHAR2
36964 --Business Flow Invoice Distribution Identifier
36965 , p_source_82 IN NUMBER
36966 --Business Flow Invoice Identifier
36967 , p_source_83 IN NUMBER
36968 --When to Account for Payment Option
36969 , p_source_89 IN VARCHAR2
36970 --Payment Distribution Type
36971 , p_source_90 IN VARCHAR2
36972 , p_source_90_meaning IN VARCHAR2
36973 --Payment Distribution Amount
36974 , p_source_91 IN NUMBER
36975 --Payment Distribution Identifier
36976 , p_source_96 IN NUMBER
36977 --Payment Supplier Identifier
36978 , p_source_102 IN NUMBER
36979 --Payment Supplier Site Identifier
36980 , p_source_103 IN NUMBER
36981 --Payment Distribution Reversed Identifier
36982 , p_source_104 IN NUMBER
36983 --Pooled Bank Account Option
36984 , p_source_105 IN VARCHAR2
36985 , p_source_105_meaning IN VARCHAR2
36986 --Payment Currency Code
36987 , p_source_106 IN VARCHAR2
36988 --Payment Maturity Date
36989 , p_source_107 IN DATE
36990 --Payment Distribution (Invoice Rate) Ledger Amount
36991 , p_source_109 IN NUMBER
36992 --Payment Exchange Date
36993 , p_source_110 IN DATE
36994 --Payment Exchange Rate
36995 , p_source_111 IN NUMBER
36996 --Payment Exchange Rate Type
36997 , p_source_112 IN VARCHAR2
36998 --Payment Type
36999 , p_source_115 IN VARCHAR2
37000 , p_source_115_meaning IN VARCHAR2
37001 )
37002 IS
37003
37004 l_component_type VARCHAR2(80);
37005 l_component_code VARCHAR2(30);
37006 l_component_type_code VARCHAR2(1);
37007 l_component_appl_id INTEGER;
37008 l_amb_context_code VARCHAR2(30);
37009 l_entity_code VARCHAR2(30);
37010 l_event_class_code VARCHAR2(30);
37011 l_ae_header_id NUMBER;
37012 l_event_type_code VARCHAR2(30);
37013 l_line_definition_code VARCHAR2(30);
37014 l_line_definition_owner_code VARCHAR2(1);
37015 --
37016 -- adr variables
37017 l_segment VARCHAR2(30);
37018 l_ccid NUMBER;
37019 l_adr_transaction_coa_id NUMBER;
37020 l_adr_accounting_coa_id NUMBER;
37021 l_adr_flexfield_segment_code VARCHAR2(30);
37022 l_adr_flex_value_set_id NUMBER;
37023 l_adr_value_type_code VARCHAR2(30);
37024 l_adr_value_combination_id NUMBER;
37025 l_adr_value_segment_code VARCHAR2(30);
37026
37027 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37028 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37029 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37030 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37031
37032 -- 4262811 Variables ------------------------------------------------------------------------------------------
37033 l_entered_amt_idx NUMBER;
37034 l_accted_amt_idx NUMBER;
37035 l_acc_rev_flag VARCHAR2(1);
37036 l_accrual_line_num NUMBER;
37037 l_tmp_amt NUMBER;
37038 l_acc_rev_natural_side_code VARCHAR2(1);
37039
37040 l_num_entries NUMBER;
37041 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37042 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37043 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37044 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37045 l_recog_line_1 NUMBER;
37046 l_recog_line_2 NUMBER;
37047
37048 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37049 l_bflow_applied_to_amt NUMBER; -- 5132302
37053
37050 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37051
37052 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37054 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37055 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37056
37057 ---------------------------------------------------------------------------------------------------------------
37058
37059
37060 --
37061 -- bulk performance
37062 --
37063 l_balance_type_code VARCHAR2(1);
37064 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37065 l_log_module VARCHAR2(240);
37066
37067 --
37068 -- Upgrade strategy
37069 --
37070 l_actual_upg_option VARCHAR2(1);
37071 l_enc_upg_option VARCHAR2(1);
37072
37073 --
37074 BEGIN
37075 --
37076 IF g_log_enabled THEN
37077 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_88';
37078 END IF;
37079 --
37080 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37081
37082 trace
37083 (p_msg => 'BEGIN of AcctLineType_88'
37084 ,p_level => C_LEVEL_PROCEDURE
37085 ,p_module => l_log_module);
37086
37087 END IF;
37088 --
37089 l_component_type := 'AMB_JLT';
37090 l_component_code := 'AP_CASH_CLEAR_REF_INVXRATE';
37091 l_component_type_code := 'S';
37092 l_component_appl_id := 200;
37093 l_amb_context_code := 'DEFAULT';
37094 l_entity_code := 'AP_PAYMENTS';
37095 l_event_class_code := 'REFUNDS';
37096 l_event_type_code := 'REFUNDS_ALL';
37097 l_line_definition_owner_code := 'S';
37098 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
37099 --
37100 l_balance_type_code := 'A';
37101 l_segment := NULL;
37102 l_ccid := NULL;
37103 l_adr_transaction_coa_id := NULL;
37104 l_adr_accounting_coa_id := NULL;
37105 l_adr_flexfield_segment_code := NULL;
37106 l_adr_flex_value_set_id := NULL;
37107 l_adr_value_type_code := NULL;
37108 l_adr_value_combination_id := NULL;
37109 l_adr_value_segment_code := NULL;
37110
37111 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
37112 l_bflow_class_code := 'AP_CASH_CLEARING'; -- 4219869 Business Flow
37113 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37114 l_budgetary_control_flag := 'N';
37115
37116 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37117 l_bflow_applied_to_amt := NULL; -- 5132302
37118 l_entered_amt_idx := NULL; -- 4262811
37119 l_accted_amt_idx := NULL; -- 4262811
37120 l_acc_rev_flag := NULL; -- 4262811
37121 l_accrual_line_num := NULL; -- 4262811
37122 l_tmp_amt := NULL; -- 4262811
37123 --
37124
37125 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37126 l_balance_type_code <> 'B' THEN
37127 IF NVL(p_source_89,'
37128 ') = 'ALWAYS_CLEAR' AND
37129 (NVL(p_source_35,'
37130 ') <> 'Y' OR
37131 NVL(p_source_35,'
37132 ') = 'Y' AND
37133 NVL(p_source_105,'
37134 ') <> 'Y') AND
37135 p_source_107 IS NULL AND
37136 NVL(p_source_90,'
37137 ') = 'CASH' AND
37138 NVL(p_source_115,'
37139 ') = 'R'
37140 THEN
37141
37142 --
37143 XLA_AE_LINES_PKG.SetNewLine;
37144
37145 p_balance_type_code := l_balance_type_code;
37146 -- set the flag so later we will know whether the gain loss line needs to be created
37147
37148 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37149 p_actual_flag :='A';
37150 END IF;
37151
37152 --
37153 -- bulk performance
37154 --
37155 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37156 p_header_num => 0); -- 4262811
37157 --
37158 -- set accounting line options
37159 --
37160 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37161 p_natural_side_code => 'C'
37162 , p_gain_or_loss_flag => 'N'
37163 , p_gl_transfer_mode_code => 'S'
37164 , p_acct_entry_type_code => 'A'
37165 , p_switch_side_flag => 'Y'
37166 , p_merge_duplicate_code => 'A'
37167 );
37168 --
37169 l_acc_rev_natural_side_code := 'D'; -- 4262811
37170 --
37171 --
37172 -- set accounting line type info
37173 --
37174 xla_ae_lines_pkg.SetAcctLineType
37175 (p_component_type => l_component_type
37176 ,p_event_type_code => l_event_type_code
37177 ,p_line_definition_owner_code => l_line_definition_owner_code
37178 ,p_line_definition_code => l_line_definition_code
37179 ,p_accounting_line_code => l_component_code
37180 ,p_accounting_line_type_code => l_component_type_code
37181 ,p_accounting_line_appl_id => l_component_appl_id
37182 ,p_amb_context_code => l_amb_context_code
37183 ,p_entity_code => l_entity_code
37184 ,p_event_class_code => l_event_class_code);
37185 --
37186 -- set accounting class
37187 --
37191 );
37188 xla_ae_lines_pkg.SetAcctClass(
37189 p_accounting_class_code => 'CASH_CLEARING'
37190 , p_ae_header_id => l_ae_header_id
37192
37193 --
37194 -- set rounding class
37195 --
37196 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37197 'CASH_CLEARING';
37198
37199 --
37200 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37201 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37202 --
37203 -- bulk performance
37204 --
37205 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37206
37207 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37208 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37209
37210 -- 4955764
37211 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37212 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37213
37214 -- 4458381 Public Sector Enh
37215
37216 --
37217 -- set accounting attributes for the line type
37218 --
37219 l_entered_amt_idx := 9;
37220 l_accted_amt_idx := 14;
37221 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37222 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37223 l_rec_acct_attrs.array_char_value(1) := p_source_41;
37224 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
37225 l_rec_acct_attrs.array_num_value(2) := p_source_79;
37226 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37227 l_rec_acct_attrs.array_char_value(3) := p_source_80;
37228 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
37229 l_rec_acct_attrs.array_char_value(4) := p_source_81;
37230 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
37231 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
37232 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37233 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
37234 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
37235 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
37236 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
37237 l_rec_acct_attrs.array_char_value(8) := p_source_43;
37238 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
37239 l_rec_acct_attrs.array_num_value(9) := p_source_91;
37240 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
37241 l_rec_acct_attrs.array_char_value(10) := p_source_106;
37242 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
37243 l_rec_acct_attrs.array_date_value(11) := p_source_110;
37244 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
37245 l_rec_acct_attrs.array_num_value(12) := p_source_111;
37246 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
37247 l_rec_acct_attrs.array_char_value(13) := p_source_112;
37248 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
37249 l_rec_acct_attrs.array_num_value(14) := p_source_109;
37250 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
37251 l_rec_acct_attrs.array_char_value(15) := p_source_68;
37252 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
37253 l_rec_acct_attrs.array_num_value(16) := p_source_102;
37254 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
37255 l_rec_acct_attrs.array_num_value(17) := p_source_103;
37256 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
37257 l_rec_acct_attrs.array_char_value(18) := p_source_71;
37258 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
37259 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
37260 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
37261 l_rec_acct_attrs.array_char_value(20) := p_source_43;
37262 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
37263 l_rec_acct_attrs.array_num_value(21) := p_source_74;
37264 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
37265 l_rec_acct_attrs.array_num_value(22) := p_source_75;
37266 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
37267 l_rec_acct_attrs.array_num_value(23) := p_source_76;
37268
37269 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37270 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37271
37272 ---------------------------------------------------------------------------------------------------------------
37273 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37274 ---------------------------------------------------------------------------------------------------------------
37275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37276
37277 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37278 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37279
37280 IF xla_accounting_cache_pkg.GetValueChar
37281 (p_source_code => 'LEDGER_CATEGORY_CODE'
37282 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37283 AND l_bflow_method_code = 'PRIOR_ENTRY'
37287 )
37284 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37285 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37286 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37288 THEN
37289 xla_ae_lines_pkg.BflowUpgEntry
37290 (p_business_method_code => l_bflow_method_code
37291 ,p_business_class_code => l_bflow_class_code
37292 ,p_balance_type => l_balance_type_code);
37293 ELSE
37294 NULL;
37295 -- No business flow processing for business flow method of NONE.
37296 END IF;
37297
37298 --
37299 -- call analytical criteria
37300 --
37301
37302 --
37303 -- call description
37304 --
37305 -- No description or it is inherited.
37306 --
37307 -- call ADRs
37308 -- Bug 4922099
37309 --
37310 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37311 (NVL(l_actual_upg_option, 'N') = 'O') OR
37312 (NVL(l_enc_upg_option, 'N') = 'O')
37313 )
37314 THEN
37315 NULL;
37316 --
37317 --
37318
37319 l_ccid := AcctDerRule_35(
37320 p_application_id => p_application_id
37321 , p_ae_header_id => l_ae_header_id
37322 , p_source_23 => p_source_23
37323 , x_transaction_coa_id => l_adr_transaction_coa_id
37324 , x_accounting_coa_id => l_adr_accounting_coa_id
37325 , x_value_type_code => l_adr_value_type_code
37326 , p_side => 'NA'
37327 );
37328
37329 xla_ae_lines_pkg.set_ccid(
37330 p_code_combination_id => l_ccid
37331 , p_value_type_code => l_adr_value_type_code
37332 , p_transaction_coa_id => l_adr_transaction_coa_id
37333 , p_accounting_coa_id => l_adr_accounting_coa_id
37334 , p_adr_code => 'AP_PMT_CASH_CLEAR'
37335 , p_adr_type_code => 'S'
37336 , p_component_type => l_component_type
37337 , p_component_code => l_component_code
37338 , p_component_type_code => l_component_type_code
37339 , p_component_appl_id => l_component_appl_id
37340 , p_amb_context_code => l_amb_context_code
37341 , p_side => 'NA'
37342 );
37343
37344
37345 --
37346 --
37347 END IF;
37348 --
37349 -- Bug 4922099
37350 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37351 (NVL(l_enc_upg_option, 'N') = 'O')
37352 ) AND
37353 (l_bflow_method_code = 'PRIOR_ENTRY')
37354 )
37355 THEN
37356 IF
37357 --
37358 1 = 2
37359 --
37360 THEN
37361 xla_accounting_err_pkg.build_message
37362 (p_appli_s_name => 'XLA'
37363 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37364 ,p_token_1 => 'LINE_NUMBER'
37365 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
37366 ,p_token_2 => 'LINE_TYPE_NAME'
37367 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
37368 l_component_type
37369 ,l_component_code
37370 ,l_component_type_code
37371 ,l_component_appl_id
37372 ,l_amb_context_code
37373 ,l_entity_code
37374 ,l_event_class_code
37375 )
37376 ,p_token_3 => 'OWNER'
37377 ,p_value_3 => xla_lookups_pkg.get_meaning(
37378 p_lookup_type => 'XLA_OWNER_TYPE'
37379 ,p_lookup_code => l_component_type_code
37380 )
37381 ,p_token_4 => 'PRODUCT_NAME'
37382 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
37383 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
37384 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
37385 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
37386 ,p_ae_header_id => NULL
37387 );
37388
37389 IF (C_LEVEL_ERROR>= g_log_level) THEN
37390 trace
37391 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
37392 ,p_level => C_LEVEL_ERROR
37393 ,p_module => l_log_module);
37394 END IF;
37395 END IF;
37396 END IF;
37397 --
37401 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
37398 --
37399 ------------------------------------------------------------------------------------------------
37400 -- 4219869 Business Flow
37402 -- Prior Entry. Currently, the following code is always generated.
37403 ------------------------------------------------------------------------------------------------
37404 XLA_AE_LINES_PKG.ValidateCurrentLine;
37405
37406 ------------------------------------------------------------------------------------
37407 -- 4219869 Business Flow
37408 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
37409 ------------------------------------------------------------------------------------
37410 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37411
37412 ----------------------------------------------------------------------------------
37413 -- 4219869 Business Flow
37414 -- Update journal entry status -- Need to generate this within IF <condition>
37415 ----------------------------------------------------------------------------------
37416 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37417 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
37418 ,p_balance_type_code => l_balance_type_code
37419 );
37420
37421 -------------------------------------------------------------------------------------------
37422 -- 4262811 - Generate the Accrual Reversal lines
37423 -------------------------------------------------------------------------------------------
37424 BEGIN
37425 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
37426 (g_array_event(p_event_id).array_value_num('header_index'));
37427 IF l_acc_rev_flag IS NULL THEN
37428 l_acc_rev_flag := 'N';
37429 END IF;
37430 EXCEPTION
37431 WHEN OTHERS THEN
37432 l_acc_rev_flag := 'N';
37433 END;
37434 --
37435 IF (l_acc_rev_flag = 'Y') THEN
37436
37437 -- 4645092 ------------------------------------------------------------------------------
37438 -- To allow MPA report to determine if it should generate report process
37439 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
37440 ------------------------------------------------------------------------------------------
37441
37442 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
37443 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
37444 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
37445 -- call ADRs
37446 -- Bug 4922099
37447 --
37448 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37449 (NVL(l_actual_upg_option, 'N') = 'O') OR
37450 (NVL(l_enc_upg_option, 'N') = 'O')
37451 )
37452 THEN
37453 NULL;
37454 --
37455 --
37456
37457 l_ccid := AcctDerRule_35(
37458 p_application_id => p_application_id
37459 , p_ae_header_id => l_ae_header_id
37460 , p_source_23 => p_source_23
37461 , x_transaction_coa_id => l_adr_transaction_coa_id
37462 , x_accounting_coa_id => l_adr_accounting_coa_id
37463 , x_value_type_code => l_adr_value_type_code
37464 , p_side => 'NA'
37465 );
37466
37467 xla_ae_lines_pkg.set_ccid(
37468 p_code_combination_id => l_ccid
37469 , p_value_type_code => l_adr_value_type_code
37470 , p_transaction_coa_id => l_adr_transaction_coa_id
37471 , p_accounting_coa_id => l_adr_accounting_coa_id
37472 , p_adr_code => 'AP_PMT_CASH_CLEAR'
37473 , p_adr_type_code => 'S'
37474 , p_component_type => l_component_type
37475 , p_component_code => l_component_code
37476 , p_component_type_code => l_component_type_code
37477 , p_component_appl_id => l_component_appl_id
37478 , p_amb_context_code => l_amb_context_code
37479 , p_side => 'NA'
37480 );
37481
37482
37483 --
37484 --
37485 END IF;
37486
37487 --
37488 -- Update the line information that should be overwritten
37489 --
37490 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
37491 p_header_num => 1);
37492 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
37493
37494 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
37495
37496 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
37497 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
37498 END IF;
37499
37500 --
37501 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
37502 --
37503 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
37504 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
37505 ELSE
37506 ---------------------------------------------------------------------------------------------------
37507 -- 4262811a Switch Sign
37508 ---------------------------------------------------------------------------------------------------
37512 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37509 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
37510 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
37511 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37513 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37514 -- 5132302
37515 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
37516 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
37517
37518 END IF;
37519
37520 -- 4955764
37521 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37522 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
37523
37524
37525 XLA_AE_LINES_PKG.ValidateCurrentLine;
37526 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
37527
37528 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
37529 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
37530 ,p_balance_type_code => l_balance_type_code);
37531
37532 END IF;
37533
37534 -----------------------------------------------------------------------------------------
37535 -- 4262811 Multiperiod Accounting
37536 -----------------------------------------------------------------------------------------
37537 -- No MPA option is assigned.
37538
37539
37540 END IF;
37541 END IF;
37542 --
37543
37544 --
37545 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37546 trace
37547 (p_msg => 'END of AcctLineType_88'
37548 ,p_level => C_LEVEL_PROCEDURE
37549 ,p_module => l_log_module);
37550 END IF;
37551 --
37552 EXCEPTION
37553 WHEN xla_exceptions_pkg.application_exception THEN
37554 RAISE;
37555 WHEN OTHERS THEN
37556 xla_exceptions_pkg.raise_message
37557 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_88');
37558 END AcctLineType_88;
37559 --
37560
37561 ---------------------------------------
37562 --
37563 -- PRIVATE FUNCTION
37564 -- AcctLineType_89
37565 --
37566 ---------------------------------------
37567 PROCEDURE AcctLineType_89 (
37568 p_application_id IN NUMBER
37569 ,p_event_id IN NUMBER
37570 ,p_calculate_acctd_flag IN VARCHAR2
37571 ,p_calculate_g_l_flag IN VARCHAR2
37572 ,p_actual_flag IN OUT VARCHAR2
37573 ,p_balance_type_code OUT VARCHAR2
37574 ,p_gain_or_loss_ref OUT VARCHAR2
37575
37576 --Bank Cash Account
37577 , p_source_5 IN NUMBER
37578 --Automatic Offsets Flag
37579 , p_source_35 IN VARCHAR2
37580 , p_source_35_meaning IN VARCHAR2
37581 --Accounting Reversal Indicator
37582 , p_source_41 IN VARCHAR2
37583 --Distribution Link Type
37584 , p_source_43 IN VARCHAR2
37585 --Override Accounted Amount Indicator
37586 , p_source_68 IN VARCHAR2
37587 , p_source_68_meaning IN VARCHAR2
37588 --Third Party Type
37589 , p_source_71 IN VARCHAR2
37590 --Invoice Distribution Tax Line Identifier
37591 , p_source_74 IN NUMBER
37592 --Invoice Distribution Tax Distribution Identifier from Tax
37593 , p_source_75 IN NUMBER
37594 --Invoice Distribution Summary Tax Line Identifier
37595 , p_source_76 IN NUMBER
37596 --Business Flow Accounts Payable Application Identifier
37597 , p_source_79 IN NUMBER
37598 --Business Flow Invoice Distribution Type
37599 , p_source_80 IN VARCHAR2
37600 --Business Flow Invoice Entity Code
37601 , p_source_81 IN VARCHAR2
37602 --Business Flow Invoice Distribution Identifier
37603 , p_source_82 IN NUMBER
37604 --Business Flow Invoice Identifier
37605 , p_source_83 IN NUMBER
37606 --When to Account for Payment Option
37607 , p_source_89 IN VARCHAR2
37608 --Payment Distribution Type
37609 , p_source_90 IN VARCHAR2
37610 , p_source_90_meaning IN VARCHAR2
37611 --Payment Distribution Amount
37612 , p_source_91 IN NUMBER
37613 --Payment Distribution Identifier
37614 , p_source_96 IN NUMBER
37615 --Payment Supplier Identifier
37616 , p_source_102 IN NUMBER
37617 --Payment Supplier Site Identifier
37618 , p_source_103 IN NUMBER
37619 --Payment Distribution Reversed Identifier
37620 , p_source_104 IN NUMBER
37621 --Pooled Bank Account Option
37622 , p_source_105 IN VARCHAR2
37623 , p_source_105_meaning IN VARCHAR2
37624 --Payment Currency Code
37625 , p_source_106 IN VARCHAR2
37626 --Payment Maturity Date
37627 , p_source_107 IN DATE
37628 --Payment Distribution (Payment Rate) Ledger Amount
37629 , p_source_108 IN NUMBER
37630 --Payment Exchange Date
37631 , p_source_110 IN DATE
37632 --Payment Exchange Rate
37633 , p_source_111 IN NUMBER
37634 --Payment Exchange Rate Type
37635 , p_source_112 IN VARCHAR2
37636 --Payment Type
37637 , p_source_115 IN VARCHAR2
37641 --Invoice Distribution Amount of the Payment Distribution
37638 , p_source_115_meaning IN VARCHAR2
37639 --Payment Processing Type
37640 , p_source_116 IN VARCHAR2
37642 , p_source_117 IN NUMBER
37643 )
37644 IS
37645
37646 l_component_type VARCHAR2(80);
37647 l_component_code VARCHAR2(30);
37648 l_component_type_code VARCHAR2(1);
37649 l_component_appl_id INTEGER;
37650 l_amb_context_code VARCHAR2(30);
37651 l_entity_code VARCHAR2(30);
37652 l_event_class_code VARCHAR2(30);
37653 l_ae_header_id NUMBER;
37654 l_event_type_code VARCHAR2(30);
37655 l_line_definition_code VARCHAR2(30);
37656 l_line_definition_owner_code VARCHAR2(1);
37657 --
37658 -- adr variables
37659 l_segment VARCHAR2(30);
37660 l_ccid NUMBER;
37661 l_adr_transaction_coa_id NUMBER;
37662 l_adr_accounting_coa_id NUMBER;
37663 l_adr_flexfield_segment_code VARCHAR2(30);
37664 l_adr_flex_value_set_id NUMBER;
37665 l_adr_value_type_code VARCHAR2(30);
37666 l_adr_value_combination_id NUMBER;
37667 l_adr_value_segment_code VARCHAR2(30);
37668
37669 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
37670 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
37671 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
37672 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
37673
37674 -- 4262811 Variables ------------------------------------------------------------------------------------------
37675 l_entered_amt_idx NUMBER;
37676 l_accted_amt_idx NUMBER;
37677 l_acc_rev_flag VARCHAR2(1);
37678 l_accrual_line_num NUMBER;
37679 l_tmp_amt NUMBER;
37680 l_acc_rev_natural_side_code VARCHAR2(1);
37681
37682 l_num_entries NUMBER;
37683 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
37684 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
37685 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
37686 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
37687 l_recog_line_1 NUMBER;
37688 l_recog_line_2 NUMBER;
37689
37690 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
37691 l_bflow_applied_to_amt NUMBER; -- 5132302
37692 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
37693
37694 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
37695
37696 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
37697 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
37698
37699 ---------------------------------------------------------------------------------------------------------------
37700
37701
37702 --
37703 -- bulk performance
37704 --
37705 l_balance_type_code VARCHAR2(1);
37706 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
37707 l_log_module VARCHAR2(240);
37708
37709 --
37710 -- Upgrade strategy
37711 --
37712 l_actual_upg_option VARCHAR2(1);
37713 l_enc_upg_option VARCHAR2(1);
37714
37715 --
37716 BEGIN
37717 --
37718 IF g_log_enabled THEN
37719 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_89';
37720 END IF;
37721 --
37722 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
37723
37724 trace
37725 (p_msg => 'BEGIN of AcctLineType_89'
37726 ,p_level => C_LEVEL_PROCEDURE
37727 ,p_module => l_log_module);
37728
37729 END IF;
37730 --
37731 l_component_type := 'AMB_JLT';
37732 l_component_code := 'AP_CASH_PMT';
37733 l_component_type_code := 'S';
37734 l_component_appl_id := 200;
37735 l_amb_context_code := 'DEFAULT';
37736 l_entity_code := 'AP_PAYMENTS';
37737 l_event_class_code := 'PAYMENTS';
37738 l_event_type_code := 'PAYMENTS_ALL';
37739 l_line_definition_owner_code := 'S';
37740 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
37741 --
37742 l_balance_type_code := 'A';
37743 l_segment := NULL;
37744 l_ccid := NULL;
37745 l_adr_transaction_coa_id := NULL;
37746 l_adr_accounting_coa_id := NULL;
37747 l_adr_flexfield_segment_code := NULL;
37748 l_adr_flex_value_set_id := NULL;
37749 l_adr_value_type_code := NULL;
37750 l_adr_value_combination_id := NULL;
37751 l_adr_value_segment_code := NULL;
37752
37753 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
37754 l_bflow_class_code := ''; -- 4219869 Business Flow
37755 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
37756 l_budgetary_control_flag := 'N';
37757
37758 l_bflow_applied_to_amt_idx := NULL; -- 5132302
37759 l_bflow_applied_to_amt := NULL; -- 5132302
37760 l_entered_amt_idx := NULL; -- 4262811
37761 l_accted_amt_idx := NULL; -- 4262811
37762 l_acc_rev_flag := NULL; -- 4262811
37763 l_accrual_line_num := NULL; -- 4262811
37767 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
37764 l_tmp_amt := NULL; -- 4262811
37765 --
37766
37768 l_balance_type_code <> 'B' THEN
37769 IF NVL(p_source_89,'
37770 ') = 'ISSUE_ISSUE' AND
37771 (NVL(p_source_35,'
37772 ') <> 'Y' OR
37773 NVL(p_source_35,'
37774 ') = 'Y' AND
37775 NVL(p_source_105,'
37776 ') <> 'Y') AND
37777 p_source_107 IS NULL AND
37778 NVL(p_source_90,'
37779 ') = 'CASH' AND
37780 NVL(p_source_115,'
37781 ') <> 'R' AND
37782 NVL(p_source_116,'
37783 ') <> 'PAYMENTCARD'
37784 THEN
37785
37786 --
37787 XLA_AE_LINES_PKG.SetNewLine;
37788
37789 p_balance_type_code := l_balance_type_code;
37790 -- set the flag so later we will know whether the gain loss line needs to be created
37791
37792 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
37793 p_actual_flag :='A';
37794 END IF;
37795
37796 --
37797 -- bulk performance
37798 --
37799 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
37800 p_header_num => 0); -- 4262811
37801 --
37802 -- set accounting line options
37803 --
37804 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
37805 p_natural_side_code => 'C'
37806 , p_gain_or_loss_flag => 'N'
37807 , p_gl_transfer_mode_code => 'S'
37808 , p_acct_entry_type_code => 'A'
37809 , p_switch_side_flag => 'Y'
37810 , p_merge_duplicate_code => 'A'
37811 );
37812 --
37813 l_acc_rev_natural_side_code := 'D'; -- 4262811
37814 --
37815 --
37816 -- set accounting line type info
37817 --
37818 xla_ae_lines_pkg.SetAcctLineType
37819 (p_component_type => l_component_type
37820 ,p_event_type_code => l_event_type_code
37821 ,p_line_definition_owner_code => l_line_definition_owner_code
37822 ,p_line_definition_code => l_line_definition_code
37823 ,p_accounting_line_code => l_component_code
37824 ,p_accounting_line_type_code => l_component_type_code
37825 ,p_accounting_line_appl_id => l_component_appl_id
37826 ,p_amb_context_code => l_amb_context_code
37827 ,p_entity_code => l_entity_code
37828 ,p_event_class_code => l_event_class_code);
37829 --
37830 -- set accounting class
37831 --
37832 xla_ae_lines_pkg.SetAcctClass(
37833 p_accounting_class_code => 'CASH'
37834 , p_ae_header_id => l_ae_header_id
37835 );
37836
37837 --
37838 -- set rounding class
37839 --
37840 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
37841 'CASH';
37842
37843 --
37844 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
37845 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
37846 --
37847 -- bulk performance
37848 --
37849 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
37850
37851 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
37852 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
37853
37854 -- 4955764
37855 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
37856 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
37857
37858 -- 4458381 Public Sector Enh
37859
37860 --
37861 -- set accounting attributes for the line type
37862 --
37863 l_entered_amt_idx := 10;
37864 l_accted_amt_idx := 15;
37865 l_bflow_applied_to_amt_idx := 2; -- 5132302
37866 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
37867 l_rec_acct_attrs.array_char_value(1) := p_source_41;
37868 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
37869 l_rec_acct_attrs.array_num_value(2) := p_source_117;
37870 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
37871 l_rec_acct_attrs.array_num_value(3) := p_source_79;
37872 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
37873 l_rec_acct_attrs.array_char_value(4) := p_source_80;
37874 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
37875 l_rec_acct_attrs.array_char_value(5) := p_source_81;
37876 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
37877 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
37878 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
37879 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
37880 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
37881 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
37882 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
37883 l_rec_acct_attrs.array_char_value(9) := p_source_43;
37884 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
37885 l_rec_acct_attrs.array_num_value(10) := p_source_91;
37886 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
37887 l_rec_acct_attrs.array_char_value(11) := p_source_106;
37891 l_rec_acct_attrs.array_num_value(13) := p_source_111;
37888 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
37889 l_rec_acct_attrs.array_date_value(12) := p_source_110;
37890 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
37892 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
37893 l_rec_acct_attrs.array_char_value(14) := p_source_112;
37894 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
37895 l_rec_acct_attrs.array_num_value(15) := p_source_108;
37896 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
37897 l_rec_acct_attrs.array_char_value(16) := p_source_68;
37898 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
37899 l_rec_acct_attrs.array_num_value(17) := p_source_102;
37900 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
37901 l_rec_acct_attrs.array_num_value(18) := p_source_103;
37902 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
37903 l_rec_acct_attrs.array_char_value(19) := p_source_71;
37904 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
37905 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
37906 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
37907 l_rec_acct_attrs.array_char_value(21) := p_source_43;
37908 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
37909 l_rec_acct_attrs.array_num_value(22) := p_source_74;
37910 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
37911 l_rec_acct_attrs.array_num_value(23) := p_source_75;
37912 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
37913 l_rec_acct_attrs.array_num_value(24) := p_source_76;
37914
37915 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
37916 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
37917
37918 ---------------------------------------------------------------------------------------------------------------
37919 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
37920 ---------------------------------------------------------------------------------------------------------------
37921 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
37922
37923 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37924 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
37925
37926 IF xla_accounting_cache_pkg.GetValueChar
37927 (p_source_code => 'LEDGER_CATEGORY_CODE'
37928 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
37929 AND l_bflow_method_code = 'PRIOR_ENTRY'
37930 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
37931 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
37932 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
37933 )
37934 THEN
37935 xla_ae_lines_pkg.BflowUpgEntry
37936 (p_business_method_code => l_bflow_method_code
37937 ,p_business_class_code => l_bflow_class_code
37938 ,p_balance_type => l_balance_type_code);
37939 ELSE
37940 NULL;
37941 -- No business flow processing for business flow method of NONE.
37942 END IF;
37943
37944 --
37945 -- call analytical criteria
37946 --
37947
37948 --
37949 -- call description
37950 --
37951 -- No description or it is inherited.
37952 --
37953 -- call ADRs
37954 -- Bug 4922099
37955 --
37956 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
37957 (NVL(l_actual_upg_option, 'N') = 'O') OR
37958 (NVL(l_enc_upg_option, 'N') = 'O')
37959 )
37960 THEN
37961 NULL;
37962 --
37963 --
37964
37965 l_ccid := AcctDerRule_27(
37966 p_application_id => p_application_id
37967 , p_ae_header_id => l_ae_header_id
37968 , p_source_5 => p_source_5
37969 , x_transaction_coa_id => l_adr_transaction_coa_id
37970 , x_accounting_coa_id => l_adr_accounting_coa_id
37971 , x_value_type_code => l_adr_value_type_code
37972 , p_side => 'NA'
37973 );
37974
37975 xla_ae_lines_pkg.set_ccid(
37976 p_code_combination_id => l_ccid
37977 , p_value_type_code => l_adr_value_type_code
37978 , p_transaction_coa_id => l_adr_transaction_coa_id
37979 , p_accounting_coa_id => l_adr_accounting_coa_id
37980 , p_adr_code => 'AP_CASH'
37981 , p_adr_type_code => 'S'
37982 , p_component_type => l_component_type
37983 , p_component_code => l_component_code
37984 , p_component_type_code => l_component_type_code
37985 , p_component_appl_id => l_component_appl_id
37986 , p_amb_context_code => l_amb_context_code
37987 , p_side => 'NA'
37988 );
37989
37990
37991 --
37992 --
37993 END IF;
37994 --
37995 -- Bug 4922099
37996 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
37997 (NVL(l_enc_upg_option, 'N') = 'O')
37998 ) AND
37999 (l_bflow_method_code = 'PRIOR_ENTRY')
38000 )
38001 THEN
38002 IF
38006 THEN
38003 --
38004 1 = 2
38005 --
38007 xla_accounting_err_pkg.build_message
38008 (p_appli_s_name => 'XLA'
38009 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38010 ,p_token_1 => 'LINE_NUMBER'
38011 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38012 ,p_token_2 => 'LINE_TYPE_NAME'
38013 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38014 l_component_type
38015 ,l_component_code
38016 ,l_component_type_code
38017 ,l_component_appl_id
38018 ,l_amb_context_code
38019 ,l_entity_code
38020 ,l_event_class_code
38021 )
38022 ,p_token_3 => 'OWNER'
38023 ,p_value_3 => xla_lookups_pkg.get_meaning(
38024 p_lookup_type => 'XLA_OWNER_TYPE'
38025 ,p_lookup_code => l_component_type_code
38026 )
38027 ,p_token_4 => 'PRODUCT_NAME'
38028 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
38029 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
38030 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
38031 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
38032 ,p_ae_header_id => NULL
38033 );
38034
38035 IF (C_LEVEL_ERROR>= g_log_level) THEN
38036 trace
38037 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38038 ,p_level => C_LEVEL_ERROR
38039 ,p_module => l_log_module);
38040 END IF;
38041 END IF;
38042 END IF;
38043 --
38044 --
38045 ------------------------------------------------------------------------------------------------
38046 -- 4219869 Business Flow
38047 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38048 -- Prior Entry. Currently, the following code is always generated.
38049 ------------------------------------------------------------------------------------------------
38050 XLA_AE_LINES_PKG.ValidateCurrentLine;
38051
38052 ------------------------------------------------------------------------------------
38053 -- 4219869 Business Flow
38054 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
38055 ------------------------------------------------------------------------------------
38056 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38057
38058 ----------------------------------------------------------------------------------
38059 -- 4219869 Business Flow
38060 -- Update journal entry status -- Need to generate this within IF <condition>
38061 ----------------------------------------------------------------------------------
38062 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38063 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
38064 ,p_balance_type_code => l_balance_type_code
38065 );
38066
38067 -------------------------------------------------------------------------------------------
38068 -- 4262811 - Generate the Accrual Reversal lines
38069 -------------------------------------------------------------------------------------------
38070 BEGIN
38071 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
38072 (g_array_event(p_event_id).array_value_num('header_index'));
38073 IF l_acc_rev_flag IS NULL THEN
38074 l_acc_rev_flag := 'N';
38075 END IF;
38076 EXCEPTION
38077 WHEN OTHERS THEN
38078 l_acc_rev_flag := 'N';
38079 END;
38080 --
38081 IF (l_acc_rev_flag = 'Y') THEN
38082
38083 -- 4645092 ------------------------------------------------------------------------------
38084 -- To allow MPA report to determine if it should generate report process
38085 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38086 ------------------------------------------------------------------------------------------
38087
38088 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38089 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38090 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
38091 -- call ADRs
38092 -- Bug 4922099
38093 --
38094 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38095 (NVL(l_actual_upg_option, 'N') = 'O') OR
38099 NULL;
38096 (NVL(l_enc_upg_option, 'N') = 'O')
38097 )
38098 THEN
38100 --
38101 --
38102
38103 l_ccid := AcctDerRule_27(
38104 p_application_id => p_application_id
38105 , p_ae_header_id => l_ae_header_id
38106 , p_source_5 => p_source_5
38107 , x_transaction_coa_id => l_adr_transaction_coa_id
38108 , x_accounting_coa_id => l_adr_accounting_coa_id
38109 , x_value_type_code => l_adr_value_type_code
38110 , p_side => 'NA'
38111 );
38112
38113 xla_ae_lines_pkg.set_ccid(
38114 p_code_combination_id => l_ccid
38115 , p_value_type_code => l_adr_value_type_code
38116 , p_transaction_coa_id => l_adr_transaction_coa_id
38117 , p_accounting_coa_id => l_adr_accounting_coa_id
38118 , p_adr_code => 'AP_CASH'
38119 , p_adr_type_code => 'S'
38120 , p_component_type => l_component_type
38121 , p_component_code => l_component_code
38122 , p_component_type_code => l_component_type_code
38123 , p_component_appl_id => l_component_appl_id
38124 , p_amb_context_code => l_amb_context_code
38125 , p_side => 'NA'
38126 );
38127
38128
38129 --
38130 --
38131 END IF;
38132
38133 --
38134 -- Update the line information that should be overwritten
38135 --
38136 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38137 p_header_num => 1);
38138 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38139
38140 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38141
38142 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38143 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38144 END IF;
38145
38146 --
38147 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38148 --
38149 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38150 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38151 ELSE
38152 ---------------------------------------------------------------------------------------------------
38153 -- 4262811a Switch Sign
38154 ---------------------------------------------------------------------------------------------------
38155 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38156 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38157 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38158 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38159 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38160 -- 5132302
38161 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38162 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38163
38164 END IF;
38165
38166 -- 4955764
38167 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38168 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38169
38170
38171 XLA_AE_LINES_PKG.ValidateCurrentLine;
38172 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38173
38174 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38175 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38176 ,p_balance_type_code => l_balance_type_code);
38177
38178 END IF;
38179
38180 -----------------------------------------------------------------------------------------
38181 -- 4262811 Multiperiod Accounting
38182 -----------------------------------------------------------------------------------------
38183 -- No MPA option is assigned.
38184
38185
38186 END IF;
38187 END IF;
38188 --
38189
38190 --
38191 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38192 trace
38193 (p_msg => 'END of AcctLineType_89'
38194 ,p_level => C_LEVEL_PROCEDURE
38195 ,p_module => l_log_module);
38196 END IF;
38197 --
38198 EXCEPTION
38199 WHEN xla_exceptions_pkg.application_exception THEN
38200 RAISE;
38201 WHEN OTHERS THEN
38202 xla_exceptions_pkg.raise_message
38203 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_89');
38204 END AcctLineType_89;
38205 --
38206
38207 ---------------------------------------
38208 --
38209 -- PRIVATE FUNCTION
38210 -- AcctLineType_90
38211 --
38212 ---------------------------------------
38213 PROCEDURE AcctLineType_90 (
38214 p_application_id IN NUMBER
38215 ,p_event_id IN NUMBER
38216 ,p_calculate_acctd_flag IN VARCHAR2
38217 ,p_calculate_g_l_flag IN VARCHAR2
38221
38218 ,p_actual_flag IN OUT VARCHAR2
38219 ,p_balance_type_code OUT VARCHAR2
38220 ,p_gain_or_loss_ref OUT VARCHAR2
38222 --Automatic Offsets Value
38223 , p_source_3 IN VARCHAR2
38224 , p_source_3_meaning IN VARCHAR2
38225 --Bank Cash Account
38226 , p_source_5 IN NUMBER
38227 --Accounting Reversal Indicator
38228 , p_source_41 IN VARCHAR2
38229 --Distribution Link Type
38230 , p_source_43 IN VARCHAR2
38231 --Override Accounted Amount Indicator
38232 , p_source_68 IN VARCHAR2
38233 , p_source_68_meaning IN VARCHAR2
38234 --Third Party Type
38235 , p_source_71 IN VARCHAR2
38236 --Invoice Distribution Tax Line Identifier
38237 , p_source_74 IN NUMBER
38238 --Invoice Distribution Tax Distribution Identifier from Tax
38239 , p_source_75 IN NUMBER
38240 --Invoice Distribution Summary Tax Line Identifier
38241 , p_source_76 IN NUMBER
38242 --Business Flow Accounts Payable Application Identifier
38243 , p_source_79 IN NUMBER
38244 --Business Flow Invoice Distribution Type
38245 , p_source_80 IN VARCHAR2
38246 --Business Flow Invoice Entity Code
38247 , p_source_81 IN VARCHAR2
38248 --Business Flow Invoice Distribution Identifier
38249 , p_source_82 IN NUMBER
38250 --Business Flow Invoice Identifier
38251 , p_source_83 IN NUMBER
38252 --When to Account for Payment Option
38253 , p_source_89 IN VARCHAR2
38254 --Payment Distribution Type
38255 , p_source_90 IN VARCHAR2
38256 , p_source_90_meaning IN VARCHAR2
38257 --Payment Distribution Amount
38258 , p_source_91 IN NUMBER
38259 --Payment Distribution Identifier
38260 , p_source_96 IN NUMBER
38261 --Payment Supplier Identifier
38262 , p_source_102 IN NUMBER
38263 --Payment Supplier Site Identifier
38264 , p_source_103 IN NUMBER
38265 --Payment Distribution Reversed Identifier
38266 , p_source_104 IN NUMBER
38267 --Pooled Bank Account Option
38268 , p_source_105 IN VARCHAR2
38269 , p_source_105_meaning IN VARCHAR2
38270 --Payment Currency Code
38271 , p_source_106 IN VARCHAR2
38272 --Payment Maturity Date
38273 , p_source_107 IN DATE
38274 --Payment Distribution (Payment Rate) Ledger Amount
38275 , p_source_108 IN NUMBER
38276 --Payment Exchange Date
38277 , p_source_110 IN DATE
38278 --Payment Exchange Rate
38279 , p_source_111 IN NUMBER
38280 --Payment Exchange Rate Type
38281 , p_source_112 IN VARCHAR2
38282 --Payment Type
38283 , p_source_115 IN VARCHAR2
38284 , p_source_115_meaning IN VARCHAR2
38285 --Payment Processing Type
38286 , p_source_116 IN VARCHAR2
38287 --Invoice Distribution Amount of the Payment Distribution
38288 , p_source_117 IN NUMBER
38289 )
38290 IS
38291
38292 l_component_type VARCHAR2(80);
38293 l_component_code VARCHAR2(30);
38294 l_component_type_code VARCHAR2(1);
38295 l_component_appl_id INTEGER;
38296 l_amb_context_code VARCHAR2(30);
38297 l_entity_code VARCHAR2(30);
38298 l_event_class_code VARCHAR2(30);
38299 l_ae_header_id NUMBER;
38300 l_event_type_code VARCHAR2(30);
38301 l_line_definition_code VARCHAR2(30);
38302 l_line_definition_owner_code VARCHAR2(1);
38303 --
38304 -- adr variables
38305 l_segment VARCHAR2(30);
38306 l_ccid NUMBER;
38307 l_adr_transaction_coa_id NUMBER;
38308 l_adr_accounting_coa_id NUMBER;
38309 l_adr_flexfield_segment_code VARCHAR2(30);
38310 l_adr_flex_value_set_id NUMBER;
38311 l_adr_value_type_code VARCHAR2(30);
38312 l_adr_value_combination_id NUMBER;
38313 l_adr_value_segment_code VARCHAR2(30);
38314
38315 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
38316 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
38317 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
38318 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
38319
38320 -- 4262811 Variables ------------------------------------------------------------------------------------------
38321 l_entered_amt_idx NUMBER;
38322 l_accted_amt_idx NUMBER;
38323 l_acc_rev_flag VARCHAR2(1);
38324 l_accrual_line_num NUMBER;
38325 l_tmp_amt NUMBER;
38326 l_acc_rev_natural_side_code VARCHAR2(1);
38327
38328 l_num_entries NUMBER;
38329 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
38330 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
38331 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
38332 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
38333 l_recog_line_1 NUMBER;
38334 l_recog_line_2 NUMBER;
38335
38336 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
38337 l_bflow_applied_to_amt NUMBER; -- 5132302
38338 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
38339
38340 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
38341
38345 ---------------------------------------------------------------------------------------------------------------
38342 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
38343 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
38344
38346
38347
38348 --
38349 -- bulk performance
38350 --
38351 l_balance_type_code VARCHAR2(1);
38352 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
38353 l_log_module VARCHAR2(240);
38354
38355 --
38356 -- Upgrade strategy
38357 --
38358 l_actual_upg_option VARCHAR2(1);
38359 l_enc_upg_option VARCHAR2(1);
38360
38361 --
38362 BEGIN
38363 --
38364 IF g_log_enabled THEN
38365 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_90';
38366 END IF;
38367 --
38368 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38369
38370 trace
38371 (p_msg => 'BEGIN of AcctLineType_90'
38372 ,p_level => C_LEVEL_PROCEDURE
38373 ,p_module => l_log_module);
38374
38375 END IF;
38376 --
38377 l_component_type := 'AMB_JLT';
38378 l_component_code := 'AP_CASH_PMT_AOS_AS';
38379 l_component_type_code := 'S';
38380 l_component_appl_id := 200;
38381 l_amb_context_code := 'DEFAULT';
38382 l_entity_code := 'AP_PAYMENTS';
38383 l_event_class_code := 'PAYMENTS';
38384 l_event_type_code := 'PAYMENTS_ALL';
38385 l_line_definition_owner_code := 'S';
38386 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
38387 --
38388 l_balance_type_code := 'A';
38389 l_segment := NULL;
38390 l_ccid := NULL;
38391 l_adr_transaction_coa_id := NULL;
38392 l_adr_accounting_coa_id := NULL;
38393 l_adr_flexfield_segment_code := NULL;
38394 l_adr_flex_value_set_id := NULL;
38395 l_adr_value_type_code := NULL;
38396 l_adr_value_combination_id := NULL;
38397 l_adr_value_segment_code := NULL;
38398
38399 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
38400 l_bflow_class_code := ''; -- 4219869 Business Flow
38401 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
38402 l_budgetary_control_flag := 'N';
38403
38404 l_bflow_applied_to_amt_idx := NULL; -- 5132302
38405 l_bflow_applied_to_amt := NULL; -- 5132302
38406 l_entered_amt_idx := NULL; -- 4262811
38407 l_accted_amt_idx := NULL; -- 4262811
38408 l_acc_rev_flag := NULL; -- 4262811
38409 l_accrual_line_num := NULL; -- 4262811
38410 l_tmp_amt := NULL; -- 4262811
38411 --
38412
38413 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
38414 l_balance_type_code <> 'B' THEN
38415 IF NVL(p_source_89,'
38416 ') = 'ISSUE_ISSUE' AND
38417 (NVL(p_source_105,'
38418 ') = 'Y' AND
38419 NVL(p_source_3,'
38420 ') = 'ACCOUNT_SEGMENT_VALUE') AND
38421 p_source_107 IS NULL AND
38422 NVL(p_source_90,'
38423 ') = 'CASH' AND
38424 NVL(p_source_115,'
38425 ') <> 'R' AND
38426 NVL(p_source_116,'
38427 ') <> 'PAYMENTCARD'
38428 THEN
38429
38430 --
38431 XLA_AE_LINES_PKG.SetNewLine;
38432
38433 p_balance_type_code := l_balance_type_code;
38434 -- set the flag so later we will know whether the gain loss line needs to be created
38435
38436 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
38437 p_actual_flag :='A';
38438 END IF;
38439
38440 --
38441 -- bulk performance
38442 --
38443 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
38444 p_header_num => 0); -- 4262811
38445 --
38446 -- set accounting line options
38447 --
38448 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
38449 p_natural_side_code => 'C'
38450 , p_gain_or_loss_flag => 'N'
38451 , p_gl_transfer_mode_code => 'S'
38452 , p_acct_entry_type_code => 'A'
38453 , p_switch_side_flag => 'Y'
38454 , p_merge_duplicate_code => 'A'
38455 );
38456 --
38457 l_acc_rev_natural_side_code := 'D'; -- 4262811
38458 --
38459 --
38460 -- set accounting line type info
38461 --
38462 xla_ae_lines_pkg.SetAcctLineType
38463 (p_component_type => l_component_type
38464 ,p_event_type_code => l_event_type_code
38465 ,p_line_definition_owner_code => l_line_definition_owner_code
38466 ,p_line_definition_code => l_line_definition_code
38467 ,p_accounting_line_code => l_component_code
38468 ,p_accounting_line_type_code => l_component_type_code
38469 ,p_accounting_line_appl_id => l_component_appl_id
38470 ,p_amb_context_code => l_amb_context_code
38471 ,p_entity_code => l_entity_code
38472 ,p_event_class_code => l_event_class_code);
38473 --
38474 -- set accounting class
38475 --
38476 xla_ae_lines_pkg.SetAcctClass(
38477 p_accounting_class_code => 'CASH'
38478 , p_ae_header_id => l_ae_header_id
38482 -- set rounding class
38479 );
38480
38481 --
38483 --
38484 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
38485 'CASH';
38486
38487 --
38488 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
38489 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
38490 --
38491 -- bulk performance
38492 --
38493 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
38494
38495 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
38496 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
38497
38498 -- 4955764
38499 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38500 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
38501
38502 -- 4458381 Public Sector Enh
38503
38504 --
38505 -- set accounting attributes for the line type
38506 --
38507 l_entered_amt_idx := 10;
38508 l_accted_amt_idx := 15;
38509 l_bflow_applied_to_amt_idx := 2; -- 5132302
38510 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
38511 l_rec_acct_attrs.array_char_value(1) := p_source_41;
38512 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
38513 l_rec_acct_attrs.array_num_value(2) := p_source_117;
38514 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
38515 l_rec_acct_attrs.array_num_value(3) := p_source_79;
38516 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
38517 l_rec_acct_attrs.array_char_value(4) := p_source_80;
38518 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
38519 l_rec_acct_attrs.array_char_value(5) := p_source_81;
38520 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
38521 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
38522 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
38523 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
38524 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
38525 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
38526 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
38527 l_rec_acct_attrs.array_char_value(9) := p_source_43;
38528 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
38529 l_rec_acct_attrs.array_num_value(10) := p_source_91;
38530 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
38531 l_rec_acct_attrs.array_char_value(11) := p_source_106;
38532 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
38533 l_rec_acct_attrs.array_date_value(12) := p_source_110;
38534 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
38535 l_rec_acct_attrs.array_num_value(13) := p_source_111;
38536 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
38537 l_rec_acct_attrs.array_char_value(14) := p_source_112;
38538 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
38539 l_rec_acct_attrs.array_num_value(15) := p_source_108;
38540 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
38541 l_rec_acct_attrs.array_char_value(16) := p_source_68;
38542 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
38543 l_rec_acct_attrs.array_num_value(17) := p_source_102;
38544 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
38545 l_rec_acct_attrs.array_num_value(18) := p_source_103;
38546 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
38547 l_rec_acct_attrs.array_char_value(19) := p_source_71;
38548 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
38549 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
38550 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
38551 l_rec_acct_attrs.array_char_value(21) := p_source_43;
38552 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
38553 l_rec_acct_attrs.array_num_value(22) := p_source_74;
38554 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
38555 l_rec_acct_attrs.array_num_value(23) := p_source_75;
38556 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
38557 l_rec_acct_attrs.array_num_value(24) := p_source_76;
38558
38559 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
38560 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
38561
38562 ---------------------------------------------------------------------------------------------------------------
38563 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
38564 ---------------------------------------------------------------------------------------------------------------
38565 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
38566
38567 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38568 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
38569
38570 IF xla_accounting_cache_pkg.GetValueChar
38571 (p_source_code => 'LEDGER_CATEGORY_CODE'
38572 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
38576 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
38573 AND l_bflow_method_code = 'PRIOR_ENTRY'
38574 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
38575 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
38577 )
38578 THEN
38579 xla_ae_lines_pkg.BflowUpgEntry
38580 (p_business_method_code => l_bflow_method_code
38581 ,p_business_class_code => l_bflow_class_code
38582 ,p_balance_type => l_balance_type_code);
38583 ELSE
38584 NULL;
38585 XLA_AE_LINES_PKG.business_flow_validation(
38586 p_business_method_code => l_bflow_method_code
38587 ,p_business_class_code => l_bflow_class_code
38588 ,p_inherit_description_flag => l_inherit_desc_flag);
38589 END IF;
38590
38591 --
38592 -- call analytical criteria
38593 --
38594
38595 --
38596 -- call description
38597 --
38598 -- No description or it is inherited.
38599 --
38600 -- call ADRs
38601 -- Bug 4922099
38602 --
38603 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38604 (NVL(l_actual_upg_option, 'N') = 'O') OR
38605 (NVL(l_enc_upg_option, 'N') = 'O')
38606 )
38607 THEN
38608 NULL;
38609 --
38610 --
38611
38612 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
38613 p_code_combination_id => TO_NUMBER(C_NUM)
38614 , p_value_type_code => NULL
38615 , p_transaction_coa_id => null
38616 , p_accounting_coa_id => null
38617 , p_adr_code => NULL
38618 , p_adr_type_code => NULL
38619 , p_component_type => l_component_type
38620 , p_component_code => l_component_code
38621 , p_component_type_code => l_component_type_code
38622 , p_component_appl_id => l_component_appl_id
38623 , p_amb_context_code => l_amb_context_code
38624 , p_side => NULL
38625 );
38626
38627
38628 -- initialise segments
38629 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38630 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38631 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38632 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38633 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38634 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38635 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38636 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38637 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38638 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38639 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38640 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38641 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38642 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38643 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38644 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38645 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38646 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38647 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38648 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38649 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38650 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38651 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38652 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38653 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38654 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38655 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38656 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38657 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38658 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38659 --
38660
38661 --
38662
38663
38664 l_segment := AcctDerRule_5(
38665 p_application_id => p_application_id
38666 , p_ae_header_id => l_ae_header_id
38667 , p_source_5 => p_source_5
38668 , x_transaction_coa_id => l_adr_transaction_coa_id
38669 , x_accounting_coa_id => l_adr_accounting_coa_id
38670 , x_flexfield_segment_code => l_adr_flexfield_segment_code
38671 , x_flex_value_set_id => l_adr_flex_value_set_id
38672 , x_value_type_code => l_adr_value_type_code
38673 , x_value_combination_id => l_adr_value_combination_id
38674 , x_value_segment_code => l_adr_value_segment_code
38678
38675 , p_side => 'NA'
38676 , p_override_seg_flag => 'Y'
38677 );
38679 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
38680
38681 xla_ae_lines_pkg.set_segment(
38682 p_to_segment_code => 'GL_ACCOUNT'
38683 , p_segment_value => l_segment
38684 , p_from_segment_code => l_adr_value_segment_code
38685 , p_from_combination_id => l_adr_value_combination_id
38686 , p_value_type_code => l_adr_value_type_code
38687 , p_transaction_coa_id => l_adr_transaction_coa_id
38688 , p_accounting_coa_id => l_adr_accounting_coa_id
38689 , p_flexfield_segment_code => l_adr_flexfield_segment_code
38690 , p_flex_value_set_id => l_adr_flex_value_set_id
38691 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
38692 , p_adr_type_code => 'S'
38693 , p_component_type => l_component_type
38694 , p_component_code => l_component_code
38695 , p_component_type_code => l_component_type_code
38696 , p_component_appl_id => l_component_appl_id
38697 , p_amb_context_code => l_amb_context_code
38698 , p_entity_code => 'AP_PAYMENTS'
38699 , p_event_class_code => 'PAYMENTS'
38700 , p_side => 'NA'
38701 );
38702
38703 END IF;
38704
38705 --
38706 --
38707 END IF;
38708 --
38709 -- Bug 4922099
38710 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
38711 (NVL(l_enc_upg_option, 'N') = 'O')
38712 ) AND
38713 (l_bflow_method_code = 'PRIOR_ENTRY')
38714 )
38715 THEN
38716 IF
38717 --
38718 1 = 2
38719 --
38720 THEN
38721 xla_accounting_err_pkg.build_message
38722 (p_appli_s_name => 'XLA'
38723 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38724 ,p_token_1 => 'LINE_NUMBER'
38725 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
38726 ,p_token_2 => 'LINE_TYPE_NAME'
38727 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
38728 l_component_type
38729 ,l_component_code
38730 ,l_component_type_code
38731 ,l_component_appl_id
38732 ,l_amb_context_code
38733 ,l_entity_code
38734 ,l_event_class_code
38735 )
38736 ,p_token_3 => 'OWNER'
38737 ,p_value_3 => xla_lookups_pkg.get_meaning(
38738 p_lookup_type => 'XLA_OWNER_TYPE'
38739 ,p_lookup_code => l_component_type_code
38740 )
38741 ,p_token_4 => 'PRODUCT_NAME'
38742 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
38743 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
38744 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
38745 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
38746 ,p_ae_header_id => NULL
38747 );
38748
38749 IF (C_LEVEL_ERROR>= g_log_level) THEN
38750 trace
38751 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
38752 ,p_level => C_LEVEL_ERROR
38753 ,p_module => l_log_module);
38754 END IF;
38755 END IF;
38756 END IF;
38757 --
38758 --
38759 ------------------------------------------------------------------------------------------------
38760 -- 4219869 Business Flow
38761 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
38762 -- Prior Entry. Currently, the following code is always generated.
38763 ------------------------------------------------------------------------------------------------
38764 XLA_AE_LINES_PKG.ValidateCurrentLine;
38765
38766 ------------------------------------------------------------------------------------
38767 -- 4219869 Business Flow
38768 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
38769 ------------------------------------------------------------------------------------
38770 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38771
38772 ----------------------------------------------------------------------------------
38773 -- 4219869 Business Flow
38777 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
38774 -- Update journal entry status -- Need to generate this within IF <condition>
38775 ----------------------------------------------------------------------------------
38776 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38778 ,p_balance_type_code => l_balance_type_code
38779 );
38780
38781 -------------------------------------------------------------------------------------------
38782 -- 4262811 - Generate the Accrual Reversal lines
38783 -------------------------------------------------------------------------------------------
38784 BEGIN
38785 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
38786 (g_array_event(p_event_id).array_value_num('header_index'));
38787 IF l_acc_rev_flag IS NULL THEN
38788 l_acc_rev_flag := 'N';
38789 END IF;
38790 EXCEPTION
38791 WHEN OTHERS THEN
38792 l_acc_rev_flag := 'N';
38793 END;
38794 --
38795 IF (l_acc_rev_flag = 'Y') THEN
38796
38797 -- 4645092 ------------------------------------------------------------------------------
38798 -- To allow MPA report to determine if it should generate report process
38799 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
38800 ------------------------------------------------------------------------------------------
38801
38802 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
38803 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
38804 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
38805 -- call ADRs
38806 -- Bug 4922099
38807 --
38808 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
38809 (NVL(l_actual_upg_option, 'N') = 'O') OR
38810 (NVL(l_enc_upg_option, 'N') = 'O')
38811 )
38812 THEN
38813 NULL;
38814 --
38815 --
38816
38817 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
38818 p_code_combination_id => TO_NUMBER(C_NUM)
38819 , p_value_type_code => NULL
38820 , p_transaction_coa_id => null
38821 , p_accounting_coa_id => null
38822 , p_adr_code => NULL
38823 , p_adr_type_code => NULL
38824 , p_component_type => l_component_type
38825 , p_component_code => l_component_code
38826 , p_component_type_code => l_component_type_code
38827 , p_component_appl_id => l_component_appl_id
38828 , p_amb_context_code => l_amb_context_code
38829 , p_side => NULL
38830 );
38831
38832
38833 -- initialise segments
38834 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38835 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38836 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38837 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38838 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38839 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38840 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38841 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38842 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38843 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38844 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38845 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38846 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38847 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38848 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38849 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38850 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38851 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38852 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38853 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38854 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38855 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38856 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38857 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38858 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38859 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38860 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38861 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38862 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38863 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
38864 --
38865
38866 --
38867
38868
38869 l_segment := AcctDerRule_5(
38873 , x_transaction_coa_id => l_adr_transaction_coa_id
38870 p_application_id => p_application_id
38871 , p_ae_header_id => l_ae_header_id
38872 , p_source_5 => p_source_5
38874 , x_accounting_coa_id => l_adr_accounting_coa_id
38875 , x_flexfield_segment_code => l_adr_flexfield_segment_code
38876 , x_flex_value_set_id => l_adr_flex_value_set_id
38877 , x_value_type_code => l_adr_value_type_code
38878 , x_value_combination_id => l_adr_value_combination_id
38879 , x_value_segment_code => l_adr_value_segment_code
38880 , p_side => 'NA'
38881 , p_override_seg_flag => 'Y'
38882 );
38883
38884 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
38885
38886 xla_ae_lines_pkg.set_segment(
38887 p_to_segment_code => 'GL_ACCOUNT'
38888 , p_segment_value => l_segment
38889 , p_from_segment_code => l_adr_value_segment_code
38890 , p_from_combination_id => l_adr_value_combination_id
38891 , p_value_type_code => l_adr_value_type_code
38892 , p_transaction_coa_id => l_adr_transaction_coa_id
38893 , p_accounting_coa_id => l_adr_accounting_coa_id
38894 , p_flexfield_segment_code => l_adr_flexfield_segment_code
38895 , p_flex_value_set_id => l_adr_flex_value_set_id
38896 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
38897 , p_adr_type_code => 'S'
38898 , p_component_type => l_component_type
38899 , p_component_code => l_component_code
38900 , p_component_type_code => l_component_type_code
38901 , p_component_appl_id => l_component_appl_id
38902 , p_amb_context_code => l_amb_context_code
38903 , p_entity_code => 'AP_PAYMENTS'
38904 , p_event_class_code => 'PAYMENTS'
38905 , p_side => 'NA'
38906 );
38907
38908 END IF;
38909
38910 --
38911 --
38912 END IF;
38913
38914 --
38915 -- Update the line information that should be overwritten
38916 --
38917 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
38918 p_header_num => 1);
38919 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
38920
38921 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
38922
38923 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
38924 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
38925 END IF;
38926
38927 --
38928 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
38929 --
38930 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
38931 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
38932 ELSE
38933 ---------------------------------------------------------------------------------------------------
38934 -- 4262811a Switch Sign
38935 ---------------------------------------------------------------------------------------------------
38936 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
38937 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38938 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38939 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
38940 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38941 -- 5132302
38942 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
38943 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
38944
38945 END IF;
38946
38947 -- 4955764
38948 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
38949 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
38950
38951
38952 XLA_AE_LINES_PKG.ValidateCurrentLine;
38953 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
38954
38955 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
38956 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
38957 ,p_balance_type_code => l_balance_type_code);
38958
38959 END IF;
38960
38961 -----------------------------------------------------------------------------------------
38962 -- 4262811 Multiperiod Accounting
38963 -----------------------------------------------------------------------------------------
38964 -- No MPA option is assigned.
38965
38966
38967 END IF;
38968 END IF;
38969 --
38970
38971 --
38972 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
38973 trace
38974 (p_msg => 'END of AcctLineType_90'
38975 ,p_level => C_LEVEL_PROCEDURE
38976 ,p_module => l_log_module);
38977 END IF;
38978 --
38979 EXCEPTION
38983 xla_exceptions_pkg.raise_message
38980 WHEN xla_exceptions_pkg.application_exception THEN
38981 RAISE;
38982 WHEN OTHERS THEN
38984 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_90');
38985 END AcctLineType_90;
38986 --
38987
38988 ---------------------------------------
38989 --
38990 -- PRIVATE FUNCTION
38991 -- AcctLineType_91
38992 --
38993 ---------------------------------------
38994 PROCEDURE AcctLineType_91 (
38995 p_application_id IN NUMBER
38996 ,p_event_id IN NUMBER
38997 ,p_calculate_acctd_flag IN VARCHAR2
38998 ,p_calculate_g_l_flag IN VARCHAR2
38999 ,p_actual_flag IN OUT VARCHAR2
39000 ,p_balance_type_code OUT VARCHAR2
39001 ,p_gain_or_loss_ref OUT VARCHAR2
39002
39003 --Automatic Offsets Value
39004 , p_source_3 IN VARCHAR2
39005 , p_source_3_meaning IN VARCHAR2
39006 --Bank Cash Account
39007 , p_source_5 IN NUMBER
39008 --Accounting Reversal Indicator
39009 , p_source_41 IN VARCHAR2
39010 --Distribution Link Type
39011 , p_source_43 IN VARCHAR2
39012 --Override Accounted Amount Indicator
39013 , p_source_68 IN VARCHAR2
39014 , p_source_68_meaning IN VARCHAR2
39015 --Third Party Type
39016 , p_source_71 IN VARCHAR2
39017 --Invoice Distribution Tax Line Identifier
39018 , p_source_74 IN NUMBER
39019 --Invoice Distribution Tax Distribution Identifier from Tax
39020 , p_source_75 IN NUMBER
39021 --Invoice Distribution Summary Tax Line Identifier
39022 , p_source_76 IN NUMBER
39023 --Business Flow Accounts Payable Application Identifier
39024 , p_source_79 IN NUMBER
39025 --Business Flow Invoice Distribution Type
39026 , p_source_80 IN VARCHAR2
39027 --Business Flow Invoice Entity Code
39028 , p_source_81 IN VARCHAR2
39029 --Business Flow Invoice Distribution Identifier
39030 , p_source_82 IN NUMBER
39031 --Business Flow Invoice Identifier
39032 , p_source_83 IN NUMBER
39033 --When to Account for Payment Option
39034 , p_source_89 IN VARCHAR2
39035 --Payment Distribution Type
39036 , p_source_90 IN VARCHAR2
39037 , p_source_90_meaning IN VARCHAR2
39038 --Payment Distribution Amount
39039 , p_source_91 IN NUMBER
39040 --Payment Distribution Identifier
39041 , p_source_96 IN NUMBER
39042 --Payment Supplier Identifier
39043 , p_source_102 IN NUMBER
39044 --Payment Supplier Site Identifier
39045 , p_source_103 IN NUMBER
39046 --Payment Distribution Reversed Identifier
39047 , p_source_104 IN NUMBER
39048 --Pooled Bank Account Option
39049 , p_source_105 IN VARCHAR2
39050 , p_source_105_meaning IN VARCHAR2
39051 --Payment Currency Code
39052 , p_source_106 IN VARCHAR2
39053 --Payment Maturity Date
39054 , p_source_107 IN DATE
39055 --Payment Distribution (Payment Rate) Ledger Amount
39056 , p_source_108 IN NUMBER
39057 --Payment Exchange Date
39058 , p_source_110 IN DATE
39059 --Payment Exchange Rate
39060 , p_source_111 IN NUMBER
39061 --Payment Exchange Rate Type
39062 , p_source_112 IN VARCHAR2
39063 --Payment Type
39064 , p_source_115 IN VARCHAR2
39065 , p_source_115_meaning IN VARCHAR2
39066 --Payment Processing Type
39067 , p_source_116 IN VARCHAR2
39068 --Invoice Distribution Amount of the Payment Distribution
39069 , p_source_117 IN NUMBER
39070 )
39071 IS
39072
39073 l_component_type VARCHAR2(80);
39074 l_component_code VARCHAR2(30);
39075 l_component_type_code VARCHAR2(1);
39076 l_component_appl_id INTEGER;
39077 l_amb_context_code VARCHAR2(30);
39078 l_entity_code VARCHAR2(30);
39079 l_event_class_code VARCHAR2(30);
39080 l_ae_header_id NUMBER;
39081 l_event_type_code VARCHAR2(30);
39082 l_line_definition_code VARCHAR2(30);
39083 l_line_definition_owner_code VARCHAR2(1);
39084 --
39085 -- adr variables
39086 l_segment VARCHAR2(30);
39087 l_ccid NUMBER;
39088 l_adr_transaction_coa_id NUMBER;
39089 l_adr_accounting_coa_id NUMBER;
39090 l_adr_flexfield_segment_code VARCHAR2(30);
39091 l_adr_flex_value_set_id NUMBER;
39092 l_adr_value_type_code VARCHAR2(30);
39093 l_adr_value_combination_id NUMBER;
39094 l_adr_value_segment_code VARCHAR2(30);
39095
39096 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
39097 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
39098 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
39099 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
39100
39101 -- 4262811 Variables ------------------------------------------------------------------------------------------
39102 l_entered_amt_idx NUMBER;
39103 l_accted_amt_idx NUMBER;
39104 l_acc_rev_flag VARCHAR2(1);
39105 l_accrual_line_num NUMBER;
39106 l_tmp_amt NUMBER;
39107 l_acc_rev_natural_side_code VARCHAR2(1);
39108
39109 l_num_entries NUMBER;
39110 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
39114 l_recog_line_1 NUMBER;
39111 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
39112 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
39113 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
39115 l_recog_line_2 NUMBER;
39116
39117 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
39118 l_bflow_applied_to_amt NUMBER; -- 5132302
39119 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
39120
39121 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
39122
39123 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
39124 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
39125
39126 ---------------------------------------------------------------------------------------------------------------
39127
39128
39129 --
39130 -- bulk performance
39131 --
39132 l_balance_type_code VARCHAR2(1);
39133 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39134 l_log_module VARCHAR2(240);
39135
39136 --
39137 -- Upgrade strategy
39138 --
39139 l_actual_upg_option VARCHAR2(1);
39140 l_enc_upg_option VARCHAR2(1);
39141
39142 --
39143 BEGIN
39144 --
39145 IF g_log_enabled THEN
39146 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_91';
39147 END IF;
39148 --
39149 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39150
39151 trace
39152 (p_msg => 'BEGIN of AcctLineType_91'
39153 ,p_level => C_LEVEL_PROCEDURE
39154 ,p_module => l_log_module);
39155
39156 END IF;
39157 --
39158 l_component_type := 'AMB_JLT';
39159 l_component_code := 'AP_CASH_PMT_AOS_BS';
39160 l_component_type_code := 'S';
39161 l_component_appl_id := 200;
39162 l_amb_context_code := 'DEFAULT';
39163 l_entity_code := 'AP_PAYMENTS';
39164 l_event_class_code := 'PAYMENTS';
39165 l_event_type_code := 'PAYMENTS_ALL';
39166 l_line_definition_owner_code := 'S';
39167 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
39168 --
39169 l_balance_type_code := 'A';
39170 l_segment := NULL;
39171 l_ccid := NULL;
39172 l_adr_transaction_coa_id := NULL;
39173 l_adr_accounting_coa_id := NULL;
39174 l_adr_flexfield_segment_code := NULL;
39175 l_adr_flex_value_set_id := NULL;
39176 l_adr_value_type_code := NULL;
39177 l_adr_value_combination_id := NULL;
39178 l_adr_value_segment_code := NULL;
39179
39180 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
39181 l_bflow_class_code := ''; -- 4219869 Business Flow
39182 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39183 l_budgetary_control_flag := 'N';
39184
39185 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39186 l_bflow_applied_to_amt := NULL; -- 5132302
39187 l_entered_amt_idx := NULL; -- 4262811
39188 l_accted_amt_idx := NULL; -- 4262811
39189 l_acc_rev_flag := NULL; -- 4262811
39190 l_accrual_line_num := NULL; -- 4262811
39191 l_tmp_amt := NULL; -- 4262811
39192 --
39193
39194 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39195 l_balance_type_code <> 'B' THEN
39196 IF NVL(p_source_89,'
39197 ') = 'ISSUE_ISSUE' AND
39198 (NVL(p_source_105,'
39199 ') = 'Y' AND
39200 NVL(p_source_3,'
39201 ') = 'BALANCING_SEGMENT') AND
39202 p_source_107 IS NULL AND
39203 NVL(p_source_90,'
39204 ') = 'CASH' AND
39205 NVL(p_source_115,'
39206 ') <> 'R' AND
39207 NVL(p_source_116,'
39208 ') <> 'PAYMENTCARD'
39209 THEN
39210
39211 --
39212 XLA_AE_LINES_PKG.SetNewLine;
39213
39214 p_balance_type_code := l_balance_type_code;
39215 -- set the flag so later we will know whether the gain loss line needs to be created
39216
39217 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39218 p_actual_flag :='A';
39219 END IF;
39220
39221 --
39222 -- bulk performance
39223 --
39224 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39225 p_header_num => 0); -- 4262811
39226 --
39227 -- set accounting line options
39228 --
39229 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39230 p_natural_side_code => 'C'
39231 , p_gain_or_loss_flag => 'N'
39232 , p_gl_transfer_mode_code => 'S'
39233 , p_acct_entry_type_code => 'A'
39234 , p_switch_side_flag => 'Y'
39235 , p_merge_duplicate_code => 'A'
39236 );
39237 --
39238 l_acc_rev_natural_side_code := 'D'; -- 4262811
39239 --
39240 --
39241 -- set accounting line type info
39242 --
39243 xla_ae_lines_pkg.SetAcctLineType
39244 (p_component_type => l_component_type
39245 ,p_event_type_code => l_event_type_code
39246 ,p_line_definition_owner_code => l_line_definition_owner_code
39247 ,p_line_definition_code => l_line_definition_code
39251 ,p_amb_context_code => l_amb_context_code
39248 ,p_accounting_line_code => l_component_code
39249 ,p_accounting_line_type_code => l_component_type_code
39250 ,p_accounting_line_appl_id => l_component_appl_id
39252 ,p_entity_code => l_entity_code
39253 ,p_event_class_code => l_event_class_code);
39254 --
39255 -- set accounting class
39256 --
39257 xla_ae_lines_pkg.SetAcctClass(
39258 p_accounting_class_code => 'CASH'
39259 , p_ae_header_id => l_ae_header_id
39260 );
39261
39262 --
39263 -- set rounding class
39264 --
39265 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39266 'CASH';
39267
39268 --
39269 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39270 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39271 --
39272 -- bulk performance
39273 --
39274 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39275
39276 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39277 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39278
39279 -- 4955764
39280 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39281 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39282
39283 -- 4458381 Public Sector Enh
39284
39285 --
39286 -- set accounting attributes for the line type
39287 --
39288 l_entered_amt_idx := 10;
39289 l_accted_amt_idx := 15;
39290 l_bflow_applied_to_amt_idx := 2; -- 5132302
39291 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39292 l_rec_acct_attrs.array_char_value(1) := p_source_41;
39293 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
39294 l_rec_acct_attrs.array_num_value(2) := p_source_117;
39295 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
39296 l_rec_acct_attrs.array_num_value(3) := p_source_79;
39297 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39298 l_rec_acct_attrs.array_char_value(4) := p_source_80;
39299 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
39300 l_rec_acct_attrs.array_char_value(5) := p_source_81;
39301 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
39302 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
39303 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39304 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
39305 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
39306 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
39307 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
39308 l_rec_acct_attrs.array_char_value(9) := p_source_43;
39309 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
39310 l_rec_acct_attrs.array_num_value(10) := p_source_91;
39311 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
39312 l_rec_acct_attrs.array_char_value(11) := p_source_106;
39313 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
39314 l_rec_acct_attrs.array_date_value(12) := p_source_110;
39315 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
39316 l_rec_acct_attrs.array_num_value(13) := p_source_111;
39317 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
39318 l_rec_acct_attrs.array_char_value(14) := p_source_112;
39319 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
39320 l_rec_acct_attrs.array_num_value(15) := p_source_108;
39321 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
39322 l_rec_acct_attrs.array_char_value(16) := p_source_68;
39323 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
39324 l_rec_acct_attrs.array_num_value(17) := p_source_102;
39325 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
39326 l_rec_acct_attrs.array_num_value(18) := p_source_103;
39327 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
39328 l_rec_acct_attrs.array_char_value(19) := p_source_71;
39329 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
39330 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
39331 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
39332 l_rec_acct_attrs.array_char_value(21) := p_source_43;
39333 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
39334 l_rec_acct_attrs.array_num_value(22) := p_source_74;
39335 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
39336 l_rec_acct_attrs.array_num_value(23) := p_source_75;
39337 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
39338 l_rec_acct_attrs.array_num_value(24) := p_source_76;
39339
39340 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
39341 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
39342
39343 ---------------------------------------------------------------------------------------------------------------
39344 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
39348 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39345 ---------------------------------------------------------------------------------------------------------------
39346 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
39347
39349 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
39350
39351 IF xla_accounting_cache_pkg.GetValueChar
39352 (p_source_code => 'LEDGER_CATEGORY_CODE'
39353 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
39354 AND l_bflow_method_code = 'PRIOR_ENTRY'
39355 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
39356 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
39357 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
39358 )
39359 THEN
39360 xla_ae_lines_pkg.BflowUpgEntry
39361 (p_business_method_code => l_bflow_method_code
39362 ,p_business_class_code => l_bflow_class_code
39363 ,p_balance_type => l_balance_type_code);
39364 ELSE
39365 NULL;
39366 XLA_AE_LINES_PKG.business_flow_validation(
39367 p_business_method_code => l_bflow_method_code
39368 ,p_business_class_code => l_bflow_class_code
39369 ,p_inherit_description_flag => l_inherit_desc_flag);
39370 END IF;
39371
39372 --
39373 -- call analytical criteria
39374 --
39375
39376 --
39377 -- call description
39378 --
39379 -- No description or it is inherited.
39380 --
39381 -- call ADRs
39382 -- Bug 4922099
39383 --
39384 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39385 (NVL(l_actual_upg_option, 'N') = 'O') OR
39386 (NVL(l_enc_upg_option, 'N') = 'O')
39387 )
39388 THEN
39389 NULL;
39390 --
39391 --
39392
39393 l_ccid := AcctDerRule_27(
39394 p_application_id => p_application_id
39395 , p_ae_header_id => l_ae_header_id
39396 , p_source_5 => p_source_5
39397 , x_transaction_coa_id => l_adr_transaction_coa_id
39398 , x_accounting_coa_id => l_adr_accounting_coa_id
39399 , x_value_type_code => l_adr_value_type_code
39400 , p_side => 'NA'
39401 );
39402
39403 xla_ae_lines_pkg.set_ccid(
39404 p_code_combination_id => l_ccid
39405 , p_value_type_code => l_adr_value_type_code
39406 , p_transaction_coa_id => l_adr_transaction_coa_id
39407 , p_accounting_coa_id => l_adr_accounting_coa_id
39408 , p_adr_code => 'AP_CASH'
39409 , p_adr_type_code => 'S'
39410 , p_component_type => l_component_type
39411 , p_component_code => l_component_code
39412 , p_component_type_code => l_component_type_code
39413 , p_component_appl_id => l_component_appl_id
39414 , p_amb_context_code => l_amb_context_code
39415 , p_side => 'NA'
39416 );
39417
39418
39419 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
39420 p_to_segment_code => 'GL_BALANCING'
39421 , p_segment_value => C_CHAR
39422 , p_from_segment_code => NULL
39423 , p_from_combination_id => NULL
39424 , p_value_type_code => NULL
39425 , p_transaction_coa_id => null
39426 , p_accounting_coa_id => null
39427 , p_flexfield_segment_code => NULL
39428 , p_flex_value_set_id => NULL
39429 , p_adr_code => NULL
39430 , p_adr_type_code => NULL
39431 , p_component_type => l_component_type
39432 , p_component_code => l_component_code
39433 , p_component_type_code => l_component_type_code
39434 , p_component_appl_id => l_component_appl_id
39435 , p_amb_context_code => l_amb_context_code
39436 , p_entity_code => 'AP_PAYMENTS'
39437 , p_event_class_code => 'PAYMENTS'
39438 , p_side => 'NA'
39439 );
39440 --
39441
39442
39443 --
39444 --
39445 END IF;
39446 --
39447 -- Bug 4922099
39448 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
39449 (NVL(l_enc_upg_option, 'N') = 'O')
39450 ) AND
39451 (l_bflow_method_code = 'PRIOR_ENTRY')
39452 )
39453 THEN
39454 IF
39455 --
39456 1 = 2
39457 --
39458 THEN
39459 xla_accounting_err_pkg.build_message
39460 (p_appli_s_name => 'XLA'
39461 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39462 ,p_token_1 => 'LINE_NUMBER'
39463 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
39464 ,p_token_2 => 'LINE_TYPE_NAME'
39465 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
39466 l_component_type
39467 ,l_component_code
39471 ,l_entity_code
39468 ,l_component_type_code
39469 ,l_component_appl_id
39470 ,l_amb_context_code
39472 ,l_event_class_code
39473 )
39474 ,p_token_3 => 'OWNER'
39475 ,p_value_3 => xla_lookups_pkg.get_meaning(
39476 p_lookup_type => 'XLA_OWNER_TYPE'
39477 ,p_lookup_code => l_component_type_code
39478 )
39479 ,p_token_4 => 'PRODUCT_NAME'
39480 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
39481 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
39482 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
39483 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
39484 ,p_ae_header_id => NULL
39485 );
39486
39487 IF (C_LEVEL_ERROR>= g_log_level) THEN
39488 trace
39489 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
39490 ,p_level => C_LEVEL_ERROR
39491 ,p_module => l_log_module);
39492 END IF;
39493 END IF;
39494 END IF;
39495 --
39496 --
39497 ------------------------------------------------------------------------------------------------
39498 -- 4219869 Business Flow
39499 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
39500 -- Prior Entry. Currently, the following code is always generated.
39501 ------------------------------------------------------------------------------------------------
39502 XLA_AE_LINES_PKG.ValidateCurrentLine;
39503
39504 ------------------------------------------------------------------------------------
39505 -- 4219869 Business Flow
39506 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
39507 ------------------------------------------------------------------------------------
39508 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39509
39510 ----------------------------------------------------------------------------------
39511 -- 4219869 Business Flow
39512 -- Update journal entry status -- Need to generate this within IF <condition>
39513 ----------------------------------------------------------------------------------
39514 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39515 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
39516 ,p_balance_type_code => l_balance_type_code
39517 );
39518
39519 -------------------------------------------------------------------------------------------
39520 -- 4262811 - Generate the Accrual Reversal lines
39521 -------------------------------------------------------------------------------------------
39522 BEGIN
39523 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
39524 (g_array_event(p_event_id).array_value_num('header_index'));
39525 IF l_acc_rev_flag IS NULL THEN
39526 l_acc_rev_flag := 'N';
39527 END IF;
39528 EXCEPTION
39529 WHEN OTHERS THEN
39530 l_acc_rev_flag := 'N';
39531 END;
39532 --
39533 IF (l_acc_rev_flag = 'Y') THEN
39534
39535 -- 4645092 ------------------------------------------------------------------------------
39536 -- To allow MPA report to determine if it should generate report process
39537 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
39538 ------------------------------------------------------------------------------------------
39539
39540 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
39541 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
39542 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
39543 -- call ADRs
39544 -- Bug 4922099
39545 --
39546 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
39547 (NVL(l_actual_upg_option, 'N') = 'O') OR
39548 (NVL(l_enc_upg_option, 'N') = 'O')
39549 )
39550 THEN
39551 NULL;
39552 --
39553 --
39554
39555 l_ccid := AcctDerRule_27(
39556 p_application_id => p_application_id
39557 , p_ae_header_id => l_ae_header_id
39558 , p_source_5 => p_source_5
39559 , x_transaction_coa_id => l_adr_transaction_coa_id
39560 , x_accounting_coa_id => l_adr_accounting_coa_id
39561 , x_value_type_code => l_adr_value_type_code
39562 , p_side => 'NA'
39563 );
39564
39565 xla_ae_lines_pkg.set_ccid(
39566 p_code_combination_id => l_ccid
39570 , p_adr_code => 'AP_CASH'
39567 , p_value_type_code => l_adr_value_type_code
39568 , p_transaction_coa_id => l_adr_transaction_coa_id
39569 , p_accounting_coa_id => l_adr_accounting_coa_id
39571 , p_adr_type_code => 'S'
39572 , p_component_type => l_component_type
39573 , p_component_code => l_component_code
39574 , p_component_type_code => l_component_type_code
39575 , p_component_appl_id => l_component_appl_id
39576 , p_amb_context_code => l_amb_context_code
39577 , p_side => 'NA'
39578 );
39579
39580
39581 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
39582 p_to_segment_code => 'GL_BALANCING'
39583 , p_segment_value => C_CHAR
39584 , p_from_segment_code => NULL
39585 , p_from_combination_id => NULL
39586 , p_value_type_code => NULL
39587 , p_transaction_coa_id => null
39588 , p_accounting_coa_id => null
39589 , p_flexfield_segment_code => NULL
39590 , p_flex_value_set_id => NULL
39591 , p_adr_code => NULL
39592 , p_adr_type_code => NULL
39593 , p_component_type => l_component_type
39594 , p_component_code => l_component_code
39595 , p_component_type_code => l_component_type_code
39596 , p_component_appl_id => l_component_appl_id
39597 , p_amb_context_code => l_amb_context_code
39598 , p_entity_code => 'AP_PAYMENTS'
39599 , p_event_class_code => 'PAYMENTS'
39600 , p_side => 'NA'
39601 );
39602 --
39603
39604
39605 --
39606 --
39607 END IF;
39608
39609 --
39610 -- Update the line information that should be overwritten
39611 --
39612 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
39613 p_header_num => 1);
39614 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
39615
39616 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
39617
39618 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
39619 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
39620 END IF;
39621
39622 --
39623 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
39624 --
39625 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
39626 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
39627 ELSE
39628 ---------------------------------------------------------------------------------------------------
39629 -- 4262811a Switch Sign
39630 ---------------------------------------------------------------------------------------------------
39631 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
39632 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39633 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39634 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
39635 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39636 -- 5132302
39637 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
39638 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
39639
39640 END IF;
39641
39642 -- 4955764
39643 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39644 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
39645
39646
39647 XLA_AE_LINES_PKG.ValidateCurrentLine;
39648 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
39649
39650 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
39651 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
39652 ,p_balance_type_code => l_balance_type_code);
39653
39654 END IF;
39655
39656 -----------------------------------------------------------------------------------------
39657 -- 4262811 Multiperiod Accounting
39658 -----------------------------------------------------------------------------------------
39659 -- No MPA option is assigned.
39660
39661
39662 END IF;
39663 END IF;
39664 --
39665
39666 --
39667 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39668 trace
39669 (p_msg => 'END of AcctLineType_91'
39670 ,p_level => C_LEVEL_PROCEDURE
39671 ,p_module => l_log_module);
39672 END IF;
39673 --
39674 EXCEPTION
39675 WHEN xla_exceptions_pkg.application_exception THEN
39676 RAISE;
39677 WHEN OTHERS THEN
39678 xla_exceptions_pkg.raise_message
39679 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_91');
39680 END AcctLineType_91;
39681 --
39682
39683 ---------------------------------------
39687 --
39684 --
39685 -- PRIVATE FUNCTION
39686 -- AcctLineType_92
39688 ---------------------------------------
39689 PROCEDURE AcctLineType_92 (
39690 p_application_id IN NUMBER
39691 ,p_event_id IN NUMBER
39692 ,p_calculate_acctd_flag IN VARCHAR2
39693 ,p_calculate_g_l_flag IN VARCHAR2
39694 ,p_actual_flag IN OUT VARCHAR2
39695 ,p_balance_type_code OUT VARCHAR2
39696 ,p_gain_or_loss_ref OUT VARCHAR2
39697
39698 --Bank Cash Account
39699 , p_source_5 IN NUMBER
39700 --Automatic Offsets Flag
39701 , p_source_35 IN VARCHAR2
39702 , p_source_35_meaning IN VARCHAR2
39703 --Accounting Reversal Indicator
39704 , p_source_41 IN VARCHAR2
39705 --Distribution Link Type
39706 , p_source_43 IN VARCHAR2
39707 --Override Accounted Amount Indicator
39708 , p_source_68 IN VARCHAR2
39709 , p_source_68_meaning IN VARCHAR2
39710 --Third Party Type
39711 , p_source_71 IN VARCHAR2
39712 --Business Flow Accounts Payable Application Identifier
39713 , p_source_79 IN NUMBER
39714 --When to Account for Payment Option
39715 , p_source_89 IN VARCHAR2
39716 --Payment Distribution Type
39717 , p_source_90 IN VARCHAR2
39718 , p_source_90_meaning IN VARCHAR2
39719 --Payment Distribution Amount
39720 , p_source_91 IN NUMBER
39721 --Business Flow Payment Distribution Type
39722 , p_source_92 IN VARCHAR2
39723 --Business Flow Payment Entity Code
39724 , p_source_93 IN VARCHAR2
39725 --Business Flow Payment Distribution Identifier
39726 , p_source_94 IN NUMBER
39727 --Business Flow Payment Identifier
39728 , p_source_95 IN NUMBER
39729 --Payment Distribution Identifier
39730 , p_source_96 IN NUMBER
39731 --Payment Supplier Identifier
39732 , p_source_102 IN NUMBER
39733 --Payment Supplier Site Identifier
39734 , p_source_103 IN NUMBER
39735 --Payment Distribution Reversed Identifier
39736 , p_source_104 IN NUMBER
39737 --Pooled Bank Account Option
39738 , p_source_105 IN VARCHAR2
39739 , p_source_105_meaning IN VARCHAR2
39740 --Payment Currency Code
39741 , p_source_106 IN VARCHAR2
39742 --Payment Maturity Date
39743 , p_source_107 IN DATE
39744 --Payment Exchange Date
39745 , p_source_110 IN DATE
39746 --Payment Exchange Rate
39747 , p_source_111 IN NUMBER
39748 --Payment Exchange Rate Type
39749 , p_source_112 IN VARCHAR2
39750 --Payment Distribution (Matured Rate) Ledger Amount
39751 , p_source_114 IN NUMBER
39752 )
39753 IS
39754
39755 l_component_type VARCHAR2(80);
39756 l_component_code VARCHAR2(30);
39757 l_component_type_code VARCHAR2(1);
39758 l_component_appl_id INTEGER;
39759 l_amb_context_code VARCHAR2(30);
39760 l_entity_code VARCHAR2(30);
39761 l_event_class_code VARCHAR2(30);
39762 l_ae_header_id NUMBER;
39763 l_event_type_code VARCHAR2(30);
39764 l_line_definition_code VARCHAR2(30);
39765 l_line_definition_owner_code VARCHAR2(1);
39766 --
39767 -- adr variables
39768 l_segment VARCHAR2(30);
39769 l_ccid NUMBER;
39770 l_adr_transaction_coa_id NUMBER;
39771 l_adr_accounting_coa_id NUMBER;
39772 l_adr_flexfield_segment_code VARCHAR2(30);
39773 l_adr_flex_value_set_id NUMBER;
39774 l_adr_value_type_code VARCHAR2(30);
39775 l_adr_value_combination_id NUMBER;
39776 l_adr_value_segment_code VARCHAR2(30);
39777
39778 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
39779 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
39780 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
39781 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
39782
39783 -- 4262811 Variables ------------------------------------------------------------------------------------------
39784 l_entered_amt_idx NUMBER;
39785 l_accted_amt_idx NUMBER;
39786 l_acc_rev_flag VARCHAR2(1);
39787 l_accrual_line_num NUMBER;
39788 l_tmp_amt NUMBER;
39789 l_acc_rev_natural_side_code VARCHAR2(1);
39790
39791 l_num_entries NUMBER;
39792 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
39793 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
39794 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
39795 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
39796 l_recog_line_1 NUMBER;
39797 l_recog_line_2 NUMBER;
39798
39799 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
39800 l_bflow_applied_to_amt NUMBER; -- 5132302
39801 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
39802
39803 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
39804
39805 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
39806 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
39807
39808 ---------------------------------------------------------------------------------------------------------------
39809
39810
39811 --
39815 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
39812 -- bulk performance
39813 --
39814 l_balance_type_code VARCHAR2(1);
39816 l_log_module VARCHAR2(240);
39817
39818 --
39819 -- Upgrade strategy
39820 --
39821 l_actual_upg_option VARCHAR2(1);
39822 l_enc_upg_option VARCHAR2(1);
39823
39824 --
39825 BEGIN
39826 --
39827 IF g_log_enabled THEN
39828 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_92';
39829 END IF;
39830 --
39831 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
39832
39833 trace
39834 (p_msg => 'BEGIN of AcctLineType_92'
39835 ,p_level => C_LEVEL_PROCEDURE
39836 ,p_module => l_log_module);
39837
39838 END IF;
39839 --
39840 l_component_type := 'AMB_JLT';
39841 l_component_code := 'AP_CASH_PMT_MAT';
39842 l_component_type_code := 'S';
39843 l_component_appl_id := 200;
39844 l_amb_context_code := 'DEFAULT';
39845 l_entity_code := 'AP_PAYMENTS';
39846 l_event_class_code := 'FUTURE DATED PAYMENTS';
39847 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
39848 l_line_definition_owner_code := 'S';
39849 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
39850 --
39851 l_balance_type_code := 'A';
39852 l_segment := NULL;
39853 l_ccid := NULL;
39854 l_adr_transaction_coa_id := NULL;
39855 l_adr_accounting_coa_id := NULL;
39856 l_adr_flexfield_segment_code := NULL;
39857 l_adr_flex_value_set_id := NULL;
39858 l_adr_value_type_code := NULL;
39859 l_adr_value_combination_id := NULL;
39860 l_adr_value_segment_code := NULL;
39861
39862 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
39863 l_bflow_class_code := ''; -- 4219869 Business Flow
39864 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
39865 l_budgetary_control_flag := 'N';
39866
39867 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39868 l_bflow_applied_to_amt := NULL; -- 5132302
39869 l_entered_amt_idx := NULL; -- 4262811
39870 l_accted_amt_idx := NULL; -- 4262811
39871 l_acc_rev_flag := NULL; -- 4262811
39872 l_accrual_line_num := NULL; -- 4262811
39873 l_tmp_amt := NULL; -- 4262811
39874 --
39875
39876 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
39877 l_balance_type_code <> 'B' THEN
39878 IF NVL(p_source_89,'
39879 ') = 'ISSUE_ISSUE' AND
39880 (NVL(p_source_35,'
39881 ') <> 'Y' OR
39882 NVL(p_source_35,'
39883 ') = 'Y' AND
39884 NVL(p_source_105,'
39885 ') <> 'Y') AND
39886 p_source_107 IS NOT NULL AND
39887 NVL(p_source_90,'
39888 ') = 'CASH'
39889 THEN
39890
39891 --
39892 XLA_AE_LINES_PKG.SetNewLine;
39893
39894 p_balance_type_code := l_balance_type_code;
39895 -- set the flag so later we will know whether the gain loss line needs to be created
39896
39897 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
39898 p_actual_flag :='A';
39899 END IF;
39900
39901 --
39902 -- bulk performance
39903 --
39904 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
39905 p_header_num => 0); -- 4262811
39906 --
39907 -- set accounting line options
39908 --
39909 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
39910 p_natural_side_code => 'C'
39911 , p_gain_or_loss_flag => 'N'
39912 , p_gl_transfer_mode_code => 'S'
39913 , p_acct_entry_type_code => 'A'
39914 , p_switch_side_flag => 'Y'
39915 , p_merge_duplicate_code => 'A'
39916 );
39917 --
39918 l_acc_rev_natural_side_code := 'D'; -- 4262811
39919 --
39920 --
39921 -- set accounting line type info
39922 --
39923 xla_ae_lines_pkg.SetAcctLineType
39924 (p_component_type => l_component_type
39925 ,p_event_type_code => l_event_type_code
39926 ,p_line_definition_owner_code => l_line_definition_owner_code
39927 ,p_line_definition_code => l_line_definition_code
39928 ,p_accounting_line_code => l_component_code
39929 ,p_accounting_line_type_code => l_component_type_code
39930 ,p_accounting_line_appl_id => l_component_appl_id
39931 ,p_amb_context_code => l_amb_context_code
39932 ,p_entity_code => l_entity_code
39933 ,p_event_class_code => l_event_class_code);
39934 --
39935 -- set accounting class
39936 --
39937 xla_ae_lines_pkg.SetAcctClass(
39938 p_accounting_class_code => 'CASH'
39939 , p_ae_header_id => l_ae_header_id
39940 );
39941
39942 --
39943 -- set rounding class
39944 --
39945 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
39946 'CASH';
39947
39948 --
39949 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
39950 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
39951 --
39955
39952 -- bulk performance
39953 --
39954 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
39956 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
39957 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
39958
39959 -- 4955764
39960 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
39961 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
39962
39963 -- 4458381 Public Sector Enh
39964
39965 --
39966 -- set accounting attributes for the line type
39967 --
39968 l_entered_amt_idx := 9;
39969 l_accted_amt_idx := 14;
39970 l_bflow_applied_to_amt_idx := NULL; -- 5132302
39971 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
39972 l_rec_acct_attrs.array_char_value(1) := p_source_41;
39973 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
39974 l_rec_acct_attrs.array_num_value(2) := p_source_79;
39975 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
39976 l_rec_acct_attrs.array_char_value(3) := p_source_92;
39977 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
39978 l_rec_acct_attrs.array_char_value(4) := p_source_93;
39979 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
39980 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
39981 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
39982 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
39983 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
39984 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
39985 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
39986 l_rec_acct_attrs.array_char_value(8) := p_source_43;
39987 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
39988 l_rec_acct_attrs.array_num_value(9) := p_source_91;
39989 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
39990 l_rec_acct_attrs.array_char_value(10) := p_source_106;
39991 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
39992 l_rec_acct_attrs.array_date_value(11) := p_source_110;
39993 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
39994 l_rec_acct_attrs.array_num_value(12) := p_source_111;
39995 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
39996 l_rec_acct_attrs.array_char_value(13) := p_source_112;
39997 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
39998 l_rec_acct_attrs.array_num_value(14) := p_source_114;
39999 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
40000 l_rec_acct_attrs.array_char_value(15) := p_source_68;
40001 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
40002 l_rec_acct_attrs.array_num_value(16) := p_source_102;
40003 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40004 l_rec_acct_attrs.array_num_value(17) := p_source_103;
40005 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
40006 l_rec_acct_attrs.array_char_value(18) := p_source_71;
40007 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
40008 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
40009 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
40010 l_rec_acct_attrs.array_char_value(20) := p_source_43;
40011
40012 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40013 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40014
40015 ---------------------------------------------------------------------------------------------------------------
40016 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40017 ---------------------------------------------------------------------------------------------------------------
40018 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40019
40020 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40021 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40022
40023 IF xla_accounting_cache_pkg.GetValueChar
40024 (p_source_code => 'LEDGER_CATEGORY_CODE'
40025 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40026 AND l_bflow_method_code = 'PRIOR_ENTRY'
40027 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
40028 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40029 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40030 )
40031 THEN
40032 xla_ae_lines_pkg.BflowUpgEntry
40033 (p_business_method_code => l_bflow_method_code
40034 ,p_business_class_code => l_bflow_class_code
40035 ,p_balance_type => l_balance_type_code);
40036 ELSE
40037 NULL;
40038 -- No business flow processing for business flow method of NONE.
40039 END IF;
40040
40041 --
40042 -- call analytical criteria
40043 --
40044
40045 --
40046 -- call description
40047 --
40048 -- No description or it is inherited.
40049 --
40050 -- call ADRs
40051 -- Bug 4922099
40052 --
40053 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40054 (NVL(l_actual_upg_option, 'N') = 'O') OR
40055 (NVL(l_enc_upg_option, 'N') = 'O')
40059 --
40056 )
40057 THEN
40058 NULL;
40060 --
40061
40062 l_ccid := AcctDerRule_27(
40063 p_application_id => p_application_id
40064 , p_ae_header_id => l_ae_header_id
40065 , p_source_5 => p_source_5
40066 , x_transaction_coa_id => l_adr_transaction_coa_id
40067 , x_accounting_coa_id => l_adr_accounting_coa_id
40068 , x_value_type_code => l_adr_value_type_code
40069 , p_side => 'NA'
40070 );
40071
40072 xla_ae_lines_pkg.set_ccid(
40073 p_code_combination_id => l_ccid
40074 , p_value_type_code => l_adr_value_type_code
40075 , p_transaction_coa_id => l_adr_transaction_coa_id
40076 , p_accounting_coa_id => l_adr_accounting_coa_id
40077 , p_adr_code => 'AP_CASH'
40078 , p_adr_type_code => 'S'
40079 , p_component_type => l_component_type
40080 , p_component_code => l_component_code
40081 , p_component_type_code => l_component_type_code
40082 , p_component_appl_id => l_component_appl_id
40083 , p_amb_context_code => l_amb_context_code
40084 , p_side => 'NA'
40085 );
40086
40087
40088 --
40089 --
40090 END IF;
40091 --
40092 -- Bug 4922099
40093 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
40094 (NVL(l_enc_upg_option, 'N') = 'O')
40095 ) AND
40096 (l_bflow_method_code = 'PRIOR_ENTRY')
40097 )
40098 THEN
40099 IF
40100 --
40101 1 = 2
40102 --
40103 THEN
40104 xla_accounting_err_pkg.build_message
40105 (p_appli_s_name => 'XLA'
40106 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40107 ,p_token_1 => 'LINE_NUMBER'
40108 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40109 ,p_token_2 => 'LINE_TYPE_NAME'
40110 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40111 l_component_type
40112 ,l_component_code
40113 ,l_component_type_code
40114 ,l_component_appl_id
40115 ,l_amb_context_code
40116 ,l_entity_code
40117 ,l_event_class_code
40118 )
40119 ,p_token_3 => 'OWNER'
40120 ,p_value_3 => xla_lookups_pkg.get_meaning(
40121 p_lookup_type => 'XLA_OWNER_TYPE'
40122 ,p_lookup_code => l_component_type_code
40123 )
40124 ,p_token_4 => 'PRODUCT_NAME'
40125 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
40126 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
40127 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
40128 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40129 ,p_ae_header_id => NULL
40130 );
40131
40132 IF (C_LEVEL_ERROR>= g_log_level) THEN
40133 trace
40134 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40135 ,p_level => C_LEVEL_ERROR
40136 ,p_module => l_log_module);
40137 END IF;
40138 END IF;
40139 END IF;
40140 --
40141 --
40142 ------------------------------------------------------------------------------------------------
40143 -- 4219869 Business Flow
40144 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40145 -- Prior Entry. Currently, the following code is always generated.
40146 ------------------------------------------------------------------------------------------------
40147 XLA_AE_LINES_PKG.ValidateCurrentLine;
40148
40149 ------------------------------------------------------------------------------------
40150 -- 4219869 Business Flow
40151 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40152 ------------------------------------------------------------------------------------
40153 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40154
40155 ----------------------------------------------------------------------------------
40156 -- 4219869 Business Flow
40160 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40157 -- Update journal entry status -- Need to generate this within IF <condition>
40158 ----------------------------------------------------------------------------------
40159 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40161 ,p_balance_type_code => l_balance_type_code
40162 );
40163
40164 -------------------------------------------------------------------------------------------
40165 -- 4262811 - Generate the Accrual Reversal lines
40166 -------------------------------------------------------------------------------------------
40167 BEGIN
40168 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40169 (g_array_event(p_event_id).array_value_num('header_index'));
40170 IF l_acc_rev_flag IS NULL THEN
40171 l_acc_rev_flag := 'N';
40172 END IF;
40173 EXCEPTION
40174 WHEN OTHERS THEN
40175 l_acc_rev_flag := 'N';
40176 END;
40177 --
40178 IF (l_acc_rev_flag = 'Y') THEN
40179
40180 -- 4645092 ------------------------------------------------------------------------------
40181 -- To allow MPA report to determine if it should generate report process
40182 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40183 ------------------------------------------------------------------------------------------
40184
40185 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40186 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40187 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40188 -- call ADRs
40189 -- Bug 4922099
40190 --
40191 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40192 (NVL(l_actual_upg_option, 'N') = 'O') OR
40193 (NVL(l_enc_upg_option, 'N') = 'O')
40194 )
40195 THEN
40196 NULL;
40197 --
40198 --
40199
40200 l_ccid := AcctDerRule_27(
40201 p_application_id => p_application_id
40202 , p_ae_header_id => l_ae_header_id
40203 , p_source_5 => p_source_5
40204 , x_transaction_coa_id => l_adr_transaction_coa_id
40205 , x_accounting_coa_id => l_adr_accounting_coa_id
40206 , x_value_type_code => l_adr_value_type_code
40207 , p_side => 'NA'
40208 );
40209
40210 xla_ae_lines_pkg.set_ccid(
40211 p_code_combination_id => l_ccid
40212 , p_value_type_code => l_adr_value_type_code
40213 , p_transaction_coa_id => l_adr_transaction_coa_id
40214 , p_accounting_coa_id => l_adr_accounting_coa_id
40215 , p_adr_code => 'AP_CASH'
40216 , p_adr_type_code => 'S'
40217 , p_component_type => l_component_type
40218 , p_component_code => l_component_code
40219 , p_component_type_code => l_component_type_code
40220 , p_component_appl_id => l_component_appl_id
40221 , p_amb_context_code => l_amb_context_code
40222 , p_side => 'NA'
40223 );
40224
40225
40226 --
40227 --
40228 END IF;
40229
40230 --
40231 -- Update the line information that should be overwritten
40232 --
40233 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40234 p_header_num => 1);
40235 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40236
40237 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40238
40239 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40240 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40241 END IF;
40242
40243 --
40244 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
40245 --
40246 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
40247 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
40248 ELSE
40249 ---------------------------------------------------------------------------------------------------
40250 -- 4262811a Switch Sign
40251 ---------------------------------------------------------------------------------------------------
40252 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
40253 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40254 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40255 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
40256 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40257 -- 5132302
40258 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
40259 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
40260
40261 END IF;
40262
40263 -- 4955764
40264 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40268 XLA_AE_LINES_PKG.ValidateCurrentLine;
40265 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
40266
40267
40269 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40270
40271 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40272 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
40273 ,p_balance_type_code => l_balance_type_code);
40274
40275 END IF;
40276
40277 -----------------------------------------------------------------------------------------
40278 -- 4262811 Multiperiod Accounting
40279 -----------------------------------------------------------------------------------------
40280 -- No MPA option is assigned.
40281
40282
40283 END IF;
40284 END IF;
40285 --
40286
40287 --
40288 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40289 trace
40290 (p_msg => 'END of AcctLineType_92'
40291 ,p_level => C_LEVEL_PROCEDURE
40292 ,p_module => l_log_module);
40293 END IF;
40294 --
40295 EXCEPTION
40296 WHEN xla_exceptions_pkg.application_exception THEN
40297 RAISE;
40298 WHEN OTHERS THEN
40299 xla_exceptions_pkg.raise_message
40300 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_92');
40301 END AcctLineType_92;
40302 --
40303
40304 ---------------------------------------
40305 --
40306 -- PRIVATE FUNCTION
40307 -- AcctLineType_93
40308 --
40309 ---------------------------------------
40310 PROCEDURE AcctLineType_93 (
40311 p_application_id IN NUMBER
40312 ,p_event_id IN NUMBER
40313 ,p_calculate_acctd_flag IN VARCHAR2
40314 ,p_calculate_g_l_flag IN VARCHAR2
40315 ,p_actual_flag IN OUT VARCHAR2
40316 ,p_balance_type_code OUT VARCHAR2
40317 ,p_gain_or_loss_ref OUT VARCHAR2
40318
40319 --Automatic Offsets Value
40320 , p_source_3 IN VARCHAR2
40321 , p_source_3_meaning IN VARCHAR2
40322 --Bank Cash Account
40323 , p_source_5 IN NUMBER
40324 --Accounting Reversal Indicator
40325 , p_source_41 IN VARCHAR2
40326 --Distribution Link Type
40327 , p_source_43 IN VARCHAR2
40328 --Override Accounted Amount Indicator
40329 , p_source_68 IN VARCHAR2
40330 , p_source_68_meaning IN VARCHAR2
40331 --Third Party Type
40332 , p_source_71 IN VARCHAR2
40333 --Business Flow Accounts Payable Application Identifier
40334 , p_source_79 IN NUMBER
40335 --When to Account for Payment Option
40336 , p_source_89 IN VARCHAR2
40337 --Payment Distribution Type
40338 , p_source_90 IN VARCHAR2
40339 , p_source_90_meaning IN VARCHAR2
40340 --Payment Distribution Amount
40341 , p_source_91 IN NUMBER
40342 --Business Flow Payment Distribution Type
40343 , p_source_92 IN VARCHAR2
40344 --Business Flow Payment Entity Code
40345 , p_source_93 IN VARCHAR2
40346 --Business Flow Payment Distribution Identifier
40347 , p_source_94 IN NUMBER
40348 --Business Flow Payment Identifier
40349 , p_source_95 IN NUMBER
40350 --Payment Distribution Identifier
40351 , p_source_96 IN NUMBER
40352 --Payment Supplier Identifier
40353 , p_source_102 IN NUMBER
40354 --Payment Supplier Site Identifier
40355 , p_source_103 IN NUMBER
40356 --Payment Distribution Reversed Identifier
40357 , p_source_104 IN NUMBER
40358 --Pooled Bank Account Option
40359 , p_source_105 IN VARCHAR2
40360 , p_source_105_meaning IN VARCHAR2
40361 --Payment Currency Code
40362 , p_source_106 IN VARCHAR2
40363 --Payment Maturity Date
40364 , p_source_107 IN DATE
40365 --Payment Exchange Date
40366 , p_source_110 IN DATE
40367 --Payment Exchange Rate
40368 , p_source_111 IN NUMBER
40369 --Payment Exchange Rate Type
40370 , p_source_112 IN VARCHAR2
40371 --Payment Distribution (Matured Rate) Ledger Amount
40372 , p_source_114 IN NUMBER
40373 )
40374 IS
40375
40376 l_component_type VARCHAR2(80);
40377 l_component_code VARCHAR2(30);
40378 l_component_type_code VARCHAR2(1);
40379 l_component_appl_id INTEGER;
40380 l_amb_context_code VARCHAR2(30);
40381 l_entity_code VARCHAR2(30);
40382 l_event_class_code VARCHAR2(30);
40383 l_ae_header_id NUMBER;
40384 l_event_type_code VARCHAR2(30);
40385 l_line_definition_code VARCHAR2(30);
40386 l_line_definition_owner_code VARCHAR2(1);
40387 --
40388 -- adr variables
40389 l_segment VARCHAR2(30);
40390 l_ccid NUMBER;
40391 l_adr_transaction_coa_id NUMBER;
40392 l_adr_accounting_coa_id NUMBER;
40393 l_adr_flexfield_segment_code VARCHAR2(30);
40394 l_adr_flex_value_set_id NUMBER;
40395 l_adr_value_type_code VARCHAR2(30);
40396 l_adr_value_combination_id NUMBER;
40397 l_adr_value_segment_code VARCHAR2(30);
40398
40399 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
40400 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
40401 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
40405 l_entered_amt_idx NUMBER;
40402 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
40403
40404 -- 4262811 Variables ------------------------------------------------------------------------------------------
40406 l_accted_amt_idx NUMBER;
40407 l_acc_rev_flag VARCHAR2(1);
40408 l_accrual_line_num NUMBER;
40409 l_tmp_amt NUMBER;
40410 l_acc_rev_natural_side_code VARCHAR2(1);
40411
40412 l_num_entries NUMBER;
40413 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
40414 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
40415 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
40416 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
40417 l_recog_line_1 NUMBER;
40418 l_recog_line_2 NUMBER;
40419
40420 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
40421 l_bflow_applied_to_amt NUMBER; -- 5132302
40422 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
40423
40424 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
40425
40426 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
40427 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
40428
40429 ---------------------------------------------------------------------------------------------------------------
40430
40431
40432 --
40433 -- bulk performance
40434 --
40435 l_balance_type_code VARCHAR2(1);
40436 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
40437 l_log_module VARCHAR2(240);
40438
40439 --
40440 -- Upgrade strategy
40441 --
40442 l_actual_upg_option VARCHAR2(1);
40443 l_enc_upg_option VARCHAR2(1);
40444
40445 --
40446 BEGIN
40447 --
40448 IF g_log_enabled THEN
40449 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_93';
40450 END IF;
40451 --
40452 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
40453
40454 trace
40455 (p_msg => 'BEGIN of AcctLineType_93'
40456 ,p_level => C_LEVEL_PROCEDURE
40457 ,p_module => l_log_module);
40458
40459 END IF;
40460 --
40461 l_component_type := 'AMB_JLT';
40462 l_component_code := 'AP_CASH_PMT_MAT_AOS_AS';
40463 l_component_type_code := 'S';
40464 l_component_appl_id := 200;
40465 l_amb_context_code := 'DEFAULT';
40466 l_entity_code := 'AP_PAYMENTS';
40467 l_event_class_code := 'FUTURE DATED PAYMENTS';
40468 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
40469 l_line_definition_owner_code := 'S';
40470 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
40471 --
40472 l_balance_type_code := 'A';
40473 l_segment := NULL;
40474 l_ccid := NULL;
40475 l_adr_transaction_coa_id := NULL;
40476 l_adr_accounting_coa_id := NULL;
40477 l_adr_flexfield_segment_code := NULL;
40478 l_adr_flex_value_set_id := NULL;
40479 l_adr_value_type_code := NULL;
40480 l_adr_value_combination_id := NULL;
40481 l_adr_value_segment_code := NULL;
40482
40483 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
40484 l_bflow_class_code := ''; -- 4219869 Business Flow
40485 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
40486 l_budgetary_control_flag := 'N';
40487
40488 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40489 l_bflow_applied_to_amt := NULL; -- 5132302
40490 l_entered_amt_idx := NULL; -- 4262811
40491 l_accted_amt_idx := NULL; -- 4262811
40492 l_acc_rev_flag := NULL; -- 4262811
40493 l_accrual_line_num := NULL; -- 4262811
40494 l_tmp_amt := NULL; -- 4262811
40495 --
40496
40497 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
40498 l_balance_type_code <> 'B' THEN
40499 IF NVL(p_source_89,'
40500 ') = 'ISSUE_ISSUE' AND
40501 (NVL(p_source_105,'
40502 ') = 'Y' AND
40503 NVL(p_source_3,'
40504 ') = 'ACCOUNT_SEGMENT_VALUE') AND
40505 p_source_107 IS NOT NULL AND
40506 NVL(p_source_90,'
40507 ') = 'CASH'
40508 THEN
40509
40510 --
40511 XLA_AE_LINES_PKG.SetNewLine;
40512
40513 p_balance_type_code := l_balance_type_code;
40514 -- set the flag so later we will know whether the gain loss line needs to be created
40515
40516 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
40517 p_actual_flag :='A';
40518 END IF;
40519
40520 --
40521 -- bulk performance
40522 --
40523 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
40524 p_header_num => 0); -- 4262811
40525 --
40526 -- set accounting line options
40527 --
40528 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
40529 p_natural_side_code => 'C'
40530 , p_gain_or_loss_flag => 'N'
40531 , p_gl_transfer_mode_code => 'S'
40532 , p_acct_entry_type_code => 'A'
40533 , p_switch_side_flag => 'Y'
40534 , p_merge_duplicate_code => 'A'
40538 --
40535 );
40536 --
40537 l_acc_rev_natural_side_code := 'D'; -- 4262811
40539 --
40540 -- set accounting line type info
40541 --
40542 xla_ae_lines_pkg.SetAcctLineType
40543 (p_component_type => l_component_type
40544 ,p_event_type_code => l_event_type_code
40545 ,p_line_definition_owner_code => l_line_definition_owner_code
40546 ,p_line_definition_code => l_line_definition_code
40547 ,p_accounting_line_code => l_component_code
40548 ,p_accounting_line_type_code => l_component_type_code
40549 ,p_accounting_line_appl_id => l_component_appl_id
40550 ,p_amb_context_code => l_amb_context_code
40551 ,p_entity_code => l_entity_code
40552 ,p_event_class_code => l_event_class_code);
40553 --
40554 -- set accounting class
40555 --
40556 xla_ae_lines_pkg.SetAcctClass(
40557 p_accounting_class_code => 'CASH'
40558 , p_ae_header_id => l_ae_header_id
40559 );
40560
40561 --
40562 -- set rounding class
40563 --
40564 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
40565 'CASH';
40566
40567 --
40568 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
40569 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
40570 --
40571 -- bulk performance
40572 --
40573 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
40574
40575 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
40576 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
40577
40578 -- 4955764
40579 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
40580 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
40581
40582 -- 4458381 Public Sector Enh
40583
40584 --
40585 -- set accounting attributes for the line type
40586 --
40587 l_entered_amt_idx := 9;
40588 l_accted_amt_idx := 14;
40589 l_bflow_applied_to_amt_idx := NULL; -- 5132302
40590 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
40591 l_rec_acct_attrs.array_char_value(1) := p_source_41;
40592 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
40593 l_rec_acct_attrs.array_num_value(2) := p_source_79;
40594 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
40595 l_rec_acct_attrs.array_char_value(3) := p_source_92;
40596 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
40597 l_rec_acct_attrs.array_char_value(4) := p_source_93;
40598 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
40599 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
40600 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
40601 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
40602 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
40603 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
40604 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
40605 l_rec_acct_attrs.array_char_value(8) := p_source_43;
40606 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
40607 l_rec_acct_attrs.array_num_value(9) := p_source_91;
40608 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
40609 l_rec_acct_attrs.array_char_value(10) := p_source_106;
40610 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
40611 l_rec_acct_attrs.array_date_value(11) := p_source_110;
40612 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
40613 l_rec_acct_attrs.array_num_value(12) := p_source_111;
40614 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
40615 l_rec_acct_attrs.array_char_value(13) := p_source_112;
40616 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
40617 l_rec_acct_attrs.array_num_value(14) := p_source_114;
40618 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
40619 l_rec_acct_attrs.array_char_value(15) := p_source_68;
40620 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
40621 l_rec_acct_attrs.array_num_value(16) := p_source_102;
40622 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
40623 l_rec_acct_attrs.array_num_value(17) := p_source_103;
40624 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
40625 l_rec_acct_attrs.array_char_value(18) := p_source_71;
40626 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
40627 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
40628 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
40629 l_rec_acct_attrs.array_char_value(20) := p_source_43;
40630
40631 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
40632 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
40633
40634 ---------------------------------------------------------------------------------------------------------------
40635 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
40636 ---------------------------------------------------------------------------------------------------------------
40640 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40637 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
40638
40639 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
40641
40642 IF xla_accounting_cache_pkg.GetValueChar
40643 (p_source_code => 'LEDGER_CATEGORY_CODE'
40644 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
40645 AND l_bflow_method_code = 'PRIOR_ENTRY'
40646 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
40647 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
40648 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
40649 )
40650 THEN
40651 xla_ae_lines_pkg.BflowUpgEntry
40652 (p_business_method_code => l_bflow_method_code
40653 ,p_business_class_code => l_bflow_class_code
40654 ,p_balance_type => l_balance_type_code);
40655 ELSE
40656 NULL;
40657 XLA_AE_LINES_PKG.business_flow_validation(
40658 p_business_method_code => l_bflow_method_code
40659 ,p_business_class_code => l_bflow_class_code
40660 ,p_inherit_description_flag => l_inherit_desc_flag);
40661 END IF;
40662
40663 --
40664 -- call analytical criteria
40665 --
40666
40667 --
40668 -- call description
40669 --
40670 -- No description or it is inherited.
40671 --
40672 -- call ADRs
40673 -- Bug 4922099
40674 --
40675 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40676 (NVL(l_actual_upg_option, 'N') = 'O') OR
40677 (NVL(l_enc_upg_option, 'N') = 'O')
40678 )
40679 THEN
40680 NULL;
40681 --
40682 --
40683
40684 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
40685 p_code_combination_id => TO_NUMBER(C_NUM)
40686 , p_value_type_code => NULL
40687 , p_transaction_coa_id => null
40688 , p_accounting_coa_id => null
40689 , p_adr_code => NULL
40690 , p_adr_type_code => NULL
40691 , p_component_type => l_component_type
40692 , p_component_code => l_component_code
40693 , p_component_type_code => l_component_type_code
40694 , p_component_appl_id => l_component_appl_id
40695 , p_amb_context_code => l_amb_context_code
40696 , p_side => NULL
40697 );
40698
40699
40700 -- initialise segments
40701 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40702 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40703 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40704 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40705 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40706 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40707 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40708 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40709 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40710 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40711 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40712 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40713 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40714 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40715 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40716 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40717 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40718 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40719 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40720 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40721 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40722 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40723 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40724 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40725 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40726 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40727 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40728 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40729 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40730 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40731 --
40732
40733 --
40734
40735
40736 l_segment := AcctDerRule_5(
40737 p_application_id => p_application_id
40738 , p_ae_header_id => l_ae_header_id
40739 , p_source_5 => p_source_5
40743 , x_flex_value_set_id => l_adr_flex_value_set_id
40740 , x_transaction_coa_id => l_adr_transaction_coa_id
40741 , x_accounting_coa_id => l_adr_accounting_coa_id
40742 , x_flexfield_segment_code => l_adr_flexfield_segment_code
40744 , x_value_type_code => l_adr_value_type_code
40745 , x_value_combination_id => l_adr_value_combination_id
40746 , x_value_segment_code => l_adr_value_segment_code
40747 , p_side => 'NA'
40748 , p_override_seg_flag => 'Y'
40749 );
40750
40751 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
40752
40753 xla_ae_lines_pkg.set_segment(
40754 p_to_segment_code => 'GL_ACCOUNT'
40755 , p_segment_value => l_segment
40756 , p_from_segment_code => l_adr_value_segment_code
40757 , p_from_combination_id => l_adr_value_combination_id
40758 , p_value_type_code => l_adr_value_type_code
40759 , p_transaction_coa_id => l_adr_transaction_coa_id
40760 , p_accounting_coa_id => l_adr_accounting_coa_id
40761 , p_flexfield_segment_code => l_adr_flexfield_segment_code
40762 , p_flex_value_set_id => l_adr_flex_value_set_id
40763 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
40764 , p_adr_type_code => 'S'
40765 , p_component_type => l_component_type
40766 , p_component_code => l_component_code
40767 , p_component_type_code => l_component_type_code
40768 , p_component_appl_id => l_component_appl_id
40769 , p_amb_context_code => l_amb_context_code
40770 , p_entity_code => 'AP_PAYMENTS'
40771 , p_event_class_code => 'FUTURE DATED PAYMENTS'
40772 , p_side => 'NA'
40773 );
40774
40775 END IF;
40776
40777 --
40778 --
40779 END IF;
40780 --
40781 -- Bug 4922099
40782 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
40783 (NVL(l_enc_upg_option, 'N') = 'O')
40784 ) AND
40785 (l_bflow_method_code = 'PRIOR_ENTRY')
40786 )
40787 THEN
40788 IF
40789 --
40790 1 = 2
40791 --
40792 THEN
40793 xla_accounting_err_pkg.build_message
40794 (p_appli_s_name => 'XLA'
40795 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40796 ,p_token_1 => 'LINE_NUMBER'
40797 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
40798 ,p_token_2 => 'LINE_TYPE_NAME'
40799 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
40800 l_component_type
40801 ,l_component_code
40802 ,l_component_type_code
40803 ,l_component_appl_id
40804 ,l_amb_context_code
40805 ,l_entity_code
40806 ,l_event_class_code
40807 )
40808 ,p_token_3 => 'OWNER'
40809 ,p_value_3 => xla_lookups_pkg.get_meaning(
40810 p_lookup_type => 'XLA_OWNER_TYPE'
40811 ,p_lookup_code => l_component_type_code
40812 )
40813 ,p_token_4 => 'PRODUCT_NAME'
40814 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
40815 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
40816 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
40817 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
40818 ,p_ae_header_id => NULL
40819 );
40820
40821 IF (C_LEVEL_ERROR>= g_log_level) THEN
40822 trace
40823 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
40824 ,p_level => C_LEVEL_ERROR
40825 ,p_module => l_log_module);
40826 END IF;
40827 END IF;
40828 END IF;
40829 --
40830 --
40831 ------------------------------------------------------------------------------------------------
40832 -- 4219869 Business Flow
40833 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
40834 -- Prior Entry. Currently, the following code is always generated.
40838 ------------------------------------------------------------------------------------
40835 ------------------------------------------------------------------------------------------------
40836 XLA_AE_LINES_PKG.ValidateCurrentLine;
40837
40839 -- 4219869 Business Flow
40840 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
40841 ------------------------------------------------------------------------------------
40842 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
40843
40844 ----------------------------------------------------------------------------------
40845 -- 4219869 Business Flow
40846 -- Update journal entry status -- Need to generate this within IF <condition>
40847 ----------------------------------------------------------------------------------
40848 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
40849 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
40850 ,p_balance_type_code => l_balance_type_code
40851 );
40852
40853 -------------------------------------------------------------------------------------------
40854 -- 4262811 - Generate the Accrual Reversal lines
40855 -------------------------------------------------------------------------------------------
40856 BEGIN
40857 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
40858 (g_array_event(p_event_id).array_value_num('header_index'));
40859 IF l_acc_rev_flag IS NULL THEN
40860 l_acc_rev_flag := 'N';
40861 END IF;
40862 EXCEPTION
40863 WHEN OTHERS THEN
40864 l_acc_rev_flag := 'N';
40865 END;
40866 --
40867 IF (l_acc_rev_flag = 'Y') THEN
40868
40869 -- 4645092 ------------------------------------------------------------------------------
40870 -- To allow MPA report to determine if it should generate report process
40871 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
40872 ------------------------------------------------------------------------------------------
40873
40874 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
40875 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
40876 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
40877 -- call ADRs
40878 -- Bug 4922099
40879 --
40880 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
40881 (NVL(l_actual_upg_option, 'N') = 'O') OR
40882 (NVL(l_enc_upg_option, 'N') = 'O')
40883 )
40884 THEN
40885 NULL;
40886 --
40887 --
40888
40889 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
40890 p_code_combination_id => TO_NUMBER(C_NUM)
40891 , p_value_type_code => NULL
40892 , p_transaction_coa_id => null
40893 , p_accounting_coa_id => null
40894 , p_adr_code => NULL
40895 , p_adr_type_code => NULL
40896 , p_component_type => l_component_type
40897 , p_component_code => l_component_code
40898 , p_component_type_code => l_component_type_code
40899 , p_component_appl_id => l_component_appl_id
40900 , p_amb_context_code => l_amb_context_code
40901 , p_side => NULL
40902 );
40903
40904
40905 -- initialise segments
40906 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40907 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40908 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40909 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40910 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40911 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40912 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40913 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40914 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40915 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40916 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40917 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40918 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40919 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40920 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40921 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40922 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40923 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40924 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40925 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40926 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40927 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40928 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40929 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40933 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40930 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40931 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40932 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40934 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40935 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
40936 --
40937
40938 --
40939
40940
40941 l_segment := AcctDerRule_5(
40942 p_application_id => p_application_id
40943 , p_ae_header_id => l_ae_header_id
40944 , p_source_5 => p_source_5
40945 , x_transaction_coa_id => l_adr_transaction_coa_id
40946 , x_accounting_coa_id => l_adr_accounting_coa_id
40947 , x_flexfield_segment_code => l_adr_flexfield_segment_code
40948 , x_flex_value_set_id => l_adr_flex_value_set_id
40949 , x_value_type_code => l_adr_value_type_code
40950 , x_value_combination_id => l_adr_value_combination_id
40951 , x_value_segment_code => l_adr_value_segment_code
40952 , p_side => 'NA'
40953 , p_override_seg_flag => 'Y'
40954 );
40955
40956 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
40957
40958 xla_ae_lines_pkg.set_segment(
40959 p_to_segment_code => 'GL_ACCOUNT'
40960 , p_segment_value => l_segment
40961 , p_from_segment_code => l_adr_value_segment_code
40962 , p_from_combination_id => l_adr_value_combination_id
40963 , p_value_type_code => l_adr_value_type_code
40964 , p_transaction_coa_id => l_adr_transaction_coa_id
40965 , p_accounting_coa_id => l_adr_accounting_coa_id
40966 , p_flexfield_segment_code => l_adr_flexfield_segment_code
40967 , p_flex_value_set_id => l_adr_flex_value_set_id
40968 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
40969 , p_adr_type_code => 'S'
40970 , p_component_type => l_component_type
40971 , p_component_code => l_component_code
40972 , p_component_type_code => l_component_type_code
40973 , p_component_appl_id => l_component_appl_id
40974 , p_amb_context_code => l_amb_context_code
40975 , p_entity_code => 'AP_PAYMENTS'
40976 , p_event_class_code => 'FUTURE DATED PAYMENTS'
40977 , p_side => 'NA'
40978 );
40979
40980 END IF;
40981
40982 --
40983 --
40984 END IF;
40985
40986 --
40987 -- Update the line information that should be overwritten
40988 --
40989 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
40990 p_header_num => 1);
40991 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
40992
40993 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
40994
40995 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
40996 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
40997 END IF;
40998
40999 --
41000 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41001 --
41002 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41003 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41004 ELSE
41005 ---------------------------------------------------------------------------------------------------
41006 -- 4262811a Switch Sign
41007 ---------------------------------------------------------------------------------------------------
41008 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41009 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41010 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41011 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41012 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41013 -- 5132302
41014 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41015 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41016
41017 END IF;
41018
41019 -- 4955764
41020 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41021 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41022
41023
41024 XLA_AE_LINES_PKG.ValidateCurrentLine;
41025 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41026
41027 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41028 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41029 ,p_balance_type_code => l_balance_type_code);
41030
41031 END IF;
41032
41036 -- No MPA option is assigned.
41033 -----------------------------------------------------------------------------------------
41034 -- 4262811 Multiperiod Accounting
41035 -----------------------------------------------------------------------------------------
41037
41038
41039 END IF;
41040 END IF;
41041 --
41042
41043 --
41044 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41045 trace
41046 (p_msg => 'END of AcctLineType_93'
41047 ,p_level => C_LEVEL_PROCEDURE
41048 ,p_module => l_log_module);
41049 END IF;
41050 --
41051 EXCEPTION
41052 WHEN xla_exceptions_pkg.application_exception THEN
41053 RAISE;
41054 WHEN OTHERS THEN
41055 xla_exceptions_pkg.raise_message
41056 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_93');
41057 END AcctLineType_93;
41058 --
41059
41060 ---------------------------------------
41061 --
41062 -- PRIVATE FUNCTION
41063 -- AcctLineType_94
41064 --
41065 ---------------------------------------
41066 PROCEDURE AcctLineType_94 (
41067 p_application_id IN NUMBER
41068 ,p_event_id IN NUMBER
41069 ,p_calculate_acctd_flag IN VARCHAR2
41070 ,p_calculate_g_l_flag IN VARCHAR2
41071 ,p_actual_flag IN OUT VARCHAR2
41072 ,p_balance_type_code OUT VARCHAR2
41073 ,p_gain_or_loss_ref OUT VARCHAR2
41074
41075 --Automatic Offsets Value
41076 , p_source_3 IN VARCHAR2
41077 , p_source_3_meaning IN VARCHAR2
41078 --Bank Cash Account
41079 , p_source_5 IN NUMBER
41080 --Accounting Reversal Indicator
41081 , p_source_41 IN VARCHAR2
41082 --Distribution Link Type
41083 , p_source_43 IN VARCHAR2
41084 --Override Accounted Amount Indicator
41085 , p_source_68 IN VARCHAR2
41086 , p_source_68_meaning IN VARCHAR2
41087 --Third Party Type
41088 , p_source_71 IN VARCHAR2
41089 --Business Flow Accounts Payable Application Identifier
41090 , p_source_79 IN NUMBER
41091 --When to Account for Payment Option
41092 , p_source_89 IN VARCHAR2
41093 --Payment Distribution Type
41094 , p_source_90 IN VARCHAR2
41095 , p_source_90_meaning IN VARCHAR2
41096 --Payment Distribution Amount
41097 , p_source_91 IN NUMBER
41098 --Business Flow Payment Distribution Type
41099 , p_source_92 IN VARCHAR2
41100 --Business Flow Payment Entity Code
41101 , p_source_93 IN VARCHAR2
41102 --Business Flow Payment Distribution Identifier
41103 , p_source_94 IN NUMBER
41104 --Business Flow Payment Identifier
41105 , p_source_95 IN NUMBER
41106 --Payment Distribution Identifier
41107 , p_source_96 IN NUMBER
41108 --Payment Supplier Identifier
41109 , p_source_102 IN NUMBER
41110 --Payment Supplier Site Identifier
41111 , p_source_103 IN NUMBER
41112 --Payment Distribution Reversed Identifier
41113 , p_source_104 IN NUMBER
41114 --Pooled Bank Account Option
41115 , p_source_105 IN VARCHAR2
41116 , p_source_105_meaning IN VARCHAR2
41117 --Payment Currency Code
41118 , p_source_106 IN VARCHAR2
41119 --Payment Maturity Date
41120 , p_source_107 IN DATE
41121 --Payment Exchange Date
41122 , p_source_110 IN DATE
41123 --Payment Exchange Rate
41124 , p_source_111 IN NUMBER
41125 --Payment Exchange Rate Type
41126 , p_source_112 IN VARCHAR2
41127 --Payment Distribution (Matured Rate) Ledger Amount
41128 , p_source_114 IN NUMBER
41129 )
41130 IS
41131
41132 l_component_type VARCHAR2(80);
41133 l_component_code VARCHAR2(30);
41134 l_component_type_code VARCHAR2(1);
41135 l_component_appl_id INTEGER;
41136 l_amb_context_code VARCHAR2(30);
41137 l_entity_code VARCHAR2(30);
41138 l_event_class_code VARCHAR2(30);
41139 l_ae_header_id NUMBER;
41140 l_event_type_code VARCHAR2(30);
41141 l_line_definition_code VARCHAR2(30);
41142 l_line_definition_owner_code VARCHAR2(1);
41143 --
41144 -- adr variables
41145 l_segment VARCHAR2(30);
41146 l_ccid NUMBER;
41147 l_adr_transaction_coa_id NUMBER;
41148 l_adr_accounting_coa_id NUMBER;
41149 l_adr_flexfield_segment_code VARCHAR2(30);
41150 l_adr_flex_value_set_id NUMBER;
41151 l_adr_value_type_code VARCHAR2(30);
41152 l_adr_value_combination_id NUMBER;
41153 l_adr_value_segment_code VARCHAR2(30);
41154
41155 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41156 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41157 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41158 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41159
41160 -- 4262811 Variables ------------------------------------------------------------------------------------------
41161 l_entered_amt_idx NUMBER;
41162 l_accted_amt_idx NUMBER;
41163 l_acc_rev_flag VARCHAR2(1);
41164 l_accrual_line_num NUMBER;
41165 l_tmp_amt NUMBER;
41166 l_acc_rev_natural_side_code VARCHAR2(1);
41167
41168 l_num_entries NUMBER;
41169 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41173 l_recog_line_1 NUMBER;
41170 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41171 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41172 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41174 l_recog_line_2 NUMBER;
41175
41176 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41177 l_bflow_applied_to_amt NUMBER; -- 5132302
41178 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41179
41180 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41181
41182 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41183 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41184
41185 ---------------------------------------------------------------------------------------------------------------
41186
41187
41188 --
41189 -- bulk performance
41190 --
41191 l_balance_type_code VARCHAR2(1);
41192 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41193 l_log_module VARCHAR2(240);
41194
41195 --
41196 -- Upgrade strategy
41197 --
41198 l_actual_upg_option VARCHAR2(1);
41199 l_enc_upg_option VARCHAR2(1);
41200
41201 --
41202 BEGIN
41203 --
41204 IF g_log_enabled THEN
41205 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_94';
41206 END IF;
41207 --
41208 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41209
41210 trace
41211 (p_msg => 'BEGIN of AcctLineType_94'
41212 ,p_level => C_LEVEL_PROCEDURE
41213 ,p_module => l_log_module);
41214
41215 END IF;
41216 --
41217 l_component_type := 'AMB_JLT';
41218 l_component_code := 'AP_CASH_PMT_MAT_AOS_BS';
41219 l_component_type_code := 'S';
41220 l_component_appl_id := 200;
41221 l_amb_context_code := 'DEFAULT';
41222 l_entity_code := 'AP_PAYMENTS';
41223 l_event_class_code := 'FUTURE DATED PAYMENTS';
41224 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
41225 l_line_definition_owner_code := 'S';
41226 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
41227 --
41228 l_balance_type_code := 'A';
41229 l_segment := NULL;
41230 l_ccid := NULL;
41231 l_adr_transaction_coa_id := NULL;
41232 l_adr_accounting_coa_id := NULL;
41233 l_adr_flexfield_segment_code := NULL;
41234 l_adr_flex_value_set_id := NULL;
41235 l_adr_value_type_code := NULL;
41236 l_adr_value_combination_id := NULL;
41237 l_adr_value_segment_code := NULL;
41238
41239 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
41240 l_bflow_class_code := ''; -- 4219869 Business Flow
41241 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41242 l_budgetary_control_flag := 'N';
41243
41244 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41245 l_bflow_applied_to_amt := NULL; -- 5132302
41246 l_entered_amt_idx := NULL; -- 4262811
41247 l_accted_amt_idx := NULL; -- 4262811
41248 l_acc_rev_flag := NULL; -- 4262811
41249 l_accrual_line_num := NULL; -- 4262811
41250 l_tmp_amt := NULL; -- 4262811
41251 --
41252
41253 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41254 l_balance_type_code <> 'B' THEN
41255 IF NVL(p_source_89,'
41256 ') = 'ISSUE_ISSUE' AND
41257 (NVL(p_source_105,'
41258 ') = 'Y' AND
41259 NVL(p_source_3,'
41260 ') = 'BALANCING_SEGMENT') AND
41261 p_source_107 IS NOT NULL AND
41262 NVL(p_source_90,'
41263 ') = 'CASH'
41264 THEN
41265
41266 --
41267 XLA_AE_LINES_PKG.SetNewLine;
41268
41269 p_balance_type_code := l_balance_type_code;
41270 -- set the flag so later we will know whether the gain loss line needs to be created
41271
41272 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41273 p_actual_flag :='A';
41274 END IF;
41275
41276 --
41277 -- bulk performance
41278 --
41279 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41280 p_header_num => 0); -- 4262811
41281 --
41282 -- set accounting line options
41283 --
41284 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41285 p_natural_side_code => 'C'
41286 , p_gain_or_loss_flag => 'N'
41287 , p_gl_transfer_mode_code => 'S'
41288 , p_acct_entry_type_code => 'A'
41289 , p_switch_side_flag => 'Y'
41290 , p_merge_duplicate_code => 'A'
41291 );
41292 --
41293 l_acc_rev_natural_side_code := 'D'; -- 4262811
41294 --
41295 --
41296 -- set accounting line type info
41297 --
41298 xla_ae_lines_pkg.SetAcctLineType
41299 (p_component_type => l_component_type
41300 ,p_event_type_code => l_event_type_code
41301 ,p_line_definition_owner_code => l_line_definition_owner_code
41302 ,p_line_definition_code => l_line_definition_code
41303 ,p_accounting_line_code => l_component_code
41304 ,p_accounting_line_type_code => l_component_type_code
41308 ,p_event_class_code => l_event_class_code);
41305 ,p_accounting_line_appl_id => l_component_appl_id
41306 ,p_amb_context_code => l_amb_context_code
41307 ,p_entity_code => l_entity_code
41309 --
41310 -- set accounting class
41311 --
41312 xla_ae_lines_pkg.SetAcctClass(
41313 p_accounting_class_code => 'CASH'
41314 , p_ae_header_id => l_ae_header_id
41315 );
41316
41317 --
41318 -- set rounding class
41319 --
41320 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
41321 'CASH';
41322
41323 --
41324 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
41325 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
41326 --
41327 -- bulk performance
41328 --
41329 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
41330
41331 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
41332 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
41333
41334 -- 4955764
41335 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41336 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
41337
41338 -- 4458381 Public Sector Enh
41339
41340 --
41341 -- set accounting attributes for the line type
41342 --
41343 l_entered_amt_idx := 9;
41344 l_accted_amt_idx := 14;
41345 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41346 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
41347 l_rec_acct_attrs.array_char_value(1) := p_source_41;
41348 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
41349 l_rec_acct_attrs.array_num_value(2) := p_source_79;
41350 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
41351 l_rec_acct_attrs.array_char_value(3) := p_source_92;
41352 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
41353 l_rec_acct_attrs.array_char_value(4) := p_source_93;
41354 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
41355 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
41356 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
41357 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
41358 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
41359 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
41360 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
41361 l_rec_acct_attrs.array_char_value(8) := p_source_43;
41362 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
41363 l_rec_acct_attrs.array_num_value(9) := p_source_91;
41364 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
41365 l_rec_acct_attrs.array_char_value(10) := p_source_106;
41366 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
41367 l_rec_acct_attrs.array_date_value(11) := p_source_110;
41368 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
41369 l_rec_acct_attrs.array_num_value(12) := p_source_111;
41370 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
41371 l_rec_acct_attrs.array_char_value(13) := p_source_112;
41372 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
41373 l_rec_acct_attrs.array_num_value(14) := p_source_114;
41374 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
41375 l_rec_acct_attrs.array_char_value(15) := p_source_68;
41376 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
41377 l_rec_acct_attrs.array_num_value(16) := p_source_102;
41378 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
41379 l_rec_acct_attrs.array_num_value(17) := p_source_103;
41380 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
41381 l_rec_acct_attrs.array_char_value(18) := p_source_71;
41382 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
41383 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
41384 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
41385 l_rec_acct_attrs.array_char_value(20) := p_source_43;
41386
41387 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
41388 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
41389
41390 ---------------------------------------------------------------------------------------------------------------
41391 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
41392 ---------------------------------------------------------------------------------------------------------------
41393 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
41394
41395 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41396 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
41397
41398 IF xla_accounting_cache_pkg.GetValueChar
41399 (p_source_code => 'LEDGER_CATEGORY_CODE'
41400 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
41404 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
41401 AND l_bflow_method_code = 'PRIOR_ENTRY'
41402 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
41403 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
41405 )
41406 THEN
41407 xla_ae_lines_pkg.BflowUpgEntry
41408 (p_business_method_code => l_bflow_method_code
41409 ,p_business_class_code => l_bflow_class_code
41410 ,p_balance_type => l_balance_type_code);
41411 ELSE
41412 NULL;
41413 XLA_AE_LINES_PKG.business_flow_validation(
41414 p_business_method_code => l_bflow_method_code
41415 ,p_business_class_code => l_bflow_class_code
41416 ,p_inherit_description_flag => l_inherit_desc_flag);
41417 END IF;
41418
41419 --
41420 -- call analytical criteria
41421 --
41422
41423 --
41424 -- call description
41425 --
41426 -- No description or it is inherited.
41427 --
41428 -- call ADRs
41429 -- Bug 4922099
41430 --
41431 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41432 (NVL(l_actual_upg_option, 'N') = 'O') OR
41433 (NVL(l_enc_upg_option, 'N') = 'O')
41434 )
41435 THEN
41436 NULL;
41437 --
41438 --
41439
41440 l_ccid := AcctDerRule_27(
41441 p_application_id => p_application_id
41442 , p_ae_header_id => l_ae_header_id
41443 , p_source_5 => p_source_5
41444 , x_transaction_coa_id => l_adr_transaction_coa_id
41445 , x_accounting_coa_id => l_adr_accounting_coa_id
41446 , x_value_type_code => l_adr_value_type_code
41447 , p_side => 'NA'
41448 );
41449
41450 xla_ae_lines_pkg.set_ccid(
41451 p_code_combination_id => l_ccid
41452 , p_value_type_code => l_adr_value_type_code
41453 , p_transaction_coa_id => l_adr_transaction_coa_id
41454 , p_accounting_coa_id => l_adr_accounting_coa_id
41455 , p_adr_code => 'AP_CASH'
41456 , p_adr_type_code => 'S'
41457 , p_component_type => l_component_type
41458 , p_component_code => l_component_code
41459 , p_component_type_code => l_component_type_code
41460 , p_component_appl_id => l_component_appl_id
41461 , p_amb_context_code => l_amb_context_code
41462 , p_side => 'NA'
41463 );
41464
41465
41466 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
41467 p_to_segment_code => 'GL_BALANCING'
41468 , p_segment_value => C_CHAR
41469 , p_from_segment_code => NULL
41470 , p_from_combination_id => NULL
41471 , p_value_type_code => NULL
41472 , p_transaction_coa_id => null
41473 , p_accounting_coa_id => null
41474 , p_flexfield_segment_code => NULL
41475 , p_flex_value_set_id => NULL
41476 , p_adr_code => NULL
41477 , p_adr_type_code => NULL
41478 , p_component_type => l_component_type
41479 , p_component_code => l_component_code
41480 , p_component_type_code => l_component_type_code
41481 , p_component_appl_id => l_component_appl_id
41482 , p_amb_context_code => l_amb_context_code
41483 , p_entity_code => 'AP_PAYMENTS'
41484 , p_event_class_code => 'FUTURE DATED PAYMENTS'
41485 , p_side => 'NA'
41486 );
41487 --
41488
41489
41490 --
41491 --
41492 END IF;
41493 --
41494 -- Bug 4922099
41495 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
41496 (NVL(l_enc_upg_option, 'N') = 'O')
41497 ) AND
41498 (l_bflow_method_code = 'PRIOR_ENTRY')
41499 )
41500 THEN
41501 IF
41502 --
41503 1 = 2
41504 --
41505 THEN
41506 xla_accounting_err_pkg.build_message
41507 (p_appli_s_name => 'XLA'
41508 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41509 ,p_token_1 => 'LINE_NUMBER'
41510 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
41511 ,p_token_2 => 'LINE_TYPE_NAME'
41512 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
41513 l_component_type
41514 ,l_component_code
41515 ,l_component_type_code
41516 ,l_component_appl_id
41517 ,l_amb_context_code
41518 ,l_entity_code
41519 ,l_event_class_code
41520 )
41524 ,p_lookup_code => l_component_type_code
41521 ,p_token_3 => 'OWNER'
41522 ,p_value_3 => xla_lookups_pkg.get_meaning(
41523 p_lookup_type => 'XLA_OWNER_TYPE'
41525 )
41526 ,p_token_4 => 'PRODUCT_NAME'
41527 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
41528 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
41529 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
41530 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
41531 ,p_ae_header_id => NULL
41532 );
41533
41534 IF (C_LEVEL_ERROR>= g_log_level) THEN
41535 trace
41536 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
41537 ,p_level => C_LEVEL_ERROR
41538 ,p_module => l_log_module);
41539 END IF;
41540 END IF;
41541 END IF;
41542 --
41543 --
41544 ------------------------------------------------------------------------------------------------
41545 -- 4219869 Business Flow
41546 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
41547 -- Prior Entry. Currently, the following code is always generated.
41548 ------------------------------------------------------------------------------------------------
41549 XLA_AE_LINES_PKG.ValidateCurrentLine;
41550
41551 ------------------------------------------------------------------------------------
41552 -- 4219869 Business Flow
41553 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
41554 ------------------------------------------------------------------------------------
41555 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41556
41557 ----------------------------------------------------------------------------------
41558 -- 4219869 Business Flow
41559 -- Update journal entry status -- Need to generate this within IF <condition>
41560 ----------------------------------------------------------------------------------
41561 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41562 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
41563 ,p_balance_type_code => l_balance_type_code
41564 );
41565
41566 -------------------------------------------------------------------------------------------
41567 -- 4262811 - Generate the Accrual Reversal lines
41568 -------------------------------------------------------------------------------------------
41569 BEGIN
41570 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
41571 (g_array_event(p_event_id).array_value_num('header_index'));
41572 IF l_acc_rev_flag IS NULL THEN
41573 l_acc_rev_flag := 'N';
41574 END IF;
41575 EXCEPTION
41576 WHEN OTHERS THEN
41577 l_acc_rev_flag := 'N';
41578 END;
41579 --
41580 IF (l_acc_rev_flag = 'Y') THEN
41581
41582 -- 4645092 ------------------------------------------------------------------------------
41583 -- To allow MPA report to determine if it should generate report process
41584 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
41585 ------------------------------------------------------------------------------------------
41586
41587 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
41588 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
41589 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
41590 -- call ADRs
41591 -- Bug 4922099
41592 --
41593 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
41594 (NVL(l_actual_upg_option, 'N') = 'O') OR
41595 (NVL(l_enc_upg_option, 'N') = 'O')
41596 )
41597 THEN
41598 NULL;
41599 --
41600 --
41601
41602 l_ccid := AcctDerRule_27(
41603 p_application_id => p_application_id
41604 , p_ae_header_id => l_ae_header_id
41605 , p_source_5 => p_source_5
41606 , x_transaction_coa_id => l_adr_transaction_coa_id
41607 , x_accounting_coa_id => l_adr_accounting_coa_id
41608 , x_value_type_code => l_adr_value_type_code
41609 , p_side => 'NA'
41610 );
41611
41612 xla_ae_lines_pkg.set_ccid(
41613 p_code_combination_id => l_ccid
41614 , p_value_type_code => l_adr_value_type_code
41615 , p_transaction_coa_id => l_adr_transaction_coa_id
41616 , p_accounting_coa_id => l_adr_accounting_coa_id
41617 , p_adr_code => 'AP_CASH'
41618 , p_adr_type_code => 'S'
41619 , p_component_type => l_component_type
41620 , p_component_code => l_component_code
41621 , p_component_type_code => l_component_type_code
41625 );
41622 , p_component_appl_id => l_component_appl_id
41623 , p_amb_context_code => l_amb_context_code
41624 , p_side => 'NA'
41626
41627
41628 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
41629 p_to_segment_code => 'GL_BALANCING'
41630 , p_segment_value => C_CHAR
41631 , p_from_segment_code => NULL
41632 , p_from_combination_id => NULL
41633 , p_value_type_code => NULL
41634 , p_transaction_coa_id => null
41635 , p_accounting_coa_id => null
41636 , p_flexfield_segment_code => NULL
41637 , p_flex_value_set_id => NULL
41638 , p_adr_code => NULL
41639 , p_adr_type_code => NULL
41640 , p_component_type => l_component_type
41641 , p_component_code => l_component_code
41642 , p_component_type_code => l_component_type_code
41643 , p_component_appl_id => l_component_appl_id
41644 , p_amb_context_code => l_amb_context_code
41645 , p_entity_code => 'AP_PAYMENTS'
41646 , p_event_class_code => 'FUTURE DATED PAYMENTS'
41647 , p_side => 'NA'
41648 );
41649 --
41650
41651
41652 --
41653 --
41654 END IF;
41655
41656 --
41657 -- Update the line information that should be overwritten
41658 --
41659 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
41660 p_header_num => 1);
41661 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
41662
41663 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
41664
41665 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
41666 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
41667 END IF;
41668
41669 --
41670 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
41671 --
41672 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
41673 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
41674 ELSE
41675 ---------------------------------------------------------------------------------------------------
41676 -- 4262811a Switch Sign
41677 ---------------------------------------------------------------------------------------------------
41678 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
41679 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41680 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41681 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
41682 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41683 -- 5132302
41684 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
41685 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
41686
41687 END IF;
41688
41689 -- 4955764
41690 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
41691 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
41692
41693
41694 XLA_AE_LINES_PKG.ValidateCurrentLine;
41695 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
41696
41697 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
41698 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
41699 ,p_balance_type_code => l_balance_type_code);
41700
41701 END IF;
41702
41703 -----------------------------------------------------------------------------------------
41704 -- 4262811 Multiperiod Accounting
41705 -----------------------------------------------------------------------------------------
41706 -- No MPA option is assigned.
41707
41708
41709 END IF;
41710 END IF;
41711 --
41712
41713 --
41714 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41715 trace
41716 (p_msg => 'END of AcctLineType_94'
41717 ,p_level => C_LEVEL_PROCEDURE
41718 ,p_module => l_log_module);
41719 END IF;
41720 --
41721 EXCEPTION
41722 WHEN xla_exceptions_pkg.application_exception THEN
41723 RAISE;
41724 WHEN OTHERS THEN
41725 xla_exceptions_pkg.raise_message
41726 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_94');
41727 END AcctLineType_94;
41728 --
41729
41730 ---------------------------------------
41731 --
41732 -- PRIVATE FUNCTION
41733 -- AcctLineType_95
41734 --
41735 ---------------------------------------
41736 PROCEDURE AcctLineType_95 (
41737 p_application_id IN NUMBER
41738 ,p_event_id IN NUMBER
41739 ,p_calculate_acctd_flag IN VARCHAR2
41740 ,p_calculate_g_l_flag IN VARCHAR2
41741 ,p_actual_flag IN OUT VARCHAR2
41742 ,p_balance_type_code OUT VARCHAR2
41743 ,p_gain_or_loss_ref OUT VARCHAR2
41744
41745 --Bank Cash Account
41746 , p_source_5 IN NUMBER
41747 --Automatic Offsets Flag
41751 , p_source_41 IN VARCHAR2
41748 , p_source_35 IN VARCHAR2
41749 , p_source_35_meaning IN VARCHAR2
41750 --Accounting Reversal Indicator
41752 --Distribution Link Type
41753 , p_source_43 IN VARCHAR2
41754 --Override Accounted Amount Indicator
41755 , p_source_68 IN VARCHAR2
41756 , p_source_68_meaning IN VARCHAR2
41757 --Third Party Type
41758 , p_source_71 IN VARCHAR2
41759 --Invoice Distribution Tax Line Identifier
41760 , p_source_74 IN NUMBER
41761 --Invoice Distribution Tax Distribution Identifier from Tax
41762 , p_source_75 IN NUMBER
41763 --Invoice Distribution Summary Tax Line Identifier
41764 , p_source_76 IN NUMBER
41765 --Business Flow Accounts Payable Application Identifier
41766 , p_source_79 IN NUMBER
41767 --Business Flow Invoice Distribution Type
41768 , p_source_80 IN VARCHAR2
41769 --Business Flow Invoice Entity Code
41770 , p_source_81 IN VARCHAR2
41771 --Business Flow Invoice Distribution Identifier
41772 , p_source_82 IN NUMBER
41773 --Business Flow Invoice Identifier
41774 , p_source_83 IN NUMBER
41775 --When to Account for Payment Option
41776 , p_source_89 IN VARCHAR2
41777 --Payment Distribution Type
41778 , p_source_90 IN VARCHAR2
41779 , p_source_90_meaning IN VARCHAR2
41780 --Payment Distribution Amount
41781 , p_source_91 IN NUMBER
41782 --Payment Distribution Identifier
41783 , p_source_96 IN NUMBER
41784 --Payment Supplier Identifier
41785 , p_source_102 IN NUMBER
41786 --Payment Supplier Site Identifier
41787 , p_source_103 IN NUMBER
41788 --Payment Distribution Reversed Identifier
41789 , p_source_104 IN NUMBER
41790 --Pooled Bank Account Option
41791 , p_source_105 IN VARCHAR2
41792 , p_source_105_meaning IN VARCHAR2
41793 --Payment Currency Code
41794 , p_source_106 IN VARCHAR2
41795 --Payment Maturity Date
41796 , p_source_107 IN DATE
41797 --Payment Distribution (Payment Rate) Ledger Amount
41798 , p_source_108 IN NUMBER
41799 --Payment Exchange Date
41800 , p_source_110 IN DATE
41801 --Payment Exchange Rate
41802 , p_source_111 IN NUMBER
41803 --Payment Exchange Rate Type
41804 , p_source_112 IN VARCHAR2
41805 --Payment Type
41806 , p_source_115 IN VARCHAR2
41807 , p_source_115_meaning IN VARCHAR2
41808 )
41809 IS
41810
41811 l_component_type VARCHAR2(80);
41812 l_component_code VARCHAR2(30);
41813 l_component_type_code VARCHAR2(1);
41814 l_component_appl_id INTEGER;
41815 l_amb_context_code VARCHAR2(30);
41816 l_entity_code VARCHAR2(30);
41817 l_event_class_code VARCHAR2(30);
41818 l_ae_header_id NUMBER;
41819 l_event_type_code VARCHAR2(30);
41820 l_line_definition_code VARCHAR2(30);
41821 l_line_definition_owner_code VARCHAR2(1);
41822 --
41823 -- adr variables
41824 l_segment VARCHAR2(30);
41825 l_ccid NUMBER;
41826 l_adr_transaction_coa_id NUMBER;
41827 l_adr_accounting_coa_id NUMBER;
41828 l_adr_flexfield_segment_code VARCHAR2(30);
41829 l_adr_flex_value_set_id NUMBER;
41830 l_adr_value_type_code VARCHAR2(30);
41831 l_adr_value_combination_id NUMBER;
41832 l_adr_value_segment_code VARCHAR2(30);
41833
41834 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
41835 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
41836 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
41837 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
41838
41839 -- 4262811 Variables ------------------------------------------------------------------------------------------
41840 l_entered_amt_idx NUMBER;
41841 l_accted_amt_idx NUMBER;
41842 l_acc_rev_flag VARCHAR2(1);
41843 l_accrual_line_num NUMBER;
41844 l_tmp_amt NUMBER;
41845 l_acc_rev_natural_side_code VARCHAR2(1);
41846
41847 l_num_entries NUMBER;
41848 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
41849 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
41850 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
41851 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
41852 l_recog_line_1 NUMBER;
41853 l_recog_line_2 NUMBER;
41854
41855 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
41856 l_bflow_applied_to_amt NUMBER; -- 5132302
41857 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
41858
41859 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
41860
41861 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
41862 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
41863
41864 ---------------------------------------------------------------------------------------------------------------
41865
41866
41867 --
41868 -- bulk performance
41869 --
41870 l_balance_type_code VARCHAR2(1);
41871 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
41872 l_log_module VARCHAR2(240);
41876 --
41873
41874 --
41875 -- Upgrade strategy
41877 l_actual_upg_option VARCHAR2(1);
41878 l_enc_upg_option VARCHAR2(1);
41879
41880 --
41881 BEGIN
41882 --
41883 IF g_log_enabled THEN
41884 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_95';
41885 END IF;
41886 --
41887 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
41888
41889 trace
41890 (p_msg => 'BEGIN of AcctLineType_95'
41891 ,p_level => C_LEVEL_PROCEDURE
41892 ,p_module => l_log_module);
41893
41894 END IF;
41895 --
41896 l_component_type := 'AMB_JLT';
41897 l_component_code := 'AP_CASH_REF';
41898 l_component_type_code := 'S';
41899 l_component_appl_id := 200;
41900 l_amb_context_code := 'DEFAULT';
41901 l_entity_code := 'AP_PAYMENTS';
41902 l_event_class_code := 'REFUNDS';
41903 l_event_type_code := 'REFUNDS_ALL';
41904 l_line_definition_owner_code := 'S';
41905 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
41906 --
41907 l_balance_type_code := 'A';
41908 l_segment := NULL;
41909 l_ccid := NULL;
41910 l_adr_transaction_coa_id := NULL;
41911 l_adr_accounting_coa_id := NULL;
41912 l_adr_flexfield_segment_code := NULL;
41913 l_adr_flex_value_set_id := NULL;
41914 l_adr_value_type_code := NULL;
41915 l_adr_value_combination_id := NULL;
41916 l_adr_value_segment_code := NULL;
41917
41918 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
41919 l_bflow_class_code := ''; -- 4219869 Business Flow
41920 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
41921 l_budgetary_control_flag := 'N';
41922
41923 l_bflow_applied_to_amt_idx := NULL; -- 5132302
41924 l_bflow_applied_to_amt := NULL; -- 5132302
41925 l_entered_amt_idx := NULL; -- 4262811
41926 l_accted_amt_idx := NULL; -- 4262811
41927 l_acc_rev_flag := NULL; -- 4262811
41928 l_accrual_line_num := NULL; -- 4262811
41929 l_tmp_amt := NULL; -- 4262811
41930 --
41931
41932 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
41933 l_balance_type_code <> 'B' THEN
41934 IF NVL(p_source_89,'
41935 ') = 'ISSUE_ISSUE' AND
41936 (NVL(p_source_35,'
41937 ') <> 'Y' OR
41938 NVL(p_source_35,'
41939 ') = 'Y' AND
41940 NVL(p_source_105,'
41941 ') <> 'Y') AND
41942 p_source_107 IS NULL AND
41943 NVL(p_source_90,'
41944 ') = 'CASH' AND
41945 NVL(p_source_115,'
41946 ') = 'R'
41947 THEN
41948
41949 --
41950 XLA_AE_LINES_PKG.SetNewLine;
41951
41952 p_balance_type_code := l_balance_type_code;
41953 -- set the flag so later we will know whether the gain loss line needs to be created
41954
41955 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
41956 p_actual_flag :='A';
41957 END IF;
41958
41959 --
41960 -- bulk performance
41961 --
41962 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
41963 p_header_num => 0); -- 4262811
41964 --
41965 -- set accounting line options
41966 --
41967 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
41968 p_natural_side_code => 'C'
41969 , p_gain_or_loss_flag => 'N'
41970 , p_gl_transfer_mode_code => 'S'
41971 , p_acct_entry_type_code => 'A'
41972 , p_switch_side_flag => 'Y'
41973 , p_merge_duplicate_code => 'A'
41974 );
41975 --
41976 l_acc_rev_natural_side_code := 'D'; -- 4262811
41977 --
41978 --
41979 -- set accounting line type info
41980 --
41981 xla_ae_lines_pkg.SetAcctLineType
41982 (p_component_type => l_component_type
41983 ,p_event_type_code => l_event_type_code
41984 ,p_line_definition_owner_code => l_line_definition_owner_code
41985 ,p_line_definition_code => l_line_definition_code
41986 ,p_accounting_line_code => l_component_code
41987 ,p_accounting_line_type_code => l_component_type_code
41988 ,p_accounting_line_appl_id => l_component_appl_id
41989 ,p_amb_context_code => l_amb_context_code
41990 ,p_entity_code => l_entity_code
41991 ,p_event_class_code => l_event_class_code);
41992 --
41993 -- set accounting class
41994 --
41995 xla_ae_lines_pkg.SetAcctClass(
41996 p_accounting_class_code => 'CASH'
41997 , p_ae_header_id => l_ae_header_id
41998 );
41999
42000 --
42001 -- set rounding class
42002 --
42003 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42004 'CASH';
42005
42006 --
42007 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42008 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42009 --
42010 -- bulk performance
42011 --
42012 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42013
42017 -- 4955764
42014 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42015 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42016
42018 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42019 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42020
42021 -- 4458381 Public Sector Enh
42022
42023 --
42024 -- set accounting attributes for the line type
42025 --
42026 l_entered_amt_idx := 9;
42027 l_accted_amt_idx := 14;
42028 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42029 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
42030 l_rec_acct_attrs.array_char_value(1) := p_source_41;
42031 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
42032 l_rec_acct_attrs.array_num_value(2) := p_source_79;
42033 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
42034 l_rec_acct_attrs.array_char_value(3) := p_source_80;
42035 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
42036 l_rec_acct_attrs.array_char_value(4) := p_source_81;
42037 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
42038 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
42039 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
42040 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
42041 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
42042 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
42043 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
42044 l_rec_acct_attrs.array_char_value(8) := p_source_43;
42045 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
42046 l_rec_acct_attrs.array_num_value(9) := p_source_91;
42047 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
42048 l_rec_acct_attrs.array_char_value(10) := p_source_106;
42049 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
42050 l_rec_acct_attrs.array_date_value(11) := p_source_110;
42051 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
42052 l_rec_acct_attrs.array_num_value(12) := p_source_111;
42053 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
42054 l_rec_acct_attrs.array_char_value(13) := p_source_112;
42055 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
42056 l_rec_acct_attrs.array_num_value(14) := p_source_108;
42057 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
42058 l_rec_acct_attrs.array_char_value(15) := p_source_68;
42059 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
42060 l_rec_acct_attrs.array_num_value(16) := p_source_102;
42061 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
42062 l_rec_acct_attrs.array_num_value(17) := p_source_103;
42063 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
42064 l_rec_acct_attrs.array_char_value(18) := p_source_71;
42065 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
42066 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
42067 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
42068 l_rec_acct_attrs.array_char_value(20) := p_source_43;
42069 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
42070 l_rec_acct_attrs.array_num_value(21) := p_source_74;
42071 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
42072 l_rec_acct_attrs.array_num_value(22) := p_source_75;
42073 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
42074 l_rec_acct_attrs.array_num_value(23) := p_source_76;
42075
42076 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42077 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42078
42079 ---------------------------------------------------------------------------------------------------------------
42080 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42081 ---------------------------------------------------------------------------------------------------------------
42082 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42083
42084 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42085 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42086
42087 IF xla_accounting_cache_pkg.GetValueChar
42088 (p_source_code => 'LEDGER_CATEGORY_CODE'
42089 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42090 AND l_bflow_method_code = 'PRIOR_ENTRY'
42091 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42092 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42093 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42094 )
42095 THEN
42096 xla_ae_lines_pkg.BflowUpgEntry
42097 (p_business_method_code => l_bflow_method_code
42098 ,p_business_class_code => l_bflow_class_code
42099 ,p_balance_type => l_balance_type_code);
42100 ELSE
42101 NULL;
42102 -- No business flow processing for business flow method of NONE.
42103 END IF;
42104
42105 --
42109 --
42106 -- call analytical criteria
42107 --
42108
42110 -- call description
42111 --
42112 -- No description or it is inherited.
42113 --
42114 -- call ADRs
42115 -- Bug 4922099
42116 --
42117 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42118 (NVL(l_actual_upg_option, 'N') = 'O') OR
42119 (NVL(l_enc_upg_option, 'N') = 'O')
42120 )
42121 THEN
42122 NULL;
42123 --
42124 --
42125
42126 l_ccid := AcctDerRule_27(
42127 p_application_id => p_application_id
42128 , p_ae_header_id => l_ae_header_id
42129 , p_source_5 => p_source_5
42130 , x_transaction_coa_id => l_adr_transaction_coa_id
42131 , x_accounting_coa_id => l_adr_accounting_coa_id
42132 , x_value_type_code => l_adr_value_type_code
42133 , p_side => 'NA'
42134 );
42135
42136 xla_ae_lines_pkg.set_ccid(
42137 p_code_combination_id => l_ccid
42138 , p_value_type_code => l_adr_value_type_code
42139 , p_transaction_coa_id => l_adr_transaction_coa_id
42140 , p_accounting_coa_id => l_adr_accounting_coa_id
42141 , p_adr_code => 'AP_CASH'
42142 , p_adr_type_code => 'S'
42143 , p_component_type => l_component_type
42144 , p_component_code => l_component_code
42145 , p_component_type_code => l_component_type_code
42146 , p_component_appl_id => l_component_appl_id
42147 , p_amb_context_code => l_amb_context_code
42148 , p_side => 'NA'
42149 );
42150
42151
42152 --
42153 --
42154 END IF;
42155 --
42156 -- Bug 4922099
42157 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42158 (NVL(l_enc_upg_option, 'N') = 'O')
42159 ) AND
42160 (l_bflow_method_code = 'PRIOR_ENTRY')
42161 )
42162 THEN
42163 IF
42164 --
42165 1 = 2
42166 --
42167 THEN
42168 xla_accounting_err_pkg.build_message
42169 (p_appli_s_name => 'XLA'
42170 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42171 ,p_token_1 => 'LINE_NUMBER'
42172 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42173 ,p_token_2 => 'LINE_TYPE_NAME'
42174 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42175 l_component_type
42176 ,l_component_code
42177 ,l_component_type_code
42178 ,l_component_appl_id
42179 ,l_amb_context_code
42180 ,l_entity_code
42181 ,l_event_class_code
42182 )
42183 ,p_token_3 => 'OWNER'
42184 ,p_value_3 => xla_lookups_pkg.get_meaning(
42185 p_lookup_type => 'XLA_OWNER_TYPE'
42186 ,p_lookup_code => l_component_type_code
42187 )
42188 ,p_token_4 => 'PRODUCT_NAME'
42189 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42190 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42191 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42192 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42193 ,p_ae_header_id => NULL
42194 );
42195
42196 IF (C_LEVEL_ERROR>= g_log_level) THEN
42197 trace
42198 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42199 ,p_level => C_LEVEL_ERROR
42200 ,p_module => l_log_module);
42201 END IF;
42202 END IF;
42203 END IF;
42204 --
42205 --
42206 ------------------------------------------------------------------------------------------------
42207 -- 4219869 Business Flow
42208 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42209 -- Prior Entry. Currently, the following code is always generated.
42210 ------------------------------------------------------------------------------------------------
42211 XLA_AE_LINES_PKG.ValidateCurrentLine;
42212
42216 ------------------------------------------------------------------------------------
42213 ------------------------------------------------------------------------------------
42214 -- 4219869 Business Flow
42215 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42217 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42218
42219 ----------------------------------------------------------------------------------
42220 -- 4219869 Business Flow
42221 -- Update journal entry status -- Need to generate this within IF <condition>
42222 ----------------------------------------------------------------------------------
42223 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42224 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42225 ,p_balance_type_code => l_balance_type_code
42226 );
42227
42228 -------------------------------------------------------------------------------------------
42229 -- 4262811 - Generate the Accrual Reversal lines
42230 -------------------------------------------------------------------------------------------
42231 BEGIN
42232 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42233 (g_array_event(p_event_id).array_value_num('header_index'));
42234 IF l_acc_rev_flag IS NULL THEN
42235 l_acc_rev_flag := 'N';
42236 END IF;
42237 EXCEPTION
42238 WHEN OTHERS THEN
42239 l_acc_rev_flag := 'N';
42240 END;
42241 --
42242 IF (l_acc_rev_flag = 'Y') THEN
42243
42244 -- 4645092 ------------------------------------------------------------------------------
42245 -- To allow MPA report to determine if it should generate report process
42246 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42247 ------------------------------------------------------------------------------------------
42248
42249 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42250 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42251 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42252 -- call ADRs
42253 -- Bug 4922099
42254 --
42255 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42256 (NVL(l_actual_upg_option, 'N') = 'O') OR
42257 (NVL(l_enc_upg_option, 'N') = 'O')
42258 )
42259 THEN
42260 NULL;
42261 --
42262 --
42263
42264 l_ccid := AcctDerRule_27(
42265 p_application_id => p_application_id
42266 , p_ae_header_id => l_ae_header_id
42267 , p_source_5 => p_source_5
42268 , x_transaction_coa_id => l_adr_transaction_coa_id
42269 , x_accounting_coa_id => l_adr_accounting_coa_id
42270 , x_value_type_code => l_adr_value_type_code
42271 , p_side => 'NA'
42272 );
42273
42274 xla_ae_lines_pkg.set_ccid(
42275 p_code_combination_id => l_ccid
42276 , p_value_type_code => l_adr_value_type_code
42277 , p_transaction_coa_id => l_adr_transaction_coa_id
42278 , p_accounting_coa_id => l_adr_accounting_coa_id
42279 , p_adr_code => 'AP_CASH'
42280 , p_adr_type_code => 'S'
42281 , p_component_type => l_component_type
42282 , p_component_code => l_component_code
42283 , p_component_type_code => l_component_type_code
42284 , p_component_appl_id => l_component_appl_id
42285 , p_amb_context_code => l_amb_context_code
42286 , p_side => 'NA'
42287 );
42288
42289
42290 --
42291 --
42292 END IF;
42293
42294 --
42295 -- Update the line information that should be overwritten
42296 --
42297 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
42298 p_header_num => 1);
42299 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
42300
42301 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
42302
42303 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
42304 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
42305 END IF;
42306
42307 --
42308 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
42309 --
42310 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
42311 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
42312 ELSE
42313 ---------------------------------------------------------------------------------------------------
42314 -- 4262811a Switch Sign
42315 ---------------------------------------------------------------------------------------------------
42316 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
42317 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42318 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42319 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
42320 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42324
42321 -- 5132302
42322 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
42323 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
42325 END IF;
42326
42327 -- 4955764
42328 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42329 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
42330
42331
42332 XLA_AE_LINES_PKG.ValidateCurrentLine;
42333 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42334
42335 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42336 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
42337 ,p_balance_type_code => l_balance_type_code);
42338
42339 END IF;
42340
42341 -----------------------------------------------------------------------------------------
42342 -- 4262811 Multiperiod Accounting
42343 -----------------------------------------------------------------------------------------
42344 -- No MPA option is assigned.
42345
42346
42347 END IF;
42348 END IF;
42349 --
42350
42351 --
42352 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42353 trace
42354 (p_msg => 'END of AcctLineType_95'
42355 ,p_level => C_LEVEL_PROCEDURE
42356 ,p_module => l_log_module);
42357 END IF;
42358 --
42359 EXCEPTION
42360 WHEN xla_exceptions_pkg.application_exception THEN
42361 RAISE;
42362 WHEN OTHERS THEN
42363 xla_exceptions_pkg.raise_message
42364 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_95');
42365 END AcctLineType_95;
42366 --
42367
42368 ---------------------------------------
42369 --
42370 -- PRIVATE FUNCTION
42371 -- AcctLineType_96
42372 --
42373 ---------------------------------------
42374 PROCEDURE AcctLineType_96 (
42375 p_application_id IN NUMBER
42376 ,p_event_id IN NUMBER
42377 ,p_calculate_acctd_flag IN VARCHAR2
42378 ,p_calculate_g_l_flag IN VARCHAR2
42379 ,p_actual_flag IN OUT VARCHAR2
42380 ,p_balance_type_code OUT VARCHAR2
42381 ,p_gain_or_loss_ref OUT VARCHAR2
42382
42383 --Automatic Offsets Value
42384 , p_source_3 IN VARCHAR2
42385 , p_source_3_meaning IN VARCHAR2
42386 --Bank Cash Account
42387 , p_source_5 IN NUMBER
42388 --Accounting Reversal Indicator
42389 , p_source_41 IN VARCHAR2
42390 --Distribution Link Type
42391 , p_source_43 IN VARCHAR2
42392 --Override Accounted Amount Indicator
42393 , p_source_68 IN VARCHAR2
42394 , p_source_68_meaning IN VARCHAR2
42395 --Third Party Type
42396 , p_source_71 IN VARCHAR2
42397 --Invoice Distribution Tax Line Identifier
42398 , p_source_74 IN NUMBER
42399 --Invoice Distribution Tax Distribution Identifier from Tax
42400 , p_source_75 IN NUMBER
42401 --Invoice Distribution Summary Tax Line Identifier
42402 , p_source_76 IN NUMBER
42403 --Business Flow Accounts Payable Application Identifier
42404 , p_source_79 IN NUMBER
42405 --Business Flow Invoice Distribution Type
42406 , p_source_80 IN VARCHAR2
42407 --Business Flow Invoice Entity Code
42408 , p_source_81 IN VARCHAR2
42409 --Business Flow Invoice Distribution Identifier
42410 , p_source_82 IN NUMBER
42411 --Business Flow Invoice Identifier
42412 , p_source_83 IN NUMBER
42413 --When to Account for Payment Option
42414 , p_source_89 IN VARCHAR2
42415 --Payment Distribution Type
42416 , p_source_90 IN VARCHAR2
42417 , p_source_90_meaning IN VARCHAR2
42418 --Payment Distribution Amount
42419 , p_source_91 IN NUMBER
42420 --Payment Distribution Identifier
42421 , p_source_96 IN NUMBER
42422 --Payment Supplier Identifier
42423 , p_source_102 IN NUMBER
42424 --Payment Supplier Site Identifier
42425 , p_source_103 IN NUMBER
42426 --Payment Distribution Reversed Identifier
42427 , p_source_104 IN NUMBER
42428 --Pooled Bank Account Option
42429 , p_source_105 IN VARCHAR2
42430 , p_source_105_meaning IN VARCHAR2
42431 --Payment Currency Code
42432 , p_source_106 IN VARCHAR2
42433 --Payment Maturity Date
42434 , p_source_107 IN DATE
42435 --Payment Distribution (Payment Rate) Ledger Amount
42436 , p_source_108 IN NUMBER
42437 --Payment Exchange Date
42438 , p_source_110 IN DATE
42439 --Payment Exchange Rate
42440 , p_source_111 IN NUMBER
42441 --Payment Exchange Rate Type
42442 , p_source_112 IN VARCHAR2
42443 --Payment Type
42444 , p_source_115 IN VARCHAR2
42445 , p_source_115_meaning IN VARCHAR2
42446 )
42447 IS
42448
42449 l_component_type VARCHAR2(80);
42450 l_component_code VARCHAR2(30);
42451 l_component_type_code VARCHAR2(1);
42452 l_component_appl_id INTEGER;
42453 l_amb_context_code VARCHAR2(30);
42454 l_entity_code VARCHAR2(30);
42455 l_event_class_code VARCHAR2(30);
42456 l_ae_header_id NUMBER;
42457 l_event_type_code VARCHAR2(30);
42458 l_line_definition_code VARCHAR2(30);
42462 l_segment VARCHAR2(30);
42459 l_line_definition_owner_code VARCHAR2(1);
42460 --
42461 -- adr variables
42463 l_ccid NUMBER;
42464 l_adr_transaction_coa_id NUMBER;
42465 l_adr_accounting_coa_id NUMBER;
42466 l_adr_flexfield_segment_code VARCHAR2(30);
42467 l_adr_flex_value_set_id NUMBER;
42468 l_adr_value_type_code VARCHAR2(30);
42469 l_adr_value_combination_id NUMBER;
42470 l_adr_value_segment_code VARCHAR2(30);
42471
42472 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
42473 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
42474 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
42475 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
42476
42477 -- 4262811 Variables ------------------------------------------------------------------------------------------
42478 l_entered_amt_idx NUMBER;
42479 l_accted_amt_idx NUMBER;
42480 l_acc_rev_flag VARCHAR2(1);
42481 l_accrual_line_num NUMBER;
42482 l_tmp_amt NUMBER;
42483 l_acc_rev_natural_side_code VARCHAR2(1);
42484
42485 l_num_entries NUMBER;
42486 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
42487 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
42488 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
42489 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
42490 l_recog_line_1 NUMBER;
42491 l_recog_line_2 NUMBER;
42492
42493 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
42494 l_bflow_applied_to_amt NUMBER; -- 5132302
42495 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
42496
42497 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
42498
42499 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
42500 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
42501
42502 ---------------------------------------------------------------------------------------------------------------
42503
42504
42505 --
42506 -- bulk performance
42507 --
42508 l_balance_type_code VARCHAR2(1);
42509 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
42510 l_log_module VARCHAR2(240);
42511
42512 --
42513 -- Upgrade strategy
42514 --
42515 l_actual_upg_option VARCHAR2(1);
42516 l_enc_upg_option VARCHAR2(1);
42517
42518 --
42519 BEGIN
42520 --
42521 IF g_log_enabled THEN
42522 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_96';
42523 END IF;
42524 --
42525 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
42526
42527 trace
42528 (p_msg => 'BEGIN of AcctLineType_96'
42529 ,p_level => C_LEVEL_PROCEDURE
42530 ,p_module => l_log_module);
42531
42532 END IF;
42533 --
42534 l_component_type := 'AMB_JLT';
42535 l_component_code := 'AP_CASH_REF_AOS_AS';
42536 l_component_type_code := 'S';
42537 l_component_appl_id := 200;
42538 l_amb_context_code := 'DEFAULT';
42539 l_entity_code := 'AP_PAYMENTS';
42540 l_event_class_code := 'REFUNDS';
42541 l_event_type_code := 'REFUNDS_ALL';
42542 l_line_definition_owner_code := 'S';
42543 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
42544 --
42545 l_balance_type_code := 'A';
42546 l_segment := NULL;
42547 l_ccid := NULL;
42548 l_adr_transaction_coa_id := NULL;
42549 l_adr_accounting_coa_id := NULL;
42550 l_adr_flexfield_segment_code := NULL;
42551 l_adr_flex_value_set_id := NULL;
42552 l_adr_value_type_code := NULL;
42553 l_adr_value_combination_id := NULL;
42554 l_adr_value_segment_code := NULL;
42555
42556 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
42557 l_bflow_class_code := ''; -- 4219869 Business Flow
42558 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
42559 l_budgetary_control_flag := 'N';
42560
42561 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42562 l_bflow_applied_to_amt := NULL; -- 5132302
42563 l_entered_amt_idx := NULL; -- 4262811
42564 l_accted_amt_idx := NULL; -- 4262811
42565 l_acc_rev_flag := NULL; -- 4262811
42566 l_accrual_line_num := NULL; -- 4262811
42567 l_tmp_amt := NULL; -- 4262811
42568 --
42569
42570 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
42571 l_balance_type_code <> 'B' THEN
42572 IF NVL(p_source_89,'
42573 ') = 'ISSUE_ISSUE' AND
42574 (NVL(p_source_105,'
42575 ') = 'Y' AND
42576 NVL(p_source_3,'
42577 ') = 'ACCOUNT_SEGMENT_VALUE') AND
42578 p_source_107 IS NULL AND
42579 NVL(p_source_90,'
42580 ') = 'CASH' AND
42581 NVL(p_source_115,'
42582 ') = 'R'
42583 THEN
42584
42585 --
42586 XLA_AE_LINES_PKG.SetNewLine;
42587
42588 p_balance_type_code := l_balance_type_code;
42589 -- set the flag so later we will know whether the gain loss line needs to be created
42590
42591 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
42592 p_actual_flag :='A';
42596 -- bulk performance
42593 END IF;
42594
42595 --
42597 --
42598 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
42599 p_header_num => 0); -- 4262811
42600 --
42601 -- set accounting line options
42602 --
42603 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
42604 p_natural_side_code => 'C'
42605 , p_gain_or_loss_flag => 'N'
42606 , p_gl_transfer_mode_code => 'S'
42607 , p_acct_entry_type_code => 'A'
42608 , p_switch_side_flag => 'Y'
42609 , p_merge_duplicate_code => 'A'
42610 );
42611 --
42612 l_acc_rev_natural_side_code := 'D'; -- 4262811
42613 --
42614 --
42615 -- set accounting line type info
42616 --
42617 xla_ae_lines_pkg.SetAcctLineType
42618 (p_component_type => l_component_type
42619 ,p_event_type_code => l_event_type_code
42620 ,p_line_definition_owner_code => l_line_definition_owner_code
42621 ,p_line_definition_code => l_line_definition_code
42622 ,p_accounting_line_code => l_component_code
42623 ,p_accounting_line_type_code => l_component_type_code
42624 ,p_accounting_line_appl_id => l_component_appl_id
42625 ,p_amb_context_code => l_amb_context_code
42626 ,p_entity_code => l_entity_code
42627 ,p_event_class_code => l_event_class_code);
42628 --
42629 -- set accounting class
42630 --
42631 xla_ae_lines_pkg.SetAcctClass(
42632 p_accounting_class_code => 'CASH'
42633 , p_ae_header_id => l_ae_header_id
42634 );
42635
42636 --
42637 -- set rounding class
42638 --
42639 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
42640 'CASH';
42641
42642 --
42643 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
42644 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
42645 --
42646 -- bulk performance
42647 --
42648 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
42649
42650 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
42651 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
42652
42653 -- 4955764
42654 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
42655 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
42656
42657 -- 4458381 Public Sector Enh
42658
42659 --
42660 -- set accounting attributes for the line type
42661 --
42662 l_entered_amt_idx := 9;
42663 l_accted_amt_idx := 14;
42664 l_bflow_applied_to_amt_idx := NULL; -- 5132302
42665 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
42666 l_rec_acct_attrs.array_char_value(1) := p_source_41;
42667 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
42668 l_rec_acct_attrs.array_num_value(2) := p_source_79;
42669 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
42670 l_rec_acct_attrs.array_char_value(3) := p_source_80;
42671 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
42672 l_rec_acct_attrs.array_char_value(4) := p_source_81;
42673 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
42674 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
42675 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
42676 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
42677 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
42678 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
42679 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
42680 l_rec_acct_attrs.array_char_value(8) := p_source_43;
42681 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
42682 l_rec_acct_attrs.array_num_value(9) := p_source_91;
42683 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
42684 l_rec_acct_attrs.array_char_value(10) := p_source_106;
42685 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
42686 l_rec_acct_attrs.array_date_value(11) := p_source_110;
42687 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
42688 l_rec_acct_attrs.array_num_value(12) := p_source_111;
42689 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
42690 l_rec_acct_attrs.array_char_value(13) := p_source_112;
42691 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
42692 l_rec_acct_attrs.array_num_value(14) := p_source_108;
42693 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
42694 l_rec_acct_attrs.array_char_value(15) := p_source_68;
42695 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
42696 l_rec_acct_attrs.array_num_value(16) := p_source_102;
42697 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
42698 l_rec_acct_attrs.array_num_value(17) := p_source_103;
42699 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
42700 l_rec_acct_attrs.array_char_value(18) := p_source_71;
42704 l_rec_acct_attrs.array_char_value(20) := p_source_43;
42701 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
42702 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
42703 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
42705 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
42706 l_rec_acct_attrs.array_num_value(21) := p_source_74;
42707 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
42708 l_rec_acct_attrs.array_num_value(22) := p_source_75;
42709 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
42710 l_rec_acct_attrs.array_num_value(23) := p_source_76;
42711
42712 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
42713 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
42714
42715 ---------------------------------------------------------------------------------------------------------------
42716 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
42717 ---------------------------------------------------------------------------------------------------------------
42718 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
42719
42720 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42721 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
42722
42723 IF xla_accounting_cache_pkg.GetValueChar
42724 (p_source_code => 'LEDGER_CATEGORY_CODE'
42725 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
42726 AND l_bflow_method_code = 'PRIOR_ENTRY'
42727 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
42728 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
42729 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
42730 )
42731 THEN
42732 xla_ae_lines_pkg.BflowUpgEntry
42733 (p_business_method_code => l_bflow_method_code
42734 ,p_business_class_code => l_bflow_class_code
42735 ,p_balance_type => l_balance_type_code);
42736 ELSE
42737 NULL;
42738 XLA_AE_LINES_PKG.business_flow_validation(
42739 p_business_method_code => l_bflow_method_code
42740 ,p_business_class_code => l_bflow_class_code
42741 ,p_inherit_description_flag => l_inherit_desc_flag);
42742 END IF;
42743
42744 --
42745 -- call analytical criteria
42746 --
42747
42748 --
42749 -- call description
42750 --
42751 -- No description or it is inherited.
42752 --
42753 -- call ADRs
42754 -- Bug 4922099
42755 --
42756 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42757 (NVL(l_actual_upg_option, 'N') = 'O') OR
42758 (NVL(l_enc_upg_option, 'N') = 'O')
42759 )
42760 THEN
42761 NULL;
42762 --
42763 --
42764
42765 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
42766 p_code_combination_id => TO_NUMBER(C_NUM)
42767 , p_value_type_code => NULL
42768 , p_transaction_coa_id => null
42769 , p_accounting_coa_id => null
42770 , p_adr_code => NULL
42771 , p_adr_type_code => NULL
42772 , p_component_type => l_component_type
42773 , p_component_code => l_component_code
42774 , p_component_type_code => l_component_type_code
42775 , p_component_appl_id => l_component_appl_id
42776 , p_amb_context_code => l_amb_context_code
42777 , p_side => NULL
42778 );
42779
42780
42781 -- initialise segments
42782 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42783 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42784 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42785 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42786 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42787 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42788 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42789 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42790 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42791 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42792 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42793 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42794 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42795 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42796 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42797 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42798 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42802 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42799 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42800 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42801 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42803 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42804 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42805 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42806 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42807 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42808 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42809 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42810 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42811 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42812 --
42813
42814 --
42815
42816
42817 l_segment := AcctDerRule_5(
42818 p_application_id => p_application_id
42819 , p_ae_header_id => l_ae_header_id
42820 , p_source_5 => p_source_5
42821 , x_transaction_coa_id => l_adr_transaction_coa_id
42822 , x_accounting_coa_id => l_adr_accounting_coa_id
42823 , x_flexfield_segment_code => l_adr_flexfield_segment_code
42824 , x_flex_value_set_id => l_adr_flex_value_set_id
42825 , x_value_type_code => l_adr_value_type_code
42826 , x_value_combination_id => l_adr_value_combination_id
42827 , x_value_segment_code => l_adr_value_segment_code
42828 , p_side => 'NA'
42829 , p_override_seg_flag => 'Y'
42830 );
42831
42832 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
42833
42834 xla_ae_lines_pkg.set_segment(
42835 p_to_segment_code => 'GL_ACCOUNT'
42836 , p_segment_value => l_segment
42837 , p_from_segment_code => l_adr_value_segment_code
42838 , p_from_combination_id => l_adr_value_combination_id
42839 , p_value_type_code => l_adr_value_type_code
42840 , p_transaction_coa_id => l_adr_transaction_coa_id
42841 , p_accounting_coa_id => l_adr_accounting_coa_id
42842 , p_flexfield_segment_code => l_adr_flexfield_segment_code
42843 , p_flex_value_set_id => l_adr_flex_value_set_id
42844 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
42845 , p_adr_type_code => 'S'
42846 , p_component_type => l_component_type
42847 , p_component_code => l_component_code
42848 , p_component_type_code => l_component_type_code
42849 , p_component_appl_id => l_component_appl_id
42850 , p_amb_context_code => l_amb_context_code
42851 , p_entity_code => 'AP_PAYMENTS'
42852 , p_event_class_code => 'REFUNDS'
42853 , p_side => 'NA'
42854 );
42855
42856 END IF;
42857
42858 --
42859 --
42860 END IF;
42861 --
42862 -- Bug 4922099
42863 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
42864 (NVL(l_enc_upg_option, 'N') = 'O')
42865 ) AND
42866 (l_bflow_method_code = 'PRIOR_ENTRY')
42867 )
42868 THEN
42869 IF
42870 --
42871 1 = 2
42872 --
42873 THEN
42874 xla_accounting_err_pkg.build_message
42875 (p_appli_s_name => 'XLA'
42876 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42877 ,p_token_1 => 'LINE_NUMBER'
42878 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
42879 ,p_token_2 => 'LINE_TYPE_NAME'
42880 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
42881 l_component_type
42882 ,l_component_code
42883 ,l_component_type_code
42884 ,l_component_appl_id
42885 ,l_amb_context_code
42886 ,l_entity_code
42887 ,l_event_class_code
42888 )
42889 ,p_token_3 => 'OWNER'
42890 ,p_value_3 => xla_lookups_pkg.get_meaning(
42891 p_lookup_type => 'XLA_OWNER_TYPE'
42892 ,p_lookup_code => l_component_type_code
42893 )
42897 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
42894 ,p_token_4 => 'PRODUCT_NAME'
42895 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
42896 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
42898 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
42899 ,p_ae_header_id => NULL
42900 );
42901
42902 IF (C_LEVEL_ERROR>= g_log_level) THEN
42903 trace
42904 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
42905 ,p_level => C_LEVEL_ERROR
42906 ,p_module => l_log_module);
42907 END IF;
42908 END IF;
42909 END IF;
42910 --
42911 --
42912 ------------------------------------------------------------------------------------------------
42913 -- 4219869 Business Flow
42914 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
42915 -- Prior Entry. Currently, the following code is always generated.
42916 ------------------------------------------------------------------------------------------------
42917 XLA_AE_LINES_PKG.ValidateCurrentLine;
42918
42919 ------------------------------------------------------------------------------------
42920 -- 4219869 Business Flow
42921 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
42922 ------------------------------------------------------------------------------------
42923 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
42924
42925 ----------------------------------------------------------------------------------
42926 -- 4219869 Business Flow
42927 -- Update journal entry status -- Need to generate this within IF <condition>
42928 ----------------------------------------------------------------------------------
42929 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
42930 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
42931 ,p_balance_type_code => l_balance_type_code
42932 );
42933
42934 -------------------------------------------------------------------------------------------
42935 -- 4262811 - Generate the Accrual Reversal lines
42936 -------------------------------------------------------------------------------------------
42937 BEGIN
42938 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
42939 (g_array_event(p_event_id).array_value_num('header_index'));
42940 IF l_acc_rev_flag IS NULL THEN
42941 l_acc_rev_flag := 'N';
42942 END IF;
42943 EXCEPTION
42944 WHEN OTHERS THEN
42945 l_acc_rev_flag := 'N';
42946 END;
42947 --
42948 IF (l_acc_rev_flag = 'Y') THEN
42949
42950 -- 4645092 ------------------------------------------------------------------------------
42951 -- To allow MPA report to determine if it should generate report process
42952 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
42953 ------------------------------------------------------------------------------------------
42954
42955 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
42956 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
42957 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
42958 -- call ADRs
42959 -- Bug 4922099
42960 --
42961 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
42962 (NVL(l_actual_upg_option, 'N') = 'O') OR
42963 (NVL(l_enc_upg_option, 'N') = 'O')
42964 )
42965 THEN
42966 NULL;
42967 --
42968 --
42969
42970 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
42971 p_code_combination_id => TO_NUMBER(C_NUM)
42972 , p_value_type_code => NULL
42973 , p_transaction_coa_id => null
42974 , p_accounting_coa_id => null
42975 , p_adr_code => NULL
42976 , p_adr_type_code => NULL
42977 , p_component_type => l_component_type
42978 , p_component_code => l_component_code
42979 , p_component_type_code => l_component_type_code
42980 , p_component_appl_id => l_component_appl_id
42981 , p_amb_context_code => l_amb_context_code
42982 , p_side => NULL
42983 );
42984
42985
42986 -- initialise segments
42987 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42988 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42989 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42990 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42991 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42992 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42993 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42994 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42995 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42996 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43000 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42997 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42998 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
42999 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43001 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43002 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43003 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43004 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43005 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43006 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43007 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43008 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43009 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43010 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43011 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43012 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43013 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43014 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43015 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43016 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
43017 --
43018
43019 --
43020
43021
43022 l_segment := AcctDerRule_5(
43023 p_application_id => p_application_id
43024 , p_ae_header_id => l_ae_header_id
43025 , p_source_5 => p_source_5
43026 , x_transaction_coa_id => l_adr_transaction_coa_id
43027 , x_accounting_coa_id => l_adr_accounting_coa_id
43028 , x_flexfield_segment_code => l_adr_flexfield_segment_code
43029 , x_flex_value_set_id => l_adr_flex_value_set_id
43030 , x_value_type_code => l_adr_value_type_code
43031 , x_value_combination_id => l_adr_value_combination_id
43032 , x_value_segment_code => l_adr_value_segment_code
43033 , p_side => 'NA'
43034 , p_override_seg_flag => 'Y'
43035 );
43036
43037 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
43038
43039 xla_ae_lines_pkg.set_segment(
43040 p_to_segment_code => 'GL_ACCOUNT'
43041 , p_segment_value => l_segment
43042 , p_from_segment_code => l_adr_value_segment_code
43043 , p_from_combination_id => l_adr_value_combination_id
43044 , p_value_type_code => l_adr_value_type_code
43045 , p_transaction_coa_id => l_adr_transaction_coa_id
43046 , p_accounting_coa_id => l_adr_accounting_coa_id
43047 , p_flexfield_segment_code => l_adr_flexfield_segment_code
43048 , p_flex_value_set_id => l_adr_flex_value_set_id
43049 , p_adr_code => 'AP_CASH_NATURAL_ACCT_SEG'
43050 , p_adr_type_code => 'S'
43051 , p_component_type => l_component_type
43052 , p_component_code => l_component_code
43053 , p_component_type_code => l_component_type_code
43054 , p_component_appl_id => l_component_appl_id
43055 , p_amb_context_code => l_amb_context_code
43056 , p_entity_code => 'AP_PAYMENTS'
43057 , p_event_class_code => 'REFUNDS'
43058 , p_side => 'NA'
43059 );
43060
43061 END IF;
43062
43063 --
43064 --
43065 END IF;
43066
43067 --
43068 -- Update the line information that should be overwritten
43069 --
43070 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43071 p_header_num => 1);
43072 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43073
43074 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43075
43076 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43077 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43078 END IF;
43079
43080 --
43081 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43082 --
43083 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43084 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43085 ELSE
43086 ---------------------------------------------------------------------------------------------------
43087 -- 4262811a Switch Sign
43088 ---------------------------------------------------------------------------------------------------
43089 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43090 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43091 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43095 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43092 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43093 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43094 -- 5132302
43096 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43097
43098 END IF;
43099
43100 -- 4955764
43101 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43102 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43103
43104
43105 XLA_AE_LINES_PKG.ValidateCurrentLine;
43106 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43107
43108 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43109 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43110 ,p_balance_type_code => l_balance_type_code);
43111
43112 END IF;
43113
43114 -----------------------------------------------------------------------------------------
43115 -- 4262811 Multiperiod Accounting
43116 -----------------------------------------------------------------------------------------
43117 -- No MPA option is assigned.
43118
43119
43120 END IF;
43121 END IF;
43122 --
43123
43124 --
43125 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43126 trace
43127 (p_msg => 'END of AcctLineType_96'
43128 ,p_level => C_LEVEL_PROCEDURE
43129 ,p_module => l_log_module);
43130 END IF;
43131 --
43132 EXCEPTION
43133 WHEN xla_exceptions_pkg.application_exception THEN
43134 RAISE;
43135 WHEN OTHERS THEN
43136 xla_exceptions_pkg.raise_message
43137 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_96');
43138 END AcctLineType_96;
43139 --
43140
43141 ---------------------------------------
43142 --
43143 -- PRIVATE FUNCTION
43144 -- AcctLineType_97
43145 --
43146 ---------------------------------------
43147 PROCEDURE AcctLineType_97 (
43148 p_application_id IN NUMBER
43149 ,p_event_id IN NUMBER
43150 ,p_calculate_acctd_flag IN VARCHAR2
43151 ,p_calculate_g_l_flag IN VARCHAR2
43152 ,p_actual_flag IN OUT VARCHAR2
43153 ,p_balance_type_code OUT VARCHAR2
43154 ,p_gain_or_loss_ref OUT VARCHAR2
43155
43156 --Automatic Offsets Value
43157 , p_source_3 IN VARCHAR2
43158 , p_source_3_meaning IN VARCHAR2
43159 --Bank Cash Account
43160 , p_source_5 IN NUMBER
43161 --Accounting Reversal Indicator
43162 , p_source_41 IN VARCHAR2
43163 --Distribution Link Type
43164 , p_source_43 IN VARCHAR2
43165 --Override Accounted Amount Indicator
43166 , p_source_68 IN VARCHAR2
43167 , p_source_68_meaning IN VARCHAR2
43168 --Third Party Type
43169 , p_source_71 IN VARCHAR2
43170 --Invoice Distribution Tax Line Identifier
43171 , p_source_74 IN NUMBER
43172 --Invoice Distribution Tax Distribution Identifier from Tax
43173 , p_source_75 IN NUMBER
43174 --Invoice Distribution Summary Tax Line Identifier
43175 , p_source_76 IN NUMBER
43176 --Business Flow Accounts Payable Application Identifier
43177 , p_source_79 IN NUMBER
43178 --Business Flow Invoice Distribution Type
43179 , p_source_80 IN VARCHAR2
43180 --Business Flow Invoice Entity Code
43181 , p_source_81 IN VARCHAR2
43182 --Business Flow Invoice Distribution Identifier
43183 , p_source_82 IN NUMBER
43184 --Business Flow Invoice Identifier
43185 , p_source_83 IN NUMBER
43186 --When to Account for Payment Option
43187 , p_source_89 IN VARCHAR2
43188 --Payment Distribution Type
43189 , p_source_90 IN VARCHAR2
43190 , p_source_90_meaning IN VARCHAR2
43191 --Payment Distribution Amount
43192 , p_source_91 IN NUMBER
43193 --Payment Distribution Identifier
43194 , p_source_96 IN NUMBER
43195 --Payment Supplier Identifier
43196 , p_source_102 IN NUMBER
43197 --Payment Supplier Site Identifier
43198 , p_source_103 IN NUMBER
43199 --Payment Distribution Reversed Identifier
43200 , p_source_104 IN NUMBER
43201 --Pooled Bank Account Option
43202 , p_source_105 IN VARCHAR2
43203 , p_source_105_meaning IN VARCHAR2
43204 --Payment Currency Code
43205 , p_source_106 IN VARCHAR2
43206 --Payment Maturity Date
43207 , p_source_107 IN DATE
43208 --Payment Distribution (Payment Rate) Ledger Amount
43209 , p_source_108 IN NUMBER
43210 --Payment Exchange Date
43211 , p_source_110 IN DATE
43212 --Payment Exchange Rate
43213 , p_source_111 IN NUMBER
43214 --Payment Exchange Rate Type
43215 , p_source_112 IN VARCHAR2
43216 --Payment Type
43217 , p_source_115 IN VARCHAR2
43218 , p_source_115_meaning IN VARCHAR2
43219 )
43220 IS
43221
43222 l_component_type VARCHAR2(80);
43223 l_component_code VARCHAR2(30);
43224 l_component_type_code VARCHAR2(1);
43225 l_component_appl_id INTEGER;
43226 l_amb_context_code VARCHAR2(30);
43227 l_entity_code VARCHAR2(30);
43231 l_line_definition_code VARCHAR2(30);
43228 l_event_class_code VARCHAR2(30);
43229 l_ae_header_id NUMBER;
43230 l_event_type_code VARCHAR2(30);
43232 l_line_definition_owner_code VARCHAR2(1);
43233 --
43234 -- adr variables
43235 l_segment VARCHAR2(30);
43236 l_ccid NUMBER;
43237 l_adr_transaction_coa_id NUMBER;
43238 l_adr_accounting_coa_id NUMBER;
43239 l_adr_flexfield_segment_code VARCHAR2(30);
43240 l_adr_flex_value_set_id NUMBER;
43241 l_adr_value_type_code VARCHAR2(30);
43242 l_adr_value_combination_id NUMBER;
43243 l_adr_value_segment_code VARCHAR2(30);
43244
43245 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
43246 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
43247 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
43248 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
43249
43250 -- 4262811 Variables ------------------------------------------------------------------------------------------
43251 l_entered_amt_idx NUMBER;
43252 l_accted_amt_idx NUMBER;
43253 l_acc_rev_flag VARCHAR2(1);
43254 l_accrual_line_num NUMBER;
43255 l_tmp_amt NUMBER;
43256 l_acc_rev_natural_side_code VARCHAR2(1);
43257
43258 l_num_entries NUMBER;
43259 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43260 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43261 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43262 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43263 l_recog_line_1 NUMBER;
43264 l_recog_line_2 NUMBER;
43265
43266 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43267 l_bflow_applied_to_amt NUMBER; -- 5132302
43268 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43269
43270 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43271
43272 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43273 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43274
43275 ---------------------------------------------------------------------------------------------------------------
43276
43277
43278 --
43279 -- bulk performance
43280 --
43281 l_balance_type_code VARCHAR2(1);
43282 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43283 l_log_module VARCHAR2(240);
43284
43285 --
43286 -- Upgrade strategy
43287 --
43288 l_actual_upg_option VARCHAR2(1);
43289 l_enc_upg_option VARCHAR2(1);
43290
43291 --
43292 BEGIN
43293 --
43294 IF g_log_enabled THEN
43295 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_97';
43296 END IF;
43297 --
43298 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43299
43300 trace
43301 (p_msg => 'BEGIN of AcctLineType_97'
43302 ,p_level => C_LEVEL_PROCEDURE
43303 ,p_module => l_log_module);
43304
43305 END IF;
43306 --
43307 l_component_type := 'AMB_JLT';
43308 l_component_code := 'AP_CASH_REF_AOS_BS';
43309 l_component_type_code := 'S';
43310 l_component_appl_id := 200;
43311 l_amb_context_code := 'DEFAULT';
43312 l_entity_code := 'AP_PAYMENTS';
43313 l_event_class_code := 'REFUNDS';
43314 l_event_type_code := 'REFUNDS_ALL';
43315 l_line_definition_owner_code := 'S';
43316 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
43317 --
43318 l_balance_type_code := 'A';
43319 l_segment := NULL;
43320 l_ccid := NULL;
43321 l_adr_transaction_coa_id := NULL;
43322 l_adr_accounting_coa_id := NULL;
43323 l_adr_flexfield_segment_code := NULL;
43324 l_adr_flex_value_set_id := NULL;
43325 l_adr_value_type_code := NULL;
43326 l_adr_value_combination_id := NULL;
43327 l_adr_value_segment_code := NULL;
43328
43329 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
43330 l_bflow_class_code := ''; -- 4219869 Business Flow
43331 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
43332 l_budgetary_control_flag := 'N';
43333
43334 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43335 l_bflow_applied_to_amt := NULL; -- 5132302
43336 l_entered_amt_idx := NULL; -- 4262811
43337 l_accted_amt_idx := NULL; -- 4262811
43338 l_acc_rev_flag := NULL; -- 4262811
43339 l_accrual_line_num := NULL; -- 4262811
43340 l_tmp_amt := NULL; -- 4262811
43341 --
43342
43343 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
43344 l_balance_type_code <> 'B' THEN
43345 IF NVL(p_source_89,'
43346 ') = 'ISSUE_ISSUE' AND
43347 (NVL(p_source_105,'
43348 ') = 'Y' AND
43349 NVL(p_source_3,'
43350 ') = 'BALANCING_SEGMENT') AND
43351 p_source_107 IS NULL AND
43352 NVL(p_source_90,'
43353 ') = 'CASH' AND
43354 NVL(p_source_115,'
43358 --
43355 ') = 'R'
43356 THEN
43357
43359 XLA_AE_LINES_PKG.SetNewLine;
43360
43361 p_balance_type_code := l_balance_type_code;
43362 -- set the flag so later we will know whether the gain loss line needs to be created
43363
43364 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
43365 p_actual_flag :='A';
43366 END IF;
43367
43368 --
43369 -- bulk performance
43370 --
43371 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
43372 p_header_num => 0); -- 4262811
43373 --
43374 -- set accounting line options
43375 --
43376 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
43377 p_natural_side_code => 'C'
43378 , p_gain_or_loss_flag => 'N'
43379 , p_gl_transfer_mode_code => 'S'
43380 , p_acct_entry_type_code => 'A'
43381 , p_switch_side_flag => 'Y'
43382 , p_merge_duplicate_code => 'A'
43383 );
43384 --
43385 l_acc_rev_natural_side_code := 'D'; -- 4262811
43386 --
43387 --
43388 -- set accounting line type info
43389 --
43390 xla_ae_lines_pkg.SetAcctLineType
43391 (p_component_type => l_component_type
43392 ,p_event_type_code => l_event_type_code
43393 ,p_line_definition_owner_code => l_line_definition_owner_code
43394 ,p_line_definition_code => l_line_definition_code
43395 ,p_accounting_line_code => l_component_code
43396 ,p_accounting_line_type_code => l_component_type_code
43397 ,p_accounting_line_appl_id => l_component_appl_id
43398 ,p_amb_context_code => l_amb_context_code
43399 ,p_entity_code => l_entity_code
43400 ,p_event_class_code => l_event_class_code);
43401 --
43402 -- set accounting class
43403 --
43404 xla_ae_lines_pkg.SetAcctClass(
43405 p_accounting_class_code => 'CASH'
43406 , p_ae_header_id => l_ae_header_id
43407 );
43408
43409 --
43410 -- set rounding class
43411 --
43412 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
43413 'CASH';
43414
43415 --
43416 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
43417 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
43418 --
43419 -- bulk performance
43420 --
43421 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
43422
43423 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
43424 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
43425
43426 -- 4955764
43427 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43428 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
43429
43430 -- 4458381 Public Sector Enh
43431
43432 --
43433 -- set accounting attributes for the line type
43434 --
43435 l_entered_amt_idx := 9;
43436 l_accted_amt_idx := 14;
43437 l_bflow_applied_to_amt_idx := NULL; -- 5132302
43438 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
43439 l_rec_acct_attrs.array_char_value(1) := p_source_41;
43440 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
43441 l_rec_acct_attrs.array_num_value(2) := p_source_79;
43442 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
43443 l_rec_acct_attrs.array_char_value(3) := p_source_80;
43444 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
43445 l_rec_acct_attrs.array_char_value(4) := p_source_81;
43446 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
43447 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
43448 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
43449 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
43450 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
43451 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
43452 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
43453 l_rec_acct_attrs.array_char_value(8) := p_source_43;
43454 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
43455 l_rec_acct_attrs.array_num_value(9) := p_source_91;
43456 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
43457 l_rec_acct_attrs.array_char_value(10) := p_source_106;
43458 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
43459 l_rec_acct_attrs.array_date_value(11) := p_source_110;
43460 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
43461 l_rec_acct_attrs.array_num_value(12) := p_source_111;
43462 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
43463 l_rec_acct_attrs.array_char_value(13) := p_source_112;
43464 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
43465 l_rec_acct_attrs.array_num_value(14) := p_source_108;
43466 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
43467 l_rec_acct_attrs.array_char_value(15) := p_source_68;
43468 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
43472 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
43469 l_rec_acct_attrs.array_num_value(16) := p_source_102;
43470 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
43471 l_rec_acct_attrs.array_num_value(17) := p_source_103;
43473 l_rec_acct_attrs.array_char_value(18) := p_source_71;
43474 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
43475 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
43476 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
43477 l_rec_acct_attrs.array_char_value(20) := p_source_43;
43478 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
43479 l_rec_acct_attrs.array_num_value(21) := p_source_74;
43480 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
43481 l_rec_acct_attrs.array_num_value(22) := p_source_75;
43482 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
43483 l_rec_acct_attrs.array_num_value(23) := p_source_76;
43484
43485 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
43486 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
43487
43488 ---------------------------------------------------------------------------------------------------------------
43489 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
43490 ---------------------------------------------------------------------------------------------------------------
43491 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
43492
43493 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43494 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
43495
43496 IF xla_accounting_cache_pkg.GetValueChar
43497 (p_source_code => 'LEDGER_CATEGORY_CODE'
43498 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
43499 AND l_bflow_method_code = 'PRIOR_ENTRY'
43500 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
43501 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
43502 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
43503 )
43504 THEN
43505 xla_ae_lines_pkg.BflowUpgEntry
43506 (p_business_method_code => l_bflow_method_code
43507 ,p_business_class_code => l_bflow_class_code
43508 ,p_balance_type => l_balance_type_code);
43509 ELSE
43510 NULL;
43511 XLA_AE_LINES_PKG.business_flow_validation(
43512 p_business_method_code => l_bflow_method_code
43513 ,p_business_class_code => l_bflow_class_code
43514 ,p_inherit_description_flag => l_inherit_desc_flag);
43515 END IF;
43516
43517 --
43518 -- call analytical criteria
43519 --
43520
43521 --
43522 -- call description
43523 --
43524 -- No description or it is inherited.
43525 --
43526 -- call ADRs
43527 -- Bug 4922099
43528 --
43529 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43530 (NVL(l_actual_upg_option, 'N') = 'O') OR
43531 (NVL(l_enc_upg_option, 'N') = 'O')
43532 )
43533 THEN
43534 NULL;
43535 --
43536 --
43537
43538 l_ccid := AcctDerRule_27(
43539 p_application_id => p_application_id
43540 , p_ae_header_id => l_ae_header_id
43541 , p_source_5 => p_source_5
43542 , x_transaction_coa_id => l_adr_transaction_coa_id
43543 , x_accounting_coa_id => l_adr_accounting_coa_id
43544 , x_value_type_code => l_adr_value_type_code
43545 , p_side => 'NA'
43546 );
43547
43548 xla_ae_lines_pkg.set_ccid(
43549 p_code_combination_id => l_ccid
43550 , p_value_type_code => l_adr_value_type_code
43551 , p_transaction_coa_id => l_adr_transaction_coa_id
43552 , p_accounting_coa_id => l_adr_accounting_coa_id
43553 , p_adr_code => 'AP_CASH'
43554 , p_adr_type_code => 'S'
43555 , p_component_type => l_component_type
43556 , p_component_code => l_component_code
43557 , p_component_type_code => l_component_type_code
43558 , p_component_appl_id => l_component_appl_id
43559 , p_amb_context_code => l_amb_context_code
43560 , p_side => 'NA'
43561 );
43562
43563
43564 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
43565 p_to_segment_code => 'GL_BALANCING'
43566 , p_segment_value => C_CHAR
43567 , p_from_segment_code => NULL
43568 , p_from_combination_id => NULL
43569 , p_value_type_code => NULL
43570 , p_transaction_coa_id => null
43571 , p_accounting_coa_id => null
43572 , p_flexfield_segment_code => NULL
43573 , p_flex_value_set_id => NULL
43574 , p_adr_code => NULL
43575 , p_adr_type_code => NULL
43576 , p_component_type => l_component_type
43577 , p_component_code => l_component_code
43578 , p_component_type_code => l_component_type_code
43579 , p_component_appl_id => l_component_appl_id
43583 , p_side => 'NA'
43580 , p_amb_context_code => l_amb_context_code
43581 , p_entity_code => 'AP_PAYMENTS'
43582 , p_event_class_code => 'REFUNDS'
43584 );
43585 --
43586
43587
43588 --
43589 --
43590 END IF;
43591 --
43592 -- Bug 4922099
43593 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
43594 (NVL(l_enc_upg_option, 'N') = 'O')
43595 ) AND
43596 (l_bflow_method_code = 'PRIOR_ENTRY')
43597 )
43598 THEN
43599 IF
43600 --
43601 1 = 2
43602 --
43603 THEN
43604 xla_accounting_err_pkg.build_message
43605 (p_appli_s_name => 'XLA'
43606 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43607 ,p_token_1 => 'LINE_NUMBER'
43608 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
43609 ,p_token_2 => 'LINE_TYPE_NAME'
43610 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
43611 l_component_type
43612 ,l_component_code
43613 ,l_component_type_code
43614 ,l_component_appl_id
43615 ,l_amb_context_code
43616 ,l_entity_code
43617 ,l_event_class_code
43618 )
43619 ,p_token_3 => 'OWNER'
43620 ,p_value_3 => xla_lookups_pkg.get_meaning(
43621 p_lookup_type => 'XLA_OWNER_TYPE'
43622 ,p_lookup_code => l_component_type_code
43623 )
43624 ,p_token_4 => 'PRODUCT_NAME'
43625 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
43626 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
43627 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
43628 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
43629 ,p_ae_header_id => NULL
43630 );
43631
43632 IF (C_LEVEL_ERROR>= g_log_level) THEN
43633 trace
43634 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
43635 ,p_level => C_LEVEL_ERROR
43636 ,p_module => l_log_module);
43637 END IF;
43638 END IF;
43639 END IF;
43640 --
43641 --
43642 ------------------------------------------------------------------------------------------------
43643 -- 4219869 Business Flow
43644 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
43645 -- Prior Entry. Currently, the following code is always generated.
43646 ------------------------------------------------------------------------------------------------
43647 XLA_AE_LINES_PKG.ValidateCurrentLine;
43648
43649 ------------------------------------------------------------------------------------
43650 -- 4219869 Business Flow
43651 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
43652 ------------------------------------------------------------------------------------
43653 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43654
43655 ----------------------------------------------------------------------------------
43656 -- 4219869 Business Flow
43657 -- Update journal entry status -- Need to generate this within IF <condition>
43658 ----------------------------------------------------------------------------------
43659 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43660 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
43661 ,p_balance_type_code => l_balance_type_code
43662 );
43663
43664 -------------------------------------------------------------------------------------------
43665 -- 4262811 - Generate the Accrual Reversal lines
43666 -------------------------------------------------------------------------------------------
43667 BEGIN
43668 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
43669 (g_array_event(p_event_id).array_value_num('header_index'));
43670 IF l_acc_rev_flag IS NULL THEN
43671 l_acc_rev_flag := 'N';
43672 END IF;
43673 EXCEPTION
43674 WHEN OTHERS THEN
43675 l_acc_rev_flag := 'N';
43676 END;
43677 --
43678 IF (l_acc_rev_flag = 'Y') THEN
43679
43680 -- 4645092 ------------------------------------------------------------------------------
43684
43681 -- To allow MPA report to determine if it should generate report process
43682 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
43683 ------------------------------------------------------------------------------------------
43685 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
43686 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
43687 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
43688 -- call ADRs
43689 -- Bug 4922099
43690 --
43691 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
43692 (NVL(l_actual_upg_option, 'N') = 'O') OR
43693 (NVL(l_enc_upg_option, 'N') = 'O')
43694 )
43695 THEN
43696 NULL;
43697 --
43698 --
43699
43700 l_ccid := AcctDerRule_27(
43701 p_application_id => p_application_id
43702 , p_ae_header_id => l_ae_header_id
43703 , p_source_5 => p_source_5
43704 , x_transaction_coa_id => l_adr_transaction_coa_id
43705 , x_accounting_coa_id => l_adr_accounting_coa_id
43706 , x_value_type_code => l_adr_value_type_code
43707 , p_side => 'NA'
43708 );
43709
43710 xla_ae_lines_pkg.set_ccid(
43711 p_code_combination_id => l_ccid
43712 , p_value_type_code => l_adr_value_type_code
43713 , p_transaction_coa_id => l_adr_transaction_coa_id
43714 , p_accounting_coa_id => l_adr_accounting_coa_id
43715 , p_adr_code => 'AP_CASH'
43716 , p_adr_type_code => 'S'
43717 , p_component_type => l_component_type
43718 , p_component_code => l_component_code
43719 , p_component_type_code => l_component_type_code
43720 , p_component_appl_id => l_component_appl_id
43721 , p_amb_context_code => l_amb_context_code
43722 , p_side => 'NA'
43723 );
43724
43725
43726 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
43727 p_to_segment_code => 'GL_BALANCING'
43728 , p_segment_value => C_CHAR
43729 , p_from_segment_code => NULL
43730 , p_from_combination_id => NULL
43731 , p_value_type_code => NULL
43732 , p_transaction_coa_id => null
43733 , p_accounting_coa_id => null
43734 , p_flexfield_segment_code => NULL
43735 , p_flex_value_set_id => NULL
43736 , p_adr_code => NULL
43737 , p_adr_type_code => NULL
43738 , p_component_type => l_component_type
43739 , p_component_code => l_component_code
43740 , p_component_type_code => l_component_type_code
43741 , p_component_appl_id => l_component_appl_id
43742 , p_amb_context_code => l_amb_context_code
43743 , p_entity_code => 'AP_PAYMENTS'
43744 , p_event_class_code => 'REFUNDS'
43745 , p_side => 'NA'
43746 );
43747 --
43748
43749
43750 --
43751 --
43752 END IF;
43753
43754 --
43755 -- Update the line information that should be overwritten
43756 --
43757 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
43758 p_header_num => 1);
43759 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
43760
43761 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
43762
43763 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
43764 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
43765 END IF;
43766
43767 --
43768 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
43769 --
43770 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
43771 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
43772 ELSE
43773 ---------------------------------------------------------------------------------------------------
43774 -- 4262811a Switch Sign
43775 ---------------------------------------------------------------------------------------------------
43776 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
43777 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43778 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43779 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
43780 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43781 -- 5132302
43782 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
43783 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
43784
43785 END IF;
43786
43787 -- 4955764
43788 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
43789 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
43790
43791
43792 XLA_AE_LINES_PKG.ValidateCurrentLine;
43796 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
43793 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
43794
43795 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
43797 ,p_balance_type_code => l_balance_type_code);
43798
43799 END IF;
43800
43801 -----------------------------------------------------------------------------------------
43802 -- 4262811 Multiperiod Accounting
43803 -----------------------------------------------------------------------------------------
43804 -- No MPA option is assigned.
43805
43806
43807 END IF;
43808 END IF;
43809 --
43810
43811 --
43812 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43813 trace
43814 (p_msg => 'END of AcctLineType_97'
43815 ,p_level => C_LEVEL_PROCEDURE
43816 ,p_module => l_log_module);
43817 END IF;
43818 --
43819 EXCEPTION
43820 WHEN xla_exceptions_pkg.application_exception THEN
43821 RAISE;
43822 WHEN OTHERS THEN
43823 xla_exceptions_pkg.raise_message
43824 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_97');
43825 END AcctLineType_97;
43826 --
43827
43828 ---------------------------------------
43829 --
43830 -- PRIVATE FUNCTION
43831 -- AcctLineType_98
43832 --
43833 ---------------------------------------
43834 PROCEDURE AcctLineType_98 (
43835 p_application_id IN NUMBER
43836 ,p_event_id IN NUMBER
43837 ,p_calculate_acctd_flag IN VARCHAR2
43838 ,p_calculate_g_l_flag IN VARCHAR2
43839 ,p_actual_flag IN OUT VARCHAR2
43840 ,p_balance_type_code OUT VARCHAR2
43841 ,p_gain_or_loss_ref OUT VARCHAR2
43842
43843 --Accounting Reversal Indicator
43844 , p_source_41 IN VARCHAR2
43845 --Distribution Link Type
43846 , p_source_43 IN VARCHAR2
43847 --Invoice Identifier
43848 , p_source_46 IN NUMBER
43849 --Payables Encumbrance Upgrade Credit Account
43850 , p_source_53 IN NUMBER
43851 --Payables Encumbrance Upgrade Credit Amount
43852 , p_source_54 IN NUMBER
43853 --Invoice Currency Code
43854 , p_source_55 IN VARCHAR2
43855 --Payables Encumbrance Upgrade Credit Base Amount
43856 , p_source_56 IN NUMBER
43857 --Payables Encumbrance Upgrade Debit Account
43858 , p_source_57 IN NUMBER
43859 --Payables Encumbrance Upgrade Debit Amount
43860 , p_source_58 IN NUMBER
43861 --Payables Encumbrance Upgrade Debit Base Amount
43862 , p_source_59 IN NUMBER
43863 --Payables Encumbrance Upgrade Option
43864 , p_source_60 IN VARCHAR2
43865 --Deferred Accounting End Date
43866 , p_source_65 IN DATE
43867 --Deferred Accounting Option
43868 , p_source_66 IN VARCHAR2
43869 --Deferred Accounting Start Date
43870 , p_source_67 IN DATE
43871 --Override Accounted Amount Indicator
43872 , p_source_68 IN VARCHAR2
43873 , p_source_68_meaning IN VARCHAR2
43874 --Third Party Type
43875 , p_source_71 IN VARCHAR2
43876 --Invoice Distribution Tax Line Identifier
43877 , p_source_74 IN NUMBER
43878 --Invoice Distribution Tax Distribution Identifier from Tax
43879 , p_source_75 IN NUMBER
43880 --Invoice Distribution Summary Tax Line Identifier
43881 , p_source_76 IN NUMBER
43882 --Payables Upgrade Credit Encumbrance Type Identifier
43883 , p_source_77 IN NUMBER
43884 --Payables Upgrade Debit Encumbrance Type Identifier
43885 , p_source_78 IN NUMBER
43886 --Business Flow Accounts Payable Application Identifier
43887 , p_source_79 IN NUMBER
43888 --Prepayment Distribution Type
43889 , p_source_118 IN VARCHAR2
43890 --Deferred Prepayment Settlement Option Code
43891 , p_source_119 IN VARCHAR2
43892 , p_source_119_meaning IN VARCHAR2
43893 --Prepayment Application Distribution Identifier
43894 , p_source_120 IN NUMBER
43895 --Business Flow Prepayment Payment Distribution Type
43896 , p_source_121 IN VARCHAR2
43897 --Business Flow Cash Basis Prepayment Entity Code
43898 , p_source_122 IN VARCHAR2
43899 --Business Flow Prepay Payment Distribution Id
43900 , p_source_123 IN NUMBER
43901 --Business Flow Prepay Payment Id
43902 , p_source_124 IN NUMBER
43903 --Upgrade Encumbrance Credit Account Class
43904 , p_source_125 IN VARCHAR2
43905 --Upgrade Encumbrance Debit Account Class
43906 , p_source_126 IN VARCHAR2
43907 --Prepayment Distribution Amount
43908 , p_source_127 IN NUMBER
43909 --Prepayment Distribution (Prepayment Rate) Ledger Amount
43910 , p_source_128 IN NUMBER
43911 --Identifier of the Prepayment Application Reversed
43912 , p_source_129 IN NUMBER
43913 )
43914 IS
43915
43916 l_component_type VARCHAR2(80);
43917 l_component_code VARCHAR2(30);
43918 l_component_type_code VARCHAR2(1);
43919 l_component_appl_id INTEGER;
43920 l_amb_context_code VARCHAR2(30);
43921 l_entity_code VARCHAR2(30);
43922 l_event_class_code VARCHAR2(30);
43923 l_ae_header_id NUMBER;
43924 l_event_type_code VARCHAR2(30);
43925 l_line_definition_code VARCHAR2(30);
43926 l_line_definition_owner_code VARCHAR2(1);
43927 --
43928 -- adr variables
43932 l_adr_accounting_coa_id NUMBER;
43929 l_segment VARCHAR2(30);
43930 l_ccid NUMBER;
43931 l_adr_transaction_coa_id NUMBER;
43933 l_adr_flexfield_segment_code VARCHAR2(30);
43934 l_adr_flex_value_set_id NUMBER;
43935 l_adr_value_type_code VARCHAR2(30);
43936 l_adr_value_combination_id NUMBER;
43937 l_adr_value_segment_code VARCHAR2(30);
43938
43939 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
43940 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
43941 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
43942 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
43943
43944 -- 4262811 Variables ------------------------------------------------------------------------------------------
43945 l_entered_amt_idx NUMBER;
43946 l_accted_amt_idx NUMBER;
43947 l_acc_rev_flag VARCHAR2(1);
43948 l_accrual_line_num NUMBER;
43949 l_tmp_amt NUMBER;
43950 l_acc_rev_natural_side_code VARCHAR2(1);
43951
43952 l_num_entries NUMBER;
43953 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
43954 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
43955 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
43956 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
43957 l_recog_line_1 NUMBER;
43958 l_recog_line_2 NUMBER;
43959
43960 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
43961 l_bflow_applied_to_amt NUMBER; -- 5132302
43962 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
43963
43964 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
43965
43966 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
43967 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
43968
43969 ---------------------------------------------------------------------------------------------------------------
43970
43971
43972 --
43973 -- bulk performance
43974 --
43975 l_balance_type_code VARCHAR2(1);
43976 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
43977 l_log_module VARCHAR2(240);
43978
43979 --
43980 -- Upgrade strategy
43981 --
43982 l_actual_upg_option VARCHAR2(1);
43983 l_enc_upg_option VARCHAR2(1);
43984
43985 --
43986 BEGIN
43987 --
43988 IF g_log_enabled THEN
43989 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_98';
43990 END IF;
43991 --
43992 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
43993
43994 trace
43995 (p_msg => 'BEGIN of AcctLineType_98'
43996 ,p_level => C_LEVEL_PROCEDURE
43997 ,p_module => l_log_module);
43998
43999 END IF;
44000 --
44001 l_component_type := 'AMB_JLT';
44002 l_component_code := 'AP_DEF_PP_EXP_ACCR';
44003 l_component_type_code := 'S';
44004 l_component_appl_id := 200;
44005 l_amb_context_code := 'DEFAULT';
44006 l_entity_code := 'AP_INVOICES';
44007 l_event_class_code := 'PREPAYMENT APPLICATIONS';
44008 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
44009 l_line_definition_owner_code := 'S';
44010 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
44011 --
44012 l_balance_type_code := 'A';
44013 l_segment := NULL;
44014 l_ccid := NULL;
44015 l_adr_transaction_coa_id := NULL;
44016 l_adr_accounting_coa_id := NULL;
44017 l_adr_flexfield_segment_code := NULL;
44018 l_adr_flex_value_set_id := NULL;
44019 l_adr_value_type_code := NULL;
44020 l_adr_value_combination_id := NULL;
44021 l_adr_value_segment_code := NULL;
44022
44023 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
44024 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
44025 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44026 l_budgetary_control_flag := 'N';
44027
44028 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44029 l_bflow_applied_to_amt := NULL; -- 5132302
44030 l_entered_amt_idx := NULL; -- 4262811
44031 l_accted_amt_idx := NULL; -- 4262811
44032 l_acc_rev_flag := NULL; -- 4262811
44033 l_accrual_line_num := NULL; -- 4262811
44034 l_tmp_amt := NULL; -- 4262811
44035 --
44036
44037 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44038 l_balance_type_code <> 'B' THEN
44039 IF NVL(p_source_118,'
44040 ') = 'PREPAY APPL REC TAX' AND
44041 NVL(p_source_119,'
44042 ') = 'DEFERRED'
44043 THEN
44044
44045 --
44046 XLA_AE_LINES_PKG.SetNewLine;
44047
44048 p_balance_type_code := l_balance_type_code;
44049 -- set the flag so later we will know whether the gain loss line needs to be created
44050
44051 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44052 p_actual_flag :='A';
44053 END IF;
44054
44055 --
44056 -- bulk performance
44060 --
44057 --
44058 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44059 p_header_num => 0); -- 4262811
44061 -- set accounting line options
44062 --
44063 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44064 p_natural_side_code => 'D'
44065 , p_gain_or_loss_flag => 'N'
44066 , p_gl_transfer_mode_code => 'S'
44067 , p_acct_entry_type_code => 'A'
44068 , p_switch_side_flag => 'Y'
44069 , p_merge_duplicate_code => 'A'
44070 );
44071 --
44072 l_acc_rev_natural_side_code := 'C'; -- 4262811
44073 --
44074 --
44075 -- set accounting line type info
44076 --
44077 xla_ae_lines_pkg.SetAcctLineType
44078 (p_component_type => l_component_type
44079 ,p_event_type_code => l_event_type_code
44080 ,p_line_definition_owner_code => l_line_definition_owner_code
44081 ,p_line_definition_code => l_line_definition_code
44082 ,p_accounting_line_code => l_component_code
44083 ,p_accounting_line_type_code => l_component_type_code
44084 ,p_accounting_line_appl_id => l_component_appl_id
44085 ,p_amb_context_code => l_amb_context_code
44086 ,p_entity_code => l_entity_code
44087 ,p_event_class_code => l_event_class_code);
44088 --
44089 -- set accounting class
44090 --
44091 xla_ae_lines_pkg.SetAcctClass(
44092 p_accounting_class_code => 'PREPAID_EXPENSE'
44093 , p_ae_header_id => l_ae_header_id
44094 );
44095
44096 --
44097 -- set rounding class
44098 --
44099 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44100 'PREPAID_EXPENSE';
44101
44102 --
44103 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44104 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44105 --
44106 -- bulk performance
44107 --
44108 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44109
44110 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44111 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44112
44113 -- 4955764
44114 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44115 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44116
44117 -- 4458381 Public Sector Enh
44118
44119 --
44120 -- set accounting attributes for the line type
44121 --
44122 l_entered_amt_idx := 25;
44123 l_accted_amt_idx := 27;
44124 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44125 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44126 l_rec_acct_attrs.array_char_value(1) := p_source_41;
44127 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
44128 l_rec_acct_attrs.array_num_value(2) :=
44129 xla_ae_sources_pkg.GetSystemSourceNum(
44130 p_source_code => 'XLA_EVENT_APPL_ID'
44131 , p_source_type_code => 'Y'
44132 , p_source_application_id => 602
44133 );
44134 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
44135 l_rec_acct_attrs.array_char_value(3) := p_source_43;
44136 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
44137 l_rec_acct_attrs.array_char_value(4) :=
44138 xla_ae_sources_pkg.GetSystemSourceChar(
44139 p_source_code => 'XLA_ENTITY_CODE'
44140 , p_source_type_code => 'Y'
44141 , p_source_application_id => 602
44142 );
44143 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
44144 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
44145 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
44146 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
44147 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
44148 l_rec_acct_attrs.array_num_value(7) := p_source_79;
44149 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44150 l_rec_acct_attrs.array_char_value(8) := p_source_121;
44151 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
44152 l_rec_acct_attrs.array_char_value(9) := p_source_122;
44153 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
44154 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_123);
44155 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44156 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_124);
44157 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
44158 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
44159 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
44160 l_rec_acct_attrs.array_char_value(13) := p_source_43;
44161 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
44162 l_rec_acct_attrs.array_char_value(14) := p_source_125;
44163 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
44164 l_rec_acct_attrs.array_num_value(15) := p_source_53;
44165 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
44169 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
44166 l_rec_acct_attrs.array_num_value(16) := p_source_54;
44167 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
44168 l_rec_acct_attrs.array_char_value(17) := p_source_55;
44170 l_rec_acct_attrs.array_num_value(18) := p_source_56;
44171 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
44172 l_rec_acct_attrs.array_char_value(19) := p_source_126;
44173 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
44174 l_rec_acct_attrs.array_num_value(20) := p_source_57;
44175 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
44176 l_rec_acct_attrs.array_num_value(21) := p_source_58;
44177 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
44178 l_rec_acct_attrs.array_char_value(22) := p_source_55;
44179 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
44180 l_rec_acct_attrs.array_num_value(23) := p_source_59;
44181 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
44182 l_rec_acct_attrs.array_char_value(24) := p_source_60;
44183 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
44184 l_rec_acct_attrs.array_num_value(25) := p_source_127;
44185 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
44186 l_rec_acct_attrs.array_char_value(26) := p_source_55;
44187 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
44188 l_rec_acct_attrs.array_num_value(27) := p_source_128;
44189 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
44190 l_rec_acct_attrs.array_date_value(28) := p_source_65;
44191 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
44192 l_rec_acct_attrs.array_char_value(29) := p_source_66;
44193 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
44194 l_rec_acct_attrs.array_date_value(30) := p_source_67;
44195 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
44196 l_rec_acct_attrs.array_char_value(31) := p_source_68;
44197 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
44198 l_rec_acct_attrs.array_char_value(32) := p_source_71;
44199 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
44200 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_129);
44201 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
44202 l_rec_acct_attrs.array_char_value(34) := p_source_43;
44203 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
44204 l_rec_acct_attrs.array_num_value(35) := p_source_74;
44205 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
44206 l_rec_acct_attrs.array_num_value(36) := p_source_75;
44207 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
44208 l_rec_acct_attrs.array_num_value(37) := p_source_76;
44209 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
44210 l_rec_acct_attrs.array_num_value(38) := p_source_77;
44211 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
44212 l_rec_acct_attrs.array_num_value(39) := p_source_78;
44213
44214 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44215 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44216
44217 ---------------------------------------------------------------------------------------------------------------
44218 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44219 ---------------------------------------------------------------------------------------------------------------
44220 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44221
44222 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44223 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44224
44225 IF xla_accounting_cache_pkg.GetValueChar
44226 (p_source_code => 'LEDGER_CATEGORY_CODE'
44227 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44228 AND l_bflow_method_code = 'PRIOR_ENTRY'
44229 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44230 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44231 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44232 )
44233 THEN
44234 xla_ae_lines_pkg.BflowUpgEntry
44235 (p_business_method_code => l_bflow_method_code
44236 ,p_business_class_code => l_bflow_class_code
44237 ,p_balance_type => l_balance_type_code);
44238 ELSE
44239 NULL;
44240 XLA_AE_LINES_PKG.business_flow_validation(
44241 p_business_method_code => l_bflow_method_code
44242 ,p_business_class_code => l_bflow_class_code
44243 ,p_inherit_description_flag => l_inherit_desc_flag);
44244 END IF;
44245
44246 --
44247 -- call analytical criteria
44248 --
44249 -- Inherited Analytical Criteria for business flow method of Prior Entry.
44250 --
44251 -- call description
44252 --
44253 -- No description or it is inherited.
44254 --
44255 -- call ADRs
44256 -- Bug 4922099
44257 --
44258 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44259 (NVL(l_actual_upg_option, 'N') = 'O') OR
44260 (NVL(l_enc_upg_option, 'N') = 'O')
44261 )
44265 --
44262 THEN
44263 NULL;
44264 --
44266
44267 --
44268 --
44269 END IF;
44270 --
44271 -- Bug 4922099
44272 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44273 (NVL(l_enc_upg_option, 'N') = 'O')
44274 ) AND
44275 (l_bflow_method_code = 'PRIOR_ENTRY')
44276 )
44277 THEN
44278 IF
44279 --
44280 1 = 1
44281 --
44282 THEN
44283 xla_accounting_err_pkg.build_message
44284 (p_appli_s_name => 'XLA'
44285 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44286 ,p_token_1 => 'LINE_NUMBER'
44287 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44288 ,p_token_2 => 'LINE_TYPE_NAME'
44289 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44290 l_component_type
44291 ,l_component_code
44292 ,l_component_type_code
44293 ,l_component_appl_id
44294 ,l_amb_context_code
44295 ,l_entity_code
44296 ,l_event_class_code
44297 )
44298 ,p_token_3 => 'OWNER'
44299 ,p_value_3 => xla_lookups_pkg.get_meaning(
44300 p_lookup_type => 'XLA_OWNER_TYPE'
44301 ,p_lookup_code => l_component_type_code
44302 )
44303 ,p_token_4 => 'PRODUCT_NAME'
44304 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44305 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44306 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44307 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44308 ,p_ae_header_id => NULL
44309 );
44310
44311 IF (C_LEVEL_ERROR>= g_log_level) THEN
44312 trace
44313 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44314 ,p_level => C_LEVEL_ERROR
44315 ,p_module => l_log_module);
44316 END IF;
44317 END IF;
44318 END IF;
44319 --
44320 --
44321 ------------------------------------------------------------------------------------------------
44322 -- 4219869 Business Flow
44323 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44324 -- Prior Entry. Currently, the following code is always generated.
44325 ------------------------------------------------------------------------------------------------
44326 -- No ValidateCurrentLine for business flow method of Prior Entry
44327
44328 ------------------------------------------------------------------------------------
44329 -- 4219869 Business Flow
44330 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
44331 ------------------------------------------------------------------------------------
44332 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44333
44334 ----------------------------------------------------------------------------------
44335 -- 4219869 Business Flow
44336 -- Update journal entry status -- Need to generate this within IF <condition>
44337 ----------------------------------------------------------------------------------
44338 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44339 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
44340 ,p_balance_type_code => l_balance_type_code
44341 );
44342
44343 -------------------------------------------------------------------------------------------
44344 -- 4262811 - Generate the Accrual Reversal lines
44345 -------------------------------------------------------------------------------------------
44346 BEGIN
44347 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
44348 (g_array_event(p_event_id).array_value_num('header_index'));
44349 IF l_acc_rev_flag IS NULL THEN
44350 l_acc_rev_flag := 'N';
44351 END IF;
44352 EXCEPTION
44353 WHEN OTHERS THEN
44354 l_acc_rev_flag := 'N';
44355 END;
44356 --
44357 IF (l_acc_rev_flag = 'Y') THEN
44358
44359 -- 4645092 ------------------------------------------------------------------------------
44360 -- To allow MPA report to determine if it should generate report process
44364 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44361 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44362 ------------------------------------------------------------------------------------------
44363
44365 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44366 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
44367 -- call ADRs
44368 -- Bug 4922099
44369 --
44370 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44371 (NVL(l_actual_upg_option, 'N') = 'O') OR
44372 (NVL(l_enc_upg_option, 'N') = 'O')
44373 )
44374 THEN
44375 NULL;
44376 --
44377 --
44378
44379 --
44380 --
44381 END IF;
44382
44383 --
44384 -- Update the line information that should be overwritten
44385 --
44386 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
44387 p_header_num => 1);
44388 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
44389
44390 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
44391
44392 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
44393 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
44394 END IF;
44395
44396 --
44397 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
44398 --
44399 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
44400 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
44401 ELSE
44402 ---------------------------------------------------------------------------------------------------
44403 -- 4262811a Switch Sign
44404 ---------------------------------------------------------------------------------------------------
44405 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
44406 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44407 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44408 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
44409 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44410 -- 5132302
44411 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
44412 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
44413
44414 END IF;
44415
44416 -- 4955764
44417 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44418 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
44419
44420
44421 XLA_AE_LINES_PKG.ValidateCurrentLine;
44422 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44423
44424 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44425 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
44426 ,p_balance_type_code => l_balance_type_code);
44427
44428 END IF;
44429
44430 -----------------------------------------------------------------------------------------
44431 -- 4262811 Multiperiod Accounting
44432 -----------------------------------------------------------------------------------------
44433 -- No MPA option is assigned.
44434
44435
44436 END IF;
44437 END IF;
44438 --
44439
44440 --
44441 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44442 trace
44443 (p_msg => 'END of AcctLineType_98'
44444 ,p_level => C_LEVEL_PROCEDURE
44445 ,p_module => l_log_module);
44446 END IF;
44447 --
44448 EXCEPTION
44449 WHEN xla_exceptions_pkg.application_exception THEN
44450 RAISE;
44451 WHEN OTHERS THEN
44452 xla_exceptions_pkg.raise_message
44453 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_98');
44454 END AcctLineType_98;
44455 --
44456
44457 ---------------------------------------
44458 --
44459 -- PRIVATE FUNCTION
44460 -- AcctLineType_99
44461 --
44462 ---------------------------------------
44463 PROCEDURE AcctLineType_99 (
44464 p_application_id IN NUMBER
44465 ,p_event_id IN NUMBER
44466 ,p_calculate_acctd_flag IN VARCHAR2
44467 ,p_calculate_g_l_flag IN VARCHAR2
44468 ,p_actual_flag IN OUT VARCHAR2
44469 ,p_balance_type_code OUT VARCHAR2
44470 ,p_gain_or_loss_ref OUT VARCHAR2
44471
44472 --Invoice Distribution Type
44473 , p_source_21 IN VARCHAR2
44474 , p_source_21_meaning IN VARCHAR2
44475 --Recoverable Tax Account
44476 , p_source_40 IN NUMBER
44477 --Accounting Reversal Indicator
44478 , p_source_41 IN VARCHAR2
44479 --Distribution Link Type
44480 , p_source_43 IN VARCHAR2
44481 --Override Accounted Amount Indicator
44482 , p_source_68 IN VARCHAR2
44483 , p_source_68_meaning IN VARCHAR2
44484 --Third Party Type
44485 , p_source_71 IN VARCHAR2
44486 --Invoice Distribution Tax Line Identifier
44487 , p_source_74 IN NUMBER
44491 , p_source_79 IN NUMBER
44488 --Invoice Distribution Summary Tax Line Identifier
44489 , p_source_76 IN NUMBER
44490 --Business Flow Accounts Payable Application Identifier
44492 --When to Account for Payment Option
44493 , p_source_89 IN VARCHAR2
44494 --Payment Distribution Type
44495 , p_source_90 IN VARCHAR2
44496 , p_source_90_meaning IN VARCHAR2
44497 --Payment Distribution Amount
44498 , p_source_91 IN NUMBER
44499 --Business Flow Payment Distribution Type
44500 , p_source_92 IN VARCHAR2
44501 --Business Flow Payment Entity Code
44502 , p_source_93 IN VARCHAR2
44503 --Business Flow Payment Distribution Identifier
44504 , p_source_94 IN NUMBER
44505 --Business Flow Payment Identifier
44506 , p_source_95 IN NUMBER
44507 --Payment Distribution Identifier
44508 , p_source_96 IN NUMBER
44509 --Cleared Exchange Date
44510 , p_source_98 IN DATE
44511 --Cleared Exchange Rate
44512 , p_source_99 IN NUMBER
44513 --Cleared Exchange Rate Type
44514 , p_source_100 IN VARCHAR2
44515 --Payment Distribution (Cleared Rate) Ledger Amount
44516 , p_source_101 IN NUMBER
44517 --Payment Supplier Identifier
44518 , p_source_102 IN NUMBER
44519 --Payment Supplier Site Identifier
44520 , p_source_103 IN NUMBER
44521 --Payment Distribution Reversed Identifier
44522 , p_source_104 IN NUMBER
44523 --Payment Currency Code
44524 , p_source_106 IN VARCHAR2
44525 --Payment Type
44526 , p_source_115 IN VARCHAR2
44527 , p_source_115_meaning IN VARCHAR2
44528 --Deferred Recoverable Tax Option
44529 , p_source_130 IN VARCHAR2
44530 , p_source_130_meaning IN VARCHAR2
44531 )
44532 IS
44533
44534 l_component_type VARCHAR2(80);
44535 l_component_code VARCHAR2(30);
44536 l_component_type_code VARCHAR2(1);
44537 l_component_appl_id INTEGER;
44538 l_amb_context_code VARCHAR2(30);
44539 l_entity_code VARCHAR2(30);
44540 l_event_class_code VARCHAR2(30);
44541 l_ae_header_id NUMBER;
44542 l_event_type_code VARCHAR2(30);
44543 l_line_definition_code VARCHAR2(30);
44544 l_line_definition_owner_code VARCHAR2(1);
44545 --
44546 -- adr variables
44547 l_segment VARCHAR2(30);
44548 l_ccid NUMBER;
44549 l_adr_transaction_coa_id NUMBER;
44550 l_adr_accounting_coa_id NUMBER;
44551 l_adr_flexfield_segment_code VARCHAR2(30);
44552 l_adr_flex_value_set_id NUMBER;
44553 l_adr_value_type_code VARCHAR2(30);
44554 l_adr_value_combination_id NUMBER;
44555 l_adr_value_segment_code VARCHAR2(30);
44556
44557 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
44558 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
44559 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
44560 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
44561
44562 -- 4262811 Variables ------------------------------------------------------------------------------------------
44563 l_entered_amt_idx NUMBER;
44564 l_accted_amt_idx NUMBER;
44565 l_acc_rev_flag VARCHAR2(1);
44566 l_accrual_line_num NUMBER;
44567 l_tmp_amt NUMBER;
44568 l_acc_rev_natural_side_code VARCHAR2(1);
44569
44570 l_num_entries NUMBER;
44571 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
44572 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
44573 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
44574 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
44575 l_recog_line_1 NUMBER;
44576 l_recog_line_2 NUMBER;
44577
44578 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
44579 l_bflow_applied_to_amt NUMBER; -- 5132302
44580 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
44581
44582 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
44583
44584 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
44585 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
44586
44587 ---------------------------------------------------------------------------------------------------------------
44588
44589
44590 --
44591 -- bulk performance
44592 --
44593 l_balance_type_code VARCHAR2(1);
44594 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
44595 l_log_module VARCHAR2(240);
44596
44597 --
44598 -- Upgrade strategy
44599 --
44600 l_actual_upg_option VARCHAR2(1);
44601 l_enc_upg_option VARCHAR2(1);
44602
44603 --
44604 BEGIN
44605 --
44606 IF g_log_enabled THEN
44607 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_99';
44608 END IF;
44609 --
44610 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
44611
44612 trace
44613 (p_msg => 'BEGIN of AcctLineType_99'
44614 ,p_level => C_LEVEL_PROCEDURE
44615 ,p_module => l_log_module);
44616
44617 END IF;
44621 l_component_type_code := 'S';
44618 --
44619 l_component_type := 'AMB_JLT';
44620 l_component_code := 'AP_DEF_RTAX_CLR';
44622 l_component_appl_id := 200;
44623 l_amb_context_code := 'DEFAULT';
44624 l_entity_code := 'AP_PAYMENTS';
44625 l_event_class_code := 'RECONCILED PAYMENTS';
44626 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
44627 l_line_definition_owner_code := 'S';
44628 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
44629 --
44630 l_balance_type_code := 'A';
44631 l_segment := NULL;
44632 l_ccid := NULL;
44633 l_adr_transaction_coa_id := NULL;
44634 l_adr_accounting_coa_id := NULL;
44635 l_adr_flexfield_segment_code := NULL;
44636 l_adr_flex_value_set_id := NULL;
44637 l_adr_value_type_code := NULL;
44638 l_adr_value_combination_id := NULL;
44639 l_adr_value_segment_code := NULL;
44640
44641 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
44642 l_bflow_class_code := ''; -- 4219869 Business Flow
44643 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
44644 l_budgetary_control_flag := 'N';
44645
44646 l_bflow_applied_to_amt_idx := NULL; -- 5132302
44647 l_bflow_applied_to_amt := NULL; -- 5132302
44648 l_entered_amt_idx := NULL; -- 4262811
44649 l_accted_amt_idx := NULL; -- 4262811
44650 l_acc_rev_flag := NULL; -- 4262811
44651 l_accrual_line_num := NULL; -- 4262811
44652 l_tmp_amt := NULL; -- 4262811
44653 --
44654
44655 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
44656 l_balance_type_code <> 'B' THEN
44657 IF NVL(p_source_89,'
44658 ') = 'CLEAR_CLEAR' AND
44659 NVL(p_source_21,'
44660 ') = 'REC_TAX' AND
44661 NVL(p_source_130,'
44662 ') = 'DEFERRED' AND
44663 (NVL(p_source_90,'
44664 ') = 'CASH' OR
44665 NVL(p_source_90,'
44666 ') = 'DISCOUNT') AND
44667 NVL(p_source_115,'
44668 ') <> 'R'
44669 THEN
44670
44671 --
44672 XLA_AE_LINES_PKG.SetNewLine;
44673
44674 p_balance_type_code := l_balance_type_code;
44675 -- set the flag so later we will know whether the gain loss line needs to be created
44676
44677 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
44678 p_actual_flag :='A';
44679 END IF;
44680
44681 --
44682 -- bulk performance
44683 --
44684 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
44685 p_header_num => 0); -- 4262811
44686 --
44687 -- set accounting line options
44688 --
44689 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
44690 p_natural_side_code => 'D'
44691 , p_gain_or_loss_flag => 'N'
44692 , p_gl_transfer_mode_code => 'S'
44693 , p_acct_entry_type_code => 'A'
44694 , p_switch_side_flag => 'Y'
44695 , p_merge_duplicate_code => 'A'
44696 );
44697 --
44698 l_acc_rev_natural_side_code := 'C'; -- 4262811
44699 --
44700 --
44701 -- set accounting line type info
44702 --
44703 xla_ae_lines_pkg.SetAcctLineType
44704 (p_component_type => l_component_type
44705 ,p_event_type_code => l_event_type_code
44706 ,p_line_definition_owner_code => l_line_definition_owner_code
44707 ,p_line_definition_code => l_line_definition_code
44708 ,p_accounting_line_code => l_component_code
44709 ,p_accounting_line_type_code => l_component_type_code
44710 ,p_accounting_line_appl_id => l_component_appl_id
44711 ,p_amb_context_code => l_amb_context_code
44712 ,p_entity_code => l_entity_code
44713 ,p_event_class_code => l_event_class_code);
44714 --
44715 -- set accounting class
44716 --
44717 xla_ae_lines_pkg.SetAcctClass(
44718 p_accounting_class_code => 'DEF_REC_TAX'
44719 , p_ae_header_id => l_ae_header_id
44720 );
44721
44722 --
44723 -- set rounding class
44724 --
44725 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
44726 'DEF_REC_TAX';
44727
44728 --
44729 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
44730 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
44731 --
44732 -- bulk performance
44733 --
44734 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
44735
44736 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
44737 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
44738
44739 -- 4955764
44740 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
44741 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
44742
44743 -- 4458381 Public Sector Enh
44744
44745 --
44746 -- set accounting attributes for the line type
44747 --
44751 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
44748 l_entered_amt_idx := 10;
44749 l_accted_amt_idx := 15;
44750 l_bflow_applied_to_amt_idx := 2; -- 5132302
44752 l_rec_acct_attrs.array_char_value(1) := p_source_41;
44753 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
44754 l_rec_acct_attrs.array_num_value(2) := p_source_91;
44755 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
44756 l_rec_acct_attrs.array_num_value(3) := p_source_79;
44757 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
44758 l_rec_acct_attrs.array_char_value(4) := p_source_92;
44759 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
44760 l_rec_acct_attrs.array_char_value(5) := p_source_93;
44761 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
44762 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
44763 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
44764 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
44765 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
44766 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
44767 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
44768 l_rec_acct_attrs.array_char_value(9) := p_source_43;
44769 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
44770 l_rec_acct_attrs.array_num_value(10) := p_source_91;
44771 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
44772 l_rec_acct_attrs.array_char_value(11) := p_source_106;
44773 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
44774 l_rec_acct_attrs.array_date_value(12) := p_source_98;
44775 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
44776 l_rec_acct_attrs.array_num_value(13) := p_source_99;
44777 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
44778 l_rec_acct_attrs.array_char_value(14) := p_source_100;
44779 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
44780 l_rec_acct_attrs.array_num_value(15) := p_source_101;
44781 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
44782 l_rec_acct_attrs.array_char_value(16) := p_source_68;
44783 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
44784 l_rec_acct_attrs.array_num_value(17) := p_source_102;
44785 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
44786 l_rec_acct_attrs.array_num_value(18) := p_source_103;
44787 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
44788 l_rec_acct_attrs.array_char_value(19) := p_source_71;
44789 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
44790 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
44791 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
44792 l_rec_acct_attrs.array_char_value(21) := p_source_43;
44793 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
44794 l_rec_acct_attrs.array_num_value(22) := p_source_74;
44795 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
44796 l_rec_acct_attrs.array_num_value(23) := p_source_74;
44797 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
44798 l_rec_acct_attrs.array_num_value(24) := p_source_76;
44799
44800 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
44801 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
44802
44803 ---------------------------------------------------------------------------------------------------------------
44804 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
44805 ---------------------------------------------------------------------------------------------------------------
44806 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
44807
44808 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44809 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
44810
44811 IF xla_accounting_cache_pkg.GetValueChar
44812 (p_source_code => 'LEDGER_CATEGORY_CODE'
44813 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
44814 AND l_bflow_method_code = 'PRIOR_ENTRY'
44815 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
44816 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
44817 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
44818 )
44819 THEN
44820 xla_ae_lines_pkg.BflowUpgEntry
44821 (p_business_method_code => l_bflow_method_code
44822 ,p_business_class_code => l_bflow_class_code
44823 ,p_balance_type => l_balance_type_code);
44824 ELSE
44825 NULL;
44826 -- No business flow processing for business flow method of NONE.
44827 END IF;
44828
44829 --
44830 -- call analytical criteria
44831 --
44832
44833 --
44834 -- call description
44835 --
44836 -- No description or it is inherited.
44837 --
44838 -- call ADRs
44839 -- Bug 4922099
44840 --
44841 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44842 (NVL(l_actual_upg_option, 'N') = 'O') OR
44843 (NVL(l_enc_upg_option, 'N') = 'O')
44844 )
44845 THEN
44849
44846 NULL;
44847 --
44848 --
44850 l_ccid := AcctDerRule_43(
44851 p_application_id => p_application_id
44852 , p_ae_header_id => l_ae_header_id
44853 , p_source_40 => p_source_40
44854 , x_transaction_coa_id => l_adr_transaction_coa_id
44855 , x_accounting_coa_id => l_adr_accounting_coa_id
44856 , x_value_type_code => l_adr_value_type_code
44857 , p_side => 'NA'
44858 );
44859
44860 xla_ae_lines_pkg.set_ccid(
44861 p_code_combination_id => l_ccid
44862 , p_value_type_code => l_adr_value_type_code
44863 , p_transaction_coa_id => l_adr_transaction_coa_id
44864 , p_accounting_coa_id => l_adr_accounting_coa_id
44865 , p_adr_code => 'AP_TAX_ACCOUNT'
44866 , p_adr_type_code => 'S'
44867 , p_component_type => l_component_type
44868 , p_component_code => l_component_code
44869 , p_component_type_code => l_component_type_code
44870 , p_component_appl_id => l_component_appl_id
44871 , p_amb_context_code => l_amb_context_code
44872 , p_side => 'NA'
44873 );
44874
44875
44876 --
44877 --
44878 END IF;
44879 --
44880 -- Bug 4922099
44881 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
44882 (NVL(l_enc_upg_option, 'N') = 'O')
44883 ) AND
44884 (l_bflow_method_code = 'PRIOR_ENTRY')
44885 )
44886 THEN
44887 IF
44888 --
44889 1 = 2
44890 --
44891 THEN
44892 xla_accounting_err_pkg.build_message
44893 (p_appli_s_name => 'XLA'
44894 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44895 ,p_token_1 => 'LINE_NUMBER'
44896 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
44897 ,p_token_2 => 'LINE_TYPE_NAME'
44898 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
44899 l_component_type
44900 ,l_component_code
44901 ,l_component_type_code
44902 ,l_component_appl_id
44903 ,l_amb_context_code
44904 ,l_entity_code
44905 ,l_event_class_code
44906 )
44907 ,p_token_3 => 'OWNER'
44908 ,p_value_3 => xla_lookups_pkg.get_meaning(
44909 p_lookup_type => 'XLA_OWNER_TYPE'
44910 ,p_lookup_code => l_component_type_code
44911 )
44912 ,p_token_4 => 'PRODUCT_NAME'
44913 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
44914 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
44915 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
44916 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
44917 ,p_ae_header_id => NULL
44918 );
44919
44920 IF (C_LEVEL_ERROR>= g_log_level) THEN
44921 trace
44922 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
44923 ,p_level => C_LEVEL_ERROR
44924 ,p_module => l_log_module);
44925 END IF;
44926 END IF;
44927 END IF;
44928 --
44929 --
44930 ------------------------------------------------------------------------------------------------
44931 -- 4219869 Business Flow
44932 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
44933 -- Prior Entry. Currently, the following code is always generated.
44934 ------------------------------------------------------------------------------------------------
44935 XLA_AE_LINES_PKG.ValidateCurrentLine;
44936
44937 ------------------------------------------------------------------------------------
44938 -- 4219869 Business Flow
44939 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
44940 ------------------------------------------------------------------------------------
44941 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
44942
44943 ----------------------------------------------------------------------------------
44944 -- 4219869 Business Flow
44945 -- Update journal entry status -- Need to generate this within IF <condition>
44949 ,p_balance_type_code => l_balance_type_code
44946 ----------------------------------------------------------------------------------
44947 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
44948 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
44950 );
44951
44952 -------------------------------------------------------------------------------------------
44953 -- 4262811 - Generate the Accrual Reversal lines
44954 -------------------------------------------------------------------------------------------
44955 BEGIN
44956 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
44957 (g_array_event(p_event_id).array_value_num('header_index'));
44958 IF l_acc_rev_flag IS NULL THEN
44959 l_acc_rev_flag := 'N';
44960 END IF;
44961 EXCEPTION
44962 WHEN OTHERS THEN
44963 l_acc_rev_flag := 'N';
44964 END;
44965 --
44966 IF (l_acc_rev_flag = 'Y') THEN
44967
44968 -- 4645092 ------------------------------------------------------------------------------
44969 -- To allow MPA report to determine if it should generate report process
44970 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
44971 ------------------------------------------------------------------------------------------
44972
44973 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
44974 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
44975 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
44976 -- call ADRs
44977 -- Bug 4922099
44978 --
44979 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
44980 (NVL(l_actual_upg_option, 'N') = 'O') OR
44981 (NVL(l_enc_upg_option, 'N') = 'O')
44982 )
44983 THEN
44984 NULL;
44985 --
44986 --
44987
44988 l_ccid := AcctDerRule_43(
44989 p_application_id => p_application_id
44990 , p_ae_header_id => l_ae_header_id
44991 , p_source_40 => p_source_40
44992 , x_transaction_coa_id => l_adr_transaction_coa_id
44993 , x_accounting_coa_id => l_adr_accounting_coa_id
44994 , x_value_type_code => l_adr_value_type_code
44995 , p_side => 'NA'
44996 );
44997
44998 xla_ae_lines_pkg.set_ccid(
44999 p_code_combination_id => l_ccid
45000 , p_value_type_code => l_adr_value_type_code
45001 , p_transaction_coa_id => l_adr_transaction_coa_id
45002 , p_accounting_coa_id => l_adr_accounting_coa_id
45003 , p_adr_code => 'AP_TAX_ACCOUNT'
45004 , p_adr_type_code => 'S'
45005 , p_component_type => l_component_type
45006 , p_component_code => l_component_code
45007 , p_component_type_code => l_component_type_code
45008 , p_component_appl_id => l_component_appl_id
45009 , p_amb_context_code => l_amb_context_code
45010 , p_side => 'NA'
45011 );
45012
45013
45014 --
45015 --
45016 END IF;
45017
45018 --
45019 -- Update the line information that should be overwritten
45020 --
45021 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45022 p_header_num => 1);
45023 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45024
45025 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45026
45027 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45028 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45029 END IF;
45030
45031 --
45032 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45033 --
45034 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45035 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45036 ELSE
45037 ---------------------------------------------------------------------------------------------------
45038 -- 4262811a Switch Sign
45039 ---------------------------------------------------------------------------------------------------
45040 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45041 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45042 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45043 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45044 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45045 -- 5132302
45046 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45047 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45048
45049 END IF;
45050
45051 -- 4955764
45052 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45053 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45054
45055
45056 XLA_AE_LINES_PKG.ValidateCurrentLine;
45060 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45057 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45058
45059 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45061 ,p_balance_type_code => l_balance_type_code);
45062
45063 END IF;
45064
45065 -----------------------------------------------------------------------------------------
45066 -- 4262811 Multiperiod Accounting
45067 -----------------------------------------------------------------------------------------
45068 -- No MPA option is assigned.
45069
45070
45071 END IF;
45072 END IF;
45073 --
45074
45075 --
45076 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45077 trace
45078 (p_msg => 'END of AcctLineType_99'
45079 ,p_level => C_LEVEL_PROCEDURE
45080 ,p_module => l_log_module);
45081 END IF;
45082 --
45083 EXCEPTION
45084 WHEN xla_exceptions_pkg.application_exception THEN
45085 RAISE;
45086 WHEN OTHERS THEN
45087 xla_exceptions_pkg.raise_message
45088 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_99');
45089 END AcctLineType_99;
45090 --
45091
45092 ---------------------------------------
45093 --
45094 -- PRIVATE FUNCTION
45095 -- AcctLineType_100
45096 --
45097 ---------------------------------------
45098 PROCEDURE AcctLineType_100 (
45099 p_application_id IN NUMBER
45100 ,p_event_id IN NUMBER
45101 ,p_calculate_acctd_flag IN VARCHAR2
45102 ,p_calculate_g_l_flag IN VARCHAR2
45103 ,p_actual_flag IN OUT VARCHAR2
45104 ,p_balance_type_code OUT VARCHAR2
45105 ,p_gain_or_loss_ref OUT VARCHAR2
45106
45107 --Invoice Distribution Type
45108 , p_source_21 IN VARCHAR2
45109 , p_source_21_meaning IN VARCHAR2
45110 --Accounting Reversal Indicator
45111 , p_source_41 IN VARCHAR2
45112 --Distribution Link Type
45113 , p_source_43 IN VARCHAR2
45114 --Override Accounted Amount Indicator
45115 , p_source_68 IN VARCHAR2
45116 , p_source_68_meaning IN VARCHAR2
45117 --Third Party Type
45118 , p_source_71 IN VARCHAR2
45119 --Invoice Distribution Tax Line Identifier
45120 , p_source_74 IN NUMBER
45121 --Invoice Distribution Summary Tax Line Identifier
45122 , p_source_76 IN NUMBER
45123 --Business Flow Accounts Payable Application Identifier
45124 , p_source_79 IN NUMBER
45125 --Business Flow Invoice Distribution Identifier
45126 , p_source_82 IN NUMBER
45127 --Business Flow Invoice Identifier
45128 , p_source_83 IN NUMBER
45129 --When to Account for Payment Option
45130 , p_source_89 IN VARCHAR2
45131 --Payment Distribution Type
45132 , p_source_90 IN VARCHAR2
45133 , p_source_90_meaning IN VARCHAR2
45134 --Payment Distribution Amount
45135 , p_source_91 IN NUMBER
45136 --Business Flow Payment Distribution Type
45137 , p_source_92 IN VARCHAR2
45138 --Business Flow Payment Entity Code
45139 , p_source_93 IN VARCHAR2
45140 --Payment Distribution Identifier
45141 , p_source_96 IN NUMBER
45142 --Payment Distribution Reversed Identifier
45143 , p_source_104 IN NUMBER
45144 --Payment Currency Code
45145 , p_source_106 IN VARCHAR2
45146 --Payment Distribution (Invoice Rate) Ledger Amount
45147 , p_source_109 IN NUMBER
45148 --Payment Type
45149 , p_source_115 IN VARCHAR2
45150 , p_source_115_meaning IN VARCHAR2
45151 --Deferred Recoverable Tax Option
45152 , p_source_130 IN VARCHAR2
45153 , p_source_130_meaning IN VARCHAR2
45154 )
45155 IS
45156
45157 l_component_type VARCHAR2(80);
45158 l_component_code VARCHAR2(30);
45159 l_component_type_code VARCHAR2(1);
45160 l_component_appl_id INTEGER;
45161 l_amb_context_code VARCHAR2(30);
45162 l_entity_code VARCHAR2(30);
45163 l_event_class_code VARCHAR2(30);
45164 l_ae_header_id NUMBER;
45165 l_event_type_code VARCHAR2(30);
45166 l_line_definition_code VARCHAR2(30);
45167 l_line_definition_owner_code VARCHAR2(1);
45168 --
45169 -- adr variables
45170 l_segment VARCHAR2(30);
45171 l_ccid NUMBER;
45172 l_adr_transaction_coa_id NUMBER;
45173 l_adr_accounting_coa_id NUMBER;
45174 l_adr_flexfield_segment_code VARCHAR2(30);
45175 l_adr_flex_value_set_id NUMBER;
45176 l_adr_value_type_code VARCHAR2(30);
45177 l_adr_value_combination_id NUMBER;
45178 l_adr_value_segment_code VARCHAR2(30);
45179
45180 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45181 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45182 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45183 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45184
45185 -- 4262811 Variables ------------------------------------------------------------------------------------------
45186 l_entered_amt_idx NUMBER;
45187 l_accted_amt_idx NUMBER;
45188 l_acc_rev_flag VARCHAR2(1);
45189 l_accrual_line_num NUMBER;
45190 l_tmp_amt NUMBER;
45191 l_acc_rev_natural_side_code VARCHAR2(1);
45192
45196 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45193 l_num_entries NUMBER;
45194 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45195 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45197 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45198 l_recog_line_1 NUMBER;
45199 l_recog_line_2 NUMBER;
45200
45201 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45202 l_bflow_applied_to_amt NUMBER; -- 5132302
45203 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45204
45205 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45206
45207 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45208 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45209
45210 ---------------------------------------------------------------------------------------------------------------
45211
45212
45213 --
45214 -- bulk performance
45215 --
45216 l_balance_type_code VARCHAR2(1);
45217 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45218 l_log_module VARCHAR2(240);
45219
45220 --
45221 -- Upgrade strategy
45222 --
45223 l_actual_upg_option VARCHAR2(1);
45224 l_enc_upg_option VARCHAR2(1);
45225
45226 --
45227 BEGIN
45228 --
45229 IF g_log_enabled THEN
45230 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_100';
45231 END IF;
45232 --
45233 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45234
45235 trace
45236 (p_msg => 'BEGIN of AcctLineType_100'
45237 ,p_level => C_LEVEL_PROCEDURE
45238 ,p_module => l_log_module);
45239
45240 END IF;
45241 --
45242 l_component_type := 'AMB_JLT';
45243 l_component_code := 'AP_DEF_RTAX_INTERIM_CLR';
45244 l_component_type_code := 'S';
45245 l_component_appl_id := 200;
45246 l_amb_context_code := 'DEFAULT';
45247 l_entity_code := 'AP_PAYMENTS';
45248 l_event_class_code := 'RECONCILED PAYMENTS';
45249 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
45250 l_line_definition_owner_code := 'S';
45251 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
45252 --
45253 l_balance_type_code := 'A';
45254 l_segment := NULL;
45255 l_ccid := NULL;
45256 l_adr_transaction_coa_id := NULL;
45257 l_adr_accounting_coa_id := NULL;
45258 l_adr_flexfield_segment_code := NULL;
45259 l_adr_flex_value_set_id := NULL;
45260 l_adr_value_type_code := NULL;
45261 l_adr_value_combination_id := NULL;
45262 l_adr_value_segment_code := NULL;
45263
45264 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
45265 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
45266 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45267 l_budgetary_control_flag := 'N';
45268
45269 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45270 l_bflow_applied_to_amt := NULL; -- 5132302
45271 l_entered_amt_idx := NULL; -- 4262811
45272 l_accted_amt_idx := NULL; -- 4262811
45273 l_acc_rev_flag := NULL; -- 4262811
45274 l_accrual_line_num := NULL; -- 4262811
45275 l_tmp_amt := NULL; -- 4262811
45276 --
45277
45278 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45279 l_balance_type_code <> 'B' THEN
45280 IF NVL(p_source_89,'
45281 ') = 'CLEAR_CLEAR' AND
45282 NVL(p_source_21,'
45283 ') = 'REC_TAX' AND
45284 NVL(p_source_130,'
45285 ') = 'DEFERRED' AND
45286 (NVL(p_source_90,'
45287 ') = 'CASH' OR
45288 NVL(p_source_90,'
45289 ') = 'DISCOUNT') AND
45290 NVL(p_source_115,'
45291 ') <> 'R'
45292 THEN
45293
45294 --
45295 XLA_AE_LINES_PKG.SetNewLine;
45296
45297 p_balance_type_code := l_balance_type_code;
45298 -- set the flag so later we will know whether the gain loss line needs to be created
45299
45300 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45301 p_actual_flag :='A';
45302 END IF;
45303
45304 --
45305 -- bulk performance
45306 --
45307 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45308 p_header_num => 0); -- 4262811
45309 --
45310 -- set accounting line options
45311 --
45312 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45313 p_natural_side_code => 'C'
45314 , p_gain_or_loss_flag => 'N'
45315 , p_gl_transfer_mode_code => 'S'
45316 , p_acct_entry_type_code => 'A'
45317 , p_switch_side_flag => 'Y'
45318 , p_merge_duplicate_code => 'A'
45319 );
45320 --
45321 l_acc_rev_natural_side_code := 'D'; -- 4262811
45322 --
45323 --
45324 -- set accounting line type info
45325 --
45326 xla_ae_lines_pkg.SetAcctLineType
45327 (p_component_type => l_component_type
45331 ,p_accounting_line_code => l_component_code
45328 ,p_event_type_code => l_event_type_code
45329 ,p_line_definition_owner_code => l_line_definition_owner_code
45330 ,p_line_definition_code => l_line_definition_code
45332 ,p_accounting_line_type_code => l_component_type_code
45333 ,p_accounting_line_appl_id => l_component_appl_id
45334 ,p_amb_context_code => l_amb_context_code
45335 ,p_entity_code => l_entity_code
45336 ,p_event_class_code => l_event_class_code);
45337 --
45338 -- set accounting class
45339 --
45340 xla_ae_lines_pkg.SetAcctClass(
45341 p_accounting_class_code => 'DEF_REC_TAX'
45342 , p_ae_header_id => l_ae_header_id
45343 );
45344
45345 --
45346 -- set rounding class
45347 --
45348 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45349 'DEF_REC_TAX';
45350
45351 --
45352 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45353 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45354 --
45355 -- bulk performance
45356 --
45357 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45358
45359 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45360 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45361
45362 -- 4955764
45363 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45364 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45365
45366 -- 4458381 Public Sector Enh
45367
45368 --
45369 -- set accounting attributes for the line type
45370 --
45371 l_entered_amt_idx := 10;
45372 l_accted_amt_idx := 12;
45373 l_bflow_applied_to_amt_idx := 2; -- 5132302
45374 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
45375 l_rec_acct_attrs.array_char_value(1) := p_source_41;
45376 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
45377 l_rec_acct_attrs.array_num_value(2) := p_source_91;
45378 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
45379 l_rec_acct_attrs.array_num_value(3) := p_source_79;
45380 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
45381 l_rec_acct_attrs.array_char_value(4) := p_source_92;
45382 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
45383 l_rec_acct_attrs.array_char_value(5) := p_source_93;
45384 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
45385 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
45386 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
45387 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
45388 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
45389 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
45390 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
45391 l_rec_acct_attrs.array_char_value(9) := p_source_43;
45392 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
45393 l_rec_acct_attrs.array_num_value(10) := p_source_91;
45394 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
45395 l_rec_acct_attrs.array_char_value(11) := p_source_106;
45396 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
45397 l_rec_acct_attrs.array_num_value(12) := p_source_109;
45398 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
45399 l_rec_acct_attrs.array_char_value(13) := p_source_68;
45400 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
45401 l_rec_acct_attrs.array_char_value(14) := p_source_71;
45402 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
45403 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
45404 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
45405 l_rec_acct_attrs.array_char_value(16) := p_source_43;
45406 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
45407 l_rec_acct_attrs.array_num_value(17) := p_source_74;
45408 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
45409 l_rec_acct_attrs.array_num_value(18) := p_source_74;
45410 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
45411 l_rec_acct_attrs.array_num_value(19) := p_source_76;
45412
45413 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45414 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45415
45416 ---------------------------------------------------------------------------------------------------------------
45417 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45418 ---------------------------------------------------------------------------------------------------------------
45419 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45420
45421 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45422 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45426 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45423
45424 IF xla_accounting_cache_pkg.GetValueChar
45425 (p_source_code => 'LEDGER_CATEGORY_CODE'
45427 AND l_bflow_method_code = 'PRIOR_ENTRY'
45428 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
45429 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45430 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45431 )
45432 THEN
45433 xla_ae_lines_pkg.BflowUpgEntry
45434 (p_business_method_code => l_bflow_method_code
45435 ,p_business_class_code => l_bflow_class_code
45436 ,p_balance_type => l_balance_type_code);
45437 ELSE
45438 NULL;
45439 XLA_AE_LINES_PKG.business_flow_validation(
45440 p_business_method_code => l_bflow_method_code
45441 ,p_business_class_code => l_bflow_class_code
45442 ,p_inherit_description_flag => l_inherit_desc_flag);
45443 END IF;
45444
45445 --
45446 -- call analytical criteria
45447 --
45448 -- Inherited Analytical Criteria for business flow method of Prior Entry.
45449 --
45450 -- call description
45451 --
45452 -- No description or it is inherited.
45453 --
45454 -- call ADRs
45455 -- Bug 4922099
45456 --
45457 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45458 (NVL(l_actual_upg_option, 'N') = 'O') OR
45459 (NVL(l_enc_upg_option, 'N') = 'O')
45460 )
45461 THEN
45462 NULL;
45463 --
45464 --
45465
45466 --
45467 --
45468 END IF;
45469 --
45470 -- Bug 4922099
45471 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
45472 (NVL(l_enc_upg_option, 'N') = 'O')
45473 ) AND
45474 (l_bflow_method_code = 'PRIOR_ENTRY')
45475 )
45476 THEN
45477 IF
45478 --
45479 1 = 1
45480 --
45481 THEN
45482 xla_accounting_err_pkg.build_message
45483 (p_appli_s_name => 'XLA'
45484 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45485 ,p_token_1 => 'LINE_NUMBER'
45486 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
45487 ,p_token_2 => 'LINE_TYPE_NAME'
45488 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
45489 l_component_type
45490 ,l_component_code
45491 ,l_component_type_code
45492 ,l_component_appl_id
45493 ,l_amb_context_code
45494 ,l_entity_code
45495 ,l_event_class_code
45496 )
45497 ,p_token_3 => 'OWNER'
45498 ,p_value_3 => xla_lookups_pkg.get_meaning(
45499 p_lookup_type => 'XLA_OWNER_TYPE'
45500 ,p_lookup_code => l_component_type_code
45501 )
45502 ,p_token_4 => 'PRODUCT_NAME'
45503 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
45504 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
45505 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
45506 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
45507 ,p_ae_header_id => NULL
45508 );
45509
45510 IF (C_LEVEL_ERROR>= g_log_level) THEN
45511 trace
45512 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
45513 ,p_level => C_LEVEL_ERROR
45514 ,p_module => l_log_module);
45515 END IF;
45516 END IF;
45517 END IF;
45518 --
45519 --
45520 ------------------------------------------------------------------------------------------------
45521 -- 4219869 Business Flow
45522 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
45523 -- Prior Entry. Currently, the following code is always generated.
45524 ------------------------------------------------------------------------------------------------
45525 -- No ValidateCurrentLine for business flow method of Prior Entry
45526
45527 ------------------------------------------------------------------------------------
45528 -- 4219869 Business Flow
45529 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
45533 ----------------------------------------------------------------------------------
45530 ------------------------------------------------------------------------------------
45531 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45532
45534 -- 4219869 Business Flow
45535 -- Update journal entry status -- Need to generate this within IF <condition>
45536 ----------------------------------------------------------------------------------
45537 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45538 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
45539 ,p_balance_type_code => l_balance_type_code
45540 );
45541
45542 -------------------------------------------------------------------------------------------
45543 -- 4262811 - Generate the Accrual Reversal lines
45544 -------------------------------------------------------------------------------------------
45545 BEGIN
45546 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
45547 (g_array_event(p_event_id).array_value_num('header_index'));
45548 IF l_acc_rev_flag IS NULL THEN
45549 l_acc_rev_flag := 'N';
45550 END IF;
45551 EXCEPTION
45552 WHEN OTHERS THEN
45553 l_acc_rev_flag := 'N';
45554 END;
45555 --
45556 IF (l_acc_rev_flag = 'Y') THEN
45557
45558 -- 4645092 ------------------------------------------------------------------------------
45559 -- To allow MPA report to determine if it should generate report process
45560 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
45561 ------------------------------------------------------------------------------------------
45562
45563 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
45564 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
45565 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
45566 -- call ADRs
45567 -- Bug 4922099
45568 --
45569 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
45570 (NVL(l_actual_upg_option, 'N') = 'O') OR
45571 (NVL(l_enc_upg_option, 'N') = 'O')
45572 )
45573 THEN
45574 NULL;
45575 --
45576 --
45577
45578 --
45579 --
45580 END IF;
45581
45582 --
45583 -- Update the line information that should be overwritten
45584 --
45585 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
45586 p_header_num => 1);
45587 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
45588
45589 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
45590
45591 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
45592 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
45593 END IF;
45594
45595 --
45596 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
45597 --
45598 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
45599 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
45600 ELSE
45601 ---------------------------------------------------------------------------------------------------
45602 -- 4262811a Switch Sign
45603 ---------------------------------------------------------------------------------------------------
45604 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
45605 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45606 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45607 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
45608 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45609 -- 5132302
45610 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
45611 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
45612
45613 END IF;
45614
45615 -- 4955764
45616 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45617 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
45618
45619
45620 XLA_AE_LINES_PKG.ValidateCurrentLine;
45621 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
45622
45623 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
45624 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
45625 ,p_balance_type_code => l_balance_type_code);
45626
45627 END IF;
45628
45629 -----------------------------------------------------------------------------------------
45630 -- 4262811 Multiperiod Accounting
45631 -----------------------------------------------------------------------------------------
45632 -- No MPA option is assigned.
45633
45634
45635 END IF;
45636 END IF;
45637 --
45638
45639 --
45640 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45641 trace
45645 END IF;
45642 (p_msg => 'END of AcctLineType_100'
45643 ,p_level => C_LEVEL_PROCEDURE
45644 ,p_module => l_log_module);
45646 --
45647 EXCEPTION
45648 WHEN xla_exceptions_pkg.application_exception THEN
45649 RAISE;
45650 WHEN OTHERS THEN
45651 xla_exceptions_pkg.raise_message
45652 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_100');
45653 END AcctLineType_100;
45654 --
45655
45656 ---------------------------------------
45657 --
45658 -- PRIVATE FUNCTION
45659 -- AcctLineType_101
45660 --
45661 ---------------------------------------
45662 PROCEDURE AcctLineType_101 (
45663 p_application_id IN NUMBER
45664 ,p_event_id IN NUMBER
45665 ,p_calculate_acctd_flag IN VARCHAR2
45666 ,p_calculate_g_l_flag IN VARCHAR2
45667 ,p_actual_flag IN OUT VARCHAR2
45668 ,p_balance_type_code OUT VARCHAR2
45669 ,p_gain_or_loss_ref OUT VARCHAR2
45670
45671 --Invoice Distribution Type
45672 , p_source_21 IN VARCHAR2
45673 , p_source_21_meaning IN VARCHAR2
45674 --Accounting Reversal Indicator
45675 , p_source_41 IN VARCHAR2
45676 --Distribution Link Type
45677 , p_source_43 IN VARCHAR2
45678 --Override Accounted Amount Indicator
45679 , p_source_68 IN VARCHAR2
45680 , p_source_68_meaning IN VARCHAR2
45681 --Third Party Type
45682 , p_source_71 IN VARCHAR2
45683 --Business Flow Accounts Payable Application Identifier
45684 , p_source_79 IN NUMBER
45685 --Business Flow Invoice Distribution Type
45686 , p_source_80 IN VARCHAR2
45687 --Business Flow Invoice Entity Code
45688 , p_source_81 IN VARCHAR2
45689 --Business Flow Invoice Distribution Identifier
45690 , p_source_82 IN NUMBER
45691 --Business Flow Invoice Identifier
45692 , p_source_83 IN NUMBER
45693 --When to Account for Payment Option
45694 , p_source_89 IN VARCHAR2
45695 --Payment Distribution Type
45696 , p_source_90 IN VARCHAR2
45697 , p_source_90_meaning IN VARCHAR2
45698 --Payment Distribution Amount
45699 , p_source_91 IN NUMBER
45700 --Payment Distribution Identifier
45701 , p_source_96 IN NUMBER
45702 --Payment Distribution Reversed Identifier
45703 , p_source_104 IN NUMBER
45704 --Payment Currency Code
45705 , p_source_106 IN VARCHAR2
45706 --Payment Maturity Date
45707 , p_source_107 IN DATE
45708 --Payment Distribution (Matured Rate) Ledger Amount
45709 , p_source_114 IN NUMBER
45710 --Deferred Recoverable Tax Option
45711 , p_source_130 IN VARCHAR2
45712 , p_source_130_meaning IN VARCHAR2
45713 )
45714 IS
45715
45716 l_component_type VARCHAR2(80);
45717 l_component_code VARCHAR2(30);
45718 l_component_type_code VARCHAR2(1);
45719 l_component_appl_id INTEGER;
45720 l_amb_context_code VARCHAR2(30);
45721 l_entity_code VARCHAR2(30);
45722 l_event_class_code VARCHAR2(30);
45723 l_ae_header_id NUMBER;
45724 l_event_type_code VARCHAR2(30);
45725 l_line_definition_code VARCHAR2(30);
45726 l_line_definition_owner_code VARCHAR2(1);
45727 --
45728 -- adr variables
45729 l_segment VARCHAR2(30);
45730 l_ccid NUMBER;
45731 l_adr_transaction_coa_id NUMBER;
45732 l_adr_accounting_coa_id NUMBER;
45733 l_adr_flexfield_segment_code VARCHAR2(30);
45734 l_adr_flex_value_set_id NUMBER;
45735 l_adr_value_type_code VARCHAR2(30);
45736 l_adr_value_combination_id NUMBER;
45737 l_adr_value_segment_code VARCHAR2(30);
45738
45739 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
45740 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
45741 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
45742 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
45743
45744 -- 4262811 Variables ------------------------------------------------------------------------------------------
45745 l_entered_amt_idx NUMBER;
45746 l_accted_amt_idx NUMBER;
45747 l_acc_rev_flag VARCHAR2(1);
45748 l_accrual_line_num NUMBER;
45749 l_tmp_amt NUMBER;
45750 l_acc_rev_natural_side_code VARCHAR2(1);
45751
45752 l_num_entries NUMBER;
45753 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
45754 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
45755 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
45756 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
45757 l_recog_line_1 NUMBER;
45758 l_recog_line_2 NUMBER;
45759
45760 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
45761 l_bflow_applied_to_amt NUMBER; -- 5132302
45762 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
45763
45764 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
45765
45766 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
45767 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
45768
45769 ---------------------------------------------------------------------------------------------------------------
45770
45771
45772 --
45776 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
45773 -- bulk performance
45774 --
45775 l_balance_type_code VARCHAR2(1);
45777 l_log_module VARCHAR2(240);
45778
45779 --
45780 -- Upgrade strategy
45781 --
45782 l_actual_upg_option VARCHAR2(1);
45783 l_enc_upg_option VARCHAR2(1);
45784
45785 --
45786 BEGIN
45787 --
45788 IF g_log_enabled THEN
45789 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_101';
45790 END IF;
45791 --
45792 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
45793
45794 trace
45795 (p_msg => 'BEGIN of AcctLineType_101'
45796 ,p_level => C_LEVEL_PROCEDURE
45797 ,p_module => l_log_module);
45798
45799 END IF;
45800 --
45801 l_component_type := 'AMB_JLT';
45802 l_component_code := 'AP_DEF_RTAX_INTERIM_MAT';
45803 l_component_type_code := 'S';
45804 l_component_appl_id := 200;
45805 l_amb_context_code := 'DEFAULT';
45806 l_entity_code := 'AP_PAYMENTS';
45807 l_event_class_code := 'FUTURE DATED PAYMENTS';
45808 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
45809 l_line_definition_owner_code := 'S';
45810 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
45811 --
45812 l_balance_type_code := 'A';
45813 l_segment := NULL;
45814 l_ccid := NULL;
45815 l_adr_transaction_coa_id := NULL;
45816 l_adr_accounting_coa_id := NULL;
45817 l_adr_flexfield_segment_code := NULL;
45818 l_adr_flex_value_set_id := NULL;
45819 l_adr_value_type_code := NULL;
45820 l_adr_value_combination_id := NULL;
45821 l_adr_value_segment_code := NULL;
45822
45823 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
45824 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
45825 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
45826 l_budgetary_control_flag := 'N';
45827
45828 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45829 l_bflow_applied_to_amt := NULL; -- 5132302
45830 l_entered_amt_idx := NULL; -- 4262811
45831 l_accted_amt_idx := NULL; -- 4262811
45832 l_acc_rev_flag := NULL; -- 4262811
45833 l_accrual_line_num := NULL; -- 4262811
45834 l_tmp_amt := NULL; -- 4262811
45835 --
45836
45837 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
45838 l_balance_type_code <> 'B' THEN
45839 IF NVL(p_source_89,'
45840 ') <> 'CLEAR_CLEAR' AND
45841 NVL(p_source_21,'
45842 ') = 'REC_TAX' AND
45843 p_source_107 IS NOT NULL AND
45844 NVL(p_source_130,'
45845 ') = 'DEFERRED' AND
45846 (NVL(p_source_90,'
45847 ') = 'DISCOUNT' OR
45848 NVL(p_source_90,'
45849 ') = 'CASH')
45850 THEN
45851
45852 --
45853 XLA_AE_LINES_PKG.SetNewLine;
45854
45855 p_balance_type_code := l_balance_type_code;
45856 -- set the flag so later we will know whether the gain loss line needs to be created
45857
45858 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
45859 p_actual_flag :='A';
45860 END IF;
45861
45862 --
45863 -- bulk performance
45864 --
45865 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
45866 p_header_num => 0); -- 4262811
45867 --
45868 -- set accounting line options
45869 --
45870 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
45871 p_natural_side_code => 'C'
45872 , p_gain_or_loss_flag => 'N'
45873 , p_gl_transfer_mode_code => 'S'
45874 , p_acct_entry_type_code => 'A'
45875 , p_switch_side_flag => 'Y'
45876 , p_merge_duplicate_code => 'A'
45877 );
45878 --
45879 l_acc_rev_natural_side_code := 'D'; -- 4262811
45880 --
45881 --
45882 -- set accounting line type info
45883 --
45884 xla_ae_lines_pkg.SetAcctLineType
45885 (p_component_type => l_component_type
45886 ,p_event_type_code => l_event_type_code
45887 ,p_line_definition_owner_code => l_line_definition_owner_code
45888 ,p_line_definition_code => l_line_definition_code
45889 ,p_accounting_line_code => l_component_code
45890 ,p_accounting_line_type_code => l_component_type_code
45891 ,p_accounting_line_appl_id => l_component_appl_id
45892 ,p_amb_context_code => l_amb_context_code
45893 ,p_entity_code => l_entity_code
45894 ,p_event_class_code => l_event_class_code);
45895 --
45896 -- set accounting class
45897 --
45898 xla_ae_lines_pkg.SetAcctClass(
45899 p_accounting_class_code => 'DEF_REC_TAX'
45900 , p_ae_header_id => l_ae_header_id
45901 );
45902
45903 --
45904 -- set rounding class
45905 --
45906 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
45907 'DEF_REC_TAX';
45908
45909 --
45913 -- bulk performance
45910 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
45911 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
45912 --
45914 --
45915 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
45916
45917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
45918 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
45919
45920 -- 4955764
45921 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
45922 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
45923
45924 -- 4458381 Public Sector Enh
45925
45926 --
45927 -- set accounting attributes for the line type
45928 --
45929 l_entered_amt_idx := 9;
45930 l_accted_amt_idx := 11;
45931 l_bflow_applied_to_amt_idx := NULL; -- 5132302
45932 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
45933 l_rec_acct_attrs.array_char_value(1) := p_source_41;
45934 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
45935 l_rec_acct_attrs.array_num_value(2) := p_source_79;
45936 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
45937 l_rec_acct_attrs.array_char_value(3) := p_source_80;
45938 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
45939 l_rec_acct_attrs.array_char_value(4) := p_source_81;
45940 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
45941 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
45942 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
45943 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
45944 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
45945 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
45946 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
45947 l_rec_acct_attrs.array_char_value(8) := p_source_43;
45948 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
45949 l_rec_acct_attrs.array_num_value(9) := p_source_91;
45950 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
45951 l_rec_acct_attrs.array_char_value(10) := p_source_106;
45952 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
45953 l_rec_acct_attrs.array_num_value(11) := p_source_114;
45954 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
45955 l_rec_acct_attrs.array_char_value(12) := p_source_68;
45956 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
45957 l_rec_acct_attrs.array_char_value(13) := p_source_71;
45958 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
45959 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_104);
45960 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
45961 l_rec_acct_attrs.array_char_value(15) := p_source_43;
45962
45963 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
45964 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
45965
45966 ---------------------------------------------------------------------------------------------------------------
45967 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
45968 ---------------------------------------------------------------------------------------------------------------
45969 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
45970
45971 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45972 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
45973
45974 IF xla_accounting_cache_pkg.GetValueChar
45975 (p_source_code => 'LEDGER_CATEGORY_CODE'
45976 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
45977 AND l_bflow_method_code = 'PRIOR_ENTRY'
45978 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
45979 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
45980 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
45981 )
45982 THEN
45983 xla_ae_lines_pkg.BflowUpgEntry
45984 (p_business_method_code => l_bflow_method_code
45985 ,p_business_class_code => l_bflow_class_code
45986 ,p_balance_type => l_balance_type_code);
45987 ELSE
45988 NULL;
45989 XLA_AE_LINES_PKG.business_flow_validation(
45990 p_business_method_code => l_bflow_method_code
45991 ,p_business_class_code => l_bflow_class_code
45992 ,p_inherit_description_flag => l_inherit_desc_flag);
45993 END IF;
45994
45995 --
45996 -- call analytical criteria
45997 --
45998 -- Inherited Analytical Criteria for business flow method of Prior Entry.
45999 --
46000 -- call description
46001 --
46002 -- No description or it is inherited.
46003 --
46004 -- call ADRs
46005 -- Bug 4922099
46006 --
46007 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46008 (NVL(l_actual_upg_option, 'N') = 'O') OR
46012 NULL;
46009 (NVL(l_enc_upg_option, 'N') = 'O')
46010 )
46011 THEN
46013 --
46014 --
46015
46016 --
46017 --
46018 END IF;
46019 --
46020 -- Bug 4922099
46021 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46022 (NVL(l_enc_upg_option, 'N') = 'O')
46023 ) AND
46024 (l_bflow_method_code = 'PRIOR_ENTRY')
46025 )
46026 THEN
46027 IF
46028 --
46029 1 = 1
46030 --
46031 THEN
46032 xla_accounting_err_pkg.build_message
46033 (p_appli_s_name => 'XLA'
46034 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46035 ,p_token_1 => 'LINE_NUMBER'
46036 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46037 ,p_token_2 => 'LINE_TYPE_NAME'
46038 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46039 l_component_type
46040 ,l_component_code
46041 ,l_component_type_code
46042 ,l_component_appl_id
46043 ,l_amb_context_code
46044 ,l_entity_code
46045 ,l_event_class_code
46046 )
46047 ,p_token_3 => 'OWNER'
46048 ,p_value_3 => xla_lookups_pkg.get_meaning(
46049 p_lookup_type => 'XLA_OWNER_TYPE'
46050 ,p_lookup_code => l_component_type_code
46051 )
46052 ,p_token_4 => 'PRODUCT_NAME'
46053 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46054 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46055 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46056 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46057 ,p_ae_header_id => NULL
46058 );
46059
46060 IF (C_LEVEL_ERROR>= g_log_level) THEN
46061 trace
46062 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46063 ,p_level => C_LEVEL_ERROR
46064 ,p_module => l_log_module);
46065 END IF;
46066 END IF;
46067 END IF;
46068 --
46069 --
46070 ------------------------------------------------------------------------------------------------
46071 -- 4219869 Business Flow
46072 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46073 -- Prior Entry. Currently, the following code is always generated.
46074 ------------------------------------------------------------------------------------------------
46075 -- No ValidateCurrentLine for business flow method of Prior Entry
46076
46077 ------------------------------------------------------------------------------------
46078 -- 4219869 Business Flow
46079 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46080 ------------------------------------------------------------------------------------
46081 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46082
46083 ----------------------------------------------------------------------------------
46084 -- 4219869 Business Flow
46085 -- Update journal entry status -- Need to generate this within IF <condition>
46086 ----------------------------------------------------------------------------------
46087 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46088 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46089 ,p_balance_type_code => l_balance_type_code
46090 );
46091
46092 -------------------------------------------------------------------------------------------
46093 -- 4262811 - Generate the Accrual Reversal lines
46094 -------------------------------------------------------------------------------------------
46095 BEGIN
46096 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46097 (g_array_event(p_event_id).array_value_num('header_index'));
46098 IF l_acc_rev_flag IS NULL THEN
46099 l_acc_rev_flag := 'N';
46100 END IF;
46101 EXCEPTION
46102 WHEN OTHERS THEN
46103 l_acc_rev_flag := 'N';
46104 END;
46105 --
46106 IF (l_acc_rev_flag = 'Y') THEN
46107
46111 ------------------------------------------------------------------------------------------
46108 -- 4645092 ------------------------------------------------------------------------------
46109 -- To allow MPA report to determine if it should generate report process
46110 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46112
46113 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46114 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46115 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46116 -- call ADRs
46117 -- Bug 4922099
46118 --
46119 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46120 (NVL(l_actual_upg_option, 'N') = 'O') OR
46121 (NVL(l_enc_upg_option, 'N') = 'O')
46122 )
46123 THEN
46124 NULL;
46125 --
46126 --
46127
46128 --
46129 --
46130 END IF;
46131
46132 --
46133 -- Update the line information that should be overwritten
46134 --
46135 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46136 p_header_num => 1);
46137 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46138
46139 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46140
46141 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46142 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46143 END IF;
46144
46145 --
46146 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46147 --
46148 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46149 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46150 ELSE
46151 ---------------------------------------------------------------------------------------------------
46152 -- 4262811a Switch Sign
46153 ---------------------------------------------------------------------------------------------------
46154 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46155 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46156 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46157 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46158 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46159 -- 5132302
46160 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46161 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46162
46163 END IF;
46164
46165 -- 4955764
46166 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46167 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46168
46169
46170 XLA_AE_LINES_PKG.ValidateCurrentLine;
46171 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46172
46173 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46174 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46175 ,p_balance_type_code => l_balance_type_code);
46176
46177 END IF;
46178
46179 -----------------------------------------------------------------------------------------
46180 -- 4262811 Multiperiod Accounting
46181 -----------------------------------------------------------------------------------------
46182 -- No MPA option is assigned.
46183
46184
46185 END IF;
46186 END IF;
46187 --
46188
46189 --
46190 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46191 trace
46192 (p_msg => 'END of AcctLineType_101'
46193 ,p_level => C_LEVEL_PROCEDURE
46194 ,p_module => l_log_module);
46195 END IF;
46196 --
46197 EXCEPTION
46198 WHEN xla_exceptions_pkg.application_exception THEN
46199 RAISE;
46200 WHEN OTHERS THEN
46201 xla_exceptions_pkg.raise_message
46202 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_101');
46203 END AcctLineType_101;
46204 --
46205
46206 ---------------------------------------
46207 --
46208 -- PRIVATE FUNCTION
46209 -- AcctLineType_102
46210 --
46211 ---------------------------------------
46212 PROCEDURE AcctLineType_102 (
46213 p_application_id IN NUMBER
46214 ,p_event_id IN NUMBER
46215 ,p_calculate_acctd_flag IN VARCHAR2
46216 ,p_calculate_g_l_flag IN VARCHAR2
46217 ,p_actual_flag IN OUT VARCHAR2
46218 ,p_balance_type_code OUT VARCHAR2
46219 ,p_gain_or_loss_ref OUT VARCHAR2
46220
46221 --Invoice Distribution Type
46222 , p_source_21 IN VARCHAR2
46223 , p_source_21_meaning IN VARCHAR2
46224 --Accounting Reversal Indicator
46225 , p_source_41 IN VARCHAR2
46226 --Distribution Link Type
46227 , p_source_43 IN VARCHAR2
46228 --Override Accounted Amount Indicator
46229 , p_source_68 IN VARCHAR2
46230 , p_source_68_meaning IN VARCHAR2
46231 --Third Party Type
46235 --Invoice Distribution Tax Distribution Identifier from Tax
46232 , p_source_71 IN VARCHAR2
46233 --Invoice Distribution Tax Line Identifier
46234 , p_source_74 IN NUMBER
46236 , p_source_75 IN NUMBER
46237 --Invoice Distribution Summary Tax Line Identifier
46238 , p_source_76 IN NUMBER
46239 --Business Flow Accounts Payable Application Identifier
46240 , p_source_79 IN NUMBER
46241 --Business Flow Invoice Distribution Type
46242 , p_source_80 IN VARCHAR2
46243 --Business Flow Invoice Entity Code
46244 , p_source_81 IN VARCHAR2
46245 --Business Flow Invoice Distribution Identifier
46246 , p_source_82 IN NUMBER
46247 --Business Flow Invoice Identifier
46248 , p_source_83 IN NUMBER
46249 --When to Account for Payment Option
46250 , p_source_89 IN VARCHAR2
46251 --Payment Distribution Type
46252 , p_source_90 IN VARCHAR2
46253 , p_source_90_meaning IN VARCHAR2
46254 --Payment Distribution Amount
46255 , p_source_91 IN NUMBER
46256 --Payment Distribution Identifier
46257 , p_source_96 IN NUMBER
46258 --Payment Distribution Reversed Identifier
46259 , p_source_104 IN NUMBER
46260 --Payment Currency Code
46261 , p_source_106 IN VARCHAR2
46262 --Payment Maturity Date
46263 , p_source_107 IN DATE
46264 --Payment Distribution (Invoice Rate) Ledger Amount
46265 , p_source_109 IN NUMBER
46266 --Payment Type
46267 , p_source_115 IN VARCHAR2
46268 , p_source_115_meaning IN VARCHAR2
46269 --Payment Processing Type
46270 , p_source_116 IN VARCHAR2
46271 --Invoice Distribution Amount of the Payment Distribution
46272 , p_source_117 IN NUMBER
46273 --Deferred Recoverable Tax Option
46274 , p_source_130 IN VARCHAR2
46275 , p_source_130_meaning IN VARCHAR2
46276 --AWT Related Distribution Type Lookup code
46277 , p_source_131 IN VARCHAR2
46278 )
46279 IS
46280
46281 l_component_type VARCHAR2(80);
46282 l_component_code VARCHAR2(30);
46283 l_component_type_code VARCHAR2(1);
46284 l_component_appl_id INTEGER;
46285 l_amb_context_code VARCHAR2(30);
46286 l_entity_code VARCHAR2(30);
46287 l_event_class_code VARCHAR2(30);
46288 l_ae_header_id NUMBER;
46289 l_event_type_code VARCHAR2(30);
46290 l_line_definition_code VARCHAR2(30);
46291 l_line_definition_owner_code VARCHAR2(1);
46292 --
46293 -- adr variables
46294 l_segment VARCHAR2(30);
46295 l_ccid NUMBER;
46296 l_adr_transaction_coa_id NUMBER;
46297 l_adr_accounting_coa_id NUMBER;
46298 l_adr_flexfield_segment_code VARCHAR2(30);
46299 l_adr_flex_value_set_id NUMBER;
46300 l_adr_value_type_code VARCHAR2(30);
46301 l_adr_value_combination_id NUMBER;
46302 l_adr_value_segment_code VARCHAR2(30);
46303
46304 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46305 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46306 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46307 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46308
46309 -- 4262811 Variables ------------------------------------------------------------------------------------------
46310 l_entered_amt_idx NUMBER;
46311 l_accted_amt_idx NUMBER;
46312 l_acc_rev_flag VARCHAR2(1);
46313 l_accrual_line_num NUMBER;
46314 l_tmp_amt NUMBER;
46315 l_acc_rev_natural_side_code VARCHAR2(1);
46316
46317 l_num_entries NUMBER;
46318 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46319 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46320 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46321 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46322 l_recog_line_1 NUMBER;
46323 l_recog_line_2 NUMBER;
46324
46325 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46326 l_bflow_applied_to_amt NUMBER; -- 5132302
46327 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46328
46329 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46330
46331 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46332 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46333
46334 ---------------------------------------------------------------------------------------------------------------
46335
46336
46337 --
46338 -- bulk performance
46339 --
46340 l_balance_type_code VARCHAR2(1);
46341 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46342 l_log_module VARCHAR2(240);
46343
46344 --
46345 -- Upgrade strategy
46346 --
46347 l_actual_upg_option VARCHAR2(1);
46348 l_enc_upg_option VARCHAR2(1);
46349
46350 --
46351 BEGIN
46352 --
46353 IF g_log_enabled THEN
46354 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_102';
46355 END IF;
46356 --
46357 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46358
46359 trace
46360 (p_msg => 'BEGIN of AcctLineType_102'
46364 END IF;
46361 ,p_level => C_LEVEL_PROCEDURE
46362 ,p_module => l_log_module);
46363
46365 --
46366 l_component_type := 'AMB_JLT';
46367 l_component_code := 'AP_DEF_RTAX_INTERIM_PMT';
46368 l_component_type_code := 'S';
46369 l_component_appl_id := 200;
46370 l_amb_context_code := 'DEFAULT';
46371 l_entity_code := 'AP_PAYMENTS';
46372 l_event_class_code := 'PAYMENTS';
46373 l_event_type_code := 'PAYMENTS_ALL';
46374 l_line_definition_owner_code := 'S';
46375 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
46376 --
46377 l_balance_type_code := 'A';
46378 l_segment := NULL;
46379 l_ccid := NULL;
46380 l_adr_transaction_coa_id := NULL;
46381 l_adr_accounting_coa_id := NULL;
46382 l_adr_flexfield_segment_code := NULL;
46383 l_adr_flex_value_set_id := NULL;
46384 l_adr_value_type_code := NULL;
46385 l_adr_value_combination_id := NULL;
46386 l_adr_value_segment_code := NULL;
46387
46388 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
46389 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
46390 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46391 l_budgetary_control_flag := 'N';
46392
46393 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46394 l_bflow_applied_to_amt := NULL; -- 5132302
46395 l_entered_amt_idx := NULL; -- 4262811
46396 l_accted_amt_idx := NULL; -- 4262811
46397 l_acc_rev_flag := NULL; -- 4262811
46398 l_accrual_line_num := NULL; -- 4262811
46399 l_tmp_amt := NULL; -- 4262811
46400 --
46401
46402 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46403 l_balance_type_code <> 'B' THEN
46404 IF NVL(p_source_89,'
46405 ') <> 'CLEAR_CLEAR' AND
46406 ((NVL(p_source_21,'
46407 ') = 'REC_TAX' AND
46408 NVL(p_source_130,'
46409 ') = 'DEFERRED') OR
46410 (NVL(p_source_21,'
46411 ') = 'AWT' AND
46412 NVL(p_source_131,'
46413 ') = 'AWT_DEFERRED')
46414 ) AND (NVL(p_source_90,'
46415 ') = 'CASH' OR
46416 NVL(p_source_90,'
46417 ') = 'AWT' OR
46418 NVL(p_source_90,'
46419 ') = 'DISCOUNT') AND
46420 p_source_107 IS NULL AND
46421 NVL(p_source_115,'
46422 ') <> 'R' AND
46423 NVL(p_source_116,'
46424 ') <> 'PAYMENTCARD'
46425 THEN
46426
46427 --
46428 XLA_AE_LINES_PKG.SetNewLine;
46429
46430 p_balance_type_code := l_balance_type_code;
46431 -- set the flag so later we will know whether the gain loss line needs to be created
46432
46433 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
46434 p_actual_flag :='A';
46435 END IF;
46436
46437 --
46438 -- bulk performance
46439 --
46440 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
46441 p_header_num => 0); -- 4262811
46442 --
46443 -- set accounting line options
46444 --
46445 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
46446 p_natural_side_code => 'C'
46447 , p_gain_or_loss_flag => 'N'
46448 , p_gl_transfer_mode_code => 'S'
46449 , p_acct_entry_type_code => 'A'
46450 , p_switch_side_flag => 'Y'
46451 , p_merge_duplicate_code => 'A'
46452 );
46453 --
46454 l_acc_rev_natural_side_code := 'D'; -- 4262811
46455 --
46456 --
46457 -- set accounting line type info
46458 --
46459 xla_ae_lines_pkg.SetAcctLineType
46460 (p_component_type => l_component_type
46461 ,p_event_type_code => l_event_type_code
46462 ,p_line_definition_owner_code => l_line_definition_owner_code
46463 ,p_line_definition_code => l_line_definition_code
46464 ,p_accounting_line_code => l_component_code
46465 ,p_accounting_line_type_code => l_component_type_code
46466 ,p_accounting_line_appl_id => l_component_appl_id
46467 ,p_amb_context_code => l_amb_context_code
46468 ,p_entity_code => l_entity_code
46469 ,p_event_class_code => l_event_class_code);
46470 --
46471 -- set accounting class
46472 --
46473 xla_ae_lines_pkg.SetAcctClass(
46474 p_accounting_class_code => 'DEF_REC_TAX'
46475 , p_ae_header_id => l_ae_header_id
46476 );
46477
46478 --
46479 -- set rounding class
46480 --
46481 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
46482 'DEF_REC_TAX';
46483
46484 --
46485 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
46486 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
46487 --
46488 -- bulk performance
46489 --
46490 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
46491
46492 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
46493 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
46494
46495 -- 4955764
46499 -- 4458381 Public Sector Enh
46496 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46497 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
46498
46500
46501 --
46502 -- set accounting attributes for the line type
46503 --
46504 l_entered_amt_idx := 10;
46505 l_accted_amt_idx := 12;
46506 l_bflow_applied_to_amt_idx := 2; -- 5132302
46507 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
46508 l_rec_acct_attrs.array_char_value(1) := p_source_41;
46509 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
46510 l_rec_acct_attrs.array_num_value(2) := p_source_117;
46511 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
46512 l_rec_acct_attrs.array_num_value(3) := p_source_79;
46513 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
46514 l_rec_acct_attrs.array_char_value(4) := p_source_80;
46515 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
46516 l_rec_acct_attrs.array_char_value(5) := p_source_81;
46517 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
46518 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
46519 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
46520 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
46521 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
46522 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
46523 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
46524 l_rec_acct_attrs.array_char_value(9) := p_source_43;
46525 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
46526 l_rec_acct_attrs.array_num_value(10) := p_source_91;
46527 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
46528 l_rec_acct_attrs.array_char_value(11) := p_source_106;
46529 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
46530 l_rec_acct_attrs.array_num_value(12) := p_source_109;
46531 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
46532 l_rec_acct_attrs.array_char_value(13) := p_source_68;
46533 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
46534 l_rec_acct_attrs.array_char_value(14) := p_source_71;
46535 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
46536 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
46537 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
46538 l_rec_acct_attrs.array_char_value(16) := p_source_43;
46539 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
46540 l_rec_acct_attrs.array_num_value(17) := p_source_74;
46541 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
46542 l_rec_acct_attrs.array_num_value(18) := p_source_75;
46543 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
46544 l_rec_acct_attrs.array_num_value(19) := p_source_76;
46545
46546 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
46547 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
46548
46549 ---------------------------------------------------------------------------------------------------------------
46550 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
46551 ---------------------------------------------------------------------------------------------------------------
46552 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
46553
46554 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46555 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
46556
46557 IF xla_accounting_cache_pkg.GetValueChar
46558 (p_source_code => 'LEDGER_CATEGORY_CODE'
46559 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
46560 AND l_bflow_method_code = 'PRIOR_ENTRY'
46561 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
46562 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
46563 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
46564 )
46565 THEN
46566 xla_ae_lines_pkg.BflowUpgEntry
46567 (p_business_method_code => l_bflow_method_code
46568 ,p_business_class_code => l_bflow_class_code
46569 ,p_balance_type => l_balance_type_code);
46570 ELSE
46571 NULL;
46572 XLA_AE_LINES_PKG.business_flow_validation(
46573 p_business_method_code => l_bflow_method_code
46574 ,p_business_class_code => l_bflow_class_code
46575 ,p_inherit_description_flag => l_inherit_desc_flag);
46576 END IF;
46577
46578 --
46579 -- call analytical criteria
46580 --
46581 -- Inherited Analytical Criteria for business flow method of Prior Entry.
46582 --
46583 -- call description
46584 --
46585 -- No description or it is inherited.
46586 --
46587 -- call ADRs
46588 -- Bug 4922099
46589 --
46590 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46591 (NVL(l_actual_upg_option, 'N') = 'O') OR
46592 (NVL(l_enc_upg_option, 'N') = 'O')
46593 )
46594 THEN
46598
46595 NULL;
46596 --
46597 --
46599 --
46600 --
46601 END IF;
46602 --
46603 -- Bug 4922099
46604 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
46605 (NVL(l_enc_upg_option, 'N') = 'O')
46606 ) AND
46607 (l_bflow_method_code = 'PRIOR_ENTRY')
46608 )
46609 THEN
46610 IF
46611 --
46612 1 = 1
46613 --
46614 THEN
46615 xla_accounting_err_pkg.build_message
46616 (p_appli_s_name => 'XLA'
46617 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46618 ,p_token_1 => 'LINE_NUMBER'
46619 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
46620 ,p_token_2 => 'LINE_TYPE_NAME'
46621 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
46622 l_component_type
46623 ,l_component_code
46624 ,l_component_type_code
46625 ,l_component_appl_id
46626 ,l_amb_context_code
46627 ,l_entity_code
46628 ,l_event_class_code
46629 )
46630 ,p_token_3 => 'OWNER'
46631 ,p_value_3 => xla_lookups_pkg.get_meaning(
46632 p_lookup_type => 'XLA_OWNER_TYPE'
46633 ,p_lookup_code => l_component_type_code
46634 )
46635 ,p_token_4 => 'PRODUCT_NAME'
46636 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
46637 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
46638 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
46639 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
46640 ,p_ae_header_id => NULL
46641 );
46642
46643 IF (C_LEVEL_ERROR>= g_log_level) THEN
46644 trace
46645 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
46646 ,p_level => C_LEVEL_ERROR
46647 ,p_module => l_log_module);
46648 END IF;
46649 END IF;
46650 END IF;
46651 --
46652 --
46653 ------------------------------------------------------------------------------------------------
46654 -- 4219869 Business Flow
46655 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
46656 -- Prior Entry. Currently, the following code is always generated.
46657 ------------------------------------------------------------------------------------------------
46658 -- No ValidateCurrentLine for business flow method of Prior Entry
46659
46660 ------------------------------------------------------------------------------------
46661 -- 4219869 Business Flow
46662 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
46663 ------------------------------------------------------------------------------------
46664 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46665
46666 ----------------------------------------------------------------------------------
46667 -- 4219869 Business Flow
46668 -- Update journal entry status -- Need to generate this within IF <condition>
46669 ----------------------------------------------------------------------------------
46670 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46671 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
46672 ,p_balance_type_code => l_balance_type_code
46673 );
46674
46675 -------------------------------------------------------------------------------------------
46676 -- 4262811 - Generate the Accrual Reversal lines
46677 -------------------------------------------------------------------------------------------
46678 BEGIN
46679 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
46680 (g_array_event(p_event_id).array_value_num('header_index'));
46681 IF l_acc_rev_flag IS NULL THEN
46682 l_acc_rev_flag := 'N';
46683 END IF;
46684 EXCEPTION
46685 WHEN OTHERS THEN
46686 l_acc_rev_flag := 'N';
46687 END;
46688 --
46689 IF (l_acc_rev_flag = 'Y') THEN
46690
46691 -- 4645092 ------------------------------------------------------------------------------
46695
46692 -- To allow MPA report to determine if it should generate report process
46693 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
46694 ------------------------------------------------------------------------------------------
46696 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
46697 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
46698 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
46699 -- call ADRs
46700 -- Bug 4922099
46701 --
46702 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
46703 (NVL(l_actual_upg_option, 'N') = 'O') OR
46704 (NVL(l_enc_upg_option, 'N') = 'O')
46705 )
46706 THEN
46707 NULL;
46708 --
46709 --
46710
46711 --
46712 --
46713 END IF;
46714
46715 --
46716 -- Update the line information that should be overwritten
46717 --
46718 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
46719 p_header_num => 1);
46720 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
46721
46722 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
46723
46724 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
46725 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
46726 END IF;
46727
46728 --
46729 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
46730 --
46731 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
46732 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
46733 ELSE
46734 ---------------------------------------------------------------------------------------------------
46735 -- 4262811a Switch Sign
46736 ---------------------------------------------------------------------------------------------------
46737 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
46738 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46739 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46740 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
46741 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46742 -- 5132302
46743 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
46744 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
46745
46746 END IF;
46747
46748 -- 4955764
46749 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
46750 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
46751
46752
46753 XLA_AE_LINES_PKG.ValidateCurrentLine;
46754 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
46755
46756 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
46757 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
46758 ,p_balance_type_code => l_balance_type_code);
46759
46760 END IF;
46761
46762 -----------------------------------------------------------------------------------------
46763 -- 4262811 Multiperiod Accounting
46764 -----------------------------------------------------------------------------------------
46765 -- No MPA option is assigned.
46766
46767
46768 END IF;
46769 END IF;
46770 --
46771
46772 --
46773 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46774 trace
46775 (p_msg => 'END of AcctLineType_102'
46776 ,p_level => C_LEVEL_PROCEDURE
46777 ,p_module => l_log_module);
46778 END IF;
46779 --
46780 EXCEPTION
46781 WHEN xla_exceptions_pkg.application_exception THEN
46782 RAISE;
46783 WHEN OTHERS THEN
46784 xla_exceptions_pkg.raise_message
46785 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_102');
46786 END AcctLineType_102;
46787 --
46788
46789 ---------------------------------------
46790 --
46791 -- PRIVATE FUNCTION
46792 -- AcctLineType_103
46793 --
46794 ---------------------------------------
46795 PROCEDURE AcctLineType_103 (
46796 p_application_id IN NUMBER
46797 ,p_event_id IN NUMBER
46798 ,p_calculate_acctd_flag IN VARCHAR2
46799 ,p_calculate_g_l_flag IN VARCHAR2
46800 ,p_actual_flag IN OUT VARCHAR2
46801 ,p_balance_type_code OUT VARCHAR2
46802 ,p_gain_or_loss_ref OUT VARCHAR2
46803
46804 --Accounting Reversal Indicator
46805 , p_source_41 IN VARCHAR2
46806 --Distribution Link Type
46807 , p_source_43 IN VARCHAR2
46808 --Invoice Identifier
46809 , p_source_46 IN NUMBER
46810 --Payables Encumbrance Upgrade Credit Account
46811 , p_source_53 IN NUMBER
46812 --Payables Encumbrance Upgrade Credit Amount
46813 , p_source_54 IN NUMBER
46814 --Invoice Currency Code
46815 , p_source_55 IN VARCHAR2
46816 --Payables Encumbrance Upgrade Credit Base Amount
46820 --Payables Encumbrance Upgrade Debit Amount
46817 , p_source_56 IN NUMBER
46818 --Payables Encumbrance Upgrade Debit Account
46819 , p_source_57 IN NUMBER
46821 , p_source_58 IN NUMBER
46822 --Payables Encumbrance Upgrade Debit Base Amount
46823 , p_source_59 IN NUMBER
46824 --Payables Encumbrance Upgrade Option
46825 , p_source_60 IN VARCHAR2
46826 --Deferred Accounting End Date
46827 , p_source_65 IN DATE
46828 --Deferred Accounting Option
46829 , p_source_66 IN VARCHAR2
46830 --Deferred Accounting Start Date
46831 , p_source_67 IN DATE
46832 --Override Accounted Amount Indicator
46833 , p_source_68 IN VARCHAR2
46834 , p_source_68_meaning IN VARCHAR2
46835 --Third Party Type
46836 , p_source_71 IN VARCHAR2
46837 --Invoice Distribution Tax Line Identifier
46838 , p_source_74 IN NUMBER
46839 --Invoice Distribution Tax Distribution Identifier from Tax
46840 , p_source_75 IN NUMBER
46841 --Invoice Distribution Summary Tax Line Identifier
46842 , p_source_76 IN NUMBER
46843 --Payables Upgrade Credit Encumbrance Type Identifier
46844 , p_source_77 IN NUMBER
46845 --Payables Upgrade Debit Encumbrance Type Identifier
46846 , p_source_78 IN NUMBER
46847 --Business Flow Accounts Payable Application Identifier
46848 , p_source_79 IN NUMBER
46849 --Business Flow Invoice Distribution Type
46850 , p_source_80 IN VARCHAR2
46851 --Business Flow Invoice Entity Code
46852 , p_source_81 IN VARCHAR2
46853 --Prepayment Application Distribution Identifier
46854 , p_source_120 IN NUMBER
46855 --Upgrade Encumbrance Credit Account Class
46856 , p_source_125 IN VARCHAR2
46857 --Upgrade Encumbrance Debit Account Class
46858 , p_source_126 IN VARCHAR2
46859 --Prepayment Distribution Amount
46860 , p_source_127 IN NUMBER
46861 --Identifier of the Prepayment Application Reversed
46862 , p_source_129 IN NUMBER
46863 --Deferred Recoverable Tax Option
46864 , p_source_130 IN VARCHAR2
46865 , p_source_130_meaning IN VARCHAR2
46866 --Business Flow Recipient Invoice Distribution Identifier
46867 , p_source_132 IN NUMBER
46868 --Business Flow Recipient Invoice Identifier
46869 , p_source_133 IN NUMBER
46870 --Prepayment Distribution (Invoice Rate) Ledger Amount
46871 , p_source_134 IN NUMBER
46872 )
46873 IS
46874
46875 l_component_type VARCHAR2(80);
46876 l_component_code VARCHAR2(30);
46877 l_component_type_code VARCHAR2(1);
46878 l_component_appl_id INTEGER;
46879 l_amb_context_code VARCHAR2(30);
46880 l_entity_code VARCHAR2(30);
46881 l_event_class_code VARCHAR2(30);
46882 l_ae_header_id NUMBER;
46883 l_event_type_code VARCHAR2(30);
46884 l_line_definition_code VARCHAR2(30);
46885 l_line_definition_owner_code VARCHAR2(1);
46886 --
46887 -- adr variables
46888 l_segment VARCHAR2(30);
46889 l_ccid NUMBER;
46890 l_adr_transaction_coa_id NUMBER;
46891 l_adr_accounting_coa_id NUMBER;
46892 l_adr_flexfield_segment_code VARCHAR2(30);
46893 l_adr_flex_value_set_id NUMBER;
46894 l_adr_value_type_code VARCHAR2(30);
46895 l_adr_value_combination_id NUMBER;
46896 l_adr_value_segment_code VARCHAR2(30);
46897
46898 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
46899 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
46900 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
46901 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
46902
46903 -- 4262811 Variables ------------------------------------------------------------------------------------------
46904 l_entered_amt_idx NUMBER;
46905 l_accted_amt_idx NUMBER;
46906 l_acc_rev_flag VARCHAR2(1);
46907 l_accrual_line_num NUMBER;
46908 l_tmp_amt NUMBER;
46909 l_acc_rev_natural_side_code VARCHAR2(1);
46910
46911 l_num_entries NUMBER;
46912 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
46913 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
46914 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
46915 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
46916 l_recog_line_1 NUMBER;
46917 l_recog_line_2 NUMBER;
46918
46919 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
46920 l_bflow_applied_to_amt NUMBER; -- 5132302
46921 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
46922
46923 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
46924
46925 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
46926 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
46927
46928 ---------------------------------------------------------------------------------------------------------------
46929
46930
46931 --
46932 -- bulk performance
46933 --
46934 l_balance_type_code VARCHAR2(1);
46935 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
46936 l_log_module VARCHAR2(240);
46940 --
46937
46938 --
46939 -- Upgrade strategy
46941 l_actual_upg_option VARCHAR2(1);
46942 l_enc_upg_option VARCHAR2(1);
46943
46944 --
46945 BEGIN
46946 --
46947 IF g_log_enabled THEN
46948 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_103';
46949 END IF;
46950 --
46951 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
46952
46953 trace
46954 (p_msg => 'BEGIN of AcctLineType_103'
46955 ,p_level => C_LEVEL_PROCEDURE
46956 ,p_module => l_log_module);
46957
46958 END IF;
46959 --
46960 l_component_type := 'AMB_JLT';
46961 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAY';
46962 l_component_type_code := 'S';
46963 l_component_appl_id := 200;
46964 l_amb_context_code := 'DEFAULT';
46965 l_entity_code := 'AP_INVOICES';
46966 l_event_class_code := 'PREPAYMENT APPLICATIONS';
46967 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
46968 l_line_definition_owner_code := 'S';
46969 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
46970 --
46971 l_balance_type_code := 'A';
46972 l_segment := NULL;
46973 l_ccid := NULL;
46974 l_adr_transaction_coa_id := NULL;
46975 l_adr_accounting_coa_id := NULL;
46976 l_adr_flexfield_segment_code := NULL;
46977 l_adr_flex_value_set_id := NULL;
46978 l_adr_value_type_code := NULL;
46979 l_adr_value_combination_id := NULL;
46980 l_adr_value_segment_code := NULL;
46981
46982 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
46983 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
46984 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
46985 l_budgetary_control_flag := 'N';
46986
46987 l_bflow_applied_to_amt_idx := NULL; -- 5132302
46988 l_bflow_applied_to_amt := NULL; -- 5132302
46989 l_entered_amt_idx := NULL; -- 4262811
46990 l_accted_amt_idx := NULL; -- 4262811
46991 l_acc_rev_flag := NULL; -- 4262811
46992 l_accrual_line_num := NULL; -- 4262811
46993 l_tmp_amt := NULL; -- 4262811
46994 --
46995
46996 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
46997 l_balance_type_code <> 'B' THEN
46998 IF NVL(p_source_130,'
46999 ') = 'DEFERRED'
47000 THEN
47001
47002 --
47003 XLA_AE_LINES_PKG.SetNewLine;
47004
47005 p_balance_type_code := l_balance_type_code;
47006 -- set the flag so later we will know whether the gain loss line needs to be created
47007
47008 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47009 p_actual_flag :='A';
47010 END IF;
47011
47012 --
47013 -- bulk performance
47014 --
47015 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47016 p_header_num => 0); -- 4262811
47017 --
47018 -- set accounting line options
47019 --
47020 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47021 p_natural_side_code => 'D'
47022 , p_gain_or_loss_flag => 'N'
47023 , p_gl_transfer_mode_code => 'S'
47024 , p_acct_entry_type_code => 'A'
47025 , p_switch_side_flag => 'Y'
47026 , p_merge_duplicate_code => 'A'
47027 );
47028 --
47029 l_acc_rev_natural_side_code := 'C'; -- 4262811
47030 --
47031 --
47032 -- set accounting line type info
47033 --
47034 xla_ae_lines_pkg.SetAcctLineType
47035 (p_component_type => l_component_type
47036 ,p_event_type_code => l_event_type_code
47037 ,p_line_definition_owner_code => l_line_definition_owner_code
47038 ,p_line_definition_code => l_line_definition_code
47039 ,p_accounting_line_code => l_component_code
47040 ,p_accounting_line_type_code => l_component_type_code
47041 ,p_accounting_line_appl_id => l_component_appl_id
47042 ,p_amb_context_code => l_amb_context_code
47043 ,p_entity_code => l_entity_code
47044 ,p_event_class_code => l_event_class_code);
47045 --
47046 -- set accounting class
47047 --
47048 xla_ae_lines_pkg.SetAcctClass(
47049 p_accounting_class_code => 'DEF_REC_TAX'
47050 , p_ae_header_id => l_ae_header_id
47051 );
47052
47053 --
47054 -- set rounding class
47055 --
47056 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47057 'DEF_REC_TAX';
47058
47059 --
47060 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47061 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47062 --
47063 -- bulk performance
47064 --
47065 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47066
47067 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47068 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47069
47070 -- 4955764
47071 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47075
47072 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47073
47074 -- 4458381 Public Sector Enh
47076 --
47077 -- set accounting attributes for the line type
47078 --
47079 l_entered_amt_idx := 25;
47080 l_accted_amt_idx := 27;
47081 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47082 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47083 l_rec_acct_attrs.array_char_value(1) := p_source_41;
47084 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
47085 l_rec_acct_attrs.array_num_value(2) :=
47086 xla_ae_sources_pkg.GetSystemSourceNum(
47087 p_source_code => 'XLA_EVENT_APPL_ID'
47088 , p_source_type_code => 'Y'
47089 , p_source_application_id => 602
47090 );
47091 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
47092 l_rec_acct_attrs.array_char_value(3) := p_source_43;
47093 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
47094 l_rec_acct_attrs.array_char_value(4) :=
47095 xla_ae_sources_pkg.GetSystemSourceChar(
47096 p_source_code => 'XLA_ENTITY_CODE'
47097 , p_source_type_code => 'Y'
47098 , p_source_application_id => 602
47099 );
47100 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
47101 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
47102 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
47103 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
47104 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
47105 l_rec_acct_attrs.array_num_value(7) := p_source_79;
47106 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47107 l_rec_acct_attrs.array_char_value(8) := p_source_80;
47108 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
47109 l_rec_acct_attrs.array_char_value(9) := p_source_81;
47110 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
47111 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_132);
47112 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
47113 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_133);
47114 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
47115 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
47116 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
47117 l_rec_acct_attrs.array_char_value(13) := p_source_43;
47118 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
47119 l_rec_acct_attrs.array_char_value(14) := p_source_125;
47120 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
47121 l_rec_acct_attrs.array_num_value(15) := p_source_53;
47122 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
47123 l_rec_acct_attrs.array_num_value(16) := p_source_54;
47124 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
47125 l_rec_acct_attrs.array_char_value(17) := p_source_55;
47126 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
47127 l_rec_acct_attrs.array_num_value(18) := p_source_56;
47128 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
47129 l_rec_acct_attrs.array_char_value(19) := p_source_126;
47130 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
47131 l_rec_acct_attrs.array_num_value(20) := p_source_57;
47132 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
47133 l_rec_acct_attrs.array_num_value(21) := p_source_58;
47134 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
47135 l_rec_acct_attrs.array_char_value(22) := p_source_55;
47136 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
47137 l_rec_acct_attrs.array_num_value(23) := p_source_59;
47138 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
47139 l_rec_acct_attrs.array_char_value(24) := p_source_60;
47140 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
47141 l_rec_acct_attrs.array_num_value(25) := p_source_127;
47142 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
47143 l_rec_acct_attrs.array_char_value(26) := p_source_55;
47144 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
47145 l_rec_acct_attrs.array_num_value(27) := p_source_134;
47146 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
47147 l_rec_acct_attrs.array_date_value(28) := p_source_65;
47148 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
47149 l_rec_acct_attrs.array_char_value(29) := p_source_66;
47150 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
47151 l_rec_acct_attrs.array_date_value(30) := p_source_67;
47152 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
47153 l_rec_acct_attrs.array_char_value(31) := p_source_68;
47154 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
47155 l_rec_acct_attrs.array_char_value(32) := p_source_71;
47156 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
47157 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_129);
47158 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
47159 l_rec_acct_attrs.array_char_value(34) := p_source_43;
47160 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
47161 l_rec_acct_attrs.array_num_value(35) := p_source_74;
47162 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
47166 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
47163 l_rec_acct_attrs.array_num_value(36) := p_source_75;
47164 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
47165 l_rec_acct_attrs.array_num_value(37) := p_source_76;
47167 l_rec_acct_attrs.array_num_value(38) := p_source_77;
47168 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
47169 l_rec_acct_attrs.array_num_value(39) := p_source_78;
47170
47171 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
47172 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
47173
47174 ---------------------------------------------------------------------------------------------------------------
47175 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
47176 ---------------------------------------------------------------------------------------------------------------
47177 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
47178
47179 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47180 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47181
47182 IF xla_accounting_cache_pkg.GetValueChar
47183 (p_source_code => 'LEDGER_CATEGORY_CODE'
47184 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
47185 AND l_bflow_method_code = 'PRIOR_ENTRY'
47186 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
47187 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
47188 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
47189 )
47190 THEN
47191 xla_ae_lines_pkg.BflowUpgEntry
47192 (p_business_method_code => l_bflow_method_code
47193 ,p_business_class_code => l_bflow_class_code
47194 ,p_balance_type => l_balance_type_code);
47195 ELSE
47196 NULL;
47197 XLA_AE_LINES_PKG.business_flow_validation(
47198 p_business_method_code => l_bflow_method_code
47199 ,p_business_class_code => l_bflow_class_code
47200 ,p_inherit_description_flag => l_inherit_desc_flag);
47201 END IF;
47202
47203 --
47204 -- call analytical criteria
47205 --
47206 -- Inherited Analytical Criteria for business flow method of Prior Entry.
47207 --
47208 -- call description
47209 --
47210 -- No description or it is inherited.
47211 --
47212 -- call ADRs
47213 -- Bug 4922099
47214 --
47215 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47216 (NVL(l_actual_upg_option, 'N') = 'O') OR
47217 (NVL(l_enc_upg_option, 'N') = 'O')
47218 )
47219 THEN
47220 NULL;
47221 --
47222 --
47223
47224 --
47225 --
47226 END IF;
47227 --
47228 -- Bug 4922099
47229 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47230 (NVL(l_enc_upg_option, 'N') = 'O')
47231 ) AND
47232 (l_bflow_method_code = 'PRIOR_ENTRY')
47233 )
47234 THEN
47235 IF
47236 --
47237 1 = 1
47238 --
47239 THEN
47240 xla_accounting_err_pkg.build_message
47241 (p_appli_s_name => 'XLA'
47242 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47243 ,p_token_1 => 'LINE_NUMBER'
47244 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47245 ,p_token_2 => 'LINE_TYPE_NAME'
47246 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47247 l_component_type
47248 ,l_component_code
47249 ,l_component_type_code
47250 ,l_component_appl_id
47251 ,l_amb_context_code
47252 ,l_entity_code
47253 ,l_event_class_code
47254 )
47255 ,p_token_3 => 'OWNER'
47256 ,p_value_3 => xla_lookups_pkg.get_meaning(
47257 p_lookup_type => 'XLA_OWNER_TYPE'
47258 ,p_lookup_code => l_component_type_code
47259 )
47260 ,p_token_4 => 'PRODUCT_NAME'
47261 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47262 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47266 );
47263 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47264 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47265 ,p_ae_header_id => NULL
47267
47268 IF (C_LEVEL_ERROR>= g_log_level) THEN
47269 trace
47270 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47271 ,p_level => C_LEVEL_ERROR
47272 ,p_module => l_log_module);
47273 END IF;
47274 END IF;
47275 END IF;
47276 --
47277 --
47278 ------------------------------------------------------------------------------------------------
47279 -- 4219869 Business Flow
47280 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47281 -- Prior Entry. Currently, the following code is always generated.
47282 ------------------------------------------------------------------------------------------------
47283 -- No ValidateCurrentLine for business flow method of Prior Entry
47284
47285 ------------------------------------------------------------------------------------
47286 -- 4219869 Business Flow
47287 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47288 ------------------------------------------------------------------------------------
47289 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47290
47291 ----------------------------------------------------------------------------------
47292 -- 4219869 Business Flow
47293 -- Update journal entry status -- Need to generate this within IF <condition>
47294 ----------------------------------------------------------------------------------
47295 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47296 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47297 ,p_balance_type_code => l_balance_type_code
47298 );
47299
47300 -------------------------------------------------------------------------------------------
47301 -- 4262811 - Generate the Accrual Reversal lines
47302 -------------------------------------------------------------------------------------------
47303 BEGIN
47304 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47305 (g_array_event(p_event_id).array_value_num('header_index'));
47306 IF l_acc_rev_flag IS NULL THEN
47307 l_acc_rev_flag := 'N';
47308 END IF;
47309 EXCEPTION
47310 WHEN OTHERS THEN
47311 l_acc_rev_flag := 'N';
47312 END;
47313 --
47314 IF (l_acc_rev_flag = 'Y') THEN
47315
47316 -- 4645092 ------------------------------------------------------------------------------
47317 -- To allow MPA report to determine if it should generate report process
47318 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
47319 ------------------------------------------------------------------------------------------
47320
47321 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
47322 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
47323 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
47324 -- call ADRs
47325 -- Bug 4922099
47326 --
47327 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47328 (NVL(l_actual_upg_option, 'N') = 'O') OR
47329 (NVL(l_enc_upg_option, 'N') = 'O')
47330 )
47331 THEN
47332 NULL;
47333 --
47334 --
47335
47336 --
47337 --
47338 END IF;
47339
47340 --
47341 -- Update the line information that should be overwritten
47342 --
47343 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
47344 p_header_num => 1);
47345 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
47346
47347 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
47348
47349 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
47350 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
47351 END IF;
47352
47353 --
47354 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
47355 --
47356 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
47357 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
47358 ELSE
47359 ---------------------------------------------------------------------------------------------------
47360 -- 4262811a Switch Sign
47361 ---------------------------------------------------------------------------------------------------
47362 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
47363 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47364 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47365 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
47369 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47366 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
47367 -- 5132302
47368 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
47370
47371 END IF;
47372
47373 -- 4955764
47374 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47375 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
47376
47377
47378 XLA_AE_LINES_PKG.ValidateCurrentLine;
47379 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47380
47381 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47382 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
47383 ,p_balance_type_code => l_balance_type_code);
47384
47385 END IF;
47386
47387 -----------------------------------------------------------------------------------------
47388 -- 4262811 Multiperiod Accounting
47389 -----------------------------------------------------------------------------------------
47390 -- No MPA option is assigned.
47391
47392
47393 END IF;
47394 END IF;
47395 --
47396
47397 --
47398 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47399 trace
47400 (p_msg => 'END of AcctLineType_103'
47401 ,p_level => C_LEVEL_PROCEDURE
47402 ,p_module => l_log_module);
47403 END IF;
47404 --
47405 EXCEPTION
47406 WHEN xla_exceptions_pkg.application_exception THEN
47407 RAISE;
47408 WHEN OTHERS THEN
47409 xla_exceptions_pkg.raise_message
47410 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_103');
47411 END AcctLineType_103;
47412 --
47413
47414 ---------------------------------------
47415 --
47416 -- PRIVATE FUNCTION
47417 -- AcctLineType_104
47418 --
47419 ---------------------------------------
47420 PROCEDURE AcctLineType_104 (
47421 p_application_id IN NUMBER
47422 ,p_event_id IN NUMBER
47423 ,p_calculate_acctd_flag IN VARCHAR2
47424 ,p_calculate_g_l_flag IN VARCHAR2
47425 ,p_actual_flag IN OUT VARCHAR2
47426 ,p_balance_type_code OUT VARCHAR2
47427 ,p_gain_or_loss_ref OUT VARCHAR2
47428
47429 --Invoice Distribution Description
47430 , p_source_1 IN VARCHAR2
47431 --Invoice Distribution Ledger Amount
47432 , p_source_9 IN NUMBER
47433 --Invoice Distribution Account
47434 , p_source_18 IN NUMBER
47435 --Invoice Distribution Type
47436 , p_source_21 IN VARCHAR2
47437 , p_source_21_meaning IN VARCHAR2
47438 --Accounting Reversal Indicator
47439 , p_source_41 IN VARCHAR2
47440 --Distribution Link Type
47441 , p_source_43 IN VARCHAR2
47442 --Allocation to Main Distribution Identifier
47443 , p_source_45 IN NUMBER
47444 --Invoice Identifier
47445 , p_source_46 IN NUMBER
47446 --Invoice Distribution Identifier
47447 , p_source_52 IN NUMBER
47448 --Payables Encumbrance Upgrade Credit Account
47449 , p_source_53 IN NUMBER
47450 --Payables Encumbrance Upgrade Credit Amount
47451 , p_source_54 IN NUMBER
47452 --Invoice Currency Code
47453 , p_source_55 IN VARCHAR2
47454 --Payables Encumbrance Upgrade Credit Base Amount
47455 , p_source_56 IN NUMBER
47456 --Payables Encumbrance Upgrade Debit Account
47457 , p_source_57 IN NUMBER
47458 --Payables Encumbrance Upgrade Debit Amount
47459 , p_source_58 IN NUMBER
47460 --Payables Encumbrance Upgrade Debit Base Amount
47461 , p_source_59 IN NUMBER
47462 --Payables Encumbrance Upgrade Option
47463 , p_source_60 IN VARCHAR2
47464 --Invoice Distribution Amount
47465 , p_source_61 IN NUMBER
47466 --Deferred Accounting End Date
47467 , p_source_65 IN DATE
47468 --Deferred Accounting Option
47469 , p_source_66 IN VARCHAR2
47470 --Deferred Accounting Start Date
47471 , p_source_67 IN DATE
47472 --Override Accounted Amount Indicator
47473 , p_source_68 IN VARCHAR2
47474 , p_source_68_meaning IN VARCHAR2
47475 --Invoice Supplier Identifier
47476 , p_source_69 IN NUMBER
47477 --Invoice Supplier Site Identifier
47478 , p_source_70 IN NUMBER
47479 --Third Party Type
47480 , p_source_71 IN VARCHAR2
47481 --Parent Reversal Identifier
47482 , p_source_72 IN NUMBER
47483 --Invoice Distribution Statistical Amount
47484 , p_source_73 IN NUMBER
47485 --Invoice Distribution Tax Line Identifier
47486 , p_source_74 IN NUMBER
47487 --Invoice Distribution Tax Distribution Identifier from Tax
47488 , p_source_75 IN NUMBER
47489 --Invoice Distribution Summary Tax Line Identifier
47490 , p_source_76 IN NUMBER
47491 --Payables Upgrade Credit Encumbrance Type Identifier
47492 , p_source_77 IN NUMBER
47493 --Payables Upgrade Debit Encumbrance Type Identifier
47494 , p_source_78 IN NUMBER
47495 --Business Flow Accounts Payable Application Identifier
47496 , p_source_79 IN NUMBER
47497 --Business Flow Invoice Distribution Type
47498 , p_source_80 IN VARCHAR2
47499 --Business Flow Invoice Entity Code
47500 , p_source_81 IN VARCHAR2
47504 , p_source_83 IN NUMBER
47501 --Business Flow Invoice Distribution Identifier
47502 , p_source_82 IN NUMBER
47503 --Business Flow Invoice Identifier
47505 --Deferred Recoverable Tax Option
47506 , p_source_130 IN VARCHAR2
47507 , p_source_130_meaning IN VARCHAR2
47508 --Self-Assessed Tax Flag
47509 , p_source_135 IN VARCHAR2
47510 , p_source_135_meaning IN VARCHAR2
47511 --Invoice Exchange Date
47512 , p_source_136 IN DATE
47513 --Invoice Exchange Rate
47514 , p_source_137 IN NUMBER
47515 --Invoice Exchange Rate Type
47516 , p_source_138 IN VARCHAR2
47517 )
47518 IS
47519
47520 l_component_type VARCHAR2(80);
47521 l_component_code VARCHAR2(30);
47522 l_component_type_code VARCHAR2(1);
47523 l_component_appl_id INTEGER;
47524 l_amb_context_code VARCHAR2(30);
47525 l_entity_code VARCHAR2(30);
47526 l_event_class_code VARCHAR2(30);
47527 l_ae_header_id NUMBER;
47528 l_event_type_code VARCHAR2(30);
47529 l_line_definition_code VARCHAR2(30);
47530 l_line_definition_owner_code VARCHAR2(1);
47531 --
47532 -- adr variables
47533 l_segment VARCHAR2(30);
47534 l_ccid NUMBER;
47535 l_adr_transaction_coa_id NUMBER;
47536 l_adr_accounting_coa_id NUMBER;
47537 l_adr_flexfield_segment_code VARCHAR2(30);
47538 l_adr_flex_value_set_id NUMBER;
47539 l_adr_value_type_code VARCHAR2(30);
47540 l_adr_value_combination_id NUMBER;
47541 l_adr_value_segment_code VARCHAR2(30);
47542
47543 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
47544 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
47545 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
47546 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
47547
47548 -- 4262811 Variables ------------------------------------------------------------------------------------------
47549 l_entered_amt_idx NUMBER;
47550 l_accted_amt_idx NUMBER;
47551 l_acc_rev_flag VARCHAR2(1);
47552 l_accrual_line_num NUMBER;
47553 l_tmp_amt NUMBER;
47554 l_acc_rev_natural_side_code VARCHAR2(1);
47555
47556 l_num_entries NUMBER;
47557 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
47558 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
47559 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
47560 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
47561 l_recog_line_1 NUMBER;
47562 l_recog_line_2 NUMBER;
47563
47564 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
47565 l_bflow_applied_to_amt NUMBER; -- 5132302
47566 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
47567
47568 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
47569
47570 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
47571 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
47572
47573 ---------------------------------------------------------------------------------------------------------------
47574
47575
47576 --
47577 -- bulk performance
47578 --
47579 l_balance_type_code VARCHAR2(1);
47580 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
47581 l_log_module VARCHAR2(240);
47582
47583 --
47584 -- Upgrade strategy
47585 --
47586 l_actual_upg_option VARCHAR2(1);
47587 l_enc_upg_option VARCHAR2(1);
47588
47589 --
47590 BEGIN
47591 --
47592 IF g_log_enabled THEN
47593 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_104';
47594 END IF;
47595 --
47596 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
47597
47598 trace
47599 (p_msg => 'BEGIN of AcctLineType_104'
47600 ,p_level => C_LEVEL_PROCEDURE
47601 ,p_module => l_log_module);
47602
47603 END IF;
47604 --
47605 l_component_type := 'AMB_JLT';
47606 l_component_code := 'AP_DEF_RTAX_INTERIM_PREPAYMENT';
47607 l_component_type_code := 'S';
47608 l_component_appl_id := 200;
47609 l_amb_context_code := 'DEFAULT';
47610 l_entity_code := 'AP_INVOICES';
47611 l_event_class_code := 'PREPAYMENTS';
47612 l_event_type_code := 'PREPAYMENTS_ALL';
47613 l_line_definition_owner_code := 'S';
47614 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
47615 --
47616 l_balance_type_code := 'A';
47617 l_segment := NULL;
47618 l_ccid := NULL;
47619 l_adr_transaction_coa_id := NULL;
47620 l_adr_accounting_coa_id := NULL;
47621 l_adr_flexfield_segment_code := NULL;
47622 l_adr_flex_value_set_id := NULL;
47623 l_adr_value_type_code := NULL;
47624 l_adr_value_combination_id := NULL;
47625 l_adr_value_segment_code := NULL;
47626
47627 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
47628 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
47629 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
47630 l_budgetary_control_flag := 'N';
47631
47635 l_accted_amt_idx := NULL; -- 4262811
47632 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47633 l_bflow_applied_to_amt := NULL; -- 5132302
47634 l_entered_amt_idx := NULL; -- 4262811
47636 l_acc_rev_flag := NULL; -- 4262811
47637 l_accrual_line_num := NULL; -- 4262811
47638 l_tmp_amt := NULL; -- 4262811
47639 --
47640
47641 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
47642 l_balance_type_code <> 'B' THEN
47643 IF NVL(p_source_21,'
47644 ') = 'REC_TAX' AND
47645 NVL(p_source_130,'
47646 ') = 'DEFERRED' AND
47647 NVL(p_source_135,'
47648 ') <> 'Y'
47649 THEN
47650
47651 --
47652 XLA_AE_LINES_PKG.SetNewLine;
47653
47654 p_balance_type_code := l_balance_type_code;
47655 -- set the flag so later we will know whether the gain loss line needs to be created
47656
47657 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
47658 p_actual_flag :='A';
47659 END IF;
47660
47661 --
47662 -- bulk performance
47663 --
47664 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
47665 p_header_num => 0); -- 4262811
47666 --
47667 -- set accounting line options
47668 --
47669 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
47670 p_natural_side_code => 'D'
47671 , p_gain_or_loss_flag => 'N'
47672 , p_gl_transfer_mode_code => 'S'
47673 , p_acct_entry_type_code => 'A'
47674 , p_switch_side_flag => 'Y'
47675 , p_merge_duplicate_code => 'A'
47676 );
47677 --
47678 l_acc_rev_natural_side_code := 'C'; -- 4262811
47679 --
47680 --
47681 -- set accounting line type info
47682 --
47683 xla_ae_lines_pkg.SetAcctLineType
47684 (p_component_type => l_component_type
47685 ,p_event_type_code => l_event_type_code
47686 ,p_line_definition_owner_code => l_line_definition_owner_code
47687 ,p_line_definition_code => l_line_definition_code
47688 ,p_accounting_line_code => l_component_code
47689 ,p_accounting_line_type_code => l_component_type_code
47690 ,p_accounting_line_appl_id => l_component_appl_id
47691 ,p_amb_context_code => l_amb_context_code
47692 ,p_entity_code => l_entity_code
47693 ,p_event_class_code => l_event_class_code);
47694 --
47695 -- set accounting class
47696 --
47697 xla_ae_lines_pkg.SetAcctClass(
47698 p_accounting_class_code => 'DEF_REC_TAX'
47699 , p_ae_header_id => l_ae_header_id
47700 );
47701
47702 --
47703 -- set rounding class
47704 --
47705 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
47706 'DEF_REC_TAX';
47707
47708 --
47709 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
47710 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
47711 --
47712 -- bulk performance
47713 --
47714 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
47715
47716 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
47717 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
47718
47719 -- 4955764
47720 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
47721 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
47722
47723 -- 4458381 Public Sector Enh
47724
47725 --
47726 -- set accounting attributes for the line type
47727 --
47728 l_entered_amt_idx := 23;
47729 l_accted_amt_idx := 28;
47730 l_bflow_applied_to_amt_idx := NULL; -- 5132302
47731 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
47732 l_rec_acct_attrs.array_char_value(1) := p_source_41;
47733 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
47734 l_rec_acct_attrs.array_num_value(2) :=
47735 xla_ae_sources_pkg.GetSystemSourceNum(
47736 p_source_code => 'XLA_EVENT_APPL_ID'
47737 , p_source_type_code => 'Y'
47738 , p_source_application_id => 602
47739 );
47740 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
47741 l_rec_acct_attrs.array_char_value(3) := p_source_43;
47742 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
47743 l_rec_acct_attrs.array_char_value(4) :=
47744 xla_ae_sources_pkg.GetSystemSourceChar(
47745 p_source_code => 'XLA_ENTITY_CODE'
47746 , p_source_type_code => 'Y'
47747 , p_source_application_id => 602
47748 );
47749 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
47750 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
47751 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
47752 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
47753 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
47754 l_rec_acct_attrs.array_num_value(7) := p_source_79;
47755 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
47759 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
47756 l_rec_acct_attrs.array_char_value(8) := p_source_80;
47757 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
47758 l_rec_acct_attrs.array_char_value(9) := p_source_81;
47760 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
47761 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
47762 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
47763 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
47764 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
47765 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
47766 l_rec_acct_attrs.array_char_value(13) := p_source_43;
47767 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
47768 l_rec_acct_attrs.array_num_value(14) := p_source_53;
47769 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
47770 l_rec_acct_attrs.array_num_value(15) := p_source_54;
47771 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
47772 l_rec_acct_attrs.array_char_value(16) := p_source_55;
47773 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
47774 l_rec_acct_attrs.array_num_value(17) := p_source_56;
47775 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
47776 l_rec_acct_attrs.array_num_value(18) := p_source_57;
47777 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
47778 l_rec_acct_attrs.array_num_value(19) := p_source_58;
47779 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
47780 l_rec_acct_attrs.array_char_value(20) := p_source_55;
47781 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
47782 l_rec_acct_attrs.array_num_value(21) := p_source_59;
47783 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
47784 l_rec_acct_attrs.array_char_value(22) := p_source_60;
47785 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
47786 l_rec_acct_attrs.array_num_value(23) := p_source_61;
47787 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
47788 l_rec_acct_attrs.array_char_value(24) := p_source_55;
47789 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
47790 l_rec_acct_attrs.array_date_value(25) := p_source_136;
47791 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
47792 l_rec_acct_attrs.array_num_value(26) := p_source_137;
47793 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
47794 l_rec_acct_attrs.array_char_value(27) := p_source_138;
47795 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
47796 l_rec_acct_attrs.array_num_value(28) := p_source_9;
47797 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
47798 l_rec_acct_attrs.array_date_value(29) := p_source_65;
47799 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
47800 l_rec_acct_attrs.array_char_value(30) := p_source_66;
47801 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
47802 l_rec_acct_attrs.array_date_value(31) := p_source_67;
47803 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
47804 l_rec_acct_attrs.array_char_value(32) := p_source_68;
47805 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
47806 l_rec_acct_attrs.array_num_value(33) := p_source_69;
47807 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
47808 l_rec_acct_attrs.array_num_value(34) := p_source_70;
47809 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
47810 l_rec_acct_attrs.array_char_value(35) := p_source_71;
47811 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
47812 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
47813 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
47814 l_rec_acct_attrs.array_char_value(37) := p_source_43;
47815 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
47816 l_rec_acct_attrs.array_num_value(38) := p_source_73;
47817 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
47818 l_rec_acct_attrs.array_num_value(39) := p_source_74;
47819 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
47820 l_rec_acct_attrs.array_num_value(40) := p_source_75;
47821 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
47822 l_rec_acct_attrs.array_num_value(41) := p_source_76;
47823 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
47824 l_rec_acct_attrs.array_num_value(42) := p_source_77;
47825 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
47826 l_rec_acct_attrs.array_num_value(43) := p_source_78;
47827
47828 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
47829 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
47830
47831 ---------------------------------------------------------------------------------------------------------------
47832 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
47833 ---------------------------------------------------------------------------------------------------------------
47834 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
47835
47839 IF xla_accounting_cache_pkg.GetValueChar
47836 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47837 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
47838
47840 (p_source_code => 'LEDGER_CATEGORY_CODE'
47841 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
47842 AND l_bflow_method_code = 'PRIOR_ENTRY'
47843 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
47844 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
47845 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
47846 )
47847 THEN
47848 xla_ae_lines_pkg.BflowUpgEntry
47849 (p_business_method_code => l_bflow_method_code
47850 ,p_business_class_code => l_bflow_class_code
47851 ,p_balance_type => l_balance_type_code);
47852 ELSE
47853 NULL;
47854 -- No business flow processing for business flow method of NONE.
47855 END IF;
47856
47857 --
47858 -- call analytical criteria
47859 --
47860
47861 --
47862 -- call description
47863 --
47864
47865 xla_ae_lines_pkg.SetLineDescription(
47866 p_ae_header_id => l_ae_header_id
47867 ,p_description => Description_2 (
47868 p_application_id => p_application_id
47869 , p_ae_header_id => l_ae_header_id
47870 , p_source_1 => p_source_1
47871 )
47872 );
47873
47874
47875 --
47876 -- call ADRs
47877 -- Bug 4922099
47878 --
47879 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
47880 (NVL(l_actual_upg_option, 'N') = 'O') OR
47881 (NVL(l_enc_upg_option, 'N') = 'O')
47882 )
47883 THEN
47884 NULL;
47885 --
47886 --
47887
47888 l_ccid := AcctDerRule_32(
47889 p_application_id => p_application_id
47890 , p_ae_header_id => l_ae_header_id
47891 , p_source_18 => p_source_18
47892 , x_transaction_coa_id => l_adr_transaction_coa_id
47893 , x_accounting_coa_id => l_adr_accounting_coa_id
47894 , x_value_type_code => l_adr_value_type_code
47895 , p_side => 'NA'
47896 );
47897
47898 xla_ae_lines_pkg.set_ccid(
47899 p_code_combination_id => l_ccid
47900 , p_value_type_code => l_adr_value_type_code
47901 , p_transaction_coa_id => l_adr_transaction_coa_id
47902 , p_accounting_coa_id => l_adr_accounting_coa_id
47903 , p_adr_code => 'AP_INVOICE_DIST'
47904 , p_adr_type_code => 'S'
47905 , p_component_type => l_component_type
47906 , p_component_code => l_component_code
47907 , p_component_type_code => l_component_type_code
47908 , p_component_appl_id => l_component_appl_id
47909 , p_amb_context_code => l_amb_context_code
47910 , p_side => 'NA'
47911 );
47912
47913
47914 --
47915 --
47916 END IF;
47917 --
47918 -- Bug 4922099
47919 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
47920 (NVL(l_enc_upg_option, 'N') = 'O')
47921 ) AND
47922 (l_bflow_method_code = 'PRIOR_ENTRY')
47923 )
47924 THEN
47925 IF
47926 --
47927 1 = 2
47928 --
47929 THEN
47930 xla_accounting_err_pkg.build_message
47931 (p_appli_s_name => 'XLA'
47932 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47933 ,p_token_1 => 'LINE_NUMBER'
47934 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
47935 ,p_token_2 => 'LINE_TYPE_NAME'
47936 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
47937 l_component_type
47938 ,l_component_code
47939 ,l_component_type_code
47940 ,l_component_appl_id
47941 ,l_amb_context_code
47942 ,l_entity_code
47943 ,l_event_class_code
47944 )
47945 ,p_token_3 => 'OWNER'
47946 ,p_value_3 => xla_lookups_pkg.get_meaning(
47947 p_lookup_type => 'XLA_OWNER_TYPE'
47948 ,p_lookup_code => l_component_type_code
47949 )
47950 ,p_token_4 => 'PRODUCT_NAME'
47954 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
47951 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
47952 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
47953 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
47955 ,p_ae_header_id => NULL
47956 );
47957
47958 IF (C_LEVEL_ERROR>= g_log_level) THEN
47959 trace
47960 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
47961 ,p_level => C_LEVEL_ERROR
47962 ,p_module => l_log_module);
47963 END IF;
47964 END IF;
47965 END IF;
47966 --
47967 --
47968 ------------------------------------------------------------------------------------------------
47969 -- 4219869 Business Flow
47970 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
47971 -- Prior Entry. Currently, the following code is always generated.
47972 ------------------------------------------------------------------------------------------------
47973 XLA_AE_LINES_PKG.ValidateCurrentLine;
47974
47975 ------------------------------------------------------------------------------------
47976 -- 4219869 Business Flow
47977 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
47978 ------------------------------------------------------------------------------------
47979 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
47980
47981 ----------------------------------------------------------------------------------
47982 -- 4219869 Business Flow
47983 -- Update journal entry status -- Need to generate this within IF <condition>
47984 ----------------------------------------------------------------------------------
47985 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
47986 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
47987 ,p_balance_type_code => l_balance_type_code
47988 );
47989
47990 -------------------------------------------------------------------------------------------
47991 -- 4262811 - Generate the Accrual Reversal lines
47992 -------------------------------------------------------------------------------------------
47993 BEGIN
47994 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
47995 (g_array_event(p_event_id).array_value_num('header_index'));
47996 IF l_acc_rev_flag IS NULL THEN
47997 l_acc_rev_flag := 'N';
47998 END IF;
47999 EXCEPTION
48000 WHEN OTHERS THEN
48001 l_acc_rev_flag := 'N';
48002 END;
48003 --
48004 IF (l_acc_rev_flag = 'Y') THEN
48005
48006 -- 4645092 ------------------------------------------------------------------------------
48007 -- To allow MPA report to determine if it should generate report process
48008 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48009 ------------------------------------------------------------------------------------------
48010
48011 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48012 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48013 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48014 -- call ADRs
48015 -- Bug 4922099
48016 --
48017 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48018 (NVL(l_actual_upg_option, 'N') = 'O') OR
48019 (NVL(l_enc_upg_option, 'N') = 'O')
48020 )
48021 THEN
48022 NULL;
48023 --
48024 --
48025
48026 l_ccid := AcctDerRule_32(
48027 p_application_id => p_application_id
48028 , p_ae_header_id => l_ae_header_id
48029 , p_source_18 => p_source_18
48030 , x_transaction_coa_id => l_adr_transaction_coa_id
48031 , x_accounting_coa_id => l_adr_accounting_coa_id
48032 , x_value_type_code => l_adr_value_type_code
48033 , p_side => 'NA'
48034 );
48035
48036 xla_ae_lines_pkg.set_ccid(
48037 p_code_combination_id => l_ccid
48038 , p_value_type_code => l_adr_value_type_code
48039 , p_transaction_coa_id => l_adr_transaction_coa_id
48040 , p_accounting_coa_id => l_adr_accounting_coa_id
48041 , p_adr_code => 'AP_INVOICE_DIST'
48042 , p_adr_type_code => 'S'
48043 , p_component_type => l_component_type
48044 , p_component_code => l_component_code
48045 , p_component_type_code => l_component_type_code
48046 , p_component_appl_id => l_component_appl_id
48047 , p_amb_context_code => l_amb_context_code
48048 , p_side => 'NA'
48049 );
48050
48051
48052 --
48053 --
48054 END IF;
48055
48056 --
48057 -- Update the line information that should be overwritten
48058 --
48059 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48060 p_header_num => 1);
48061 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48062
48066 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48063 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48064
48065 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48067 END IF;
48068
48069 --
48070 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48071 --
48072 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48073 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48074 ELSE
48075 ---------------------------------------------------------------------------------------------------
48076 -- 4262811a Switch Sign
48077 ---------------------------------------------------------------------------------------------------
48078 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48079 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48080 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48081 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48082 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48083 -- 5132302
48084 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48085 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48086
48087 END IF;
48088
48089 -- 4955764
48090 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48091 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48092
48093
48094 XLA_AE_LINES_PKG.ValidateCurrentLine;
48095 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48096
48097 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48098 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48099 ,p_balance_type_code => l_balance_type_code);
48100
48101 END IF;
48102
48103 -----------------------------------------------------------------------------------------
48104 -- 4262811 Multiperiod Accounting
48105 -----------------------------------------------------------------------------------------
48106 -- No MPA option is assigned.
48107
48108
48109 END IF;
48110 END IF;
48111 --
48112
48113 --
48114 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48115 trace
48116 (p_msg => 'END of AcctLineType_104'
48117 ,p_level => C_LEVEL_PROCEDURE
48118 ,p_module => l_log_module);
48119 END IF;
48120 --
48121 EXCEPTION
48122 WHEN xla_exceptions_pkg.application_exception THEN
48123 RAISE;
48124 WHEN OTHERS THEN
48125 xla_exceptions_pkg.raise_message
48126 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_104');
48127 END AcctLineType_104;
48128 --
48129
48130 ---------------------------------------
48131 --
48132 -- PRIVATE FUNCTION
48133 -- AcctLineType_105
48134 --
48135 ---------------------------------------
48136 PROCEDURE AcctLineType_105 (
48137 p_application_id IN NUMBER
48138 ,p_event_id IN NUMBER
48139 ,p_calculate_acctd_flag IN VARCHAR2
48140 ,p_calculate_g_l_flag IN VARCHAR2
48141 ,p_actual_flag IN OUT VARCHAR2
48142 ,p_balance_type_code OUT VARCHAR2
48143 ,p_gain_or_loss_ref OUT VARCHAR2
48144
48145 --Invoice Distribution Type
48146 , p_source_21 IN VARCHAR2
48147 , p_source_21_meaning IN VARCHAR2
48148 --Recoverable Tax Account
48149 , p_source_40 IN NUMBER
48150 --Accounting Reversal Indicator
48151 , p_source_41 IN VARCHAR2
48152 --Distribution Link Type
48153 , p_source_43 IN VARCHAR2
48154 --Override Accounted Amount Indicator
48155 , p_source_68 IN VARCHAR2
48156 , p_source_68_meaning IN VARCHAR2
48157 --Third Party Type
48158 , p_source_71 IN VARCHAR2
48159 --Business Flow Accounts Payable Application Identifier
48160 , p_source_79 IN NUMBER
48161 --When to Account for Payment Option
48162 , p_source_89 IN VARCHAR2
48163 --Payment Distribution Type
48164 , p_source_90 IN VARCHAR2
48165 , p_source_90_meaning IN VARCHAR2
48166 --Payment Distribution Amount
48167 , p_source_91 IN NUMBER
48168 --Business Flow Payment Distribution Type
48169 , p_source_92 IN VARCHAR2
48170 --Business Flow Payment Entity Code
48171 , p_source_93 IN VARCHAR2
48172 --Business Flow Payment Distribution Identifier
48173 , p_source_94 IN NUMBER
48174 --Business Flow Payment Identifier
48175 , p_source_95 IN NUMBER
48176 --Payment Distribution Identifier
48177 , p_source_96 IN NUMBER
48178 --Payment Supplier Identifier
48179 , p_source_102 IN NUMBER
48180 --Payment Supplier Site Identifier
48181 , p_source_103 IN NUMBER
48182 --Payment Distribution Reversed Identifier
48183 , p_source_104 IN NUMBER
48184 --Payment Currency Code
48185 , p_source_106 IN VARCHAR2
48186 --Payment Maturity Date
48190 --Payment Exchange Rate
48187 , p_source_107 IN DATE
48188 --Payment Exchange Date
48189 , p_source_110 IN DATE
48191 , p_source_111 IN NUMBER
48192 --Payment Exchange Rate Type
48193 , p_source_112 IN VARCHAR2
48194 --Payment Distribution (Matured Rate) Ledger Amount
48195 , p_source_114 IN NUMBER
48196 --Deferred Recoverable Tax Option
48197 , p_source_130 IN VARCHAR2
48198 , p_source_130_meaning IN VARCHAR2
48199 )
48200 IS
48201
48202 l_component_type VARCHAR2(80);
48203 l_component_code VARCHAR2(30);
48204 l_component_type_code VARCHAR2(1);
48205 l_component_appl_id INTEGER;
48206 l_amb_context_code VARCHAR2(30);
48207 l_entity_code VARCHAR2(30);
48208 l_event_class_code VARCHAR2(30);
48209 l_ae_header_id NUMBER;
48210 l_event_type_code VARCHAR2(30);
48211 l_line_definition_code VARCHAR2(30);
48212 l_line_definition_owner_code VARCHAR2(1);
48213 --
48214 -- adr variables
48215 l_segment VARCHAR2(30);
48216 l_ccid NUMBER;
48217 l_adr_transaction_coa_id NUMBER;
48218 l_adr_accounting_coa_id NUMBER;
48219 l_adr_flexfield_segment_code VARCHAR2(30);
48220 l_adr_flex_value_set_id NUMBER;
48221 l_adr_value_type_code VARCHAR2(30);
48222 l_adr_value_combination_id NUMBER;
48223 l_adr_value_segment_code VARCHAR2(30);
48224
48225 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48226 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48227 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48228 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48229
48230 -- 4262811 Variables ------------------------------------------------------------------------------------------
48231 l_entered_amt_idx NUMBER;
48232 l_accted_amt_idx NUMBER;
48233 l_acc_rev_flag VARCHAR2(1);
48234 l_accrual_line_num NUMBER;
48235 l_tmp_amt NUMBER;
48236 l_acc_rev_natural_side_code VARCHAR2(1);
48237
48238 l_num_entries NUMBER;
48239 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48240 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48241 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48242 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48243 l_recog_line_1 NUMBER;
48244 l_recog_line_2 NUMBER;
48245
48246 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48247 l_bflow_applied_to_amt NUMBER; -- 5132302
48248 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48249
48250 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48251
48252 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48253 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48254
48255 ---------------------------------------------------------------------------------------------------------------
48256
48257
48258 --
48259 -- bulk performance
48260 --
48261 l_balance_type_code VARCHAR2(1);
48262 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48263 l_log_module VARCHAR2(240);
48264
48265 --
48266 -- Upgrade strategy
48267 --
48268 l_actual_upg_option VARCHAR2(1);
48269 l_enc_upg_option VARCHAR2(1);
48270
48271 --
48272 BEGIN
48273 --
48274 IF g_log_enabled THEN
48275 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_105';
48276 END IF;
48277 --
48278 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48279
48280 trace
48281 (p_msg => 'BEGIN of AcctLineType_105'
48282 ,p_level => C_LEVEL_PROCEDURE
48283 ,p_module => l_log_module);
48284
48285 END IF;
48286 --
48287 l_component_type := 'AMB_JLT';
48288 l_component_code := 'AP_DEF_RTAX_MAT';
48289 l_component_type_code := 'S';
48290 l_component_appl_id := 200;
48291 l_amb_context_code := 'DEFAULT';
48292 l_entity_code := 'AP_PAYMENTS';
48293 l_event_class_code := 'FUTURE DATED PAYMENTS';
48294 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
48295 l_line_definition_owner_code := 'S';
48296 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
48297 --
48298 l_balance_type_code := 'A';
48299 l_segment := NULL;
48300 l_ccid := NULL;
48301 l_adr_transaction_coa_id := NULL;
48302 l_adr_accounting_coa_id := NULL;
48303 l_adr_flexfield_segment_code := NULL;
48304 l_adr_flex_value_set_id := NULL;
48305 l_adr_value_type_code := NULL;
48306 l_adr_value_combination_id := NULL;
48307 l_adr_value_segment_code := NULL;
48308
48309 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48310 l_bflow_class_code := ''; -- 4219869 Business Flow
48311 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48312 l_budgetary_control_flag := 'N';
48313
48314 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48315 l_bflow_applied_to_amt := NULL; -- 5132302
48319 l_accrual_line_num := NULL; -- 4262811
48316 l_entered_amt_idx := NULL; -- 4262811
48317 l_accted_amt_idx := NULL; -- 4262811
48318 l_acc_rev_flag := NULL; -- 4262811
48320 l_tmp_amt := NULL; -- 4262811
48321 --
48322
48323 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48324 l_balance_type_code <> 'B' THEN
48325 IF NVL(p_source_89,'
48326 ') <> 'CLEAR_CLEAR' AND
48327 NVL(p_source_21,'
48328 ') = 'REC_TAX' AND
48329 p_source_107 IS NOT NULL AND
48330 NVL(p_source_130,'
48331 ') = 'DEFERRED' AND
48332 (NVL(p_source_90,'
48333 ') = 'DISCOUNT' OR
48334 NVL(p_source_90,'
48335 ') = 'CASH')
48336 THEN
48337
48338 --
48339 XLA_AE_LINES_PKG.SetNewLine;
48340
48341 p_balance_type_code := l_balance_type_code;
48342 -- set the flag so later we will know whether the gain loss line needs to be created
48343
48344 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48345 p_actual_flag :='A';
48346 END IF;
48347
48348 --
48349 -- bulk performance
48350 --
48351 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48352 p_header_num => 0); -- 4262811
48353 --
48354 -- set accounting line options
48355 --
48356 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
48357 p_natural_side_code => 'D'
48358 , p_gain_or_loss_flag => 'N'
48359 , p_gl_transfer_mode_code => 'S'
48360 , p_acct_entry_type_code => 'A'
48361 , p_switch_side_flag => 'Y'
48362 , p_merge_duplicate_code => 'A'
48363 );
48364 --
48365 l_acc_rev_natural_side_code := 'C'; -- 4262811
48366 --
48367 --
48368 -- set accounting line type info
48369 --
48370 xla_ae_lines_pkg.SetAcctLineType
48371 (p_component_type => l_component_type
48372 ,p_event_type_code => l_event_type_code
48373 ,p_line_definition_owner_code => l_line_definition_owner_code
48374 ,p_line_definition_code => l_line_definition_code
48375 ,p_accounting_line_code => l_component_code
48376 ,p_accounting_line_type_code => l_component_type_code
48377 ,p_accounting_line_appl_id => l_component_appl_id
48378 ,p_amb_context_code => l_amb_context_code
48379 ,p_entity_code => l_entity_code
48380 ,p_event_class_code => l_event_class_code);
48381 --
48382 -- set accounting class
48383 --
48384 xla_ae_lines_pkg.SetAcctClass(
48385 p_accounting_class_code => 'DEF_REC_TAX'
48386 , p_ae_header_id => l_ae_header_id
48387 );
48388
48389 --
48390 -- set rounding class
48391 --
48392 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
48393 'DEF_REC_TAX';
48394
48395 --
48396 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
48397 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
48398 --
48399 -- bulk performance
48400 --
48401 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
48402
48403 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
48404 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
48405
48406 -- 4955764
48407 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48408 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
48409
48410 -- 4458381 Public Sector Enh
48411
48412 --
48413 -- set accounting attributes for the line type
48414 --
48415 l_entered_amt_idx := 9;
48416 l_accted_amt_idx := 14;
48417 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48418 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
48419 l_rec_acct_attrs.array_char_value(1) := p_source_41;
48420 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
48421 l_rec_acct_attrs.array_num_value(2) := p_source_79;
48422 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
48423 l_rec_acct_attrs.array_char_value(3) := p_source_92;
48424 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
48425 l_rec_acct_attrs.array_char_value(4) := p_source_93;
48426 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
48427 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
48428 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
48429 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
48430 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
48431 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
48432 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
48433 l_rec_acct_attrs.array_char_value(8) := p_source_43;
48434 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
48435 l_rec_acct_attrs.array_num_value(9) := p_source_91;
48436 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
48440 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
48437 l_rec_acct_attrs.array_char_value(10) := p_source_106;
48438 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
48439 l_rec_acct_attrs.array_date_value(11) := p_source_110;
48441 l_rec_acct_attrs.array_num_value(12) := p_source_111;
48442 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
48443 l_rec_acct_attrs.array_char_value(13) := p_source_112;
48444 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
48445 l_rec_acct_attrs.array_num_value(14) := p_source_114;
48446 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
48447 l_rec_acct_attrs.array_char_value(15) := p_source_68;
48448 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
48449 l_rec_acct_attrs.array_num_value(16) := p_source_102;
48450 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
48451 l_rec_acct_attrs.array_num_value(17) := p_source_103;
48452 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
48453 l_rec_acct_attrs.array_char_value(18) := p_source_71;
48454 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
48455 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
48456 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
48457 l_rec_acct_attrs.array_char_value(20) := p_source_43;
48458
48459 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
48460 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
48461
48462 ---------------------------------------------------------------------------------------------------------------
48463 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
48464 ---------------------------------------------------------------------------------------------------------------
48465 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
48466
48467 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48468 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
48469
48470 IF xla_accounting_cache_pkg.GetValueChar
48471 (p_source_code => 'LEDGER_CATEGORY_CODE'
48472 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
48473 AND l_bflow_method_code = 'PRIOR_ENTRY'
48474 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
48475 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
48476 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
48477 )
48478 THEN
48479 xla_ae_lines_pkg.BflowUpgEntry
48480 (p_business_method_code => l_bflow_method_code
48481 ,p_business_class_code => l_bflow_class_code
48482 ,p_balance_type => l_balance_type_code);
48483 ELSE
48484 NULL;
48485 -- No business flow processing for business flow method of NONE.
48486 END IF;
48487
48488 --
48489 -- call analytical criteria
48490 --
48491
48492 --
48493 -- call description
48494 --
48495 -- No description or it is inherited.
48496 --
48497 -- call ADRs
48498 -- Bug 4922099
48499 --
48500 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48501 (NVL(l_actual_upg_option, 'N') = 'O') OR
48502 (NVL(l_enc_upg_option, 'N') = 'O')
48503 )
48504 THEN
48505 NULL;
48506 --
48507 --
48508
48509 l_ccid := AcctDerRule_43(
48510 p_application_id => p_application_id
48511 , p_ae_header_id => l_ae_header_id
48512 , p_source_40 => p_source_40
48513 , x_transaction_coa_id => l_adr_transaction_coa_id
48514 , x_accounting_coa_id => l_adr_accounting_coa_id
48515 , x_value_type_code => l_adr_value_type_code
48516 , p_side => 'NA'
48517 );
48518
48519 xla_ae_lines_pkg.set_ccid(
48520 p_code_combination_id => l_ccid
48521 , p_value_type_code => l_adr_value_type_code
48522 , p_transaction_coa_id => l_adr_transaction_coa_id
48523 , p_accounting_coa_id => l_adr_accounting_coa_id
48524 , p_adr_code => 'AP_TAX_ACCOUNT'
48525 , p_adr_type_code => 'S'
48526 , p_component_type => l_component_type
48527 , p_component_code => l_component_code
48528 , p_component_type_code => l_component_type_code
48529 , p_component_appl_id => l_component_appl_id
48530 , p_amb_context_code => l_amb_context_code
48531 , p_side => 'NA'
48532 );
48533
48534
48535 --
48536 --
48537 END IF;
48538 --
48539 -- Bug 4922099
48540 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
48541 (NVL(l_enc_upg_option, 'N') = 'O')
48542 ) AND
48543 (l_bflow_method_code = 'PRIOR_ENTRY')
48544 )
48545 THEN
48546 IF
48547 --
48548 1 = 2
48549 --
48550 THEN
48551 xla_accounting_err_pkg.build_message
48552 (p_appli_s_name => 'XLA'
48556 ,p_token_2 => 'LINE_TYPE_NAME'
48553 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48554 ,p_token_1 => 'LINE_NUMBER'
48555 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
48557 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
48558 l_component_type
48559 ,l_component_code
48560 ,l_component_type_code
48561 ,l_component_appl_id
48562 ,l_amb_context_code
48563 ,l_entity_code
48564 ,l_event_class_code
48565 )
48566 ,p_token_3 => 'OWNER'
48567 ,p_value_3 => xla_lookups_pkg.get_meaning(
48568 p_lookup_type => 'XLA_OWNER_TYPE'
48569 ,p_lookup_code => l_component_type_code
48570 )
48571 ,p_token_4 => 'PRODUCT_NAME'
48572 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
48573 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
48574 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
48575 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
48576 ,p_ae_header_id => NULL
48577 );
48578
48579 IF (C_LEVEL_ERROR>= g_log_level) THEN
48580 trace
48581 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
48582 ,p_level => C_LEVEL_ERROR
48583 ,p_module => l_log_module);
48584 END IF;
48585 END IF;
48586 END IF;
48587 --
48588 --
48589 ------------------------------------------------------------------------------------------------
48590 -- 4219869 Business Flow
48591 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
48592 -- Prior Entry. Currently, the following code is always generated.
48593 ------------------------------------------------------------------------------------------------
48594 XLA_AE_LINES_PKG.ValidateCurrentLine;
48595
48596 ------------------------------------------------------------------------------------
48597 -- 4219869 Business Flow
48598 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
48599 ------------------------------------------------------------------------------------
48600 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48601
48602 ----------------------------------------------------------------------------------
48603 -- 4219869 Business Flow
48604 -- Update journal entry status -- Need to generate this within IF <condition>
48605 ----------------------------------------------------------------------------------
48606 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48607 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
48608 ,p_balance_type_code => l_balance_type_code
48609 );
48610
48611 -------------------------------------------------------------------------------------------
48612 -- 4262811 - Generate the Accrual Reversal lines
48613 -------------------------------------------------------------------------------------------
48614 BEGIN
48615 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
48616 (g_array_event(p_event_id).array_value_num('header_index'));
48617 IF l_acc_rev_flag IS NULL THEN
48618 l_acc_rev_flag := 'N';
48619 END IF;
48620 EXCEPTION
48621 WHEN OTHERS THEN
48622 l_acc_rev_flag := 'N';
48623 END;
48624 --
48625 IF (l_acc_rev_flag = 'Y') THEN
48626
48627 -- 4645092 ------------------------------------------------------------------------------
48628 -- To allow MPA report to determine if it should generate report process
48629 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
48630 ------------------------------------------------------------------------------------------
48631
48632 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
48633 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
48634 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
48635 -- call ADRs
48636 -- Bug 4922099
48637 --
48638 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
48639 (NVL(l_actual_upg_option, 'N') = 'O') OR
48640 (NVL(l_enc_upg_option, 'N') = 'O')
48641 )
48642 THEN
48646
48643 NULL;
48644 --
48645 --
48647 l_ccid := AcctDerRule_43(
48648 p_application_id => p_application_id
48649 , p_ae_header_id => l_ae_header_id
48650 , p_source_40 => p_source_40
48651 , x_transaction_coa_id => l_adr_transaction_coa_id
48652 , x_accounting_coa_id => l_adr_accounting_coa_id
48653 , x_value_type_code => l_adr_value_type_code
48654 , p_side => 'NA'
48655 );
48656
48657 xla_ae_lines_pkg.set_ccid(
48658 p_code_combination_id => l_ccid
48659 , p_value_type_code => l_adr_value_type_code
48660 , p_transaction_coa_id => l_adr_transaction_coa_id
48661 , p_accounting_coa_id => l_adr_accounting_coa_id
48662 , p_adr_code => 'AP_TAX_ACCOUNT'
48663 , p_adr_type_code => 'S'
48664 , p_component_type => l_component_type
48665 , p_component_code => l_component_code
48666 , p_component_type_code => l_component_type_code
48667 , p_component_appl_id => l_component_appl_id
48668 , p_amb_context_code => l_amb_context_code
48669 , p_side => 'NA'
48670 );
48671
48672
48673 --
48674 --
48675 END IF;
48676
48677 --
48678 -- Update the line information that should be overwritten
48679 --
48680 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
48681 p_header_num => 1);
48682 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
48683
48684 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
48685
48686 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
48687 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
48688 END IF;
48689
48690 --
48691 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
48692 --
48693 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
48694 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
48695 ELSE
48696 ---------------------------------------------------------------------------------------------------
48697 -- 4262811a Switch Sign
48698 ---------------------------------------------------------------------------------------------------
48699 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
48700 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48701 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48702 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
48703 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48704 -- 5132302
48705 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
48706 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
48707
48708 END IF;
48709
48710 -- 4955764
48711 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
48712 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
48713
48714
48715 XLA_AE_LINES_PKG.ValidateCurrentLine;
48716 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
48717
48718 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
48719 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
48720 ,p_balance_type_code => l_balance_type_code);
48721
48722 END IF;
48723
48724 -----------------------------------------------------------------------------------------
48725 -- 4262811 Multiperiod Accounting
48726 -----------------------------------------------------------------------------------------
48727 -- No MPA option is assigned.
48728
48729
48730 END IF;
48731 END IF;
48732 --
48733
48734 --
48735 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48736 trace
48737 (p_msg => 'END of AcctLineType_105'
48738 ,p_level => C_LEVEL_PROCEDURE
48739 ,p_module => l_log_module);
48740 END IF;
48741 --
48742 EXCEPTION
48743 WHEN xla_exceptions_pkg.application_exception THEN
48744 RAISE;
48745 WHEN OTHERS THEN
48746 xla_exceptions_pkg.raise_message
48747 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_105');
48748 END AcctLineType_105;
48749 --
48750
48751 ---------------------------------------
48752 --
48753 -- PRIVATE FUNCTION
48754 -- AcctLineType_106
48755 --
48756 ---------------------------------------
48757 PROCEDURE AcctLineType_106 (
48758 p_application_id IN NUMBER
48759 ,p_event_id IN NUMBER
48760 ,p_calculate_acctd_flag IN VARCHAR2
48761 ,p_calculate_g_l_flag IN VARCHAR2
48762 ,p_actual_flag IN OUT VARCHAR2
48763 ,p_balance_type_code OUT VARCHAR2
48764 ,p_gain_or_loss_ref OUT VARCHAR2
48765
48769 --Recoverable Tax Account
48766 --Invoice Distribution Type
48767 , p_source_21 IN VARCHAR2
48768 , p_source_21_meaning IN VARCHAR2
48770 , p_source_40 IN NUMBER
48771 --Accounting Reversal Indicator
48772 , p_source_41 IN VARCHAR2
48773 --Distribution Link Type
48774 , p_source_43 IN VARCHAR2
48775 --Override Accounted Amount Indicator
48776 , p_source_68 IN VARCHAR2
48777 , p_source_68_meaning IN VARCHAR2
48778 --Third Party Type
48779 , p_source_71 IN VARCHAR2
48780 --Invoice Distribution Tax Line Identifier
48781 , p_source_74 IN NUMBER
48782 --Invoice Distribution Tax Distribution Identifier from Tax
48783 , p_source_75 IN NUMBER
48784 --Invoice Distribution Summary Tax Line Identifier
48785 , p_source_76 IN NUMBER
48786 --Business Flow Accounts Payable Application Identifier
48787 , p_source_79 IN NUMBER
48788 --Business Flow Invoice Distribution Type
48789 , p_source_80 IN VARCHAR2
48790 --Business Flow Invoice Entity Code
48791 , p_source_81 IN VARCHAR2
48792 --Business Flow Invoice Distribution Identifier
48793 , p_source_82 IN NUMBER
48794 --Business Flow Invoice Identifier
48795 , p_source_83 IN NUMBER
48796 --When to Account for Payment Option
48797 , p_source_89 IN VARCHAR2
48798 --Payment Distribution Type
48799 , p_source_90 IN VARCHAR2
48800 , p_source_90_meaning IN VARCHAR2
48801 --Payment Distribution Amount
48802 , p_source_91 IN NUMBER
48803 --Payment Distribution Identifier
48804 , p_source_96 IN NUMBER
48805 --Payment Supplier Identifier
48806 , p_source_102 IN NUMBER
48807 --Payment Supplier Site Identifier
48808 , p_source_103 IN NUMBER
48809 --Payment Distribution Reversed Identifier
48810 , p_source_104 IN NUMBER
48811 --Payment Currency Code
48812 , p_source_106 IN VARCHAR2
48813 --Payment Maturity Date
48814 , p_source_107 IN DATE
48815 --Payment Distribution (Invoice Rate) Ledger Amount
48816 , p_source_109 IN NUMBER
48817 --Payment Type
48818 , p_source_115 IN VARCHAR2
48819 , p_source_115_meaning IN VARCHAR2
48820 --Payment Processing Type
48821 , p_source_116 IN VARCHAR2
48822 --Invoice Distribution Amount of the Payment Distribution
48823 , p_source_117 IN NUMBER
48824 --Deferred Recoverable Tax Option
48825 , p_source_130 IN VARCHAR2
48826 , p_source_130_meaning IN VARCHAR2
48827 --AWT Related Distribution Type Lookup code
48828 , p_source_131 IN VARCHAR2
48829 --Invoice Exchange Date
48830 , p_source_136 IN DATE
48831 --Invoice Exchange Rate
48832 , p_source_137 IN NUMBER
48833 --Invoice Exchange Rate Type
48834 , p_source_138 IN VARCHAR2
48835 )
48836 IS
48837
48838 l_component_type VARCHAR2(80);
48839 l_component_code VARCHAR2(30);
48840 l_component_type_code VARCHAR2(1);
48841 l_component_appl_id INTEGER;
48842 l_amb_context_code VARCHAR2(30);
48843 l_entity_code VARCHAR2(30);
48844 l_event_class_code VARCHAR2(30);
48845 l_ae_header_id NUMBER;
48846 l_event_type_code VARCHAR2(30);
48847 l_line_definition_code VARCHAR2(30);
48848 l_line_definition_owner_code VARCHAR2(1);
48849 --
48850 -- adr variables
48851 l_segment VARCHAR2(30);
48852 l_ccid NUMBER;
48853 l_adr_transaction_coa_id NUMBER;
48854 l_adr_accounting_coa_id NUMBER;
48855 l_adr_flexfield_segment_code VARCHAR2(30);
48856 l_adr_flex_value_set_id NUMBER;
48857 l_adr_value_type_code VARCHAR2(30);
48858 l_adr_value_combination_id NUMBER;
48859 l_adr_value_segment_code VARCHAR2(30);
48860
48861 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
48862 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
48863 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
48864 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
48865
48866 -- 4262811 Variables ------------------------------------------------------------------------------------------
48867 l_entered_amt_idx NUMBER;
48868 l_accted_amt_idx NUMBER;
48869 l_acc_rev_flag VARCHAR2(1);
48870 l_accrual_line_num NUMBER;
48871 l_tmp_amt NUMBER;
48872 l_acc_rev_natural_side_code VARCHAR2(1);
48873
48874 l_num_entries NUMBER;
48875 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
48876 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
48877 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
48878 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
48879 l_recog_line_1 NUMBER;
48880 l_recog_line_2 NUMBER;
48881
48882 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
48883 l_bflow_applied_to_amt NUMBER; -- 5132302
48884 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
48885
48886 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
48887
48888 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
48892
48889 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
48890
48891 ---------------------------------------------------------------------------------------------------------------
48893
48894 --
48895 -- bulk performance
48896 --
48897 l_balance_type_code VARCHAR2(1);
48898 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
48899 l_log_module VARCHAR2(240);
48900
48901 --
48902 -- Upgrade strategy
48903 --
48904 l_actual_upg_option VARCHAR2(1);
48905 l_enc_upg_option VARCHAR2(1);
48906
48907 --
48908 BEGIN
48909 --
48910 IF g_log_enabled THEN
48911 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_106';
48912 END IF;
48913 --
48914 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
48915
48916 trace
48917 (p_msg => 'BEGIN of AcctLineType_106'
48918 ,p_level => C_LEVEL_PROCEDURE
48919 ,p_module => l_log_module);
48920
48921 END IF;
48922 --
48923 l_component_type := 'AMB_JLT';
48924 l_component_code := 'AP_DEF_RTAX_PMT';
48925 l_component_type_code := 'S';
48926 l_component_appl_id := 200;
48927 l_amb_context_code := 'DEFAULT';
48928 l_entity_code := 'AP_PAYMENTS';
48929 l_event_class_code := 'PAYMENTS';
48930 l_event_type_code := 'PAYMENTS_ALL';
48931 l_line_definition_owner_code := 'S';
48932 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
48933 --
48934 l_balance_type_code := 'A';
48935 l_segment := NULL;
48936 l_ccid := NULL;
48937 l_adr_transaction_coa_id := NULL;
48938 l_adr_accounting_coa_id := NULL;
48939 l_adr_flexfield_segment_code := NULL;
48940 l_adr_flex_value_set_id := NULL;
48941 l_adr_value_type_code := NULL;
48942 l_adr_value_combination_id := NULL;
48943 l_adr_value_segment_code := NULL;
48944
48945 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
48946 l_bflow_class_code := 'AP_PP_DEF_TAX'; -- 4219869 Business Flow
48947 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
48948 l_budgetary_control_flag := 'N';
48949
48950 l_bflow_applied_to_amt_idx := NULL; -- 5132302
48951 l_bflow_applied_to_amt := NULL; -- 5132302
48952 l_entered_amt_idx := NULL; -- 4262811
48953 l_accted_amt_idx := NULL; -- 4262811
48954 l_acc_rev_flag := NULL; -- 4262811
48955 l_accrual_line_num := NULL; -- 4262811
48956 l_tmp_amt := NULL; -- 4262811
48957 --
48958
48959 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
48960 l_balance_type_code <> 'B' THEN
48961 IF NVL(p_source_89,'
48962 ') <> 'CLEAR_CLEAR' AND
48963 ((NVL(p_source_21,'
48964 ') = 'REC_TAX' AND
48965 NVL(p_source_130,'
48966 ') = 'DEFERRED') OR
48967 (NVL(p_source_21,'
48968 ') = 'AWT' AND
48969 NVL(p_source_131,'
48970 ') = 'AWT_DEFERRED')
48971 ) AND (NVL(p_source_90,'
48972 ') = 'CASH' OR
48973 NVL(p_source_90,'
48974 ') = 'AWT' OR
48975 NVL(p_source_90,'
48976 ') = 'DISCOUNT') AND
48977 p_source_107 IS NULL AND
48978 NVL(p_source_115,'
48979 ') <> 'R' AND
48980 NVL(p_source_116,'
48981 ') <> 'PAYMENTCARD'
48982 THEN
48983
48984 --
48985 XLA_AE_LINES_PKG.SetNewLine;
48986
48987 p_balance_type_code := l_balance_type_code;
48988 -- set the flag so later we will know whether the gain loss line needs to be created
48989
48990 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
48991 p_actual_flag :='A';
48992 END IF;
48993
48994 --
48995 -- bulk performance
48996 --
48997 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
48998 p_header_num => 0); -- 4262811
48999 --
49000 -- set accounting line options
49001 --
49002 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49003 p_natural_side_code => 'D'
49004 , p_gain_or_loss_flag => 'N'
49005 , p_gl_transfer_mode_code => 'S'
49006 , p_acct_entry_type_code => 'A'
49007 , p_switch_side_flag => 'Y'
49008 , p_merge_duplicate_code => 'A'
49009 );
49010 --
49011 l_acc_rev_natural_side_code := 'C'; -- 4262811
49012 --
49013 --
49014 -- set accounting line type info
49015 --
49016 xla_ae_lines_pkg.SetAcctLineType
49017 (p_component_type => l_component_type
49018 ,p_event_type_code => l_event_type_code
49019 ,p_line_definition_owner_code => l_line_definition_owner_code
49020 ,p_line_definition_code => l_line_definition_code
49021 ,p_accounting_line_code => l_component_code
49022 ,p_accounting_line_type_code => l_component_type_code
49023 ,p_accounting_line_appl_id => l_component_appl_id
49024 ,p_amb_context_code => l_amb_context_code
49025 ,p_entity_code => l_entity_code
49026 ,p_event_class_code => l_event_class_code);
49027 --
49028 -- set accounting class
49029 --
49033 );
49030 xla_ae_lines_pkg.SetAcctClass(
49031 p_accounting_class_code => 'DEF_REC_TAX'
49032 , p_ae_header_id => l_ae_header_id
49034
49035 --
49036 -- set rounding class
49037 --
49038 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49039 'DEF_REC_TAX';
49040
49041 --
49042 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49043 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49044 --
49045 -- bulk performance
49046 --
49047 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49048
49049 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49050 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49051
49052 -- 4955764
49053 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49054 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49055
49056 -- 4458381 Public Sector Enh
49057
49058 --
49059 -- set accounting attributes for the line type
49060 --
49061 l_entered_amt_idx := 10;
49062 l_accted_amt_idx := 15;
49063 l_bflow_applied_to_amt_idx := 2; -- 5132302
49064 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49065 l_rec_acct_attrs.array_char_value(1) := p_source_41;
49066 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
49067 l_rec_acct_attrs.array_num_value(2) := p_source_117;
49068 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
49069 l_rec_acct_attrs.array_num_value(3) := p_source_79;
49070 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49071 l_rec_acct_attrs.array_char_value(4) := p_source_80;
49072 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
49073 l_rec_acct_attrs.array_char_value(5) := p_source_81;
49074 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
49075 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
49076 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49077 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
49078 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
49079 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
49080 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
49081 l_rec_acct_attrs.array_char_value(9) := p_source_43;
49082 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
49083 l_rec_acct_attrs.array_num_value(10) := p_source_91;
49084 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
49085 l_rec_acct_attrs.array_char_value(11) := p_source_106;
49086 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
49087 l_rec_acct_attrs.array_date_value(12) := p_source_136;
49088 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
49089 l_rec_acct_attrs.array_num_value(13) := p_source_137;
49090 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
49091 l_rec_acct_attrs.array_char_value(14) := p_source_138;
49092 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
49093 l_rec_acct_attrs.array_num_value(15) := p_source_109;
49094 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
49095 l_rec_acct_attrs.array_char_value(16) := p_source_68;
49096 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
49097 l_rec_acct_attrs.array_num_value(17) := p_source_102;
49098 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
49099 l_rec_acct_attrs.array_num_value(18) := p_source_103;
49100 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
49101 l_rec_acct_attrs.array_char_value(19) := p_source_71;
49102 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
49103 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
49104 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
49105 l_rec_acct_attrs.array_char_value(21) := p_source_43;
49106 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
49107 l_rec_acct_attrs.array_num_value(22) := p_source_74;
49108 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
49109 l_rec_acct_attrs.array_num_value(23) := p_source_75;
49110 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
49111 l_rec_acct_attrs.array_num_value(24) := p_source_76;
49112
49113 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49114 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49115
49116 ---------------------------------------------------------------------------------------------------------------
49117 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49118 ---------------------------------------------------------------------------------------------------------------
49119 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49120
49121 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49122 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49123
49124 IF xla_accounting_cache_pkg.GetValueChar
49128 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49125 (p_source_code => 'LEDGER_CATEGORY_CODE'
49126 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49127 AND l_bflow_method_code = 'PRIOR_ENTRY'
49129 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49130 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49131 )
49132 THEN
49133 xla_ae_lines_pkg.BflowUpgEntry
49134 (p_business_method_code => l_bflow_method_code
49135 ,p_business_class_code => l_bflow_class_code
49136 ,p_balance_type => l_balance_type_code);
49137 ELSE
49138 NULL;
49139 -- No business flow processing for business flow method of NONE.
49140 END IF;
49141
49142 --
49143 -- call analytical criteria
49144 --
49145
49146 --
49147 -- call description
49148 --
49149 -- No description or it is inherited.
49150 --
49151 -- call ADRs
49152 -- Bug 4922099
49153 --
49154 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49155 (NVL(l_actual_upg_option, 'N') = 'O') OR
49156 (NVL(l_enc_upg_option, 'N') = 'O')
49157 )
49158 THEN
49159 NULL;
49160 --
49161 --
49162
49163 l_ccid := AcctDerRule_43(
49164 p_application_id => p_application_id
49165 , p_ae_header_id => l_ae_header_id
49166 , p_source_40 => p_source_40
49167 , x_transaction_coa_id => l_adr_transaction_coa_id
49168 , x_accounting_coa_id => l_adr_accounting_coa_id
49169 , x_value_type_code => l_adr_value_type_code
49170 , p_side => 'NA'
49171 );
49172
49173 xla_ae_lines_pkg.set_ccid(
49174 p_code_combination_id => l_ccid
49175 , p_value_type_code => l_adr_value_type_code
49176 , p_transaction_coa_id => l_adr_transaction_coa_id
49177 , p_accounting_coa_id => l_adr_accounting_coa_id
49178 , p_adr_code => 'AP_TAX_ACCOUNT'
49179 , p_adr_type_code => 'S'
49180 , p_component_type => l_component_type
49181 , p_component_code => l_component_code
49182 , p_component_type_code => l_component_type_code
49183 , p_component_appl_id => l_component_appl_id
49184 , p_amb_context_code => l_amb_context_code
49185 , p_side => 'NA'
49186 );
49187
49188
49189 --
49190 --
49191 END IF;
49192 --
49193 -- Bug 4922099
49194 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49195 (NVL(l_enc_upg_option, 'N') = 'O')
49196 ) AND
49197 (l_bflow_method_code = 'PRIOR_ENTRY')
49198 )
49199 THEN
49200 IF
49201 --
49202 1 = 2
49203 --
49204 THEN
49205 xla_accounting_err_pkg.build_message
49206 (p_appli_s_name => 'XLA'
49207 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49208 ,p_token_1 => 'LINE_NUMBER'
49209 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49210 ,p_token_2 => 'LINE_TYPE_NAME'
49211 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49212 l_component_type
49213 ,l_component_code
49214 ,l_component_type_code
49215 ,l_component_appl_id
49216 ,l_amb_context_code
49217 ,l_entity_code
49218 ,l_event_class_code
49219 )
49220 ,p_token_3 => 'OWNER'
49221 ,p_value_3 => xla_lookups_pkg.get_meaning(
49222 p_lookup_type => 'XLA_OWNER_TYPE'
49223 ,p_lookup_code => l_component_type_code
49224 )
49225 ,p_token_4 => 'PRODUCT_NAME'
49226 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49227 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49228 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49229 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49230 ,p_ae_header_id => NULL
49231 );
49232
49233 IF (C_LEVEL_ERROR>= g_log_level) THEN
49234 trace
49238 END IF;
49235 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49236 ,p_level => C_LEVEL_ERROR
49237 ,p_module => l_log_module);
49239 END IF;
49240 END IF;
49241 --
49242 --
49243 ------------------------------------------------------------------------------------------------
49244 -- 4219869 Business Flow
49245 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49246 -- Prior Entry. Currently, the following code is always generated.
49247 ------------------------------------------------------------------------------------------------
49248 XLA_AE_LINES_PKG.ValidateCurrentLine;
49249
49250 ------------------------------------------------------------------------------------
49251 -- 4219869 Business Flow
49252 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49253 ------------------------------------------------------------------------------------
49254 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49255
49256 ----------------------------------------------------------------------------------
49257 -- 4219869 Business Flow
49258 -- Update journal entry status -- Need to generate this within IF <condition>
49259 ----------------------------------------------------------------------------------
49260 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49261 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49262 ,p_balance_type_code => l_balance_type_code
49263 );
49264
49265 -------------------------------------------------------------------------------------------
49266 -- 4262811 - Generate the Accrual Reversal lines
49267 -------------------------------------------------------------------------------------------
49268 BEGIN
49269 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49270 (g_array_event(p_event_id).array_value_num('header_index'));
49271 IF l_acc_rev_flag IS NULL THEN
49272 l_acc_rev_flag := 'N';
49273 END IF;
49274 EXCEPTION
49275 WHEN OTHERS THEN
49276 l_acc_rev_flag := 'N';
49277 END;
49278 --
49279 IF (l_acc_rev_flag = 'Y') THEN
49280
49281 -- 4645092 ------------------------------------------------------------------------------
49282 -- To allow MPA report to determine if it should generate report process
49283 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49284 ------------------------------------------------------------------------------------------
49285
49286 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49287 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49288 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49289 -- call ADRs
49290 -- Bug 4922099
49291 --
49292 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49293 (NVL(l_actual_upg_option, 'N') = 'O') OR
49294 (NVL(l_enc_upg_option, 'N') = 'O')
49295 )
49296 THEN
49297 NULL;
49298 --
49299 --
49300
49301 l_ccid := AcctDerRule_43(
49302 p_application_id => p_application_id
49303 , p_ae_header_id => l_ae_header_id
49304 , p_source_40 => p_source_40
49305 , x_transaction_coa_id => l_adr_transaction_coa_id
49306 , x_accounting_coa_id => l_adr_accounting_coa_id
49307 , x_value_type_code => l_adr_value_type_code
49308 , p_side => 'NA'
49309 );
49310
49311 xla_ae_lines_pkg.set_ccid(
49312 p_code_combination_id => l_ccid
49313 , p_value_type_code => l_adr_value_type_code
49314 , p_transaction_coa_id => l_adr_transaction_coa_id
49315 , p_accounting_coa_id => l_adr_accounting_coa_id
49316 , p_adr_code => 'AP_TAX_ACCOUNT'
49317 , p_adr_type_code => 'S'
49318 , p_component_type => l_component_type
49319 , p_component_code => l_component_code
49320 , p_component_type_code => l_component_type_code
49321 , p_component_appl_id => l_component_appl_id
49322 , p_amb_context_code => l_amb_context_code
49323 , p_side => 'NA'
49324 );
49325
49326
49327 --
49328 --
49329 END IF;
49330
49331 --
49332 -- Update the line information that should be overwritten
49333 --
49334 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
49335 p_header_num => 1);
49336 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
49337
49338 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
49339
49340 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
49341 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
49342 END IF;
49343
49344 --
49345 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
49346 --
49347 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
49351 -- 4262811a Switch Sign
49348 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
49349 ELSE
49350 ---------------------------------------------------------------------------------------------------
49352 ---------------------------------------------------------------------------------------------------
49353 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
49354 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49355 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49356 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
49357 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49358 -- 5132302
49359 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
49360 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
49361
49362 END IF;
49363
49364 -- 4955764
49365 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49366 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
49367
49368
49369 XLA_AE_LINES_PKG.ValidateCurrentLine;
49370 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49371
49372 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49373 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
49374 ,p_balance_type_code => l_balance_type_code);
49375
49376 END IF;
49377
49378 -----------------------------------------------------------------------------------------
49379 -- 4262811 Multiperiod Accounting
49380 -----------------------------------------------------------------------------------------
49381 -- No MPA option is assigned.
49382
49383
49384 END IF;
49385 END IF;
49386 --
49387
49388 --
49389 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49390 trace
49391 (p_msg => 'END of AcctLineType_106'
49392 ,p_level => C_LEVEL_PROCEDURE
49393 ,p_module => l_log_module);
49394 END IF;
49395 --
49396 EXCEPTION
49397 WHEN xla_exceptions_pkg.application_exception THEN
49398 RAISE;
49399 WHEN OTHERS THEN
49400 xla_exceptions_pkg.raise_message
49401 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_106');
49402 END AcctLineType_106;
49403 --
49404
49405 ---------------------------------------
49406 --
49407 -- PRIVATE FUNCTION
49408 -- AcctLineType_107
49409 --
49410 ---------------------------------------
49411 PROCEDURE AcctLineType_107 (
49412 p_application_id IN NUMBER
49413 ,p_event_id IN NUMBER
49414 ,p_calculate_acctd_flag IN VARCHAR2
49415 ,p_calculate_g_l_flag IN VARCHAR2
49416 ,p_actual_flag IN OUT VARCHAR2
49417 ,p_balance_type_code OUT VARCHAR2
49418 ,p_gain_or_loss_ref OUT VARCHAR2
49419
49420 --Recoverable Tax Account
49421 , p_source_40 IN NUMBER
49422 --Accounting Reversal Indicator
49423 , p_source_41 IN VARCHAR2
49424 --Distribution Link Type
49425 , p_source_43 IN VARCHAR2
49426 --Invoice Identifier
49427 , p_source_46 IN NUMBER
49428 --Payables Encumbrance Upgrade Credit Account
49429 , p_source_53 IN NUMBER
49430 --Payables Encumbrance Upgrade Credit Amount
49431 , p_source_54 IN NUMBER
49432 --Invoice Currency Code
49433 , p_source_55 IN VARCHAR2
49434 --Payables Encumbrance Upgrade Credit Base Amount
49435 , p_source_56 IN NUMBER
49436 --Payables Encumbrance Upgrade Debit Account
49437 , p_source_57 IN NUMBER
49438 --Payables Encumbrance Upgrade Debit Amount
49439 , p_source_58 IN NUMBER
49440 --Payables Encumbrance Upgrade Debit Base Amount
49441 , p_source_59 IN NUMBER
49442 --Payables Encumbrance Upgrade Option
49443 , p_source_60 IN VARCHAR2
49444 --Deferred Accounting End Date
49445 , p_source_65 IN DATE
49446 --Deferred Accounting Option
49447 , p_source_66 IN VARCHAR2
49448 --Deferred Accounting Start Date
49449 , p_source_67 IN DATE
49450 --Override Accounted Amount Indicator
49451 , p_source_68 IN VARCHAR2
49452 , p_source_68_meaning IN VARCHAR2
49453 --Invoice Supplier Identifier
49454 , p_source_69 IN NUMBER
49455 --Invoice Supplier Site Identifier
49456 , p_source_70 IN NUMBER
49457 --Third Party Type
49458 , p_source_71 IN VARCHAR2
49459 --Invoice Distribution Tax Line Identifier
49460 , p_source_74 IN NUMBER
49461 --Invoice Distribution Tax Distribution Identifier from Tax
49462 , p_source_75 IN NUMBER
49463 --Invoice Distribution Summary Tax Line Identifier
49464 , p_source_76 IN NUMBER
49465 --Payables Upgrade Credit Encumbrance Type Identifier
49466 , p_source_77 IN NUMBER
49467 --Payables Upgrade Debit Encumbrance Type Identifier
49468 , p_source_78 IN NUMBER
49469 --Business Flow Accounts Payable Application Identifier
49473 --Upgrade Encumbrance Credit Account Class
49470 , p_source_79 IN NUMBER
49471 --Prepayment Application Distribution Identifier
49472 , p_source_120 IN NUMBER
49474 , p_source_125 IN VARCHAR2
49475 --Upgrade Encumbrance Debit Account Class
49476 , p_source_126 IN VARCHAR2
49477 --Prepayment Distribution Amount
49478 , p_source_127 IN NUMBER
49479 --Identifier of the Prepayment Application Reversed
49480 , p_source_129 IN NUMBER
49481 --Deferred Recoverable Tax Option
49482 , p_source_130 IN VARCHAR2
49483 , p_source_130_meaning IN VARCHAR2
49484 --Prepayment Distribution (Invoice Rate) Ledger Amount
49485 , p_source_134 IN NUMBER
49486 --Invoice Exchange Date
49487 , p_source_136 IN DATE
49488 --Invoice Exchange Rate
49489 , p_source_137 IN NUMBER
49490 --Invoice Exchange Rate Type
49491 , p_source_138 IN VARCHAR2
49492 --Business Flow Prepayment Invoice Distribution Type
49493 , p_source_139 IN VARCHAR2
49494 --Business Flow Prepayment Invoice Entity Code
49495 , p_source_140 IN VARCHAR2
49496 --Business Flow Prepayment Invoice Distribution Identifier
49497 , p_source_141 IN NUMBER
49498 --Business Flow Prepayment Invoice Identifier
49499 , p_source_142 IN NUMBER
49500 )
49501 IS
49502
49503 l_component_type VARCHAR2(80);
49504 l_component_code VARCHAR2(30);
49505 l_component_type_code VARCHAR2(1);
49506 l_component_appl_id INTEGER;
49507 l_amb_context_code VARCHAR2(30);
49508 l_entity_code VARCHAR2(30);
49509 l_event_class_code VARCHAR2(30);
49510 l_ae_header_id NUMBER;
49511 l_event_type_code VARCHAR2(30);
49512 l_line_definition_code VARCHAR2(30);
49513 l_line_definition_owner_code VARCHAR2(1);
49514 --
49515 -- adr variables
49516 l_segment VARCHAR2(30);
49517 l_ccid NUMBER;
49518 l_adr_transaction_coa_id NUMBER;
49519 l_adr_accounting_coa_id NUMBER;
49520 l_adr_flexfield_segment_code VARCHAR2(30);
49521 l_adr_flex_value_set_id NUMBER;
49522 l_adr_value_type_code VARCHAR2(30);
49523 l_adr_value_combination_id NUMBER;
49524 l_adr_value_segment_code VARCHAR2(30);
49525
49526 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
49527 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
49528 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
49529 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
49530
49531 -- 4262811 Variables ------------------------------------------------------------------------------------------
49532 l_entered_amt_idx NUMBER;
49533 l_accted_amt_idx NUMBER;
49534 l_acc_rev_flag VARCHAR2(1);
49535 l_accrual_line_num NUMBER;
49536 l_tmp_amt NUMBER;
49537 l_acc_rev_natural_side_code VARCHAR2(1);
49538
49539 l_num_entries NUMBER;
49540 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
49541 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
49542 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
49543 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
49544 l_recog_line_1 NUMBER;
49545 l_recog_line_2 NUMBER;
49546
49547 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
49548 l_bflow_applied_to_amt NUMBER; -- 5132302
49549 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
49550
49551 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
49552
49553 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
49554 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
49555
49556 ---------------------------------------------------------------------------------------------------------------
49557
49558
49559 --
49560 -- bulk performance
49561 --
49562 l_balance_type_code VARCHAR2(1);
49563 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
49564 l_log_module VARCHAR2(240);
49565
49566 --
49567 -- Upgrade strategy
49568 --
49569 l_actual_upg_option VARCHAR2(1);
49570 l_enc_upg_option VARCHAR2(1);
49571
49572 --
49573 BEGIN
49574 --
49575 IF g_log_enabled THEN
49576 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_107';
49577 END IF;
49578 --
49579 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
49580
49581 trace
49582 (p_msg => 'BEGIN of AcctLineType_107'
49583 ,p_level => C_LEVEL_PROCEDURE
49584 ,p_module => l_log_module);
49585
49586 END IF;
49587 --
49588 l_component_type := 'AMB_JLT';
49589 l_component_code := 'AP_DEF_RTAX_PREPAY';
49590 l_component_type_code := 'S';
49591 l_component_appl_id := 200;
49592 l_amb_context_code := 'DEFAULT';
49593 l_entity_code := 'AP_INVOICES';
49594 l_event_class_code := 'PREPAYMENT APPLICATIONS';
49595 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
49596 l_line_definition_owner_code := 'S';
49597 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
49598 --
49602 l_adr_transaction_coa_id := NULL;
49599 l_balance_type_code := 'A';
49600 l_segment := NULL;
49601 l_ccid := NULL;
49603 l_adr_accounting_coa_id := NULL;
49604 l_adr_flexfield_segment_code := NULL;
49605 l_adr_flex_value_set_id := NULL;
49606 l_adr_value_type_code := NULL;
49607 l_adr_value_combination_id := NULL;
49608 l_adr_value_segment_code := NULL;
49609
49610 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
49611 l_bflow_class_code := ''; -- 4219869 Business Flow
49612 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
49613 l_budgetary_control_flag := 'N';
49614
49615 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49616 l_bflow_applied_to_amt := NULL; -- 5132302
49617 l_entered_amt_idx := NULL; -- 4262811
49618 l_accted_amt_idx := NULL; -- 4262811
49619 l_acc_rev_flag := NULL; -- 4262811
49620 l_accrual_line_num := NULL; -- 4262811
49621 l_tmp_amt := NULL; -- 4262811
49622 --
49623
49624 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
49625 l_balance_type_code <> 'B' THEN
49626 IF NVL(p_source_130,'
49627 ') = 'DEFERRED'
49628 THEN
49629
49630 --
49631 XLA_AE_LINES_PKG.SetNewLine;
49632
49633 p_balance_type_code := l_balance_type_code;
49634 -- set the flag so later we will know whether the gain loss line needs to be created
49635
49636 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
49637 p_actual_flag :='A';
49638 END IF;
49639
49640 --
49641 -- bulk performance
49642 --
49643 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
49644 p_header_num => 0); -- 4262811
49645 --
49646 -- set accounting line options
49647 --
49648 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
49649 p_natural_side_code => 'C'
49650 , p_gain_or_loss_flag => 'N'
49651 , p_gl_transfer_mode_code => 'S'
49652 , p_acct_entry_type_code => 'A'
49653 , p_switch_side_flag => 'Y'
49654 , p_merge_duplicate_code => 'A'
49655 );
49656 --
49657 l_acc_rev_natural_side_code := 'D'; -- 4262811
49658 --
49659 --
49660 -- set accounting line type info
49661 --
49662 xla_ae_lines_pkg.SetAcctLineType
49663 (p_component_type => l_component_type
49664 ,p_event_type_code => l_event_type_code
49665 ,p_line_definition_owner_code => l_line_definition_owner_code
49666 ,p_line_definition_code => l_line_definition_code
49667 ,p_accounting_line_code => l_component_code
49668 ,p_accounting_line_type_code => l_component_type_code
49669 ,p_accounting_line_appl_id => l_component_appl_id
49670 ,p_amb_context_code => l_amb_context_code
49671 ,p_entity_code => l_entity_code
49672 ,p_event_class_code => l_event_class_code);
49673 --
49674 -- set accounting class
49675 --
49676 xla_ae_lines_pkg.SetAcctClass(
49677 p_accounting_class_code => 'DEF_REC_TAX'
49678 , p_ae_header_id => l_ae_header_id
49679 );
49680
49681 --
49682 -- set rounding class
49683 --
49684 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
49685 'DEF_REC_TAX';
49686
49687 --
49688 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
49689 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
49690 --
49691 -- bulk performance
49692 --
49693 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
49694
49695 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
49696 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
49697
49698 -- 4955764
49699 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
49700 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
49701
49702 -- 4458381 Public Sector Enh
49703
49704 --
49705 -- set accounting attributes for the line type
49706 --
49707 l_entered_amt_idx := 25;
49708 l_accted_amt_idx := 30;
49709 l_bflow_applied_to_amt_idx := NULL; -- 5132302
49710 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
49711 l_rec_acct_attrs.array_char_value(1) := p_source_41;
49712 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
49713 l_rec_acct_attrs.array_num_value(2) :=
49714 xla_ae_sources_pkg.GetSystemSourceNum(
49715 p_source_code => 'XLA_EVENT_APPL_ID'
49716 , p_source_type_code => 'Y'
49717 , p_source_application_id => 602
49718 );
49719 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
49720 l_rec_acct_attrs.array_char_value(3) := p_source_43;
49721 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
49722 l_rec_acct_attrs.array_char_value(4) :=
49723 xla_ae_sources_pkg.GetSystemSourceChar(
49727 );
49724 p_source_code => 'XLA_ENTITY_CODE'
49725 , p_source_type_code => 'Y'
49726 , p_source_application_id => 602
49728 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
49729 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
49730 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
49731 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
49732 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
49733 l_rec_acct_attrs.array_num_value(7) := p_source_79;
49734 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
49735 l_rec_acct_attrs.array_char_value(8) := p_source_139;
49736 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
49737 l_rec_acct_attrs.array_char_value(9) := p_source_140;
49738 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
49739 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
49740 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
49741 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
49742 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
49743 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
49744 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
49745 l_rec_acct_attrs.array_char_value(13) := p_source_43;
49746 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
49747 l_rec_acct_attrs.array_char_value(14) := p_source_125;
49748 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
49749 l_rec_acct_attrs.array_num_value(15) := p_source_53;
49750 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
49751 l_rec_acct_attrs.array_num_value(16) := p_source_54;
49752 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
49753 l_rec_acct_attrs.array_char_value(17) := p_source_55;
49754 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
49755 l_rec_acct_attrs.array_num_value(18) := p_source_56;
49756 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
49757 l_rec_acct_attrs.array_char_value(19) := p_source_126;
49758 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
49759 l_rec_acct_attrs.array_num_value(20) := p_source_57;
49760 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
49761 l_rec_acct_attrs.array_num_value(21) := p_source_58;
49762 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
49763 l_rec_acct_attrs.array_char_value(22) := p_source_55;
49764 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
49765 l_rec_acct_attrs.array_num_value(23) := p_source_59;
49766 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
49767 l_rec_acct_attrs.array_char_value(24) := p_source_60;
49768 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
49769 l_rec_acct_attrs.array_num_value(25) := p_source_127;
49770 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
49771 l_rec_acct_attrs.array_char_value(26) := p_source_55;
49772 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
49773 l_rec_acct_attrs.array_date_value(27) := p_source_136;
49774 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
49775 l_rec_acct_attrs.array_num_value(28) := p_source_137;
49776 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
49777 l_rec_acct_attrs.array_char_value(29) := p_source_138;
49778 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
49779 l_rec_acct_attrs.array_num_value(30) := p_source_134;
49780 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
49781 l_rec_acct_attrs.array_date_value(31) := p_source_65;
49782 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
49783 l_rec_acct_attrs.array_char_value(32) := p_source_66;
49784 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
49785 l_rec_acct_attrs.array_date_value(33) := p_source_67;
49786 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
49787 l_rec_acct_attrs.array_char_value(34) := p_source_68;
49788 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
49789 l_rec_acct_attrs.array_num_value(35) := p_source_69;
49790 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
49791 l_rec_acct_attrs.array_num_value(36) := p_source_70;
49792 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
49793 l_rec_acct_attrs.array_char_value(37) := p_source_71;
49794 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
49795 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
49796 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
49797 l_rec_acct_attrs.array_char_value(39) := p_source_43;
49798 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
49799 l_rec_acct_attrs.array_num_value(40) := p_source_74;
49800 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
49801 l_rec_acct_attrs.array_num_value(41) := p_source_75;
49802 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
49803 l_rec_acct_attrs.array_num_value(42) := p_source_76;
49804 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
49805 l_rec_acct_attrs.array_num_value(43) := p_source_77;
49806 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
49807 l_rec_acct_attrs.array_num_value(44) := p_source_78;
49808
49812 ---------------------------------------------------------------------------------------------------------------
49809 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
49810 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
49811
49813 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
49814 ---------------------------------------------------------------------------------------------------------------
49815 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
49816
49817 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49818 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
49819
49820 IF xla_accounting_cache_pkg.GetValueChar
49821 (p_source_code => 'LEDGER_CATEGORY_CODE'
49822 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
49823 AND l_bflow_method_code = 'PRIOR_ENTRY'
49824 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
49825 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
49826 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
49827 )
49828 THEN
49829 xla_ae_lines_pkg.BflowUpgEntry
49830 (p_business_method_code => l_bflow_method_code
49831 ,p_business_class_code => l_bflow_class_code
49832 ,p_balance_type => l_balance_type_code);
49833 ELSE
49834 NULL;
49835 -- No business flow processing for business flow method of NONE.
49836 END IF;
49837
49838 --
49839 -- call analytical criteria
49840 --
49841
49842 --
49843 -- call description
49844 --
49845 -- No description or it is inherited.
49846 --
49847 -- call ADRs
49848 -- Bug 4922099
49849 --
49850 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49851 (NVL(l_actual_upg_option, 'N') = 'O') OR
49852 (NVL(l_enc_upg_option, 'N') = 'O')
49853 )
49854 THEN
49855 NULL;
49856 --
49857 --
49858
49859 l_ccid := AcctDerRule_43(
49860 p_application_id => p_application_id
49861 , p_ae_header_id => l_ae_header_id
49862 , p_source_40 => p_source_40
49863 , x_transaction_coa_id => l_adr_transaction_coa_id
49864 , x_accounting_coa_id => l_adr_accounting_coa_id
49865 , x_value_type_code => l_adr_value_type_code
49866 , p_side => 'NA'
49867 );
49868
49869 xla_ae_lines_pkg.set_ccid(
49870 p_code_combination_id => l_ccid
49871 , p_value_type_code => l_adr_value_type_code
49872 , p_transaction_coa_id => l_adr_transaction_coa_id
49873 , p_accounting_coa_id => l_adr_accounting_coa_id
49874 , p_adr_code => 'AP_TAX_ACCOUNT'
49875 , p_adr_type_code => 'S'
49876 , p_component_type => l_component_type
49877 , p_component_code => l_component_code
49878 , p_component_type_code => l_component_type_code
49879 , p_component_appl_id => l_component_appl_id
49880 , p_amb_context_code => l_amb_context_code
49881 , p_side => 'NA'
49882 );
49883
49884
49885 --
49886 --
49887 END IF;
49888 --
49889 -- Bug 4922099
49890 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
49891 (NVL(l_enc_upg_option, 'N') = 'O')
49892 ) AND
49893 (l_bflow_method_code = 'PRIOR_ENTRY')
49894 )
49895 THEN
49896 IF
49897 --
49898 1 = 2
49899 --
49900 THEN
49901 xla_accounting_err_pkg.build_message
49902 (p_appli_s_name => 'XLA'
49903 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49904 ,p_token_1 => 'LINE_NUMBER'
49905 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
49906 ,p_token_2 => 'LINE_TYPE_NAME'
49907 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
49908 l_component_type
49909 ,l_component_code
49910 ,l_component_type_code
49911 ,l_component_appl_id
49912 ,l_amb_context_code
49913 ,l_entity_code
49914 ,l_event_class_code
49915 )
49916 ,p_token_3 => 'OWNER'
49917 ,p_value_3 => xla_lookups_pkg.get_meaning(
49918 p_lookup_type => 'XLA_OWNER_TYPE'
49919 ,p_lookup_code => l_component_type_code
49920 )
49924 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
49921 ,p_token_4 => 'PRODUCT_NAME'
49922 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
49923 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
49925 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
49926 ,p_ae_header_id => NULL
49927 );
49928
49929 IF (C_LEVEL_ERROR>= g_log_level) THEN
49930 trace
49931 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
49932 ,p_level => C_LEVEL_ERROR
49933 ,p_module => l_log_module);
49934 END IF;
49935 END IF;
49936 END IF;
49937 --
49938 --
49939 ------------------------------------------------------------------------------------------------
49940 -- 4219869 Business Flow
49941 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
49942 -- Prior Entry. Currently, the following code is always generated.
49943 ------------------------------------------------------------------------------------------------
49944 XLA_AE_LINES_PKG.ValidateCurrentLine;
49945
49946 ------------------------------------------------------------------------------------
49947 -- 4219869 Business Flow
49948 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
49949 ------------------------------------------------------------------------------------
49950 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
49951
49952 ----------------------------------------------------------------------------------
49953 -- 4219869 Business Flow
49954 -- Update journal entry status -- Need to generate this within IF <condition>
49955 ----------------------------------------------------------------------------------
49956 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
49957 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
49958 ,p_balance_type_code => l_balance_type_code
49959 );
49960
49961 -------------------------------------------------------------------------------------------
49962 -- 4262811 - Generate the Accrual Reversal lines
49963 -------------------------------------------------------------------------------------------
49964 BEGIN
49965 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
49966 (g_array_event(p_event_id).array_value_num('header_index'));
49967 IF l_acc_rev_flag IS NULL THEN
49968 l_acc_rev_flag := 'N';
49969 END IF;
49970 EXCEPTION
49971 WHEN OTHERS THEN
49972 l_acc_rev_flag := 'N';
49973 END;
49974 --
49975 IF (l_acc_rev_flag = 'Y') THEN
49976
49977 -- 4645092 ------------------------------------------------------------------------------
49978 -- To allow MPA report to determine if it should generate report process
49979 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
49980 ------------------------------------------------------------------------------------------
49981
49982 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
49983 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
49984 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
49985 -- call ADRs
49986 -- Bug 4922099
49987 --
49988 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
49989 (NVL(l_actual_upg_option, 'N') = 'O') OR
49990 (NVL(l_enc_upg_option, 'N') = 'O')
49991 )
49992 THEN
49993 NULL;
49994 --
49995 --
49996
49997 l_ccid := AcctDerRule_43(
49998 p_application_id => p_application_id
49999 , p_ae_header_id => l_ae_header_id
50000 , p_source_40 => p_source_40
50001 , x_transaction_coa_id => l_adr_transaction_coa_id
50002 , x_accounting_coa_id => l_adr_accounting_coa_id
50003 , x_value_type_code => l_adr_value_type_code
50004 , p_side => 'NA'
50005 );
50006
50007 xla_ae_lines_pkg.set_ccid(
50008 p_code_combination_id => l_ccid
50009 , p_value_type_code => l_adr_value_type_code
50010 , p_transaction_coa_id => l_adr_transaction_coa_id
50011 , p_accounting_coa_id => l_adr_accounting_coa_id
50012 , p_adr_code => 'AP_TAX_ACCOUNT'
50013 , p_adr_type_code => 'S'
50014 , p_component_type => l_component_type
50015 , p_component_code => l_component_code
50016 , p_component_type_code => l_component_type_code
50017 , p_component_appl_id => l_component_appl_id
50018 , p_amb_context_code => l_amb_context_code
50019 , p_side => 'NA'
50020 );
50021
50022
50023 --
50024 --
50025 END IF;
50026
50027 --
50028 -- Update the line information that should be overwritten
50029 --
50030 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
50031 p_header_num => 1);
50035
50032 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
50033
50034 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
50036 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
50037 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
50038 END IF;
50039
50040 --
50041 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
50042 --
50043 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
50044 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
50045 ELSE
50046 ---------------------------------------------------------------------------------------------------
50047 -- 4262811a Switch Sign
50048 ---------------------------------------------------------------------------------------------------
50049 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
50050 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50051 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50052 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50053 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50054 -- 5132302
50055 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
50056 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50057
50058 END IF;
50059
50060 -- 4955764
50061 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50062 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
50063
50064
50065 XLA_AE_LINES_PKG.ValidateCurrentLine;
50066 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50067
50068 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50069 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
50070 ,p_balance_type_code => l_balance_type_code);
50071
50072 END IF;
50073
50074 -----------------------------------------------------------------------------------------
50075 -- 4262811 Multiperiod Accounting
50076 -----------------------------------------------------------------------------------------
50077 -- No MPA option is assigned.
50078
50079
50080 END IF;
50081 END IF;
50082 --
50083
50084 --
50085 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50086 trace
50087 (p_msg => 'END of AcctLineType_107'
50088 ,p_level => C_LEVEL_PROCEDURE
50089 ,p_module => l_log_module);
50090 END IF;
50091 --
50092 EXCEPTION
50093 WHEN xla_exceptions_pkg.application_exception THEN
50094 RAISE;
50095 WHEN OTHERS THEN
50096 xla_exceptions_pkg.raise_message
50097 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_107');
50098 END AcctLineType_107;
50099 --
50100
50101 ---------------------------------------
50102 --
50103 -- PRIVATE FUNCTION
50104 -- AcctLineType_108
50105 --
50106 ---------------------------------------
50107 PROCEDURE AcctLineType_108 (
50108 p_application_id IN NUMBER
50109 ,p_event_id IN NUMBER
50110 ,p_calculate_acctd_flag IN VARCHAR2
50111 ,p_calculate_g_l_flag IN VARCHAR2
50112 ,p_actual_flag IN OUT VARCHAR2
50113 ,p_balance_type_code OUT VARCHAR2
50114 ,p_gain_or_loss_ref OUT VARCHAR2
50115
50116 --Automatic Offsets Value
50117 , p_source_3 IN VARCHAR2
50118 , p_source_3_meaning IN VARCHAR2
50119 --System Discount Account
50120 , p_source_6 IN NUMBER
50121 --Discount Distribution Method
50122 , p_source_7 IN VARCHAR2
50123 , p_source_7_meaning IN VARCHAR2
50124 --Invoice Distribution Account
50125 , p_source_18 IN NUMBER
50126 --Invoice Distribution Type
50127 , p_source_21 IN VARCHAR2
50128 , p_source_21_meaning IN VARCHAR2
50129 --Discount Account
50130 , p_source_32 IN NUMBER
50131 --Purchase Order Charge Account
50132 , p_source_33 IN NUMBER
50133 --Purchase Order Variance Account
50134 , p_source_34 IN NUMBER
50135 --Accounting Reversal Indicator
50136 , p_source_41 IN VARCHAR2
50137 --Distribution Link Type
50138 , p_source_43 IN VARCHAR2
50139 --Invoice Currency Code
50140 , p_source_55 IN VARCHAR2
50141 --Override Accounted Amount Indicator
50142 , p_source_68 IN VARCHAR2
50143 , p_source_68_meaning IN VARCHAR2
50144 --Third Party Type
50145 , p_source_71 IN VARCHAR2
50146 --Invoice Distribution Tax Line Identifier
50147 , p_source_74 IN NUMBER
50148 --Invoice Distribution Summary Tax Line Identifier
50149 , p_source_76 IN NUMBER
50150 --Business Flow Accounts Payable Application Identifier
50151 , p_source_79 IN NUMBER
50152 --When to Account for Payment Option
50153 , p_source_89 IN VARCHAR2
50157 --Payment Distribution Amount
50154 --Payment Distribution Type
50155 , p_source_90 IN VARCHAR2
50156 , p_source_90_meaning IN VARCHAR2
50158 , p_source_91 IN NUMBER
50159 --Business Flow Payment Distribution Type
50160 , p_source_92 IN VARCHAR2
50161 --Business Flow Payment Entity Code
50162 , p_source_93 IN VARCHAR2
50163 --Business Flow Payment Distribution Identifier
50164 , p_source_94 IN NUMBER
50165 --Business Flow Payment Identifier
50166 , p_source_95 IN NUMBER
50167 --Payment Distribution Identifier
50168 , p_source_96 IN NUMBER
50169 --Payment Distribution (Cleared Rate) Ledger Amount
50170 , p_source_101 IN NUMBER
50171 --Payment Supplier Identifier
50172 , p_source_102 IN NUMBER
50173 --Payment Supplier Site Identifier
50174 , p_source_103 IN NUMBER
50175 --Payment Distribution Reversed Identifier
50176 , p_source_104 IN NUMBER
50177 --Invoice Exchange Date
50178 , p_source_136 IN DATE
50179 --Invoice Exchange Rate
50180 , p_source_137 IN NUMBER
50181 --Invoice Exchange Rate Type
50182 , p_source_138 IN VARCHAR2
50183 )
50184 IS
50185
50186 l_component_type VARCHAR2(80);
50187 l_component_code VARCHAR2(30);
50188 l_component_type_code VARCHAR2(1);
50189 l_component_appl_id INTEGER;
50190 l_amb_context_code VARCHAR2(30);
50191 l_entity_code VARCHAR2(30);
50192 l_event_class_code VARCHAR2(30);
50193 l_ae_header_id NUMBER;
50194 l_event_type_code VARCHAR2(30);
50195 l_line_definition_code VARCHAR2(30);
50196 l_line_definition_owner_code VARCHAR2(1);
50197 --
50198 -- adr variables
50199 l_segment VARCHAR2(30);
50200 l_ccid NUMBER;
50201 l_adr_transaction_coa_id NUMBER;
50202 l_adr_accounting_coa_id NUMBER;
50203 l_adr_flexfield_segment_code VARCHAR2(30);
50204 l_adr_flex_value_set_id NUMBER;
50205 l_adr_value_type_code VARCHAR2(30);
50206 l_adr_value_combination_id NUMBER;
50207 l_adr_value_segment_code VARCHAR2(30);
50208
50209 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
50210 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
50211 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
50212 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
50213
50214 -- 4262811 Variables ------------------------------------------------------------------------------------------
50215 l_entered_amt_idx NUMBER;
50216 l_accted_amt_idx NUMBER;
50217 l_acc_rev_flag VARCHAR2(1);
50218 l_accrual_line_num NUMBER;
50219 l_tmp_amt NUMBER;
50220 l_acc_rev_natural_side_code VARCHAR2(1);
50221
50222 l_num_entries NUMBER;
50223 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
50224 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
50225 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
50226 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
50227 l_recog_line_1 NUMBER;
50228 l_recog_line_2 NUMBER;
50229
50230 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
50231 l_bflow_applied_to_amt NUMBER; -- 5132302
50232 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
50233
50234 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
50235
50236 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
50237 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
50238
50239 ---------------------------------------------------------------------------------------------------------------
50240
50241
50242 --
50243 -- bulk performance
50244 --
50245 l_balance_type_code VARCHAR2(1);
50246 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
50247 l_log_module VARCHAR2(240);
50248
50249 --
50250 -- Upgrade strategy
50251 --
50252 l_actual_upg_option VARCHAR2(1);
50253 l_enc_upg_option VARCHAR2(1);
50254
50255 --
50256 BEGIN
50257 --
50258 IF g_log_enabled THEN
50259 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_108';
50260 END IF;
50261 --
50262 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50263
50264 trace
50265 (p_msg => 'BEGIN of AcctLineType_108'
50266 ,p_level => C_LEVEL_PROCEDURE
50267 ,p_module => l_log_module);
50268
50269 END IF;
50270 --
50271 l_component_type := 'AMB_JLT';
50272 l_component_code := 'AP_DISCOUNT_ACCR_CLEAR';
50273 l_component_type_code := 'S';
50274 l_component_appl_id := 200;
50275 l_amb_context_code := 'DEFAULT';
50276 l_entity_code := 'AP_PAYMENTS';
50277 l_event_class_code := 'RECONCILED PAYMENTS';
50278 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
50279 l_line_definition_owner_code := 'S';
50280 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
50281 --
50285 l_adr_transaction_coa_id := NULL;
50282 l_balance_type_code := 'A';
50283 l_segment := NULL;
50284 l_ccid := NULL;
50286 l_adr_accounting_coa_id := NULL;
50287 l_adr_flexfield_segment_code := NULL;
50288 l_adr_flex_value_set_id := NULL;
50289 l_adr_value_type_code := NULL;
50290 l_adr_value_combination_id := NULL;
50291 l_adr_value_segment_code := NULL;
50292
50293 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
50294 l_bflow_class_code := ''; -- 4219869 Business Flow
50295 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
50296 l_budgetary_control_flag := 'N';
50297
50298 l_bflow_applied_to_amt_idx := NULL; -- 5132302
50299 l_bflow_applied_to_amt := NULL; -- 5132302
50300 l_entered_amt_idx := NULL; -- 4262811
50301 l_accted_amt_idx := NULL; -- 4262811
50302 l_acc_rev_flag := NULL; -- 4262811
50303 l_accrual_line_num := NULL; -- 4262811
50304 l_tmp_amt := NULL; -- 4262811
50305 --
50306
50307 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
50308 l_balance_type_code <> 'B' THEN
50309 IF NVL(p_source_89,'
50310 ') = 'CLEAR_CLEAR' AND
50311 NVL(p_source_90,'
50312 ') = 'DISCOUNT' AND
50313 (NVL(p_source_21,'
50314 ') = 'ITEM' OR
50315 NVL(p_source_21,'
50316 ') = 'MISCELLANEOUS' OR
50317 NVL(p_source_21,'
50318 ') = 'FREIGHT' OR
50319 NVL(p_source_21,'
50320 ') = 'REC_TAX' OR
50321 NVL(p_source_21,'
50322 ') = 'NONREC_TAX' OR
50323 NVL(p_source_21,'
50324 ') = 'TIPV' OR
50325 NVL(p_source_21,'
50326 ') = 'TRV' OR
50327 NVL(p_source_21,'
50328 ') = 'IPV' OR
50329 NVL(p_source_21,'
50330 ') = 'ACCRUAL')
50331 THEN
50332
50333 --
50334 XLA_AE_LINES_PKG.SetNewLine;
50335
50336 p_balance_type_code := l_balance_type_code;
50337 -- set the flag so later we will know whether the gain loss line needs to be created
50338
50339 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
50340 p_actual_flag :='A';
50341 END IF;
50342
50343 --
50344 -- bulk performance
50345 --
50346 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
50347 p_header_num => 0); -- 4262811
50348 --
50349 -- set accounting line options
50350 --
50351 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
50352 p_natural_side_code => 'C'
50353 , p_gain_or_loss_flag => 'N'
50354 , p_gl_transfer_mode_code => 'S'
50355 , p_acct_entry_type_code => 'A'
50356 , p_switch_side_flag => 'Y'
50357 , p_merge_duplicate_code => 'A'
50358 );
50359 --
50360 l_acc_rev_natural_side_code := 'D'; -- 4262811
50361 --
50362 --
50363 -- set accounting line type info
50364 --
50365 xla_ae_lines_pkg.SetAcctLineType
50366 (p_component_type => l_component_type
50367 ,p_event_type_code => l_event_type_code
50368 ,p_line_definition_owner_code => l_line_definition_owner_code
50369 ,p_line_definition_code => l_line_definition_code
50370 ,p_accounting_line_code => l_component_code
50371 ,p_accounting_line_type_code => l_component_type_code
50372 ,p_accounting_line_appl_id => l_component_appl_id
50373 ,p_amb_context_code => l_amb_context_code
50374 ,p_entity_code => l_entity_code
50375 ,p_event_class_code => l_event_class_code);
50376 --
50377 -- set accounting class
50378 --
50379 xla_ae_lines_pkg.SetAcctClass(
50380 p_accounting_class_code => 'DISCOUNT'
50381 , p_ae_header_id => l_ae_header_id
50382 );
50383
50384 --
50385 -- set rounding class
50386 --
50387 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
50388 'DISCOUNT';
50389
50390 --
50391 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
50392 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
50393 --
50394 -- bulk performance
50395 --
50396 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
50397
50398 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
50399 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
50400
50401 -- 4955764
50402 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50403 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
50404
50405 -- 4458381 Public Sector Enh
50406
50407 --
50408 -- set accounting attributes for the line type
50409 --
50410 l_entered_amt_idx := 10;
50411 l_accted_amt_idx := 15;
50412 l_bflow_applied_to_amt_idx := 2; -- 5132302
50413 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
50414 l_rec_acct_attrs.array_char_value(1) := p_source_41;
50415 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
50419 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
50416 l_rec_acct_attrs.array_num_value(2) := p_source_91;
50417 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
50418 l_rec_acct_attrs.array_num_value(3) := p_source_79;
50420 l_rec_acct_attrs.array_char_value(4) := p_source_92;
50421 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
50422 l_rec_acct_attrs.array_char_value(5) := p_source_93;
50423 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
50424 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
50425 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
50426 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
50427 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
50428 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
50429 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
50430 l_rec_acct_attrs.array_char_value(9) := p_source_43;
50431 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
50432 l_rec_acct_attrs.array_num_value(10) := p_source_91;
50433 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
50434 l_rec_acct_attrs.array_char_value(11) := p_source_55;
50435 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
50436 l_rec_acct_attrs.array_date_value(12) := p_source_136;
50437 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
50438 l_rec_acct_attrs.array_num_value(13) := p_source_137;
50439 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
50440 l_rec_acct_attrs.array_char_value(14) := p_source_138;
50441 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
50442 l_rec_acct_attrs.array_num_value(15) := p_source_101;
50443 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
50444 l_rec_acct_attrs.array_char_value(16) := p_source_68;
50445 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
50446 l_rec_acct_attrs.array_num_value(17) := p_source_102;
50447 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
50448 l_rec_acct_attrs.array_num_value(18) := p_source_103;
50449 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
50450 l_rec_acct_attrs.array_char_value(19) := p_source_71;
50451 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
50452 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
50453 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
50454 l_rec_acct_attrs.array_char_value(21) := p_source_43;
50455 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
50456 l_rec_acct_attrs.array_num_value(22) := p_source_74;
50457 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
50458 l_rec_acct_attrs.array_num_value(23) := p_source_74;
50459 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
50460 l_rec_acct_attrs.array_num_value(24) := p_source_76;
50461
50462 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
50463 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
50464
50465 ---------------------------------------------------------------------------------------------------------------
50466 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
50467 ---------------------------------------------------------------------------------------------------------------
50468 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
50469
50470 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50471 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
50472
50473 IF xla_accounting_cache_pkg.GetValueChar
50474 (p_source_code => 'LEDGER_CATEGORY_CODE'
50475 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
50476 AND l_bflow_method_code = 'PRIOR_ENTRY'
50477 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
50478 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
50479 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
50480 )
50481 THEN
50482 xla_ae_lines_pkg.BflowUpgEntry
50483 (p_business_method_code => l_bflow_method_code
50484 ,p_business_class_code => l_bflow_class_code
50485 ,p_balance_type => l_balance_type_code);
50486 ELSE
50487 NULL;
50488 -- No business flow processing for business flow method of NONE.
50489 END IF;
50490
50491 --
50492 -- call analytical criteria
50493 --
50494
50495 --
50496 -- call description
50497 --
50498 -- No description or it is inherited.
50499 --
50500 -- call ADRs
50501 -- Bug 4922099
50502 --
50503 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50504 (NVL(l_actual_upg_option, 'N') = 'O') OR
50505 (NVL(l_enc_upg_option, 'N') = 'O')
50506 )
50507 THEN
50508 NULL;
50509 --
50510 --
50511
50512 l_ccid := AcctDerRule_28(
50513 p_application_id => p_application_id
50514 , p_ae_header_id => l_ae_header_id
50515 , p_source_3 => p_source_3
50516 , p_source_3_meaning => p_source_3_meaning
50517 , p_source_6 => p_source_6
50518 , p_source_7 => p_source_7
50519 , p_source_7_meaning => p_source_7_meaning
50523 , p_source_32 => p_source_32
50520 , p_source_18 => p_source_18
50521 , p_source_21 => p_source_21
50522 , p_source_21_meaning => p_source_21_meaning
50524 , p_source_33 => p_source_33
50525 , p_source_34 => p_source_34
50526 , x_transaction_coa_id => l_adr_transaction_coa_id
50527 , x_accounting_coa_id => l_adr_accounting_coa_id
50528 , x_value_type_code => l_adr_value_type_code
50529 , p_side => 'NA'
50530 );
50531
50532 xla_ae_lines_pkg.set_ccid(
50533 p_code_combination_id => l_ccid
50534 , p_value_type_code => l_adr_value_type_code
50535 , p_transaction_coa_id => l_adr_transaction_coa_id
50536 , p_accounting_coa_id => l_adr_accounting_coa_id
50537 , p_adr_code => 'AP_DISCOUNT'
50538 , p_adr_type_code => 'S'
50539 , p_component_type => l_component_type
50540 , p_component_code => l_component_code
50541 , p_component_type_code => l_component_type_code
50542 , p_component_appl_id => l_component_appl_id
50543 , p_amb_context_code => l_amb_context_code
50544 , p_side => 'NA'
50545 );
50546
50547
50548 l_segment := AcctDerRule_20(
50549 p_application_id => p_application_id
50550 , p_ae_header_id => l_ae_header_id
50551 , p_source_3 => p_source_3
50552 , p_source_3_meaning => p_source_3_meaning
50553 , p_source_7 => p_source_7
50554 , p_source_7_meaning => p_source_7_meaning
50555 , p_source_18 => p_source_18
50556 , x_transaction_coa_id => l_adr_transaction_coa_id
50557 , x_accounting_coa_id => l_adr_accounting_coa_id
50558 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50559 , x_flex_value_set_id => l_adr_flex_value_set_id
50560 , x_value_type_code => l_adr_value_type_code
50561 , x_value_combination_id => l_adr_value_combination_id
50562 , x_value_segment_code => l_adr_value_segment_code
50563 , p_side => 'NA'
50564 , p_override_seg_flag => 'Y'
50565 );
50566
50567 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50568
50569 xla_ae_lines_pkg.set_segment(
50570 p_to_segment_code => 'GL_BALANCING'
50571 , p_segment_value => l_segment
50572 , p_from_segment_code => l_adr_value_segment_code
50573 , p_from_combination_id => l_adr_value_combination_id
50574 , p_value_type_code => l_adr_value_type_code
50575 , p_transaction_coa_id => l_adr_transaction_coa_id
50576 , p_accounting_coa_id => l_adr_accounting_coa_id
50577 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50578 , p_flex_value_set_id => l_adr_flex_value_set_id
50579 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50580 , p_adr_type_code => 'S'
50581 , p_component_type => l_component_type
50582 , p_component_code => l_component_code
50583 , p_component_type_code => l_component_type_code
50584 , p_component_appl_id => l_component_appl_id
50585 , p_amb_context_code => l_amb_context_code
50586 , p_entity_code => 'AP_PAYMENTS'
50587 , p_event_class_code => 'RECONCILED PAYMENTS'
50588 , p_side => 'NA'
50589 );
50590
50591 END IF;
50592
50593 l_segment := AcctDerRule_6(
50594 p_application_id => p_application_id
50595 , p_ae_header_id => l_ae_header_id
50596 , p_source_3 => p_source_3
50597 , p_source_3_meaning => p_source_3_meaning
50598 , p_source_6 => p_source_6
50599 , p_source_7 => p_source_7
50600 , p_source_7_meaning => p_source_7_meaning
50601 , x_transaction_coa_id => l_adr_transaction_coa_id
50602 , x_accounting_coa_id => l_adr_accounting_coa_id
50603 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50604 , x_flex_value_set_id => l_adr_flex_value_set_id
50605 , x_value_type_code => l_adr_value_type_code
50606 , x_value_combination_id => l_adr_value_combination_id
50607 , x_value_segment_code => l_adr_value_segment_code
50608 , p_side => 'NA'
50609 , p_override_seg_flag => 'Y'
50610 );
50611
50612 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50613
50614 xla_ae_lines_pkg.set_segment(
50615 p_to_segment_code => 'GL_ACCOUNT'
50616 , p_segment_value => l_segment
50617 , p_from_segment_code => l_adr_value_segment_code
50618 , p_from_combination_id => l_adr_value_combination_id
50619 , p_value_type_code => l_adr_value_type_code
50620 , p_transaction_coa_id => l_adr_transaction_coa_id
50621 , p_accounting_coa_id => l_adr_accounting_coa_id
50622 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50623 , p_flex_value_set_id => l_adr_flex_value_set_id
50624 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50625 , p_adr_type_code => 'S'
50626 , p_component_type => l_component_type
50627 , p_component_code => l_component_code
50628 , p_component_type_code => l_component_type_code
50632 , p_event_class_code => 'RECONCILED PAYMENTS'
50629 , p_component_appl_id => l_component_appl_id
50630 , p_amb_context_code => l_amb_context_code
50631 , p_entity_code => 'AP_PAYMENTS'
50633 , p_side => 'NA'
50634 );
50635
50636 END IF;
50637
50638 --
50639 --
50640 END IF;
50641 --
50642 -- Bug 4922099
50643 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
50644 (NVL(l_enc_upg_option, 'N') = 'O')
50645 ) AND
50646 (l_bflow_method_code = 'PRIOR_ENTRY')
50647 )
50648 THEN
50649 IF
50650 --
50651 1 = 2
50652 --
50653 THEN
50654 xla_accounting_err_pkg.build_message
50655 (p_appli_s_name => 'XLA'
50656 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50657 ,p_token_1 => 'LINE_NUMBER'
50658 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
50659 ,p_token_2 => 'LINE_TYPE_NAME'
50660 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
50661 l_component_type
50662 ,l_component_code
50663 ,l_component_type_code
50664 ,l_component_appl_id
50665 ,l_amb_context_code
50666 ,l_entity_code
50667 ,l_event_class_code
50668 )
50669 ,p_token_3 => 'OWNER'
50670 ,p_value_3 => xla_lookups_pkg.get_meaning(
50671 p_lookup_type => 'XLA_OWNER_TYPE'
50672 ,p_lookup_code => l_component_type_code
50673 )
50674 ,p_token_4 => 'PRODUCT_NAME'
50675 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
50676 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
50677 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
50678 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
50679 ,p_ae_header_id => NULL
50680 );
50681
50682 IF (C_LEVEL_ERROR>= g_log_level) THEN
50683 trace
50684 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
50685 ,p_level => C_LEVEL_ERROR
50686 ,p_module => l_log_module);
50687 END IF;
50688 END IF;
50689 END IF;
50690 --
50691 --
50692 ------------------------------------------------------------------------------------------------
50693 -- 4219869 Business Flow
50694 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
50695 -- Prior Entry. Currently, the following code is always generated.
50696 ------------------------------------------------------------------------------------------------
50697 XLA_AE_LINES_PKG.ValidateCurrentLine;
50698
50699 ------------------------------------------------------------------------------------
50700 -- 4219869 Business Flow
50701 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
50702 ------------------------------------------------------------------------------------
50703 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50704
50705 ----------------------------------------------------------------------------------
50706 -- 4219869 Business Flow
50707 -- Update journal entry status -- Need to generate this within IF <condition>
50708 ----------------------------------------------------------------------------------
50709 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50710 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
50711 ,p_balance_type_code => l_balance_type_code
50712 );
50713
50714 -------------------------------------------------------------------------------------------
50715 -- 4262811 - Generate the Accrual Reversal lines
50716 -------------------------------------------------------------------------------------------
50717 BEGIN
50718 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
50719 (g_array_event(p_event_id).array_value_num('header_index'));
50720 IF l_acc_rev_flag IS NULL THEN
50721 l_acc_rev_flag := 'N';
50722 END IF;
50723 EXCEPTION
50724 WHEN OTHERS THEN
50725 l_acc_rev_flag := 'N';
50726 END;
50727 --
50728 IF (l_acc_rev_flag = 'Y') THEN
50729
50733 ------------------------------------------------------------------------------------------
50730 -- 4645092 ------------------------------------------------------------------------------
50731 -- To allow MPA report to determine if it should generate report process
50732 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
50734
50735 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
50736 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
50737 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
50738 -- call ADRs
50739 -- Bug 4922099
50740 --
50741 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
50742 (NVL(l_actual_upg_option, 'N') = 'O') OR
50743 (NVL(l_enc_upg_option, 'N') = 'O')
50744 )
50745 THEN
50746 NULL;
50747 --
50748 --
50749
50750 l_ccid := AcctDerRule_28(
50751 p_application_id => p_application_id
50752 , p_ae_header_id => l_ae_header_id
50753 , p_source_3 => p_source_3
50754 , p_source_3_meaning => p_source_3_meaning
50755 , p_source_6 => p_source_6
50756 , p_source_7 => p_source_7
50757 , p_source_7_meaning => p_source_7_meaning
50758 , p_source_18 => p_source_18
50759 , p_source_21 => p_source_21
50760 , p_source_21_meaning => p_source_21_meaning
50761 , p_source_32 => p_source_32
50762 , p_source_33 => p_source_33
50763 , p_source_34 => p_source_34
50764 , x_transaction_coa_id => l_adr_transaction_coa_id
50765 , x_accounting_coa_id => l_adr_accounting_coa_id
50766 , x_value_type_code => l_adr_value_type_code
50767 , p_side => 'NA'
50768 );
50769
50770 xla_ae_lines_pkg.set_ccid(
50771 p_code_combination_id => l_ccid
50772 , p_value_type_code => l_adr_value_type_code
50773 , p_transaction_coa_id => l_adr_transaction_coa_id
50774 , p_accounting_coa_id => l_adr_accounting_coa_id
50775 , p_adr_code => 'AP_DISCOUNT'
50776 , p_adr_type_code => 'S'
50777 , p_component_type => l_component_type
50778 , p_component_code => l_component_code
50779 , p_component_type_code => l_component_type_code
50780 , p_component_appl_id => l_component_appl_id
50781 , p_amb_context_code => l_amb_context_code
50782 , p_side => 'NA'
50783 );
50784
50785
50786 l_segment := AcctDerRule_20(
50787 p_application_id => p_application_id
50788 , p_ae_header_id => l_ae_header_id
50789 , p_source_3 => p_source_3
50790 , p_source_3_meaning => p_source_3_meaning
50791 , p_source_7 => p_source_7
50792 , p_source_7_meaning => p_source_7_meaning
50793 , p_source_18 => p_source_18
50794 , x_transaction_coa_id => l_adr_transaction_coa_id
50795 , x_accounting_coa_id => l_adr_accounting_coa_id
50796 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50797 , x_flex_value_set_id => l_adr_flex_value_set_id
50798 , x_value_type_code => l_adr_value_type_code
50799 , x_value_combination_id => l_adr_value_combination_id
50800 , x_value_segment_code => l_adr_value_segment_code
50801 , p_side => 'NA'
50802 , p_override_seg_flag => 'Y'
50803 );
50804
50805 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50806
50807 xla_ae_lines_pkg.set_segment(
50808 p_to_segment_code => 'GL_BALANCING'
50809 , p_segment_value => l_segment
50810 , p_from_segment_code => l_adr_value_segment_code
50811 , p_from_combination_id => l_adr_value_combination_id
50812 , p_value_type_code => l_adr_value_type_code
50813 , p_transaction_coa_id => l_adr_transaction_coa_id
50814 , p_accounting_coa_id => l_adr_accounting_coa_id
50815 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50816 , p_flex_value_set_id => l_adr_flex_value_set_id
50817 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
50818 , p_adr_type_code => 'S'
50819 , p_component_type => l_component_type
50820 , p_component_code => l_component_code
50821 , p_component_type_code => l_component_type_code
50822 , p_component_appl_id => l_component_appl_id
50823 , p_amb_context_code => l_amb_context_code
50824 , p_entity_code => 'AP_PAYMENTS'
50825 , p_event_class_code => 'RECONCILED PAYMENTS'
50826 , p_side => 'NA'
50827 );
50828
50829 END IF;
50830
50831 l_segment := AcctDerRule_6(
50832 p_application_id => p_application_id
50833 , p_ae_header_id => l_ae_header_id
50834 , p_source_3 => p_source_3
50835 , p_source_3_meaning => p_source_3_meaning
50836 , p_source_6 => p_source_6
50837 , p_source_7 => p_source_7
50838 , p_source_7_meaning => p_source_7_meaning
50839 , x_transaction_coa_id => l_adr_transaction_coa_id
50840 , x_accounting_coa_id => l_adr_accounting_coa_id
50841 , x_flexfield_segment_code => l_adr_flexfield_segment_code
50842 , x_flex_value_set_id => l_adr_flex_value_set_id
50846 , p_side => 'NA'
50843 , x_value_type_code => l_adr_value_type_code
50844 , x_value_combination_id => l_adr_value_combination_id
50845 , x_value_segment_code => l_adr_value_segment_code
50847 , p_override_seg_flag => 'Y'
50848 );
50849
50850 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
50851
50852 xla_ae_lines_pkg.set_segment(
50853 p_to_segment_code => 'GL_ACCOUNT'
50854 , p_segment_value => l_segment
50855 , p_from_segment_code => l_adr_value_segment_code
50856 , p_from_combination_id => l_adr_value_combination_id
50857 , p_value_type_code => l_adr_value_type_code
50858 , p_transaction_coa_id => l_adr_transaction_coa_id
50859 , p_accounting_coa_id => l_adr_accounting_coa_id
50860 , p_flexfield_segment_code => l_adr_flexfield_segment_code
50861 , p_flex_value_set_id => l_adr_flex_value_set_id
50862 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
50863 , p_adr_type_code => 'S'
50864 , p_component_type => l_component_type
50865 , p_component_code => l_component_code
50866 , p_component_type_code => l_component_type_code
50867 , p_component_appl_id => l_component_appl_id
50868 , p_amb_context_code => l_amb_context_code
50869 , p_entity_code => 'AP_PAYMENTS'
50870 , p_event_class_code => 'RECONCILED PAYMENTS'
50871 , p_side => 'NA'
50872 );
50873
50874 END IF;
50875
50876 --
50877 --
50878 END IF;
50879
50880 --
50881 -- Update the line information that should be overwritten
50882 --
50883 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
50884 p_header_num => 1);
50885 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
50886
50887 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
50888
50889 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
50890 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
50891 END IF;
50892
50893 --
50894 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
50895 --
50896 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
50897 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
50898 ELSE
50899 ---------------------------------------------------------------------------------------------------
50900 -- 4262811a Switch Sign
50901 ---------------------------------------------------------------------------------------------------
50902 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
50903 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50904 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50905 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
50906 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50907 -- 5132302
50908 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
50909 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
50910
50911 END IF;
50912
50913 -- 4955764
50914 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
50915 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
50916
50917
50918 XLA_AE_LINES_PKG.ValidateCurrentLine;
50919 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
50920
50921 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
50922 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
50923 ,p_balance_type_code => l_balance_type_code);
50924
50925 END IF;
50926
50927 -----------------------------------------------------------------------------------------
50928 -- 4262811 Multiperiod Accounting
50929 -----------------------------------------------------------------------------------------
50930 -- No MPA option is assigned.
50931
50932
50933 END IF;
50934 END IF;
50935 --
50936
50937 --
50938 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
50939 trace
50940 (p_msg => 'END of AcctLineType_108'
50941 ,p_level => C_LEVEL_PROCEDURE
50942 ,p_module => l_log_module);
50943 END IF;
50944 --
50945 EXCEPTION
50946 WHEN xla_exceptions_pkg.application_exception THEN
50947 RAISE;
50948 WHEN OTHERS THEN
50949 xla_exceptions_pkg.raise_message
50950 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_108');
50951 END AcctLineType_108;
50952 --
50953
50954 ---------------------------------------
50955 --
50956 -- PRIVATE FUNCTION
50957 -- AcctLineType_109
50958 --
50962 ,p_event_id IN NUMBER
50959 ---------------------------------------
50960 PROCEDURE AcctLineType_109 (
50961 p_application_id IN NUMBER
50963 ,p_calculate_acctd_flag IN VARCHAR2
50964 ,p_calculate_g_l_flag IN VARCHAR2
50965 ,p_actual_flag IN OUT VARCHAR2
50966 ,p_balance_type_code OUT VARCHAR2
50967 ,p_gain_or_loss_ref OUT VARCHAR2
50968
50969 --Automatic Offsets Value
50970 , p_source_3 IN VARCHAR2
50971 , p_source_3_meaning IN VARCHAR2
50972 --System Discount Account
50973 , p_source_6 IN NUMBER
50974 --Discount Distribution Method
50975 , p_source_7 IN VARCHAR2
50976 , p_source_7_meaning IN VARCHAR2
50977 --Invoice Distribution Account
50978 , p_source_18 IN NUMBER
50979 --Invoice Distribution Type
50980 , p_source_21 IN VARCHAR2
50981 , p_source_21_meaning IN VARCHAR2
50982 --Discount Account
50983 , p_source_32 IN NUMBER
50984 --Purchase Order Charge Account
50985 , p_source_33 IN NUMBER
50986 --Purchase Order Variance Account
50987 , p_source_34 IN NUMBER
50988 --Accounting Reversal Indicator
50989 , p_source_41 IN VARCHAR2
50990 --Distribution Link Type
50991 , p_source_43 IN VARCHAR2
50992 --Override Accounted Amount Indicator
50993 , p_source_68 IN VARCHAR2
50994 , p_source_68_meaning IN VARCHAR2
50995 --Third Party Type
50996 , p_source_71 IN VARCHAR2
50997 --Invoice Distribution Tax Line Identifier
50998 , p_source_74 IN NUMBER
50999 --Invoice Distribution Tax Distribution Identifier from Tax
51000 , p_source_75 IN NUMBER
51001 --Invoice Distribution Summary Tax Line Identifier
51002 , p_source_76 IN NUMBER
51003 --Business Flow Accounts Payable Application Identifier
51004 , p_source_79 IN NUMBER
51005 --Business Flow Invoice Distribution Type
51006 , p_source_80 IN VARCHAR2
51007 --Business Flow Invoice Entity Code
51008 , p_source_81 IN VARCHAR2
51009 --Business Flow Invoice Distribution Identifier
51010 , p_source_82 IN NUMBER
51011 --Business Flow Invoice Identifier
51012 , p_source_83 IN NUMBER
51013 --When to Account for Payment Option
51014 , p_source_89 IN VARCHAR2
51015 --Payment Distribution Type
51016 , p_source_90 IN VARCHAR2
51017 , p_source_90_meaning IN VARCHAR2
51018 --Payment Distribution Amount
51019 , p_source_91 IN NUMBER
51020 --Payment Distribution Identifier
51021 , p_source_96 IN NUMBER
51022 --Payment Supplier Identifier
51023 , p_source_102 IN NUMBER
51024 --Payment Supplier Site Identifier
51025 , p_source_103 IN NUMBER
51026 --Payment Distribution Reversed Identifier
51027 , p_source_104 IN NUMBER
51028 --Payment Currency Code
51029 , p_source_106 IN VARCHAR2
51030 --Payment Distribution (Payment Rate) Ledger Amount
51031 , p_source_108 IN NUMBER
51032 --Payment Type
51033 , p_source_115 IN VARCHAR2
51034 , p_source_115_meaning IN VARCHAR2
51035 --Payment Processing Type
51036 , p_source_116 IN VARCHAR2
51037 --Invoice Distribution Amount of the Payment Distribution
51038 , p_source_117 IN NUMBER
51039 --Invoice Exchange Date
51040 , p_source_136 IN DATE
51041 --Invoice Exchange Rate
51042 , p_source_137 IN NUMBER
51043 --Invoice Exchange Rate Type
51044 , p_source_138 IN VARCHAR2
51045 )
51046 IS
51047
51048 l_component_type VARCHAR2(80);
51049 l_component_code VARCHAR2(30);
51050 l_component_type_code VARCHAR2(1);
51051 l_component_appl_id INTEGER;
51052 l_amb_context_code VARCHAR2(30);
51053 l_entity_code VARCHAR2(30);
51054 l_event_class_code VARCHAR2(30);
51055 l_ae_header_id NUMBER;
51056 l_event_type_code VARCHAR2(30);
51057 l_line_definition_code VARCHAR2(30);
51058 l_line_definition_owner_code VARCHAR2(1);
51059 --
51060 -- adr variables
51061 l_segment VARCHAR2(30);
51062 l_ccid NUMBER;
51063 l_adr_transaction_coa_id NUMBER;
51064 l_adr_accounting_coa_id NUMBER;
51065 l_adr_flexfield_segment_code VARCHAR2(30);
51066 l_adr_flex_value_set_id NUMBER;
51067 l_adr_value_type_code VARCHAR2(30);
51068 l_adr_value_combination_id NUMBER;
51069 l_adr_value_segment_code VARCHAR2(30);
51070
51071 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
51072 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
51073 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
51074 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
51075
51076 -- 4262811 Variables ------------------------------------------------------------------------------------------
51077 l_entered_amt_idx NUMBER;
51078 l_accted_amt_idx NUMBER;
51079 l_acc_rev_flag VARCHAR2(1);
51080 l_accrual_line_num NUMBER;
51081 l_tmp_amt NUMBER;
51082 l_acc_rev_natural_side_code VARCHAR2(1);
51083
51084 l_num_entries NUMBER;
51085 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
51089 l_recog_line_1 NUMBER;
51086 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
51087 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
51088 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
51090 l_recog_line_2 NUMBER;
51091
51092 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
51093 l_bflow_applied_to_amt NUMBER; -- 5132302
51094 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
51095
51096 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
51097
51098 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
51099 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
51100
51101 ---------------------------------------------------------------------------------------------------------------
51102
51103
51104 --
51105 -- bulk performance
51106 --
51107 l_balance_type_code VARCHAR2(1);
51108 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
51109 l_log_module VARCHAR2(240);
51110
51111 --
51112 -- Upgrade strategy
51113 --
51114 l_actual_upg_option VARCHAR2(1);
51115 l_enc_upg_option VARCHAR2(1);
51116
51117 --
51118 BEGIN
51119 --
51120 IF g_log_enabled THEN
51121 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_109';
51122 END IF;
51123 --
51124 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51125
51126 trace
51127 (p_msg => 'BEGIN of AcctLineType_109'
51128 ,p_level => C_LEVEL_PROCEDURE
51129 ,p_module => l_log_module);
51130
51131 END IF;
51132 --
51133 l_component_type := 'AMB_JLT';
51134 l_component_code := 'AP_DISCOUNT_ACCR_PMT';
51135 l_component_type_code := 'S';
51136 l_component_appl_id := 200;
51137 l_amb_context_code := 'DEFAULT';
51138 l_entity_code := 'AP_PAYMENTS';
51139 l_event_class_code := 'PAYMENTS';
51140 l_event_type_code := 'PAYMENTS_ALL';
51141 l_line_definition_owner_code := 'S';
51142 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
51143 --
51144 l_balance_type_code := 'A';
51145 l_segment := NULL;
51146 l_ccid := NULL;
51147 l_adr_transaction_coa_id := NULL;
51148 l_adr_accounting_coa_id := NULL;
51149 l_adr_flexfield_segment_code := NULL;
51150 l_adr_flex_value_set_id := NULL;
51151 l_adr_value_type_code := NULL;
51152 l_adr_value_combination_id := NULL;
51153 l_adr_value_segment_code := NULL;
51154
51155 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
51156 l_bflow_class_code := ''; -- 4219869 Business Flow
51157 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
51158 l_budgetary_control_flag := 'N';
51159
51160 l_bflow_applied_to_amt_idx := NULL; -- 5132302
51161 l_bflow_applied_to_amt := NULL; -- 5132302
51162 l_entered_amt_idx := NULL; -- 4262811
51163 l_accted_amt_idx := NULL; -- 4262811
51164 l_acc_rev_flag := NULL; -- 4262811
51165 l_accrual_line_num := NULL; -- 4262811
51166 l_tmp_amt := NULL; -- 4262811
51167 --
51168
51169 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
51170 l_balance_type_code <> 'B' THEN
51171 IF NVL(p_source_89,'
51172 ') <> 'CLEAR_CLEAR' AND
51173 NVL(p_source_90,'
51174 ') = 'DISCOUNT' AND
51175 NVL(p_source_115,'
51176 ') <> 'R' AND
51177 NVL(p_source_116,'
51178 ') <> 'PAYMENTCARD'
51179 THEN
51180
51181 --
51182 XLA_AE_LINES_PKG.SetNewLine;
51183
51184 p_balance_type_code := l_balance_type_code;
51185 -- set the flag so later we will know whether the gain loss line needs to be created
51186
51187 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
51188 p_actual_flag :='A';
51189 END IF;
51190
51191 --
51192 -- bulk performance
51193 --
51194 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
51195 p_header_num => 0); -- 4262811
51196 --
51197 -- set accounting line options
51198 --
51199 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
51200 p_natural_side_code => 'C'
51201 , p_gain_or_loss_flag => 'N'
51202 , p_gl_transfer_mode_code => 'S'
51203 , p_acct_entry_type_code => 'A'
51204 , p_switch_side_flag => 'Y'
51205 , p_merge_duplicate_code => 'A'
51206 );
51207 --
51208 l_acc_rev_natural_side_code := 'D'; -- 4262811
51209 --
51210 --
51211 -- set accounting line type info
51212 --
51213 xla_ae_lines_pkg.SetAcctLineType
51214 (p_component_type => l_component_type
51215 ,p_event_type_code => l_event_type_code
51216 ,p_line_definition_owner_code => l_line_definition_owner_code
51217 ,p_line_definition_code => l_line_definition_code
51218 ,p_accounting_line_code => l_component_code
51219 ,p_accounting_line_type_code => l_component_type_code
51220 ,p_accounting_line_appl_id => l_component_appl_id
51224 --
51221 ,p_amb_context_code => l_amb_context_code
51222 ,p_entity_code => l_entity_code
51223 ,p_event_class_code => l_event_class_code);
51225 -- set accounting class
51226 --
51227 xla_ae_lines_pkg.SetAcctClass(
51228 p_accounting_class_code => 'DISCOUNT'
51229 , p_ae_header_id => l_ae_header_id
51230 );
51231
51232 --
51233 -- set rounding class
51234 --
51235 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
51236 'DISCOUNT';
51237
51238 --
51239 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
51240 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
51241 --
51242 -- bulk performance
51243 --
51244 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
51245
51246 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
51247 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
51248
51249 -- 4955764
51250 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51251 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
51252
51253 -- 4458381 Public Sector Enh
51254
51255 --
51256 -- set accounting attributes for the line type
51257 --
51258 l_entered_amt_idx := 10;
51259 l_accted_amt_idx := 15;
51260 l_bflow_applied_to_amt_idx := 2; -- 5132302
51261 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
51262 l_rec_acct_attrs.array_char_value(1) := p_source_41;
51263 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
51264 l_rec_acct_attrs.array_num_value(2) := p_source_117;
51265 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
51266 l_rec_acct_attrs.array_num_value(3) := p_source_79;
51267 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
51268 l_rec_acct_attrs.array_char_value(4) := p_source_80;
51269 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
51270 l_rec_acct_attrs.array_char_value(5) := p_source_81;
51271 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
51272 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
51273 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
51274 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
51275 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
51276 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
51277 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
51278 l_rec_acct_attrs.array_char_value(9) := p_source_43;
51279 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
51280 l_rec_acct_attrs.array_num_value(10) := p_source_91;
51281 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
51282 l_rec_acct_attrs.array_char_value(11) := p_source_106;
51283 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
51284 l_rec_acct_attrs.array_date_value(12) := p_source_136;
51285 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
51286 l_rec_acct_attrs.array_num_value(13) := p_source_137;
51287 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
51288 l_rec_acct_attrs.array_char_value(14) := p_source_138;
51289 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
51290 l_rec_acct_attrs.array_num_value(15) := p_source_108;
51291 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
51292 l_rec_acct_attrs.array_char_value(16) := p_source_68;
51293 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
51294 l_rec_acct_attrs.array_num_value(17) := p_source_102;
51295 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
51296 l_rec_acct_attrs.array_num_value(18) := p_source_103;
51297 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
51298 l_rec_acct_attrs.array_char_value(19) := p_source_71;
51299 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
51300 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
51301 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
51302 l_rec_acct_attrs.array_char_value(21) := p_source_43;
51303 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
51304 l_rec_acct_attrs.array_num_value(22) := p_source_74;
51305 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
51306 l_rec_acct_attrs.array_num_value(23) := p_source_75;
51307 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
51308 l_rec_acct_attrs.array_num_value(24) := p_source_76;
51309
51310 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
51311 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
51312
51313 ---------------------------------------------------------------------------------------------------------------
51314 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
51315 ---------------------------------------------------------------------------------------------------------------
51316 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
51317
51321 IF xla_accounting_cache_pkg.GetValueChar
51318 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51319 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
51320
51322 (p_source_code => 'LEDGER_CATEGORY_CODE'
51323 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
51324 AND l_bflow_method_code = 'PRIOR_ENTRY'
51325 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
51326 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
51327 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
51328 )
51329 THEN
51330 xla_ae_lines_pkg.BflowUpgEntry
51331 (p_business_method_code => l_bflow_method_code
51332 ,p_business_class_code => l_bflow_class_code
51333 ,p_balance_type => l_balance_type_code);
51334 ELSE
51335 NULL;
51336 -- No business flow processing for business flow method of NONE.
51337 END IF;
51338
51339 --
51340 -- call analytical criteria
51341 --
51342
51343 --
51344 -- call description
51345 --
51346 -- No description or it is inherited.
51347 --
51348 -- call ADRs
51349 -- Bug 4922099
51350 --
51351 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51352 (NVL(l_actual_upg_option, 'N') = 'O') OR
51353 (NVL(l_enc_upg_option, 'N') = 'O')
51354 )
51355 THEN
51356 NULL;
51357 --
51358 --
51359
51360 l_ccid := AcctDerRule_28(
51361 p_application_id => p_application_id
51362 , p_ae_header_id => l_ae_header_id
51363 , p_source_3 => p_source_3
51364 , p_source_3_meaning => p_source_3_meaning
51365 , p_source_6 => p_source_6
51366 , p_source_7 => p_source_7
51367 , p_source_7_meaning => p_source_7_meaning
51368 , p_source_18 => p_source_18
51369 , p_source_21 => p_source_21
51370 , p_source_21_meaning => p_source_21_meaning
51371 , p_source_32 => p_source_32
51372 , p_source_33 => p_source_33
51373 , p_source_34 => p_source_34
51374 , x_transaction_coa_id => l_adr_transaction_coa_id
51375 , x_accounting_coa_id => l_adr_accounting_coa_id
51376 , x_value_type_code => l_adr_value_type_code
51377 , p_side => 'NA'
51378 );
51379
51380 xla_ae_lines_pkg.set_ccid(
51381 p_code_combination_id => l_ccid
51382 , p_value_type_code => l_adr_value_type_code
51383 , p_transaction_coa_id => l_adr_transaction_coa_id
51384 , p_accounting_coa_id => l_adr_accounting_coa_id
51385 , p_adr_code => 'AP_DISCOUNT'
51386 , p_adr_type_code => 'S'
51387 , p_component_type => l_component_type
51388 , p_component_code => l_component_code
51389 , p_component_type_code => l_component_type_code
51390 , p_component_appl_id => l_component_appl_id
51391 , p_amb_context_code => l_amb_context_code
51392 , p_side => 'NA'
51393 );
51394
51395
51396 l_segment := AcctDerRule_20(
51397 p_application_id => p_application_id
51398 , p_ae_header_id => l_ae_header_id
51399 , p_source_3 => p_source_3
51400 , p_source_3_meaning => p_source_3_meaning
51401 , p_source_7 => p_source_7
51402 , p_source_7_meaning => p_source_7_meaning
51403 , p_source_18 => p_source_18
51404 , x_transaction_coa_id => l_adr_transaction_coa_id
51405 , x_accounting_coa_id => l_adr_accounting_coa_id
51406 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51407 , x_flex_value_set_id => l_adr_flex_value_set_id
51408 , x_value_type_code => l_adr_value_type_code
51409 , x_value_combination_id => l_adr_value_combination_id
51410 , x_value_segment_code => l_adr_value_segment_code
51411 , p_side => 'NA'
51412 , p_override_seg_flag => 'Y'
51413 );
51414
51415 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51416
51417 xla_ae_lines_pkg.set_segment(
51418 p_to_segment_code => 'GL_BALANCING'
51419 , p_segment_value => l_segment
51420 , p_from_segment_code => l_adr_value_segment_code
51421 , p_from_combination_id => l_adr_value_combination_id
51422 , p_value_type_code => l_adr_value_type_code
51423 , p_transaction_coa_id => l_adr_transaction_coa_id
51424 , p_accounting_coa_id => l_adr_accounting_coa_id
51425 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51426 , p_flex_value_set_id => l_adr_flex_value_set_id
51427 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
51428 , p_adr_type_code => 'S'
51429 , p_component_type => l_component_type
51430 , p_component_code => l_component_code
51431 , p_component_type_code => l_component_type_code
51432 , p_component_appl_id => l_component_appl_id
51433 , p_amb_context_code => l_amb_context_code
51434 , p_entity_code => 'AP_PAYMENTS'
51435 , p_event_class_code => 'PAYMENTS'
51439 END IF;
51436 , p_side => 'NA'
51437 );
51438
51440
51441 l_segment := AcctDerRule_6(
51442 p_application_id => p_application_id
51443 , p_ae_header_id => l_ae_header_id
51444 , p_source_3 => p_source_3
51445 , p_source_3_meaning => p_source_3_meaning
51446 , p_source_6 => p_source_6
51447 , p_source_7 => p_source_7
51448 , p_source_7_meaning => p_source_7_meaning
51449 , x_transaction_coa_id => l_adr_transaction_coa_id
51450 , x_accounting_coa_id => l_adr_accounting_coa_id
51451 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51452 , x_flex_value_set_id => l_adr_flex_value_set_id
51453 , x_value_type_code => l_adr_value_type_code
51454 , x_value_combination_id => l_adr_value_combination_id
51455 , x_value_segment_code => l_adr_value_segment_code
51456 , p_side => 'NA'
51457 , p_override_seg_flag => 'Y'
51458 );
51459
51460 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51461
51462 xla_ae_lines_pkg.set_segment(
51463 p_to_segment_code => 'GL_ACCOUNT'
51464 , p_segment_value => l_segment
51465 , p_from_segment_code => l_adr_value_segment_code
51466 , p_from_combination_id => l_adr_value_combination_id
51467 , p_value_type_code => l_adr_value_type_code
51468 , p_transaction_coa_id => l_adr_transaction_coa_id
51469 , p_accounting_coa_id => l_adr_accounting_coa_id
51470 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51471 , p_flex_value_set_id => l_adr_flex_value_set_id
51472 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
51473 , p_adr_type_code => 'S'
51474 , p_component_type => l_component_type
51475 , p_component_code => l_component_code
51476 , p_component_type_code => l_component_type_code
51477 , p_component_appl_id => l_component_appl_id
51478 , p_amb_context_code => l_amb_context_code
51479 , p_entity_code => 'AP_PAYMENTS'
51480 , p_event_class_code => 'PAYMENTS'
51481 , p_side => 'NA'
51482 );
51483
51484 END IF;
51485
51486 --
51487 --
51488 END IF;
51489 --
51490 -- Bug 4922099
51491 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
51492 (NVL(l_enc_upg_option, 'N') = 'O')
51493 ) AND
51494 (l_bflow_method_code = 'PRIOR_ENTRY')
51495 )
51496 THEN
51497 IF
51498 --
51499 1 = 2
51500 --
51501 THEN
51502 xla_accounting_err_pkg.build_message
51503 (p_appli_s_name => 'XLA'
51504 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51505 ,p_token_1 => 'LINE_NUMBER'
51506 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
51507 ,p_token_2 => 'LINE_TYPE_NAME'
51508 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
51509 l_component_type
51510 ,l_component_code
51511 ,l_component_type_code
51512 ,l_component_appl_id
51513 ,l_amb_context_code
51514 ,l_entity_code
51515 ,l_event_class_code
51516 )
51517 ,p_token_3 => 'OWNER'
51518 ,p_value_3 => xla_lookups_pkg.get_meaning(
51519 p_lookup_type => 'XLA_OWNER_TYPE'
51520 ,p_lookup_code => l_component_type_code
51521 )
51522 ,p_token_4 => 'PRODUCT_NAME'
51523 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
51524 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
51525 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
51526 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
51527 ,p_ae_header_id => NULL
51528 );
51529
51530 IF (C_LEVEL_ERROR>= g_log_level) THEN
51531 trace
51532 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
51533 ,p_level => C_LEVEL_ERROR
51534 ,p_module => l_log_module);
51535 END IF;
51536 END IF;
51537 END IF;
51538 --
51539 --
51543 -- Prior Entry. Currently, the following code is always generated.
51540 ------------------------------------------------------------------------------------------------
51541 -- 4219869 Business Flow
51542 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
51544 ------------------------------------------------------------------------------------------------
51545 XLA_AE_LINES_PKG.ValidateCurrentLine;
51546
51547 ------------------------------------------------------------------------------------
51548 -- 4219869 Business Flow
51549 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
51550 ------------------------------------------------------------------------------------
51551 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51552
51553 ----------------------------------------------------------------------------------
51554 -- 4219869 Business Flow
51555 -- Update journal entry status -- Need to generate this within IF <condition>
51556 ----------------------------------------------------------------------------------
51557 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51558 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
51559 ,p_balance_type_code => l_balance_type_code
51560 );
51561
51562 -------------------------------------------------------------------------------------------
51563 -- 4262811 - Generate the Accrual Reversal lines
51564 -------------------------------------------------------------------------------------------
51565 BEGIN
51566 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
51567 (g_array_event(p_event_id).array_value_num('header_index'));
51568 IF l_acc_rev_flag IS NULL THEN
51569 l_acc_rev_flag := 'N';
51570 END IF;
51571 EXCEPTION
51572 WHEN OTHERS THEN
51573 l_acc_rev_flag := 'N';
51574 END;
51575 --
51576 IF (l_acc_rev_flag = 'Y') THEN
51577
51578 -- 4645092 ------------------------------------------------------------------------------
51579 -- To allow MPA report to determine if it should generate report process
51580 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
51581 ------------------------------------------------------------------------------------------
51582
51583 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
51584 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
51585 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
51586 -- call ADRs
51587 -- Bug 4922099
51588 --
51589 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
51590 (NVL(l_actual_upg_option, 'N') = 'O') OR
51591 (NVL(l_enc_upg_option, 'N') = 'O')
51592 )
51593 THEN
51594 NULL;
51595 --
51596 --
51597
51598 l_ccid := AcctDerRule_28(
51599 p_application_id => p_application_id
51600 , p_ae_header_id => l_ae_header_id
51601 , p_source_3 => p_source_3
51602 , p_source_3_meaning => p_source_3_meaning
51603 , p_source_6 => p_source_6
51604 , p_source_7 => p_source_7
51605 , p_source_7_meaning => p_source_7_meaning
51606 , p_source_18 => p_source_18
51607 , p_source_21 => p_source_21
51608 , p_source_21_meaning => p_source_21_meaning
51609 , p_source_32 => p_source_32
51610 , p_source_33 => p_source_33
51611 , p_source_34 => p_source_34
51612 , x_transaction_coa_id => l_adr_transaction_coa_id
51613 , x_accounting_coa_id => l_adr_accounting_coa_id
51614 , x_value_type_code => l_adr_value_type_code
51615 , p_side => 'NA'
51616 );
51617
51618 xla_ae_lines_pkg.set_ccid(
51619 p_code_combination_id => l_ccid
51620 , p_value_type_code => l_adr_value_type_code
51621 , p_transaction_coa_id => l_adr_transaction_coa_id
51622 , p_accounting_coa_id => l_adr_accounting_coa_id
51623 , p_adr_code => 'AP_DISCOUNT'
51624 , p_adr_type_code => 'S'
51625 , p_component_type => l_component_type
51626 , p_component_code => l_component_code
51627 , p_component_type_code => l_component_type_code
51628 , p_component_appl_id => l_component_appl_id
51629 , p_amb_context_code => l_amb_context_code
51630 , p_side => 'NA'
51631 );
51632
51633
51634 l_segment := AcctDerRule_20(
51635 p_application_id => p_application_id
51636 , p_ae_header_id => l_ae_header_id
51637 , p_source_3 => p_source_3
51638 , p_source_3_meaning => p_source_3_meaning
51639 , p_source_7 => p_source_7
51640 , p_source_7_meaning => p_source_7_meaning
51641 , p_source_18 => p_source_18
51642 , x_transaction_coa_id => l_adr_transaction_coa_id
51643 , x_accounting_coa_id => l_adr_accounting_coa_id
51644 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51645 , x_flex_value_set_id => l_adr_flex_value_set_id
51646 , x_value_type_code => l_adr_value_type_code
51647 , x_value_combination_id => l_adr_value_combination_id
51648 , x_value_segment_code => l_adr_value_segment_code
51649 , p_side => 'NA'
51650 , p_override_seg_flag => 'Y'
51651 );
51652
51656 p_to_segment_code => 'GL_BALANCING'
51653 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51654
51655 xla_ae_lines_pkg.set_segment(
51657 , p_segment_value => l_segment
51658 , p_from_segment_code => l_adr_value_segment_code
51659 , p_from_combination_id => l_adr_value_combination_id
51660 , p_value_type_code => l_adr_value_type_code
51661 , p_transaction_coa_id => l_adr_transaction_coa_id
51662 , p_accounting_coa_id => l_adr_accounting_coa_id
51663 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51664 , p_flex_value_set_id => l_adr_flex_value_set_id
51665 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
51666 , p_adr_type_code => 'S'
51667 , p_component_type => l_component_type
51668 , p_component_code => l_component_code
51669 , p_component_type_code => l_component_type_code
51670 , p_component_appl_id => l_component_appl_id
51671 , p_amb_context_code => l_amb_context_code
51672 , p_entity_code => 'AP_PAYMENTS'
51673 , p_event_class_code => 'PAYMENTS'
51674 , p_side => 'NA'
51675 );
51676
51677 END IF;
51678
51679 l_segment := AcctDerRule_6(
51680 p_application_id => p_application_id
51681 , p_ae_header_id => l_ae_header_id
51682 , p_source_3 => p_source_3
51683 , p_source_3_meaning => p_source_3_meaning
51684 , p_source_6 => p_source_6
51685 , p_source_7 => p_source_7
51686 , p_source_7_meaning => p_source_7_meaning
51687 , x_transaction_coa_id => l_adr_transaction_coa_id
51688 , x_accounting_coa_id => l_adr_accounting_coa_id
51689 , x_flexfield_segment_code => l_adr_flexfield_segment_code
51690 , x_flex_value_set_id => l_adr_flex_value_set_id
51691 , x_value_type_code => l_adr_value_type_code
51692 , x_value_combination_id => l_adr_value_combination_id
51693 , x_value_segment_code => l_adr_value_segment_code
51694 , p_side => 'NA'
51695 , p_override_seg_flag => 'Y'
51696 );
51697
51698 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
51699
51700 xla_ae_lines_pkg.set_segment(
51701 p_to_segment_code => 'GL_ACCOUNT'
51702 , p_segment_value => l_segment
51703 , p_from_segment_code => l_adr_value_segment_code
51704 , p_from_combination_id => l_adr_value_combination_id
51705 , p_value_type_code => l_adr_value_type_code
51706 , p_transaction_coa_id => l_adr_transaction_coa_id
51707 , p_accounting_coa_id => l_adr_accounting_coa_id
51708 , p_flexfield_segment_code => l_adr_flexfield_segment_code
51709 , p_flex_value_set_id => l_adr_flex_value_set_id
51710 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
51711 , p_adr_type_code => 'S'
51712 , p_component_type => l_component_type
51713 , p_component_code => l_component_code
51714 , p_component_type_code => l_component_type_code
51715 , p_component_appl_id => l_component_appl_id
51716 , p_amb_context_code => l_amb_context_code
51717 , p_entity_code => 'AP_PAYMENTS'
51718 , p_event_class_code => 'PAYMENTS'
51719 , p_side => 'NA'
51720 );
51721
51722 END IF;
51723
51724 --
51725 --
51726 END IF;
51727
51728 --
51729 -- Update the line information that should be overwritten
51730 --
51731 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
51732 p_header_num => 1);
51733 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
51734
51735 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
51736
51737 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
51738 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
51739 END IF;
51740
51741 --
51742 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
51743 --
51744 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
51745 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
51746 ELSE
51747 ---------------------------------------------------------------------------------------------------
51748 -- 4262811a Switch Sign
51749 ---------------------------------------------------------------------------------------------------
51750 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
51751 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51752 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51753 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
51754 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51758
51755 -- 5132302
51756 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
51757 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
51759 END IF;
51760
51761 -- 4955764
51762 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
51763 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
51764
51765
51766 XLA_AE_LINES_PKG.ValidateCurrentLine;
51767 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
51768
51769 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
51770 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
51771 ,p_balance_type_code => l_balance_type_code);
51772
51773 END IF;
51774
51775 -----------------------------------------------------------------------------------------
51776 -- 4262811 Multiperiod Accounting
51777 -----------------------------------------------------------------------------------------
51778 -- No MPA option is assigned.
51779
51780
51781 END IF;
51782 END IF;
51783 --
51784
51785 --
51786 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51787 trace
51788 (p_msg => 'END of AcctLineType_109'
51789 ,p_level => C_LEVEL_PROCEDURE
51790 ,p_module => l_log_module);
51791 END IF;
51792 --
51793 EXCEPTION
51794 WHEN xla_exceptions_pkg.application_exception THEN
51795 RAISE;
51796 WHEN OTHERS THEN
51797 xla_exceptions_pkg.raise_message
51798 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_109');
51799 END AcctLineType_109;
51800 --
51801
51802 ---------------------------------------
51803 --
51804 -- PRIVATE FUNCTION
51805 -- AcctLineType_110
51806 --
51807 ---------------------------------------
51808 PROCEDURE AcctLineType_110 (
51809 p_application_id IN NUMBER
51810 ,p_event_id IN NUMBER
51811 ,p_calculate_acctd_flag IN VARCHAR2
51812 ,p_calculate_g_l_flag IN VARCHAR2
51813 ,p_actual_flag IN OUT VARCHAR2
51814 ,p_balance_type_code OUT VARCHAR2
51815 ,p_gain_or_loss_ref OUT VARCHAR2
51816
51817 --Automatic Offsets Value
51818 , p_source_3 IN VARCHAR2
51819 , p_source_3_meaning IN VARCHAR2
51820 --System Discount Account
51821 , p_source_6 IN NUMBER
51822 --Discount Distribution Method
51823 , p_source_7 IN VARCHAR2
51824 , p_source_7_meaning IN VARCHAR2
51825 --Invoice Distribution Account
51826 , p_source_18 IN NUMBER
51827 --Invoice Distribution Type
51828 , p_source_21 IN VARCHAR2
51829 , p_source_21_meaning IN VARCHAR2
51830 --Discount Account
51831 , p_source_32 IN NUMBER
51832 --Purchase Order Charge Account
51833 , p_source_33 IN NUMBER
51834 --Purchase Order Variance Account
51835 , p_source_34 IN NUMBER
51836 --Accounting Reversal Indicator
51837 , p_source_41 IN VARCHAR2
51838 --Distribution Link Type
51839 , p_source_43 IN VARCHAR2
51840 --Override Accounted Amount Indicator
51841 , p_source_68 IN VARCHAR2
51842 , p_source_68_meaning IN VARCHAR2
51843 --Third Party Type
51844 , p_source_71 IN VARCHAR2
51845 --Invoice Distribution Tax Line Identifier
51846 , p_source_74 IN NUMBER
51847 --Invoice Distribution Tax Distribution Identifier from Tax
51848 , p_source_75 IN NUMBER
51849 --Invoice Distribution Summary Tax Line Identifier
51850 , p_source_76 IN NUMBER
51851 --Business Flow Accounts Payable Application Identifier
51852 , p_source_79 IN NUMBER
51853 --Business Flow Invoice Distribution Type
51854 , p_source_80 IN VARCHAR2
51855 --Business Flow Invoice Entity Code
51856 , p_source_81 IN VARCHAR2
51857 --Business Flow Invoice Distribution Identifier
51858 , p_source_82 IN NUMBER
51859 --Business Flow Invoice Identifier
51860 , p_source_83 IN NUMBER
51861 --When to Account for Payment Option
51862 , p_source_89 IN VARCHAR2
51863 --Payment Distribution Type
51864 , p_source_90 IN VARCHAR2
51865 , p_source_90_meaning IN VARCHAR2
51866 --Payment Distribution Amount
51867 , p_source_91 IN NUMBER
51868 --Payment Distribution Identifier
51869 , p_source_96 IN NUMBER
51870 --Payment Supplier Identifier
51871 , p_source_102 IN NUMBER
51872 --Payment Supplier Site Identifier
51873 , p_source_103 IN NUMBER
51874 --Payment Distribution Reversed Identifier
51875 , p_source_104 IN NUMBER
51876 --Payment Currency Code
51877 , p_source_106 IN VARCHAR2
51878 --Payment Distribution (Invoice Rate) Ledger Amount
51879 , p_source_109 IN NUMBER
51880 --Payment Type
51881 , p_source_115 IN VARCHAR2
51882 , p_source_115_meaning IN VARCHAR2
51883 --Invoice Exchange Date
51884 , p_source_136 IN DATE
51885 --Invoice Exchange Rate
51886 , p_source_137 IN NUMBER
51887 --Invoice Exchange Rate Type
51888 , p_source_138 IN VARCHAR2
51889 )
51890 IS
51891
51892 l_component_type VARCHAR2(80);
51896 l_amb_context_code VARCHAR2(30);
51893 l_component_code VARCHAR2(30);
51894 l_component_type_code VARCHAR2(1);
51895 l_component_appl_id INTEGER;
51897 l_entity_code VARCHAR2(30);
51898 l_event_class_code VARCHAR2(30);
51899 l_ae_header_id NUMBER;
51900 l_event_type_code VARCHAR2(30);
51901 l_line_definition_code VARCHAR2(30);
51902 l_line_definition_owner_code VARCHAR2(1);
51903 --
51904 -- adr variables
51905 l_segment VARCHAR2(30);
51906 l_ccid NUMBER;
51907 l_adr_transaction_coa_id NUMBER;
51908 l_adr_accounting_coa_id NUMBER;
51909 l_adr_flexfield_segment_code VARCHAR2(30);
51910 l_adr_flex_value_set_id NUMBER;
51911 l_adr_value_type_code VARCHAR2(30);
51912 l_adr_value_combination_id NUMBER;
51913 l_adr_value_segment_code VARCHAR2(30);
51914
51915 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
51916 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
51917 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
51918 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
51919
51920 -- 4262811 Variables ------------------------------------------------------------------------------------------
51921 l_entered_amt_idx NUMBER;
51922 l_accted_amt_idx NUMBER;
51923 l_acc_rev_flag VARCHAR2(1);
51924 l_accrual_line_num NUMBER;
51925 l_tmp_amt NUMBER;
51926 l_acc_rev_natural_side_code VARCHAR2(1);
51927
51928 l_num_entries NUMBER;
51929 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
51930 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
51931 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
51932 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
51933 l_recog_line_1 NUMBER;
51934 l_recog_line_2 NUMBER;
51935
51936 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
51937 l_bflow_applied_to_amt NUMBER; -- 5132302
51938 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
51939
51940 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
51941
51942 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
51943 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
51944
51945 ---------------------------------------------------------------------------------------------------------------
51946
51947
51948 --
51949 -- bulk performance
51950 --
51951 l_balance_type_code VARCHAR2(1);
51952 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
51953 l_log_module VARCHAR2(240);
51954
51955 --
51956 -- Upgrade strategy
51957 --
51958 l_actual_upg_option VARCHAR2(1);
51959 l_enc_upg_option VARCHAR2(1);
51960
51961 --
51962 BEGIN
51963 --
51964 IF g_log_enabled THEN
51965 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_110';
51966 END IF;
51967 --
51968 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
51969
51970 trace
51971 (p_msg => 'BEGIN of AcctLineType_110'
51972 ,p_level => C_LEVEL_PROCEDURE
51973 ,p_module => l_log_module);
51974
51975 END IF;
51976 --
51977 l_component_type := 'AMB_JLT';
51978 l_component_code := 'AP_DISCOUNT_ACCR_REF';
51979 l_component_type_code := 'S';
51980 l_component_appl_id := 200;
51981 l_amb_context_code := 'DEFAULT';
51982 l_entity_code := 'AP_PAYMENTS';
51983 l_event_class_code := 'REFUNDS';
51984 l_event_type_code := 'REFUNDS_ALL';
51985 l_line_definition_owner_code := 'S';
51986 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
51987 --
51988 l_balance_type_code := 'A';
51989 l_segment := NULL;
51990 l_ccid := NULL;
51991 l_adr_transaction_coa_id := NULL;
51992 l_adr_accounting_coa_id := NULL;
51993 l_adr_flexfield_segment_code := NULL;
51994 l_adr_flex_value_set_id := NULL;
51995 l_adr_value_type_code := NULL;
51996 l_adr_value_combination_id := NULL;
51997 l_adr_value_segment_code := NULL;
51998
51999 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
52000 l_bflow_class_code := ''; -- 4219869 Business Flow
52001 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
52002 l_budgetary_control_flag := 'N';
52003
52004 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52005 l_bflow_applied_to_amt := NULL; -- 5132302
52006 l_entered_amt_idx := NULL; -- 4262811
52007 l_accted_amt_idx := NULL; -- 4262811
52008 l_acc_rev_flag := NULL; -- 4262811
52009 l_accrual_line_num := NULL; -- 4262811
52010 l_tmp_amt := NULL; -- 4262811
52011 --
52012
52013 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
52014 l_balance_type_code <> 'B' THEN
52015 IF NVL(p_source_89,'
52016 ') <> 'CLEAR_CLEAR' AND
52017 NVL(p_source_90,'
52018 ') = 'DISCOUNT' AND
52019 NVL(p_source_115,'
52020 ') = 'R'
52021 THEN
52022
52026 p_balance_type_code := l_balance_type_code;
52023 --
52024 XLA_AE_LINES_PKG.SetNewLine;
52025
52027 -- set the flag so later we will know whether the gain loss line needs to be created
52028
52029 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
52030 p_actual_flag :='A';
52031 END IF;
52032
52033 --
52034 -- bulk performance
52035 --
52036 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
52037 p_header_num => 0); -- 4262811
52038 --
52039 -- set accounting line options
52040 --
52041 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
52042 p_natural_side_code => 'C'
52043 , p_gain_or_loss_flag => 'N'
52044 , p_gl_transfer_mode_code => 'S'
52045 , p_acct_entry_type_code => 'A'
52046 , p_switch_side_flag => 'Y'
52047 , p_merge_duplicate_code => 'A'
52048 );
52049 --
52050 l_acc_rev_natural_side_code := 'D'; -- 4262811
52051 --
52052 --
52053 -- set accounting line type info
52054 --
52055 xla_ae_lines_pkg.SetAcctLineType
52056 (p_component_type => l_component_type
52057 ,p_event_type_code => l_event_type_code
52058 ,p_line_definition_owner_code => l_line_definition_owner_code
52059 ,p_line_definition_code => l_line_definition_code
52060 ,p_accounting_line_code => l_component_code
52061 ,p_accounting_line_type_code => l_component_type_code
52062 ,p_accounting_line_appl_id => l_component_appl_id
52063 ,p_amb_context_code => l_amb_context_code
52064 ,p_entity_code => l_entity_code
52065 ,p_event_class_code => l_event_class_code);
52066 --
52067 -- set accounting class
52068 --
52069 xla_ae_lines_pkg.SetAcctClass(
52070 p_accounting_class_code => 'DISCOUNT'
52071 , p_ae_header_id => l_ae_header_id
52072 );
52073
52074 --
52075 -- set rounding class
52076 --
52077 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
52078 'DISCOUNT';
52079
52080 --
52081 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
52082 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
52083 --
52084 -- bulk performance
52085 --
52086 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
52087
52088 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
52089 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
52090
52091 -- 4955764
52092 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52093 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
52094
52095 -- 4458381 Public Sector Enh
52096
52097 --
52098 -- set accounting attributes for the line type
52099 --
52100 l_entered_amt_idx := 9;
52101 l_accted_amt_idx := 14;
52102 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52103 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
52104 l_rec_acct_attrs.array_char_value(1) := p_source_41;
52105 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
52106 l_rec_acct_attrs.array_num_value(2) := p_source_79;
52107 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
52108 l_rec_acct_attrs.array_char_value(3) := p_source_80;
52109 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
52110 l_rec_acct_attrs.array_char_value(4) := p_source_81;
52111 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
52112 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
52113 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
52114 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
52115 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
52116 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
52117 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
52118 l_rec_acct_attrs.array_char_value(8) := p_source_43;
52119 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
52120 l_rec_acct_attrs.array_num_value(9) := p_source_91;
52121 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
52122 l_rec_acct_attrs.array_char_value(10) := p_source_106;
52123 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
52124 l_rec_acct_attrs.array_date_value(11) := p_source_136;
52125 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
52126 l_rec_acct_attrs.array_num_value(12) := p_source_137;
52127 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
52128 l_rec_acct_attrs.array_char_value(13) := p_source_138;
52129 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
52130 l_rec_acct_attrs.array_num_value(14) := p_source_109;
52131 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
52132 l_rec_acct_attrs.array_char_value(15) := p_source_68;
52133 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
52134 l_rec_acct_attrs.array_num_value(16) := p_source_102;
52135 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
52139 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
52136 l_rec_acct_attrs.array_num_value(17) := p_source_103;
52137 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
52138 l_rec_acct_attrs.array_char_value(18) := p_source_71;
52140 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
52141 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
52142 l_rec_acct_attrs.array_char_value(20) := p_source_43;
52143 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
52144 l_rec_acct_attrs.array_num_value(21) := p_source_74;
52145 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
52146 l_rec_acct_attrs.array_num_value(22) := p_source_75;
52147 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
52148 l_rec_acct_attrs.array_num_value(23) := p_source_76;
52149
52150 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
52151 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
52152
52153 ---------------------------------------------------------------------------------------------------------------
52154 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
52155 ---------------------------------------------------------------------------------------------------------------
52156 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
52157
52158 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52159 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
52160
52161 IF xla_accounting_cache_pkg.GetValueChar
52162 (p_source_code => 'LEDGER_CATEGORY_CODE'
52163 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
52164 AND l_bflow_method_code = 'PRIOR_ENTRY'
52165 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
52166 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
52167 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
52168 )
52169 THEN
52170 xla_ae_lines_pkg.BflowUpgEntry
52171 (p_business_method_code => l_bflow_method_code
52172 ,p_business_class_code => l_bflow_class_code
52173 ,p_balance_type => l_balance_type_code);
52174 ELSE
52175 NULL;
52176 -- No business flow processing for business flow method of NONE.
52177 END IF;
52178
52179 --
52180 -- call analytical criteria
52181 --
52182
52183 --
52184 -- call description
52185 --
52186 -- No description or it is inherited.
52187 --
52188 -- call ADRs
52189 -- Bug 4922099
52190 --
52191 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52192 (NVL(l_actual_upg_option, 'N') = 'O') OR
52193 (NVL(l_enc_upg_option, 'N') = 'O')
52194 )
52195 THEN
52196 NULL;
52197 --
52198 --
52199
52200 l_ccid := AcctDerRule_28(
52201 p_application_id => p_application_id
52202 , p_ae_header_id => l_ae_header_id
52203 , p_source_3 => p_source_3
52204 , p_source_3_meaning => p_source_3_meaning
52205 , p_source_6 => p_source_6
52206 , p_source_7 => p_source_7
52207 , p_source_7_meaning => p_source_7_meaning
52208 , p_source_18 => p_source_18
52209 , p_source_21 => p_source_21
52210 , p_source_21_meaning => p_source_21_meaning
52211 , p_source_32 => p_source_32
52212 , p_source_33 => p_source_33
52213 , p_source_34 => p_source_34
52214 , x_transaction_coa_id => l_adr_transaction_coa_id
52215 , x_accounting_coa_id => l_adr_accounting_coa_id
52216 , x_value_type_code => l_adr_value_type_code
52217 , p_side => 'NA'
52218 );
52219
52220 xla_ae_lines_pkg.set_ccid(
52221 p_code_combination_id => l_ccid
52222 , p_value_type_code => l_adr_value_type_code
52223 , p_transaction_coa_id => l_adr_transaction_coa_id
52224 , p_accounting_coa_id => l_adr_accounting_coa_id
52225 , p_adr_code => 'AP_DISCOUNT'
52226 , p_adr_type_code => 'S'
52227 , p_component_type => l_component_type
52228 , p_component_code => l_component_code
52229 , p_component_type_code => l_component_type_code
52230 , p_component_appl_id => l_component_appl_id
52231 , p_amb_context_code => l_amb_context_code
52232 , p_side => 'NA'
52233 );
52234
52235
52236 l_segment := AcctDerRule_20(
52237 p_application_id => p_application_id
52238 , p_ae_header_id => l_ae_header_id
52239 , p_source_3 => p_source_3
52240 , p_source_3_meaning => p_source_3_meaning
52241 , p_source_7 => p_source_7
52242 , p_source_7_meaning => p_source_7_meaning
52243 , p_source_18 => p_source_18
52244 , x_transaction_coa_id => l_adr_transaction_coa_id
52245 , x_accounting_coa_id => l_adr_accounting_coa_id
52246 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52247 , x_flex_value_set_id => l_adr_flex_value_set_id
52248 , x_value_type_code => l_adr_value_type_code
52249 , x_value_combination_id => l_adr_value_combination_id
52250 , x_value_segment_code => l_adr_value_segment_code
52254
52251 , p_side => 'NA'
52252 , p_override_seg_flag => 'Y'
52253 );
52255 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52256
52257 xla_ae_lines_pkg.set_segment(
52258 p_to_segment_code => 'GL_BALANCING'
52259 , p_segment_value => l_segment
52260 , p_from_segment_code => l_adr_value_segment_code
52261 , p_from_combination_id => l_adr_value_combination_id
52262 , p_value_type_code => l_adr_value_type_code
52263 , p_transaction_coa_id => l_adr_transaction_coa_id
52264 , p_accounting_coa_id => l_adr_accounting_coa_id
52265 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52266 , p_flex_value_set_id => l_adr_flex_value_set_id
52267 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
52268 , p_adr_type_code => 'S'
52269 , p_component_type => l_component_type
52270 , p_component_code => l_component_code
52271 , p_component_type_code => l_component_type_code
52272 , p_component_appl_id => l_component_appl_id
52273 , p_amb_context_code => l_amb_context_code
52274 , p_entity_code => 'AP_PAYMENTS'
52275 , p_event_class_code => 'REFUNDS'
52276 , p_side => 'NA'
52277 );
52278
52279 END IF;
52280
52281 l_segment := AcctDerRule_6(
52282 p_application_id => p_application_id
52283 , p_ae_header_id => l_ae_header_id
52284 , p_source_3 => p_source_3
52285 , p_source_3_meaning => p_source_3_meaning
52286 , p_source_6 => p_source_6
52287 , p_source_7 => p_source_7
52288 , p_source_7_meaning => p_source_7_meaning
52289 , x_transaction_coa_id => l_adr_transaction_coa_id
52290 , x_accounting_coa_id => l_adr_accounting_coa_id
52291 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52292 , x_flex_value_set_id => l_adr_flex_value_set_id
52293 , x_value_type_code => l_adr_value_type_code
52294 , x_value_combination_id => l_adr_value_combination_id
52295 , x_value_segment_code => l_adr_value_segment_code
52296 , p_side => 'NA'
52297 , p_override_seg_flag => 'Y'
52298 );
52299
52300 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52301
52302 xla_ae_lines_pkg.set_segment(
52303 p_to_segment_code => 'GL_ACCOUNT'
52304 , p_segment_value => l_segment
52305 , p_from_segment_code => l_adr_value_segment_code
52306 , p_from_combination_id => l_adr_value_combination_id
52307 , p_value_type_code => l_adr_value_type_code
52308 , p_transaction_coa_id => l_adr_transaction_coa_id
52309 , p_accounting_coa_id => l_adr_accounting_coa_id
52310 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52311 , p_flex_value_set_id => l_adr_flex_value_set_id
52312 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
52313 , p_adr_type_code => 'S'
52314 , p_component_type => l_component_type
52315 , p_component_code => l_component_code
52316 , p_component_type_code => l_component_type_code
52317 , p_component_appl_id => l_component_appl_id
52318 , p_amb_context_code => l_amb_context_code
52319 , p_entity_code => 'AP_PAYMENTS'
52320 , p_event_class_code => 'REFUNDS'
52321 , p_side => 'NA'
52322 );
52323
52324 END IF;
52325
52326 --
52327 --
52328 END IF;
52329 --
52330 -- Bug 4922099
52331 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
52332 (NVL(l_enc_upg_option, 'N') = 'O')
52333 ) AND
52334 (l_bflow_method_code = 'PRIOR_ENTRY')
52335 )
52336 THEN
52337 IF
52338 --
52339 1 = 2
52340 --
52341 THEN
52342 xla_accounting_err_pkg.build_message
52343 (p_appli_s_name => 'XLA'
52344 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52345 ,p_token_1 => 'LINE_NUMBER'
52346 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
52347 ,p_token_2 => 'LINE_TYPE_NAME'
52348 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
52349 l_component_type
52350 ,l_component_code
52351 ,l_component_type_code
52352 ,l_component_appl_id
52353 ,l_amb_context_code
52354 ,l_entity_code
52355 ,l_event_class_code
52356 )
52360 ,p_lookup_code => l_component_type_code
52357 ,p_token_3 => 'OWNER'
52358 ,p_value_3 => xla_lookups_pkg.get_meaning(
52359 p_lookup_type => 'XLA_OWNER_TYPE'
52361 )
52362 ,p_token_4 => 'PRODUCT_NAME'
52363 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
52364 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
52365 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
52366 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
52367 ,p_ae_header_id => NULL
52368 );
52369
52370 IF (C_LEVEL_ERROR>= g_log_level) THEN
52371 trace
52372 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
52373 ,p_level => C_LEVEL_ERROR
52374 ,p_module => l_log_module);
52375 END IF;
52376 END IF;
52377 END IF;
52378 --
52379 --
52380 ------------------------------------------------------------------------------------------------
52381 -- 4219869 Business Flow
52382 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
52383 -- Prior Entry. Currently, the following code is always generated.
52384 ------------------------------------------------------------------------------------------------
52385 XLA_AE_LINES_PKG.ValidateCurrentLine;
52386
52387 ------------------------------------------------------------------------------------
52388 -- 4219869 Business Flow
52389 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
52390 ------------------------------------------------------------------------------------
52391 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52392
52393 ----------------------------------------------------------------------------------
52394 -- 4219869 Business Flow
52395 -- Update journal entry status -- Need to generate this within IF <condition>
52396 ----------------------------------------------------------------------------------
52397 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52398 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
52399 ,p_balance_type_code => l_balance_type_code
52400 );
52401
52402 -------------------------------------------------------------------------------------------
52403 -- 4262811 - Generate the Accrual Reversal lines
52404 -------------------------------------------------------------------------------------------
52405 BEGIN
52406 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
52407 (g_array_event(p_event_id).array_value_num('header_index'));
52408 IF l_acc_rev_flag IS NULL THEN
52409 l_acc_rev_flag := 'N';
52410 END IF;
52411 EXCEPTION
52412 WHEN OTHERS THEN
52413 l_acc_rev_flag := 'N';
52414 END;
52415 --
52416 IF (l_acc_rev_flag = 'Y') THEN
52417
52418 -- 4645092 ------------------------------------------------------------------------------
52419 -- To allow MPA report to determine if it should generate report process
52420 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
52421 ------------------------------------------------------------------------------------------
52422
52423 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
52424 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
52425 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
52426 -- call ADRs
52427 -- Bug 4922099
52428 --
52429 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
52430 (NVL(l_actual_upg_option, 'N') = 'O') OR
52431 (NVL(l_enc_upg_option, 'N') = 'O')
52432 )
52433 THEN
52434 NULL;
52435 --
52436 --
52437
52438 l_ccid := AcctDerRule_28(
52439 p_application_id => p_application_id
52440 , p_ae_header_id => l_ae_header_id
52441 , p_source_3 => p_source_3
52442 , p_source_3_meaning => p_source_3_meaning
52443 , p_source_6 => p_source_6
52444 , p_source_7 => p_source_7
52445 , p_source_7_meaning => p_source_7_meaning
52446 , p_source_18 => p_source_18
52447 , p_source_21 => p_source_21
52448 , p_source_21_meaning => p_source_21_meaning
52449 , p_source_32 => p_source_32
52450 , p_source_33 => p_source_33
52451 , p_source_34 => p_source_34
52452 , x_transaction_coa_id => l_adr_transaction_coa_id
52453 , x_accounting_coa_id => l_adr_accounting_coa_id
52454 , x_value_type_code => l_adr_value_type_code
52455 , p_side => 'NA'
52456 );
52457
52458 xla_ae_lines_pkg.set_ccid(
52459 p_code_combination_id => l_ccid
52460 , p_value_type_code => l_adr_value_type_code
52461 , p_transaction_coa_id => l_adr_transaction_coa_id
52465 , p_component_type => l_component_type
52462 , p_accounting_coa_id => l_adr_accounting_coa_id
52463 , p_adr_code => 'AP_DISCOUNT'
52464 , p_adr_type_code => 'S'
52466 , p_component_code => l_component_code
52467 , p_component_type_code => l_component_type_code
52468 , p_component_appl_id => l_component_appl_id
52469 , p_amb_context_code => l_amb_context_code
52470 , p_side => 'NA'
52471 );
52472
52473
52474 l_segment := AcctDerRule_20(
52475 p_application_id => p_application_id
52476 , p_ae_header_id => l_ae_header_id
52477 , p_source_3 => p_source_3
52478 , p_source_3_meaning => p_source_3_meaning
52479 , p_source_7 => p_source_7
52480 , p_source_7_meaning => p_source_7_meaning
52481 , p_source_18 => p_source_18
52482 , x_transaction_coa_id => l_adr_transaction_coa_id
52483 , x_accounting_coa_id => l_adr_accounting_coa_id
52484 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52485 , x_flex_value_set_id => l_adr_flex_value_set_id
52486 , x_value_type_code => l_adr_value_type_code
52487 , x_value_combination_id => l_adr_value_combination_id
52488 , x_value_segment_code => l_adr_value_segment_code
52489 , p_side => 'NA'
52490 , p_override_seg_flag => 'Y'
52491 );
52492
52493 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52494
52495 xla_ae_lines_pkg.set_segment(
52496 p_to_segment_code => 'GL_BALANCING'
52497 , p_segment_value => l_segment
52498 , p_from_segment_code => l_adr_value_segment_code
52499 , p_from_combination_id => l_adr_value_combination_id
52500 , p_value_type_code => l_adr_value_type_code
52501 , p_transaction_coa_id => l_adr_transaction_coa_id
52502 , p_accounting_coa_id => l_adr_accounting_coa_id
52503 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52504 , p_flex_value_set_id => l_adr_flex_value_set_id
52505 , p_adr_code => 'AP_DISCOUNT_BAL_ACCT_SEG'
52506 , p_adr_type_code => 'S'
52507 , p_component_type => l_component_type
52508 , p_component_code => l_component_code
52509 , p_component_type_code => l_component_type_code
52510 , p_component_appl_id => l_component_appl_id
52511 , p_amb_context_code => l_amb_context_code
52512 , p_entity_code => 'AP_PAYMENTS'
52513 , p_event_class_code => 'REFUNDS'
52514 , p_side => 'NA'
52515 );
52516
52517 END IF;
52518
52519 l_segment := AcctDerRule_6(
52520 p_application_id => p_application_id
52521 , p_ae_header_id => l_ae_header_id
52522 , p_source_3 => p_source_3
52523 , p_source_3_meaning => p_source_3_meaning
52524 , p_source_6 => p_source_6
52525 , p_source_7 => p_source_7
52526 , p_source_7_meaning => p_source_7_meaning
52527 , x_transaction_coa_id => l_adr_transaction_coa_id
52528 , x_accounting_coa_id => l_adr_accounting_coa_id
52529 , x_flexfield_segment_code => l_adr_flexfield_segment_code
52530 , x_flex_value_set_id => l_adr_flex_value_set_id
52531 , x_value_type_code => l_adr_value_type_code
52532 , x_value_combination_id => l_adr_value_combination_id
52533 , x_value_segment_code => l_adr_value_segment_code
52534 , p_side => 'NA'
52535 , p_override_seg_flag => 'Y'
52536 );
52537
52538 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
52539
52540 xla_ae_lines_pkg.set_segment(
52541 p_to_segment_code => 'GL_ACCOUNT'
52542 , p_segment_value => l_segment
52543 , p_from_segment_code => l_adr_value_segment_code
52544 , p_from_combination_id => l_adr_value_combination_id
52545 , p_value_type_code => l_adr_value_type_code
52546 , p_transaction_coa_id => l_adr_transaction_coa_id
52547 , p_accounting_coa_id => l_adr_accounting_coa_id
52548 , p_flexfield_segment_code => l_adr_flexfield_segment_code
52549 , p_flex_value_set_id => l_adr_flex_value_set_id
52550 , p_adr_code => 'AP_DISCOUNT_NAT_ACCT_SEG'
52551 , p_adr_type_code => 'S'
52552 , p_component_type => l_component_type
52553 , p_component_code => l_component_code
52554 , p_component_type_code => l_component_type_code
52555 , p_component_appl_id => l_component_appl_id
52556 , p_amb_context_code => l_amb_context_code
52557 , p_entity_code => 'AP_PAYMENTS'
52558 , p_event_class_code => 'REFUNDS'
52559 , p_side => 'NA'
52560 );
52561
52562 END IF;
52563
52564 --
52565 --
52566 END IF;
52567
52568 --
52569 -- Update the line information that should be overwritten
52570 --
52571 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
52572 p_header_num => 1);
52576
52573 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
52574
52575 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
52577 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
52578 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
52579 END IF;
52580
52581 --
52582 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
52583 --
52584 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
52585 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
52586 ELSE
52587 ---------------------------------------------------------------------------------------------------
52588 -- 4262811a Switch Sign
52589 ---------------------------------------------------------------------------------------------------
52590 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
52591 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52592 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52593 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
52594 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52595 -- 5132302
52596 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
52597 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
52598
52599 END IF;
52600
52601 -- 4955764
52602 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52603 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
52604
52605
52606 XLA_AE_LINES_PKG.ValidateCurrentLine;
52607 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
52608
52609 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
52610 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
52611 ,p_balance_type_code => l_balance_type_code);
52612
52613 END IF;
52614
52615 -----------------------------------------------------------------------------------------
52616 -- 4262811 Multiperiod Accounting
52617 -----------------------------------------------------------------------------------------
52618 -- No MPA option is assigned.
52619
52620
52621 END IF;
52622 END IF;
52623 --
52624
52625 --
52626 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52627 trace
52628 (p_msg => 'END of AcctLineType_110'
52629 ,p_level => C_LEVEL_PROCEDURE
52630 ,p_module => l_log_module);
52631 END IF;
52632 --
52633 EXCEPTION
52634 WHEN xla_exceptions_pkg.application_exception THEN
52635 RAISE;
52636 WHEN OTHERS THEN
52637 xla_exceptions_pkg.raise_message
52638 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_110');
52639 END AcctLineType_110;
52640 --
52641
52642 ---------------------------------------
52643 --
52644 -- PRIVATE FUNCTION
52645 -- AcctLineType_111
52646 --
52647 ---------------------------------------
52648 PROCEDURE AcctLineType_111 (
52649 p_application_id IN NUMBER
52650 ,p_event_id IN NUMBER
52651 ,p_calculate_acctd_flag IN VARCHAR2
52652 ,p_calculate_g_l_flag IN VARCHAR2
52653 ,p_actual_flag IN OUT VARCHAR2
52654 ,p_balance_type_code OUT VARCHAR2
52655 ,p_gain_or_loss_ref OUT VARCHAR2
52656
52657 --Invoice Distribution Description
52658 , p_source_1 IN VARCHAR2
52659 --Automatic Offsets Value
52660 , p_source_3 IN VARCHAR2
52661 , p_source_3_meaning IN VARCHAR2
52662 --Purchase Order Rate Variance Gain Account
52663 , p_source_8 IN NUMBER
52664 --Invoice Distribution Ledger Amount
52665 , p_source_9 IN NUMBER
52666 --Destination Type of the PO Distribution
52667 , p_source_10 IN VARCHAR2
52668 , p_source_10_meaning IN VARCHAR2
52669 --Purchase Order Rate Variance Loss Account
52670 , p_source_11 IN NUMBER
52671 --Invoice Distribution Account
52672 , p_source_18 IN NUMBER
52673 --Invoice Distribution Type
52674 , p_source_21 IN VARCHAR2
52675 , p_source_21_meaning IN VARCHAR2
52676 --Automatic Offsets Flag
52677 , p_source_35 IN VARCHAR2
52678 , p_source_35_meaning IN VARCHAR2
52679 --Accounting Reversal Indicator
52680 , p_source_41 IN VARCHAR2
52681 --Distribution Link Type
52682 , p_source_43 IN VARCHAR2
52683 --Allocation to Main Distribution Identifier
52684 , p_source_45 IN NUMBER
52685 --Invoice Identifier
52686 , p_source_46 IN NUMBER
52687 --Invoice Distribution Identifier
52688 , p_source_52 IN NUMBER
52689 --Payables Encumbrance Upgrade Credit Account
52690 , p_source_53 IN NUMBER
52691 --Payables Encumbrance Upgrade Credit Amount
52692 , p_source_54 IN NUMBER
52693 --Invoice Currency Code
52694 , p_source_55 IN VARCHAR2
52695 --Payables Encumbrance Upgrade Credit Base Amount
52699 --Payables Encumbrance Upgrade Debit Amount
52696 , p_source_56 IN NUMBER
52697 --Payables Encumbrance Upgrade Debit Account
52698 , p_source_57 IN NUMBER
52700 , p_source_58 IN NUMBER
52701 --Payables Encumbrance Upgrade Debit Base Amount
52702 , p_source_59 IN NUMBER
52703 --Payables Encumbrance Upgrade Option
52704 , p_source_60 IN VARCHAR2
52705 --Invoice Distribution Amount
52706 , p_source_61 IN NUMBER
52707 --Deferred Accounting End Date
52708 , p_source_65 IN DATE
52709 --Deferred Accounting Option
52710 , p_source_66 IN VARCHAR2
52711 --Deferred Accounting Start Date
52712 , p_source_67 IN DATE
52713 --Override Accounted Amount Indicator
52714 , p_source_68 IN VARCHAR2
52715 , p_source_68_meaning IN VARCHAR2
52716 --Invoice Supplier Identifier
52717 , p_source_69 IN NUMBER
52718 --Invoice Supplier Site Identifier
52719 , p_source_70 IN NUMBER
52720 --Third Party Type
52721 , p_source_71 IN VARCHAR2
52722 --Parent Reversal Identifier
52723 , p_source_72 IN NUMBER
52724 --Invoice Distribution Statistical Amount
52725 , p_source_73 IN NUMBER
52726 --Invoice Distribution Tax Line Identifier
52727 , p_source_74 IN NUMBER
52728 --Invoice Distribution Tax Distribution Identifier from Tax
52729 , p_source_75 IN NUMBER
52730 --Invoice Distribution Summary Tax Line Identifier
52731 , p_source_76 IN NUMBER
52732 --Payables Upgrade Credit Encumbrance Type Identifier
52733 , p_source_77 IN NUMBER
52734 --Payables Upgrade Debit Encumbrance Type Identifier
52735 , p_source_78 IN NUMBER
52736 --Business Flow Accounts Payable Application Identifier
52737 , p_source_79 IN NUMBER
52738 --Business Flow Invoice Distribution Type
52739 , p_source_80 IN VARCHAR2
52740 --Business Flow Invoice Entity Code
52741 , p_source_81 IN VARCHAR2
52742 --Business Flow Invoice Distribution Identifier
52743 , p_source_82 IN NUMBER
52744 --Business Flow Invoice Identifier
52745 , p_source_83 IN NUMBER
52746 --Accrue on Receipt Option
52747 , p_source_84 IN VARCHAR2
52748 , p_source_84_meaning IN VARCHAR2
52749 --Invoice Exchange Date
52750 , p_source_136 IN DATE
52751 --Invoice Exchange Rate
52752 , p_source_137 IN NUMBER
52753 --Invoice Exchange Rate Type
52754 , p_source_138 IN VARCHAR2
52755 )
52756 IS
52757
52758 l_component_type VARCHAR2(80);
52759 l_component_code VARCHAR2(30);
52760 l_component_type_code VARCHAR2(1);
52761 l_component_appl_id INTEGER;
52762 l_amb_context_code VARCHAR2(30);
52763 l_entity_code VARCHAR2(30);
52764 l_event_class_code VARCHAR2(30);
52765 l_ae_header_id NUMBER;
52766 l_event_type_code VARCHAR2(30);
52767 l_line_definition_code VARCHAR2(30);
52768 l_line_definition_owner_code VARCHAR2(1);
52769 --
52770 -- adr variables
52771 l_segment VARCHAR2(30);
52772 l_ccid NUMBER;
52773 l_adr_transaction_coa_id NUMBER;
52774 l_adr_accounting_coa_id NUMBER;
52775 l_adr_flexfield_segment_code VARCHAR2(30);
52776 l_adr_flex_value_set_id NUMBER;
52777 l_adr_value_type_code VARCHAR2(30);
52778 l_adr_value_combination_id NUMBER;
52779 l_adr_value_segment_code VARCHAR2(30);
52780
52781 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
52782 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
52783 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
52784 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
52785
52786 -- 4262811 Variables ------------------------------------------------------------------------------------------
52787 l_entered_amt_idx NUMBER;
52788 l_accted_amt_idx NUMBER;
52789 l_acc_rev_flag VARCHAR2(1);
52790 l_accrual_line_num NUMBER;
52791 l_tmp_amt NUMBER;
52792 l_acc_rev_natural_side_code VARCHAR2(1);
52793
52794 l_num_entries NUMBER;
52795 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
52796 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
52797 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
52798 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
52799 l_recog_line_1 NUMBER;
52800 l_recog_line_2 NUMBER;
52801
52802 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
52803 l_bflow_applied_to_amt NUMBER; -- 5132302
52804 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
52805
52806 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
52807
52808 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
52809 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
52810
52811 ---------------------------------------------------------------------------------------------------------------
52812
52813
52814 --
52815 -- bulk performance
52816 --
52817 l_balance_type_code VARCHAR2(1);
52818 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
52819 l_log_module VARCHAR2(240);
52820
52821 --
52825 l_enc_upg_option VARCHAR2(1);
52822 -- Upgrade strategy
52823 --
52824 l_actual_upg_option VARCHAR2(1);
52826
52827 --
52828 BEGIN
52829 --
52830 IF g_log_enabled THEN
52831 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_111';
52832 END IF;
52833 --
52834 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
52835
52836 trace
52837 (p_msg => 'BEGIN of AcctLineType_111'
52838 ,p_level => C_LEVEL_PROCEDURE
52839 ,p_module => l_log_module);
52840
52841 END IF;
52842 --
52843 l_component_type := 'AMB_JLT';
52844 l_component_code := 'AP_EX_RATE_VAR_CM';
52845 l_component_type_code := 'S';
52846 l_component_appl_id := 200;
52847 l_amb_context_code := 'DEFAULT';
52848 l_entity_code := 'AP_INVOICES';
52849 l_event_class_code := 'CREDIT MEMOS';
52850 l_event_type_code := 'CREDIT MEMOS_ALL';
52851 l_line_definition_owner_code := 'S';
52852 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
52853 --
52854 l_balance_type_code := 'A';
52855 l_segment := NULL;
52856 l_ccid := NULL;
52857 l_adr_transaction_coa_id := NULL;
52858 l_adr_accounting_coa_id := NULL;
52859 l_adr_flexfield_segment_code := NULL;
52860 l_adr_flex_value_set_id := NULL;
52861 l_adr_value_type_code := NULL;
52862 l_adr_value_combination_id := NULL;
52863 l_adr_value_segment_code := NULL;
52864
52865 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
52866 l_bflow_class_code := ''; -- 4219869 Business Flow
52867 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
52868 l_budgetary_control_flag := 'N';
52869
52870 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52871 l_bflow_applied_to_amt := NULL; -- 5132302
52872 l_entered_amt_idx := NULL; -- 4262811
52873 l_accted_amt_idx := NULL; -- 4262811
52874 l_acc_rev_flag := NULL; -- 4262811
52875 l_accrual_line_num := NULL; -- 4262811
52876 l_tmp_amt := NULL; -- 4262811
52877 --
52878 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
52879 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
52880 return;
52881 END IF;
52882
52883 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
52884 l_balance_type_code <> 'B' THEN
52885 IF NVL(p_source_21,'
52886 ') = 'ERV' AND
52887 NVL(p_source_84,'
52888 ') = 'Y'
52889 THEN
52890
52891 --
52892 XLA_AE_LINES_PKG.SetNewLine;
52893
52894 p_balance_type_code := l_balance_type_code;
52895 -- set the flag so later we will know whether the gain loss line needs to be created
52896
52897 IF(l_balance_type_code = 'A' ) THEN
52898 p_actual_flag :='G';
52899 END IF;
52900
52901 --
52902 -- bulk performance
52903 --
52904 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
52905 p_header_num => 0); -- 4262811
52906 --
52907 -- set accounting line options
52908 --
52909 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
52910 p_natural_side_code => 'D'
52911 , p_gain_or_loss_flag => 'Y'
52912 , p_gl_transfer_mode_code => 'S'
52913 , p_acct_entry_type_code => 'A'
52914 , p_switch_side_flag => 'Y'
52915 , p_merge_duplicate_code => 'A'
52916 );
52917 --
52918 l_acc_rev_natural_side_code := 'C'; -- 4262811
52919 --
52920 --
52921 -- set accounting line type info
52922 --
52923 xla_ae_lines_pkg.SetAcctLineType
52924 (p_component_type => l_component_type
52925 ,p_event_type_code => l_event_type_code
52926 ,p_line_definition_owner_code => l_line_definition_owner_code
52927 ,p_line_definition_code => l_line_definition_code
52928 ,p_accounting_line_code => l_component_code
52929 ,p_accounting_line_type_code => l_component_type_code
52930 ,p_accounting_line_appl_id => l_component_appl_id
52931 ,p_amb_context_code => l_amb_context_code
52932 ,p_entity_code => l_entity_code
52933 ,p_event_class_code => l_event_class_code);
52934 --
52935 -- set accounting class
52936 --
52937 xla_ae_lines_pkg.SetAcctClass(
52938 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
52939 , p_ae_header_id => l_ae_header_id
52940 );
52941
52942 --
52943 -- set rounding class
52944 --
52945 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
52946 'EXCHANGE_RATE_VARIANCE';
52947
52948 --
52949 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
52950 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
52951 --
52952 -- bulk performance
52953 --
52957 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
52954 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
52955
52956 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
52958
52959 -- 4955764
52960 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
52961 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
52962
52963 -- 4458381 Public Sector Enh
52964
52965 --
52966 -- set accounting attributes for the line type
52967 --
52968 l_entered_amt_idx := 23;
52969 l_accted_amt_idx := 28;
52970 l_bflow_applied_to_amt_idx := NULL; -- 5132302
52971 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
52972 l_rec_acct_attrs.array_char_value(1) := p_source_41;
52973 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
52974 l_rec_acct_attrs.array_num_value(2) :=
52975 xla_ae_sources_pkg.GetSystemSourceNum(
52976 p_source_code => 'XLA_EVENT_APPL_ID'
52977 , p_source_type_code => 'Y'
52978 , p_source_application_id => 602
52979 );
52980 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
52981 l_rec_acct_attrs.array_char_value(3) := p_source_43;
52982 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
52983 l_rec_acct_attrs.array_char_value(4) :=
52984 xla_ae_sources_pkg.GetSystemSourceChar(
52985 p_source_code => 'XLA_ENTITY_CODE'
52986 , p_source_type_code => 'Y'
52987 , p_source_application_id => 602
52988 );
52989 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
52990 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
52991 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
52992 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
52993 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
52994 l_rec_acct_attrs.array_num_value(7) := p_source_79;
52995 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
52996 l_rec_acct_attrs.array_char_value(8) := p_source_80;
52997 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
52998 l_rec_acct_attrs.array_char_value(9) := p_source_81;
52999 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
53000 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
53001 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53002 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
53003 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
53004 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
53005 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
53006 l_rec_acct_attrs.array_char_value(13) := p_source_43;
53007 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
53008 l_rec_acct_attrs.array_num_value(14) := p_source_53;
53009 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
53010 l_rec_acct_attrs.array_num_value(15) := p_source_54;
53011 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
53012 l_rec_acct_attrs.array_char_value(16) := p_source_55;
53013 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
53014 l_rec_acct_attrs.array_num_value(17) := p_source_56;
53015 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
53016 l_rec_acct_attrs.array_num_value(18) := p_source_57;
53017 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
53018 l_rec_acct_attrs.array_num_value(19) := p_source_58;
53019 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
53020 l_rec_acct_attrs.array_char_value(20) := p_source_55;
53021 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
53022 l_rec_acct_attrs.array_num_value(21) := p_source_59;
53023 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
53024 l_rec_acct_attrs.array_char_value(22) := p_source_60;
53025 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
53026 l_rec_acct_attrs.array_num_value(23) := p_source_61;
53027 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
53028 l_rec_acct_attrs.array_char_value(24) := p_source_55;
53029 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
53030 l_rec_acct_attrs.array_date_value(25) := p_source_136;
53031 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
53032 l_rec_acct_attrs.array_num_value(26) := p_source_137;
53033 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
53034 l_rec_acct_attrs.array_char_value(27) := p_source_138;
53035 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
53036 l_rec_acct_attrs.array_num_value(28) := p_source_9;
53037 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
53038 l_rec_acct_attrs.array_date_value(29) := p_source_65;
53039 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
53040 l_rec_acct_attrs.array_char_value(30) := p_source_66;
53041 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
53042 l_rec_acct_attrs.array_date_value(31) := p_source_67;
53043 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
53044 l_rec_acct_attrs.array_char_value(32) := p_source_68;
53048 l_rec_acct_attrs.array_num_value(34) := p_source_70;
53045 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
53046 l_rec_acct_attrs.array_num_value(33) := p_source_69;
53047 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
53049 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
53050 l_rec_acct_attrs.array_char_value(35) := p_source_71;
53051 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
53052 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
53053 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
53054 l_rec_acct_attrs.array_char_value(37) := p_source_43;
53055 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
53056 l_rec_acct_attrs.array_num_value(38) := p_source_73;
53057 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
53058 l_rec_acct_attrs.array_num_value(39) := p_source_74;
53059 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
53060 l_rec_acct_attrs.array_num_value(40) := p_source_75;
53061 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
53062 l_rec_acct_attrs.array_num_value(41) := p_source_76;
53063 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
53064 l_rec_acct_attrs.array_num_value(42) := p_source_77;
53065 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
53066 l_rec_acct_attrs.array_num_value(43) := p_source_78;
53067
53068 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53069 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53070
53071 ---------------------------------------------------------------------------------------------------------------
53072 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53073 ---------------------------------------------------------------------------------------------------------------
53074 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53075
53076 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53077 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53078
53079 IF xla_accounting_cache_pkg.GetValueChar
53080 (p_source_code => 'LEDGER_CATEGORY_CODE'
53081 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53082 AND l_bflow_method_code = 'PRIOR_ENTRY'
53083 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53084 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53085 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53086 )
53087 THEN
53088 xla_ae_lines_pkg.BflowUpgEntry
53089 (p_business_method_code => l_bflow_method_code
53090 ,p_business_class_code => l_bflow_class_code
53091 ,p_balance_type => l_balance_type_code);
53092 ELSE
53093 NULL;
53094 -- No business flow processing for business flow method of NONE.
53095 END IF;
53096
53097 --
53098 -- call analytical criteria
53099 --
53100
53101 --
53102 -- call description
53103 --
53104
53105 xla_ae_lines_pkg.SetLineDescription(
53106 p_ae_header_id => l_ae_header_id
53107 ,p_description => Description_2 (
53108 p_application_id => p_application_id
53109 , p_ae_header_id => l_ae_header_id
53110 , p_source_1 => p_source_1
53111 )
53112 );
53113
53114
53115 --
53116 -- call ADRs
53117 -- Bug 4922099
53118 --
53119 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53120 (NVL(l_actual_upg_option, 'N') = 'O') OR
53121 (NVL(l_enc_upg_option, 'N') = 'O')
53122 )
53123 THEN
53124 NULL;
53125 --
53126 --
53127
53128 l_ccid := AcctDerRule_29(
53129 p_application_id => p_application_id
53130 , p_ae_header_id => l_ae_header_id
53131 , p_source_3 => p_source_3
53132 , p_source_3_meaning => p_source_3_meaning
53133 , p_source_8 => p_source_8
53134 , p_source_9 => p_source_9
53135 , p_source_10 => p_source_10
53136 , p_source_10_meaning => p_source_10_meaning
53137 , p_source_11 => p_source_11
53138 , p_source_18 => p_source_18
53139 , p_source_35 => p_source_35
53140 , p_source_35_meaning => p_source_35_meaning
53141 , x_transaction_coa_id => l_adr_transaction_coa_id
53142 , x_accounting_coa_id => l_adr_accounting_coa_id
53143 , x_value_type_code => l_adr_value_type_code
53144 , p_side => 'NA'
53145 );
53146
53147 xla_ae_lines_pkg.set_ccid(
53148 p_code_combination_id => l_ccid
53149 , p_value_type_code => l_adr_value_type_code
53150 , p_transaction_coa_id => l_adr_transaction_coa_id
53151 , p_accounting_coa_id => l_adr_accounting_coa_id
53152 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53153 , p_adr_type_code => 'S'
53154 , p_component_type => l_component_type
53155 , p_component_code => l_component_code
53156 , p_component_type_code => l_component_type_code
53157 , p_component_appl_id => l_component_appl_id
53161
53158 , p_amb_context_code => l_amb_context_code
53159 , p_side => 'NA'
53160 );
53162
53163 l_segment := AcctDerRule_7(
53164 p_application_id => p_application_id
53165 , p_ae_header_id => l_ae_header_id
53166 , p_source_3 => p_source_3
53167 , p_source_3_meaning => p_source_3_meaning
53168 , p_source_8 => p_source_8
53169 , p_source_9 => p_source_9
53170 , p_source_10 => p_source_10
53171 , p_source_10_meaning => p_source_10_meaning
53172 , p_source_11 => p_source_11
53173 , x_transaction_coa_id => l_adr_transaction_coa_id
53174 , x_accounting_coa_id => l_adr_accounting_coa_id
53175 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53176 , x_flex_value_set_id => l_adr_flex_value_set_id
53177 , x_value_type_code => l_adr_value_type_code
53178 , x_value_combination_id => l_adr_value_combination_id
53179 , x_value_segment_code => l_adr_value_segment_code
53180 , p_side => 'NA'
53181 , p_override_seg_flag => 'Y'
53182 );
53183
53184 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53185
53186 xla_ae_lines_pkg.set_segment(
53187 p_to_segment_code => 'GL_ACCOUNT'
53188 , p_segment_value => l_segment
53189 , p_from_segment_code => l_adr_value_segment_code
53190 , p_from_combination_id => l_adr_value_combination_id
53191 , p_value_type_code => l_adr_value_type_code
53192 , p_transaction_coa_id => l_adr_transaction_coa_id
53193 , p_accounting_coa_id => l_adr_accounting_coa_id
53194 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53195 , p_flex_value_set_id => l_adr_flex_value_set_id
53196 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53197 , p_adr_type_code => 'S'
53198 , p_component_type => l_component_type
53199 , p_component_code => l_component_code
53200 , p_component_type_code => l_component_type_code
53201 , p_component_appl_id => l_component_appl_id
53202 , p_amb_context_code => l_amb_context_code
53203 , p_entity_code => 'AP_INVOICES'
53204 , p_event_class_code => 'CREDIT MEMOS'
53205 , p_side => 'NA'
53206 );
53207
53208 END IF;
53209
53210 l_segment := AcctDerRule_22(
53211 p_application_id => p_application_id
53212 , p_ae_header_id => l_ae_header_id
53213 , p_source_3 => p_source_3
53214 , p_source_3_meaning => p_source_3_meaning
53215 , p_source_10 => p_source_10
53216 , p_source_10_meaning => p_source_10_meaning
53217 , p_source_18 => p_source_18
53218 , x_transaction_coa_id => l_adr_transaction_coa_id
53219 , x_accounting_coa_id => l_adr_accounting_coa_id
53220 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53221 , x_flex_value_set_id => l_adr_flex_value_set_id
53222 , x_value_type_code => l_adr_value_type_code
53223 , x_value_combination_id => l_adr_value_combination_id
53224 , x_value_segment_code => l_adr_value_segment_code
53225 , p_side => 'NA'
53226 , p_override_seg_flag => 'Y'
53227 );
53228
53229 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53230
53231 xla_ae_lines_pkg.set_segment(
53232 p_to_segment_code => 'GL_BALANCING'
53233 , p_segment_value => l_segment
53234 , p_from_segment_code => l_adr_value_segment_code
53235 , p_from_combination_id => l_adr_value_combination_id
53236 , p_value_type_code => l_adr_value_type_code
53237 , p_transaction_coa_id => l_adr_transaction_coa_id
53238 , p_accounting_coa_id => l_adr_accounting_coa_id
53239 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53240 , p_flex_value_set_id => l_adr_flex_value_set_id
53241 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53242 , p_adr_type_code => 'S'
53243 , p_component_type => l_component_type
53244 , p_component_code => l_component_code
53245 , p_component_type_code => l_component_type_code
53246 , p_component_appl_id => l_component_appl_id
53247 , p_amb_context_code => l_amb_context_code
53248 , p_entity_code => 'AP_INVOICES'
53249 , p_event_class_code => 'CREDIT MEMOS'
53250 , p_side => 'NA'
53251 );
53252
53253 END IF;
53254
53255 --
53256 --
53257 END IF;
53258 --
53259 -- Bug 4922099
53260 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
53261 (NVL(l_enc_upg_option, 'N') = 'O')
53262 ) AND
53263 (l_bflow_method_code = 'PRIOR_ENTRY')
53264 )
53265 THEN
53266 IF
53267 --
53268 1 = 2
53269 --
53270 THEN
53271 xla_accounting_err_pkg.build_message
53272 (p_appli_s_name => 'XLA'
53273 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53274 ,p_token_1 => 'LINE_NUMBER'
53278 l_component_type
53275 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
53276 ,p_token_2 => 'LINE_TYPE_NAME'
53277 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
53279 ,l_component_code
53280 ,l_component_type_code
53281 ,l_component_appl_id
53282 ,l_amb_context_code
53283 ,l_entity_code
53284 ,l_event_class_code
53285 )
53286 ,p_token_3 => 'OWNER'
53287 ,p_value_3 => xla_lookups_pkg.get_meaning(
53288 p_lookup_type => 'XLA_OWNER_TYPE'
53289 ,p_lookup_code => l_component_type_code
53290 )
53291 ,p_token_4 => 'PRODUCT_NAME'
53292 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
53293 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
53294 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
53295 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
53296 ,p_ae_header_id => NULL
53297 );
53298
53299 IF (C_LEVEL_ERROR>= g_log_level) THEN
53300 trace
53301 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
53302 ,p_level => C_LEVEL_ERROR
53303 ,p_module => l_log_module);
53304 END IF;
53305 END IF;
53306 END IF;
53307 --
53308 --
53309 ------------------------------------------------------------------------------------------------
53310 -- 4219869 Business Flow
53311 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
53312 -- Prior Entry. Currently, the following code is always generated.
53313 ------------------------------------------------------------------------------------------------
53314 XLA_AE_LINES_PKG.ValidateCurrentLine;
53315
53316 ------------------------------------------------------------------------------------
53317 -- 4219869 Business Flow
53318 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
53319 ------------------------------------------------------------------------------------
53320 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53321
53322 ----------------------------------------------------------------------------------
53323 -- 4219869 Business Flow
53324 -- Update journal entry status -- Need to generate this within IF <condition>
53325 ----------------------------------------------------------------------------------
53326 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53327 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
53328 ,p_balance_type_code => l_balance_type_code
53329 );
53330
53331 -------------------------------------------------------------------------------------------
53332 -- 4262811 - Generate the Accrual Reversal lines
53333 -------------------------------------------------------------------------------------------
53334 BEGIN
53335 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
53336 (g_array_event(p_event_id).array_value_num('header_index'));
53337 IF l_acc_rev_flag IS NULL THEN
53338 l_acc_rev_flag := 'N';
53339 END IF;
53340 EXCEPTION
53341 WHEN OTHERS THEN
53342 l_acc_rev_flag := 'N';
53343 END;
53344 --
53345 IF (l_acc_rev_flag = 'Y') THEN
53346
53347 -- 4645092 ------------------------------------------------------------------------------
53348 -- To allow MPA report to determine if it should generate report process
53349 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
53350 ------------------------------------------------------------------------------------------
53351
53352 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
53353 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
53354 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
53355 -- call ADRs
53356 -- Bug 4922099
53357 --
53358 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
53359 (NVL(l_actual_upg_option, 'N') = 'O') OR
53360 (NVL(l_enc_upg_option, 'N') = 'O')
53361 )
53362 THEN
53363 NULL;
53364 --
53365 --
53366
53367 l_ccid := AcctDerRule_29(
53368 p_application_id => p_application_id
53369 , p_ae_header_id => l_ae_header_id
53370 , p_source_3 => p_source_3
53374 , p_source_10 => p_source_10
53371 , p_source_3_meaning => p_source_3_meaning
53372 , p_source_8 => p_source_8
53373 , p_source_9 => p_source_9
53375 , p_source_10_meaning => p_source_10_meaning
53376 , p_source_11 => p_source_11
53377 , p_source_18 => p_source_18
53378 , p_source_35 => p_source_35
53379 , p_source_35_meaning => p_source_35_meaning
53380 , x_transaction_coa_id => l_adr_transaction_coa_id
53381 , x_accounting_coa_id => l_adr_accounting_coa_id
53382 , x_value_type_code => l_adr_value_type_code
53383 , p_side => 'NA'
53384 );
53385
53386 xla_ae_lines_pkg.set_ccid(
53387 p_code_combination_id => l_ccid
53388 , p_value_type_code => l_adr_value_type_code
53389 , p_transaction_coa_id => l_adr_transaction_coa_id
53390 , p_accounting_coa_id => l_adr_accounting_coa_id
53391 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
53392 , p_adr_type_code => 'S'
53393 , p_component_type => l_component_type
53394 , p_component_code => l_component_code
53395 , p_component_type_code => l_component_type_code
53396 , p_component_appl_id => l_component_appl_id
53397 , p_amb_context_code => l_amb_context_code
53398 , p_side => 'NA'
53399 );
53400
53401
53402 l_segment := AcctDerRule_7(
53403 p_application_id => p_application_id
53404 , p_ae_header_id => l_ae_header_id
53405 , p_source_3 => p_source_3
53406 , p_source_3_meaning => p_source_3_meaning
53407 , p_source_8 => p_source_8
53408 , p_source_9 => p_source_9
53409 , p_source_10 => p_source_10
53410 , p_source_10_meaning => p_source_10_meaning
53411 , p_source_11 => p_source_11
53412 , x_transaction_coa_id => l_adr_transaction_coa_id
53413 , x_accounting_coa_id => l_adr_accounting_coa_id
53414 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53415 , x_flex_value_set_id => l_adr_flex_value_set_id
53416 , x_value_type_code => l_adr_value_type_code
53417 , x_value_combination_id => l_adr_value_combination_id
53418 , x_value_segment_code => l_adr_value_segment_code
53419 , p_side => 'NA'
53420 , p_override_seg_flag => 'Y'
53421 );
53422
53423 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53424
53425 xla_ae_lines_pkg.set_segment(
53426 p_to_segment_code => 'GL_ACCOUNT'
53427 , p_segment_value => l_segment
53428 , p_from_segment_code => l_adr_value_segment_code
53429 , p_from_combination_id => l_adr_value_combination_id
53430 , p_value_type_code => l_adr_value_type_code
53431 , p_transaction_coa_id => l_adr_transaction_coa_id
53432 , p_accounting_coa_id => l_adr_accounting_coa_id
53433 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53434 , p_flex_value_set_id => l_adr_flex_value_set_id
53435 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
53436 , p_adr_type_code => 'S'
53437 , p_component_type => l_component_type
53438 , p_component_code => l_component_code
53439 , p_component_type_code => l_component_type_code
53440 , p_component_appl_id => l_component_appl_id
53441 , p_amb_context_code => l_amb_context_code
53442 , p_entity_code => 'AP_INVOICES'
53443 , p_event_class_code => 'CREDIT MEMOS'
53444 , p_side => 'NA'
53445 );
53446
53447 END IF;
53448
53449 l_segment := AcctDerRule_22(
53450 p_application_id => p_application_id
53451 , p_ae_header_id => l_ae_header_id
53452 , p_source_3 => p_source_3
53453 , p_source_3_meaning => p_source_3_meaning
53454 , p_source_10 => p_source_10
53455 , p_source_10_meaning => p_source_10_meaning
53456 , p_source_18 => p_source_18
53457 , x_transaction_coa_id => l_adr_transaction_coa_id
53458 , x_accounting_coa_id => l_adr_accounting_coa_id
53459 , x_flexfield_segment_code => l_adr_flexfield_segment_code
53460 , x_flex_value_set_id => l_adr_flex_value_set_id
53461 , x_value_type_code => l_adr_value_type_code
53462 , x_value_combination_id => l_adr_value_combination_id
53463 , x_value_segment_code => l_adr_value_segment_code
53464 , p_side => 'NA'
53465 , p_override_seg_flag => 'Y'
53466 );
53467
53468 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
53469
53470 xla_ae_lines_pkg.set_segment(
53471 p_to_segment_code => 'GL_BALANCING'
53472 , p_segment_value => l_segment
53473 , p_from_segment_code => l_adr_value_segment_code
53474 , p_from_combination_id => l_adr_value_combination_id
53475 , p_value_type_code => l_adr_value_type_code
53476 , p_transaction_coa_id => l_adr_transaction_coa_id
53477 , p_accounting_coa_id => l_adr_accounting_coa_id
53478 , p_flexfield_segment_code => l_adr_flexfield_segment_code
53479 , p_flex_value_set_id => l_adr_flex_value_set_id
53480 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
53481 , p_adr_type_code => 'S'
53485 , p_component_appl_id => l_component_appl_id
53482 , p_component_type => l_component_type
53483 , p_component_code => l_component_code
53484 , p_component_type_code => l_component_type_code
53486 , p_amb_context_code => l_amb_context_code
53487 , p_entity_code => 'AP_INVOICES'
53488 , p_event_class_code => 'CREDIT MEMOS'
53489 , p_side => 'NA'
53490 );
53491
53492 END IF;
53493
53494 --
53495 --
53496 END IF;
53497
53498 --
53499 -- Update the line information that should be overwritten
53500 --
53501 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
53502 p_header_num => 1);
53503 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
53504
53505 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
53506
53507 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
53508 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
53509 END IF;
53510
53511 --
53512 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
53513 --
53514 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
53515 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
53516 ELSE
53517 ---------------------------------------------------------------------------------------------------
53518 -- 4262811a Switch Sign
53519 ---------------------------------------------------------------------------------------------------
53520 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
53521 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53522 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53523 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
53524 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53525 -- 5132302
53526 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
53527 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
53528
53529 END IF;
53530
53531 -- 4955764
53532 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53533 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
53534
53535
53536 XLA_AE_LINES_PKG.ValidateCurrentLine;
53537 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
53538
53539 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
53540 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
53541 ,p_balance_type_code => l_balance_type_code);
53542
53543 END IF;
53544
53545 -----------------------------------------------------------------------------------------
53546 -- 4262811 Multiperiod Accounting
53547 -----------------------------------------------------------------------------------------
53548 -- No MPA option is assigned.
53549
53550
53551 END IF;
53552 END IF;
53553 --
53554
53555 --
53556 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53557 trace
53558 (p_msg => 'END of AcctLineType_111'
53559 ,p_level => C_LEVEL_PROCEDURE
53560 ,p_module => l_log_module);
53561 END IF;
53562 --
53563 EXCEPTION
53564 WHEN xla_exceptions_pkg.application_exception THEN
53565 RAISE;
53566 WHEN OTHERS THEN
53567 xla_exceptions_pkg.raise_message
53568 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_111');
53569 END AcctLineType_111;
53570 --
53571
53572 ---------------------------------------
53573 --
53574 -- PRIVATE FUNCTION
53575 -- AcctLineType_112
53576 --
53577 ---------------------------------------
53578 PROCEDURE AcctLineType_112 (
53579 p_application_id IN NUMBER
53580 ,p_event_id IN NUMBER
53581 ,p_calculate_acctd_flag IN VARCHAR2
53582 ,p_calculate_g_l_flag IN VARCHAR2
53583 ,p_actual_flag IN OUT VARCHAR2
53584 ,p_balance_type_code OUT VARCHAR2
53585 ,p_gain_or_loss_ref OUT VARCHAR2
53586
53587 --Invoice Distribution Type
53588 , p_source_21 IN VARCHAR2
53589 , p_source_21_meaning IN VARCHAR2
53590 --Accounting Reversal Indicator
53591 , p_source_41 IN VARCHAR2
53592 --Distribution Link Type
53593 , p_source_43 IN VARCHAR2
53594 --Allocation to Main Distribution Identifier
53595 , p_source_45 IN NUMBER
53596 --Invoice Identifier
53597 , p_source_46 IN NUMBER
53598 --Invoice Distribution Identifier
53599 , p_source_52 IN NUMBER
53600 --Payables Encumbrance Upgrade Credit Account
53601 , p_source_53 IN NUMBER
53602 --Payables Encumbrance Upgrade Credit Amount
53603 , p_source_54 IN NUMBER
53607 , p_source_56 IN NUMBER
53604 --Invoice Currency Code
53605 , p_source_55 IN VARCHAR2
53606 --Payables Encumbrance Upgrade Credit Base Amount
53608 --Payables Encumbrance Upgrade Debit Account
53609 , p_source_57 IN NUMBER
53610 --Payables Encumbrance Upgrade Debit Amount
53611 , p_source_58 IN NUMBER
53612 --Payables Encumbrance Upgrade Debit Base Amount
53613 , p_source_59 IN NUMBER
53614 --Payables Encumbrance Upgrade Option
53615 , p_source_60 IN VARCHAR2
53616 --Deferred Accounting End Date
53617 , p_source_65 IN DATE
53618 --Deferred Accounting Option
53619 , p_source_66 IN VARCHAR2
53620 --Deferred Accounting Start Date
53621 , p_source_67 IN DATE
53622 --Override Accounted Amount Indicator
53623 , p_source_68 IN VARCHAR2
53624 , p_source_68_meaning IN VARCHAR2
53625 --Third Party Type
53626 , p_source_71 IN VARCHAR2
53627 --Parent Reversal Identifier
53628 , p_source_72 IN NUMBER
53629 --Invoice Distribution Statistical Amount
53630 , p_source_73 IN NUMBER
53631 --Invoice Distribution Tax Line Identifier
53632 , p_source_74 IN NUMBER
53633 --Invoice Distribution Tax Distribution Identifier from Tax
53634 , p_source_75 IN NUMBER
53635 --Invoice Distribution Summary Tax Line Identifier
53636 , p_source_76 IN NUMBER
53637 --Payables Upgrade Credit Encumbrance Type Identifier
53638 , p_source_77 IN NUMBER
53639 --Payables Upgrade Debit Encumbrance Type Identifier
53640 , p_source_78 IN NUMBER
53641 --Business Flow Accounts Payable Application Identifier
53642 , p_source_79 IN NUMBER
53643 --Business Flow Invoice Distribution Type
53644 , p_source_80 IN VARCHAR2
53645 --Business Flow Invoice Entity Code
53646 , p_source_81 IN VARCHAR2
53647 --Business Flow Invoice Distribution Identifier
53648 , p_source_82 IN NUMBER
53649 --Business Flow Invoice Identifier
53650 , p_source_83 IN NUMBER
53651 --Purchasing Encumbrance Option
53652 , p_source_86 IN VARCHAR2
53653 , p_source_86_meaning IN VARCHAR2
53654 --Invoice Encumbered Option
53655 , p_source_87 IN VARCHAR2
53656 , p_source_87_meaning IN VARCHAR2
53657 --Invoice Distribution Encumbrance Amount
53658 , p_source_143 IN NUMBER
53659 --Invoice Distribution Encumbrance Ledger Amount
53660 , p_source_144 IN NUMBER
53661 )
53662 IS
53663
53664 l_component_type VARCHAR2(80);
53665 l_component_code VARCHAR2(30);
53666 l_component_type_code VARCHAR2(1);
53667 l_component_appl_id INTEGER;
53668 l_amb_context_code VARCHAR2(30);
53669 l_entity_code VARCHAR2(30);
53670 l_event_class_code VARCHAR2(30);
53671 l_ae_header_id NUMBER;
53672 l_event_type_code VARCHAR2(30);
53673 l_line_definition_code VARCHAR2(30);
53674 l_line_definition_owner_code VARCHAR2(1);
53675 --
53676 -- adr variables
53677 l_segment VARCHAR2(30);
53678 l_ccid NUMBER;
53679 l_adr_transaction_coa_id NUMBER;
53680 l_adr_accounting_coa_id NUMBER;
53681 l_adr_flexfield_segment_code VARCHAR2(30);
53682 l_adr_flex_value_set_id NUMBER;
53683 l_adr_value_type_code VARCHAR2(30);
53684 l_adr_value_combination_id NUMBER;
53685 l_adr_value_segment_code VARCHAR2(30);
53686
53687 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
53688 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
53689 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
53690 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
53691
53692 -- 4262811 Variables ------------------------------------------------------------------------------------------
53693 l_entered_amt_idx NUMBER;
53694 l_accted_amt_idx NUMBER;
53695 l_acc_rev_flag VARCHAR2(1);
53696 l_accrual_line_num NUMBER;
53697 l_tmp_amt NUMBER;
53698 l_acc_rev_natural_side_code VARCHAR2(1);
53699
53700 l_num_entries NUMBER;
53701 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
53702 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
53703 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
53704 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
53705 l_recog_line_1 NUMBER;
53706 l_recog_line_2 NUMBER;
53707
53708 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
53709 l_bflow_applied_to_amt NUMBER; -- 5132302
53710 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
53711
53712 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
53713
53714 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
53715 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
53716
53717 ---------------------------------------------------------------------------------------------------------------
53718
53719
53720 --
53721 -- bulk performance
53722 --
53723 l_balance_type_code VARCHAR2(1);
53727 --
53724 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
53725 l_log_module VARCHAR2(240);
53726
53728 -- Upgrade strategy
53729 --
53730 l_actual_upg_option VARCHAR2(1);
53731 l_enc_upg_option VARCHAR2(1);
53732
53733 --
53734 BEGIN
53735 --
53736 IF g_log_enabled THEN
53737 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_112';
53738 END IF;
53739 --
53740 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
53741
53742 trace
53743 (p_msg => 'BEGIN of AcctLineType_112'
53744 ,p_level => C_LEVEL_PROCEDURE
53745 ,p_module => l_log_module);
53746
53747 END IF;
53748 --
53749 l_component_type := 'AMB_JLT';
53750 l_component_code := 'AP_EX_RATE_VAR_CM_ENC';
53751 l_component_type_code := 'S';
53752 l_component_appl_id := 200;
53753 l_amb_context_code := 'DEFAULT';
53754 l_entity_code := 'AP_INVOICES';
53755 l_event_class_code := 'CREDIT MEMOS';
53756 l_event_type_code := 'CREDIT MEMOS_ALL';
53757 l_line_definition_owner_code := 'S';
53758 l_line_definition_code := 'ENC_REV_CM_ALL';
53759 --
53760 l_balance_type_code := 'E';
53761 l_segment := NULL;
53762 l_ccid := NULL;
53763 l_adr_transaction_coa_id := NULL;
53764 l_adr_accounting_coa_id := NULL;
53765 l_adr_flexfield_segment_code := NULL;
53766 l_adr_flex_value_set_id := NULL;
53767 l_adr_value_type_code := NULL;
53768 l_adr_value_combination_id := NULL;
53769 l_adr_value_segment_code := NULL;
53770
53771 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
53772 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
53773 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
53774 l_budgetary_control_flag := 'N';
53775
53776 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53777 l_bflow_applied_to_amt := NULL; -- 5132302
53778 l_entered_amt_idx := NULL; -- 4262811
53779 l_accted_amt_idx := NULL; -- 4262811
53780 l_acc_rev_flag := NULL; -- 4262811
53781 l_accrual_line_num := NULL; -- 4262811
53782 l_tmp_amt := NULL; -- 4262811
53783 --
53784 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
53785 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
53786 return;
53787 END IF;
53788
53789 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
53790 l_balance_type_code <> 'B' THEN
53791 IF NVL(p_source_21,'
53792 ') = 'ERV' AND
53793 NVL(p_source_86,'
53794 ') = 'Y' AND
53795 NVL(p_source_87,'
53796 ') = 'Y'
53797 THEN
53798
53799 --
53800 XLA_AE_LINES_PKG.SetNewLine;
53801
53802 p_balance_type_code := l_balance_type_code;
53803 -- set the flag so later we will know whether the gain loss line needs to be created
53804
53805 IF(l_balance_type_code = 'A' ) THEN
53806 p_actual_flag :='G';
53807 END IF;
53808
53809 --
53810 -- bulk performance
53811 --
53812 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
53813 p_header_num => 0); -- 4262811
53814 --
53815 -- set accounting line options
53816 --
53817 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
53818 p_natural_side_code => 'C'
53819 , p_gain_or_loss_flag => 'Y'
53820 , p_gl_transfer_mode_code => 'S'
53821 , p_acct_entry_type_code => 'E'
53822 , p_switch_side_flag => 'Y'
53823 , p_merge_duplicate_code => 'A'
53824 );
53825 --
53826 l_acc_rev_natural_side_code := 'D'; -- 4262811
53827 --
53828 --
53829 -- set accounting line type info
53830 --
53831 xla_ae_lines_pkg.SetAcctLineType
53832 (p_component_type => l_component_type
53833 ,p_event_type_code => l_event_type_code
53834 ,p_line_definition_owner_code => l_line_definition_owner_code
53835 ,p_line_definition_code => l_line_definition_code
53836 ,p_accounting_line_code => l_component_code
53837 ,p_accounting_line_type_code => l_component_type_code
53838 ,p_accounting_line_appl_id => l_component_appl_id
53839 ,p_amb_context_code => l_amb_context_code
53840 ,p_entity_code => l_entity_code
53841 ,p_event_class_code => l_event_class_code);
53842 --
53843 -- set accounting class
53844 --
53845 xla_ae_lines_pkg.SetAcctClass(
53846 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
53847 , p_ae_header_id => l_ae_header_id
53848 );
53849
53850 --
53851 -- set rounding class
53852 --
53853 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
53854 'EXCHANGE_RATE_VARIANCE';
53855
53856 --
53857 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
53861 --
53858 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
53859 --
53860 -- bulk performance
53862 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
53863
53864 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
53865 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
53866
53867 -- 4955764
53868 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
53869 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
53870
53871 -- 4458381 Public Sector Enh
53872
53873 --
53874 -- set accounting attributes for the line type
53875 --
53876 l_entered_amt_idx := 23;
53877 l_accted_amt_idx := 25;
53878 l_bflow_applied_to_amt_idx := NULL; -- 5132302
53879 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
53880 l_rec_acct_attrs.array_char_value(1) := p_source_41;
53881 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
53882 l_rec_acct_attrs.array_num_value(2) :=
53883 xla_ae_sources_pkg.GetSystemSourceNum(
53884 p_source_code => 'XLA_EVENT_APPL_ID'
53885 , p_source_type_code => 'Y'
53886 , p_source_application_id => 602
53887 );
53888 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
53889 l_rec_acct_attrs.array_char_value(3) := p_source_43;
53890 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
53891 l_rec_acct_attrs.array_char_value(4) :=
53892 xla_ae_sources_pkg.GetSystemSourceChar(
53893 p_source_code => 'XLA_ENTITY_CODE'
53894 , p_source_type_code => 'Y'
53895 , p_source_application_id => 602
53896 );
53897 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
53898 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
53899 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
53900 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
53901 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
53902 l_rec_acct_attrs.array_num_value(7) := p_source_79;
53903 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
53904 l_rec_acct_attrs.array_char_value(8) := p_source_80;
53905 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
53906 l_rec_acct_attrs.array_char_value(9) := p_source_81;
53907 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
53908 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
53909 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
53910 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
53911 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
53912 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
53913 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
53914 l_rec_acct_attrs.array_char_value(13) := p_source_43;
53915 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
53916 l_rec_acct_attrs.array_num_value(14) := p_source_53;
53917 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
53918 l_rec_acct_attrs.array_num_value(15) := p_source_54;
53919 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
53920 l_rec_acct_attrs.array_char_value(16) := p_source_55;
53921 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
53922 l_rec_acct_attrs.array_num_value(17) := p_source_56;
53923 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
53924 l_rec_acct_attrs.array_num_value(18) := p_source_57;
53925 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
53926 l_rec_acct_attrs.array_num_value(19) := p_source_58;
53927 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
53928 l_rec_acct_attrs.array_char_value(20) := p_source_55;
53929 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
53930 l_rec_acct_attrs.array_num_value(21) := p_source_59;
53931 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
53932 l_rec_acct_attrs.array_char_value(22) := p_source_60;
53933 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
53934 l_rec_acct_attrs.array_num_value(23) := p_source_143;
53935 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
53936 l_rec_acct_attrs.array_char_value(24) := p_source_55;
53937 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
53938 l_rec_acct_attrs.array_num_value(25) := p_source_144;
53939 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
53940 l_rec_acct_attrs.array_date_value(26) := p_source_65;
53941 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
53942 l_rec_acct_attrs.array_char_value(27) := p_source_66;
53943 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
53944 l_rec_acct_attrs.array_date_value(28) := p_source_67;
53945 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
53946 l_rec_acct_attrs.array_char_value(29) := p_source_68;
53947 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
53948 l_rec_acct_attrs.array_char_value(30) := p_source_71;
53949 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
53950 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
53951 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
53955 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
53952 l_rec_acct_attrs.array_char_value(32) := p_source_43;
53953 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
53954 l_rec_acct_attrs.array_num_value(33) := p_source_73;
53956 l_rec_acct_attrs.array_num_value(34) := p_source_74;
53957 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
53958 l_rec_acct_attrs.array_num_value(35) := p_source_75;
53959 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
53960 l_rec_acct_attrs.array_num_value(36) := p_source_76;
53961 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
53962 l_rec_acct_attrs.array_num_value(37) := p_source_77;
53963 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
53964 l_rec_acct_attrs.array_num_value(38) := p_source_78;
53965
53966 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
53967 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
53968
53969 ---------------------------------------------------------------------------------------------------------------
53970 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
53971 ---------------------------------------------------------------------------------------------------------------
53972 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
53973
53974 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53975 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
53976
53977 IF xla_accounting_cache_pkg.GetValueChar
53978 (p_source_code => 'LEDGER_CATEGORY_CODE'
53979 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
53980 AND l_bflow_method_code = 'PRIOR_ENTRY'
53981 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
53982 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
53983 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
53984 )
53985 THEN
53986 xla_ae_lines_pkg.BflowUpgEntry
53987 (p_business_method_code => l_bflow_method_code
53988 ,p_business_class_code => l_bflow_class_code
53989 ,p_balance_type => l_balance_type_code);
53990 ELSE
53991 NULL;
53992 XLA_AE_LINES_PKG.business_flow_validation(
53993 p_business_method_code => l_bflow_method_code
53994 ,p_business_class_code => l_bflow_class_code
53995 ,p_inherit_description_flag => l_inherit_desc_flag);
53996 END IF;
53997
53998 --
53999 -- call analytical criteria
54000 --
54001 -- Inherited Analytical Criteria for business flow method of Prior Entry.
54002 --
54003 -- call description
54004 --
54005 -- No description or it is inherited.
54006 --
54007 -- call ADRs
54008 -- Bug 4922099
54009 --
54010 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54011 (NVL(l_actual_upg_option, 'N') = 'O') OR
54012 (NVL(l_enc_upg_option, 'N') = 'O')
54013 )
54014 THEN
54015 NULL;
54016 --
54017 --
54018
54019 --
54020 --
54021 END IF;
54022 --
54023 -- Bug 4922099
54024 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54025 (NVL(l_enc_upg_option, 'N') = 'O')
54026 ) AND
54027 (l_bflow_method_code = 'PRIOR_ENTRY')
54028 )
54029 THEN
54030 IF
54031 --
54032 1 = 1
54033 --
54034 THEN
54035 xla_accounting_err_pkg.build_message
54036 (p_appli_s_name => 'XLA'
54037 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54038 ,p_token_1 => 'LINE_NUMBER'
54039 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54040 ,p_token_2 => 'LINE_TYPE_NAME'
54041 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54042 l_component_type
54043 ,l_component_code
54044 ,l_component_type_code
54045 ,l_component_appl_id
54046 ,l_amb_context_code
54047 ,l_entity_code
54048 ,l_event_class_code
54049 )
54050 ,p_token_3 => 'OWNER'
54051 ,p_value_3 => xla_lookups_pkg.get_meaning(
54052 p_lookup_type => 'XLA_OWNER_TYPE'
54053 ,p_lookup_code => l_component_type_code
54054 )
54058 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54055 ,p_token_4 => 'PRODUCT_NAME'
54056 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54057 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54059 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54060 ,p_ae_header_id => NULL
54061 );
54062
54063 IF (C_LEVEL_ERROR>= g_log_level) THEN
54064 trace
54065 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54066 ,p_level => C_LEVEL_ERROR
54067 ,p_module => l_log_module);
54068 END IF;
54069 END IF;
54070 END IF;
54071 --
54072 --
54073 ------------------------------------------------------------------------------------------------
54074 -- 4219869 Business Flow
54075 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54076 -- Prior Entry. Currently, the following code is always generated.
54077 ------------------------------------------------------------------------------------------------
54078 -- No ValidateCurrentLine for business flow method of Prior Entry
54079
54080 ------------------------------------------------------------------------------------
54081 -- 4219869 Business Flow
54082 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54083 ------------------------------------------------------------------------------------
54084 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54085
54086 ----------------------------------------------------------------------------------
54087 -- 4219869 Business Flow
54088 -- Update journal entry status -- Need to generate this within IF <condition>
54089 ----------------------------------------------------------------------------------
54090 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54091 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54092 ,p_balance_type_code => l_balance_type_code
54093 );
54094
54095 -------------------------------------------------------------------------------------------
54096 -- 4262811 - Generate the Accrual Reversal lines
54097 -------------------------------------------------------------------------------------------
54098 BEGIN
54099 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54100 (g_array_event(p_event_id).array_value_num('header_index'));
54101 IF l_acc_rev_flag IS NULL THEN
54102 l_acc_rev_flag := 'N';
54103 END IF;
54104 EXCEPTION
54105 WHEN OTHERS THEN
54106 l_acc_rev_flag := 'N';
54107 END;
54108 --
54109 IF (l_acc_rev_flag = 'Y') THEN
54110
54111 -- 4645092 ------------------------------------------------------------------------------
54112 -- To allow MPA report to determine if it should generate report process
54113 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54114 ------------------------------------------------------------------------------------------
54115
54116 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54117 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54118 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54119 -- call ADRs
54120 -- Bug 4922099
54121 --
54122 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54123 (NVL(l_actual_upg_option, 'N') = 'O') OR
54124 (NVL(l_enc_upg_option, 'N') = 'O')
54125 )
54126 THEN
54127 NULL;
54128 --
54129 --
54130
54131 --
54132 --
54133 END IF;
54134
54135 --
54136 -- Update the line information that should be overwritten
54137 --
54138 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
54139 p_header_num => 1);
54140 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
54141
54142 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
54143
54144 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
54145 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
54146 END IF;
54147
54148 --
54149 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
54150 --
54151 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
54152 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
54153 ELSE
54154 ---------------------------------------------------------------------------------------------------
54155 -- 4262811a Switch Sign
54156 ---------------------------------------------------------------------------------------------------
54157 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
54161 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54158 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54159 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54160 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
54162 -- 5132302
54163 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
54164 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
54165
54166 END IF;
54167
54168 -- 4955764
54169 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54170 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
54171
54172
54173 XLA_AE_LINES_PKG.ValidateCurrentLine;
54174 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54175
54176 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54177 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
54178 ,p_balance_type_code => l_balance_type_code);
54179
54180 END IF;
54181
54182 -----------------------------------------------------------------------------------------
54183 -- 4262811 Multiperiod Accounting
54184 -----------------------------------------------------------------------------------------
54185 -- No MPA option is assigned.
54186
54187
54188 END IF;
54189 END IF;
54190 --
54191
54192 --
54193 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54194 trace
54195 (p_msg => 'END of AcctLineType_112'
54196 ,p_level => C_LEVEL_PROCEDURE
54197 ,p_module => l_log_module);
54198 END IF;
54199 --
54200 EXCEPTION
54201 WHEN xla_exceptions_pkg.application_exception THEN
54202 RAISE;
54203 WHEN OTHERS THEN
54204 xla_exceptions_pkg.raise_message
54205 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_112');
54206 END AcctLineType_112;
54207 --
54208
54209 ---------------------------------------
54210 --
54211 -- PRIVATE FUNCTION
54212 -- AcctLineType_113
54213 --
54214 ---------------------------------------
54215 PROCEDURE AcctLineType_113 (
54216 p_application_id IN NUMBER
54217 ,p_event_id IN NUMBER
54218 ,p_calculate_acctd_flag IN VARCHAR2
54219 ,p_calculate_g_l_flag IN VARCHAR2
54220 ,p_actual_flag IN OUT VARCHAR2
54221 ,p_balance_type_code OUT VARCHAR2
54222 ,p_gain_or_loss_ref OUT VARCHAR2
54223
54224 --Invoice Distribution Description
54225 , p_source_1 IN VARCHAR2
54226 --Automatic Offsets Value
54227 , p_source_3 IN VARCHAR2
54228 , p_source_3_meaning IN VARCHAR2
54229 --Purchase Order Rate Variance Gain Account
54230 , p_source_8 IN NUMBER
54231 --Invoice Distribution Ledger Amount
54232 , p_source_9 IN NUMBER
54233 --Destination Type of the PO Distribution
54234 , p_source_10 IN VARCHAR2
54235 , p_source_10_meaning IN VARCHAR2
54236 --Purchase Order Rate Variance Loss Account
54237 , p_source_11 IN NUMBER
54238 --Invoice Distribution Account
54239 , p_source_18 IN NUMBER
54240 --Invoice Distribution Type
54241 , p_source_21 IN VARCHAR2
54242 , p_source_21_meaning IN VARCHAR2
54243 --Automatic Offsets Flag
54244 , p_source_35 IN VARCHAR2
54245 , p_source_35_meaning IN VARCHAR2
54246 --Accounting Reversal Indicator
54247 , p_source_41 IN VARCHAR2
54248 --Distribution Link Type
54249 , p_source_43 IN VARCHAR2
54250 --Allocation to Main Distribution Identifier
54251 , p_source_45 IN NUMBER
54252 --Invoice Identifier
54253 , p_source_46 IN NUMBER
54254 --Invoice Distribution Identifier
54255 , p_source_52 IN NUMBER
54256 --Payables Encumbrance Upgrade Credit Account
54257 , p_source_53 IN NUMBER
54258 --Payables Encumbrance Upgrade Credit Amount
54259 , p_source_54 IN NUMBER
54260 --Invoice Currency Code
54261 , p_source_55 IN VARCHAR2
54262 --Payables Encumbrance Upgrade Credit Base Amount
54263 , p_source_56 IN NUMBER
54264 --Payables Encumbrance Upgrade Debit Account
54265 , p_source_57 IN NUMBER
54266 --Payables Encumbrance Upgrade Debit Amount
54267 , p_source_58 IN NUMBER
54268 --Payables Encumbrance Upgrade Debit Base Amount
54269 , p_source_59 IN NUMBER
54270 --Payables Encumbrance Upgrade Option
54271 , p_source_60 IN VARCHAR2
54272 --Invoice Distribution Amount
54273 , p_source_61 IN NUMBER
54274 --Deferred Accounting End Date
54275 , p_source_65 IN DATE
54276 --Deferred Accounting Option
54277 , p_source_66 IN VARCHAR2
54278 --Deferred Accounting Start Date
54279 , p_source_67 IN DATE
54280 --Override Accounted Amount Indicator
54281 , p_source_68 IN VARCHAR2
54282 , p_source_68_meaning IN VARCHAR2
54283 --Invoice Supplier Identifier
54284 , p_source_69 IN NUMBER
54285 --Invoice Supplier Site Identifier
54286 , p_source_70 IN NUMBER
54287 --Third Party Type
54291 --Invoice Distribution Tax Line Identifier
54288 , p_source_71 IN VARCHAR2
54289 --Parent Reversal Identifier
54290 , p_source_72 IN NUMBER
54292 , p_source_74 IN NUMBER
54293 --Invoice Distribution Tax Distribution Identifier from Tax
54294 , p_source_75 IN NUMBER
54295 --Invoice Distribution Summary Tax Line Identifier
54296 , p_source_76 IN NUMBER
54297 --Payables Upgrade Credit Encumbrance Type Identifier
54298 , p_source_77 IN NUMBER
54299 --Payables Upgrade Debit Encumbrance Type Identifier
54300 , p_source_78 IN NUMBER
54301 --Business Flow Accounts Payable Application Identifier
54302 , p_source_79 IN NUMBER
54303 --Business Flow Invoice Distribution Type
54304 , p_source_80 IN VARCHAR2
54305 --Business Flow Invoice Entity Code
54306 , p_source_81 IN VARCHAR2
54307 --Business Flow Invoice Distribution Identifier
54308 , p_source_82 IN NUMBER
54309 --Business Flow Invoice Identifier
54310 , p_source_83 IN NUMBER
54311 --Accrue on Receipt Option
54312 , p_source_84 IN VARCHAR2
54313 , p_source_84_meaning IN VARCHAR2
54314 --Invoice Exchange Date
54315 , p_source_136 IN DATE
54316 --Invoice Exchange Rate
54317 , p_source_137 IN NUMBER
54318 --Invoice Exchange Rate Type
54319 , p_source_138 IN VARCHAR2
54320 )
54321 IS
54322
54323 l_component_type VARCHAR2(80);
54324 l_component_code VARCHAR2(30);
54325 l_component_type_code VARCHAR2(1);
54326 l_component_appl_id INTEGER;
54327 l_amb_context_code VARCHAR2(30);
54328 l_entity_code VARCHAR2(30);
54329 l_event_class_code VARCHAR2(30);
54330 l_ae_header_id NUMBER;
54331 l_event_type_code VARCHAR2(30);
54332 l_line_definition_code VARCHAR2(30);
54333 l_line_definition_owner_code VARCHAR2(1);
54334 --
54335 -- adr variables
54336 l_segment VARCHAR2(30);
54337 l_ccid NUMBER;
54338 l_adr_transaction_coa_id NUMBER;
54339 l_adr_accounting_coa_id NUMBER;
54340 l_adr_flexfield_segment_code VARCHAR2(30);
54341 l_adr_flex_value_set_id NUMBER;
54342 l_adr_value_type_code VARCHAR2(30);
54343 l_adr_value_combination_id NUMBER;
54344 l_adr_value_segment_code VARCHAR2(30);
54345
54346 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
54347 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
54348 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
54349 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
54350
54351 -- 4262811 Variables ------------------------------------------------------------------------------------------
54352 l_entered_amt_idx NUMBER;
54353 l_accted_amt_idx NUMBER;
54354 l_acc_rev_flag VARCHAR2(1);
54355 l_accrual_line_num NUMBER;
54356 l_tmp_amt NUMBER;
54357 l_acc_rev_natural_side_code VARCHAR2(1);
54358
54359 l_num_entries NUMBER;
54360 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
54361 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
54362 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
54363 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
54364 l_recog_line_1 NUMBER;
54365 l_recog_line_2 NUMBER;
54366
54367 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
54368 l_bflow_applied_to_amt NUMBER; -- 5132302
54369 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
54370
54371 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
54372
54373 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
54374 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
54375
54376 ---------------------------------------------------------------------------------------------------------------
54377
54378
54379 --
54380 -- bulk performance
54381 --
54382 l_balance_type_code VARCHAR2(1);
54383 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
54384 l_log_module VARCHAR2(240);
54385
54386 --
54387 -- Upgrade strategy
54388 --
54389 l_actual_upg_option VARCHAR2(1);
54390 l_enc_upg_option VARCHAR2(1);
54391
54392 --
54393 BEGIN
54394 --
54395 IF g_log_enabled THEN
54396 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_113';
54397 END IF;
54398 --
54399 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
54400
54401 trace
54402 (p_msg => 'BEGIN of AcctLineType_113'
54403 ,p_level => C_LEVEL_PROCEDURE
54404 ,p_module => l_log_module);
54405
54406 END IF;
54407 --
54408 l_component_type := 'AMB_JLT';
54409 l_component_code := 'AP_EX_RATE_VAR_DM';
54410 l_component_type_code := 'S';
54411 l_component_appl_id := 200;
54412 l_amb_context_code := 'DEFAULT';
54413 l_entity_code := 'AP_INVOICES';
54414 l_event_class_code := 'DEBIT MEMOS';
54415 l_event_type_code := 'DEBIT MEMOS_ALL';
54419 l_balance_type_code := 'A';
54416 l_line_definition_owner_code := 'S';
54417 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
54418 --
54420 l_segment := NULL;
54421 l_ccid := NULL;
54422 l_adr_transaction_coa_id := NULL;
54423 l_adr_accounting_coa_id := NULL;
54424 l_adr_flexfield_segment_code := NULL;
54425 l_adr_flex_value_set_id := NULL;
54426 l_adr_value_type_code := NULL;
54427 l_adr_value_combination_id := NULL;
54428 l_adr_value_segment_code := NULL;
54429
54430 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
54431 l_bflow_class_code := ''; -- 4219869 Business Flow
54432 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
54433 l_budgetary_control_flag := 'N';
54434
54435 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54436 l_bflow_applied_to_amt := NULL; -- 5132302
54437 l_entered_amt_idx := NULL; -- 4262811
54438 l_accted_amt_idx := NULL; -- 4262811
54439 l_acc_rev_flag := NULL; -- 4262811
54440 l_accrual_line_num := NULL; -- 4262811
54441 l_tmp_amt := NULL; -- 4262811
54442 --
54443 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
54444 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
54445 return;
54446 END IF;
54447
54448 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
54449 l_balance_type_code <> 'B' THEN
54450 IF NVL(p_source_21,'
54451 ') = 'ERV' AND
54452 NVL(p_source_84,'
54453 ') = 'Y'
54454 THEN
54455
54456 --
54457 XLA_AE_LINES_PKG.SetNewLine;
54458
54459 p_balance_type_code := l_balance_type_code;
54460 -- set the flag so later we will know whether the gain loss line needs to be created
54461
54462 IF(l_balance_type_code = 'A' ) THEN
54463 p_actual_flag :='G';
54464 END IF;
54465
54466 --
54467 -- bulk performance
54468 --
54469 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
54470 p_header_num => 0); -- 4262811
54471 --
54472 -- set accounting line options
54473 --
54474 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
54475 p_natural_side_code => 'D'
54476 , p_gain_or_loss_flag => 'Y'
54477 , p_gl_transfer_mode_code => 'S'
54478 , p_acct_entry_type_code => 'A'
54479 , p_switch_side_flag => 'Y'
54480 , p_merge_duplicate_code => 'A'
54481 );
54482 --
54483 l_acc_rev_natural_side_code := 'C'; -- 4262811
54484 --
54485 --
54486 -- set accounting line type info
54487 --
54488 xla_ae_lines_pkg.SetAcctLineType
54489 (p_component_type => l_component_type
54490 ,p_event_type_code => l_event_type_code
54491 ,p_line_definition_owner_code => l_line_definition_owner_code
54492 ,p_line_definition_code => l_line_definition_code
54493 ,p_accounting_line_code => l_component_code
54494 ,p_accounting_line_type_code => l_component_type_code
54495 ,p_accounting_line_appl_id => l_component_appl_id
54496 ,p_amb_context_code => l_amb_context_code
54497 ,p_entity_code => l_entity_code
54498 ,p_event_class_code => l_event_class_code);
54499 --
54500 -- set accounting class
54501 --
54502 xla_ae_lines_pkg.SetAcctClass(
54503 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
54504 , p_ae_header_id => l_ae_header_id
54505 );
54506
54507 --
54508 -- set rounding class
54509 --
54510 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
54511 'EXCHANGE_RATE_VARIANCE';
54512
54513 --
54514 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
54515 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
54516 --
54517 -- bulk performance
54518 --
54519 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
54520
54521 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
54522 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
54523
54524 -- 4955764
54525 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
54526 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
54527
54528 -- 4458381 Public Sector Enh
54529
54530 --
54531 -- set accounting attributes for the line type
54532 --
54533 l_entered_amt_idx := 23;
54534 l_accted_amt_idx := 28;
54535 l_bflow_applied_to_amt_idx := NULL; -- 5132302
54536 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
54537 l_rec_acct_attrs.array_char_value(1) := p_source_41;
54538 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
54539 l_rec_acct_attrs.array_num_value(2) :=
54540 xla_ae_sources_pkg.GetSystemSourceNum(
54544 );
54541 p_source_code => 'XLA_EVENT_APPL_ID'
54542 , p_source_type_code => 'Y'
54543 , p_source_application_id => 602
54545 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
54546 l_rec_acct_attrs.array_char_value(3) := p_source_43;
54547 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
54548 l_rec_acct_attrs.array_char_value(4) :=
54549 xla_ae_sources_pkg.GetSystemSourceChar(
54550 p_source_code => 'XLA_ENTITY_CODE'
54551 , p_source_type_code => 'Y'
54552 , p_source_application_id => 602
54553 );
54554 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
54555 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
54556 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
54557 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
54558 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
54559 l_rec_acct_attrs.array_num_value(7) := p_source_79;
54560 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
54561 l_rec_acct_attrs.array_char_value(8) := p_source_80;
54562 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
54563 l_rec_acct_attrs.array_char_value(9) := p_source_81;
54564 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
54565 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
54566 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
54567 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
54568 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
54569 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
54570 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
54571 l_rec_acct_attrs.array_char_value(13) := p_source_43;
54572 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
54573 l_rec_acct_attrs.array_num_value(14) := p_source_53;
54574 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
54575 l_rec_acct_attrs.array_num_value(15) := p_source_54;
54576 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
54577 l_rec_acct_attrs.array_char_value(16) := p_source_55;
54578 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
54579 l_rec_acct_attrs.array_num_value(17) := p_source_56;
54580 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
54581 l_rec_acct_attrs.array_num_value(18) := p_source_57;
54582 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
54583 l_rec_acct_attrs.array_num_value(19) := p_source_58;
54584 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
54585 l_rec_acct_attrs.array_char_value(20) := p_source_55;
54586 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
54587 l_rec_acct_attrs.array_num_value(21) := p_source_59;
54588 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
54589 l_rec_acct_attrs.array_char_value(22) := p_source_60;
54590 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
54591 l_rec_acct_attrs.array_num_value(23) := p_source_61;
54592 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
54593 l_rec_acct_attrs.array_char_value(24) := p_source_55;
54594 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
54595 l_rec_acct_attrs.array_date_value(25) := p_source_136;
54596 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
54597 l_rec_acct_attrs.array_num_value(26) := p_source_137;
54598 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
54599 l_rec_acct_attrs.array_char_value(27) := p_source_138;
54600 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
54601 l_rec_acct_attrs.array_num_value(28) := p_source_9;
54602 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
54603 l_rec_acct_attrs.array_date_value(29) := p_source_65;
54604 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
54605 l_rec_acct_attrs.array_char_value(30) := p_source_66;
54606 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
54607 l_rec_acct_attrs.array_date_value(31) := p_source_67;
54608 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
54609 l_rec_acct_attrs.array_char_value(32) := p_source_68;
54610 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
54611 l_rec_acct_attrs.array_num_value(33) := p_source_69;
54612 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
54613 l_rec_acct_attrs.array_num_value(34) := p_source_70;
54614 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
54615 l_rec_acct_attrs.array_char_value(35) := p_source_71;
54616 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
54617 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
54618 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
54619 l_rec_acct_attrs.array_char_value(37) := p_source_43;
54620 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
54621 l_rec_acct_attrs.array_num_value(38) := p_source_74;
54622 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
54623 l_rec_acct_attrs.array_num_value(39) := p_source_75;
54624 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
54625 l_rec_acct_attrs.array_num_value(40) := p_source_76;
54626 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
54627 l_rec_acct_attrs.array_num_value(41) := p_source_77;
54631 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
54628 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
54629 l_rec_acct_attrs.array_num_value(42) := p_source_78;
54630
54632 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
54633
54634 ---------------------------------------------------------------------------------------------------------------
54635 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
54636 ---------------------------------------------------------------------------------------------------------------
54637 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
54638
54639 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54640 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
54641
54642 IF xla_accounting_cache_pkg.GetValueChar
54643 (p_source_code => 'LEDGER_CATEGORY_CODE'
54644 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
54645 AND l_bflow_method_code = 'PRIOR_ENTRY'
54646 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
54647 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
54648 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
54649 )
54650 THEN
54651 xla_ae_lines_pkg.BflowUpgEntry
54652 (p_business_method_code => l_bflow_method_code
54653 ,p_business_class_code => l_bflow_class_code
54654 ,p_balance_type => l_balance_type_code);
54655 ELSE
54656 NULL;
54657 -- No business flow processing for business flow method of NONE.
54658 END IF;
54659
54660 --
54661 -- call analytical criteria
54662 --
54663
54664 --
54665 -- call description
54666 --
54667
54668 xla_ae_lines_pkg.SetLineDescription(
54669 p_ae_header_id => l_ae_header_id
54670 ,p_description => Description_2 (
54671 p_application_id => p_application_id
54672 , p_ae_header_id => l_ae_header_id
54673 , p_source_1 => p_source_1
54674 )
54675 );
54676
54677
54678 --
54679 -- call ADRs
54680 -- Bug 4922099
54681 --
54682 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54683 (NVL(l_actual_upg_option, 'N') = 'O') OR
54684 (NVL(l_enc_upg_option, 'N') = 'O')
54685 )
54686 THEN
54687 NULL;
54688 --
54689 --
54690
54691 l_ccid := AcctDerRule_29(
54692 p_application_id => p_application_id
54693 , p_ae_header_id => l_ae_header_id
54694 , p_source_3 => p_source_3
54695 , p_source_3_meaning => p_source_3_meaning
54696 , p_source_8 => p_source_8
54697 , p_source_9 => p_source_9
54698 , p_source_10 => p_source_10
54699 , p_source_10_meaning => p_source_10_meaning
54700 , p_source_11 => p_source_11
54701 , p_source_18 => p_source_18
54702 , p_source_35 => p_source_35
54703 , p_source_35_meaning => p_source_35_meaning
54704 , x_transaction_coa_id => l_adr_transaction_coa_id
54705 , x_accounting_coa_id => l_adr_accounting_coa_id
54706 , x_value_type_code => l_adr_value_type_code
54707 , p_side => 'NA'
54708 );
54709
54710 xla_ae_lines_pkg.set_ccid(
54711 p_code_combination_id => l_ccid
54712 , p_value_type_code => l_adr_value_type_code
54713 , p_transaction_coa_id => l_adr_transaction_coa_id
54714 , p_accounting_coa_id => l_adr_accounting_coa_id
54715 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
54716 , p_adr_type_code => 'S'
54717 , p_component_type => l_component_type
54718 , p_component_code => l_component_code
54719 , p_component_type_code => l_component_type_code
54720 , p_component_appl_id => l_component_appl_id
54721 , p_amb_context_code => l_amb_context_code
54722 , p_side => 'NA'
54723 );
54724
54725
54726 l_segment := AcctDerRule_7(
54727 p_application_id => p_application_id
54728 , p_ae_header_id => l_ae_header_id
54729 , p_source_3 => p_source_3
54730 , p_source_3_meaning => p_source_3_meaning
54731 , p_source_8 => p_source_8
54732 , p_source_9 => p_source_9
54733 , p_source_10 => p_source_10
54734 , p_source_10_meaning => p_source_10_meaning
54735 , p_source_11 => p_source_11
54736 , x_transaction_coa_id => l_adr_transaction_coa_id
54737 , x_accounting_coa_id => l_adr_accounting_coa_id
54738 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54739 , x_flex_value_set_id => l_adr_flex_value_set_id
54740 , x_value_type_code => l_adr_value_type_code
54741 , x_value_combination_id => l_adr_value_combination_id
54742 , x_value_segment_code => l_adr_value_segment_code
54743 , p_side => 'NA'
54744 , p_override_seg_flag => 'Y'
54745 );
54746
54747 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54748
54749 xla_ae_lines_pkg.set_segment(
54750 p_to_segment_code => 'GL_ACCOUNT'
54754 , p_value_type_code => l_adr_value_type_code
54751 , p_segment_value => l_segment
54752 , p_from_segment_code => l_adr_value_segment_code
54753 , p_from_combination_id => l_adr_value_combination_id
54755 , p_transaction_coa_id => l_adr_transaction_coa_id
54756 , p_accounting_coa_id => l_adr_accounting_coa_id
54757 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54758 , p_flex_value_set_id => l_adr_flex_value_set_id
54759 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
54760 , p_adr_type_code => 'S'
54761 , p_component_type => l_component_type
54762 , p_component_code => l_component_code
54763 , p_component_type_code => l_component_type_code
54764 , p_component_appl_id => l_component_appl_id
54765 , p_amb_context_code => l_amb_context_code
54766 , p_entity_code => 'AP_INVOICES'
54767 , p_event_class_code => 'DEBIT MEMOS'
54768 , p_side => 'NA'
54769 );
54770
54771 END IF;
54772
54773 l_segment := AcctDerRule_22(
54774 p_application_id => p_application_id
54775 , p_ae_header_id => l_ae_header_id
54776 , p_source_3 => p_source_3
54777 , p_source_3_meaning => p_source_3_meaning
54778 , p_source_10 => p_source_10
54779 , p_source_10_meaning => p_source_10_meaning
54780 , p_source_18 => p_source_18
54781 , x_transaction_coa_id => l_adr_transaction_coa_id
54782 , x_accounting_coa_id => l_adr_accounting_coa_id
54783 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54784 , x_flex_value_set_id => l_adr_flex_value_set_id
54785 , x_value_type_code => l_adr_value_type_code
54786 , x_value_combination_id => l_adr_value_combination_id
54787 , x_value_segment_code => l_adr_value_segment_code
54788 , p_side => 'NA'
54789 , p_override_seg_flag => 'Y'
54790 );
54791
54792 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54793
54794 xla_ae_lines_pkg.set_segment(
54795 p_to_segment_code => 'GL_BALANCING'
54796 , p_segment_value => l_segment
54797 , p_from_segment_code => l_adr_value_segment_code
54798 , p_from_combination_id => l_adr_value_combination_id
54799 , p_value_type_code => l_adr_value_type_code
54800 , p_transaction_coa_id => l_adr_transaction_coa_id
54801 , p_accounting_coa_id => l_adr_accounting_coa_id
54802 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54803 , p_flex_value_set_id => l_adr_flex_value_set_id
54804 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
54805 , p_adr_type_code => 'S'
54806 , p_component_type => l_component_type
54807 , p_component_code => l_component_code
54808 , p_component_type_code => l_component_type_code
54809 , p_component_appl_id => l_component_appl_id
54810 , p_amb_context_code => l_amb_context_code
54811 , p_entity_code => 'AP_INVOICES'
54812 , p_event_class_code => 'DEBIT MEMOS'
54813 , p_side => 'NA'
54814 );
54815
54816 END IF;
54817
54818 --
54819 --
54820 END IF;
54821 --
54822 -- Bug 4922099
54823 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
54824 (NVL(l_enc_upg_option, 'N') = 'O')
54825 ) AND
54826 (l_bflow_method_code = 'PRIOR_ENTRY')
54827 )
54828 THEN
54829 IF
54830 --
54831 1 = 2
54832 --
54833 THEN
54834 xla_accounting_err_pkg.build_message
54835 (p_appli_s_name => 'XLA'
54836 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54837 ,p_token_1 => 'LINE_NUMBER'
54838 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
54839 ,p_token_2 => 'LINE_TYPE_NAME'
54840 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
54841 l_component_type
54842 ,l_component_code
54843 ,l_component_type_code
54844 ,l_component_appl_id
54845 ,l_amb_context_code
54846 ,l_entity_code
54847 ,l_event_class_code
54848 )
54849 ,p_token_3 => 'OWNER'
54850 ,p_value_3 => xla_lookups_pkg.get_meaning(
54851 p_lookup_type => 'XLA_OWNER_TYPE'
54852 ,p_lookup_code => l_component_type_code
54856 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
54853 )
54854 ,p_token_4 => 'PRODUCT_NAME'
54855 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
54857 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
54858 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
54859 ,p_ae_header_id => NULL
54860 );
54861
54862 IF (C_LEVEL_ERROR>= g_log_level) THEN
54863 trace
54864 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
54865 ,p_level => C_LEVEL_ERROR
54866 ,p_module => l_log_module);
54867 END IF;
54868 END IF;
54869 END IF;
54870 --
54871 --
54872 ------------------------------------------------------------------------------------------------
54873 -- 4219869 Business Flow
54874 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
54875 -- Prior Entry. Currently, the following code is always generated.
54876 ------------------------------------------------------------------------------------------------
54877 XLA_AE_LINES_PKG.ValidateCurrentLine;
54878
54879 ------------------------------------------------------------------------------------
54880 -- 4219869 Business Flow
54881 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
54882 ------------------------------------------------------------------------------------
54883 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
54884
54885 ----------------------------------------------------------------------------------
54886 -- 4219869 Business Flow
54887 -- Update journal entry status -- Need to generate this within IF <condition>
54888 ----------------------------------------------------------------------------------
54889 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
54890 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
54891 ,p_balance_type_code => l_balance_type_code
54892 );
54893
54894 -------------------------------------------------------------------------------------------
54895 -- 4262811 - Generate the Accrual Reversal lines
54896 -------------------------------------------------------------------------------------------
54897 BEGIN
54898 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
54899 (g_array_event(p_event_id).array_value_num('header_index'));
54900 IF l_acc_rev_flag IS NULL THEN
54901 l_acc_rev_flag := 'N';
54902 END IF;
54903 EXCEPTION
54904 WHEN OTHERS THEN
54905 l_acc_rev_flag := 'N';
54906 END;
54907 --
54908 IF (l_acc_rev_flag = 'Y') THEN
54909
54910 -- 4645092 ------------------------------------------------------------------------------
54911 -- To allow MPA report to determine if it should generate report process
54912 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
54913 ------------------------------------------------------------------------------------------
54914
54915 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
54916 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
54917 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
54918 -- call ADRs
54919 -- Bug 4922099
54920 --
54921 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
54922 (NVL(l_actual_upg_option, 'N') = 'O') OR
54923 (NVL(l_enc_upg_option, 'N') = 'O')
54924 )
54925 THEN
54926 NULL;
54927 --
54928 --
54929
54930 l_ccid := AcctDerRule_29(
54931 p_application_id => p_application_id
54932 , p_ae_header_id => l_ae_header_id
54933 , p_source_3 => p_source_3
54934 , p_source_3_meaning => p_source_3_meaning
54935 , p_source_8 => p_source_8
54936 , p_source_9 => p_source_9
54937 , p_source_10 => p_source_10
54938 , p_source_10_meaning => p_source_10_meaning
54939 , p_source_11 => p_source_11
54940 , p_source_18 => p_source_18
54941 , p_source_35 => p_source_35
54942 , p_source_35_meaning => p_source_35_meaning
54943 , x_transaction_coa_id => l_adr_transaction_coa_id
54944 , x_accounting_coa_id => l_adr_accounting_coa_id
54945 , x_value_type_code => l_adr_value_type_code
54946 , p_side => 'NA'
54947 );
54948
54949 xla_ae_lines_pkg.set_ccid(
54950 p_code_combination_id => l_ccid
54951 , p_value_type_code => l_adr_value_type_code
54952 , p_transaction_coa_id => l_adr_transaction_coa_id
54953 , p_accounting_coa_id => l_adr_accounting_coa_id
54954 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
54955 , p_adr_type_code => 'S'
54956 , p_component_type => l_component_type
54957 , p_component_code => l_component_code
54958 , p_component_type_code => l_component_type_code
54959 , p_component_appl_id => l_component_appl_id
54963
54960 , p_amb_context_code => l_amb_context_code
54961 , p_side => 'NA'
54962 );
54964
54965 l_segment := AcctDerRule_7(
54966 p_application_id => p_application_id
54967 , p_ae_header_id => l_ae_header_id
54968 , p_source_3 => p_source_3
54969 , p_source_3_meaning => p_source_3_meaning
54970 , p_source_8 => p_source_8
54971 , p_source_9 => p_source_9
54972 , p_source_10 => p_source_10
54973 , p_source_10_meaning => p_source_10_meaning
54974 , p_source_11 => p_source_11
54975 , x_transaction_coa_id => l_adr_transaction_coa_id
54976 , x_accounting_coa_id => l_adr_accounting_coa_id
54977 , x_flexfield_segment_code => l_adr_flexfield_segment_code
54978 , x_flex_value_set_id => l_adr_flex_value_set_id
54979 , x_value_type_code => l_adr_value_type_code
54980 , x_value_combination_id => l_adr_value_combination_id
54981 , x_value_segment_code => l_adr_value_segment_code
54982 , p_side => 'NA'
54983 , p_override_seg_flag => 'Y'
54984 );
54985
54986 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
54987
54988 xla_ae_lines_pkg.set_segment(
54989 p_to_segment_code => 'GL_ACCOUNT'
54990 , p_segment_value => l_segment
54991 , p_from_segment_code => l_adr_value_segment_code
54992 , p_from_combination_id => l_adr_value_combination_id
54993 , p_value_type_code => l_adr_value_type_code
54994 , p_transaction_coa_id => l_adr_transaction_coa_id
54995 , p_accounting_coa_id => l_adr_accounting_coa_id
54996 , p_flexfield_segment_code => l_adr_flexfield_segment_code
54997 , p_flex_value_set_id => l_adr_flex_value_set_id
54998 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
54999 , p_adr_type_code => 'S'
55000 , p_component_type => l_component_type
55001 , p_component_code => l_component_code
55002 , p_component_type_code => l_component_type_code
55003 , p_component_appl_id => l_component_appl_id
55004 , p_amb_context_code => l_amb_context_code
55005 , p_entity_code => 'AP_INVOICES'
55006 , p_event_class_code => 'DEBIT MEMOS'
55007 , p_side => 'NA'
55008 );
55009
55010 END IF;
55011
55012 l_segment := AcctDerRule_22(
55013 p_application_id => p_application_id
55014 , p_ae_header_id => l_ae_header_id
55015 , p_source_3 => p_source_3
55016 , p_source_3_meaning => p_source_3_meaning
55017 , p_source_10 => p_source_10
55018 , p_source_10_meaning => p_source_10_meaning
55019 , p_source_18 => p_source_18
55020 , x_transaction_coa_id => l_adr_transaction_coa_id
55021 , x_accounting_coa_id => l_adr_accounting_coa_id
55022 , x_flexfield_segment_code => l_adr_flexfield_segment_code
55023 , x_flex_value_set_id => l_adr_flex_value_set_id
55024 , x_value_type_code => l_adr_value_type_code
55025 , x_value_combination_id => l_adr_value_combination_id
55026 , x_value_segment_code => l_adr_value_segment_code
55027 , p_side => 'NA'
55028 , p_override_seg_flag => 'Y'
55029 );
55030
55031 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
55032
55033 xla_ae_lines_pkg.set_segment(
55034 p_to_segment_code => 'GL_BALANCING'
55035 , p_segment_value => l_segment
55036 , p_from_segment_code => l_adr_value_segment_code
55037 , p_from_combination_id => l_adr_value_combination_id
55038 , p_value_type_code => l_adr_value_type_code
55039 , p_transaction_coa_id => l_adr_transaction_coa_id
55040 , p_accounting_coa_id => l_adr_accounting_coa_id
55041 , p_flexfield_segment_code => l_adr_flexfield_segment_code
55042 , p_flex_value_set_id => l_adr_flex_value_set_id
55043 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
55044 , p_adr_type_code => 'S'
55045 , p_component_type => l_component_type
55046 , p_component_code => l_component_code
55047 , p_component_type_code => l_component_type_code
55048 , p_component_appl_id => l_component_appl_id
55049 , p_amb_context_code => l_amb_context_code
55050 , p_entity_code => 'AP_INVOICES'
55051 , p_event_class_code => 'DEBIT MEMOS'
55052 , p_side => 'NA'
55053 );
55054
55055 END IF;
55056
55057 --
55058 --
55059 END IF;
55060
55061 --
55062 -- Update the line information that should be overwritten
55063 --
55064 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55065 p_header_num => 1);
55066 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55067
55068 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55069
55070 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55074 --
55071 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55072 END IF;
55073
55075 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55076 --
55077 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55078 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55079 ELSE
55080 ---------------------------------------------------------------------------------------------------
55081 -- 4262811a Switch Sign
55082 ---------------------------------------------------------------------------------------------------
55083 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55085 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55087 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55088 -- 5132302
55089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55090 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55091
55092 END IF;
55093
55094 -- 4955764
55095 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55096 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55097
55098
55099 XLA_AE_LINES_PKG.ValidateCurrentLine;
55100 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55101
55102 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55103 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55104 ,p_balance_type_code => l_balance_type_code);
55105
55106 END IF;
55107
55108 -----------------------------------------------------------------------------------------
55109 -- 4262811 Multiperiod Accounting
55110 -----------------------------------------------------------------------------------------
55111 -- No MPA option is assigned.
55112
55113
55114 END IF;
55115 END IF;
55116 --
55117
55118 --
55119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55120 trace
55121 (p_msg => 'END of AcctLineType_113'
55122 ,p_level => C_LEVEL_PROCEDURE
55123 ,p_module => l_log_module);
55124 END IF;
55125 --
55126 EXCEPTION
55127 WHEN xla_exceptions_pkg.application_exception THEN
55128 RAISE;
55129 WHEN OTHERS THEN
55130 xla_exceptions_pkg.raise_message
55131 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_113');
55132 END AcctLineType_113;
55133 --
55134
55135 ---------------------------------------
55136 --
55137 -- PRIVATE FUNCTION
55138 -- AcctLineType_114
55139 --
55140 ---------------------------------------
55141 PROCEDURE AcctLineType_114 (
55142 p_application_id IN NUMBER
55143 ,p_event_id IN NUMBER
55144 ,p_calculate_acctd_flag IN VARCHAR2
55145 ,p_calculate_g_l_flag IN VARCHAR2
55146 ,p_actual_flag IN OUT VARCHAR2
55147 ,p_balance_type_code OUT VARCHAR2
55148 ,p_gain_or_loss_ref OUT VARCHAR2
55149
55150 --Invoice Distribution Type
55151 , p_source_21 IN VARCHAR2
55152 , p_source_21_meaning IN VARCHAR2
55153 --Accounting Reversal Indicator
55154 , p_source_41 IN VARCHAR2
55155 --Distribution Link Type
55156 , p_source_43 IN VARCHAR2
55157 --Allocation to Main Distribution Identifier
55158 , p_source_45 IN NUMBER
55159 --Invoice Identifier
55160 , p_source_46 IN NUMBER
55161 --Invoice Distribution Identifier
55162 , p_source_52 IN NUMBER
55163 --Payables Encumbrance Upgrade Credit Account
55164 , p_source_53 IN NUMBER
55165 --Payables Encumbrance Upgrade Credit Amount
55166 , p_source_54 IN NUMBER
55167 --Invoice Currency Code
55168 , p_source_55 IN VARCHAR2
55169 --Payables Encumbrance Upgrade Credit Base Amount
55170 , p_source_56 IN NUMBER
55171 --Payables Encumbrance Upgrade Debit Account
55172 , p_source_57 IN NUMBER
55173 --Payables Encumbrance Upgrade Debit Amount
55174 , p_source_58 IN NUMBER
55175 --Payables Encumbrance Upgrade Debit Base Amount
55176 , p_source_59 IN NUMBER
55177 --Payables Encumbrance Upgrade Option
55178 , p_source_60 IN VARCHAR2
55179 --Deferred Accounting End Date
55180 , p_source_65 IN DATE
55181 --Deferred Accounting Option
55182 , p_source_66 IN VARCHAR2
55183 --Deferred Accounting Start Date
55184 , p_source_67 IN DATE
55185 --Override Accounted Amount Indicator
55186 , p_source_68 IN VARCHAR2
55187 , p_source_68_meaning IN VARCHAR2
55188 --Third Party Type
55189 , p_source_71 IN VARCHAR2
55190 --Parent Reversal Identifier
55191 , p_source_72 IN NUMBER
55192 --Invoice Distribution Tax Line Identifier
55193 , p_source_74 IN NUMBER
55197 , p_source_76 IN NUMBER
55194 --Invoice Distribution Tax Distribution Identifier from Tax
55195 , p_source_75 IN NUMBER
55196 --Invoice Distribution Summary Tax Line Identifier
55198 --Payables Upgrade Credit Encumbrance Type Identifier
55199 , p_source_77 IN NUMBER
55200 --Payables Upgrade Debit Encumbrance Type Identifier
55201 , p_source_78 IN NUMBER
55202 --Business Flow Accounts Payable Application Identifier
55203 , p_source_79 IN NUMBER
55204 --Business Flow Invoice Distribution Type
55205 , p_source_80 IN VARCHAR2
55206 --Business Flow Invoice Entity Code
55207 , p_source_81 IN VARCHAR2
55208 --Business Flow Invoice Distribution Identifier
55209 , p_source_82 IN NUMBER
55210 --Business Flow Invoice Identifier
55211 , p_source_83 IN NUMBER
55212 --Purchasing Encumbrance Option
55213 , p_source_86 IN VARCHAR2
55214 , p_source_86_meaning IN VARCHAR2
55215 --Invoice Encumbered Option
55216 , p_source_87 IN VARCHAR2
55217 , p_source_87_meaning IN VARCHAR2
55218 --Invoice Distribution Encumbrance Amount
55219 , p_source_143 IN NUMBER
55220 --Invoice Distribution Encumbrance Ledger Amount
55221 , p_source_144 IN NUMBER
55222 )
55223 IS
55224
55225 l_component_type VARCHAR2(80);
55226 l_component_code VARCHAR2(30);
55227 l_component_type_code VARCHAR2(1);
55228 l_component_appl_id INTEGER;
55229 l_amb_context_code VARCHAR2(30);
55230 l_entity_code VARCHAR2(30);
55231 l_event_class_code VARCHAR2(30);
55232 l_ae_header_id NUMBER;
55233 l_event_type_code VARCHAR2(30);
55234 l_line_definition_code VARCHAR2(30);
55235 l_line_definition_owner_code VARCHAR2(1);
55236 --
55237 -- adr variables
55238 l_segment VARCHAR2(30);
55239 l_ccid NUMBER;
55240 l_adr_transaction_coa_id NUMBER;
55241 l_adr_accounting_coa_id NUMBER;
55242 l_adr_flexfield_segment_code VARCHAR2(30);
55243 l_adr_flex_value_set_id NUMBER;
55244 l_adr_value_type_code VARCHAR2(30);
55245 l_adr_value_combination_id NUMBER;
55246 l_adr_value_segment_code VARCHAR2(30);
55247
55248 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55249 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55250 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55251 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55252
55253 -- 4262811 Variables ------------------------------------------------------------------------------------------
55254 l_entered_amt_idx NUMBER;
55255 l_accted_amt_idx NUMBER;
55256 l_acc_rev_flag VARCHAR2(1);
55257 l_accrual_line_num NUMBER;
55258 l_tmp_amt NUMBER;
55259 l_acc_rev_natural_side_code VARCHAR2(1);
55260
55261 l_num_entries NUMBER;
55262 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55263 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55264 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55265 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55266 l_recog_line_1 NUMBER;
55267 l_recog_line_2 NUMBER;
55268
55269 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55270 l_bflow_applied_to_amt NUMBER; -- 5132302
55271 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55272
55273 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55274
55275 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55276 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55277
55278 ---------------------------------------------------------------------------------------------------------------
55279
55280
55281 --
55282 -- bulk performance
55283 --
55284 l_balance_type_code VARCHAR2(1);
55285 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55286 l_log_module VARCHAR2(240);
55287
55288 --
55289 -- Upgrade strategy
55290 --
55291 l_actual_upg_option VARCHAR2(1);
55292 l_enc_upg_option VARCHAR2(1);
55293
55294 --
55295 BEGIN
55296 --
55297 IF g_log_enabled THEN
55298 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_114';
55299 END IF;
55300 --
55301 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55302
55303 trace
55304 (p_msg => 'BEGIN of AcctLineType_114'
55305 ,p_level => C_LEVEL_PROCEDURE
55306 ,p_module => l_log_module);
55307
55308 END IF;
55309 --
55310 l_component_type := 'AMB_JLT';
55311 l_component_code := 'AP_EX_RATE_VAR_DM_ENC';
55312 l_component_type_code := 'S';
55313 l_component_appl_id := 200;
55314 l_amb_context_code := 'DEFAULT';
55315 l_entity_code := 'AP_INVOICES';
55316 l_event_class_code := 'DEBIT MEMOS';
55317 l_event_type_code := 'DEBIT MEMOS_ALL';
55318 l_line_definition_owner_code := 'S';
55319 l_line_definition_code := 'ENC_REV_DM_ALL';
55320 --
55321 l_balance_type_code := 'E';
55322 l_segment := NULL;
55326 l_adr_flexfield_segment_code := NULL;
55323 l_ccid := NULL;
55324 l_adr_transaction_coa_id := NULL;
55325 l_adr_accounting_coa_id := NULL;
55327 l_adr_flex_value_set_id := NULL;
55328 l_adr_value_type_code := NULL;
55329 l_adr_value_combination_id := NULL;
55330 l_adr_value_segment_code := NULL;
55331
55332 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
55333 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
55334 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55335 l_budgetary_control_flag := 'N';
55336
55337 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55338 l_bflow_applied_to_amt := NULL; -- 5132302
55339 l_entered_amt_idx := NULL; -- 4262811
55340 l_accted_amt_idx := NULL; -- 4262811
55341 l_acc_rev_flag := NULL; -- 4262811
55342 l_accrual_line_num := NULL; -- 4262811
55343 l_tmp_amt := NULL; -- 4262811
55344 --
55345 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
55346 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
55347 return;
55348 END IF;
55349
55350 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
55351 l_balance_type_code <> 'B' THEN
55352 IF NVL(p_source_21,'
55353 ') = 'ERV' AND
55354 NVL(p_source_86,'
55355 ') = 'Y' AND
55356 NVL(p_source_87,'
55357 ') = 'Y'
55358 THEN
55359
55360 --
55361 XLA_AE_LINES_PKG.SetNewLine;
55362
55363 p_balance_type_code := l_balance_type_code;
55364 -- set the flag so later we will know whether the gain loss line needs to be created
55365
55366 IF(l_balance_type_code = 'A' ) THEN
55367 p_actual_flag :='G';
55368 END IF;
55369
55370 --
55371 -- bulk performance
55372 --
55373 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
55374 p_header_num => 0); -- 4262811
55375 --
55376 -- set accounting line options
55377 --
55378 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
55379 p_natural_side_code => 'C'
55380 , p_gain_or_loss_flag => 'Y'
55381 , p_gl_transfer_mode_code => 'S'
55382 , p_acct_entry_type_code => 'E'
55383 , p_switch_side_flag => 'Y'
55384 , p_merge_duplicate_code => 'A'
55385 );
55386 --
55387 l_acc_rev_natural_side_code := 'D'; -- 4262811
55388 --
55389 --
55390 -- set accounting line type info
55391 --
55392 xla_ae_lines_pkg.SetAcctLineType
55393 (p_component_type => l_component_type
55394 ,p_event_type_code => l_event_type_code
55395 ,p_line_definition_owner_code => l_line_definition_owner_code
55396 ,p_line_definition_code => l_line_definition_code
55397 ,p_accounting_line_code => l_component_code
55398 ,p_accounting_line_type_code => l_component_type_code
55399 ,p_accounting_line_appl_id => l_component_appl_id
55400 ,p_amb_context_code => l_amb_context_code
55401 ,p_entity_code => l_entity_code
55402 ,p_event_class_code => l_event_class_code);
55403 --
55404 -- set accounting class
55405 --
55406 xla_ae_lines_pkg.SetAcctClass(
55407 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
55408 , p_ae_header_id => l_ae_header_id
55409 );
55410
55411 --
55412 -- set rounding class
55413 --
55414 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
55415 'EXCHANGE_RATE_VARIANCE';
55416
55417 --
55418 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
55419 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
55420 --
55421 -- bulk performance
55422 --
55423 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
55424
55425 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
55426 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
55427
55428 -- 4955764
55429 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55430 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
55431
55432 -- 4458381 Public Sector Enh
55433
55434 --
55435 -- set accounting attributes for the line type
55436 --
55437 l_entered_amt_idx := 23;
55438 l_accted_amt_idx := 25;
55439 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55440 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
55441 l_rec_acct_attrs.array_char_value(1) := p_source_41;
55442 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
55443 l_rec_acct_attrs.array_num_value(2) :=
55444 xla_ae_sources_pkg.GetSystemSourceNum(
55445 p_source_code => 'XLA_EVENT_APPL_ID'
55446 , p_source_type_code => 'Y'
55447 , p_source_application_id => 602
55448 );
55452 l_rec_acct_attrs.array_char_value(4) :=
55449 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
55450 l_rec_acct_attrs.array_char_value(3) := p_source_43;
55451 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
55453 xla_ae_sources_pkg.GetSystemSourceChar(
55454 p_source_code => 'XLA_ENTITY_CODE'
55455 , p_source_type_code => 'Y'
55456 , p_source_application_id => 602
55457 );
55458 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
55459 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
55460 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
55461 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
55462 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
55463 l_rec_acct_attrs.array_num_value(7) := p_source_79;
55464 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
55465 l_rec_acct_attrs.array_char_value(8) := p_source_80;
55466 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
55467 l_rec_acct_attrs.array_char_value(9) := p_source_81;
55468 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
55469 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
55470 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
55471 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
55472 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
55473 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
55474 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
55475 l_rec_acct_attrs.array_char_value(13) := p_source_43;
55476 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
55477 l_rec_acct_attrs.array_num_value(14) := p_source_53;
55478 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
55479 l_rec_acct_attrs.array_num_value(15) := p_source_54;
55480 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
55481 l_rec_acct_attrs.array_char_value(16) := p_source_55;
55482 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
55483 l_rec_acct_attrs.array_num_value(17) := p_source_56;
55484 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
55485 l_rec_acct_attrs.array_num_value(18) := p_source_57;
55486 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
55487 l_rec_acct_attrs.array_num_value(19) := p_source_58;
55488 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
55489 l_rec_acct_attrs.array_char_value(20) := p_source_55;
55490 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
55491 l_rec_acct_attrs.array_num_value(21) := p_source_59;
55492 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
55493 l_rec_acct_attrs.array_char_value(22) := p_source_60;
55494 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
55495 l_rec_acct_attrs.array_num_value(23) := p_source_143;
55496 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
55497 l_rec_acct_attrs.array_char_value(24) := p_source_55;
55498 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
55499 l_rec_acct_attrs.array_num_value(25) := p_source_144;
55500 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
55501 l_rec_acct_attrs.array_date_value(26) := p_source_65;
55502 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
55503 l_rec_acct_attrs.array_char_value(27) := p_source_66;
55504 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
55505 l_rec_acct_attrs.array_date_value(28) := p_source_67;
55506 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
55507 l_rec_acct_attrs.array_char_value(29) := p_source_68;
55508 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
55509 l_rec_acct_attrs.array_char_value(30) := p_source_71;
55510 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
55511 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
55512 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
55513 l_rec_acct_attrs.array_char_value(32) := p_source_43;
55514 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
55515 l_rec_acct_attrs.array_num_value(33) := p_source_74;
55516 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
55517 l_rec_acct_attrs.array_num_value(34) := p_source_75;
55518 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
55519 l_rec_acct_attrs.array_num_value(35) := p_source_76;
55520 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
55521 l_rec_acct_attrs.array_num_value(36) := p_source_77;
55522 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
55523 l_rec_acct_attrs.array_num_value(37) := p_source_78;
55524
55525 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
55526 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
55527
55528 ---------------------------------------------------------------------------------------------------------------
55529 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
55530 ---------------------------------------------------------------------------------------------------------------
55534 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55531 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
55532
55533 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
55535
55536 IF xla_accounting_cache_pkg.GetValueChar
55537 (p_source_code => 'LEDGER_CATEGORY_CODE'
55538 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
55539 AND l_bflow_method_code = 'PRIOR_ENTRY'
55540 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
55541 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
55542 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
55543 )
55544 THEN
55545 xla_ae_lines_pkg.BflowUpgEntry
55546 (p_business_method_code => l_bflow_method_code
55547 ,p_business_class_code => l_bflow_class_code
55548 ,p_balance_type => l_balance_type_code);
55549 ELSE
55550 NULL;
55551 XLA_AE_LINES_PKG.business_flow_validation(
55552 p_business_method_code => l_bflow_method_code
55553 ,p_business_class_code => l_bflow_class_code
55554 ,p_inherit_description_flag => l_inherit_desc_flag);
55555 END IF;
55556
55557 --
55558 -- call analytical criteria
55559 --
55560 -- Inherited Analytical Criteria for business flow method of Prior Entry.
55561 --
55562 -- call description
55563 --
55564 -- No description or it is inherited.
55565 --
55566 -- call ADRs
55567 -- Bug 4922099
55568 --
55569 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55570 (NVL(l_actual_upg_option, 'N') = 'O') OR
55571 (NVL(l_enc_upg_option, 'N') = 'O')
55572 )
55573 THEN
55574 NULL;
55575 --
55576 --
55577
55578 --
55579 --
55580 END IF;
55581 --
55582 -- Bug 4922099
55583 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
55584 (NVL(l_enc_upg_option, 'N') = 'O')
55585 ) AND
55586 (l_bflow_method_code = 'PRIOR_ENTRY')
55587 )
55588 THEN
55589 IF
55590 --
55591 1 = 1
55592 --
55593 THEN
55594 xla_accounting_err_pkg.build_message
55595 (p_appli_s_name => 'XLA'
55596 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55597 ,p_token_1 => 'LINE_NUMBER'
55598 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
55599 ,p_token_2 => 'LINE_TYPE_NAME'
55600 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
55601 l_component_type
55602 ,l_component_code
55603 ,l_component_type_code
55604 ,l_component_appl_id
55605 ,l_amb_context_code
55606 ,l_entity_code
55607 ,l_event_class_code
55608 )
55609 ,p_token_3 => 'OWNER'
55610 ,p_value_3 => xla_lookups_pkg.get_meaning(
55611 p_lookup_type => 'XLA_OWNER_TYPE'
55612 ,p_lookup_code => l_component_type_code
55613 )
55614 ,p_token_4 => 'PRODUCT_NAME'
55615 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
55616 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
55617 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
55618 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
55619 ,p_ae_header_id => NULL
55620 );
55621
55622 IF (C_LEVEL_ERROR>= g_log_level) THEN
55623 trace
55624 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
55625 ,p_level => C_LEVEL_ERROR
55626 ,p_module => l_log_module);
55627 END IF;
55628 END IF;
55629 END IF;
55630 --
55631 --
55632 ------------------------------------------------------------------------------------------------
55633 -- 4219869 Business Flow
55634 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
55638
55635 -- Prior Entry. Currently, the following code is always generated.
55636 ------------------------------------------------------------------------------------------------
55637 -- No ValidateCurrentLine for business flow method of Prior Entry
55639 ------------------------------------------------------------------------------------
55640 -- 4219869 Business Flow
55641 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
55642 ------------------------------------------------------------------------------------
55643 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55644
55645 ----------------------------------------------------------------------------------
55646 -- 4219869 Business Flow
55647 -- Update journal entry status -- Need to generate this within IF <condition>
55648 ----------------------------------------------------------------------------------
55649 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55650 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
55651 ,p_balance_type_code => l_balance_type_code
55652 );
55653
55654 -------------------------------------------------------------------------------------------
55655 -- 4262811 - Generate the Accrual Reversal lines
55656 -------------------------------------------------------------------------------------------
55657 BEGIN
55658 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
55659 (g_array_event(p_event_id).array_value_num('header_index'));
55660 IF l_acc_rev_flag IS NULL THEN
55661 l_acc_rev_flag := 'N';
55662 END IF;
55663 EXCEPTION
55664 WHEN OTHERS THEN
55665 l_acc_rev_flag := 'N';
55666 END;
55667 --
55668 IF (l_acc_rev_flag = 'Y') THEN
55669
55670 -- 4645092 ------------------------------------------------------------------------------
55671 -- To allow MPA report to determine if it should generate report process
55672 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
55673 ------------------------------------------------------------------------------------------
55674
55675 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
55676 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
55677 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
55678 -- call ADRs
55679 -- Bug 4922099
55680 --
55681 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
55682 (NVL(l_actual_upg_option, 'N') = 'O') OR
55683 (NVL(l_enc_upg_option, 'N') = 'O')
55684 )
55685 THEN
55686 NULL;
55687 --
55688 --
55689
55690 --
55691 --
55692 END IF;
55693
55694 --
55695 -- Update the line information that should be overwritten
55696 --
55697 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
55698 p_header_num => 1);
55699 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
55700
55701 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
55702
55703 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
55704 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
55705 END IF;
55706
55707 --
55708 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
55709 --
55710 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
55711 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
55712 ELSE
55713 ---------------------------------------------------------------------------------------------------
55714 -- 4262811a Switch Sign
55715 ---------------------------------------------------------------------------------------------------
55716 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
55717 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55718 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55719 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
55720 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55721 -- 5132302
55722 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
55723 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
55724
55725 END IF;
55726
55727 -- 4955764
55728 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
55729 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
55730
55731
55732 XLA_AE_LINES_PKG.ValidateCurrentLine;
55733 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
55734
55735 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
55736 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
55737 ,p_balance_type_code => l_balance_type_code);
55738
55739 END IF;
55743 -----------------------------------------------------------------------------------------
55740
55741 -----------------------------------------------------------------------------------------
55742 -- 4262811 Multiperiod Accounting
55744 -- No MPA option is assigned.
55745
55746
55747 END IF;
55748 END IF;
55749 --
55750
55751 --
55752 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55753 trace
55754 (p_msg => 'END of AcctLineType_114'
55755 ,p_level => C_LEVEL_PROCEDURE
55756 ,p_module => l_log_module);
55757 END IF;
55758 --
55759 EXCEPTION
55760 WHEN xla_exceptions_pkg.application_exception THEN
55761 RAISE;
55762 WHEN OTHERS THEN
55763 xla_exceptions_pkg.raise_message
55764 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_114');
55765 END AcctLineType_114;
55766 --
55767
55768 ---------------------------------------
55769 --
55770 -- PRIVATE FUNCTION
55771 -- AcctLineType_115
55772 --
55773 ---------------------------------------
55774 PROCEDURE AcctLineType_115 (
55775 p_application_id IN NUMBER
55776 ,p_event_id IN NUMBER
55777 ,p_calculate_acctd_flag IN VARCHAR2
55778 ,p_calculate_g_l_flag IN VARCHAR2
55779 ,p_actual_flag IN OUT VARCHAR2
55780 ,p_balance_type_code OUT VARCHAR2
55781 ,p_gain_or_loss_ref OUT VARCHAR2
55782
55783 --Invoice Distribution Description
55784 , p_source_1 IN VARCHAR2
55785 --Automatic Offsets Value
55786 , p_source_3 IN VARCHAR2
55787 , p_source_3_meaning IN VARCHAR2
55788 --Purchase Order Rate Variance Gain Account
55789 , p_source_8 IN NUMBER
55790 --Invoice Distribution Ledger Amount
55791 , p_source_9 IN NUMBER
55792 --Destination Type of the PO Distribution
55793 , p_source_10 IN VARCHAR2
55794 , p_source_10_meaning IN VARCHAR2
55795 --Purchase Order Rate Variance Loss Account
55796 , p_source_11 IN NUMBER
55797 --Invoice Distribution Account
55798 , p_source_18 IN NUMBER
55799 --Invoice Distribution Type
55800 , p_source_21 IN VARCHAR2
55801 , p_source_21_meaning IN VARCHAR2
55802 --Automatic Offsets Flag
55803 , p_source_35 IN VARCHAR2
55804 , p_source_35_meaning IN VARCHAR2
55805 --Accounting Reversal Indicator
55806 , p_source_41 IN VARCHAR2
55807 --Distribution Link Type
55808 , p_source_43 IN VARCHAR2
55809 --Allocation to Main Distribution Identifier
55810 , p_source_45 IN NUMBER
55811 --Invoice Identifier
55812 , p_source_46 IN NUMBER
55813 --Invoice Distribution Identifier
55814 , p_source_52 IN NUMBER
55815 --Payables Encumbrance Upgrade Credit Account
55816 , p_source_53 IN NUMBER
55817 --Payables Encumbrance Upgrade Credit Amount
55818 , p_source_54 IN NUMBER
55819 --Invoice Currency Code
55820 , p_source_55 IN VARCHAR2
55821 --Payables Encumbrance Upgrade Credit Base Amount
55822 , p_source_56 IN NUMBER
55823 --Payables Encumbrance Upgrade Debit Account
55824 , p_source_57 IN NUMBER
55825 --Payables Encumbrance Upgrade Debit Amount
55826 , p_source_58 IN NUMBER
55827 --Payables Encumbrance Upgrade Debit Base Amount
55828 , p_source_59 IN NUMBER
55829 --Payables Encumbrance Upgrade Option
55830 , p_source_60 IN VARCHAR2
55831 --Invoice Distribution Amount
55832 , p_source_61 IN NUMBER
55833 --Deferred Accounting End Date
55834 , p_source_65 IN DATE
55835 --Deferred Accounting Option
55836 , p_source_66 IN VARCHAR2
55837 --Deferred Accounting Start Date
55838 , p_source_67 IN DATE
55839 --Override Accounted Amount Indicator
55840 , p_source_68 IN VARCHAR2
55841 , p_source_68_meaning IN VARCHAR2
55842 --Invoice Supplier Identifier
55843 , p_source_69 IN NUMBER
55844 --Invoice Supplier Site Identifier
55845 , p_source_70 IN NUMBER
55846 --Third Party Type
55847 , p_source_71 IN VARCHAR2
55848 --Parent Reversal Identifier
55849 , p_source_72 IN NUMBER
55850 --Invoice Distribution Statistical Amount
55851 , p_source_73 IN NUMBER
55852 --Invoice Distribution Tax Line Identifier
55853 , p_source_74 IN NUMBER
55854 --Invoice Distribution Tax Distribution Identifier from Tax
55855 , p_source_75 IN NUMBER
55856 --Invoice Distribution Summary Tax Line Identifier
55857 , p_source_76 IN NUMBER
55858 --Payables Upgrade Credit Encumbrance Type Identifier
55859 , p_source_77 IN NUMBER
55860 --Payables Upgrade Debit Encumbrance Type Identifier
55861 , p_source_78 IN NUMBER
55862 --Business Flow Accounts Payable Application Identifier
55863 , p_source_79 IN NUMBER
55864 --Business Flow Invoice Distribution Type
55865 , p_source_80 IN VARCHAR2
55866 --Business Flow Invoice Entity Code
55867 , p_source_81 IN VARCHAR2
55868 --Business Flow Invoice Distribution Identifier
55869 , p_source_82 IN NUMBER
55870 --Business Flow Invoice Identifier
55871 , p_source_83 IN NUMBER
55872 --Accrue on Receipt Option
55873 , p_source_84 IN VARCHAR2
55874 , p_source_84_meaning IN VARCHAR2
55875 --Invoice Exchange Date
55876 , p_source_136 IN DATE
55877 --Invoice Exchange Rate
55878 , p_source_137 IN NUMBER
55882 IS
55879 --Invoice Exchange Rate Type
55880 , p_source_138 IN VARCHAR2
55881 )
55883
55884 l_component_type VARCHAR2(80);
55885 l_component_code VARCHAR2(30);
55886 l_component_type_code VARCHAR2(1);
55887 l_component_appl_id INTEGER;
55888 l_amb_context_code VARCHAR2(30);
55889 l_entity_code VARCHAR2(30);
55890 l_event_class_code VARCHAR2(30);
55891 l_ae_header_id NUMBER;
55892 l_event_type_code VARCHAR2(30);
55893 l_line_definition_code VARCHAR2(30);
55894 l_line_definition_owner_code VARCHAR2(1);
55895 --
55896 -- adr variables
55897 l_segment VARCHAR2(30);
55898 l_ccid NUMBER;
55899 l_adr_transaction_coa_id NUMBER;
55900 l_adr_accounting_coa_id NUMBER;
55901 l_adr_flexfield_segment_code VARCHAR2(30);
55902 l_adr_flex_value_set_id NUMBER;
55903 l_adr_value_type_code VARCHAR2(30);
55904 l_adr_value_combination_id NUMBER;
55905 l_adr_value_segment_code VARCHAR2(30);
55906
55907 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
55908 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
55909 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
55910 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
55911
55912 -- 4262811 Variables ------------------------------------------------------------------------------------------
55913 l_entered_amt_idx NUMBER;
55914 l_accted_amt_idx NUMBER;
55915 l_acc_rev_flag VARCHAR2(1);
55916 l_accrual_line_num NUMBER;
55917 l_tmp_amt NUMBER;
55918 l_acc_rev_natural_side_code VARCHAR2(1);
55919
55920 l_num_entries NUMBER;
55921 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
55922 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
55923 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
55924 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
55925 l_recog_line_1 NUMBER;
55926 l_recog_line_2 NUMBER;
55927
55928 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
55929 l_bflow_applied_to_amt NUMBER; -- 5132302
55930 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
55931
55932 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
55933
55934 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
55935 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
55936
55937 ---------------------------------------------------------------------------------------------------------------
55938
55939
55940 --
55941 -- bulk performance
55942 --
55943 l_balance_type_code VARCHAR2(1);
55944 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
55945 l_log_module VARCHAR2(240);
55946
55947 --
55948 -- Upgrade strategy
55949 --
55950 l_actual_upg_option VARCHAR2(1);
55951 l_enc_upg_option VARCHAR2(1);
55952
55953 --
55954 BEGIN
55955 --
55956 IF g_log_enabled THEN
55957 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_115';
55958 END IF;
55959 --
55960 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
55961
55962 trace
55963 (p_msg => 'BEGIN of AcctLineType_115'
55964 ,p_level => C_LEVEL_PROCEDURE
55965 ,p_module => l_log_module);
55966
55967 END IF;
55968 --
55969 l_component_type := 'AMB_JLT';
55970 l_component_code := 'AP_EX_RATE_VAR_INV';
55971 l_component_type_code := 'S';
55972 l_component_appl_id := 200;
55973 l_amb_context_code := 'DEFAULT';
55974 l_entity_code := 'AP_INVOICES';
55975 l_event_class_code := 'INVOICES';
55976 l_event_type_code := 'INVOICES_ALL';
55977 l_line_definition_owner_code := 'S';
55978 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
55979 --
55980 l_balance_type_code := 'A';
55981 l_segment := NULL;
55982 l_ccid := NULL;
55983 l_adr_transaction_coa_id := NULL;
55984 l_adr_accounting_coa_id := NULL;
55985 l_adr_flexfield_segment_code := NULL;
55986 l_adr_flex_value_set_id := NULL;
55987 l_adr_value_type_code := NULL;
55988 l_adr_value_combination_id := NULL;
55989 l_adr_value_segment_code := NULL;
55990
55991 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
55992 l_bflow_class_code := ''; -- 4219869 Business Flow
55993 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
55994 l_budgetary_control_flag := 'N';
55995
55996 l_bflow_applied_to_amt_idx := NULL; -- 5132302
55997 l_bflow_applied_to_amt := NULL; -- 5132302
55998 l_entered_amt_idx := NULL; -- 4262811
55999 l_accted_amt_idx := NULL; -- 4262811
56000 l_acc_rev_flag := NULL; -- 4262811
56001 l_accrual_line_num := NULL; -- 4262811
56002 l_tmp_amt := NULL; -- 4262811
56003 --
56004 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
56008
56005 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
56006 return;
56007 END IF;
56009 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56010 l_balance_type_code <> 'B' THEN
56011 IF NVL(p_source_21,'
56012 ') = 'ERV' AND
56013 NVL(p_source_84,'
56014 ') = 'Y'
56015 THEN
56016
56017 --
56018 XLA_AE_LINES_PKG.SetNewLine;
56019
56020 p_balance_type_code := l_balance_type_code;
56021 -- set the flag so later we will know whether the gain loss line needs to be created
56022
56023 IF(l_balance_type_code = 'A' ) THEN
56024 p_actual_flag :='G';
56025 END IF;
56026
56027 --
56028 -- bulk performance
56029 --
56030 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56031 p_header_num => 0); -- 4262811
56032 --
56033 -- set accounting line options
56034 --
56035 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56036 p_natural_side_code => 'D'
56037 , p_gain_or_loss_flag => 'Y'
56038 , p_gl_transfer_mode_code => 'S'
56039 , p_acct_entry_type_code => 'A'
56040 , p_switch_side_flag => 'Y'
56041 , p_merge_duplicate_code => 'A'
56042 );
56043 --
56044 l_acc_rev_natural_side_code := 'C'; -- 4262811
56045 --
56046 --
56047 -- set accounting line type info
56048 --
56049 xla_ae_lines_pkg.SetAcctLineType
56050 (p_component_type => l_component_type
56051 ,p_event_type_code => l_event_type_code
56052 ,p_line_definition_owner_code => l_line_definition_owner_code
56053 ,p_line_definition_code => l_line_definition_code
56054 ,p_accounting_line_code => l_component_code
56055 ,p_accounting_line_type_code => l_component_type_code
56056 ,p_accounting_line_appl_id => l_component_appl_id
56057 ,p_amb_context_code => l_amb_context_code
56058 ,p_entity_code => l_entity_code
56059 ,p_event_class_code => l_event_class_code);
56060 --
56061 -- set accounting class
56062 --
56063 xla_ae_lines_pkg.SetAcctClass(
56064 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
56065 , p_ae_header_id => l_ae_header_id
56066 );
56067
56068 --
56069 -- set rounding class
56070 --
56071 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56072 'EXCHANGE_RATE_VARIANCE';
56073
56074 --
56075 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56076 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56077 --
56078 -- bulk performance
56079 --
56080 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56081
56082 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56083 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56084
56085 -- 4955764
56086 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56087 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
56088
56089 -- 4458381 Public Sector Enh
56090
56091 --
56092 -- set accounting attributes for the line type
56093 --
56094 l_entered_amt_idx := 24;
56095 l_accted_amt_idx := 29;
56096 l_bflow_applied_to_amt_idx := 7; -- 5132302
56097 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
56098 l_rec_acct_attrs.array_char_value(1) := p_source_41;
56099 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
56100 l_rec_acct_attrs.array_num_value(2) :=
56101 xla_ae_sources_pkg.GetSystemSourceNum(
56102 p_source_code => 'XLA_EVENT_APPL_ID'
56103 , p_source_type_code => 'Y'
56104 , p_source_application_id => 602
56105 );
56106 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
56107 l_rec_acct_attrs.array_char_value(3) := p_source_43;
56108 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
56109 l_rec_acct_attrs.array_char_value(4) :=
56110 xla_ae_sources_pkg.GetSystemSourceChar(
56111 p_source_code => 'XLA_ENTITY_CODE'
56112 , p_source_type_code => 'Y'
56113 , p_source_application_id => 602
56114 );
56115 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
56116 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
56117 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
56118 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
56119 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
56120 l_rec_acct_attrs.array_num_value(7) := p_source_61;
56121 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
56122 l_rec_acct_attrs.array_num_value(8) := p_source_79;
56123 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
56124 l_rec_acct_attrs.array_char_value(9) := p_source_80;
56125 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
56129 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
56126 l_rec_acct_attrs.array_char_value(10) := p_source_81;
56127 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
56128 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
56130 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
56131 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
56132 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
56133 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
56134 l_rec_acct_attrs.array_char_value(14) := p_source_43;
56135 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
56136 l_rec_acct_attrs.array_num_value(15) := p_source_53;
56137 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
56138 l_rec_acct_attrs.array_num_value(16) := p_source_54;
56139 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
56140 l_rec_acct_attrs.array_char_value(17) := p_source_55;
56141 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
56142 l_rec_acct_attrs.array_num_value(18) := p_source_56;
56143 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
56144 l_rec_acct_attrs.array_num_value(19) := p_source_57;
56145 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
56146 l_rec_acct_attrs.array_num_value(20) := p_source_58;
56147 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
56148 l_rec_acct_attrs.array_char_value(21) := p_source_55;
56149 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
56150 l_rec_acct_attrs.array_num_value(22) := p_source_59;
56151 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
56152 l_rec_acct_attrs.array_char_value(23) := p_source_60;
56153 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
56154 l_rec_acct_attrs.array_num_value(24) := p_source_61;
56155 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
56156 l_rec_acct_attrs.array_char_value(25) := p_source_55;
56157 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
56158 l_rec_acct_attrs.array_date_value(26) := p_source_136;
56159 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
56160 l_rec_acct_attrs.array_num_value(27) := p_source_137;
56161 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
56162 l_rec_acct_attrs.array_char_value(28) := p_source_138;
56163 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
56164 l_rec_acct_attrs.array_num_value(29) := p_source_9;
56165 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
56166 l_rec_acct_attrs.array_date_value(30) := p_source_65;
56167 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
56168 l_rec_acct_attrs.array_char_value(31) := p_source_66;
56169 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
56170 l_rec_acct_attrs.array_date_value(32) := p_source_67;
56171 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
56172 l_rec_acct_attrs.array_char_value(33) := p_source_68;
56173 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
56174 l_rec_acct_attrs.array_num_value(34) := p_source_69;
56175 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
56176 l_rec_acct_attrs.array_num_value(35) := p_source_70;
56177 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
56178 l_rec_acct_attrs.array_char_value(36) := p_source_71;
56179 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
56180 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
56181 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
56182 l_rec_acct_attrs.array_char_value(38) := p_source_43;
56183 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
56184 l_rec_acct_attrs.array_num_value(39) := p_source_73;
56185 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
56186 l_rec_acct_attrs.array_num_value(40) := p_source_74;
56187 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
56188 l_rec_acct_attrs.array_num_value(41) := p_source_75;
56189 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
56190 l_rec_acct_attrs.array_num_value(42) := p_source_76;
56191 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
56192 l_rec_acct_attrs.array_num_value(43) := p_source_77;
56193 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
56194 l_rec_acct_attrs.array_num_value(44) := p_source_78;
56195
56196 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
56197 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
56198
56199 ---------------------------------------------------------------------------------------------------------------
56200 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
56201 ---------------------------------------------------------------------------------------------------------------
56202 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
56203
56204 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56205 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
56206
56210 AND l_bflow_method_code = 'PRIOR_ENTRY'
56207 IF xla_accounting_cache_pkg.GetValueChar
56208 (p_source_code => 'LEDGER_CATEGORY_CODE'
56209 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
56211 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
56212 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
56213 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
56214 )
56215 THEN
56216 xla_ae_lines_pkg.BflowUpgEntry
56217 (p_business_method_code => l_bflow_method_code
56218 ,p_business_class_code => l_bflow_class_code
56219 ,p_balance_type => l_balance_type_code);
56220 ELSE
56221 NULL;
56222 -- No business flow processing for business flow method of NONE.
56223 END IF;
56224
56225 --
56226 -- call analytical criteria
56227 --
56228
56229 --
56230 -- call description
56231 --
56232
56233 xla_ae_lines_pkg.SetLineDescription(
56234 p_ae_header_id => l_ae_header_id
56235 ,p_description => Description_2 (
56236 p_application_id => p_application_id
56237 , p_ae_header_id => l_ae_header_id
56238 , p_source_1 => p_source_1
56239 )
56240 );
56241
56242
56243 --
56244 -- call ADRs
56245 -- Bug 4922099
56246 --
56247 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56248 (NVL(l_actual_upg_option, 'N') = 'O') OR
56249 (NVL(l_enc_upg_option, 'N') = 'O')
56250 )
56251 THEN
56252 NULL;
56253 --
56254 --
56255
56256 l_ccid := AcctDerRule_29(
56257 p_application_id => p_application_id
56258 , p_ae_header_id => l_ae_header_id
56259 , p_source_3 => p_source_3
56260 , p_source_3_meaning => p_source_3_meaning
56261 , p_source_8 => p_source_8
56262 , p_source_9 => p_source_9
56263 , p_source_10 => p_source_10
56264 , p_source_10_meaning => p_source_10_meaning
56265 , p_source_11 => p_source_11
56266 , p_source_18 => p_source_18
56267 , p_source_35 => p_source_35
56268 , p_source_35_meaning => p_source_35_meaning
56269 , x_transaction_coa_id => l_adr_transaction_coa_id
56270 , x_accounting_coa_id => l_adr_accounting_coa_id
56271 , x_value_type_code => l_adr_value_type_code
56272 , p_side => 'NA'
56273 );
56274
56275 xla_ae_lines_pkg.set_ccid(
56276 p_code_combination_id => l_ccid
56277 , p_value_type_code => l_adr_value_type_code
56278 , p_transaction_coa_id => l_adr_transaction_coa_id
56279 , p_accounting_coa_id => l_adr_accounting_coa_id
56280 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
56281 , p_adr_type_code => 'S'
56282 , p_component_type => l_component_type
56283 , p_component_code => l_component_code
56284 , p_component_type_code => l_component_type_code
56285 , p_component_appl_id => l_component_appl_id
56286 , p_amb_context_code => l_amb_context_code
56287 , p_side => 'NA'
56288 );
56289
56290
56291 l_segment := AcctDerRule_7(
56292 p_application_id => p_application_id
56293 , p_ae_header_id => l_ae_header_id
56294 , p_source_3 => p_source_3
56295 , p_source_3_meaning => p_source_3_meaning
56296 , p_source_8 => p_source_8
56297 , p_source_9 => p_source_9
56298 , p_source_10 => p_source_10
56299 , p_source_10_meaning => p_source_10_meaning
56300 , p_source_11 => p_source_11
56301 , x_transaction_coa_id => l_adr_transaction_coa_id
56302 , x_accounting_coa_id => l_adr_accounting_coa_id
56303 , x_flexfield_segment_code => l_adr_flexfield_segment_code
56304 , x_flex_value_set_id => l_adr_flex_value_set_id
56305 , x_value_type_code => l_adr_value_type_code
56306 , x_value_combination_id => l_adr_value_combination_id
56307 , x_value_segment_code => l_adr_value_segment_code
56308 , p_side => 'NA'
56309 , p_override_seg_flag => 'Y'
56310 );
56311
56312 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
56313
56314 xla_ae_lines_pkg.set_segment(
56315 p_to_segment_code => 'GL_ACCOUNT'
56316 , p_segment_value => l_segment
56317 , p_from_segment_code => l_adr_value_segment_code
56318 , p_from_combination_id => l_adr_value_combination_id
56319 , p_value_type_code => l_adr_value_type_code
56320 , p_transaction_coa_id => l_adr_transaction_coa_id
56321 , p_accounting_coa_id => l_adr_accounting_coa_id
56322 , p_flexfield_segment_code => l_adr_flexfield_segment_code
56323 , p_flex_value_set_id => l_adr_flex_value_set_id
56324 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
56325 , p_adr_type_code => 'S'
56326 , p_component_type => l_component_type
56327 , p_component_code => l_component_code
56328 , p_component_type_code => l_component_type_code
56329 , p_component_appl_id => l_component_appl_id
56330 , p_amb_context_code => l_amb_context_code
56334 );
56331 , p_entity_code => 'AP_INVOICES'
56332 , p_event_class_code => 'INVOICES'
56333 , p_side => 'NA'
56335
56336 END IF;
56337
56338 l_segment := AcctDerRule_22(
56339 p_application_id => p_application_id
56340 , p_ae_header_id => l_ae_header_id
56341 , p_source_3 => p_source_3
56342 , p_source_3_meaning => p_source_3_meaning
56343 , p_source_10 => p_source_10
56344 , p_source_10_meaning => p_source_10_meaning
56345 , p_source_18 => p_source_18
56346 , x_transaction_coa_id => l_adr_transaction_coa_id
56347 , x_accounting_coa_id => l_adr_accounting_coa_id
56348 , x_flexfield_segment_code => l_adr_flexfield_segment_code
56349 , x_flex_value_set_id => l_adr_flex_value_set_id
56350 , x_value_type_code => l_adr_value_type_code
56351 , x_value_combination_id => l_adr_value_combination_id
56352 , x_value_segment_code => l_adr_value_segment_code
56353 , p_side => 'NA'
56354 , p_override_seg_flag => 'Y'
56355 );
56356
56357 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
56358
56359 xla_ae_lines_pkg.set_segment(
56360 p_to_segment_code => 'GL_BALANCING'
56361 , p_segment_value => l_segment
56362 , p_from_segment_code => l_adr_value_segment_code
56363 , p_from_combination_id => l_adr_value_combination_id
56364 , p_value_type_code => l_adr_value_type_code
56365 , p_transaction_coa_id => l_adr_transaction_coa_id
56366 , p_accounting_coa_id => l_adr_accounting_coa_id
56367 , p_flexfield_segment_code => l_adr_flexfield_segment_code
56368 , p_flex_value_set_id => l_adr_flex_value_set_id
56369 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
56370 , p_adr_type_code => 'S'
56371 , p_component_type => l_component_type
56372 , p_component_code => l_component_code
56373 , p_component_type_code => l_component_type_code
56374 , p_component_appl_id => l_component_appl_id
56375 , p_amb_context_code => l_amb_context_code
56376 , p_entity_code => 'AP_INVOICES'
56377 , p_event_class_code => 'INVOICES'
56378 , p_side => 'NA'
56379 );
56380
56381 END IF;
56382
56383 --
56384 --
56385 END IF;
56386 --
56387 -- Bug 4922099
56388 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
56389 (NVL(l_enc_upg_option, 'N') = 'O')
56390 ) AND
56391 (l_bflow_method_code = 'PRIOR_ENTRY')
56392 )
56393 THEN
56394 IF
56395 --
56396 1 = 2
56397 --
56398 THEN
56399 xla_accounting_err_pkg.build_message
56400 (p_appli_s_name => 'XLA'
56401 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56402 ,p_token_1 => 'LINE_NUMBER'
56403 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
56404 ,p_token_2 => 'LINE_TYPE_NAME'
56405 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
56406 l_component_type
56407 ,l_component_code
56408 ,l_component_type_code
56409 ,l_component_appl_id
56410 ,l_amb_context_code
56411 ,l_entity_code
56412 ,l_event_class_code
56413 )
56414 ,p_token_3 => 'OWNER'
56415 ,p_value_3 => xla_lookups_pkg.get_meaning(
56416 p_lookup_type => 'XLA_OWNER_TYPE'
56417 ,p_lookup_code => l_component_type_code
56418 )
56419 ,p_token_4 => 'PRODUCT_NAME'
56420 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
56421 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
56422 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
56423 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
56424 ,p_ae_header_id => NULL
56425 );
56426
56427 IF (C_LEVEL_ERROR>= g_log_level) THEN
56428 trace
56429 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
56433 END IF;
56430 ,p_level => C_LEVEL_ERROR
56431 ,p_module => l_log_module);
56432 END IF;
56434 END IF;
56435 --
56436 --
56437 ------------------------------------------------------------------------------------------------
56438 -- 4219869 Business Flow
56439 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
56440 -- Prior Entry. Currently, the following code is always generated.
56441 ------------------------------------------------------------------------------------------------
56442 XLA_AE_LINES_PKG.ValidateCurrentLine;
56443
56444 ------------------------------------------------------------------------------------
56445 -- 4219869 Business Flow
56446 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
56447 ------------------------------------------------------------------------------------
56448 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56449
56450 ----------------------------------------------------------------------------------
56451 -- 4219869 Business Flow
56452 -- Update journal entry status -- Need to generate this within IF <condition>
56453 ----------------------------------------------------------------------------------
56454 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56455 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
56456 ,p_balance_type_code => l_balance_type_code
56457 );
56458
56459 -------------------------------------------------------------------------------------------
56460 -- 4262811 - Generate the Accrual Reversal lines
56461 -------------------------------------------------------------------------------------------
56462 BEGIN
56463 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
56464 (g_array_event(p_event_id).array_value_num('header_index'));
56465 IF l_acc_rev_flag IS NULL THEN
56466 l_acc_rev_flag := 'N';
56467 END IF;
56468 EXCEPTION
56469 WHEN OTHERS THEN
56470 l_acc_rev_flag := 'N';
56471 END;
56472 --
56473 IF (l_acc_rev_flag = 'Y') THEN
56474
56475 -- 4645092 ------------------------------------------------------------------------------
56476 -- To allow MPA report to determine if it should generate report process
56477 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
56478 ------------------------------------------------------------------------------------------
56479
56480 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
56481 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
56482 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
56483 -- call ADRs
56484 -- Bug 4922099
56485 --
56486 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
56487 (NVL(l_actual_upg_option, 'N') = 'O') OR
56488 (NVL(l_enc_upg_option, 'N') = 'O')
56489 )
56490 THEN
56491 NULL;
56492 --
56493 --
56494
56495 l_ccid := AcctDerRule_29(
56496 p_application_id => p_application_id
56497 , p_ae_header_id => l_ae_header_id
56498 , p_source_3 => p_source_3
56499 , p_source_3_meaning => p_source_3_meaning
56500 , p_source_8 => p_source_8
56501 , p_source_9 => p_source_9
56502 , p_source_10 => p_source_10
56503 , p_source_10_meaning => p_source_10_meaning
56504 , p_source_11 => p_source_11
56505 , p_source_18 => p_source_18
56506 , p_source_35 => p_source_35
56507 , p_source_35_meaning => p_source_35_meaning
56508 , x_transaction_coa_id => l_adr_transaction_coa_id
56509 , x_accounting_coa_id => l_adr_accounting_coa_id
56510 , x_value_type_code => l_adr_value_type_code
56511 , p_side => 'NA'
56512 );
56513
56514 xla_ae_lines_pkg.set_ccid(
56515 p_code_combination_id => l_ccid
56516 , p_value_type_code => l_adr_value_type_code
56517 , p_transaction_coa_id => l_adr_transaction_coa_id
56518 , p_accounting_coa_id => l_adr_accounting_coa_id
56519 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
56520 , p_adr_type_code => 'S'
56521 , p_component_type => l_component_type
56522 , p_component_code => l_component_code
56523 , p_component_type_code => l_component_type_code
56524 , p_component_appl_id => l_component_appl_id
56525 , p_amb_context_code => l_amb_context_code
56526 , p_side => 'NA'
56527 );
56528
56529
56530 l_segment := AcctDerRule_7(
56531 p_application_id => p_application_id
56532 , p_ae_header_id => l_ae_header_id
56533 , p_source_3 => p_source_3
56534 , p_source_3_meaning => p_source_3_meaning
56535 , p_source_8 => p_source_8
56536 , p_source_9 => p_source_9
56537 , p_source_10 => p_source_10
56538 , p_source_10_meaning => p_source_10_meaning
56539 , p_source_11 => p_source_11
56540 , x_transaction_coa_id => l_adr_transaction_coa_id
56541 , x_accounting_coa_id => l_adr_accounting_coa_id
56542 , x_flexfield_segment_code => l_adr_flexfield_segment_code
56543 , x_flex_value_set_id => l_adr_flex_value_set_id
56544 , x_value_type_code => l_adr_value_type_code
56545 , x_value_combination_id => l_adr_value_combination_id
56549 );
56546 , x_value_segment_code => l_adr_value_segment_code
56547 , p_side => 'NA'
56548 , p_override_seg_flag => 'Y'
56550
56551 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
56552
56553 xla_ae_lines_pkg.set_segment(
56554 p_to_segment_code => 'GL_ACCOUNT'
56555 , p_segment_value => l_segment
56556 , p_from_segment_code => l_adr_value_segment_code
56557 , p_from_combination_id => l_adr_value_combination_id
56558 , p_value_type_code => l_adr_value_type_code
56559 , p_transaction_coa_id => l_adr_transaction_coa_id
56560 , p_accounting_coa_id => l_adr_accounting_coa_id
56561 , p_flexfield_segment_code => l_adr_flexfield_segment_code
56562 , p_flex_value_set_id => l_adr_flex_value_set_id
56563 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
56564 , p_adr_type_code => 'S'
56565 , p_component_type => l_component_type
56566 , p_component_code => l_component_code
56567 , p_component_type_code => l_component_type_code
56568 , p_component_appl_id => l_component_appl_id
56569 , p_amb_context_code => l_amb_context_code
56570 , p_entity_code => 'AP_INVOICES'
56571 , p_event_class_code => 'INVOICES'
56572 , p_side => 'NA'
56573 );
56574
56575 END IF;
56576
56577 l_segment := AcctDerRule_22(
56578 p_application_id => p_application_id
56579 , p_ae_header_id => l_ae_header_id
56580 , p_source_3 => p_source_3
56581 , p_source_3_meaning => p_source_3_meaning
56582 , p_source_10 => p_source_10
56583 , p_source_10_meaning => p_source_10_meaning
56584 , p_source_18 => p_source_18
56585 , x_transaction_coa_id => l_adr_transaction_coa_id
56586 , x_accounting_coa_id => l_adr_accounting_coa_id
56587 , x_flexfield_segment_code => l_adr_flexfield_segment_code
56588 , x_flex_value_set_id => l_adr_flex_value_set_id
56589 , x_value_type_code => l_adr_value_type_code
56590 , x_value_combination_id => l_adr_value_combination_id
56591 , x_value_segment_code => l_adr_value_segment_code
56592 , p_side => 'NA'
56593 , p_override_seg_flag => 'Y'
56594 );
56595
56596 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
56597
56598 xla_ae_lines_pkg.set_segment(
56599 p_to_segment_code => 'GL_BALANCING'
56600 , p_segment_value => l_segment
56601 , p_from_segment_code => l_adr_value_segment_code
56602 , p_from_combination_id => l_adr_value_combination_id
56603 , p_value_type_code => l_adr_value_type_code
56604 , p_transaction_coa_id => l_adr_transaction_coa_id
56605 , p_accounting_coa_id => l_adr_accounting_coa_id
56606 , p_flexfield_segment_code => l_adr_flexfield_segment_code
56607 , p_flex_value_set_id => l_adr_flex_value_set_id
56608 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
56609 , p_adr_type_code => 'S'
56610 , p_component_type => l_component_type
56611 , p_component_code => l_component_code
56612 , p_component_type_code => l_component_type_code
56613 , p_component_appl_id => l_component_appl_id
56614 , p_amb_context_code => l_amb_context_code
56615 , p_entity_code => 'AP_INVOICES'
56616 , p_event_class_code => 'INVOICES'
56617 , p_side => 'NA'
56618 );
56619
56620 END IF;
56621
56622 --
56623 --
56624 END IF;
56625
56626 --
56627 -- Update the line information that should be overwritten
56628 --
56629 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
56630 p_header_num => 1);
56631 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
56632
56633 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
56634
56635 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
56636 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
56637 END IF;
56638
56639 --
56640 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
56641 --
56642 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
56643 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
56644 ELSE
56645 ---------------------------------------------------------------------------------------------------
56646 -- 4262811a Switch Sign
56647 ---------------------------------------------------------------------------------------------------
56648 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
56649 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56650 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56651 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
56655 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56652 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
56653 -- 5132302
56654 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
56656
56657 END IF;
56658
56659 -- 4955764
56660 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56661 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
56662
56663
56664 XLA_AE_LINES_PKG.ValidateCurrentLine;
56665 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
56666
56667 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
56668 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
56669 ,p_balance_type_code => l_balance_type_code);
56670
56671 END IF;
56672
56673 -----------------------------------------------------------------------------------------
56674 -- 4262811 Multiperiod Accounting
56675 -----------------------------------------------------------------------------------------
56676 -- No MPA option is assigned.
56677
56678
56679 END IF;
56680 END IF;
56681 --
56682
56683 --
56684 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56685 trace
56686 (p_msg => 'END of AcctLineType_115'
56687 ,p_level => C_LEVEL_PROCEDURE
56688 ,p_module => l_log_module);
56689 END IF;
56690 --
56691 EXCEPTION
56692 WHEN xla_exceptions_pkg.application_exception THEN
56693 RAISE;
56694 WHEN OTHERS THEN
56695 xla_exceptions_pkg.raise_message
56696 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_115');
56697 END AcctLineType_115;
56698 --
56699
56700 ---------------------------------------
56701 --
56702 -- PRIVATE FUNCTION
56703 -- AcctLineType_116
56704 --
56705 ---------------------------------------
56706 PROCEDURE AcctLineType_116 (
56707 p_application_id IN NUMBER
56708 ,p_event_id IN NUMBER
56709 ,p_calculate_acctd_flag IN VARCHAR2
56710 ,p_calculate_g_l_flag IN VARCHAR2
56711 ,p_actual_flag IN OUT VARCHAR2
56712 ,p_balance_type_code OUT VARCHAR2
56713 ,p_gain_or_loss_ref OUT VARCHAR2
56714
56715 --Invoice Distribution Type
56716 , p_source_21 IN VARCHAR2
56717 , p_source_21_meaning IN VARCHAR2
56718 --Accounting Reversal Indicator
56719 , p_source_41 IN VARCHAR2
56720 --Distribution Link Type
56721 , p_source_43 IN VARCHAR2
56722 --Allocation to Main Distribution Identifier
56723 , p_source_45 IN NUMBER
56724 --Invoice Identifier
56725 , p_source_46 IN NUMBER
56726 --Invoice Distribution Identifier
56727 , p_source_52 IN NUMBER
56728 --Payables Encumbrance Upgrade Credit Account
56729 , p_source_53 IN NUMBER
56730 --Payables Encumbrance Upgrade Credit Amount
56731 , p_source_54 IN NUMBER
56732 --Invoice Currency Code
56733 , p_source_55 IN VARCHAR2
56734 --Payables Encumbrance Upgrade Credit Base Amount
56735 , p_source_56 IN NUMBER
56736 --Payables Encumbrance Upgrade Debit Account
56737 , p_source_57 IN NUMBER
56738 --Payables Encumbrance Upgrade Debit Amount
56739 , p_source_58 IN NUMBER
56740 --Payables Encumbrance Upgrade Debit Base Amount
56741 , p_source_59 IN NUMBER
56742 --Payables Encumbrance Upgrade Option
56743 , p_source_60 IN VARCHAR2
56744 --Invoice Distribution Amount
56745 , p_source_61 IN NUMBER
56746 --Deferred Accounting End Date
56747 , p_source_65 IN DATE
56748 --Deferred Accounting Option
56749 , p_source_66 IN VARCHAR2
56750 --Deferred Accounting Start Date
56751 , p_source_67 IN DATE
56752 --Override Accounted Amount Indicator
56753 , p_source_68 IN VARCHAR2
56754 , p_source_68_meaning IN VARCHAR2
56755 --Third Party Type
56756 , p_source_71 IN VARCHAR2
56757 --Parent Reversal Identifier
56758 , p_source_72 IN NUMBER
56759 --Invoice Distribution Statistical Amount
56760 , p_source_73 IN NUMBER
56761 --Invoice Distribution Tax Line Identifier
56762 , p_source_74 IN NUMBER
56763 --Invoice Distribution Tax Distribution Identifier from Tax
56764 , p_source_75 IN NUMBER
56765 --Invoice Distribution Summary Tax Line Identifier
56766 , p_source_76 IN NUMBER
56767 --Payables Upgrade Credit Encumbrance Type Identifier
56768 , p_source_77 IN NUMBER
56769 --Payables Upgrade Debit Encumbrance Type Identifier
56770 , p_source_78 IN NUMBER
56771 --Business Flow Accounts Payable Application Identifier
56772 , p_source_79 IN NUMBER
56773 --Business Flow Invoice Distribution Type
56774 , p_source_80 IN VARCHAR2
56775 --Business Flow Invoice Entity Code
56776 , p_source_81 IN VARCHAR2
56777 --Business Flow Invoice Distribution Identifier
56778 , p_source_82 IN NUMBER
56779 --Business Flow Invoice Identifier
56780 , p_source_83 IN NUMBER
56781 --Purchasing Encumbrance Option
56782 , p_source_86 IN VARCHAR2
56783 , p_source_86_meaning IN VARCHAR2
56787 --Invoice Distribution Encumbrance Amount
56784 --Invoice Encumbered Option
56785 , p_source_87 IN VARCHAR2
56786 , p_source_87_meaning IN VARCHAR2
56788 , p_source_143 IN NUMBER
56789 --Invoice Distribution Encumbrance Ledger Amount
56790 , p_source_144 IN NUMBER
56791 )
56792 IS
56793
56794 l_component_type VARCHAR2(80);
56795 l_component_code VARCHAR2(30);
56796 l_component_type_code VARCHAR2(1);
56797 l_component_appl_id INTEGER;
56798 l_amb_context_code VARCHAR2(30);
56799 l_entity_code VARCHAR2(30);
56800 l_event_class_code VARCHAR2(30);
56801 l_ae_header_id NUMBER;
56802 l_event_type_code VARCHAR2(30);
56803 l_line_definition_code VARCHAR2(30);
56804 l_line_definition_owner_code VARCHAR2(1);
56805 --
56806 -- adr variables
56807 l_segment VARCHAR2(30);
56808 l_ccid NUMBER;
56809 l_adr_transaction_coa_id NUMBER;
56810 l_adr_accounting_coa_id NUMBER;
56811 l_adr_flexfield_segment_code VARCHAR2(30);
56812 l_adr_flex_value_set_id NUMBER;
56813 l_adr_value_type_code VARCHAR2(30);
56814 l_adr_value_combination_id NUMBER;
56815 l_adr_value_segment_code VARCHAR2(30);
56816
56817 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
56818 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
56819 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
56820 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
56821
56822 -- 4262811 Variables ------------------------------------------------------------------------------------------
56823 l_entered_amt_idx NUMBER;
56824 l_accted_amt_idx NUMBER;
56825 l_acc_rev_flag VARCHAR2(1);
56826 l_accrual_line_num NUMBER;
56827 l_tmp_amt NUMBER;
56828 l_acc_rev_natural_side_code VARCHAR2(1);
56829
56830 l_num_entries NUMBER;
56831 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
56832 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
56833 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
56834 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
56835 l_recog_line_1 NUMBER;
56836 l_recog_line_2 NUMBER;
56837
56838 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
56839 l_bflow_applied_to_amt NUMBER; -- 5132302
56840 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
56841
56842 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
56843
56844 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
56845 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
56846
56847 ---------------------------------------------------------------------------------------------------------------
56848
56849
56850 --
56851 -- bulk performance
56852 --
56853 l_balance_type_code VARCHAR2(1);
56854 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
56855 l_log_module VARCHAR2(240);
56856
56857 --
56858 -- Upgrade strategy
56859 --
56860 l_actual_upg_option VARCHAR2(1);
56861 l_enc_upg_option VARCHAR2(1);
56862
56863 --
56864 BEGIN
56865 --
56866 IF g_log_enabled THEN
56867 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_116';
56868 END IF;
56869 --
56870 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
56871
56872 trace
56873 (p_msg => 'BEGIN of AcctLineType_116'
56874 ,p_level => C_LEVEL_PROCEDURE
56875 ,p_module => l_log_module);
56876
56877 END IF;
56878 --
56879 l_component_type := 'AMB_JLT';
56880 l_component_code := 'AP_EX_RATE_VAR_INV_ENC';
56881 l_component_type_code := 'S';
56882 l_component_appl_id := 200;
56883 l_amb_context_code := 'DEFAULT';
56884 l_entity_code := 'AP_INVOICES';
56885 l_event_class_code := 'INVOICES';
56886 l_event_type_code := 'INVOICES_ALL';
56887 l_line_definition_owner_code := 'S';
56888 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
56889 --
56890 l_balance_type_code := 'E';
56891 l_segment := NULL;
56892 l_ccid := NULL;
56893 l_adr_transaction_coa_id := NULL;
56894 l_adr_accounting_coa_id := NULL;
56895 l_adr_flexfield_segment_code := NULL;
56896 l_adr_flex_value_set_id := NULL;
56897 l_adr_value_type_code := NULL;
56898 l_adr_value_combination_id := NULL;
56899 l_adr_value_segment_code := NULL;
56900
56901 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
56902 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
56903 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
56904 l_budgetary_control_flag := 'N';
56905
56906 l_bflow_applied_to_amt_idx := NULL; -- 5132302
56907 l_bflow_applied_to_amt := NULL; -- 5132302
56908 l_entered_amt_idx := NULL; -- 4262811
56909 l_accted_amt_idx := NULL; -- 4262811
56913 --
56910 l_acc_rev_flag := NULL; -- 4262811
56911 l_accrual_line_num := NULL; -- 4262811
56912 l_tmp_amt := NULL; -- 4262811
56914 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
56915 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
56916 return;
56917 END IF;
56918
56919 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
56920 l_balance_type_code <> 'B' THEN
56921 IF NVL(p_source_21,'
56922 ') = 'ERV' AND
56923 NVL(p_source_86,'
56924 ') = 'Y' AND
56925 NVL(p_source_87,'
56926 ') = 'Y'
56927 THEN
56928
56929 --
56930 XLA_AE_LINES_PKG.SetNewLine;
56931
56932 p_balance_type_code := l_balance_type_code;
56933 -- set the flag so later we will know whether the gain loss line needs to be created
56934
56935 IF(l_balance_type_code = 'A' ) THEN
56936 p_actual_flag :='G';
56937 END IF;
56938
56939 --
56940 -- bulk performance
56941 --
56942 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
56943 p_header_num => 0); -- 4262811
56944 --
56945 -- set accounting line options
56946 --
56947 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
56948 p_natural_side_code => 'C'
56949 , p_gain_or_loss_flag => 'Y'
56950 , p_gl_transfer_mode_code => 'S'
56951 , p_acct_entry_type_code => 'E'
56952 , p_switch_side_flag => 'Y'
56953 , p_merge_duplicate_code => 'A'
56954 );
56955 --
56956 l_acc_rev_natural_side_code := 'D'; -- 4262811
56957 --
56958 --
56959 -- set accounting line type info
56960 --
56961 xla_ae_lines_pkg.SetAcctLineType
56962 (p_component_type => l_component_type
56963 ,p_event_type_code => l_event_type_code
56964 ,p_line_definition_owner_code => l_line_definition_owner_code
56965 ,p_line_definition_code => l_line_definition_code
56966 ,p_accounting_line_code => l_component_code
56967 ,p_accounting_line_type_code => l_component_type_code
56968 ,p_accounting_line_appl_id => l_component_appl_id
56969 ,p_amb_context_code => l_amb_context_code
56970 ,p_entity_code => l_entity_code
56971 ,p_event_class_code => l_event_class_code);
56972 --
56973 -- set accounting class
56974 --
56975 xla_ae_lines_pkg.SetAcctClass(
56976 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
56977 , p_ae_header_id => l_ae_header_id
56978 );
56979
56980 --
56981 -- set rounding class
56982 --
56983 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
56984 'EXCHANGE_RATE_VARIANCE';
56985
56986 --
56987 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
56988 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
56989 --
56990 -- bulk performance
56991 --
56992 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
56993
56994 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
56995 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
56996
56997 -- 4955764
56998 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
56999 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57000
57001 -- 4458381 Public Sector Enh
57002
57003 --
57004 -- set accounting attributes for the line type
57005 --
57006 l_entered_amt_idx := 24;
57007 l_accted_amt_idx := 26;
57008 l_bflow_applied_to_amt_idx := 7; -- 5132302
57009 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57010 l_rec_acct_attrs.array_char_value(1) := p_source_41;
57011 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57012 l_rec_acct_attrs.array_num_value(2) :=
57013 xla_ae_sources_pkg.GetSystemSourceNum(
57014 p_source_code => 'XLA_EVENT_APPL_ID'
57015 , p_source_type_code => 'Y'
57016 , p_source_application_id => 602
57017 );
57018 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57019 l_rec_acct_attrs.array_char_value(3) := p_source_43;
57020 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57021 l_rec_acct_attrs.array_char_value(4) :=
57022 xla_ae_sources_pkg.GetSystemSourceChar(
57023 p_source_code => 'XLA_ENTITY_CODE'
57024 , p_source_type_code => 'Y'
57025 , p_source_application_id => 602
57026 );
57027 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57028 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
57029 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57030 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
57031 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
57035 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57032 l_rec_acct_attrs.array_num_value(7) := p_source_61;
57033 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
57034 l_rec_acct_attrs.array_num_value(8) := p_source_79;
57036 l_rec_acct_attrs.array_char_value(9) := p_source_80;
57037 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
57038 l_rec_acct_attrs.array_char_value(10) := p_source_81;
57039 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
57040 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
57041 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57042 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
57043 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
57044 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
57045 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
57046 l_rec_acct_attrs.array_char_value(14) := p_source_43;
57047 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
57048 l_rec_acct_attrs.array_num_value(15) := p_source_53;
57049 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
57050 l_rec_acct_attrs.array_num_value(16) := p_source_54;
57051 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
57052 l_rec_acct_attrs.array_char_value(17) := p_source_55;
57053 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
57054 l_rec_acct_attrs.array_num_value(18) := p_source_56;
57055 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
57056 l_rec_acct_attrs.array_num_value(19) := p_source_57;
57057 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
57058 l_rec_acct_attrs.array_num_value(20) := p_source_58;
57059 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
57060 l_rec_acct_attrs.array_char_value(21) := p_source_55;
57061 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
57062 l_rec_acct_attrs.array_num_value(22) := p_source_59;
57063 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
57064 l_rec_acct_attrs.array_char_value(23) := p_source_60;
57065 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
57066 l_rec_acct_attrs.array_num_value(24) := p_source_143;
57067 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
57068 l_rec_acct_attrs.array_char_value(25) := p_source_55;
57069 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
57070 l_rec_acct_attrs.array_num_value(26) := p_source_144;
57071 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
57072 l_rec_acct_attrs.array_date_value(27) := p_source_65;
57073 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
57074 l_rec_acct_attrs.array_char_value(28) := p_source_66;
57075 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
57076 l_rec_acct_attrs.array_date_value(29) := p_source_67;
57077 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
57078 l_rec_acct_attrs.array_char_value(30) := p_source_68;
57079 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
57080 l_rec_acct_attrs.array_char_value(31) := p_source_71;
57081 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
57082 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
57083 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
57084 l_rec_acct_attrs.array_char_value(33) := p_source_43;
57085 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
57086 l_rec_acct_attrs.array_num_value(34) := p_source_73;
57087 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
57088 l_rec_acct_attrs.array_num_value(35) := p_source_74;
57089 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
57090 l_rec_acct_attrs.array_num_value(36) := p_source_75;
57091 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
57092 l_rec_acct_attrs.array_num_value(37) := p_source_76;
57093 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
57094 l_rec_acct_attrs.array_num_value(38) := p_source_77;
57095 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
57096 l_rec_acct_attrs.array_num_value(39) := p_source_78;
57097
57098 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57099 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57100
57101 ---------------------------------------------------------------------------------------------------------------
57102 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57103 ---------------------------------------------------------------------------------------------------------------
57104 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57105
57106 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57107 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57108
57109 IF xla_accounting_cache_pkg.GetValueChar
57110 (p_source_code => 'LEDGER_CATEGORY_CODE'
57111 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57112 AND l_bflow_method_code = 'PRIOR_ENTRY'
57113 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57114 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57115 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57119 (p_business_method_code => l_bflow_method_code
57116 )
57117 THEN
57118 xla_ae_lines_pkg.BflowUpgEntry
57120 ,p_business_class_code => l_bflow_class_code
57121 ,p_balance_type => l_balance_type_code);
57122 ELSE
57123 NULL;
57124 XLA_AE_LINES_PKG.business_flow_validation(
57125 p_business_method_code => l_bflow_method_code
57126 ,p_business_class_code => l_bflow_class_code
57127 ,p_inherit_description_flag => l_inherit_desc_flag);
57128 END IF;
57129
57130 --
57131 -- call analytical criteria
57132 --
57133 -- Inherited Analytical Criteria for business flow method of Prior Entry.
57134 --
57135 -- call description
57136 --
57137 -- No description or it is inherited.
57138 --
57139 -- call ADRs
57140 -- Bug 4922099
57141 --
57142 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57143 (NVL(l_actual_upg_option, 'N') = 'O') OR
57144 (NVL(l_enc_upg_option, 'N') = 'O')
57145 )
57146 THEN
57147 NULL;
57148 --
57149 --
57150
57151 --
57152 --
57153 END IF;
57154 --
57155 -- Bug 4922099
57156 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57157 (NVL(l_enc_upg_option, 'N') = 'O')
57158 ) AND
57159 (l_bflow_method_code = 'PRIOR_ENTRY')
57160 )
57161 THEN
57162 IF
57163 --
57164 1 = 1
57165 --
57166 THEN
57167 xla_accounting_err_pkg.build_message
57168 (p_appli_s_name => 'XLA'
57169 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57170 ,p_token_1 => 'LINE_NUMBER'
57171 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57172 ,p_token_2 => 'LINE_TYPE_NAME'
57173 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57174 l_component_type
57175 ,l_component_code
57176 ,l_component_type_code
57177 ,l_component_appl_id
57178 ,l_amb_context_code
57179 ,l_entity_code
57180 ,l_event_class_code
57181 )
57182 ,p_token_3 => 'OWNER'
57183 ,p_value_3 => xla_lookups_pkg.get_meaning(
57184 p_lookup_type => 'XLA_OWNER_TYPE'
57185 ,p_lookup_code => l_component_type_code
57186 )
57187 ,p_token_4 => 'PRODUCT_NAME'
57188 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57189 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57190 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57191 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57192 ,p_ae_header_id => NULL
57193 );
57194
57195 IF (C_LEVEL_ERROR>= g_log_level) THEN
57196 trace
57197 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57198 ,p_level => C_LEVEL_ERROR
57199 ,p_module => l_log_module);
57200 END IF;
57201 END IF;
57202 END IF;
57203 --
57204 --
57205 ------------------------------------------------------------------------------------------------
57206 -- 4219869 Business Flow
57207 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57208 -- Prior Entry. Currently, the following code is always generated.
57209 ------------------------------------------------------------------------------------------------
57210 -- No ValidateCurrentLine for business flow method of Prior Entry
57211
57212 ------------------------------------------------------------------------------------
57213 -- 4219869 Business Flow
57214 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57215 ------------------------------------------------------------------------------------
57216 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57217
57218 ----------------------------------------------------------------------------------
57219 -- 4219869 Business Flow
57220 -- Update journal entry status -- Need to generate this within IF <condition>
57221 ----------------------------------------------------------------------------------
57225 );
57222 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57223 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57224 ,p_balance_type_code => l_balance_type_code
57226
57227 -------------------------------------------------------------------------------------------
57228 -- 4262811 - Generate the Accrual Reversal lines
57229 -------------------------------------------------------------------------------------------
57230 BEGIN
57231 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57232 (g_array_event(p_event_id).array_value_num('header_index'));
57233 IF l_acc_rev_flag IS NULL THEN
57234 l_acc_rev_flag := 'N';
57235 END IF;
57236 EXCEPTION
57237 WHEN OTHERS THEN
57238 l_acc_rev_flag := 'N';
57239 END;
57240 --
57241 IF (l_acc_rev_flag = 'Y') THEN
57242
57243 -- 4645092 ------------------------------------------------------------------------------
57244 -- To allow MPA report to determine if it should generate report process
57245 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57246 ------------------------------------------------------------------------------------------
57247
57248 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57249 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57250 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57251 -- call ADRs
57252 -- Bug 4922099
57253 --
57254 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57255 (NVL(l_actual_upg_option, 'N') = 'O') OR
57256 (NVL(l_enc_upg_option, 'N') = 'O')
57257 )
57258 THEN
57259 NULL;
57260 --
57261 --
57262
57263 --
57264 --
57265 END IF;
57266
57267 --
57268 -- Update the line information that should be overwritten
57269 --
57270 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57271 p_header_num => 1);
57272 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57273
57274 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57275
57276 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57277 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57278 END IF;
57279
57280 --
57281 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57282 --
57283 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57284 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57285 ELSE
57286 ---------------------------------------------------------------------------------------------------
57287 -- 4262811a Switch Sign
57288 ---------------------------------------------------------------------------------------------------
57289 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57290 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57291 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57292 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57293 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57294 -- 5132302
57295 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57296 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57297
57298 END IF;
57299
57300 -- 4955764
57301 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57302 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57303
57304
57305 XLA_AE_LINES_PKG.ValidateCurrentLine;
57306 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57307
57308 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57309 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57310 ,p_balance_type_code => l_balance_type_code);
57311
57312 END IF;
57313
57314 -----------------------------------------------------------------------------------------
57315 -- 4262811 Multiperiod Accounting
57316 -----------------------------------------------------------------------------------------
57317 -- No MPA option is assigned.
57318
57319
57320 END IF;
57321 END IF;
57322 --
57323
57324 --
57325 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57326 trace
57327 (p_msg => 'END of AcctLineType_116'
57328 ,p_level => C_LEVEL_PROCEDURE
57329 ,p_module => l_log_module);
57330 END IF;
57331 --
57332 EXCEPTION
57333 WHEN xla_exceptions_pkg.application_exception THEN
57334 RAISE;
57335 WHEN OTHERS THEN
57336 xla_exceptions_pkg.raise_message
57337 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_116');
57338 END AcctLineType_116;
57339 --
57340
57341 ---------------------------------------
57345 --
57342 --
57343 -- PRIVATE FUNCTION
57344 -- AcctLineType_117
57346 ---------------------------------------
57347 PROCEDURE AcctLineType_117 (
57348 p_application_id IN NUMBER
57349 ,p_event_id IN NUMBER
57350 ,p_calculate_acctd_flag IN VARCHAR2
57351 ,p_calculate_g_l_flag IN VARCHAR2
57352 ,p_actual_flag IN OUT VARCHAR2
57353 ,p_balance_type_code OUT VARCHAR2
57354 ,p_gain_or_loss_ref OUT VARCHAR2
57355
57356 --Invoice Distribution Type
57357 , p_source_21 IN VARCHAR2
57358 , p_source_21_meaning IN VARCHAR2
57359 --Accounting Reversal Indicator
57360 , p_source_41 IN VARCHAR2
57361 --Distribution Link Type
57362 , p_source_43 IN VARCHAR2
57363 --Allocation to Main Distribution Identifier
57364 , p_source_45 IN NUMBER
57365 --Invoice Identifier
57366 , p_source_46 IN NUMBER
57367 --Invoice Distribution Identifier
57368 , p_source_52 IN NUMBER
57369 --Payables Encumbrance Upgrade Credit Account
57370 , p_source_53 IN NUMBER
57371 --Payables Encumbrance Upgrade Credit Amount
57372 , p_source_54 IN NUMBER
57373 --Invoice Currency Code
57374 , p_source_55 IN VARCHAR2
57375 --Payables Encumbrance Upgrade Credit Base Amount
57376 , p_source_56 IN NUMBER
57377 --Payables Encumbrance Upgrade Debit Account
57378 , p_source_57 IN NUMBER
57379 --Payables Encumbrance Upgrade Debit Amount
57380 , p_source_58 IN NUMBER
57381 --Payables Encumbrance Upgrade Debit Base Amount
57382 , p_source_59 IN NUMBER
57383 --Payables Encumbrance Upgrade Option
57384 , p_source_60 IN VARCHAR2
57385 --Deferred Accounting End Date
57386 , p_source_65 IN DATE
57387 --Deferred Accounting Option
57388 , p_source_66 IN VARCHAR2
57389 --Deferred Accounting Start Date
57390 , p_source_67 IN DATE
57391 --Override Accounted Amount Indicator
57392 , p_source_68 IN VARCHAR2
57393 , p_source_68_meaning IN VARCHAR2
57394 --Third Party Type
57395 , p_source_71 IN VARCHAR2
57396 --Parent Reversal Identifier
57397 , p_source_72 IN NUMBER
57398 --Invoice Distribution Statistical Amount
57399 , p_source_73 IN NUMBER
57400 --Invoice Distribution Tax Line Identifier
57401 , p_source_74 IN NUMBER
57402 --Invoice Distribution Tax Distribution Identifier from Tax
57403 , p_source_75 IN NUMBER
57404 --Invoice Distribution Summary Tax Line Identifier
57405 , p_source_76 IN NUMBER
57406 --Payables Upgrade Credit Encumbrance Type Identifier
57407 , p_source_77 IN NUMBER
57408 --Payables Upgrade Debit Encumbrance Type Identifier
57409 , p_source_78 IN NUMBER
57410 --Business Flow Accounts Payable Application Identifier
57411 , p_source_79 IN NUMBER
57412 --Business Flow Invoice Distribution Type
57413 , p_source_80 IN VARCHAR2
57414 --Business Flow Invoice Entity Code
57415 , p_source_81 IN VARCHAR2
57416 --Business Flow Invoice Distribution Identifier
57417 , p_source_82 IN NUMBER
57418 --Business Flow Invoice Identifier
57419 , p_source_83 IN NUMBER
57420 --Purchasing Encumbrance Option
57421 , p_source_86 IN VARCHAR2
57422 , p_source_86_meaning IN VARCHAR2
57423 --Invoice Encumbered Option
57424 , p_source_87 IN VARCHAR2
57425 , p_source_87_meaning IN VARCHAR2
57426 --Invoice Distribution Encumbrance Amount
57427 , p_source_143 IN NUMBER
57428 --Invoice Distribution Encumbrance Ledger Amount
57429 , p_source_144 IN NUMBER
57430 )
57431 IS
57432
57433 l_component_type VARCHAR2(80);
57434 l_component_code VARCHAR2(30);
57435 l_component_type_code VARCHAR2(1);
57436 l_component_appl_id INTEGER;
57437 l_amb_context_code VARCHAR2(30);
57438 l_entity_code VARCHAR2(30);
57439 l_event_class_code VARCHAR2(30);
57440 l_ae_header_id NUMBER;
57441 l_event_type_code VARCHAR2(30);
57442 l_line_definition_code VARCHAR2(30);
57443 l_line_definition_owner_code VARCHAR2(1);
57444 --
57445 -- adr variables
57446 l_segment VARCHAR2(30);
57447 l_ccid NUMBER;
57448 l_adr_transaction_coa_id NUMBER;
57449 l_adr_accounting_coa_id NUMBER;
57450 l_adr_flexfield_segment_code VARCHAR2(30);
57451 l_adr_flex_value_set_id NUMBER;
57452 l_adr_value_type_code VARCHAR2(30);
57453 l_adr_value_combination_id NUMBER;
57454 l_adr_value_segment_code VARCHAR2(30);
57455
57456 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
57457 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
57458 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
57459 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
57460
57461 -- 4262811 Variables ------------------------------------------------------------------------------------------
57462 l_entered_amt_idx NUMBER;
57463 l_accted_amt_idx NUMBER;
57464 l_acc_rev_flag VARCHAR2(1);
57465 l_accrual_line_num NUMBER;
57466 l_tmp_amt NUMBER;
57467 l_acc_rev_natural_side_code VARCHAR2(1);
57468
57472 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
57469 l_num_entries NUMBER;
57470 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
57471 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
57473 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
57474 l_recog_line_1 NUMBER;
57475 l_recog_line_2 NUMBER;
57476
57477 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
57478 l_bflow_applied_to_amt NUMBER; -- 5132302
57479 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
57480
57481 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
57482
57483 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
57484 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
57485
57486 ---------------------------------------------------------------------------------------------------------------
57487
57488
57489 --
57490 -- bulk performance
57491 --
57492 l_balance_type_code VARCHAR2(1);
57493 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
57494 l_log_module VARCHAR2(240);
57495
57496 --
57497 -- Upgrade strategy
57498 --
57499 l_actual_upg_option VARCHAR2(1);
57500 l_enc_upg_option VARCHAR2(1);
57501
57502 --
57503 BEGIN
57504 --
57505 IF g_log_enabled THEN
57506 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_117';
57507 END IF;
57508 --
57509 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57510
57511 trace
57512 (p_msg => 'BEGIN of AcctLineType_117'
57513 ,p_level => C_LEVEL_PROCEDURE
57514 ,p_module => l_log_module);
57515
57516 END IF;
57517 --
57518 l_component_type := 'AMB_JLT';
57519 l_component_code := 'AP_EX_RATE_VAR_PP_ENC';
57520 l_component_type_code := 'S';
57521 l_component_appl_id := 200;
57522 l_amb_context_code := 'DEFAULT';
57523 l_entity_code := 'AP_INVOICES';
57524 l_event_class_code := 'PREPAYMENTS';
57525 l_event_type_code := 'PREPAYMENTS_ALL';
57526 l_line_definition_owner_code := 'S';
57527 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
57528 --
57529 l_balance_type_code := 'E';
57530 l_segment := NULL;
57531 l_ccid := NULL;
57532 l_adr_transaction_coa_id := NULL;
57533 l_adr_accounting_coa_id := NULL;
57534 l_adr_flexfield_segment_code := NULL;
57535 l_adr_flex_value_set_id := NULL;
57536 l_adr_value_type_code := NULL;
57537 l_adr_value_combination_id := NULL;
57538 l_adr_value_segment_code := NULL;
57539
57540 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
57541 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
57542 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
57543 l_budgetary_control_flag := 'N';
57544
57545 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57546 l_bflow_applied_to_amt := NULL; -- 5132302
57547 l_entered_amt_idx := NULL; -- 4262811
57548 l_accted_amt_idx := NULL; -- 4262811
57549 l_acc_rev_flag := NULL; -- 4262811
57550 l_accrual_line_num := NULL; -- 4262811
57551 l_tmp_amt := NULL; -- 4262811
57552 --
57553 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
57554 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
57555 return;
57556 END IF;
57557
57558 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
57559 l_balance_type_code <> 'B' THEN
57560 IF NVL(p_source_21,'
57561 ') = 'ERV' AND
57562 NVL(p_source_86,'
57563 ') = 'Y' AND
57564 NVL(p_source_87,'
57565 ') = 'Y'
57566 THEN
57567
57568 --
57569 XLA_AE_LINES_PKG.SetNewLine;
57570
57571 p_balance_type_code := l_balance_type_code;
57572 -- set the flag so later we will know whether the gain loss line needs to be created
57573
57574 IF(l_balance_type_code = 'A' ) THEN
57575 p_actual_flag :='G';
57576 END IF;
57577
57578 --
57579 -- bulk performance
57580 --
57581 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
57582 p_header_num => 0); -- 4262811
57583 --
57584 -- set accounting line options
57585 --
57586 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
57587 p_natural_side_code => 'C'
57588 , p_gain_or_loss_flag => 'Y'
57589 , p_gl_transfer_mode_code => 'S'
57590 , p_acct_entry_type_code => 'E'
57591 , p_switch_side_flag => 'Y'
57592 , p_merge_duplicate_code => 'A'
57593 );
57594 --
57595 l_acc_rev_natural_side_code := 'D'; -- 4262811
57596 --
57597 --
57598 -- set accounting line type info
57599 --
57603 ,p_line_definition_owner_code => l_line_definition_owner_code
57600 xla_ae_lines_pkg.SetAcctLineType
57601 (p_component_type => l_component_type
57602 ,p_event_type_code => l_event_type_code
57604 ,p_line_definition_code => l_line_definition_code
57605 ,p_accounting_line_code => l_component_code
57606 ,p_accounting_line_type_code => l_component_type_code
57607 ,p_accounting_line_appl_id => l_component_appl_id
57608 ,p_amb_context_code => l_amb_context_code
57609 ,p_entity_code => l_entity_code
57610 ,p_event_class_code => l_event_class_code);
57611 --
57612 -- set accounting class
57613 --
57614 xla_ae_lines_pkg.SetAcctClass(
57615 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
57616 , p_ae_header_id => l_ae_header_id
57617 );
57618
57619 --
57620 -- set rounding class
57621 --
57622 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
57623 'EXCHANGE_RATE_VARIANCE';
57624
57625 --
57626 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
57627 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
57628 --
57629 -- bulk performance
57630 --
57631 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
57632
57633 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
57634 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
57635
57636 -- 4955764
57637 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57638 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
57639
57640 -- 4458381 Public Sector Enh
57641
57642 --
57643 -- set accounting attributes for the line type
57644 --
57645 l_entered_amt_idx := 23;
57646 l_accted_amt_idx := 25;
57647 l_bflow_applied_to_amt_idx := NULL; -- 5132302
57648 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
57649 l_rec_acct_attrs.array_char_value(1) := p_source_41;
57650 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
57651 l_rec_acct_attrs.array_num_value(2) :=
57652 xla_ae_sources_pkg.GetSystemSourceNum(
57653 p_source_code => 'XLA_EVENT_APPL_ID'
57654 , p_source_type_code => 'Y'
57655 , p_source_application_id => 602
57656 );
57657 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
57658 l_rec_acct_attrs.array_char_value(3) := p_source_43;
57659 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
57660 l_rec_acct_attrs.array_char_value(4) :=
57661 xla_ae_sources_pkg.GetSystemSourceChar(
57662 p_source_code => 'XLA_ENTITY_CODE'
57663 , p_source_type_code => 'Y'
57664 , p_source_application_id => 602
57665 );
57666 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
57667 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
57668 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
57669 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
57670 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
57671 l_rec_acct_attrs.array_num_value(7) := p_source_79;
57672 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
57673 l_rec_acct_attrs.array_char_value(8) := p_source_80;
57674 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
57675 l_rec_acct_attrs.array_char_value(9) := p_source_81;
57676 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
57677 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
57678 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
57679 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
57680 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
57681 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
57682 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
57683 l_rec_acct_attrs.array_char_value(13) := p_source_43;
57684 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
57685 l_rec_acct_attrs.array_num_value(14) := p_source_53;
57686 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
57687 l_rec_acct_attrs.array_num_value(15) := p_source_54;
57688 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
57689 l_rec_acct_attrs.array_char_value(16) := p_source_55;
57690 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
57691 l_rec_acct_attrs.array_num_value(17) := p_source_56;
57692 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
57693 l_rec_acct_attrs.array_num_value(18) := p_source_57;
57694 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
57695 l_rec_acct_attrs.array_num_value(19) := p_source_58;
57696 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
57697 l_rec_acct_attrs.array_char_value(20) := p_source_55;
57698 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
57699 l_rec_acct_attrs.array_num_value(21) := p_source_59;
57700 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
57701 l_rec_acct_attrs.array_char_value(22) := p_source_60;
57705 l_rec_acct_attrs.array_char_value(24) := p_source_55;
57702 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
57703 l_rec_acct_attrs.array_num_value(23) := p_source_143;
57704 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
57706 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
57707 l_rec_acct_attrs.array_num_value(25) := p_source_144;
57708 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
57709 l_rec_acct_attrs.array_date_value(26) := p_source_65;
57710 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
57711 l_rec_acct_attrs.array_char_value(27) := p_source_66;
57712 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
57713 l_rec_acct_attrs.array_date_value(28) := p_source_67;
57714 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
57715 l_rec_acct_attrs.array_char_value(29) := p_source_68;
57716 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
57717 l_rec_acct_attrs.array_char_value(30) := p_source_71;
57718 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
57719 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
57720 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
57721 l_rec_acct_attrs.array_char_value(32) := p_source_43;
57722 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
57723 l_rec_acct_attrs.array_num_value(33) := p_source_73;
57724 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
57725 l_rec_acct_attrs.array_num_value(34) := p_source_74;
57726 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
57727 l_rec_acct_attrs.array_num_value(35) := p_source_75;
57728 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
57729 l_rec_acct_attrs.array_num_value(36) := p_source_76;
57730 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
57731 l_rec_acct_attrs.array_num_value(37) := p_source_77;
57732 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
57733 l_rec_acct_attrs.array_num_value(38) := p_source_78;
57734
57735 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
57736 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
57737
57738 ---------------------------------------------------------------------------------------------------------------
57739 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
57740 ---------------------------------------------------------------------------------------------------------------
57741 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
57742
57743 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57744 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
57745
57746 IF xla_accounting_cache_pkg.GetValueChar
57747 (p_source_code => 'LEDGER_CATEGORY_CODE'
57748 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
57749 AND l_bflow_method_code = 'PRIOR_ENTRY'
57750 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
57751 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
57752 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
57753 )
57754 THEN
57755 xla_ae_lines_pkg.BflowUpgEntry
57756 (p_business_method_code => l_bflow_method_code
57757 ,p_business_class_code => l_bflow_class_code
57758 ,p_balance_type => l_balance_type_code);
57759 ELSE
57760 NULL;
57761 XLA_AE_LINES_PKG.business_flow_validation(
57762 p_business_method_code => l_bflow_method_code
57763 ,p_business_class_code => l_bflow_class_code
57764 ,p_inherit_description_flag => l_inherit_desc_flag);
57765 END IF;
57766
57767 --
57768 -- call analytical criteria
57769 --
57770 -- Inherited Analytical Criteria for business flow method of Prior Entry.
57771 --
57772 -- call description
57773 --
57774 -- No description or it is inherited.
57775 --
57776 -- call ADRs
57777 -- Bug 4922099
57778 --
57779 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57780 (NVL(l_actual_upg_option, 'N') = 'O') OR
57781 (NVL(l_enc_upg_option, 'N') = 'O')
57782 )
57783 THEN
57784 NULL;
57785 --
57786 --
57787
57788 --
57789 --
57790 END IF;
57791 --
57792 -- Bug 4922099
57793 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
57794 (NVL(l_enc_upg_option, 'N') = 'O')
57795 ) AND
57796 (l_bflow_method_code = 'PRIOR_ENTRY')
57797 )
57798 THEN
57799 IF
57800 --
57801 1 = 1
57802 --
57803 THEN
57804 xla_accounting_err_pkg.build_message
57805 (p_appli_s_name => 'XLA'
57806 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57807 ,p_token_1 => 'LINE_NUMBER'
57808 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
57812 ,l_component_code
57809 ,p_token_2 => 'LINE_TYPE_NAME'
57810 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
57811 l_component_type
57813 ,l_component_type_code
57814 ,l_component_appl_id
57815 ,l_amb_context_code
57816 ,l_entity_code
57817 ,l_event_class_code
57818 )
57819 ,p_token_3 => 'OWNER'
57820 ,p_value_3 => xla_lookups_pkg.get_meaning(
57821 p_lookup_type => 'XLA_OWNER_TYPE'
57822 ,p_lookup_code => l_component_type_code
57823 )
57824 ,p_token_4 => 'PRODUCT_NAME'
57825 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
57826 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
57827 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
57828 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
57829 ,p_ae_header_id => NULL
57830 );
57831
57832 IF (C_LEVEL_ERROR>= g_log_level) THEN
57833 trace
57834 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
57835 ,p_level => C_LEVEL_ERROR
57836 ,p_module => l_log_module);
57837 END IF;
57838 END IF;
57839 END IF;
57840 --
57841 --
57842 ------------------------------------------------------------------------------------------------
57843 -- 4219869 Business Flow
57844 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
57845 -- Prior Entry. Currently, the following code is always generated.
57846 ------------------------------------------------------------------------------------------------
57847 -- No ValidateCurrentLine for business flow method of Prior Entry
57848
57849 ------------------------------------------------------------------------------------
57850 -- 4219869 Business Flow
57851 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
57852 ------------------------------------------------------------------------------------
57853 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57854
57855 ----------------------------------------------------------------------------------
57856 -- 4219869 Business Flow
57857 -- Update journal entry status -- Need to generate this within IF <condition>
57858 ----------------------------------------------------------------------------------
57859 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57860 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
57861 ,p_balance_type_code => l_balance_type_code
57862 );
57863
57864 -------------------------------------------------------------------------------------------
57865 -- 4262811 - Generate the Accrual Reversal lines
57866 -------------------------------------------------------------------------------------------
57867 BEGIN
57868 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
57869 (g_array_event(p_event_id).array_value_num('header_index'));
57870 IF l_acc_rev_flag IS NULL THEN
57871 l_acc_rev_flag := 'N';
57872 END IF;
57873 EXCEPTION
57874 WHEN OTHERS THEN
57875 l_acc_rev_flag := 'N';
57876 END;
57877 --
57878 IF (l_acc_rev_flag = 'Y') THEN
57879
57880 -- 4645092 ------------------------------------------------------------------------------
57881 -- To allow MPA report to determine if it should generate report process
57882 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
57883 ------------------------------------------------------------------------------------------
57884
57885 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
57886 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
57887 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
57888 -- call ADRs
57889 -- Bug 4922099
57890 --
57891 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
57892 (NVL(l_actual_upg_option, 'N') = 'O') OR
57893 (NVL(l_enc_upg_option, 'N') = 'O')
57894 )
57895 THEN
57896 NULL;
57897 --
57898 --
57899
57900 --
57901 --
57902 END IF;
57903
57904 --
57905 -- Update the line information that should be overwritten
57906 --
57907 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
57911 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
57908 p_header_num => 1);
57909 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
57910
57912
57913 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
57914 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
57915 END IF;
57916
57917 --
57918 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
57919 --
57920 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
57921 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
57922 ELSE
57923 ---------------------------------------------------------------------------------------------------
57924 -- 4262811a Switch Sign
57925 ---------------------------------------------------------------------------------------------------
57926 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
57927 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57928 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57929 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
57930 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57931 -- 5132302
57932 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
57933 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
57934
57935 END IF;
57936
57937 -- 4955764
57938 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
57939 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
57940
57941
57942 XLA_AE_LINES_PKG.ValidateCurrentLine;
57943 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
57944
57945 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
57946 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
57947 ,p_balance_type_code => l_balance_type_code);
57948
57949 END IF;
57950
57951 -----------------------------------------------------------------------------------------
57952 -- 4262811 Multiperiod Accounting
57953 -----------------------------------------------------------------------------------------
57954 -- No MPA option is assigned.
57955
57956
57957 END IF;
57958 END IF;
57959 --
57960
57961 --
57962 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
57963 trace
57964 (p_msg => 'END of AcctLineType_117'
57965 ,p_level => C_LEVEL_PROCEDURE
57966 ,p_module => l_log_module);
57967 END IF;
57968 --
57969 EXCEPTION
57970 WHEN xla_exceptions_pkg.application_exception THEN
57971 RAISE;
57972 WHEN OTHERS THEN
57973 xla_exceptions_pkg.raise_message
57974 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_117');
57975 END AcctLineType_117;
57976 --
57977
57978 ---------------------------------------
57979 --
57980 -- PRIVATE FUNCTION
57981 -- AcctLineType_118
57982 --
57983 ---------------------------------------
57984 PROCEDURE AcctLineType_118 (
57985 p_application_id IN NUMBER
57986 ,p_event_id IN NUMBER
57987 ,p_calculate_acctd_flag IN VARCHAR2
57988 ,p_calculate_g_l_flag IN VARCHAR2
57989 ,p_actual_flag IN OUT VARCHAR2
57990 ,p_balance_type_code OUT VARCHAR2
57991 ,p_gain_or_loss_ref OUT VARCHAR2
57992
57993 --Invoice Distribution Description
57994 , p_source_1 IN VARCHAR2
57995 --Automatic Offsets Value
57996 , p_source_3 IN VARCHAR2
57997 , p_source_3_meaning IN VARCHAR2
57998 --Purchase Order Rate Variance Gain Account
57999 , p_source_8 IN NUMBER
58000 --Invoice Distribution Ledger Amount
58001 , p_source_9 IN NUMBER
58002 --Destination Type of the PO Distribution
58003 , p_source_10 IN VARCHAR2
58004 , p_source_10_meaning IN VARCHAR2
58005 --Purchase Order Rate Variance Loss Account
58006 , p_source_11 IN NUMBER
58007 --Invoice Distribution Account
58008 , p_source_18 IN NUMBER
58009 --Invoice Distribution Type
58010 , p_source_21 IN VARCHAR2
58011 , p_source_21_meaning IN VARCHAR2
58012 --Automatic Offsets Flag
58013 , p_source_35 IN VARCHAR2
58014 , p_source_35_meaning IN VARCHAR2
58015 --Accounting Reversal Indicator
58016 , p_source_41 IN VARCHAR2
58017 --Distribution Link Type
58018 , p_source_43 IN VARCHAR2
58019 --Allocation to Main Distribution Identifier
58020 , p_source_45 IN NUMBER
58021 --Invoice Identifier
58022 , p_source_46 IN NUMBER
58023 --Invoice Distribution Identifier
58024 , p_source_52 IN NUMBER
58025 --Payables Encumbrance Upgrade Credit Account
58026 , p_source_53 IN NUMBER
58027 --Payables Encumbrance Upgrade Credit Amount
58028 , p_source_54 IN NUMBER
58029 --Invoice Currency Code
58033 --Payables Encumbrance Upgrade Debit Account
58030 , p_source_55 IN VARCHAR2
58031 --Payables Encumbrance Upgrade Credit Base Amount
58032 , p_source_56 IN NUMBER
58034 , p_source_57 IN NUMBER
58035 --Payables Encumbrance Upgrade Debit Amount
58036 , p_source_58 IN NUMBER
58037 --Payables Encumbrance Upgrade Debit Base Amount
58038 , p_source_59 IN NUMBER
58039 --Payables Encumbrance Upgrade Option
58040 , p_source_60 IN VARCHAR2
58041 --Invoice Distribution Amount
58042 , p_source_61 IN NUMBER
58043 --Deferred Accounting End Date
58044 , p_source_65 IN DATE
58045 --Deferred Accounting Option
58046 , p_source_66 IN VARCHAR2
58047 --Deferred Accounting Start Date
58048 , p_source_67 IN DATE
58049 --Override Accounted Amount Indicator
58050 , p_source_68 IN VARCHAR2
58051 , p_source_68_meaning IN VARCHAR2
58052 --Invoice Supplier Identifier
58053 , p_source_69 IN NUMBER
58054 --Invoice Supplier Site Identifier
58055 , p_source_70 IN NUMBER
58056 --Third Party Type
58057 , p_source_71 IN VARCHAR2
58058 --Parent Reversal Identifier
58059 , p_source_72 IN NUMBER
58060 --Invoice Distribution Statistical Amount
58061 , p_source_73 IN NUMBER
58062 --Invoice Distribution Tax Line Identifier
58063 , p_source_74 IN NUMBER
58064 --Invoice Distribution Tax Distribution Identifier from Tax
58065 , p_source_75 IN NUMBER
58066 --Invoice Distribution Summary Tax Line Identifier
58067 , p_source_76 IN NUMBER
58068 --Payables Upgrade Credit Encumbrance Type Identifier
58069 , p_source_77 IN NUMBER
58070 --Payables Upgrade Debit Encumbrance Type Identifier
58071 , p_source_78 IN NUMBER
58072 --Business Flow Accounts Payable Application Identifier
58073 , p_source_79 IN NUMBER
58074 --Business Flow Invoice Distribution Type
58075 , p_source_80 IN VARCHAR2
58076 --Business Flow Invoice Entity Code
58077 , p_source_81 IN VARCHAR2
58078 --Business Flow Invoice Distribution Identifier
58079 , p_source_82 IN NUMBER
58080 --Business Flow Invoice Identifier
58081 , p_source_83 IN NUMBER
58082 --Accrue on Receipt Option
58083 , p_source_84 IN VARCHAR2
58084 , p_source_84_meaning IN VARCHAR2
58085 --Invoice Exchange Date
58086 , p_source_136 IN DATE
58087 --Invoice Exchange Rate
58088 , p_source_137 IN NUMBER
58089 --Invoice Exchange Rate Type
58090 , p_source_138 IN VARCHAR2
58091 )
58092 IS
58093
58094 l_component_type VARCHAR2(80);
58095 l_component_code VARCHAR2(30);
58096 l_component_type_code VARCHAR2(1);
58097 l_component_appl_id INTEGER;
58098 l_amb_context_code VARCHAR2(30);
58099 l_entity_code VARCHAR2(30);
58100 l_event_class_code VARCHAR2(30);
58101 l_ae_header_id NUMBER;
58102 l_event_type_code VARCHAR2(30);
58103 l_line_definition_code VARCHAR2(30);
58104 l_line_definition_owner_code VARCHAR2(1);
58105 --
58106 -- adr variables
58107 l_segment VARCHAR2(30);
58108 l_ccid NUMBER;
58109 l_adr_transaction_coa_id NUMBER;
58110 l_adr_accounting_coa_id NUMBER;
58111 l_adr_flexfield_segment_code VARCHAR2(30);
58112 l_adr_flex_value_set_id NUMBER;
58113 l_adr_value_type_code VARCHAR2(30);
58114 l_adr_value_combination_id NUMBER;
58115 l_adr_value_segment_code VARCHAR2(30);
58116
58117 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
58118 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
58119 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
58120 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
58121
58122 -- 4262811 Variables ------------------------------------------------------------------------------------------
58123 l_entered_amt_idx NUMBER;
58124 l_accted_amt_idx NUMBER;
58125 l_acc_rev_flag VARCHAR2(1);
58126 l_accrual_line_num NUMBER;
58127 l_tmp_amt NUMBER;
58128 l_acc_rev_natural_side_code VARCHAR2(1);
58129
58130 l_num_entries NUMBER;
58131 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
58132 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
58133 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
58134 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
58135 l_recog_line_1 NUMBER;
58136 l_recog_line_2 NUMBER;
58137
58138 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
58139 l_bflow_applied_to_amt NUMBER; -- 5132302
58140 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
58141
58142 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
58143
58144 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
58145 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
58146
58147 ---------------------------------------------------------------------------------------------------------------
58148
58149
58150 --
58154 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
58151 -- bulk performance
58152 --
58153 l_balance_type_code VARCHAR2(1);
58155 l_log_module VARCHAR2(240);
58156
58157 --
58158 -- Upgrade strategy
58159 --
58160 l_actual_upg_option VARCHAR2(1);
58161 l_enc_upg_option VARCHAR2(1);
58162
58163 --
58164 BEGIN
58165 --
58166 IF g_log_enabled THEN
58167 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_118';
58168 END IF;
58169 --
58170 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58171
58172 trace
58173 (p_msg => 'BEGIN of AcctLineType_118'
58174 ,p_level => C_LEVEL_PROCEDURE
58175 ,p_module => l_log_module);
58176
58177 END IF;
58178 --
58179 l_component_type := 'AMB_JLT';
58180 l_component_code := 'AP_EX_RATE_VAR_PREPAY';
58181 l_component_type_code := 'S';
58182 l_component_appl_id := 200;
58183 l_amb_context_code := 'DEFAULT';
58184 l_entity_code := 'AP_INVOICES';
58185 l_event_class_code := 'PREPAYMENTS';
58186 l_event_type_code := 'PREPAYMENTS_ALL';
58187 l_line_definition_owner_code := 'S';
58188 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
58189 --
58190 l_balance_type_code := 'A';
58191 l_segment := NULL;
58192 l_ccid := NULL;
58193 l_adr_transaction_coa_id := NULL;
58194 l_adr_accounting_coa_id := NULL;
58195 l_adr_flexfield_segment_code := NULL;
58196 l_adr_flex_value_set_id := NULL;
58197 l_adr_value_type_code := NULL;
58198 l_adr_value_combination_id := NULL;
58199 l_adr_value_segment_code := NULL;
58200
58201 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
58202 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
58203 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
58204 l_budgetary_control_flag := 'N';
58205
58206 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58207 l_bflow_applied_to_amt := NULL; -- 5132302
58208 l_entered_amt_idx := NULL; -- 4262811
58209 l_accted_amt_idx := NULL; -- 4262811
58210 l_acc_rev_flag := NULL; -- 4262811
58211 l_accrual_line_num := NULL; -- 4262811
58212 l_tmp_amt := NULL; -- 4262811
58213 --
58214 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
58215 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
58216 return;
58217 END IF;
58218
58219 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
58220 l_balance_type_code <> 'B' THEN
58221 IF NVL(p_source_21,'
58222 ') = 'ERV' AND
58223 NVL(p_source_84,'
58224 ') = 'Y'
58225 THEN
58226
58227 --
58228 XLA_AE_LINES_PKG.SetNewLine;
58229
58230 p_balance_type_code := l_balance_type_code;
58231 -- set the flag so later we will know whether the gain loss line needs to be created
58232
58233 IF(l_balance_type_code = 'A' ) THEN
58234 p_actual_flag :='G';
58235 END IF;
58236
58237 --
58238 -- bulk performance
58239 --
58240 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
58241 p_header_num => 0); -- 4262811
58242 --
58243 -- set accounting line options
58244 --
58245 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
58246 p_natural_side_code => 'D'
58247 , p_gain_or_loss_flag => 'Y'
58248 , p_gl_transfer_mode_code => 'S'
58249 , p_acct_entry_type_code => 'A'
58250 , p_switch_side_flag => 'Y'
58251 , p_merge_duplicate_code => 'A'
58252 );
58253 --
58254 l_acc_rev_natural_side_code := 'C'; -- 4262811
58255 --
58256 --
58257 -- set accounting line type info
58258 --
58259 xla_ae_lines_pkg.SetAcctLineType
58260 (p_component_type => l_component_type
58261 ,p_event_type_code => l_event_type_code
58262 ,p_line_definition_owner_code => l_line_definition_owner_code
58263 ,p_line_definition_code => l_line_definition_code
58264 ,p_accounting_line_code => l_component_code
58265 ,p_accounting_line_type_code => l_component_type_code
58266 ,p_accounting_line_appl_id => l_component_appl_id
58267 ,p_amb_context_code => l_amb_context_code
58268 ,p_entity_code => l_entity_code
58269 ,p_event_class_code => l_event_class_code);
58270 --
58271 -- set accounting class
58272 --
58273 xla_ae_lines_pkg.SetAcctClass(
58274 p_accounting_class_code => 'EXCHANGE_RATE_VARIANCE'
58275 , p_ae_header_id => l_ae_header_id
58276 );
58277
58278 --
58279 -- set rounding class
58280 --
58281 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
58282 'EXCHANGE_RATE_VARIANCE';
58283
58284 --
58288 -- bulk performance
58285 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
58286 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
58287 --
58289 --
58290 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
58291
58292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
58293 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
58294
58295 -- 4955764
58296 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58297 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
58298
58299 -- 4458381 Public Sector Enh
58300
58301 --
58302 -- set accounting attributes for the line type
58303 --
58304 l_entered_amt_idx := 23;
58305 l_accted_amt_idx := 28;
58306 l_bflow_applied_to_amt_idx := NULL; -- 5132302
58307 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
58308 l_rec_acct_attrs.array_char_value(1) := p_source_41;
58309 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
58310 l_rec_acct_attrs.array_num_value(2) :=
58311 xla_ae_sources_pkg.GetSystemSourceNum(
58312 p_source_code => 'XLA_EVENT_APPL_ID'
58313 , p_source_type_code => 'Y'
58314 , p_source_application_id => 602
58315 );
58316 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
58317 l_rec_acct_attrs.array_char_value(3) := p_source_43;
58318 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
58319 l_rec_acct_attrs.array_char_value(4) :=
58320 xla_ae_sources_pkg.GetSystemSourceChar(
58321 p_source_code => 'XLA_ENTITY_CODE'
58322 , p_source_type_code => 'Y'
58323 , p_source_application_id => 602
58324 );
58325 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
58326 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
58327 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
58328 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
58329 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
58330 l_rec_acct_attrs.array_num_value(7) := p_source_79;
58331 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
58332 l_rec_acct_attrs.array_char_value(8) := p_source_80;
58333 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
58334 l_rec_acct_attrs.array_char_value(9) := p_source_81;
58335 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
58336 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
58337 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
58338 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
58339 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
58340 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
58341 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
58342 l_rec_acct_attrs.array_char_value(13) := p_source_43;
58343 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
58344 l_rec_acct_attrs.array_num_value(14) := p_source_53;
58345 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
58346 l_rec_acct_attrs.array_num_value(15) := p_source_54;
58347 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
58348 l_rec_acct_attrs.array_char_value(16) := p_source_55;
58349 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
58350 l_rec_acct_attrs.array_num_value(17) := p_source_56;
58351 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
58352 l_rec_acct_attrs.array_num_value(18) := p_source_57;
58353 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
58354 l_rec_acct_attrs.array_num_value(19) := p_source_58;
58355 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
58356 l_rec_acct_attrs.array_char_value(20) := p_source_55;
58357 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
58358 l_rec_acct_attrs.array_num_value(21) := p_source_59;
58359 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
58360 l_rec_acct_attrs.array_char_value(22) := p_source_60;
58361 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
58362 l_rec_acct_attrs.array_num_value(23) := p_source_61;
58363 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
58364 l_rec_acct_attrs.array_char_value(24) := p_source_55;
58365 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
58366 l_rec_acct_attrs.array_date_value(25) := p_source_136;
58367 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
58368 l_rec_acct_attrs.array_num_value(26) := p_source_137;
58369 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
58370 l_rec_acct_attrs.array_char_value(27) := p_source_138;
58371 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
58372 l_rec_acct_attrs.array_num_value(28) := p_source_9;
58373 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
58374 l_rec_acct_attrs.array_date_value(29) := p_source_65;
58375 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
58376 l_rec_acct_attrs.array_char_value(30) := p_source_66;
58377 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
58378 l_rec_acct_attrs.array_date_value(31) := p_source_67;
58382 l_rec_acct_attrs.array_num_value(33) := p_source_69;
58379 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
58380 l_rec_acct_attrs.array_char_value(32) := p_source_68;
58381 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
58383 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
58384 l_rec_acct_attrs.array_num_value(34) := p_source_70;
58385 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
58386 l_rec_acct_attrs.array_char_value(35) := p_source_71;
58387 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
58388 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
58389 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
58390 l_rec_acct_attrs.array_char_value(37) := p_source_43;
58391 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
58392 l_rec_acct_attrs.array_num_value(38) := p_source_73;
58393 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
58394 l_rec_acct_attrs.array_num_value(39) := p_source_74;
58395 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
58396 l_rec_acct_attrs.array_num_value(40) := p_source_75;
58397 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
58398 l_rec_acct_attrs.array_num_value(41) := p_source_76;
58399 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
58400 l_rec_acct_attrs.array_num_value(42) := p_source_77;
58401 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
58402 l_rec_acct_attrs.array_num_value(43) := p_source_78;
58403
58404 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
58405 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
58406
58407 ---------------------------------------------------------------------------------------------------------------
58408 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
58409 ---------------------------------------------------------------------------------------------------------------
58410 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
58411
58412 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58413 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
58414
58415 IF xla_accounting_cache_pkg.GetValueChar
58416 (p_source_code => 'LEDGER_CATEGORY_CODE'
58417 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
58418 AND l_bflow_method_code = 'PRIOR_ENTRY'
58419 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
58420 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
58421 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
58422 )
58423 THEN
58424 xla_ae_lines_pkg.BflowUpgEntry
58425 (p_business_method_code => l_bflow_method_code
58426 ,p_business_class_code => l_bflow_class_code
58427 ,p_balance_type => l_balance_type_code);
58428 ELSE
58429 NULL;
58430 -- No business flow processing for business flow method of NONE.
58431 END IF;
58432
58433 --
58434 -- call analytical criteria
58435 --
58436
58437 --
58438 -- call description
58439 --
58440
58441 xla_ae_lines_pkg.SetLineDescription(
58442 p_ae_header_id => l_ae_header_id
58443 ,p_description => Description_2 (
58444 p_application_id => p_application_id
58445 , p_ae_header_id => l_ae_header_id
58446 , p_source_1 => p_source_1
58447 )
58448 );
58449
58450
58451 --
58452 -- call ADRs
58453 -- Bug 4922099
58454 --
58455 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58456 (NVL(l_actual_upg_option, 'N') = 'O') OR
58457 (NVL(l_enc_upg_option, 'N') = 'O')
58458 )
58459 THEN
58460 NULL;
58461 --
58462 --
58463
58464 l_ccid := AcctDerRule_29(
58465 p_application_id => p_application_id
58466 , p_ae_header_id => l_ae_header_id
58467 , p_source_3 => p_source_3
58468 , p_source_3_meaning => p_source_3_meaning
58469 , p_source_8 => p_source_8
58470 , p_source_9 => p_source_9
58471 , p_source_10 => p_source_10
58472 , p_source_10_meaning => p_source_10_meaning
58473 , p_source_11 => p_source_11
58474 , p_source_18 => p_source_18
58475 , p_source_35 => p_source_35
58476 , p_source_35_meaning => p_source_35_meaning
58477 , x_transaction_coa_id => l_adr_transaction_coa_id
58478 , x_accounting_coa_id => l_adr_accounting_coa_id
58479 , x_value_type_code => l_adr_value_type_code
58480 , p_side => 'NA'
58481 );
58482
58483 xla_ae_lines_pkg.set_ccid(
58484 p_code_combination_id => l_ccid
58485 , p_value_type_code => l_adr_value_type_code
58486 , p_transaction_coa_id => l_adr_transaction_coa_id
58487 , p_accounting_coa_id => l_adr_accounting_coa_id
58488 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
58489 , p_adr_type_code => 'S'
58490 , p_component_type => l_component_type
58491 , p_component_code => l_component_code
58495 , p_side => 'NA'
58492 , p_component_type_code => l_component_type_code
58493 , p_component_appl_id => l_component_appl_id
58494 , p_amb_context_code => l_amb_context_code
58496 );
58497
58498
58499 l_segment := AcctDerRule_7(
58500 p_application_id => p_application_id
58501 , p_ae_header_id => l_ae_header_id
58502 , p_source_3 => p_source_3
58503 , p_source_3_meaning => p_source_3_meaning
58504 , p_source_8 => p_source_8
58505 , p_source_9 => p_source_9
58506 , p_source_10 => p_source_10
58507 , p_source_10_meaning => p_source_10_meaning
58508 , p_source_11 => p_source_11
58509 , x_transaction_coa_id => l_adr_transaction_coa_id
58510 , x_accounting_coa_id => l_adr_accounting_coa_id
58511 , x_flexfield_segment_code => l_adr_flexfield_segment_code
58512 , x_flex_value_set_id => l_adr_flex_value_set_id
58513 , x_value_type_code => l_adr_value_type_code
58514 , x_value_combination_id => l_adr_value_combination_id
58515 , x_value_segment_code => l_adr_value_segment_code
58516 , p_side => 'NA'
58517 , p_override_seg_flag => 'Y'
58518 );
58519
58520 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
58521
58522 xla_ae_lines_pkg.set_segment(
58523 p_to_segment_code => 'GL_ACCOUNT'
58524 , p_segment_value => l_segment
58525 , p_from_segment_code => l_adr_value_segment_code
58526 , p_from_combination_id => l_adr_value_combination_id
58527 , p_value_type_code => l_adr_value_type_code
58528 , p_transaction_coa_id => l_adr_transaction_coa_id
58529 , p_accounting_coa_id => l_adr_accounting_coa_id
58530 , p_flexfield_segment_code => l_adr_flexfield_segment_code
58531 , p_flex_value_set_id => l_adr_flex_value_set_id
58532 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
58533 , p_adr_type_code => 'S'
58534 , p_component_type => l_component_type
58535 , p_component_code => l_component_code
58536 , p_component_type_code => l_component_type_code
58537 , p_component_appl_id => l_component_appl_id
58538 , p_amb_context_code => l_amb_context_code
58539 , p_entity_code => 'AP_INVOICES'
58540 , p_event_class_code => 'PREPAYMENTS'
58541 , p_side => 'NA'
58542 );
58543
58544 END IF;
58545
58546 l_segment := AcctDerRule_22(
58547 p_application_id => p_application_id
58548 , p_ae_header_id => l_ae_header_id
58549 , p_source_3 => p_source_3
58550 , p_source_3_meaning => p_source_3_meaning
58551 , p_source_10 => p_source_10
58552 , p_source_10_meaning => p_source_10_meaning
58553 , p_source_18 => p_source_18
58554 , x_transaction_coa_id => l_adr_transaction_coa_id
58555 , x_accounting_coa_id => l_adr_accounting_coa_id
58556 , x_flexfield_segment_code => l_adr_flexfield_segment_code
58557 , x_flex_value_set_id => l_adr_flex_value_set_id
58558 , x_value_type_code => l_adr_value_type_code
58559 , x_value_combination_id => l_adr_value_combination_id
58560 , x_value_segment_code => l_adr_value_segment_code
58561 , p_side => 'NA'
58562 , p_override_seg_flag => 'Y'
58563 );
58564
58565 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
58566
58567 xla_ae_lines_pkg.set_segment(
58568 p_to_segment_code => 'GL_BALANCING'
58569 , p_segment_value => l_segment
58570 , p_from_segment_code => l_adr_value_segment_code
58571 , p_from_combination_id => l_adr_value_combination_id
58572 , p_value_type_code => l_adr_value_type_code
58573 , p_transaction_coa_id => l_adr_transaction_coa_id
58574 , p_accounting_coa_id => l_adr_accounting_coa_id
58575 , p_flexfield_segment_code => l_adr_flexfield_segment_code
58576 , p_flex_value_set_id => l_adr_flex_value_set_id
58577 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
58578 , p_adr_type_code => 'S'
58579 , p_component_type => l_component_type
58580 , p_component_code => l_component_code
58581 , p_component_type_code => l_component_type_code
58582 , p_component_appl_id => l_component_appl_id
58583 , p_amb_context_code => l_amb_context_code
58584 , p_entity_code => 'AP_INVOICES'
58585 , p_event_class_code => 'PREPAYMENTS'
58586 , p_side => 'NA'
58587 );
58588
58589 END IF;
58590
58591 --
58592 --
58593 END IF;
58594 --
58595 -- Bug 4922099
58596 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
58597 (NVL(l_enc_upg_option, 'N') = 'O')
58598 ) AND
58599 (l_bflow_method_code = 'PRIOR_ENTRY')
58600 )
58601 THEN
58602 IF
58603 --
58604 1 = 2
58605 --
58606 THEN
58607 xla_accounting_err_pkg.build_message
58608 (p_appli_s_name => 'XLA'
58609 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58613 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
58610 ,p_token_1 => 'LINE_NUMBER'
58611 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
58612 ,p_token_2 => 'LINE_TYPE_NAME'
58614 l_component_type
58615 ,l_component_code
58616 ,l_component_type_code
58617 ,l_component_appl_id
58618 ,l_amb_context_code
58619 ,l_entity_code
58620 ,l_event_class_code
58621 )
58622 ,p_token_3 => 'OWNER'
58623 ,p_value_3 => xla_lookups_pkg.get_meaning(
58624 p_lookup_type => 'XLA_OWNER_TYPE'
58625 ,p_lookup_code => l_component_type_code
58626 )
58627 ,p_token_4 => 'PRODUCT_NAME'
58628 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
58629 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
58630 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
58631 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
58632 ,p_ae_header_id => NULL
58633 );
58634
58635 IF (C_LEVEL_ERROR>= g_log_level) THEN
58636 trace
58637 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
58638 ,p_level => C_LEVEL_ERROR
58639 ,p_module => l_log_module);
58640 END IF;
58641 END IF;
58642 END IF;
58643 --
58644 --
58645 ------------------------------------------------------------------------------------------------
58646 -- 4219869 Business Flow
58647 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
58648 -- Prior Entry. Currently, the following code is always generated.
58649 ------------------------------------------------------------------------------------------------
58650 XLA_AE_LINES_PKG.ValidateCurrentLine;
58651
58652 ------------------------------------------------------------------------------------
58653 -- 4219869 Business Flow
58654 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
58655 ------------------------------------------------------------------------------------
58656 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58657
58658 ----------------------------------------------------------------------------------
58659 -- 4219869 Business Flow
58660 -- Update journal entry status -- Need to generate this within IF <condition>
58661 ----------------------------------------------------------------------------------
58662 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58663 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
58664 ,p_balance_type_code => l_balance_type_code
58665 );
58666
58667 -------------------------------------------------------------------------------------------
58668 -- 4262811 - Generate the Accrual Reversal lines
58669 -------------------------------------------------------------------------------------------
58670 BEGIN
58671 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
58672 (g_array_event(p_event_id).array_value_num('header_index'));
58673 IF l_acc_rev_flag IS NULL THEN
58674 l_acc_rev_flag := 'N';
58675 END IF;
58676 EXCEPTION
58677 WHEN OTHERS THEN
58678 l_acc_rev_flag := 'N';
58679 END;
58680 --
58681 IF (l_acc_rev_flag = 'Y') THEN
58682
58683 -- 4645092 ------------------------------------------------------------------------------
58684 -- To allow MPA report to determine if it should generate report process
58685 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
58686 ------------------------------------------------------------------------------------------
58687
58688 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
58689 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
58690 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
58691 -- call ADRs
58692 -- Bug 4922099
58693 --
58694 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
58695 (NVL(l_actual_upg_option, 'N') = 'O') OR
58696 (NVL(l_enc_upg_option, 'N') = 'O')
58697 )
58698 THEN
58699 NULL;
58700 --
58701 --
58702
58703 l_ccid := AcctDerRule_29(
58707 , p_source_3_meaning => p_source_3_meaning
58704 p_application_id => p_application_id
58705 , p_ae_header_id => l_ae_header_id
58706 , p_source_3 => p_source_3
58708 , p_source_8 => p_source_8
58709 , p_source_9 => p_source_9
58710 , p_source_10 => p_source_10
58711 , p_source_10_meaning => p_source_10_meaning
58712 , p_source_11 => p_source_11
58713 , p_source_18 => p_source_18
58714 , p_source_35 => p_source_35
58715 , p_source_35_meaning => p_source_35_meaning
58716 , x_transaction_coa_id => l_adr_transaction_coa_id
58717 , x_accounting_coa_id => l_adr_accounting_coa_id
58718 , x_value_type_code => l_adr_value_type_code
58719 , p_side => 'NA'
58720 );
58721
58722 xla_ae_lines_pkg.set_ccid(
58723 p_code_combination_id => l_ccid
58724 , p_value_type_code => l_adr_value_type_code
58725 , p_transaction_coa_id => l_adr_transaction_coa_id
58726 , p_accounting_coa_id => l_adr_accounting_coa_id
58727 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
58728 , p_adr_type_code => 'S'
58729 , p_component_type => l_component_type
58730 , p_component_code => l_component_code
58731 , p_component_type_code => l_component_type_code
58732 , p_component_appl_id => l_component_appl_id
58733 , p_amb_context_code => l_amb_context_code
58734 , p_side => 'NA'
58735 );
58736
58737
58738 l_segment := AcctDerRule_7(
58739 p_application_id => p_application_id
58740 , p_ae_header_id => l_ae_header_id
58741 , p_source_3 => p_source_3
58742 , p_source_3_meaning => p_source_3_meaning
58743 , p_source_8 => p_source_8
58744 , p_source_9 => p_source_9
58745 , p_source_10 => p_source_10
58746 , p_source_10_meaning => p_source_10_meaning
58747 , p_source_11 => p_source_11
58748 , x_transaction_coa_id => l_adr_transaction_coa_id
58749 , x_accounting_coa_id => l_adr_accounting_coa_id
58750 , x_flexfield_segment_code => l_adr_flexfield_segment_code
58751 , x_flex_value_set_id => l_adr_flex_value_set_id
58752 , x_value_type_code => l_adr_value_type_code
58753 , x_value_combination_id => l_adr_value_combination_id
58754 , x_value_segment_code => l_adr_value_segment_code
58755 , p_side => 'NA'
58756 , p_override_seg_flag => 'Y'
58757 );
58758
58759 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
58760
58761 xla_ae_lines_pkg.set_segment(
58762 p_to_segment_code => 'GL_ACCOUNT'
58763 , p_segment_value => l_segment
58764 , p_from_segment_code => l_adr_value_segment_code
58765 , p_from_combination_id => l_adr_value_combination_id
58766 , p_value_type_code => l_adr_value_type_code
58767 , p_transaction_coa_id => l_adr_transaction_coa_id
58768 , p_accounting_coa_id => l_adr_accounting_coa_id
58769 , p_flexfield_segment_code => l_adr_flexfield_segment_code
58770 , p_flex_value_set_id => l_adr_flex_value_set_id
58771 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
58772 , p_adr_type_code => 'S'
58773 , p_component_type => l_component_type
58774 , p_component_code => l_component_code
58775 , p_component_type_code => l_component_type_code
58776 , p_component_appl_id => l_component_appl_id
58777 , p_amb_context_code => l_amb_context_code
58778 , p_entity_code => 'AP_INVOICES'
58779 , p_event_class_code => 'PREPAYMENTS'
58780 , p_side => 'NA'
58781 );
58782
58783 END IF;
58784
58785 l_segment := AcctDerRule_22(
58786 p_application_id => p_application_id
58787 , p_ae_header_id => l_ae_header_id
58788 , p_source_3 => p_source_3
58789 , p_source_3_meaning => p_source_3_meaning
58790 , p_source_10 => p_source_10
58791 , p_source_10_meaning => p_source_10_meaning
58792 , p_source_18 => p_source_18
58793 , x_transaction_coa_id => l_adr_transaction_coa_id
58794 , x_accounting_coa_id => l_adr_accounting_coa_id
58795 , x_flexfield_segment_code => l_adr_flexfield_segment_code
58796 , x_flex_value_set_id => l_adr_flex_value_set_id
58797 , x_value_type_code => l_adr_value_type_code
58798 , x_value_combination_id => l_adr_value_combination_id
58799 , x_value_segment_code => l_adr_value_segment_code
58800 , p_side => 'NA'
58801 , p_override_seg_flag => 'Y'
58802 );
58803
58804 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
58805
58806 xla_ae_lines_pkg.set_segment(
58807 p_to_segment_code => 'GL_BALANCING'
58808 , p_segment_value => l_segment
58809 , p_from_segment_code => l_adr_value_segment_code
58810 , p_from_combination_id => l_adr_value_combination_id
58811 , p_value_type_code => l_adr_value_type_code
58812 , p_transaction_coa_id => l_adr_transaction_coa_id
58813 , p_accounting_coa_id => l_adr_accounting_coa_id
58817 , p_adr_type_code => 'S'
58814 , p_flexfield_segment_code => l_adr_flexfield_segment_code
58815 , p_flex_value_set_id => l_adr_flex_value_set_id
58816 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
58818 , p_component_type => l_component_type
58819 , p_component_code => l_component_code
58820 , p_component_type_code => l_component_type_code
58821 , p_component_appl_id => l_component_appl_id
58822 , p_amb_context_code => l_amb_context_code
58823 , p_entity_code => 'AP_INVOICES'
58824 , p_event_class_code => 'PREPAYMENTS'
58825 , p_side => 'NA'
58826 );
58827
58828 END IF;
58829
58830 --
58831 --
58832 END IF;
58833
58834 --
58835 -- Update the line information that should be overwritten
58836 --
58837 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
58838 p_header_num => 1);
58839 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
58840
58841 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
58842
58843 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
58844 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
58845 END IF;
58846
58847 --
58848 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
58849 --
58850 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
58851 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
58852 ELSE
58853 ---------------------------------------------------------------------------------------------------
58854 -- 4262811a Switch Sign
58855 ---------------------------------------------------------------------------------------------------
58856 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
58857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58858 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58859 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
58860 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58861 -- 5132302
58862 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
58863 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
58864
58865 END IF;
58866
58867 -- 4955764
58868 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
58869 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
58870
58871
58872 XLA_AE_LINES_PKG.ValidateCurrentLine;
58873 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
58874
58875 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
58876 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
58877 ,p_balance_type_code => l_balance_type_code);
58878
58879 END IF;
58880
58881 -----------------------------------------------------------------------------------------
58882 -- 4262811 Multiperiod Accounting
58883 -----------------------------------------------------------------------------------------
58884 -- No MPA option is assigned.
58885
58886
58887 END IF;
58888 END IF;
58889 --
58890
58891 --
58892 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
58893 trace
58894 (p_msg => 'END of AcctLineType_118'
58895 ,p_level => C_LEVEL_PROCEDURE
58896 ,p_module => l_log_module);
58897 END IF;
58898 --
58899 EXCEPTION
58900 WHEN xla_exceptions_pkg.application_exception THEN
58901 RAISE;
58902 WHEN OTHERS THEN
58903 xla_exceptions_pkg.raise_message
58904 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_118');
58905 END AcctLineType_118;
58906 --
58907
58908 ---------------------------------------
58909 --
58910 -- PRIVATE FUNCTION
58911 -- AcctLineType_119
58912 --
58913 ---------------------------------------
58914 PROCEDURE AcctLineType_119 (
58915 p_application_id IN NUMBER
58916 ,p_event_id IN NUMBER
58917 ,p_calculate_acctd_flag IN VARCHAR2
58918 ,p_calculate_g_l_flag IN VARCHAR2
58919 ,p_actual_flag IN OUT VARCHAR2
58920 ,p_balance_type_code OUT VARCHAR2
58921 ,p_gain_or_loss_ref OUT VARCHAR2
58922
58923 --Automatic Offsets Value
58924 , p_source_3 IN VARCHAR2
58925 , p_source_3_meaning IN VARCHAR2
58926 --Invoice Distribution Account
58927 , p_source_18 IN NUMBER
58928 --Payables Options Rounding Account
58929 , p_source_37 IN NUMBER
58930 --Accounting Reversal Indicator
58931 , p_source_41 IN VARCHAR2
58932 --Distribution Link Type
58933 , p_source_43 IN VARCHAR2
58934 --Invoice Identifier
58938 --Payables Encumbrance Upgrade Credit Amount
58935 , p_source_46 IN NUMBER
58936 --Payables Encumbrance Upgrade Credit Account
58937 , p_source_53 IN NUMBER
58939 , p_source_54 IN NUMBER
58940 --Invoice Currency Code
58941 , p_source_55 IN VARCHAR2
58942 --Payables Encumbrance Upgrade Credit Base Amount
58943 , p_source_56 IN NUMBER
58944 --Payables Encumbrance Upgrade Debit Account
58945 , p_source_57 IN NUMBER
58946 --Payables Encumbrance Upgrade Debit Amount
58947 , p_source_58 IN NUMBER
58948 --Payables Encumbrance Upgrade Debit Base Amount
58949 , p_source_59 IN NUMBER
58950 --Payables Encumbrance Upgrade Option
58951 , p_source_60 IN VARCHAR2
58952 --Deferred Accounting End Date
58953 , p_source_65 IN DATE
58954 --Deferred Accounting Option
58955 , p_source_66 IN VARCHAR2
58956 --Deferred Accounting Start Date
58957 , p_source_67 IN DATE
58958 --Override Accounted Amount Indicator
58959 , p_source_68 IN VARCHAR2
58960 , p_source_68_meaning IN VARCHAR2
58961 --Invoice Supplier Identifier
58962 , p_source_69 IN NUMBER
58963 --Invoice Supplier Site Identifier
58964 , p_source_70 IN NUMBER
58965 --Third Party Type
58966 , p_source_71 IN VARCHAR2
58967 --Invoice Distribution Tax Line Identifier
58968 , p_source_74 IN NUMBER
58969 --Invoice Distribution Tax Distribution Identifier from Tax
58970 , p_source_75 IN NUMBER
58971 --Invoice Distribution Summary Tax Line Identifier
58972 , p_source_76 IN NUMBER
58973 --Payables Upgrade Credit Encumbrance Type Identifier
58974 , p_source_77 IN NUMBER
58975 --Payables Upgrade Debit Encumbrance Type Identifier
58976 , p_source_78 IN NUMBER
58977 --Business Flow Accounts Payable Application Identifier
58978 , p_source_79 IN NUMBER
58979 --Prepayment Distribution Type
58980 , p_source_118 IN VARCHAR2
58981 --Prepayment Application Distribution Identifier
58982 , p_source_120 IN NUMBER
58983 --Upgrade Encumbrance Credit Account Class
58984 , p_source_125 IN VARCHAR2
58985 --Upgrade Encumbrance Debit Account Class
58986 , p_source_126 IN VARCHAR2
58987 --Prepayment Distribution Amount
58988 , p_source_127 IN NUMBER
58989 --Prepayment Distribution (Prepayment Rate) Ledger Amount
58990 , p_source_128 IN NUMBER
58991 --Identifier of the Prepayment Application Reversed
58992 , p_source_129 IN NUMBER
58993 --Invoice Exchange Date
58994 , p_source_136 IN DATE
58995 --Invoice Exchange Rate
58996 , p_source_137 IN NUMBER
58997 --Invoice Exchange Rate Type
58998 , p_source_138 IN VARCHAR2
58999 --Business Flow Prepayment Invoice Distribution Type
59000 , p_source_139 IN VARCHAR2
59001 --Business Flow Prepayment Invoice Entity Code
59002 , p_source_140 IN VARCHAR2
59003 --Business Flow Prepayment Invoice Distribution Identifier
59004 , p_source_141 IN NUMBER
59005 --Business Flow Prepayment Invoice Identifier
59006 , p_source_142 IN NUMBER
59007 )
59008 IS
59009
59010 l_component_type VARCHAR2(80);
59011 l_component_code VARCHAR2(30);
59012 l_component_type_code VARCHAR2(1);
59013 l_component_appl_id INTEGER;
59014 l_amb_context_code VARCHAR2(30);
59015 l_entity_code VARCHAR2(30);
59016 l_event_class_code VARCHAR2(30);
59017 l_ae_header_id NUMBER;
59018 l_event_type_code VARCHAR2(30);
59019 l_line_definition_code VARCHAR2(30);
59020 l_line_definition_owner_code VARCHAR2(1);
59021 --
59022 -- adr variables
59023 l_segment VARCHAR2(30);
59024 l_ccid NUMBER;
59025 l_adr_transaction_coa_id NUMBER;
59026 l_adr_accounting_coa_id NUMBER;
59027 l_adr_flexfield_segment_code VARCHAR2(30);
59028 l_adr_flex_value_set_id NUMBER;
59029 l_adr_value_type_code VARCHAR2(30);
59030 l_adr_value_combination_id NUMBER;
59031 l_adr_value_segment_code VARCHAR2(30);
59032
59033 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59034 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59035 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59036 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59037
59038 -- 4262811 Variables ------------------------------------------------------------------------------------------
59039 l_entered_amt_idx NUMBER;
59040 l_accted_amt_idx NUMBER;
59041 l_acc_rev_flag VARCHAR2(1);
59042 l_accrual_line_num NUMBER;
59043 l_tmp_amt NUMBER;
59044 l_acc_rev_natural_side_code VARCHAR2(1);
59045
59046 l_num_entries NUMBER;
59047 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59048 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59049 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59050 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59051 l_recog_line_1 NUMBER;
59052 l_recog_line_2 NUMBER;
59053
59054 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59055 l_bflow_applied_to_amt NUMBER; -- 5132302
59059
59056 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59057
59058 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59060 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59061 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59062
59063 ---------------------------------------------------------------------------------------------------------------
59064
59065
59066 --
59067 -- bulk performance
59068 --
59069 l_balance_type_code VARCHAR2(1);
59070 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59071 l_log_module VARCHAR2(240);
59072
59073 --
59074 -- Upgrade strategy
59075 --
59076 l_actual_upg_option VARCHAR2(1);
59077 l_enc_upg_option VARCHAR2(1);
59078
59079 --
59080 BEGIN
59081 --
59082 IF g_log_enabled THEN
59083 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_119';
59084 END IF;
59085 --
59086 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59087
59088 trace
59089 (p_msg => 'BEGIN of AcctLineType_119'
59090 ,p_level => C_LEVEL_PROCEDURE
59091 ,p_module => l_log_module);
59092
59093 END IF;
59094 --
59095 l_component_type := 'AMB_JLT';
59096 l_component_code := 'AP_FINAL_APP_ROUND_ACCR';
59097 l_component_type_code := 'S';
59098 l_component_appl_id := 200;
59099 l_amb_context_code := 'DEFAULT';
59100 l_entity_code := 'AP_INVOICES';
59101 l_event_class_code := 'PREPAYMENT APPLICATIONS';
59102 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
59103 l_line_definition_owner_code := 'S';
59104 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
59105 --
59106 l_balance_type_code := 'A';
59107 l_segment := NULL;
59108 l_ccid := NULL;
59109 l_adr_transaction_coa_id := NULL;
59110 l_adr_accounting_coa_id := NULL;
59111 l_adr_flexfield_segment_code := NULL;
59112 l_adr_flex_value_set_id := NULL;
59113 l_adr_value_type_code := NULL;
59114 l_adr_value_combination_id := NULL;
59115 l_adr_value_segment_code := NULL;
59116
59117 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59118 l_bflow_class_code := ''; -- 4219869 Business Flow
59119 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59120 l_budgetary_control_flag := 'N';
59121
59122 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59123 l_bflow_applied_to_amt := NULL; -- 5132302
59124 l_entered_amt_idx := NULL; -- 4262811
59125 l_accted_amt_idx := NULL; -- 4262811
59126 l_acc_rev_flag := NULL; -- 4262811
59127 l_accrual_line_num := NULL; -- 4262811
59128 l_tmp_amt := NULL; -- 4262811
59129 --
59130
59131 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59132 l_balance_type_code <> 'B' THEN
59133 IF NVL(p_source_118,'
59134 ') = 'FINAL APPLICATION ROUNDING'
59135 THEN
59136
59137 --
59138 XLA_AE_LINES_PKG.SetNewLine;
59139
59140 p_balance_type_code := l_balance_type_code;
59141 -- set the flag so later we will know whether the gain loss line needs to be created
59142
59143 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59144 p_actual_flag :='A';
59145 END IF;
59146
59147 --
59148 -- bulk performance
59149 --
59150 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59151 p_header_num => 0); -- 4262811
59152 --
59153 -- set accounting line options
59154 --
59155 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59156 p_natural_side_code => 'C'
59157 , p_gain_or_loss_flag => 'N'
59158 , p_gl_transfer_mode_code => 'S'
59159 , p_acct_entry_type_code => 'A'
59160 , p_switch_side_flag => 'Y'
59161 , p_merge_duplicate_code => 'A'
59162 );
59163 --
59164 l_acc_rev_natural_side_code := 'D'; -- 4262811
59165 --
59166 --
59167 -- set accounting line type info
59168 --
59169 xla_ae_lines_pkg.SetAcctLineType
59170 (p_component_type => l_component_type
59171 ,p_event_type_code => l_event_type_code
59172 ,p_line_definition_owner_code => l_line_definition_owner_code
59173 ,p_line_definition_code => l_line_definition_code
59174 ,p_accounting_line_code => l_component_code
59175 ,p_accounting_line_type_code => l_component_type_code
59176 ,p_accounting_line_appl_id => l_component_appl_id
59177 ,p_amb_context_code => l_amb_context_code
59178 ,p_entity_code => l_entity_code
59179 ,p_event_class_code => l_event_class_code);
59180 --
59181 -- set accounting class
59182 --
59183 xla_ae_lines_pkg.SetAcctClass(
59184 p_accounting_class_code => 'ROUNDING'
59185 , p_ae_header_id => l_ae_header_id
59186 );
59187
59188 --
59189 -- set rounding class
59190 --
59194 --
59191 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59192 'ROUNDING';
59193
59195 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59196 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59197 --
59198 -- bulk performance
59199 --
59200 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59201
59202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59203 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59204
59205 -- 4955764
59206 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59207 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59208
59209 -- 4458381 Public Sector Enh
59210
59211 --
59212 -- set accounting attributes for the line type
59213 --
59214 l_entered_amt_idx := 25;
59215 l_accted_amt_idx := 30;
59216 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59217 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59218 l_rec_acct_attrs.array_char_value(1) := p_source_41;
59219 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
59220 l_rec_acct_attrs.array_num_value(2) :=
59221 xla_ae_sources_pkg.GetSystemSourceNum(
59222 p_source_code => 'XLA_EVENT_APPL_ID'
59223 , p_source_type_code => 'Y'
59224 , p_source_application_id => 602
59225 );
59226 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
59227 l_rec_acct_attrs.array_char_value(3) := p_source_43;
59228 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
59229 l_rec_acct_attrs.array_char_value(4) :=
59230 xla_ae_sources_pkg.GetSystemSourceChar(
59231 p_source_code => 'XLA_ENTITY_CODE'
59232 , p_source_type_code => 'Y'
59233 , p_source_application_id => 602
59234 );
59235 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
59236 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
59237 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
59238 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
59239 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
59240 l_rec_acct_attrs.array_num_value(7) := p_source_79;
59241 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59242 l_rec_acct_attrs.array_char_value(8) := p_source_139;
59243 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
59244 l_rec_acct_attrs.array_char_value(9) := p_source_140;
59245 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
59246 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
59247 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59248 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
59249 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
59250 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
59251 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
59252 l_rec_acct_attrs.array_char_value(13) := p_source_43;
59253 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
59254 l_rec_acct_attrs.array_char_value(14) := p_source_125;
59255 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
59256 l_rec_acct_attrs.array_num_value(15) := p_source_53;
59257 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
59258 l_rec_acct_attrs.array_num_value(16) := p_source_54;
59259 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
59260 l_rec_acct_attrs.array_char_value(17) := p_source_55;
59261 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
59262 l_rec_acct_attrs.array_num_value(18) := p_source_56;
59263 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
59264 l_rec_acct_attrs.array_char_value(19) := p_source_126;
59265 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
59266 l_rec_acct_attrs.array_num_value(20) := p_source_57;
59267 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
59268 l_rec_acct_attrs.array_num_value(21) := p_source_58;
59269 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
59270 l_rec_acct_attrs.array_char_value(22) := p_source_55;
59271 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
59272 l_rec_acct_attrs.array_num_value(23) := p_source_59;
59273 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
59274 l_rec_acct_attrs.array_char_value(24) := p_source_60;
59275 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
59276 l_rec_acct_attrs.array_num_value(25) := p_source_127;
59277 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
59278 l_rec_acct_attrs.array_char_value(26) := p_source_55;
59279 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
59280 l_rec_acct_attrs.array_date_value(27) := p_source_136;
59281 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
59282 l_rec_acct_attrs.array_num_value(28) := p_source_137;
59283 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
59284 l_rec_acct_attrs.array_char_value(29) := p_source_138;
59285 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
59286 l_rec_acct_attrs.array_num_value(30) := p_source_128;
59290 l_rec_acct_attrs.array_char_value(32) := p_source_66;
59287 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
59288 l_rec_acct_attrs.array_date_value(31) := p_source_65;
59289 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
59291 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
59292 l_rec_acct_attrs.array_date_value(33) := p_source_67;
59293 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
59294 l_rec_acct_attrs.array_char_value(34) := p_source_68;
59295 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
59296 l_rec_acct_attrs.array_num_value(35) := p_source_69;
59297 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
59298 l_rec_acct_attrs.array_num_value(36) := p_source_70;
59299 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
59300 l_rec_acct_attrs.array_char_value(37) := p_source_71;
59301 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
59302 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
59303 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
59304 l_rec_acct_attrs.array_char_value(39) := p_source_43;
59305 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
59306 l_rec_acct_attrs.array_num_value(40) := p_source_74;
59307 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
59308 l_rec_acct_attrs.array_num_value(41) := p_source_75;
59309 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
59310 l_rec_acct_attrs.array_num_value(42) := p_source_76;
59311 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
59312 l_rec_acct_attrs.array_num_value(43) := p_source_77;
59313 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
59314 l_rec_acct_attrs.array_num_value(44) := p_source_78;
59315
59316 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59317 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59318
59319 ---------------------------------------------------------------------------------------------------------------
59320 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59321 ---------------------------------------------------------------------------------------------------------------
59322 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59323
59324 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59325 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59326
59327 IF xla_accounting_cache_pkg.GetValueChar
59328 (p_source_code => 'LEDGER_CATEGORY_CODE'
59329 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59330 AND l_bflow_method_code = 'PRIOR_ENTRY'
59331 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59332 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59333 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59334 )
59335 THEN
59336 xla_ae_lines_pkg.BflowUpgEntry
59337 (p_business_method_code => l_bflow_method_code
59338 ,p_business_class_code => l_bflow_class_code
59339 ,p_balance_type => l_balance_type_code);
59340 ELSE
59341 NULL;
59342 -- No business flow processing for business flow method of NONE.
59343 END IF;
59344
59345 --
59346 -- call analytical criteria
59347 --
59348
59349 --
59350 -- call description
59351 --
59352 -- No description or it is inherited.
59353 --
59354 -- call ADRs
59355 -- Bug 4922099
59356 --
59357 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59358 (NVL(l_actual_upg_option, 'N') = 'O') OR
59359 (NVL(l_enc_upg_option, 'N') = 'O')
59360 )
59361 THEN
59362 NULL;
59363 --
59364 --
59365
59366 l_ccid := AcctDerRule_40(
59367 p_application_id => p_application_id
59368 , p_ae_header_id => l_ae_header_id
59369 , p_source_3 => p_source_3
59370 , p_source_3_meaning => p_source_3_meaning
59371 , p_source_18 => p_source_18
59372 , p_source_37 => p_source_37
59373 , x_transaction_coa_id => l_adr_transaction_coa_id
59374 , x_accounting_coa_id => l_adr_accounting_coa_id
59375 , x_value_type_code => l_adr_value_type_code
59376 , p_side => 'NA'
59377 );
59378
59379 xla_ae_lines_pkg.set_ccid(
59380 p_code_combination_id => l_ccid
59381 , p_value_type_code => l_adr_value_type_code
59382 , p_transaction_coa_id => l_adr_transaction_coa_id
59383 , p_accounting_coa_id => l_adr_accounting_coa_id
59384 , p_adr_code => 'AP_ROUNDING'
59385 , p_adr_type_code => 'S'
59386 , p_component_type => l_component_type
59387 , p_component_code => l_component_code
59388 , p_component_type_code => l_component_type_code
59389 , p_component_appl_id => l_component_appl_id
59390 , p_amb_context_code => l_amb_context_code
59391 , p_side => 'NA'
59392 );
59393
59394
59395 --
59396 --
59400 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
59397 END IF;
59398 --
59399 -- Bug 4922099
59401 (NVL(l_enc_upg_option, 'N') = 'O')
59402 ) AND
59403 (l_bflow_method_code = 'PRIOR_ENTRY')
59404 )
59405 THEN
59406 IF
59407 --
59408 1 = 2
59409 --
59410 THEN
59411 xla_accounting_err_pkg.build_message
59412 (p_appli_s_name => 'XLA'
59413 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59414 ,p_token_1 => 'LINE_NUMBER'
59415 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
59416 ,p_token_2 => 'LINE_TYPE_NAME'
59417 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
59418 l_component_type
59419 ,l_component_code
59420 ,l_component_type_code
59421 ,l_component_appl_id
59422 ,l_amb_context_code
59423 ,l_entity_code
59424 ,l_event_class_code
59425 )
59426 ,p_token_3 => 'OWNER'
59427 ,p_value_3 => xla_lookups_pkg.get_meaning(
59428 p_lookup_type => 'XLA_OWNER_TYPE'
59429 ,p_lookup_code => l_component_type_code
59430 )
59431 ,p_token_4 => 'PRODUCT_NAME'
59432 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
59433 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
59434 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
59435 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
59436 ,p_ae_header_id => NULL
59437 );
59438
59439 IF (C_LEVEL_ERROR>= g_log_level) THEN
59440 trace
59441 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
59442 ,p_level => C_LEVEL_ERROR
59443 ,p_module => l_log_module);
59444 END IF;
59445 END IF;
59446 END IF;
59447 --
59448 --
59449 ------------------------------------------------------------------------------------------------
59450 -- 4219869 Business Flow
59451 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
59452 -- Prior Entry. Currently, the following code is always generated.
59453 ------------------------------------------------------------------------------------------------
59454 XLA_AE_LINES_PKG.ValidateCurrentLine;
59455
59456 ------------------------------------------------------------------------------------
59457 -- 4219869 Business Flow
59458 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
59459 ------------------------------------------------------------------------------------
59460 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59461
59462 ----------------------------------------------------------------------------------
59463 -- 4219869 Business Flow
59464 -- Update journal entry status -- Need to generate this within IF <condition>
59465 ----------------------------------------------------------------------------------
59466 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59467 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
59468 ,p_balance_type_code => l_balance_type_code
59469 );
59470
59471 -------------------------------------------------------------------------------------------
59472 -- 4262811 - Generate the Accrual Reversal lines
59473 -------------------------------------------------------------------------------------------
59474 BEGIN
59475 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
59476 (g_array_event(p_event_id).array_value_num('header_index'));
59477 IF l_acc_rev_flag IS NULL THEN
59478 l_acc_rev_flag := 'N';
59479 END IF;
59480 EXCEPTION
59481 WHEN OTHERS THEN
59482 l_acc_rev_flag := 'N';
59483 END;
59484 --
59485 IF (l_acc_rev_flag = 'Y') THEN
59486
59487 -- 4645092 ------------------------------------------------------------------------------
59488 -- To allow MPA report to determine if it should generate report process
59489 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
59493 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
59490 ------------------------------------------------------------------------------------------
59491
59492 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
59494 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
59495 -- call ADRs
59496 -- Bug 4922099
59497 --
59498 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59499 (NVL(l_actual_upg_option, 'N') = 'O') OR
59500 (NVL(l_enc_upg_option, 'N') = 'O')
59501 )
59502 THEN
59503 NULL;
59504 --
59505 --
59506
59507 l_ccid := AcctDerRule_40(
59508 p_application_id => p_application_id
59509 , p_ae_header_id => l_ae_header_id
59510 , p_source_3 => p_source_3
59511 , p_source_3_meaning => p_source_3_meaning
59512 , p_source_18 => p_source_18
59513 , p_source_37 => p_source_37
59514 , x_transaction_coa_id => l_adr_transaction_coa_id
59515 , x_accounting_coa_id => l_adr_accounting_coa_id
59516 , x_value_type_code => l_adr_value_type_code
59517 , p_side => 'NA'
59518 );
59519
59520 xla_ae_lines_pkg.set_ccid(
59521 p_code_combination_id => l_ccid
59522 , p_value_type_code => l_adr_value_type_code
59523 , p_transaction_coa_id => l_adr_transaction_coa_id
59524 , p_accounting_coa_id => l_adr_accounting_coa_id
59525 , p_adr_code => 'AP_ROUNDING'
59526 , p_adr_type_code => 'S'
59527 , p_component_type => l_component_type
59528 , p_component_code => l_component_code
59529 , p_component_type_code => l_component_type_code
59530 , p_component_appl_id => l_component_appl_id
59531 , p_amb_context_code => l_amb_context_code
59532 , p_side => 'NA'
59533 );
59534
59535
59536 --
59537 --
59538 END IF;
59539
59540 --
59541 -- Update the line information that should be overwritten
59542 --
59543 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
59544 p_header_num => 1);
59545 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
59546
59547 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
59548
59549 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
59550 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
59551 END IF;
59552
59553 --
59554 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
59555 --
59556 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
59557 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
59558 ELSE
59559 ---------------------------------------------------------------------------------------------------
59560 -- 4262811a Switch Sign
59561 ---------------------------------------------------------------------------------------------------
59562 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
59563 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59564 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59565 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
59566 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59567 -- 5132302
59568 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
59569 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
59570
59571 END IF;
59572
59573 -- 4955764
59574 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59575 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
59576
59577
59578 XLA_AE_LINES_PKG.ValidateCurrentLine;
59579 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
59580
59581 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
59582 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
59583 ,p_balance_type_code => l_balance_type_code);
59584
59585 END IF;
59586
59587 -----------------------------------------------------------------------------------------
59588 -- 4262811 Multiperiod Accounting
59589 -----------------------------------------------------------------------------------------
59590 -- No MPA option is assigned.
59591
59592
59593 END IF;
59594 END IF;
59595 --
59596
59597 --
59598 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59599 trace
59600 (p_msg => 'END of AcctLineType_119'
59601 ,p_level => C_LEVEL_PROCEDURE
59602 ,p_module => l_log_module);
59603 END IF;
59604 --
59605 EXCEPTION
59606 WHEN xla_exceptions_pkg.application_exception THEN
59607 RAISE;
59611 END AcctLineType_119;
59608 WHEN OTHERS THEN
59609 xla_exceptions_pkg.raise_message
59610 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_119');
59612 --
59613
59614 ---------------------------------------
59615 --
59616 -- PRIVATE FUNCTION
59617 -- AcctLineType_120
59618 --
59619 ---------------------------------------
59620 PROCEDURE AcctLineType_120 (
59621 p_application_id IN NUMBER
59622 ,p_event_id IN NUMBER
59623 ,p_calculate_acctd_flag IN VARCHAR2
59624 ,p_calculate_g_l_flag IN VARCHAR2
59625 ,p_actual_flag IN OUT VARCHAR2
59626 ,p_balance_type_code OUT VARCHAR2
59627 ,p_gain_or_loss_ref OUT VARCHAR2
59628
59629 --Automatic Offsets Value
59630 , p_source_3 IN VARCHAR2
59631 , p_source_3_meaning IN VARCHAR2
59632 --Invoice Distribution Account
59633 , p_source_18 IN NUMBER
59634 --Payables Options Rounding Account
59635 , p_source_37 IN NUMBER
59636 --Accounting Reversal Indicator
59637 , p_source_41 IN VARCHAR2
59638 --Distribution Link Type
59639 , p_source_43 IN VARCHAR2
59640 --Invoice Currency Code
59641 , p_source_55 IN VARCHAR2
59642 --Override Accounted Amount Indicator
59643 , p_source_68 IN VARCHAR2
59644 , p_source_68_meaning IN VARCHAR2
59645 --Third Party Type
59646 , p_source_71 IN VARCHAR2
59647 --Invoice Distribution Tax Line Identifier
59648 , p_source_74 IN NUMBER
59649 --Invoice Distribution Summary Tax Line Identifier
59650 , p_source_76 IN NUMBER
59651 --Business Flow Accounts Payable Application Identifier
59652 , p_source_79 IN NUMBER
59653 --When to Account for Payment Option
59654 , p_source_89 IN VARCHAR2
59655 --Payment Distribution Type
59656 , p_source_90 IN VARCHAR2
59657 , p_source_90_meaning IN VARCHAR2
59658 --Payment Distribution Amount
59659 , p_source_91 IN NUMBER
59660 --Business Flow Payment Distribution Type
59661 , p_source_92 IN VARCHAR2
59662 --Business Flow Payment Entity Code
59663 , p_source_93 IN VARCHAR2
59664 --Business Flow Payment Distribution Identifier
59665 , p_source_94 IN NUMBER
59666 --Business Flow Payment Identifier
59667 , p_source_95 IN NUMBER
59668 --Payment Distribution Identifier
59669 , p_source_96 IN NUMBER
59670 --Payment Supplier Identifier
59671 , p_source_102 IN NUMBER
59672 --Payment Supplier Site Identifier
59673 , p_source_103 IN NUMBER
59674 --Payment Distribution Reversed Identifier
59675 , p_source_104 IN NUMBER
59676 --Payment Distribution (Invoice Rate) Ledger Amount
59677 , p_source_109 IN NUMBER
59678 --Invoice Exchange Date
59679 , p_source_136 IN DATE
59680 --Invoice Exchange Rate
59681 , p_source_137 IN NUMBER
59682 --Invoice Exchange Rate Type
59683 , p_source_138 IN VARCHAR2
59684 )
59685 IS
59686
59687 l_component_type VARCHAR2(80);
59688 l_component_code VARCHAR2(30);
59689 l_component_type_code VARCHAR2(1);
59690 l_component_appl_id INTEGER;
59691 l_amb_context_code VARCHAR2(30);
59692 l_entity_code VARCHAR2(30);
59693 l_event_class_code VARCHAR2(30);
59694 l_ae_header_id NUMBER;
59695 l_event_type_code VARCHAR2(30);
59696 l_line_definition_code VARCHAR2(30);
59697 l_line_definition_owner_code VARCHAR2(1);
59698 --
59699 -- adr variables
59700 l_segment VARCHAR2(30);
59701 l_ccid NUMBER;
59702 l_adr_transaction_coa_id NUMBER;
59703 l_adr_accounting_coa_id NUMBER;
59704 l_adr_flexfield_segment_code VARCHAR2(30);
59705 l_adr_flex_value_set_id NUMBER;
59706 l_adr_value_type_code VARCHAR2(30);
59707 l_adr_value_combination_id NUMBER;
59708 l_adr_value_segment_code VARCHAR2(30);
59709
59710 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
59711 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
59712 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
59713 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
59714
59715 -- 4262811 Variables ------------------------------------------------------------------------------------------
59716 l_entered_amt_idx NUMBER;
59717 l_accted_amt_idx NUMBER;
59718 l_acc_rev_flag VARCHAR2(1);
59719 l_accrual_line_num NUMBER;
59720 l_tmp_amt NUMBER;
59721 l_acc_rev_natural_side_code VARCHAR2(1);
59722
59723 l_num_entries NUMBER;
59724 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
59725 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
59726 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
59727 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
59728 l_recog_line_1 NUMBER;
59729 l_recog_line_2 NUMBER;
59730
59731 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
59732 l_bflow_applied_to_amt NUMBER; -- 5132302
59733 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
59734
59735 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
59739
59736
59737 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
59738 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
59740 ---------------------------------------------------------------------------------------------------------------
59741
59742
59743 --
59744 -- bulk performance
59745 --
59746 l_balance_type_code VARCHAR2(1);
59747 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
59748 l_log_module VARCHAR2(240);
59749
59750 --
59751 -- Upgrade strategy
59752 --
59753 l_actual_upg_option VARCHAR2(1);
59754 l_enc_upg_option VARCHAR2(1);
59755
59756 --
59757 BEGIN
59758 --
59759 IF g_log_enabled THEN
59760 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_120';
59761 END IF;
59762 --
59763 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
59764
59765 trace
59766 (p_msg => 'BEGIN of AcctLineType_120'
59767 ,p_level => C_LEVEL_PROCEDURE
59768 ,p_module => l_log_module);
59769
59770 END IF;
59771 --
59772 l_component_type := 'AMB_JLT';
59773 l_component_code := 'AP_FINAL_PMT_ROUNDING_CLEAR';
59774 l_component_type_code := 'S';
59775 l_component_appl_id := 200;
59776 l_amb_context_code := 'DEFAULT';
59777 l_entity_code := 'AP_PAYMENTS';
59778 l_event_class_code := 'RECONCILED PAYMENTS';
59779 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
59780 l_line_definition_owner_code := 'S';
59781 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
59782 --
59783 l_balance_type_code := 'A';
59784 l_segment := NULL;
59785 l_ccid := NULL;
59786 l_adr_transaction_coa_id := NULL;
59787 l_adr_accounting_coa_id := NULL;
59788 l_adr_flexfield_segment_code := NULL;
59789 l_adr_flex_value_set_id := NULL;
59790 l_adr_value_type_code := NULL;
59791 l_adr_value_combination_id := NULL;
59792 l_adr_value_segment_code := NULL;
59793
59794 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
59795 l_bflow_class_code := ''; -- 4219869 Business Flow
59796 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
59797 l_budgetary_control_flag := 'N';
59798
59799 l_bflow_applied_to_amt_idx := NULL; -- 5132302
59800 l_bflow_applied_to_amt := NULL; -- 5132302
59801 l_entered_amt_idx := NULL; -- 4262811
59802 l_accted_amt_idx := NULL; -- 4262811
59803 l_acc_rev_flag := NULL; -- 4262811
59804 l_accrual_line_num := NULL; -- 4262811
59805 l_tmp_amt := NULL; -- 4262811
59806 --
59807
59808 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
59809 l_balance_type_code <> 'B' THEN
59810 IF NVL(p_source_89,'
59811 ') = 'CLEAR_CLEAR' AND
59812 NVL(p_source_90,'
59813 ') = 'FINAL PAYMENT ROUNDING'
59814 THEN
59815
59816 --
59817 XLA_AE_LINES_PKG.SetNewLine;
59818
59819 p_balance_type_code := l_balance_type_code;
59820 -- set the flag so later we will know whether the gain loss line needs to be created
59821
59822 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
59823 p_actual_flag :='A';
59824 END IF;
59825
59826 --
59827 -- bulk performance
59828 --
59829 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
59830 p_header_num => 0); -- 4262811
59831 --
59832 -- set accounting line options
59833 --
59834 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
59835 p_natural_side_code => 'D'
59836 , p_gain_or_loss_flag => 'N'
59837 , p_gl_transfer_mode_code => 'S'
59838 , p_acct_entry_type_code => 'A'
59839 , p_switch_side_flag => 'Y'
59840 , p_merge_duplicate_code => 'A'
59841 );
59842 --
59843 l_acc_rev_natural_side_code := 'C'; -- 4262811
59844 --
59845 --
59846 -- set accounting line type info
59847 --
59848 xla_ae_lines_pkg.SetAcctLineType
59849 (p_component_type => l_component_type
59850 ,p_event_type_code => l_event_type_code
59851 ,p_line_definition_owner_code => l_line_definition_owner_code
59852 ,p_line_definition_code => l_line_definition_code
59853 ,p_accounting_line_code => l_component_code
59854 ,p_accounting_line_type_code => l_component_type_code
59855 ,p_accounting_line_appl_id => l_component_appl_id
59856 ,p_amb_context_code => l_amb_context_code
59857 ,p_entity_code => l_entity_code
59858 ,p_event_class_code => l_event_class_code);
59859 --
59860 -- set accounting class
59861 --
59862 xla_ae_lines_pkg.SetAcctClass(
59863 p_accounting_class_code => 'ROUNDING'
59864 , p_ae_header_id => l_ae_header_id
59865 );
59866
59867 --
59868 -- set rounding class
59869 --
59870 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
59871 'ROUNDING';
59872
59873 --
59877 -- bulk performance
59874 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
59875 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
59876 --
59878 --
59879 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
59880
59881 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
59882 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
59883
59884 -- 4955764
59885 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
59886 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
59887
59888 -- 4458381 Public Sector Enh
59889
59890 --
59891 -- set accounting attributes for the line type
59892 --
59893 l_entered_amt_idx := 10;
59894 l_accted_amt_idx := 15;
59895 l_bflow_applied_to_amt_idx := 2; -- 5132302
59896 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
59897 l_rec_acct_attrs.array_char_value(1) := p_source_41;
59898 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
59899 l_rec_acct_attrs.array_num_value(2) := p_source_91;
59900 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
59901 l_rec_acct_attrs.array_num_value(3) := p_source_79;
59902 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
59903 l_rec_acct_attrs.array_char_value(4) := p_source_92;
59904 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
59905 l_rec_acct_attrs.array_char_value(5) := p_source_93;
59906 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
59907 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
59908 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
59909 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
59910 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
59911 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
59912 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
59913 l_rec_acct_attrs.array_char_value(9) := p_source_43;
59914 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
59915 l_rec_acct_attrs.array_num_value(10) := p_source_91;
59916 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
59917 l_rec_acct_attrs.array_char_value(11) := p_source_55;
59918 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
59919 l_rec_acct_attrs.array_date_value(12) := p_source_136;
59920 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
59921 l_rec_acct_attrs.array_num_value(13) := p_source_137;
59922 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
59923 l_rec_acct_attrs.array_char_value(14) := p_source_138;
59924 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
59925 l_rec_acct_attrs.array_num_value(15) := p_source_109;
59926 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
59927 l_rec_acct_attrs.array_char_value(16) := p_source_68;
59928 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
59929 l_rec_acct_attrs.array_num_value(17) := p_source_102;
59930 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
59931 l_rec_acct_attrs.array_num_value(18) := p_source_103;
59932 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
59933 l_rec_acct_attrs.array_char_value(19) := p_source_71;
59934 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
59935 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
59936 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
59937 l_rec_acct_attrs.array_char_value(21) := p_source_43;
59938 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
59939 l_rec_acct_attrs.array_num_value(22) := p_source_74;
59940 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
59941 l_rec_acct_attrs.array_num_value(23) := p_source_74;
59942 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
59943 l_rec_acct_attrs.array_num_value(24) := p_source_76;
59944
59945 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
59946 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
59947
59948 ---------------------------------------------------------------------------------------------------------------
59949 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
59950 ---------------------------------------------------------------------------------------------------------------
59951 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
59952
59953 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59954 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
59955
59956 IF xla_accounting_cache_pkg.GetValueChar
59957 (p_source_code => 'LEDGER_CATEGORY_CODE'
59958 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
59959 AND l_bflow_method_code = 'PRIOR_ENTRY'
59960 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
59961 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
59962 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
59963 )
59964 THEN
59965 xla_ae_lines_pkg.BflowUpgEntry
59969 ELSE
59966 (p_business_method_code => l_bflow_method_code
59967 ,p_business_class_code => l_bflow_class_code
59968 ,p_balance_type => l_balance_type_code);
59970 NULL;
59971 -- No business flow processing for business flow method of NONE.
59972 END IF;
59973
59974 --
59975 -- call analytical criteria
59976 --
59977
59978 --
59979 -- call description
59980 --
59981 -- No description or it is inherited.
59982 --
59983 -- call ADRs
59984 -- Bug 4922099
59985 --
59986 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
59987 (NVL(l_actual_upg_option, 'N') = 'O') OR
59988 (NVL(l_enc_upg_option, 'N') = 'O')
59989 )
59990 THEN
59991 NULL;
59992 --
59993 --
59994
59995 l_ccid := AcctDerRule_40(
59996 p_application_id => p_application_id
59997 , p_ae_header_id => l_ae_header_id
59998 , p_source_3 => p_source_3
59999 , p_source_3_meaning => p_source_3_meaning
60000 , p_source_18 => p_source_18
60001 , p_source_37 => p_source_37
60002 , x_transaction_coa_id => l_adr_transaction_coa_id
60003 , x_accounting_coa_id => l_adr_accounting_coa_id
60004 , x_value_type_code => l_adr_value_type_code
60005 , p_side => 'NA'
60006 );
60007
60008 xla_ae_lines_pkg.set_ccid(
60009 p_code_combination_id => l_ccid
60010 , p_value_type_code => l_adr_value_type_code
60011 , p_transaction_coa_id => l_adr_transaction_coa_id
60012 , p_accounting_coa_id => l_adr_accounting_coa_id
60013 , p_adr_code => 'AP_ROUNDING'
60014 , p_adr_type_code => 'S'
60015 , p_component_type => l_component_type
60016 , p_component_code => l_component_code
60017 , p_component_type_code => l_component_type_code
60018 , p_component_appl_id => l_component_appl_id
60019 , p_amb_context_code => l_amb_context_code
60020 , p_side => 'NA'
60021 );
60022
60023
60024 --
60025 --
60026 END IF;
60027 --
60028 -- Bug 4922099
60029 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60030 (NVL(l_enc_upg_option, 'N') = 'O')
60031 ) AND
60032 (l_bflow_method_code = 'PRIOR_ENTRY')
60033 )
60034 THEN
60035 IF
60036 --
60037 1 = 2
60038 --
60039 THEN
60040 xla_accounting_err_pkg.build_message
60041 (p_appli_s_name => 'XLA'
60042 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60043 ,p_token_1 => 'LINE_NUMBER'
60044 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60045 ,p_token_2 => 'LINE_TYPE_NAME'
60046 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60047 l_component_type
60048 ,l_component_code
60049 ,l_component_type_code
60050 ,l_component_appl_id
60051 ,l_amb_context_code
60052 ,l_entity_code
60053 ,l_event_class_code
60054 )
60055 ,p_token_3 => 'OWNER'
60056 ,p_value_3 => xla_lookups_pkg.get_meaning(
60057 p_lookup_type => 'XLA_OWNER_TYPE'
60058 ,p_lookup_code => l_component_type_code
60059 )
60060 ,p_token_4 => 'PRODUCT_NAME'
60061 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60062 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60063 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60064 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60065 ,p_ae_header_id => NULL
60066 );
60067
60068 IF (C_LEVEL_ERROR>= g_log_level) THEN
60069 trace
60070 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60071 ,p_level => C_LEVEL_ERROR
60072 ,p_module => l_log_module);
60073 END IF;
60074 END IF;
60075 END IF;
60076 --
60077 --
60078 ------------------------------------------------------------------------------------------------
60082 ------------------------------------------------------------------------------------------------
60079 -- 4219869 Business Flow
60080 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60081 -- Prior Entry. Currently, the following code is always generated.
60083 XLA_AE_LINES_PKG.ValidateCurrentLine;
60084
60085 ------------------------------------------------------------------------------------
60086 -- 4219869 Business Flow
60087 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60088 ------------------------------------------------------------------------------------
60089 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60090
60091 ----------------------------------------------------------------------------------
60092 -- 4219869 Business Flow
60093 -- Update journal entry status -- Need to generate this within IF <condition>
60094 ----------------------------------------------------------------------------------
60095 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60096 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60097 ,p_balance_type_code => l_balance_type_code
60098 );
60099
60100 -------------------------------------------------------------------------------------------
60101 -- 4262811 - Generate the Accrual Reversal lines
60102 -------------------------------------------------------------------------------------------
60103 BEGIN
60104 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60105 (g_array_event(p_event_id).array_value_num('header_index'));
60106 IF l_acc_rev_flag IS NULL THEN
60107 l_acc_rev_flag := 'N';
60108 END IF;
60109 EXCEPTION
60110 WHEN OTHERS THEN
60111 l_acc_rev_flag := 'N';
60112 END;
60113 --
60114 IF (l_acc_rev_flag = 'Y') THEN
60115
60116 -- 4645092 ------------------------------------------------------------------------------
60117 -- To allow MPA report to determine if it should generate report process
60118 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60119 ------------------------------------------------------------------------------------------
60120
60121 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60122 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60123 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60124 -- call ADRs
60125 -- Bug 4922099
60126 --
60127 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60128 (NVL(l_actual_upg_option, 'N') = 'O') OR
60129 (NVL(l_enc_upg_option, 'N') = 'O')
60130 )
60131 THEN
60132 NULL;
60133 --
60134 --
60135
60136 l_ccid := AcctDerRule_40(
60137 p_application_id => p_application_id
60138 , p_ae_header_id => l_ae_header_id
60139 , p_source_3 => p_source_3
60140 , p_source_3_meaning => p_source_3_meaning
60141 , p_source_18 => p_source_18
60142 , p_source_37 => p_source_37
60143 , x_transaction_coa_id => l_adr_transaction_coa_id
60144 , x_accounting_coa_id => l_adr_accounting_coa_id
60145 , x_value_type_code => l_adr_value_type_code
60146 , p_side => 'NA'
60147 );
60148
60149 xla_ae_lines_pkg.set_ccid(
60150 p_code_combination_id => l_ccid
60151 , p_value_type_code => l_adr_value_type_code
60152 , p_transaction_coa_id => l_adr_transaction_coa_id
60153 , p_accounting_coa_id => l_adr_accounting_coa_id
60154 , p_adr_code => 'AP_ROUNDING'
60155 , p_adr_type_code => 'S'
60156 , p_component_type => l_component_type
60157 , p_component_code => l_component_code
60158 , p_component_type_code => l_component_type_code
60159 , p_component_appl_id => l_component_appl_id
60160 , p_amb_context_code => l_amb_context_code
60161 , p_side => 'NA'
60162 );
60163
60164
60165 --
60166 --
60167 END IF;
60168
60169 --
60170 -- Update the line information that should be overwritten
60171 --
60172 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60173 p_header_num => 1);
60174 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60175
60176 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60177
60178 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60179 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60180 END IF;
60181
60182 --
60183 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60184 --
60185 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60186 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60187 ELSE
60188 ---------------------------------------------------------------------------------------------------
60189 -- 4262811a Switch Sign
60193 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60190 ---------------------------------------------------------------------------------------------------
60191 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60192 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60194 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60195 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60196 -- 5132302
60197 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60198 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60199
60200 END IF;
60201
60202 -- 4955764
60203 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60204 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60205
60206
60207 XLA_AE_LINES_PKG.ValidateCurrentLine;
60208 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60209
60210 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60211 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60212 ,p_balance_type_code => l_balance_type_code);
60213
60214 END IF;
60215
60216 -----------------------------------------------------------------------------------------
60217 -- 4262811 Multiperiod Accounting
60218 -----------------------------------------------------------------------------------------
60219 -- No MPA option is assigned.
60220
60221
60222 END IF;
60223 END IF;
60224 --
60225
60226 --
60227 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60228 trace
60229 (p_msg => 'END of AcctLineType_120'
60230 ,p_level => C_LEVEL_PROCEDURE
60231 ,p_module => l_log_module);
60232 END IF;
60233 --
60234 EXCEPTION
60235 WHEN xla_exceptions_pkg.application_exception THEN
60236 RAISE;
60237 WHEN OTHERS THEN
60238 xla_exceptions_pkg.raise_message
60239 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_120');
60240 END AcctLineType_120;
60241 --
60242
60243 ---------------------------------------
60244 --
60245 -- PRIVATE FUNCTION
60246 -- AcctLineType_121
60247 --
60248 ---------------------------------------
60249 PROCEDURE AcctLineType_121 (
60250 p_application_id IN NUMBER
60251 ,p_event_id IN NUMBER
60252 ,p_calculate_acctd_flag IN VARCHAR2
60253 ,p_calculate_g_l_flag IN VARCHAR2
60254 ,p_actual_flag IN OUT VARCHAR2
60255 ,p_balance_type_code OUT VARCHAR2
60256 ,p_gain_or_loss_ref OUT VARCHAR2
60257
60258 --Automatic Offsets Value
60259 , p_source_3 IN VARCHAR2
60260 , p_source_3_meaning IN VARCHAR2
60261 --Invoice Distribution Account
60262 , p_source_18 IN NUMBER
60263 --Payables Options Rounding Account
60264 , p_source_37 IN NUMBER
60265 --Accounting Reversal Indicator
60266 , p_source_41 IN VARCHAR2
60267 --Distribution Link Type
60268 , p_source_43 IN VARCHAR2
60269 --Invoice Currency Code
60270 , p_source_55 IN VARCHAR2
60271 --Override Accounted Amount Indicator
60272 , p_source_68 IN VARCHAR2
60273 , p_source_68_meaning IN VARCHAR2
60274 --Third Party Type
60275 , p_source_71 IN VARCHAR2
60276 --Invoice Distribution Tax Line Identifier
60277 , p_source_74 IN NUMBER
60278 --Invoice Distribution Tax Distribution Identifier from Tax
60279 , p_source_75 IN NUMBER
60280 --Invoice Distribution Summary Tax Line Identifier
60281 , p_source_76 IN NUMBER
60282 --Business Flow Accounts Payable Application Identifier
60283 , p_source_79 IN NUMBER
60284 --Business Flow Invoice Distribution Type
60285 , p_source_80 IN VARCHAR2
60286 --Business Flow Invoice Entity Code
60287 , p_source_81 IN VARCHAR2
60288 --Business Flow Invoice Distribution Identifier
60289 , p_source_82 IN NUMBER
60290 --Business Flow Invoice Identifier
60291 , p_source_83 IN NUMBER
60292 --When to Account for Payment Option
60293 , p_source_89 IN VARCHAR2
60294 --Payment Distribution Type
60295 , p_source_90 IN VARCHAR2
60296 , p_source_90_meaning IN VARCHAR2
60297 --Payment Distribution Amount
60298 , p_source_91 IN NUMBER
60299 --Payment Distribution Identifier
60300 , p_source_96 IN NUMBER
60301 --Payment Supplier Identifier
60302 , p_source_102 IN NUMBER
60303 --Payment Supplier Site Identifier
60304 , p_source_103 IN NUMBER
60305 --Payment Distribution Reversed Identifier
60306 , p_source_104 IN NUMBER
60307 --Payment Distribution (Invoice Rate) Ledger Amount
60308 , p_source_109 IN NUMBER
60309 --Payment Type
60310 , p_source_115 IN VARCHAR2
60311 , p_source_115_meaning IN VARCHAR2
60312 --Payment Processing Type
60313 , p_source_116 IN VARCHAR2
60314 --Invoice Distribution Amount of the Payment Distribution
60315 , p_source_117 IN NUMBER
60316 --Invoice Exchange Date
60320 --Invoice Exchange Rate Type
60317 , p_source_136 IN DATE
60318 --Invoice Exchange Rate
60319 , p_source_137 IN NUMBER
60321 , p_source_138 IN VARCHAR2
60322 )
60323 IS
60324
60325 l_component_type VARCHAR2(80);
60326 l_component_code VARCHAR2(30);
60327 l_component_type_code VARCHAR2(1);
60328 l_component_appl_id INTEGER;
60329 l_amb_context_code VARCHAR2(30);
60330 l_entity_code VARCHAR2(30);
60331 l_event_class_code VARCHAR2(30);
60332 l_ae_header_id NUMBER;
60333 l_event_type_code VARCHAR2(30);
60334 l_line_definition_code VARCHAR2(30);
60335 l_line_definition_owner_code VARCHAR2(1);
60336 --
60337 -- adr variables
60338 l_segment VARCHAR2(30);
60339 l_ccid NUMBER;
60340 l_adr_transaction_coa_id NUMBER;
60341 l_adr_accounting_coa_id NUMBER;
60342 l_adr_flexfield_segment_code VARCHAR2(30);
60343 l_adr_flex_value_set_id NUMBER;
60344 l_adr_value_type_code VARCHAR2(30);
60345 l_adr_value_combination_id NUMBER;
60346 l_adr_value_segment_code VARCHAR2(30);
60347
60348 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60349 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60350 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60351 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60352
60353 -- 4262811 Variables ------------------------------------------------------------------------------------------
60354 l_entered_amt_idx NUMBER;
60355 l_accted_amt_idx NUMBER;
60356 l_acc_rev_flag VARCHAR2(1);
60357 l_accrual_line_num NUMBER;
60358 l_tmp_amt NUMBER;
60359 l_acc_rev_natural_side_code VARCHAR2(1);
60360
60361 l_num_entries NUMBER;
60362 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
60363 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
60364 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
60365 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
60366 l_recog_line_1 NUMBER;
60367 l_recog_line_2 NUMBER;
60368
60369 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
60370 l_bflow_applied_to_amt NUMBER; -- 5132302
60371 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
60372
60373 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
60374
60375 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
60376 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
60377
60378 ---------------------------------------------------------------------------------------------------------------
60379
60380
60381 --
60382 -- bulk performance
60383 --
60384 l_balance_type_code VARCHAR2(1);
60385 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
60386 l_log_module VARCHAR2(240);
60387
60388 --
60389 -- Upgrade strategy
60390 --
60391 l_actual_upg_option VARCHAR2(1);
60392 l_enc_upg_option VARCHAR2(1);
60393
60394 --
60395 BEGIN
60396 --
60397 IF g_log_enabled THEN
60398 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_121';
60399 END IF;
60400 --
60401 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60402
60403 trace
60404 (p_msg => 'BEGIN of AcctLineType_121'
60405 ,p_level => C_LEVEL_PROCEDURE
60406 ,p_module => l_log_module);
60407
60408 END IF;
60409 --
60410 l_component_type := 'AMB_JLT';
60411 l_component_code := 'AP_FINAL_PMT_ROUNDING_PMT';
60412 l_component_type_code := 'S';
60413 l_component_appl_id := 200;
60414 l_amb_context_code := 'DEFAULT';
60415 l_entity_code := 'AP_PAYMENTS';
60416 l_event_class_code := 'PAYMENTS';
60417 l_event_type_code := 'PAYMENTS_ALL';
60418 l_line_definition_owner_code := 'S';
60419 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
60420 --
60421 l_balance_type_code := 'A';
60422 l_segment := NULL;
60423 l_ccid := NULL;
60424 l_adr_transaction_coa_id := NULL;
60425 l_adr_accounting_coa_id := NULL;
60426 l_adr_flexfield_segment_code := NULL;
60427 l_adr_flex_value_set_id := NULL;
60428 l_adr_value_type_code := NULL;
60429 l_adr_value_combination_id := NULL;
60430 l_adr_value_segment_code := NULL;
60431
60432 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
60433 l_bflow_class_code := ''; -- 4219869 Business Flow
60434 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
60435 l_budgetary_control_flag := 'N';
60436
60437 l_bflow_applied_to_amt_idx := NULL; -- 5132302
60438 l_bflow_applied_to_amt := NULL; -- 5132302
60439 l_entered_amt_idx := NULL; -- 4262811
60440 l_accted_amt_idx := NULL; -- 4262811
60441 l_acc_rev_flag := NULL; -- 4262811
60442 l_accrual_line_num := NULL; -- 4262811
60443 l_tmp_amt := NULL; -- 4262811
60444 --
60445
60449 ') <> 'CLEAR_CLEAR' AND
60446 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
60447 l_balance_type_code <> 'B' THEN
60448 IF NVL(p_source_89,'
60450 NVL(p_source_90,'
60451 ') = 'FINAL PAYMENT ROUNDING' AND
60452 NVL(p_source_115,'
60453 ') <> 'R' AND
60454 NVL(p_source_116,'
60455 ') <> 'PAYMENTCARD'
60456 THEN
60457
60458 --
60459 XLA_AE_LINES_PKG.SetNewLine;
60460
60461 p_balance_type_code := l_balance_type_code;
60462 -- set the flag so later we will know whether the gain loss line needs to be created
60463
60464 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
60465 p_actual_flag :='A';
60466 END IF;
60467
60468 --
60469 -- bulk performance
60470 --
60471 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
60472 p_header_num => 0); -- 4262811
60473 --
60474 -- set accounting line options
60475 --
60476 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
60477 p_natural_side_code => 'D'
60478 , p_gain_or_loss_flag => 'N'
60479 , p_gl_transfer_mode_code => 'S'
60480 , p_acct_entry_type_code => 'A'
60481 , p_switch_side_flag => 'Y'
60482 , p_merge_duplicate_code => 'A'
60483 );
60484 --
60485 l_acc_rev_natural_side_code := 'C'; -- 4262811
60486 --
60487 --
60488 -- set accounting line type info
60489 --
60490 xla_ae_lines_pkg.SetAcctLineType
60491 (p_component_type => l_component_type
60492 ,p_event_type_code => l_event_type_code
60493 ,p_line_definition_owner_code => l_line_definition_owner_code
60494 ,p_line_definition_code => l_line_definition_code
60495 ,p_accounting_line_code => l_component_code
60496 ,p_accounting_line_type_code => l_component_type_code
60497 ,p_accounting_line_appl_id => l_component_appl_id
60498 ,p_amb_context_code => l_amb_context_code
60499 ,p_entity_code => l_entity_code
60500 ,p_event_class_code => l_event_class_code);
60501 --
60502 -- set accounting class
60503 --
60504 xla_ae_lines_pkg.SetAcctClass(
60505 p_accounting_class_code => 'ROUNDING'
60506 , p_ae_header_id => l_ae_header_id
60507 );
60508
60509 --
60510 -- set rounding class
60511 --
60512 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
60513 'ROUNDING';
60514
60515 --
60516 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
60517 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
60518 --
60519 -- bulk performance
60520 --
60521 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
60522
60523 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
60524 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
60525
60526 -- 4955764
60527 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60528 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
60529
60530 -- 4458381 Public Sector Enh
60531
60532 --
60533 -- set accounting attributes for the line type
60534 --
60535 l_entered_amt_idx := 10;
60536 l_accted_amt_idx := 15;
60537 l_bflow_applied_to_amt_idx := 2; -- 5132302
60538 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
60539 l_rec_acct_attrs.array_char_value(1) := p_source_41;
60540 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
60541 l_rec_acct_attrs.array_num_value(2) := p_source_117;
60542 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
60543 l_rec_acct_attrs.array_num_value(3) := p_source_79;
60544 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
60545 l_rec_acct_attrs.array_char_value(4) := p_source_80;
60546 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
60547 l_rec_acct_attrs.array_char_value(5) := p_source_81;
60548 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
60549 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
60550 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
60551 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
60552 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
60553 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
60554 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
60555 l_rec_acct_attrs.array_char_value(9) := p_source_43;
60556 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
60557 l_rec_acct_attrs.array_num_value(10) := p_source_91;
60558 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
60559 l_rec_acct_attrs.array_char_value(11) := p_source_55;
60560 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
60561 l_rec_acct_attrs.array_date_value(12) := p_source_136;
60562 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
60566 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
60563 l_rec_acct_attrs.array_num_value(13) := p_source_137;
60564 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
60565 l_rec_acct_attrs.array_char_value(14) := p_source_138;
60567 l_rec_acct_attrs.array_num_value(15) := p_source_109;
60568 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
60569 l_rec_acct_attrs.array_char_value(16) := p_source_68;
60570 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
60571 l_rec_acct_attrs.array_num_value(17) := p_source_102;
60572 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
60573 l_rec_acct_attrs.array_num_value(18) := p_source_103;
60574 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
60575 l_rec_acct_attrs.array_char_value(19) := p_source_71;
60576 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
60577 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
60578 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
60579 l_rec_acct_attrs.array_char_value(21) := p_source_43;
60580 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
60581 l_rec_acct_attrs.array_num_value(22) := p_source_74;
60582 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
60583 l_rec_acct_attrs.array_num_value(23) := p_source_75;
60584 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
60585 l_rec_acct_attrs.array_num_value(24) := p_source_76;
60586
60587 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
60588 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
60589
60590 ---------------------------------------------------------------------------------------------------------------
60591 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
60592 ---------------------------------------------------------------------------------------------------------------
60593 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
60594
60595 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60596 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
60597
60598 IF xla_accounting_cache_pkg.GetValueChar
60599 (p_source_code => 'LEDGER_CATEGORY_CODE'
60600 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
60601 AND l_bflow_method_code = 'PRIOR_ENTRY'
60602 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
60603 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
60604 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
60605 )
60606 THEN
60607 xla_ae_lines_pkg.BflowUpgEntry
60608 (p_business_method_code => l_bflow_method_code
60609 ,p_business_class_code => l_bflow_class_code
60610 ,p_balance_type => l_balance_type_code);
60611 ELSE
60612 NULL;
60613 -- No business flow processing for business flow method of NONE.
60614 END IF;
60615
60616 --
60617 -- call analytical criteria
60618 --
60619
60620 --
60621 -- call description
60622 --
60623 -- No description or it is inherited.
60624 --
60625 -- call ADRs
60626 -- Bug 4922099
60627 --
60628 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60629 (NVL(l_actual_upg_option, 'N') = 'O') OR
60630 (NVL(l_enc_upg_option, 'N') = 'O')
60631 )
60632 THEN
60633 NULL;
60634 --
60635 --
60636
60637 l_ccid := AcctDerRule_40(
60638 p_application_id => p_application_id
60639 , p_ae_header_id => l_ae_header_id
60640 , p_source_3 => p_source_3
60641 , p_source_3_meaning => p_source_3_meaning
60642 , p_source_18 => p_source_18
60643 , p_source_37 => p_source_37
60644 , x_transaction_coa_id => l_adr_transaction_coa_id
60645 , x_accounting_coa_id => l_adr_accounting_coa_id
60646 , x_value_type_code => l_adr_value_type_code
60647 , p_side => 'NA'
60648 );
60649
60650 xla_ae_lines_pkg.set_ccid(
60651 p_code_combination_id => l_ccid
60652 , p_value_type_code => l_adr_value_type_code
60653 , p_transaction_coa_id => l_adr_transaction_coa_id
60654 , p_accounting_coa_id => l_adr_accounting_coa_id
60655 , p_adr_code => 'AP_ROUNDING'
60656 , p_adr_type_code => 'S'
60657 , p_component_type => l_component_type
60658 , p_component_code => l_component_code
60659 , p_component_type_code => l_component_type_code
60660 , p_component_appl_id => l_component_appl_id
60661 , p_amb_context_code => l_amb_context_code
60662 , p_side => 'NA'
60663 );
60664
60665
60666 --
60667 --
60668 END IF;
60669 --
60670 -- Bug 4922099
60671 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
60672 (NVL(l_enc_upg_option, 'N') = 'O')
60673 ) AND
60674 (l_bflow_method_code = 'PRIOR_ENTRY')
60675 )
60676 THEN
60677 IF
60678 --
60679 1 = 2
60680 --
60681 THEN
60682 xla_accounting_err_pkg.build_message
60686 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
60683 (p_appli_s_name => 'XLA'
60684 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60685 ,p_token_1 => 'LINE_NUMBER'
60687 ,p_token_2 => 'LINE_TYPE_NAME'
60688 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
60689 l_component_type
60690 ,l_component_code
60691 ,l_component_type_code
60692 ,l_component_appl_id
60693 ,l_amb_context_code
60694 ,l_entity_code
60695 ,l_event_class_code
60696 )
60697 ,p_token_3 => 'OWNER'
60698 ,p_value_3 => xla_lookups_pkg.get_meaning(
60699 p_lookup_type => 'XLA_OWNER_TYPE'
60700 ,p_lookup_code => l_component_type_code
60701 )
60702 ,p_token_4 => 'PRODUCT_NAME'
60703 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
60704 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
60705 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
60706 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
60707 ,p_ae_header_id => NULL
60708 );
60709
60710 IF (C_LEVEL_ERROR>= g_log_level) THEN
60711 trace
60712 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
60713 ,p_level => C_LEVEL_ERROR
60714 ,p_module => l_log_module);
60715 END IF;
60716 END IF;
60717 END IF;
60718 --
60719 --
60720 ------------------------------------------------------------------------------------------------
60721 -- 4219869 Business Flow
60722 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
60723 -- Prior Entry. Currently, the following code is always generated.
60724 ------------------------------------------------------------------------------------------------
60725 XLA_AE_LINES_PKG.ValidateCurrentLine;
60726
60727 ------------------------------------------------------------------------------------
60728 -- 4219869 Business Flow
60729 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
60730 ------------------------------------------------------------------------------------
60731 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60732
60733 ----------------------------------------------------------------------------------
60734 -- 4219869 Business Flow
60735 -- Update journal entry status -- Need to generate this within IF <condition>
60736 ----------------------------------------------------------------------------------
60737 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60738 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
60739 ,p_balance_type_code => l_balance_type_code
60740 );
60741
60742 -------------------------------------------------------------------------------------------
60743 -- 4262811 - Generate the Accrual Reversal lines
60744 -------------------------------------------------------------------------------------------
60745 BEGIN
60746 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
60747 (g_array_event(p_event_id).array_value_num('header_index'));
60748 IF l_acc_rev_flag IS NULL THEN
60749 l_acc_rev_flag := 'N';
60750 END IF;
60751 EXCEPTION
60752 WHEN OTHERS THEN
60753 l_acc_rev_flag := 'N';
60754 END;
60755 --
60756 IF (l_acc_rev_flag = 'Y') THEN
60757
60758 -- 4645092 ------------------------------------------------------------------------------
60759 -- To allow MPA report to determine if it should generate report process
60760 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
60761 ------------------------------------------------------------------------------------------
60762
60763 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
60764 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
60765 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
60766 -- call ADRs
60767 -- Bug 4922099
60768 --
60769 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
60770 (NVL(l_actual_upg_option, 'N') = 'O') OR
60774 NULL;
60771 (NVL(l_enc_upg_option, 'N') = 'O')
60772 )
60773 THEN
60775 --
60776 --
60777
60778 l_ccid := AcctDerRule_40(
60779 p_application_id => p_application_id
60780 , p_ae_header_id => l_ae_header_id
60781 , p_source_3 => p_source_3
60782 , p_source_3_meaning => p_source_3_meaning
60783 , p_source_18 => p_source_18
60784 , p_source_37 => p_source_37
60785 , x_transaction_coa_id => l_adr_transaction_coa_id
60786 , x_accounting_coa_id => l_adr_accounting_coa_id
60787 , x_value_type_code => l_adr_value_type_code
60788 , p_side => 'NA'
60789 );
60790
60791 xla_ae_lines_pkg.set_ccid(
60792 p_code_combination_id => l_ccid
60793 , p_value_type_code => l_adr_value_type_code
60794 , p_transaction_coa_id => l_adr_transaction_coa_id
60795 , p_accounting_coa_id => l_adr_accounting_coa_id
60796 , p_adr_code => 'AP_ROUNDING'
60797 , p_adr_type_code => 'S'
60798 , p_component_type => l_component_type
60799 , p_component_code => l_component_code
60800 , p_component_type_code => l_component_type_code
60801 , p_component_appl_id => l_component_appl_id
60802 , p_amb_context_code => l_amb_context_code
60803 , p_side => 'NA'
60804 );
60805
60806
60807 --
60808 --
60809 END IF;
60810
60811 --
60812 -- Update the line information that should be overwritten
60813 --
60814 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
60815 p_header_num => 1);
60816 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
60817
60818 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
60819
60820 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
60821 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
60822 END IF;
60823
60824 --
60825 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
60826 --
60827 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
60828 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
60829 ELSE
60830 ---------------------------------------------------------------------------------------------------
60831 -- 4262811a Switch Sign
60832 ---------------------------------------------------------------------------------------------------
60833 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
60834 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60835 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60836 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
60837 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60838 -- 5132302
60839 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
60840 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
60841
60842 END IF;
60843
60844 -- 4955764
60845 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
60846 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
60847
60848
60849 XLA_AE_LINES_PKG.ValidateCurrentLine;
60850 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
60851
60852 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
60853 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
60854 ,p_balance_type_code => l_balance_type_code);
60855
60856 END IF;
60857
60858 -----------------------------------------------------------------------------------------
60859 -- 4262811 Multiperiod Accounting
60860 -----------------------------------------------------------------------------------------
60861 -- No MPA option is assigned.
60862
60863
60864 END IF;
60865 END IF;
60866 --
60867
60868 --
60869 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
60870 trace
60871 (p_msg => 'END of AcctLineType_121'
60872 ,p_level => C_LEVEL_PROCEDURE
60873 ,p_module => l_log_module);
60874 END IF;
60875 --
60876 EXCEPTION
60877 WHEN xla_exceptions_pkg.application_exception THEN
60878 RAISE;
60879 WHEN OTHERS THEN
60880 xla_exceptions_pkg.raise_message
60881 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_121');
60882 END AcctLineType_121;
60883 --
60884
60885 ---------------------------------------
60886 --
60887 -- PRIVATE FUNCTION
60888 -- AcctLineType_122
60889 --
60890 ---------------------------------------
60891 PROCEDURE AcctLineType_122 (
60892 p_application_id IN NUMBER
60893 ,p_event_id IN NUMBER
60897 ,p_balance_type_code OUT VARCHAR2
60894 ,p_calculate_acctd_flag IN VARCHAR2
60895 ,p_calculate_g_l_flag IN VARCHAR2
60896 ,p_actual_flag IN OUT VARCHAR2
60898 ,p_gain_or_loss_ref OUT VARCHAR2
60899
60900 --Automatic Offsets Value
60901 , p_source_3 IN VARCHAR2
60902 , p_source_3_meaning IN VARCHAR2
60903 --Invoice Distribution Account
60904 , p_source_18 IN NUMBER
60905 --Payables Options Rounding Account
60906 , p_source_37 IN NUMBER
60907 --Accounting Reversal Indicator
60908 , p_source_41 IN VARCHAR2
60909 --Distribution Link Type
60910 , p_source_43 IN VARCHAR2
60911 --Invoice Currency Code
60912 , p_source_55 IN VARCHAR2
60913 --Override Accounted Amount Indicator
60914 , p_source_68 IN VARCHAR2
60915 , p_source_68_meaning IN VARCHAR2
60916 --Third Party Type
60917 , p_source_71 IN VARCHAR2
60918 --Invoice Distribution Tax Line Identifier
60919 , p_source_74 IN NUMBER
60920 --Invoice Distribution Tax Distribution Identifier from Tax
60921 , p_source_75 IN NUMBER
60922 --Invoice Distribution Summary Tax Line Identifier
60923 , p_source_76 IN NUMBER
60924 --Business Flow Accounts Payable Application Identifier
60925 , p_source_79 IN NUMBER
60926 --Business Flow Invoice Distribution Type
60927 , p_source_80 IN VARCHAR2
60928 --Business Flow Invoice Entity Code
60929 , p_source_81 IN VARCHAR2
60930 --Business Flow Invoice Distribution Identifier
60931 , p_source_82 IN NUMBER
60932 --Business Flow Invoice Identifier
60933 , p_source_83 IN NUMBER
60934 --When to Account for Payment Option
60935 , p_source_89 IN VARCHAR2
60936 --Payment Distribution Type
60937 , p_source_90 IN VARCHAR2
60938 , p_source_90_meaning IN VARCHAR2
60939 --Payment Distribution Amount
60940 , p_source_91 IN NUMBER
60941 --Payment Distribution Identifier
60942 , p_source_96 IN NUMBER
60943 --Payment Supplier Identifier
60944 , p_source_102 IN NUMBER
60945 --Payment Supplier Site Identifier
60946 , p_source_103 IN NUMBER
60947 --Payment Distribution Reversed Identifier
60948 , p_source_104 IN NUMBER
60949 --Payment Distribution (Invoice Rate) Ledger Amount
60950 , p_source_109 IN NUMBER
60951 --Payment Type
60952 , p_source_115 IN VARCHAR2
60953 , p_source_115_meaning IN VARCHAR2
60954 --Invoice Exchange Date
60955 , p_source_136 IN DATE
60956 --Invoice Exchange Rate
60957 , p_source_137 IN NUMBER
60958 --Invoice Exchange Rate Type
60959 , p_source_138 IN VARCHAR2
60960 )
60961 IS
60962
60963 l_component_type VARCHAR2(80);
60964 l_component_code VARCHAR2(30);
60965 l_component_type_code VARCHAR2(1);
60966 l_component_appl_id INTEGER;
60967 l_amb_context_code VARCHAR2(30);
60968 l_entity_code VARCHAR2(30);
60969 l_event_class_code VARCHAR2(30);
60970 l_ae_header_id NUMBER;
60971 l_event_type_code VARCHAR2(30);
60972 l_line_definition_code VARCHAR2(30);
60973 l_line_definition_owner_code VARCHAR2(1);
60974 --
60975 -- adr variables
60976 l_segment VARCHAR2(30);
60977 l_ccid NUMBER;
60978 l_adr_transaction_coa_id NUMBER;
60979 l_adr_accounting_coa_id NUMBER;
60980 l_adr_flexfield_segment_code VARCHAR2(30);
60981 l_adr_flex_value_set_id NUMBER;
60982 l_adr_value_type_code VARCHAR2(30);
60983 l_adr_value_combination_id NUMBER;
60984 l_adr_value_segment_code VARCHAR2(30);
60985
60986 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
60987 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
60988 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
60989 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
60990
60991 -- 4262811 Variables ------------------------------------------------------------------------------------------
60992 l_entered_amt_idx NUMBER;
60993 l_accted_amt_idx NUMBER;
60994 l_acc_rev_flag VARCHAR2(1);
60995 l_accrual_line_num NUMBER;
60996 l_tmp_amt NUMBER;
60997 l_acc_rev_natural_side_code VARCHAR2(1);
60998
60999 l_num_entries NUMBER;
61000 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
61001 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
61002 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
61003 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
61004 l_recog_line_1 NUMBER;
61005 l_recog_line_2 NUMBER;
61006
61007 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
61008 l_bflow_applied_to_amt NUMBER; -- 5132302
61009 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
61010
61011 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
61012
61013 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
61014 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
61015
61019 --
61016 ---------------------------------------------------------------------------------------------------------------
61017
61018
61020 -- bulk performance
61021 --
61022 l_balance_type_code VARCHAR2(1);
61023 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
61024 l_log_module VARCHAR2(240);
61025
61026 --
61027 -- Upgrade strategy
61028 --
61029 l_actual_upg_option VARCHAR2(1);
61030 l_enc_upg_option VARCHAR2(1);
61031
61032 --
61033 BEGIN
61034 --
61035 IF g_log_enabled THEN
61036 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_122';
61037 END IF;
61038 --
61039 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61040
61041 trace
61042 (p_msg => 'BEGIN of AcctLineType_122'
61043 ,p_level => C_LEVEL_PROCEDURE
61044 ,p_module => l_log_module);
61045
61046 END IF;
61047 --
61048 l_component_type := 'AMB_JLT';
61049 l_component_code := 'AP_FINAL_PMT_ROUNDING_REF';
61050 l_component_type_code := 'S';
61051 l_component_appl_id := 200;
61052 l_amb_context_code := 'DEFAULT';
61053 l_entity_code := 'AP_PAYMENTS';
61054 l_event_class_code := 'REFUNDS';
61055 l_event_type_code := 'REFUNDS_ALL';
61056 l_line_definition_owner_code := 'S';
61057 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
61058 --
61059 l_balance_type_code := 'A';
61060 l_segment := NULL;
61061 l_ccid := NULL;
61062 l_adr_transaction_coa_id := NULL;
61063 l_adr_accounting_coa_id := NULL;
61064 l_adr_flexfield_segment_code := NULL;
61065 l_adr_flex_value_set_id := NULL;
61066 l_adr_value_type_code := NULL;
61067 l_adr_value_combination_id := NULL;
61068 l_adr_value_segment_code := NULL;
61069
61070 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
61071 l_bflow_class_code := ''; -- 4219869 Business Flow
61072 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
61073 l_budgetary_control_flag := 'N';
61074
61075 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61076 l_bflow_applied_to_amt := NULL; -- 5132302
61077 l_entered_amt_idx := NULL; -- 4262811
61078 l_accted_amt_idx := NULL; -- 4262811
61079 l_acc_rev_flag := NULL; -- 4262811
61080 l_accrual_line_num := NULL; -- 4262811
61081 l_tmp_amt := NULL; -- 4262811
61082 --
61083
61084 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
61085 l_balance_type_code <> 'B' THEN
61086 IF NVL(p_source_89,'
61087 ') <> 'CLEAR_CLEAR' AND
61088 NVL(p_source_90,'
61089 ') = 'FINAL PAYMENT ROUNDING' AND
61090 NVL(p_source_115,'
61091 ') = 'R'
61092 THEN
61093
61094 --
61095 XLA_AE_LINES_PKG.SetNewLine;
61096
61097 p_balance_type_code := l_balance_type_code;
61098 -- set the flag so later we will know whether the gain loss line needs to be created
61099
61100 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
61101 p_actual_flag :='A';
61102 END IF;
61103
61104 --
61105 -- bulk performance
61106 --
61107 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61108 p_header_num => 0); -- 4262811
61109 --
61110 -- set accounting line options
61111 --
61112 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61113 p_natural_side_code => 'D'
61114 , p_gain_or_loss_flag => 'N'
61115 , p_gl_transfer_mode_code => 'S'
61116 , p_acct_entry_type_code => 'A'
61117 , p_switch_side_flag => 'Y'
61118 , p_merge_duplicate_code => 'A'
61119 );
61120 --
61121 l_acc_rev_natural_side_code := 'C'; -- 4262811
61122 --
61123 --
61124 -- set accounting line type info
61125 --
61126 xla_ae_lines_pkg.SetAcctLineType
61127 (p_component_type => l_component_type
61128 ,p_event_type_code => l_event_type_code
61129 ,p_line_definition_owner_code => l_line_definition_owner_code
61130 ,p_line_definition_code => l_line_definition_code
61131 ,p_accounting_line_code => l_component_code
61132 ,p_accounting_line_type_code => l_component_type_code
61133 ,p_accounting_line_appl_id => l_component_appl_id
61134 ,p_amb_context_code => l_amb_context_code
61135 ,p_entity_code => l_entity_code
61136 ,p_event_class_code => l_event_class_code);
61137 --
61138 -- set accounting class
61139 --
61140 xla_ae_lines_pkg.SetAcctClass(
61141 p_accounting_class_code => 'ROUNDING'
61142 , p_ae_header_id => l_ae_header_id
61143 );
61144
61145 --
61146 -- set rounding class
61147 --
61148 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61149 'ROUNDING';
61150
61151 --
61152 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61153 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61154 --
61158
61155 -- bulk performance
61156 --
61157 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61159 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61160 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61161
61162 -- 4955764
61163 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61164 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61165
61166 -- 4458381 Public Sector Enh
61167
61168 --
61169 -- set accounting attributes for the line type
61170 --
61171 l_entered_amt_idx := 9;
61172 l_accted_amt_idx := 14;
61173 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61174 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61175 l_rec_acct_attrs.array_char_value(1) := p_source_41;
61176 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
61177 l_rec_acct_attrs.array_num_value(2) := p_source_79;
61178 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61179 l_rec_acct_attrs.array_char_value(3) := p_source_80;
61180 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
61181 l_rec_acct_attrs.array_char_value(4) := p_source_81;
61182 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
61183 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
61184 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61185 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
61186 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
61187 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
61188 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
61189 l_rec_acct_attrs.array_char_value(8) := p_source_43;
61190 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
61191 l_rec_acct_attrs.array_num_value(9) := p_source_91;
61192 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
61193 l_rec_acct_attrs.array_char_value(10) := p_source_55;
61194 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
61195 l_rec_acct_attrs.array_date_value(11) := p_source_136;
61196 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
61197 l_rec_acct_attrs.array_num_value(12) := p_source_137;
61198 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
61199 l_rec_acct_attrs.array_char_value(13) := p_source_138;
61200 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
61201 l_rec_acct_attrs.array_num_value(14) := p_source_109;
61202 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
61203 l_rec_acct_attrs.array_char_value(15) := p_source_68;
61204 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
61205 l_rec_acct_attrs.array_num_value(16) := p_source_102;
61206 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
61207 l_rec_acct_attrs.array_num_value(17) := p_source_103;
61208 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
61209 l_rec_acct_attrs.array_char_value(18) := p_source_71;
61210 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
61211 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
61212 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
61213 l_rec_acct_attrs.array_char_value(20) := p_source_43;
61214 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
61215 l_rec_acct_attrs.array_num_value(21) := p_source_74;
61216 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
61217 l_rec_acct_attrs.array_num_value(22) := p_source_75;
61218 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
61219 l_rec_acct_attrs.array_num_value(23) := p_source_76;
61220
61221 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61222 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61223
61224 ---------------------------------------------------------------------------------------------------------------
61225 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61226 ---------------------------------------------------------------------------------------------------------------
61227 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61228
61229 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61230 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61231
61232 IF xla_accounting_cache_pkg.GetValueChar
61233 (p_source_code => 'LEDGER_CATEGORY_CODE'
61234 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61235 AND l_bflow_method_code = 'PRIOR_ENTRY'
61236 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61237 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61238 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61239 )
61240 THEN
61241 xla_ae_lines_pkg.BflowUpgEntry
61242 (p_business_method_code => l_bflow_method_code
61243 ,p_business_class_code => l_bflow_class_code
61244 ,p_balance_type => l_balance_type_code);
61245 ELSE
61246 NULL;
61250 --
61247 -- No business flow processing for business flow method of NONE.
61248 END IF;
61249
61251 -- call analytical criteria
61252 --
61253
61254 --
61255 -- call description
61256 --
61257 -- No description or it is inherited.
61258 --
61259 -- call ADRs
61260 -- Bug 4922099
61261 --
61262 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61263 (NVL(l_actual_upg_option, 'N') = 'O') OR
61264 (NVL(l_enc_upg_option, 'N') = 'O')
61265 )
61266 THEN
61267 NULL;
61268 --
61269 --
61270
61271 l_ccid := AcctDerRule_40(
61272 p_application_id => p_application_id
61273 , p_ae_header_id => l_ae_header_id
61274 , p_source_3 => p_source_3
61275 , p_source_3_meaning => p_source_3_meaning
61276 , p_source_18 => p_source_18
61277 , p_source_37 => p_source_37
61278 , x_transaction_coa_id => l_adr_transaction_coa_id
61279 , x_accounting_coa_id => l_adr_accounting_coa_id
61280 , x_value_type_code => l_adr_value_type_code
61281 , p_side => 'NA'
61282 );
61283
61284 xla_ae_lines_pkg.set_ccid(
61285 p_code_combination_id => l_ccid
61286 , p_value_type_code => l_adr_value_type_code
61287 , p_transaction_coa_id => l_adr_transaction_coa_id
61288 , p_accounting_coa_id => l_adr_accounting_coa_id
61289 , p_adr_code => 'AP_ROUNDING'
61290 , p_adr_type_code => 'S'
61291 , p_component_type => l_component_type
61292 , p_component_code => l_component_code
61293 , p_component_type_code => l_component_type_code
61294 , p_component_appl_id => l_component_appl_id
61295 , p_amb_context_code => l_amb_context_code
61296 , p_side => 'NA'
61297 );
61298
61299
61300 --
61301 --
61302 END IF;
61303 --
61304 -- Bug 4922099
61305 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
61306 (NVL(l_enc_upg_option, 'N') = 'O')
61307 ) AND
61308 (l_bflow_method_code = 'PRIOR_ENTRY')
61309 )
61310 THEN
61311 IF
61312 --
61313 1 = 2
61314 --
61315 THEN
61316 xla_accounting_err_pkg.build_message
61317 (p_appli_s_name => 'XLA'
61318 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61319 ,p_token_1 => 'LINE_NUMBER'
61320 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
61321 ,p_token_2 => 'LINE_TYPE_NAME'
61322 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
61323 l_component_type
61324 ,l_component_code
61325 ,l_component_type_code
61326 ,l_component_appl_id
61327 ,l_amb_context_code
61328 ,l_entity_code
61329 ,l_event_class_code
61330 )
61331 ,p_token_3 => 'OWNER'
61332 ,p_value_3 => xla_lookups_pkg.get_meaning(
61333 p_lookup_type => 'XLA_OWNER_TYPE'
61334 ,p_lookup_code => l_component_type_code
61335 )
61336 ,p_token_4 => 'PRODUCT_NAME'
61337 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
61338 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
61339 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
61340 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
61341 ,p_ae_header_id => NULL
61342 );
61343
61344 IF (C_LEVEL_ERROR>= g_log_level) THEN
61345 trace
61346 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
61347 ,p_level => C_LEVEL_ERROR
61348 ,p_module => l_log_module);
61349 END IF;
61350 END IF;
61351 END IF;
61352 --
61353 --
61354 ------------------------------------------------------------------------------------------------
61355 -- 4219869 Business Flow
61356 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
61357 -- Prior Entry. Currently, the following code is always generated.
61358 ------------------------------------------------------------------------------------------------
61362 -- 4219869 Business Flow
61359 XLA_AE_LINES_PKG.ValidateCurrentLine;
61360
61361 ------------------------------------------------------------------------------------
61363 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
61364 ------------------------------------------------------------------------------------
61365 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61366
61367 ----------------------------------------------------------------------------------
61368 -- 4219869 Business Flow
61369 -- Update journal entry status -- Need to generate this within IF <condition>
61370 ----------------------------------------------------------------------------------
61371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
61373 ,p_balance_type_code => l_balance_type_code
61374 );
61375
61376 -------------------------------------------------------------------------------------------
61377 -- 4262811 - Generate the Accrual Reversal lines
61378 -------------------------------------------------------------------------------------------
61379 BEGIN
61380 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
61381 (g_array_event(p_event_id).array_value_num('header_index'));
61382 IF l_acc_rev_flag IS NULL THEN
61383 l_acc_rev_flag := 'N';
61384 END IF;
61385 EXCEPTION
61386 WHEN OTHERS THEN
61387 l_acc_rev_flag := 'N';
61388 END;
61389 --
61390 IF (l_acc_rev_flag = 'Y') THEN
61391
61392 -- 4645092 ------------------------------------------------------------------------------
61393 -- To allow MPA report to determine if it should generate report process
61394 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
61395 ------------------------------------------------------------------------------------------
61396
61397 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
61398 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
61399 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
61400 -- call ADRs
61401 -- Bug 4922099
61402 --
61403 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61404 (NVL(l_actual_upg_option, 'N') = 'O') OR
61405 (NVL(l_enc_upg_option, 'N') = 'O')
61406 )
61407 THEN
61408 NULL;
61409 --
61410 --
61411
61412 l_ccid := AcctDerRule_40(
61413 p_application_id => p_application_id
61414 , p_ae_header_id => l_ae_header_id
61415 , p_source_3 => p_source_3
61416 , p_source_3_meaning => p_source_3_meaning
61417 , p_source_18 => p_source_18
61418 , p_source_37 => p_source_37
61419 , x_transaction_coa_id => l_adr_transaction_coa_id
61420 , x_accounting_coa_id => l_adr_accounting_coa_id
61421 , x_value_type_code => l_adr_value_type_code
61422 , p_side => 'NA'
61423 );
61424
61425 xla_ae_lines_pkg.set_ccid(
61426 p_code_combination_id => l_ccid
61427 , p_value_type_code => l_adr_value_type_code
61428 , p_transaction_coa_id => l_adr_transaction_coa_id
61429 , p_accounting_coa_id => l_adr_accounting_coa_id
61430 , p_adr_code => 'AP_ROUNDING'
61431 , p_adr_type_code => 'S'
61432 , p_component_type => l_component_type
61433 , p_component_code => l_component_code
61434 , p_component_type_code => l_component_type_code
61435 , p_component_appl_id => l_component_appl_id
61436 , p_amb_context_code => l_amb_context_code
61437 , p_side => 'NA'
61438 );
61439
61440
61441 --
61442 --
61443 END IF;
61444
61445 --
61446 -- Update the line information that should be overwritten
61447 --
61448 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
61449 p_header_num => 1);
61450 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
61451
61452 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
61453
61454 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
61455 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
61456 END IF;
61457
61458 --
61459 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
61460 --
61461 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
61462 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
61463 ELSE
61464 ---------------------------------------------------------------------------------------------------
61465 -- 4262811a Switch Sign
61466 ---------------------------------------------------------------------------------------------------
61467 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
61468 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61472 -- 5132302
61469 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61470 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
61471 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61473 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
61474 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
61475
61476 END IF;
61477
61478 -- 4955764
61479 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61480 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
61481
61482
61483 XLA_AE_LINES_PKG.ValidateCurrentLine;
61484 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
61485
61486 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
61487 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
61488 ,p_balance_type_code => l_balance_type_code);
61489
61490 END IF;
61491
61492 -----------------------------------------------------------------------------------------
61493 -- 4262811 Multiperiod Accounting
61494 -----------------------------------------------------------------------------------------
61495 -- No MPA option is assigned.
61496
61497
61498 END IF;
61499 END IF;
61500 --
61501
61502 --
61503 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61504 trace
61505 (p_msg => 'END of AcctLineType_122'
61506 ,p_level => C_LEVEL_PROCEDURE
61507 ,p_module => l_log_module);
61508 END IF;
61509 --
61510 EXCEPTION
61511 WHEN xla_exceptions_pkg.application_exception THEN
61512 RAISE;
61513 WHEN OTHERS THEN
61514 xla_exceptions_pkg.raise_message
61515 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_122');
61516 END AcctLineType_122;
61517 --
61518
61519 ---------------------------------------
61520 --
61521 -- PRIVATE FUNCTION
61522 -- AcctLineType_123
61523 --
61524 ---------------------------------------
61525 PROCEDURE AcctLineType_123 (
61526 p_application_id IN NUMBER
61527 ,p_event_id IN NUMBER
61528 ,p_calculate_acctd_flag IN VARCHAR2
61529 ,p_calculate_g_l_flag IN VARCHAR2
61530 ,p_actual_flag IN OUT VARCHAR2
61531 ,p_balance_type_code OUT VARCHAR2
61532 ,p_gain_or_loss_ref OUT VARCHAR2
61533
61534 --Automatic Offsets Value
61535 , p_source_3 IN VARCHAR2
61536 , p_source_3_meaning IN VARCHAR2
61537 --Invoice Distribution Account
61538 , p_source_18 IN NUMBER
61539 --Payables Options Rounding Account
61540 , p_source_37 IN NUMBER
61541 --Accounting Reversal Indicator
61542 , p_source_41 IN VARCHAR2
61543 --Distribution Link Type
61544 , p_source_43 IN VARCHAR2
61545 --Invoice Identifier
61546 , p_source_46 IN NUMBER
61547 --Payables Encumbrance Upgrade Credit Account
61548 , p_source_53 IN NUMBER
61549 --Payables Encumbrance Upgrade Credit Amount
61550 , p_source_54 IN NUMBER
61551 --Invoice Currency Code
61552 , p_source_55 IN VARCHAR2
61553 --Payables Encumbrance Upgrade Credit Base Amount
61554 , p_source_56 IN NUMBER
61555 --Payables Encumbrance Upgrade Debit Account
61556 , p_source_57 IN NUMBER
61557 --Payables Encumbrance Upgrade Debit Amount
61558 , p_source_58 IN NUMBER
61559 --Payables Encumbrance Upgrade Debit Base Amount
61560 , p_source_59 IN NUMBER
61561 --Payables Encumbrance Upgrade Option
61562 , p_source_60 IN VARCHAR2
61563 --Deferred Accounting End Date
61564 , p_source_65 IN DATE
61565 --Deferred Accounting Option
61566 , p_source_66 IN VARCHAR2
61567 --Deferred Accounting Start Date
61568 , p_source_67 IN DATE
61569 --Override Accounted Amount Indicator
61570 , p_source_68 IN VARCHAR2
61571 , p_source_68_meaning IN VARCHAR2
61572 --Invoice Supplier Identifier
61573 , p_source_69 IN NUMBER
61574 --Invoice Supplier Site Identifier
61575 , p_source_70 IN NUMBER
61576 --Third Party Type
61577 , p_source_71 IN VARCHAR2
61578 --Invoice Distribution Tax Line Identifier
61579 , p_source_74 IN NUMBER
61580 --Invoice Distribution Tax Distribution Identifier from Tax
61581 , p_source_75 IN NUMBER
61582 --Invoice Distribution Summary Tax Line Identifier
61583 , p_source_76 IN NUMBER
61584 --Payables Upgrade Credit Encumbrance Type Identifier
61585 , p_source_77 IN NUMBER
61586 --Payables Upgrade Debit Encumbrance Type Identifier
61587 , p_source_78 IN NUMBER
61588 --Business Flow Accounts Payable Application Identifier
61589 , p_source_79 IN NUMBER
61590 --Prepayment Distribution Type
61591 , p_source_118 IN VARCHAR2
61592 --Prepayment Application Distribution Identifier
61593 , p_source_120 IN NUMBER
61594 --Upgrade Encumbrance Credit Account Class
61595 , p_source_125 IN VARCHAR2
61596 --Upgrade Encumbrance Debit Account Class
61597 , p_source_126 IN VARCHAR2
61598 --Prepayment Distribution Amount
61602 --Invoice Exchange Date
61599 , p_source_127 IN NUMBER
61600 --Identifier of the Prepayment Application Reversed
61601 , p_source_129 IN NUMBER
61603 , p_source_136 IN DATE
61604 --Invoice Exchange Rate
61605 , p_source_137 IN NUMBER
61606 --Invoice Exchange Rate Type
61607 , p_source_138 IN VARCHAR2
61608 --Business Flow Prepayment Invoice Distribution Type
61609 , p_source_139 IN VARCHAR2
61610 --Business Flow Prepayment Invoice Entity Code
61611 , p_source_140 IN VARCHAR2
61612 --Business Flow Prepayment Invoice Distribution Identifier
61613 , p_source_141 IN NUMBER
61614 --Business Flow Prepayment Invoice Identifier
61615 , p_source_142 IN NUMBER
61616 --Prepayment Distribution (Prepayment Payment Rate) Ledger Amount
61617 , p_source_145 IN NUMBER
61618 )
61619 IS
61620
61621 l_component_type VARCHAR2(80);
61622 l_component_code VARCHAR2(30);
61623 l_component_type_code VARCHAR2(1);
61624 l_component_appl_id INTEGER;
61625 l_amb_context_code VARCHAR2(30);
61626 l_entity_code VARCHAR2(30);
61627 l_event_class_code VARCHAR2(30);
61628 l_ae_header_id NUMBER;
61629 l_event_type_code VARCHAR2(30);
61630 l_line_definition_code VARCHAR2(30);
61631 l_line_definition_owner_code VARCHAR2(1);
61632 --
61633 -- adr variables
61634 l_segment VARCHAR2(30);
61635 l_ccid NUMBER;
61636 l_adr_transaction_coa_id NUMBER;
61637 l_adr_accounting_coa_id NUMBER;
61638 l_adr_flexfield_segment_code VARCHAR2(30);
61639 l_adr_flex_value_set_id NUMBER;
61640 l_adr_value_type_code VARCHAR2(30);
61641 l_adr_value_combination_id NUMBER;
61642 l_adr_value_segment_code VARCHAR2(30);
61643
61644 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
61645 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
61646 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
61647 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
61648
61649 -- 4262811 Variables ------------------------------------------------------------------------------------------
61650 l_entered_amt_idx NUMBER;
61651 l_accted_amt_idx NUMBER;
61652 l_acc_rev_flag VARCHAR2(1);
61653 l_accrual_line_num NUMBER;
61654 l_tmp_amt NUMBER;
61655 l_acc_rev_natural_side_code VARCHAR2(1);
61656
61657 l_num_entries NUMBER;
61658 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
61659 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
61660 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
61661 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
61662 l_recog_line_1 NUMBER;
61663 l_recog_line_2 NUMBER;
61664
61665 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
61666 l_bflow_applied_to_amt NUMBER; -- 5132302
61667 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
61668
61669 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
61670
61671 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
61672 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
61673
61674 ---------------------------------------------------------------------------------------------------------------
61675
61676
61677 --
61678 -- bulk performance
61679 --
61680 l_balance_type_code VARCHAR2(1);
61681 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
61682 l_log_module VARCHAR2(240);
61683
61684 --
61685 -- Upgrade strategy
61686 --
61687 l_actual_upg_option VARCHAR2(1);
61688 l_enc_upg_option VARCHAR2(1);
61689
61690 --
61691 BEGIN
61692 --
61693 IF g_log_enabled THEN
61694 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_123';
61695 END IF;
61696 --
61697 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
61698
61699 trace
61700 (p_msg => 'BEGIN of AcctLineType_123'
61701 ,p_level => C_LEVEL_PROCEDURE
61702 ,p_module => l_log_module);
61703
61704 END IF;
61705 --
61706 l_component_type := 'AMB_JLT';
61707 l_component_code := 'AP_FINAL_PMT_ROUND_PREPAY_APP';
61708 l_component_type_code := 'S';
61709 l_component_appl_id := 200;
61710 l_amb_context_code := 'DEFAULT';
61711 l_entity_code := 'AP_INVOICES';
61712 l_event_class_code := 'PREPAYMENT APPLICATIONS';
61713 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
61714 l_line_definition_owner_code := 'S';
61715 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
61716 --
61717 l_balance_type_code := 'A';
61718 l_segment := NULL;
61719 l_ccid := NULL;
61720 l_adr_transaction_coa_id := NULL;
61721 l_adr_accounting_coa_id := NULL;
61722 l_adr_flexfield_segment_code := NULL;
61723 l_adr_flex_value_set_id := NULL;
61724 l_adr_value_type_code := NULL;
61725 l_adr_value_combination_id := NULL;
61726 l_adr_value_segment_code := NULL;
61730 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
61727
61728 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
61729 l_bflow_class_code := ''; -- 4219869 Business Flow
61731 l_budgetary_control_flag := 'N';
61732
61733 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61734 l_bflow_applied_to_amt := NULL; -- 5132302
61735 l_entered_amt_idx := NULL; -- 4262811
61736 l_accted_amt_idx := NULL; -- 4262811
61737 l_acc_rev_flag := NULL; -- 4262811
61738 l_accrual_line_num := NULL; -- 4262811
61739 l_tmp_amt := NULL; -- 4262811
61740 --
61741
61742 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
61743 l_balance_type_code <> 'B' THEN
61744 IF NVL(p_source_118,'
61745 ') = 'FINAL PAYMENT ROUNDING'
61746 THEN
61747
61748 --
61749 XLA_AE_LINES_PKG.SetNewLine;
61750
61751 p_balance_type_code := l_balance_type_code;
61752 -- set the flag so later we will know whether the gain loss line needs to be created
61753
61754 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
61755 p_actual_flag :='A';
61756 END IF;
61757
61758 --
61759 -- bulk performance
61760 --
61761 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
61762 p_header_num => 0); -- 4262811
61763 --
61764 -- set accounting line options
61765 --
61766 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
61767 p_natural_side_code => 'C'
61768 , p_gain_or_loss_flag => 'N'
61769 , p_gl_transfer_mode_code => 'S'
61770 , p_acct_entry_type_code => 'A'
61771 , p_switch_side_flag => 'Y'
61772 , p_merge_duplicate_code => 'A'
61773 );
61774 --
61775 l_acc_rev_natural_side_code := 'D'; -- 4262811
61776 --
61777 --
61778 -- set accounting line type info
61779 --
61780 xla_ae_lines_pkg.SetAcctLineType
61781 (p_component_type => l_component_type
61782 ,p_event_type_code => l_event_type_code
61783 ,p_line_definition_owner_code => l_line_definition_owner_code
61784 ,p_line_definition_code => l_line_definition_code
61785 ,p_accounting_line_code => l_component_code
61786 ,p_accounting_line_type_code => l_component_type_code
61787 ,p_accounting_line_appl_id => l_component_appl_id
61788 ,p_amb_context_code => l_amb_context_code
61789 ,p_entity_code => l_entity_code
61790 ,p_event_class_code => l_event_class_code);
61791 --
61792 -- set accounting class
61793 --
61794 xla_ae_lines_pkg.SetAcctClass(
61795 p_accounting_class_code => 'ROUNDING'
61796 , p_ae_header_id => l_ae_header_id
61797 );
61798
61799 --
61800 -- set rounding class
61801 --
61802 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
61803 'ROUNDING';
61804
61805 --
61806 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
61807 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
61808 --
61809 -- bulk performance
61810 --
61811 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
61812
61813 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
61814 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
61815
61816 -- 4955764
61817 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
61818 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
61819
61820 -- 4458381 Public Sector Enh
61821
61822 --
61823 -- set accounting attributes for the line type
61824 --
61825 l_entered_amt_idx := 25;
61826 l_accted_amt_idx := 30;
61827 l_bflow_applied_to_amt_idx := NULL; -- 5132302
61828 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
61829 l_rec_acct_attrs.array_char_value(1) := p_source_41;
61830 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
61831 l_rec_acct_attrs.array_num_value(2) :=
61832 xla_ae_sources_pkg.GetSystemSourceNum(
61833 p_source_code => 'XLA_EVENT_APPL_ID'
61834 , p_source_type_code => 'Y'
61835 , p_source_application_id => 602
61836 );
61837 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
61838 l_rec_acct_attrs.array_char_value(3) := p_source_43;
61839 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
61840 l_rec_acct_attrs.array_char_value(4) :=
61841 xla_ae_sources_pkg.GetSystemSourceChar(
61842 p_source_code => 'XLA_ENTITY_CODE'
61843 , p_source_type_code => 'Y'
61844 , p_source_application_id => 602
61845 );
61846 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
61847 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
61848 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
61849 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
61853 l_rec_acct_attrs.array_char_value(8) := p_source_139;
61850 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
61851 l_rec_acct_attrs.array_num_value(7) := p_source_79;
61852 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
61854 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
61855 l_rec_acct_attrs.array_char_value(9) := p_source_140;
61856 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
61857 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
61858 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
61859 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
61860 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
61861 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
61862 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
61863 l_rec_acct_attrs.array_char_value(13) := p_source_43;
61864 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
61865 l_rec_acct_attrs.array_char_value(14) := p_source_125;
61866 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
61867 l_rec_acct_attrs.array_num_value(15) := p_source_53;
61868 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
61869 l_rec_acct_attrs.array_num_value(16) := p_source_54;
61870 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
61871 l_rec_acct_attrs.array_char_value(17) := p_source_55;
61872 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
61873 l_rec_acct_attrs.array_num_value(18) := p_source_56;
61874 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
61875 l_rec_acct_attrs.array_char_value(19) := p_source_126;
61876 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
61877 l_rec_acct_attrs.array_num_value(20) := p_source_57;
61878 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
61879 l_rec_acct_attrs.array_num_value(21) := p_source_58;
61880 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
61881 l_rec_acct_attrs.array_char_value(22) := p_source_55;
61882 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
61883 l_rec_acct_attrs.array_num_value(23) := p_source_59;
61884 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
61885 l_rec_acct_attrs.array_char_value(24) := p_source_60;
61886 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
61887 l_rec_acct_attrs.array_num_value(25) := p_source_127;
61888 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
61889 l_rec_acct_attrs.array_char_value(26) := p_source_55;
61890 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
61891 l_rec_acct_attrs.array_date_value(27) := p_source_136;
61892 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
61893 l_rec_acct_attrs.array_num_value(28) := p_source_137;
61894 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
61895 l_rec_acct_attrs.array_char_value(29) := p_source_138;
61896 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
61897 l_rec_acct_attrs.array_num_value(30) := p_source_145;
61898 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
61899 l_rec_acct_attrs.array_date_value(31) := p_source_65;
61900 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
61901 l_rec_acct_attrs.array_char_value(32) := p_source_66;
61902 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
61903 l_rec_acct_attrs.array_date_value(33) := p_source_67;
61904 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
61905 l_rec_acct_attrs.array_char_value(34) := p_source_68;
61906 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
61907 l_rec_acct_attrs.array_num_value(35) := p_source_69;
61908 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
61909 l_rec_acct_attrs.array_num_value(36) := p_source_70;
61910 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
61911 l_rec_acct_attrs.array_char_value(37) := p_source_71;
61912 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
61913 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
61914 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
61915 l_rec_acct_attrs.array_char_value(39) := p_source_43;
61916 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
61917 l_rec_acct_attrs.array_num_value(40) := p_source_74;
61918 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
61919 l_rec_acct_attrs.array_num_value(41) := p_source_75;
61920 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
61921 l_rec_acct_attrs.array_num_value(42) := p_source_76;
61922 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
61923 l_rec_acct_attrs.array_num_value(43) := p_source_77;
61924 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
61925 l_rec_acct_attrs.array_num_value(44) := p_source_78;
61926
61927 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
61928 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
61929
61930 ---------------------------------------------------------------------------------------------------------------
61931 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
61935 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61932 ---------------------------------------------------------------------------------------------------------------
61933 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
61934
61936 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
61937
61938 IF xla_accounting_cache_pkg.GetValueChar
61939 (p_source_code => 'LEDGER_CATEGORY_CODE'
61940 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
61941 AND l_bflow_method_code = 'PRIOR_ENTRY'
61942 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
61943 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
61944 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
61945 )
61946 THEN
61947 xla_ae_lines_pkg.BflowUpgEntry
61948 (p_business_method_code => l_bflow_method_code
61949 ,p_business_class_code => l_bflow_class_code
61950 ,p_balance_type => l_balance_type_code);
61951 ELSE
61952 NULL;
61953 -- No business flow processing for business flow method of NONE.
61954 END IF;
61955
61956 --
61957 -- call analytical criteria
61958 --
61959
61960 --
61961 -- call description
61962 --
61963 -- No description or it is inherited.
61964 --
61965 -- call ADRs
61966 -- Bug 4922099
61967 --
61968 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
61969 (NVL(l_actual_upg_option, 'N') = 'O') OR
61970 (NVL(l_enc_upg_option, 'N') = 'O')
61971 )
61972 THEN
61973 NULL;
61974 --
61975 --
61976
61977 l_ccid := AcctDerRule_40(
61978 p_application_id => p_application_id
61979 , p_ae_header_id => l_ae_header_id
61980 , p_source_3 => p_source_3
61981 , p_source_3_meaning => p_source_3_meaning
61982 , p_source_18 => p_source_18
61983 , p_source_37 => p_source_37
61984 , x_transaction_coa_id => l_adr_transaction_coa_id
61985 , x_accounting_coa_id => l_adr_accounting_coa_id
61986 , x_value_type_code => l_adr_value_type_code
61987 , p_side => 'NA'
61988 );
61989
61990 xla_ae_lines_pkg.set_ccid(
61991 p_code_combination_id => l_ccid
61992 , p_value_type_code => l_adr_value_type_code
61993 , p_transaction_coa_id => l_adr_transaction_coa_id
61994 , p_accounting_coa_id => l_adr_accounting_coa_id
61995 , p_adr_code => 'AP_ROUNDING'
61996 , p_adr_type_code => 'S'
61997 , p_component_type => l_component_type
61998 , p_component_code => l_component_code
61999 , p_component_type_code => l_component_type_code
62000 , p_component_appl_id => l_component_appl_id
62001 , p_amb_context_code => l_amb_context_code
62002 , p_side => 'NA'
62003 );
62004
62005
62006 --
62007 --
62008 END IF;
62009 --
62010 -- Bug 4922099
62011 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62012 (NVL(l_enc_upg_option, 'N') = 'O')
62013 ) AND
62014 (l_bflow_method_code = 'PRIOR_ENTRY')
62015 )
62016 THEN
62017 IF
62018 --
62019 1 = 2
62020 --
62021 THEN
62022 xla_accounting_err_pkg.build_message
62023 (p_appli_s_name => 'XLA'
62024 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62025 ,p_token_1 => 'LINE_NUMBER'
62026 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62027 ,p_token_2 => 'LINE_TYPE_NAME'
62028 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62029 l_component_type
62030 ,l_component_code
62031 ,l_component_type_code
62032 ,l_component_appl_id
62033 ,l_amb_context_code
62034 ,l_entity_code
62035 ,l_event_class_code
62036 )
62037 ,p_token_3 => 'OWNER'
62038 ,p_value_3 => xla_lookups_pkg.get_meaning(
62039 p_lookup_type => 'XLA_OWNER_TYPE'
62040 ,p_lookup_code => l_component_type_code
62041 )
62042 ,p_token_4 => 'PRODUCT_NAME'
62043 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62047 ,p_ae_header_id => NULL
62044 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62045 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62046 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62048 );
62049
62050 IF (C_LEVEL_ERROR>= g_log_level) THEN
62051 trace
62052 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62053 ,p_level => C_LEVEL_ERROR
62054 ,p_module => l_log_module);
62055 END IF;
62056 END IF;
62057 END IF;
62058 --
62059 --
62060 ------------------------------------------------------------------------------------------------
62061 -- 4219869 Business Flow
62062 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62063 -- Prior Entry. Currently, the following code is always generated.
62064 ------------------------------------------------------------------------------------------------
62065 XLA_AE_LINES_PKG.ValidateCurrentLine;
62066
62067 ------------------------------------------------------------------------------------
62068 -- 4219869 Business Flow
62069 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62070 ------------------------------------------------------------------------------------
62071 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62072
62073 ----------------------------------------------------------------------------------
62074 -- 4219869 Business Flow
62075 -- Update journal entry status -- Need to generate this within IF <condition>
62076 ----------------------------------------------------------------------------------
62077 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62078 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62079 ,p_balance_type_code => l_balance_type_code
62080 );
62081
62082 -------------------------------------------------------------------------------------------
62083 -- 4262811 - Generate the Accrual Reversal lines
62084 -------------------------------------------------------------------------------------------
62085 BEGIN
62086 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62087 (g_array_event(p_event_id).array_value_num('header_index'));
62088 IF l_acc_rev_flag IS NULL THEN
62089 l_acc_rev_flag := 'N';
62090 END IF;
62091 EXCEPTION
62092 WHEN OTHERS THEN
62093 l_acc_rev_flag := 'N';
62094 END;
62095 --
62096 IF (l_acc_rev_flag = 'Y') THEN
62097
62098 -- 4645092 ------------------------------------------------------------------------------
62099 -- To allow MPA report to determine if it should generate report process
62100 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62101 ------------------------------------------------------------------------------------------
62102
62103 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62104 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62105 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62106 -- call ADRs
62107 -- Bug 4922099
62108 --
62109 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62110 (NVL(l_actual_upg_option, 'N') = 'O') OR
62111 (NVL(l_enc_upg_option, 'N') = 'O')
62112 )
62113 THEN
62114 NULL;
62115 --
62116 --
62117
62118 l_ccid := AcctDerRule_40(
62119 p_application_id => p_application_id
62120 , p_ae_header_id => l_ae_header_id
62121 , p_source_3 => p_source_3
62122 , p_source_3_meaning => p_source_3_meaning
62123 , p_source_18 => p_source_18
62124 , p_source_37 => p_source_37
62125 , x_transaction_coa_id => l_adr_transaction_coa_id
62126 , x_accounting_coa_id => l_adr_accounting_coa_id
62127 , x_value_type_code => l_adr_value_type_code
62128 , p_side => 'NA'
62129 );
62130
62131 xla_ae_lines_pkg.set_ccid(
62132 p_code_combination_id => l_ccid
62133 , p_value_type_code => l_adr_value_type_code
62134 , p_transaction_coa_id => l_adr_transaction_coa_id
62135 , p_accounting_coa_id => l_adr_accounting_coa_id
62136 , p_adr_code => 'AP_ROUNDING'
62137 , p_adr_type_code => 'S'
62138 , p_component_type => l_component_type
62139 , p_component_code => l_component_code
62140 , p_component_type_code => l_component_type_code
62141 , p_component_appl_id => l_component_appl_id
62142 , p_amb_context_code => l_amb_context_code
62143 , p_side => 'NA'
62144 );
62145
62146
62147 --
62148 --
62149 END IF;
62150
62151 --
62152 -- Update the line information that should be overwritten
62153 --
62154 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62155 p_header_num => 1);
62159
62156 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62157
62158 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62160 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62161 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62162 END IF;
62163
62164 --
62165 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62166 --
62167 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62168 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62169 ELSE
62170 ---------------------------------------------------------------------------------------------------
62171 -- 4262811a Switch Sign
62172 ---------------------------------------------------------------------------------------------------
62173 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62174 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62175 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62176 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62177 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62178 -- 5132302
62179 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62180 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62181
62182 END IF;
62183
62184 -- 4955764
62185 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62186 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62187
62188
62189 XLA_AE_LINES_PKG.ValidateCurrentLine;
62190 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62191
62192 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62193 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62194 ,p_balance_type_code => l_balance_type_code);
62195
62196 END IF;
62197
62198 -----------------------------------------------------------------------------------------
62199 -- 4262811 Multiperiod Accounting
62200 -----------------------------------------------------------------------------------------
62201 -- No MPA option is assigned.
62202
62203
62204 END IF;
62205 END IF;
62206 --
62207
62208 --
62209 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62210 trace
62211 (p_msg => 'END of AcctLineType_123'
62212 ,p_level => C_LEVEL_PROCEDURE
62213 ,p_module => l_log_module);
62214 END IF;
62215 --
62216 EXCEPTION
62217 WHEN xla_exceptions_pkg.application_exception THEN
62218 RAISE;
62219 WHEN OTHERS THEN
62220 xla_exceptions_pkg.raise_message
62221 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_123');
62222 END AcctLineType_123;
62223 --
62224
62225 ---------------------------------------
62226 --
62227 -- PRIVATE FUNCTION
62228 -- AcctLineType_124
62229 --
62230 ---------------------------------------
62231 PROCEDURE AcctLineType_124 (
62232 p_application_id IN NUMBER
62233 ,p_event_id IN NUMBER
62234 ,p_calculate_acctd_flag IN VARCHAR2
62235 ,p_calculate_g_l_flag IN VARCHAR2
62236 ,p_actual_flag IN OUT VARCHAR2
62237 ,p_balance_type_code OUT VARCHAR2
62238 ,p_gain_or_loss_ref OUT VARCHAR2
62239
62240 --Invoice Distribution Description
62241 , p_source_1 IN VARCHAR2
62242 --Invoice Distribution Ledger Amount
62243 , p_source_9 IN NUMBER
62244 --Invoice Distribution Account
62245 , p_source_18 IN NUMBER
62246 --Invoice Distribution Type
62247 , p_source_21 IN VARCHAR2
62248 , p_source_21_meaning IN VARCHAR2
62249 --Accounting Reversal Indicator
62250 , p_source_41 IN VARCHAR2
62251 --Distribution Link Type
62252 , p_source_43 IN VARCHAR2
62253 --Allocation to Main Distribution Identifier
62254 , p_source_45 IN NUMBER
62255 --Invoice Identifier
62256 , p_source_46 IN NUMBER
62257 --Invoice Distribution Identifier
62258 , p_source_52 IN NUMBER
62259 --Payables Encumbrance Upgrade Credit Account
62260 , p_source_53 IN NUMBER
62261 --Payables Encumbrance Upgrade Credit Amount
62262 , p_source_54 IN NUMBER
62263 --Invoice Currency Code
62264 , p_source_55 IN VARCHAR2
62265 --Payables Encumbrance Upgrade Credit Base Amount
62266 , p_source_56 IN NUMBER
62267 --Payables Encumbrance Upgrade Debit Account
62268 , p_source_57 IN NUMBER
62269 --Payables Encumbrance Upgrade Debit Amount
62270 , p_source_58 IN NUMBER
62271 --Payables Encumbrance Upgrade Debit Base Amount
62272 , p_source_59 IN NUMBER
62273 --Payables Encumbrance Upgrade Option
62274 , p_source_60 IN VARCHAR2
62275 --Invoice Distribution Amount
62279 --Deferred Accounting Option
62276 , p_source_61 IN NUMBER
62277 --Deferred Accounting End Date
62278 , p_source_65 IN DATE
62280 , p_source_66 IN VARCHAR2
62281 --Deferred Accounting Start Date
62282 , p_source_67 IN DATE
62283 --Override Accounted Amount Indicator
62284 , p_source_68 IN VARCHAR2
62285 , p_source_68_meaning IN VARCHAR2
62286 --Invoice Supplier Identifier
62287 , p_source_69 IN NUMBER
62288 --Invoice Supplier Site Identifier
62289 , p_source_70 IN NUMBER
62290 --Third Party Type
62291 , p_source_71 IN VARCHAR2
62292 --Parent Reversal Identifier
62293 , p_source_72 IN NUMBER
62294 --Invoice Distribution Statistical Amount
62295 , p_source_73 IN NUMBER
62296 --Invoice Distribution Tax Line Identifier
62297 , p_source_74 IN NUMBER
62298 --Invoice Distribution Tax Distribution Identifier from Tax
62299 , p_source_75 IN NUMBER
62300 --Invoice Distribution Summary Tax Line Identifier
62301 , p_source_76 IN NUMBER
62302 --Payables Upgrade Credit Encumbrance Type Identifier
62303 , p_source_77 IN NUMBER
62304 --Payables Upgrade Debit Encumbrance Type Identifier
62305 , p_source_78 IN NUMBER
62306 --Business Flow Accounts Payable Application Identifier
62307 , p_source_79 IN NUMBER
62308 --Business Flow Invoice Distribution Type
62309 , p_source_80 IN VARCHAR2
62310 --Business Flow Invoice Entity Code
62311 , p_source_81 IN VARCHAR2
62312 --Business Flow Invoice Distribution Identifier
62313 , p_source_82 IN NUMBER
62314 --Business Flow Invoice Identifier
62315 , p_source_83 IN NUMBER
62316 --Invoice Exchange Date
62317 , p_source_136 IN DATE
62318 --Invoice Exchange Rate
62319 , p_source_137 IN NUMBER
62320 --Invoice Exchange Rate Type
62321 , p_source_138 IN VARCHAR2
62322 )
62323 IS
62324
62325 l_component_type VARCHAR2(80);
62326 l_component_code VARCHAR2(30);
62327 l_component_type_code VARCHAR2(1);
62328 l_component_appl_id INTEGER;
62329 l_amb_context_code VARCHAR2(30);
62330 l_entity_code VARCHAR2(30);
62331 l_event_class_code VARCHAR2(30);
62332 l_ae_header_id NUMBER;
62333 l_event_type_code VARCHAR2(30);
62334 l_line_definition_code VARCHAR2(30);
62335 l_line_definition_owner_code VARCHAR2(1);
62336 --
62337 -- adr variables
62338 l_segment VARCHAR2(30);
62339 l_ccid NUMBER;
62340 l_adr_transaction_coa_id NUMBER;
62341 l_adr_accounting_coa_id NUMBER;
62342 l_adr_flexfield_segment_code VARCHAR2(30);
62343 l_adr_flex_value_set_id NUMBER;
62344 l_adr_value_type_code VARCHAR2(30);
62345 l_adr_value_combination_id NUMBER;
62346 l_adr_value_segment_code VARCHAR2(30);
62347
62348 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
62349 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
62350 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
62351 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
62352
62353 -- 4262811 Variables ------------------------------------------------------------------------------------------
62354 l_entered_amt_idx NUMBER;
62355 l_accted_amt_idx NUMBER;
62356 l_acc_rev_flag VARCHAR2(1);
62357 l_accrual_line_num NUMBER;
62358 l_tmp_amt NUMBER;
62359 l_acc_rev_natural_side_code VARCHAR2(1);
62360
62361 l_num_entries NUMBER;
62362 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
62363 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
62364 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
62365 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
62366 l_recog_line_1 NUMBER;
62367 l_recog_line_2 NUMBER;
62368
62369 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
62370 l_bflow_applied_to_amt NUMBER; -- 5132302
62371 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
62372
62373 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
62374
62375 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
62376 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
62377
62378 ---------------------------------------------------------------------------------------------------------------
62379
62380
62381 --
62382 -- bulk performance
62383 --
62384 l_balance_type_code VARCHAR2(1);
62385 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
62386 l_log_module VARCHAR2(240);
62387
62388 --
62389 -- Upgrade strategy
62390 --
62391 l_actual_upg_option VARCHAR2(1);
62392 l_enc_upg_option VARCHAR2(1);
62393
62394 --
62395 BEGIN
62396 --
62397 IF g_log_enabled THEN
62398 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_124';
62399 END IF;
62400 --
62401 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62402
62403 trace
62404 (p_msg => 'BEGIN of AcctLineType_124'
62408 END IF;
62405 ,p_level => C_LEVEL_PROCEDURE
62406 ,p_module => l_log_module);
62407
62409 --
62410 l_component_type := 'AMB_JLT';
62411 l_component_code := 'AP_FREIGHT_EXPENSE_CM';
62412 l_component_type_code := 'S';
62413 l_component_appl_id := 200;
62414 l_amb_context_code := 'DEFAULT';
62415 l_entity_code := 'AP_INVOICES';
62416 l_event_class_code := 'CREDIT MEMOS';
62417 l_event_type_code := 'CREDIT MEMOS_ALL';
62418 l_line_definition_owner_code := 'S';
62419 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
62420 --
62421 l_balance_type_code := 'A';
62422 l_segment := NULL;
62423 l_ccid := NULL;
62424 l_adr_transaction_coa_id := NULL;
62425 l_adr_accounting_coa_id := NULL;
62426 l_adr_flexfield_segment_code := NULL;
62427 l_adr_flex_value_set_id := NULL;
62428 l_adr_value_type_code := NULL;
62429 l_adr_value_combination_id := NULL;
62430 l_adr_value_segment_code := NULL;
62431
62432 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
62433 l_bflow_class_code := ''; -- 4219869 Business Flow
62434 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
62435 l_budgetary_control_flag := 'N';
62436
62437 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62438 l_bflow_applied_to_amt := NULL; -- 5132302
62439 l_entered_amt_idx := NULL; -- 4262811
62440 l_accted_amt_idx := NULL; -- 4262811
62441 l_acc_rev_flag := NULL; -- 4262811
62442 l_accrual_line_num := NULL; -- 4262811
62443 l_tmp_amt := NULL; -- 4262811
62444 --
62445
62446 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
62447 l_balance_type_code <> 'B' THEN
62448 IF NVL(p_source_21,'
62449 ') = 'FREIGHT'
62450 THEN
62451
62452 --
62453 XLA_AE_LINES_PKG.SetNewLine;
62454
62455 p_balance_type_code := l_balance_type_code;
62456 -- set the flag so later we will know whether the gain loss line needs to be created
62457
62458 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
62459 p_actual_flag :='A';
62460 END IF;
62461
62462 --
62463 -- bulk performance
62464 --
62465 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
62466 p_header_num => 0); -- 4262811
62467 --
62468 -- set accounting line options
62469 --
62470 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
62471 p_natural_side_code => 'D'
62472 , p_gain_or_loss_flag => 'N'
62473 , p_gl_transfer_mode_code => 'S'
62474 , p_acct_entry_type_code => 'A'
62475 , p_switch_side_flag => 'Y'
62476 , p_merge_duplicate_code => 'A'
62477 );
62478 --
62479 l_acc_rev_natural_side_code := 'C'; -- 4262811
62480 --
62481 --
62482 -- set accounting line type info
62483 --
62484 xla_ae_lines_pkg.SetAcctLineType
62485 (p_component_type => l_component_type
62486 ,p_event_type_code => l_event_type_code
62487 ,p_line_definition_owner_code => l_line_definition_owner_code
62488 ,p_line_definition_code => l_line_definition_code
62489 ,p_accounting_line_code => l_component_code
62490 ,p_accounting_line_type_code => l_component_type_code
62491 ,p_accounting_line_appl_id => l_component_appl_id
62492 ,p_amb_context_code => l_amb_context_code
62493 ,p_entity_code => l_entity_code
62494 ,p_event_class_code => l_event_class_code);
62495 --
62496 -- set accounting class
62497 --
62498 xla_ae_lines_pkg.SetAcctClass(
62499 p_accounting_class_code => 'FREIGHT'
62500 , p_ae_header_id => l_ae_header_id
62501 );
62502
62503 --
62504 -- set rounding class
62505 --
62506 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
62507 'FREIGHT';
62508
62509 --
62510 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
62511 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
62512 --
62513 -- bulk performance
62514 --
62515 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
62516
62517 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
62518 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
62519
62520 -- 4955764
62521 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62522 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
62523
62524 -- 4458381 Public Sector Enh
62525
62526 --
62527 -- set accounting attributes for the line type
62528 --
62529 l_entered_amt_idx := 23;
62530 l_accted_amt_idx := 28;
62531 l_bflow_applied_to_amt_idx := NULL; -- 5132302
62532 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
62536 xla_ae_sources_pkg.GetSystemSourceNum(
62533 l_rec_acct_attrs.array_char_value(1) := p_source_41;
62534 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
62535 l_rec_acct_attrs.array_num_value(2) :=
62537 p_source_code => 'XLA_EVENT_APPL_ID'
62538 , p_source_type_code => 'Y'
62539 , p_source_application_id => 602
62540 );
62541 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
62542 l_rec_acct_attrs.array_char_value(3) := p_source_43;
62543 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
62544 l_rec_acct_attrs.array_char_value(4) :=
62545 xla_ae_sources_pkg.GetSystemSourceChar(
62546 p_source_code => 'XLA_ENTITY_CODE'
62547 , p_source_type_code => 'Y'
62548 , p_source_application_id => 602
62549 );
62550 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
62551 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
62552 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
62553 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
62554 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
62555 l_rec_acct_attrs.array_num_value(7) := p_source_79;
62556 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
62557 l_rec_acct_attrs.array_char_value(8) := p_source_80;
62558 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
62559 l_rec_acct_attrs.array_char_value(9) := p_source_81;
62560 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
62561 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
62562 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
62563 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
62564 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
62565 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
62566 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
62567 l_rec_acct_attrs.array_char_value(13) := p_source_43;
62568 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
62569 l_rec_acct_attrs.array_num_value(14) := p_source_53;
62570 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
62571 l_rec_acct_attrs.array_num_value(15) := p_source_54;
62572 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
62573 l_rec_acct_attrs.array_char_value(16) := p_source_55;
62574 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
62575 l_rec_acct_attrs.array_num_value(17) := p_source_56;
62576 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
62577 l_rec_acct_attrs.array_num_value(18) := p_source_57;
62578 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
62579 l_rec_acct_attrs.array_num_value(19) := p_source_58;
62580 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
62581 l_rec_acct_attrs.array_char_value(20) := p_source_55;
62582 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
62583 l_rec_acct_attrs.array_num_value(21) := p_source_59;
62584 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
62585 l_rec_acct_attrs.array_char_value(22) := p_source_60;
62586 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
62587 l_rec_acct_attrs.array_num_value(23) := p_source_61;
62588 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
62589 l_rec_acct_attrs.array_char_value(24) := p_source_55;
62590 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
62591 l_rec_acct_attrs.array_date_value(25) := p_source_136;
62592 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
62593 l_rec_acct_attrs.array_num_value(26) := p_source_137;
62594 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
62595 l_rec_acct_attrs.array_char_value(27) := p_source_138;
62596 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
62597 l_rec_acct_attrs.array_num_value(28) := p_source_9;
62598 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
62599 l_rec_acct_attrs.array_date_value(29) := p_source_65;
62600 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
62601 l_rec_acct_attrs.array_char_value(30) := p_source_66;
62602 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
62603 l_rec_acct_attrs.array_date_value(31) := p_source_67;
62604 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
62605 l_rec_acct_attrs.array_char_value(32) := p_source_68;
62606 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
62607 l_rec_acct_attrs.array_num_value(33) := p_source_69;
62608 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
62609 l_rec_acct_attrs.array_num_value(34) := p_source_70;
62610 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
62611 l_rec_acct_attrs.array_char_value(35) := p_source_71;
62612 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
62613 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
62614 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
62615 l_rec_acct_attrs.array_char_value(37) := p_source_43;
62616 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
62617 l_rec_acct_attrs.array_num_value(38) := p_source_73;
62618 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
62619 l_rec_acct_attrs.array_num_value(39) := p_source_74;
62620 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
62621 l_rec_acct_attrs.array_num_value(40) := p_source_75;
62625 l_rec_acct_attrs.array_num_value(42) := p_source_77;
62622 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
62623 l_rec_acct_attrs.array_num_value(41) := p_source_76;
62624 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
62626 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
62627 l_rec_acct_attrs.array_num_value(43) := p_source_78;
62628
62629 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
62630 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
62631
62632 ---------------------------------------------------------------------------------------------------------------
62633 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
62634 ---------------------------------------------------------------------------------------------------------------
62635 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
62636
62637 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62638 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
62639
62640 IF xla_accounting_cache_pkg.GetValueChar
62641 (p_source_code => 'LEDGER_CATEGORY_CODE'
62642 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
62643 AND l_bflow_method_code = 'PRIOR_ENTRY'
62644 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
62645 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
62646 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
62647 )
62648 THEN
62649 xla_ae_lines_pkg.BflowUpgEntry
62650 (p_business_method_code => l_bflow_method_code
62651 ,p_business_class_code => l_bflow_class_code
62652 ,p_balance_type => l_balance_type_code);
62653 ELSE
62654 NULL;
62655 -- No business flow processing for business flow method of NONE.
62656 END IF;
62657
62658 --
62659 -- call analytical criteria
62660 --
62661
62662 --
62663 -- call description
62664 --
62665
62666 xla_ae_lines_pkg.SetLineDescription(
62667 p_ae_header_id => l_ae_header_id
62668 ,p_description => Description_2 (
62669 p_application_id => p_application_id
62670 , p_ae_header_id => l_ae_header_id
62671 , p_source_1 => p_source_1
62672 )
62673 );
62674
62675
62676 --
62677 -- call ADRs
62678 -- Bug 4922099
62679 --
62680 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62681 (NVL(l_actual_upg_option, 'N') = 'O') OR
62682 (NVL(l_enc_upg_option, 'N') = 'O')
62683 )
62684 THEN
62685 NULL;
62686 --
62687 --
62688
62689 l_ccid := AcctDerRule_32(
62690 p_application_id => p_application_id
62691 , p_ae_header_id => l_ae_header_id
62692 , p_source_18 => p_source_18
62693 , x_transaction_coa_id => l_adr_transaction_coa_id
62694 , x_accounting_coa_id => l_adr_accounting_coa_id
62695 , x_value_type_code => l_adr_value_type_code
62696 , p_side => 'NA'
62697 );
62698
62699 xla_ae_lines_pkg.set_ccid(
62700 p_code_combination_id => l_ccid
62701 , p_value_type_code => l_adr_value_type_code
62702 , p_transaction_coa_id => l_adr_transaction_coa_id
62703 , p_accounting_coa_id => l_adr_accounting_coa_id
62704 , p_adr_code => 'AP_INVOICE_DIST'
62705 , p_adr_type_code => 'S'
62706 , p_component_type => l_component_type
62707 , p_component_code => l_component_code
62708 , p_component_type_code => l_component_type_code
62709 , p_component_appl_id => l_component_appl_id
62710 , p_amb_context_code => l_amb_context_code
62711 , p_side => 'NA'
62712 );
62713
62714
62715 --
62716 --
62717 END IF;
62718 --
62719 -- Bug 4922099
62720 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
62721 (NVL(l_enc_upg_option, 'N') = 'O')
62722 ) AND
62723 (l_bflow_method_code = 'PRIOR_ENTRY')
62724 )
62725 THEN
62726 IF
62727 --
62728 1 = 2
62729 --
62730 THEN
62731 xla_accounting_err_pkg.build_message
62732 (p_appli_s_name => 'XLA'
62733 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62734 ,p_token_1 => 'LINE_NUMBER'
62735 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
62736 ,p_token_2 => 'LINE_TYPE_NAME'
62737 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
62738 l_component_type
62739 ,l_component_code
62740 ,l_component_type_code
62744 ,l_event_class_code
62741 ,l_component_appl_id
62742 ,l_amb_context_code
62743 ,l_entity_code
62745 )
62746 ,p_token_3 => 'OWNER'
62747 ,p_value_3 => xla_lookups_pkg.get_meaning(
62748 p_lookup_type => 'XLA_OWNER_TYPE'
62749 ,p_lookup_code => l_component_type_code
62750 )
62751 ,p_token_4 => 'PRODUCT_NAME'
62752 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
62753 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
62754 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
62755 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
62756 ,p_ae_header_id => NULL
62757 );
62758
62759 IF (C_LEVEL_ERROR>= g_log_level) THEN
62760 trace
62761 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
62762 ,p_level => C_LEVEL_ERROR
62763 ,p_module => l_log_module);
62764 END IF;
62765 END IF;
62766 END IF;
62767 --
62768 --
62769 ------------------------------------------------------------------------------------------------
62770 -- 4219869 Business Flow
62771 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
62772 -- Prior Entry. Currently, the following code is always generated.
62773 ------------------------------------------------------------------------------------------------
62774 XLA_AE_LINES_PKG.ValidateCurrentLine;
62775
62776 ------------------------------------------------------------------------------------
62777 -- 4219869 Business Flow
62778 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
62779 ------------------------------------------------------------------------------------
62780 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62781
62782 ----------------------------------------------------------------------------------
62783 -- 4219869 Business Flow
62784 -- Update journal entry status -- Need to generate this within IF <condition>
62785 ----------------------------------------------------------------------------------
62786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
62788 ,p_balance_type_code => l_balance_type_code
62789 );
62790
62791 -------------------------------------------------------------------------------------------
62792 -- 4262811 - Generate the Accrual Reversal lines
62793 -------------------------------------------------------------------------------------------
62794 BEGIN
62795 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
62796 (g_array_event(p_event_id).array_value_num('header_index'));
62797 IF l_acc_rev_flag IS NULL THEN
62798 l_acc_rev_flag := 'N';
62799 END IF;
62800 EXCEPTION
62801 WHEN OTHERS THEN
62802 l_acc_rev_flag := 'N';
62803 END;
62804 --
62805 IF (l_acc_rev_flag = 'Y') THEN
62806
62807 -- 4645092 ------------------------------------------------------------------------------
62808 -- To allow MPA report to determine if it should generate report process
62809 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
62810 ------------------------------------------------------------------------------------------
62811
62812 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
62813 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
62814 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
62815 -- call ADRs
62816 -- Bug 4922099
62817 --
62818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
62819 (NVL(l_actual_upg_option, 'N') = 'O') OR
62820 (NVL(l_enc_upg_option, 'N') = 'O')
62821 )
62822 THEN
62823 NULL;
62824 --
62825 --
62826
62827 l_ccid := AcctDerRule_32(
62828 p_application_id => p_application_id
62829 , p_ae_header_id => l_ae_header_id
62830 , p_source_18 => p_source_18
62831 , x_transaction_coa_id => l_adr_transaction_coa_id
62832 , x_accounting_coa_id => l_adr_accounting_coa_id
62833 , x_value_type_code => l_adr_value_type_code
62834 , p_side => 'NA'
62835 );
62836
62837 xla_ae_lines_pkg.set_ccid(
62838 p_code_combination_id => l_ccid
62839 , p_value_type_code => l_adr_value_type_code
62843 , p_adr_type_code => 'S'
62840 , p_transaction_coa_id => l_adr_transaction_coa_id
62841 , p_accounting_coa_id => l_adr_accounting_coa_id
62842 , p_adr_code => 'AP_INVOICE_DIST'
62844 , p_component_type => l_component_type
62845 , p_component_code => l_component_code
62846 , p_component_type_code => l_component_type_code
62847 , p_component_appl_id => l_component_appl_id
62848 , p_amb_context_code => l_amb_context_code
62849 , p_side => 'NA'
62850 );
62851
62852
62853 --
62854 --
62855 END IF;
62856
62857 --
62858 -- Update the line information that should be overwritten
62859 --
62860 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
62861 p_header_num => 1);
62862 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
62863
62864 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
62865
62866 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
62867 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
62868 END IF;
62869
62870 --
62871 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
62872 --
62873 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
62874 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
62875 ELSE
62876 ---------------------------------------------------------------------------------------------------
62877 -- 4262811a Switch Sign
62878 ---------------------------------------------------------------------------------------------------
62879 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
62880 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62881 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62882 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
62883 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62884 -- 5132302
62885 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
62886 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
62887
62888 END IF;
62889
62890 -- 4955764
62891 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
62892 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
62893
62894
62895 XLA_AE_LINES_PKG.ValidateCurrentLine;
62896 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
62897
62898 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
62899 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
62900 ,p_balance_type_code => l_balance_type_code);
62901
62902 END IF;
62903
62904 -----------------------------------------------------------------------------------------
62905 -- 4262811 Multiperiod Accounting
62906 -----------------------------------------------------------------------------------------
62907 -- No MPA option is assigned.
62908
62909
62910 END IF;
62911 END IF;
62912 --
62913
62914 --
62915 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
62916 trace
62917 (p_msg => 'END of AcctLineType_124'
62918 ,p_level => C_LEVEL_PROCEDURE
62919 ,p_module => l_log_module);
62920 END IF;
62921 --
62922 EXCEPTION
62923 WHEN xla_exceptions_pkg.application_exception THEN
62924 RAISE;
62925 WHEN OTHERS THEN
62926 xla_exceptions_pkg.raise_message
62927 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_124');
62928 END AcctLineType_124;
62929 --
62930
62931 ---------------------------------------
62932 --
62933 -- PRIVATE FUNCTION
62934 -- AcctLineType_125
62935 --
62936 ---------------------------------------
62937 PROCEDURE AcctLineType_125 (
62938 p_application_id IN NUMBER
62939 ,p_event_id IN NUMBER
62940 ,p_calculate_acctd_flag IN VARCHAR2
62941 ,p_calculate_g_l_flag IN VARCHAR2
62942 ,p_actual_flag IN OUT VARCHAR2
62943 ,p_balance_type_code OUT VARCHAR2
62944 ,p_gain_or_loss_ref OUT VARCHAR2
62945
62946 --Invoice Distribution Type
62947 , p_source_21 IN VARCHAR2
62948 , p_source_21_meaning IN VARCHAR2
62949 --Accounting Reversal Indicator
62950 , p_source_41 IN VARCHAR2
62951 --Distribution Link Type
62952 , p_source_43 IN VARCHAR2
62953 --Allocation to Main Distribution Identifier
62954 , p_source_45 IN NUMBER
62955 --Invoice Identifier
62956 , p_source_46 IN NUMBER
62957 --Invoice Distribution Identifier
62958 , p_source_52 IN NUMBER
62959 --Payables Encumbrance Upgrade Credit Account
62960 , p_source_53 IN NUMBER
62964 , p_source_55 IN VARCHAR2
62961 --Payables Encumbrance Upgrade Credit Amount
62962 , p_source_54 IN NUMBER
62963 --Invoice Currency Code
62965 --Payables Encumbrance Upgrade Credit Base Amount
62966 , p_source_56 IN NUMBER
62967 --Payables Encumbrance Upgrade Debit Account
62968 , p_source_57 IN NUMBER
62969 --Payables Encumbrance Upgrade Debit Amount
62970 , p_source_58 IN NUMBER
62971 --Payables Encumbrance Upgrade Debit Base Amount
62972 , p_source_59 IN NUMBER
62973 --Payables Encumbrance Upgrade Option
62974 , p_source_60 IN VARCHAR2
62975 --Deferred Accounting End Date
62976 , p_source_65 IN DATE
62977 --Deferred Accounting Option
62978 , p_source_66 IN VARCHAR2
62979 --Deferred Accounting Start Date
62980 , p_source_67 IN DATE
62981 --Override Accounted Amount Indicator
62982 , p_source_68 IN VARCHAR2
62983 , p_source_68_meaning IN VARCHAR2
62984 --Third Party Type
62985 , p_source_71 IN VARCHAR2
62986 --Parent Reversal Identifier
62987 , p_source_72 IN NUMBER
62988 --Invoice Distribution Statistical Amount
62989 , p_source_73 IN NUMBER
62990 --Invoice Distribution Tax Line Identifier
62991 , p_source_74 IN NUMBER
62992 --Invoice Distribution Tax Distribution Identifier from Tax
62993 , p_source_75 IN NUMBER
62994 --Invoice Distribution Summary Tax Line Identifier
62995 , p_source_76 IN NUMBER
62996 --Payables Upgrade Credit Encumbrance Type Identifier
62997 , p_source_77 IN NUMBER
62998 --Payables Upgrade Debit Encumbrance Type Identifier
62999 , p_source_78 IN NUMBER
63000 --Business Flow Accounts Payable Application Identifier
63001 , p_source_79 IN NUMBER
63002 --Business Flow Invoice Distribution Type
63003 , p_source_80 IN VARCHAR2
63004 --Business Flow Invoice Entity Code
63005 , p_source_81 IN VARCHAR2
63006 --Business Flow Invoice Distribution Identifier
63007 , p_source_82 IN NUMBER
63008 --Business Flow Invoice Identifier
63009 , p_source_83 IN NUMBER
63010 --Purchasing Encumbrance Option
63011 , p_source_86 IN VARCHAR2
63012 , p_source_86_meaning IN VARCHAR2
63013 --Invoice Encumbered Option
63014 , p_source_87 IN VARCHAR2
63015 , p_source_87_meaning IN VARCHAR2
63016 --Invoice Distribution Encumbrance Amount
63017 , p_source_143 IN NUMBER
63018 --Invoice Distribution Encumbrance Ledger Amount
63019 , p_source_144 IN NUMBER
63020 )
63021 IS
63022
63023 l_component_type VARCHAR2(80);
63024 l_component_code VARCHAR2(30);
63025 l_component_type_code VARCHAR2(1);
63026 l_component_appl_id INTEGER;
63027 l_amb_context_code VARCHAR2(30);
63028 l_entity_code VARCHAR2(30);
63029 l_event_class_code VARCHAR2(30);
63030 l_ae_header_id NUMBER;
63031 l_event_type_code VARCHAR2(30);
63032 l_line_definition_code VARCHAR2(30);
63033 l_line_definition_owner_code VARCHAR2(1);
63034 --
63035 -- adr variables
63036 l_segment VARCHAR2(30);
63037 l_ccid NUMBER;
63038 l_adr_transaction_coa_id NUMBER;
63039 l_adr_accounting_coa_id NUMBER;
63040 l_adr_flexfield_segment_code VARCHAR2(30);
63041 l_adr_flex_value_set_id NUMBER;
63042 l_adr_value_type_code VARCHAR2(30);
63043 l_adr_value_combination_id NUMBER;
63044 l_adr_value_segment_code VARCHAR2(30);
63045
63046 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63047 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63048 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63049 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63050
63051 -- 4262811 Variables ------------------------------------------------------------------------------------------
63052 l_entered_amt_idx NUMBER;
63053 l_accted_amt_idx NUMBER;
63054 l_acc_rev_flag VARCHAR2(1);
63055 l_accrual_line_num NUMBER;
63056 l_tmp_amt NUMBER;
63057 l_acc_rev_natural_side_code VARCHAR2(1);
63058
63059 l_num_entries NUMBER;
63060 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63061 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63062 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63063 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63064 l_recog_line_1 NUMBER;
63065 l_recog_line_2 NUMBER;
63066
63067 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63068 l_bflow_applied_to_amt NUMBER; -- 5132302
63069 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63070
63071 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63072
63073 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63074 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63075
63076 ---------------------------------------------------------------------------------------------------------------
63077
63078
63079 --
63080 -- bulk performance
63081 --
63082 l_balance_type_code VARCHAR2(1);
63086 --
63083 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63084 l_log_module VARCHAR2(240);
63085
63087 -- Upgrade strategy
63088 --
63089 l_actual_upg_option VARCHAR2(1);
63090 l_enc_upg_option VARCHAR2(1);
63091
63092 --
63093 BEGIN
63094 --
63095 IF g_log_enabled THEN
63096 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_125';
63097 END IF;
63098 --
63099 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63100
63101 trace
63102 (p_msg => 'BEGIN of AcctLineType_125'
63103 ,p_level => C_LEVEL_PROCEDURE
63104 ,p_module => l_log_module);
63105
63106 END IF;
63107 --
63108 l_component_type := 'AMB_JLT';
63109 l_component_code := 'AP_FREIGHT_EXPENSE_CM_ENC';
63110 l_component_type_code := 'S';
63111 l_component_appl_id := 200;
63112 l_amb_context_code := 'DEFAULT';
63113 l_entity_code := 'AP_INVOICES';
63114 l_event_class_code := 'CREDIT MEMOS';
63115 l_event_type_code := 'CREDIT MEMOS_ALL';
63116 l_line_definition_owner_code := 'S';
63117 l_line_definition_code := 'ENC_REV_CM_ALL';
63118 --
63119 l_balance_type_code := 'E';
63120 l_segment := NULL;
63121 l_ccid := NULL;
63122 l_adr_transaction_coa_id := NULL;
63123 l_adr_accounting_coa_id := NULL;
63124 l_adr_flexfield_segment_code := NULL;
63125 l_adr_flex_value_set_id := NULL;
63126 l_adr_value_type_code := NULL;
63127 l_adr_value_combination_id := NULL;
63128 l_adr_value_segment_code := NULL;
63129
63130 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
63131 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
63132 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63133 l_budgetary_control_flag := 'N';
63134
63135 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63136 l_bflow_applied_to_amt := NULL; -- 5132302
63137 l_entered_amt_idx := NULL; -- 4262811
63138 l_accted_amt_idx := NULL; -- 4262811
63139 l_acc_rev_flag := NULL; -- 4262811
63140 l_accrual_line_num := NULL; -- 4262811
63141 l_tmp_amt := NULL; -- 4262811
63142 --
63143
63144 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63145 l_balance_type_code <> 'B' THEN
63146 IF NVL(p_source_21,'
63147 ') = 'FREIGHT' AND
63148 NVL(p_source_86,'
63149 ') = 'Y' AND
63150 NVL(p_source_87,'
63151 ') = 'Y'
63152 THEN
63153
63154 --
63155 XLA_AE_LINES_PKG.SetNewLine;
63156
63157 p_balance_type_code := l_balance_type_code;
63158 -- set the flag so later we will know whether the gain loss line needs to be created
63159
63160 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
63161 p_actual_flag :='A';
63162 END IF;
63163
63164 --
63165 -- bulk performance
63166 --
63167 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63168 p_header_num => 0); -- 4262811
63169 --
63170 -- set accounting line options
63171 --
63172 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63173 p_natural_side_code => 'C'
63174 , p_gain_or_loss_flag => 'N'
63175 , p_gl_transfer_mode_code => 'S'
63176 , p_acct_entry_type_code => 'E'
63177 , p_switch_side_flag => 'Y'
63178 , p_merge_duplicate_code => 'A'
63179 );
63180 --
63181 l_acc_rev_natural_side_code := 'D'; -- 4262811
63182 --
63183 --
63184 -- set accounting line type info
63185 --
63186 xla_ae_lines_pkg.SetAcctLineType
63187 (p_component_type => l_component_type
63188 ,p_event_type_code => l_event_type_code
63189 ,p_line_definition_owner_code => l_line_definition_owner_code
63190 ,p_line_definition_code => l_line_definition_code
63191 ,p_accounting_line_code => l_component_code
63192 ,p_accounting_line_type_code => l_component_type_code
63193 ,p_accounting_line_appl_id => l_component_appl_id
63194 ,p_amb_context_code => l_amb_context_code
63195 ,p_entity_code => l_entity_code
63196 ,p_event_class_code => l_event_class_code);
63197 --
63198 -- set accounting class
63199 --
63200 xla_ae_lines_pkg.SetAcctClass(
63201 p_accounting_class_code => 'FREIGHT'
63202 , p_ae_header_id => l_ae_header_id
63203 );
63204
63205 --
63206 -- set rounding class
63207 --
63208 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63209 'FREIGHT';
63210
63211 --
63212 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63213 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63214 --
63215 -- bulk performance
63216 --
63217 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63218
63222 -- 4955764
63219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63220 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63221
63223 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63224 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63225
63226 -- 4458381 Public Sector Enh
63227
63228 --
63229 -- set accounting attributes for the line type
63230 --
63231 l_entered_amt_idx := 23;
63232 l_accted_amt_idx := 25;
63233 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63234 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63235 l_rec_acct_attrs.array_char_value(1) := p_source_41;
63236 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
63237 l_rec_acct_attrs.array_num_value(2) :=
63238 xla_ae_sources_pkg.GetSystemSourceNum(
63239 p_source_code => 'XLA_EVENT_APPL_ID'
63240 , p_source_type_code => 'Y'
63241 , p_source_application_id => 602
63242 );
63243 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
63244 l_rec_acct_attrs.array_char_value(3) := p_source_43;
63245 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
63246 l_rec_acct_attrs.array_char_value(4) :=
63247 xla_ae_sources_pkg.GetSystemSourceChar(
63248 p_source_code => 'XLA_ENTITY_CODE'
63249 , p_source_type_code => 'Y'
63250 , p_source_application_id => 602
63251 );
63252 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
63253 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
63254 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
63255 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
63256 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
63257 l_rec_acct_attrs.array_num_value(7) := p_source_79;
63258 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63259 l_rec_acct_attrs.array_char_value(8) := p_source_80;
63260 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
63261 l_rec_acct_attrs.array_char_value(9) := p_source_81;
63262 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
63263 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
63264 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63265 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
63266 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
63267 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
63268 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
63269 l_rec_acct_attrs.array_char_value(13) := p_source_43;
63270 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
63271 l_rec_acct_attrs.array_num_value(14) := p_source_53;
63272 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
63273 l_rec_acct_attrs.array_num_value(15) := p_source_54;
63274 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
63275 l_rec_acct_attrs.array_char_value(16) := p_source_55;
63276 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
63277 l_rec_acct_attrs.array_num_value(17) := p_source_56;
63278 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
63279 l_rec_acct_attrs.array_num_value(18) := p_source_57;
63280 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
63281 l_rec_acct_attrs.array_num_value(19) := p_source_58;
63282 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
63283 l_rec_acct_attrs.array_char_value(20) := p_source_55;
63284 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
63285 l_rec_acct_attrs.array_num_value(21) := p_source_59;
63286 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
63287 l_rec_acct_attrs.array_char_value(22) := p_source_60;
63288 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
63289 l_rec_acct_attrs.array_num_value(23) := p_source_143;
63290 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
63291 l_rec_acct_attrs.array_char_value(24) := p_source_55;
63292 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
63293 l_rec_acct_attrs.array_num_value(25) := p_source_144;
63294 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
63295 l_rec_acct_attrs.array_date_value(26) := p_source_65;
63296 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
63297 l_rec_acct_attrs.array_char_value(27) := p_source_66;
63298 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
63299 l_rec_acct_attrs.array_date_value(28) := p_source_67;
63300 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
63301 l_rec_acct_attrs.array_char_value(29) := p_source_68;
63302 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
63303 l_rec_acct_attrs.array_char_value(30) := p_source_71;
63304 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
63305 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
63306 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
63307 l_rec_acct_attrs.array_char_value(32) := p_source_43;
63308 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
63309 l_rec_acct_attrs.array_num_value(33) := p_source_73;
63310 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
63311 l_rec_acct_attrs.array_num_value(34) := p_source_74;
63312 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
63316 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
63313 l_rec_acct_attrs.array_num_value(35) := p_source_75;
63314 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
63315 l_rec_acct_attrs.array_num_value(36) := p_source_76;
63317 l_rec_acct_attrs.array_num_value(37) := p_source_77;
63318 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
63319 l_rec_acct_attrs.array_num_value(38) := p_source_78;
63320
63321 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63322 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63323
63324 ---------------------------------------------------------------------------------------------------------------
63325 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63326 ---------------------------------------------------------------------------------------------------------------
63327 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63328
63329 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63330 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63331
63332 IF xla_accounting_cache_pkg.GetValueChar
63333 (p_source_code => 'LEDGER_CATEGORY_CODE'
63334 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63335 AND l_bflow_method_code = 'PRIOR_ENTRY'
63336 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63337 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63338 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63339 )
63340 THEN
63341 xla_ae_lines_pkg.BflowUpgEntry
63342 (p_business_method_code => l_bflow_method_code
63343 ,p_business_class_code => l_bflow_class_code
63344 ,p_balance_type => l_balance_type_code);
63345 ELSE
63346 NULL;
63347 XLA_AE_LINES_PKG.business_flow_validation(
63348 p_business_method_code => l_bflow_method_code
63349 ,p_business_class_code => l_bflow_class_code
63350 ,p_inherit_description_flag => l_inherit_desc_flag);
63351 END IF;
63352
63353 --
63354 -- call analytical criteria
63355 --
63356 -- Inherited Analytical Criteria for business flow method of Prior Entry.
63357 --
63358 -- call description
63359 --
63360 -- No description or it is inherited.
63361 --
63362 -- call ADRs
63363 -- Bug 4922099
63364 --
63365 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63366 (NVL(l_actual_upg_option, 'N') = 'O') OR
63367 (NVL(l_enc_upg_option, 'N') = 'O')
63368 )
63369 THEN
63370 NULL;
63371 --
63372 --
63373
63374 --
63375 --
63376 END IF;
63377 --
63378 -- Bug 4922099
63379 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
63380 (NVL(l_enc_upg_option, 'N') = 'O')
63381 ) AND
63382 (l_bflow_method_code = 'PRIOR_ENTRY')
63383 )
63384 THEN
63385 IF
63386 --
63387 1 = 1
63388 --
63389 THEN
63390 xla_accounting_err_pkg.build_message
63391 (p_appli_s_name => 'XLA'
63392 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63393 ,p_token_1 => 'LINE_NUMBER'
63394 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
63395 ,p_token_2 => 'LINE_TYPE_NAME'
63396 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
63397 l_component_type
63398 ,l_component_code
63399 ,l_component_type_code
63400 ,l_component_appl_id
63401 ,l_amb_context_code
63402 ,l_entity_code
63403 ,l_event_class_code
63404 )
63405 ,p_token_3 => 'OWNER'
63406 ,p_value_3 => xla_lookups_pkg.get_meaning(
63407 p_lookup_type => 'XLA_OWNER_TYPE'
63408 ,p_lookup_code => l_component_type_code
63409 )
63410 ,p_token_4 => 'PRODUCT_NAME'
63411 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
63412 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
63416 );
63413 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
63414 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
63415 ,p_ae_header_id => NULL
63417
63418 IF (C_LEVEL_ERROR>= g_log_level) THEN
63419 trace
63420 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
63421 ,p_level => C_LEVEL_ERROR
63422 ,p_module => l_log_module);
63423 END IF;
63424 END IF;
63425 END IF;
63426 --
63427 --
63428 ------------------------------------------------------------------------------------------------
63429 -- 4219869 Business Flow
63430 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
63431 -- Prior Entry. Currently, the following code is always generated.
63432 ------------------------------------------------------------------------------------------------
63433 -- No ValidateCurrentLine for business flow method of Prior Entry
63434
63435 ------------------------------------------------------------------------------------
63436 -- 4219869 Business Flow
63437 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
63438 ------------------------------------------------------------------------------------
63439 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63440
63441 ----------------------------------------------------------------------------------
63442 -- 4219869 Business Flow
63443 -- Update journal entry status -- Need to generate this within IF <condition>
63444 ----------------------------------------------------------------------------------
63445 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63446 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
63447 ,p_balance_type_code => l_balance_type_code
63448 );
63449
63450 -------------------------------------------------------------------------------------------
63451 -- 4262811 - Generate the Accrual Reversal lines
63452 -------------------------------------------------------------------------------------------
63453 BEGIN
63454 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
63455 (g_array_event(p_event_id).array_value_num('header_index'));
63456 IF l_acc_rev_flag IS NULL THEN
63457 l_acc_rev_flag := 'N';
63458 END IF;
63459 EXCEPTION
63460 WHEN OTHERS THEN
63461 l_acc_rev_flag := 'N';
63462 END;
63463 --
63464 IF (l_acc_rev_flag = 'Y') THEN
63465
63466 -- 4645092 ------------------------------------------------------------------------------
63467 -- To allow MPA report to determine if it should generate report process
63468 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
63469 ------------------------------------------------------------------------------------------
63470
63471 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
63472 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
63473 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
63474 -- call ADRs
63475 -- Bug 4922099
63476 --
63477 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
63478 (NVL(l_actual_upg_option, 'N') = 'O') OR
63479 (NVL(l_enc_upg_option, 'N') = 'O')
63480 )
63481 THEN
63482 NULL;
63483 --
63484 --
63485
63486 --
63487 --
63488 END IF;
63489
63490 --
63491 -- Update the line information that should be overwritten
63492 --
63493 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
63494 p_header_num => 1);
63495 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
63496
63497 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
63498
63499 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
63500 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
63501 END IF;
63502
63503 --
63504 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
63505 --
63506 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
63507 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
63508 ELSE
63509 ---------------------------------------------------------------------------------------------------
63510 -- 4262811a Switch Sign
63511 ---------------------------------------------------------------------------------------------------
63512 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
63513 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63514 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63515 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
63519 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63516 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
63517 -- 5132302
63518 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
63520
63521 END IF;
63522
63523 -- 4955764
63524 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63525 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
63526
63527
63528 XLA_AE_LINES_PKG.ValidateCurrentLine;
63529 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
63530
63531 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
63532 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
63533 ,p_balance_type_code => l_balance_type_code);
63534
63535 END IF;
63536
63537 -----------------------------------------------------------------------------------------
63538 -- 4262811 Multiperiod Accounting
63539 -----------------------------------------------------------------------------------------
63540 -- No MPA option is assigned.
63541
63542
63543 END IF;
63544 END IF;
63545 --
63546
63547 --
63548 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63549 trace
63550 (p_msg => 'END of AcctLineType_125'
63551 ,p_level => C_LEVEL_PROCEDURE
63552 ,p_module => l_log_module);
63553 END IF;
63554 --
63555 EXCEPTION
63556 WHEN xla_exceptions_pkg.application_exception THEN
63557 RAISE;
63558 WHEN OTHERS THEN
63559 xla_exceptions_pkg.raise_message
63560 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_125');
63561 END AcctLineType_125;
63562 --
63563
63564 ---------------------------------------
63565 --
63566 -- PRIVATE FUNCTION
63567 -- AcctLineType_126
63568 --
63569 ---------------------------------------
63570 PROCEDURE AcctLineType_126 (
63571 p_application_id IN NUMBER
63572 ,p_event_id IN NUMBER
63573 ,p_calculate_acctd_flag IN VARCHAR2
63574 ,p_calculate_g_l_flag IN VARCHAR2
63575 ,p_actual_flag IN OUT VARCHAR2
63576 ,p_balance_type_code OUT VARCHAR2
63577 ,p_gain_or_loss_ref OUT VARCHAR2
63578
63579 --Invoice Distribution Description
63580 , p_source_1 IN VARCHAR2
63581 --Invoice Distribution Ledger Amount
63582 , p_source_9 IN NUMBER
63583 --Invoice Distribution Account
63584 , p_source_18 IN NUMBER
63585 --Invoice Distribution Type
63586 , p_source_21 IN VARCHAR2
63587 , p_source_21_meaning IN VARCHAR2
63588 --Accounting Reversal Indicator
63589 , p_source_41 IN VARCHAR2
63590 --Distribution Link Type
63591 , p_source_43 IN VARCHAR2
63592 --Allocation to Main Distribution Identifier
63593 , p_source_45 IN NUMBER
63594 --Invoice Identifier
63595 , p_source_46 IN NUMBER
63596 --Invoice Distribution Identifier
63597 , p_source_52 IN NUMBER
63598 --Payables Encumbrance Upgrade Credit Account
63599 , p_source_53 IN NUMBER
63600 --Payables Encumbrance Upgrade Credit Amount
63601 , p_source_54 IN NUMBER
63602 --Invoice Currency Code
63603 , p_source_55 IN VARCHAR2
63604 --Payables Encumbrance Upgrade Credit Base Amount
63605 , p_source_56 IN NUMBER
63606 --Payables Encumbrance Upgrade Debit Account
63607 , p_source_57 IN NUMBER
63608 --Payables Encumbrance Upgrade Debit Amount
63609 , p_source_58 IN NUMBER
63610 --Payables Encumbrance Upgrade Debit Base Amount
63611 , p_source_59 IN NUMBER
63612 --Payables Encumbrance Upgrade Option
63613 , p_source_60 IN VARCHAR2
63614 --Invoice Distribution Amount
63615 , p_source_61 IN NUMBER
63616 --Deferred Accounting End Date
63617 , p_source_65 IN DATE
63618 --Deferred Accounting Option
63619 , p_source_66 IN VARCHAR2
63620 --Deferred Accounting Start Date
63621 , p_source_67 IN DATE
63622 --Override Accounted Amount Indicator
63623 , p_source_68 IN VARCHAR2
63624 , p_source_68_meaning IN VARCHAR2
63625 --Invoice Supplier Identifier
63626 , p_source_69 IN NUMBER
63627 --Invoice Supplier Site Identifier
63628 , p_source_70 IN NUMBER
63629 --Third Party Type
63630 , p_source_71 IN VARCHAR2
63631 --Parent Reversal Identifier
63632 , p_source_72 IN NUMBER
63633 --Invoice Distribution Tax Line Identifier
63634 , p_source_74 IN NUMBER
63635 --Invoice Distribution Tax Distribution Identifier from Tax
63636 , p_source_75 IN NUMBER
63637 --Invoice Distribution Summary Tax Line Identifier
63638 , p_source_76 IN NUMBER
63639 --Payables Upgrade Credit Encumbrance Type Identifier
63640 , p_source_77 IN NUMBER
63641 --Payables Upgrade Debit Encumbrance Type Identifier
63642 , p_source_78 IN NUMBER
63643 --Business Flow Accounts Payable Application Identifier
63644 , p_source_79 IN NUMBER
63645 --Business Flow Invoice Distribution Type
63646 , p_source_80 IN VARCHAR2
63647 --Business Flow Invoice Entity Code
63651 --Business Flow Invoice Identifier
63648 , p_source_81 IN VARCHAR2
63649 --Business Flow Invoice Distribution Identifier
63650 , p_source_82 IN NUMBER
63652 , p_source_83 IN NUMBER
63653 --Invoice Exchange Date
63654 , p_source_136 IN DATE
63655 --Invoice Exchange Rate
63656 , p_source_137 IN NUMBER
63657 --Invoice Exchange Rate Type
63658 , p_source_138 IN VARCHAR2
63659 )
63660 IS
63661
63662 l_component_type VARCHAR2(80);
63663 l_component_code VARCHAR2(30);
63664 l_component_type_code VARCHAR2(1);
63665 l_component_appl_id INTEGER;
63666 l_amb_context_code VARCHAR2(30);
63667 l_entity_code VARCHAR2(30);
63668 l_event_class_code VARCHAR2(30);
63669 l_ae_header_id NUMBER;
63670 l_event_type_code VARCHAR2(30);
63671 l_line_definition_code VARCHAR2(30);
63672 l_line_definition_owner_code VARCHAR2(1);
63673 --
63674 -- adr variables
63675 l_segment VARCHAR2(30);
63676 l_ccid NUMBER;
63677 l_adr_transaction_coa_id NUMBER;
63678 l_adr_accounting_coa_id NUMBER;
63679 l_adr_flexfield_segment_code VARCHAR2(30);
63680 l_adr_flex_value_set_id NUMBER;
63681 l_adr_value_type_code VARCHAR2(30);
63682 l_adr_value_combination_id NUMBER;
63683 l_adr_value_segment_code VARCHAR2(30);
63684
63685 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
63686 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
63687 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
63688 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
63689
63690 -- 4262811 Variables ------------------------------------------------------------------------------------------
63691 l_entered_amt_idx NUMBER;
63692 l_accted_amt_idx NUMBER;
63693 l_acc_rev_flag VARCHAR2(1);
63694 l_accrual_line_num NUMBER;
63695 l_tmp_amt NUMBER;
63696 l_acc_rev_natural_side_code VARCHAR2(1);
63697
63698 l_num_entries NUMBER;
63699 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
63700 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
63701 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
63702 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
63703 l_recog_line_1 NUMBER;
63704 l_recog_line_2 NUMBER;
63705
63706 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
63707 l_bflow_applied_to_amt NUMBER; -- 5132302
63708 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
63709
63710 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
63711
63712 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
63713 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
63714
63715 ---------------------------------------------------------------------------------------------------------------
63716
63717
63718 --
63719 -- bulk performance
63720 --
63721 l_balance_type_code VARCHAR2(1);
63722 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
63723 l_log_module VARCHAR2(240);
63724
63725 --
63726 -- Upgrade strategy
63727 --
63728 l_actual_upg_option VARCHAR2(1);
63729 l_enc_upg_option VARCHAR2(1);
63730
63731 --
63732 BEGIN
63733 --
63734 IF g_log_enabled THEN
63735 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_126';
63736 END IF;
63737 --
63738 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
63739
63740 trace
63741 (p_msg => 'BEGIN of AcctLineType_126'
63742 ,p_level => C_LEVEL_PROCEDURE
63743 ,p_module => l_log_module);
63744
63745 END IF;
63746 --
63747 l_component_type := 'AMB_JLT';
63748 l_component_code := 'AP_FREIGHT_EXPENSE_DM';
63749 l_component_type_code := 'S';
63750 l_component_appl_id := 200;
63751 l_amb_context_code := 'DEFAULT';
63752 l_entity_code := 'AP_INVOICES';
63753 l_event_class_code := 'DEBIT MEMOS';
63754 l_event_type_code := 'DEBIT MEMOS_ALL';
63755 l_line_definition_owner_code := 'S';
63756 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
63757 --
63758 l_balance_type_code := 'A';
63759 l_segment := NULL;
63760 l_ccid := NULL;
63761 l_adr_transaction_coa_id := NULL;
63762 l_adr_accounting_coa_id := NULL;
63763 l_adr_flexfield_segment_code := NULL;
63764 l_adr_flex_value_set_id := NULL;
63765 l_adr_value_type_code := NULL;
63766 l_adr_value_combination_id := NULL;
63767 l_adr_value_segment_code := NULL;
63768
63769 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
63770 l_bflow_class_code := ''; -- 4219869 Business Flow
63771 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
63772 l_budgetary_control_flag := 'N';
63773
63774 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63775 l_bflow_applied_to_amt := NULL; -- 5132302
63776 l_entered_amt_idx := NULL; -- 4262811
63777 l_accted_amt_idx := NULL; -- 4262811
63781 --
63778 l_acc_rev_flag := NULL; -- 4262811
63779 l_accrual_line_num := NULL; -- 4262811
63780 l_tmp_amt := NULL; -- 4262811
63782
63783 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
63784 l_balance_type_code <> 'B' THEN
63785 IF NVL(p_source_21,'
63786 ') = 'FREIGHT'
63787 THEN
63788
63789 --
63790 XLA_AE_LINES_PKG.SetNewLine;
63791
63792 p_balance_type_code := l_balance_type_code;
63793 -- set the flag so later we will know whether the gain loss line needs to be created
63794
63795 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
63796 p_actual_flag :='A';
63797 END IF;
63798
63799 --
63800 -- bulk performance
63801 --
63802 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
63803 p_header_num => 0); -- 4262811
63804 --
63805 -- set accounting line options
63806 --
63807 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
63808 p_natural_side_code => 'D'
63809 , p_gain_or_loss_flag => 'N'
63810 , p_gl_transfer_mode_code => 'S'
63811 , p_acct_entry_type_code => 'A'
63812 , p_switch_side_flag => 'Y'
63813 , p_merge_duplicate_code => 'A'
63814 );
63815 --
63816 l_acc_rev_natural_side_code := 'C'; -- 4262811
63817 --
63818 --
63819 -- set accounting line type info
63820 --
63821 xla_ae_lines_pkg.SetAcctLineType
63822 (p_component_type => l_component_type
63823 ,p_event_type_code => l_event_type_code
63824 ,p_line_definition_owner_code => l_line_definition_owner_code
63825 ,p_line_definition_code => l_line_definition_code
63826 ,p_accounting_line_code => l_component_code
63827 ,p_accounting_line_type_code => l_component_type_code
63828 ,p_accounting_line_appl_id => l_component_appl_id
63829 ,p_amb_context_code => l_amb_context_code
63830 ,p_entity_code => l_entity_code
63831 ,p_event_class_code => l_event_class_code);
63832 --
63833 -- set accounting class
63834 --
63835 xla_ae_lines_pkg.SetAcctClass(
63836 p_accounting_class_code => 'FREIGHT'
63837 , p_ae_header_id => l_ae_header_id
63838 );
63839
63840 --
63841 -- set rounding class
63842 --
63843 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
63844 'FREIGHT';
63845
63846 --
63847 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
63848 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
63849 --
63850 -- bulk performance
63851 --
63852 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
63853
63854 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
63855 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
63856
63857 -- 4955764
63858 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
63859 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
63860
63861 -- 4458381 Public Sector Enh
63862
63863 --
63864 -- set accounting attributes for the line type
63865 --
63866 l_entered_amt_idx := 23;
63867 l_accted_amt_idx := 28;
63868 l_bflow_applied_to_amt_idx := NULL; -- 5132302
63869 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
63870 l_rec_acct_attrs.array_char_value(1) := p_source_41;
63871 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
63872 l_rec_acct_attrs.array_num_value(2) :=
63873 xla_ae_sources_pkg.GetSystemSourceNum(
63874 p_source_code => 'XLA_EVENT_APPL_ID'
63875 , p_source_type_code => 'Y'
63876 , p_source_application_id => 602
63877 );
63878 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
63879 l_rec_acct_attrs.array_char_value(3) := p_source_43;
63880 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
63881 l_rec_acct_attrs.array_char_value(4) :=
63882 xla_ae_sources_pkg.GetSystemSourceChar(
63883 p_source_code => 'XLA_ENTITY_CODE'
63884 , p_source_type_code => 'Y'
63885 , p_source_application_id => 602
63886 );
63887 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
63888 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
63889 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
63890 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
63891 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
63892 l_rec_acct_attrs.array_num_value(7) := p_source_79;
63893 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
63894 l_rec_acct_attrs.array_char_value(8) := p_source_80;
63895 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
63896 l_rec_acct_attrs.array_char_value(9) := p_source_81;
63897 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
63901 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
63898 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
63899 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
63900 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
63902 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
63903 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
63904 l_rec_acct_attrs.array_char_value(13) := p_source_43;
63905 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
63906 l_rec_acct_attrs.array_num_value(14) := p_source_53;
63907 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
63908 l_rec_acct_attrs.array_num_value(15) := p_source_54;
63909 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
63910 l_rec_acct_attrs.array_char_value(16) := p_source_55;
63911 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
63912 l_rec_acct_attrs.array_num_value(17) := p_source_56;
63913 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
63914 l_rec_acct_attrs.array_num_value(18) := p_source_57;
63915 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
63916 l_rec_acct_attrs.array_num_value(19) := p_source_58;
63917 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
63918 l_rec_acct_attrs.array_char_value(20) := p_source_55;
63919 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
63920 l_rec_acct_attrs.array_num_value(21) := p_source_59;
63921 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
63922 l_rec_acct_attrs.array_char_value(22) := p_source_60;
63923 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
63924 l_rec_acct_attrs.array_num_value(23) := p_source_61;
63925 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
63926 l_rec_acct_attrs.array_char_value(24) := p_source_55;
63927 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
63928 l_rec_acct_attrs.array_date_value(25) := p_source_136;
63929 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
63930 l_rec_acct_attrs.array_num_value(26) := p_source_137;
63931 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
63932 l_rec_acct_attrs.array_char_value(27) := p_source_138;
63933 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
63934 l_rec_acct_attrs.array_num_value(28) := p_source_9;
63935 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
63936 l_rec_acct_attrs.array_date_value(29) := p_source_65;
63937 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
63938 l_rec_acct_attrs.array_char_value(30) := p_source_66;
63939 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
63940 l_rec_acct_attrs.array_date_value(31) := p_source_67;
63941 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
63942 l_rec_acct_attrs.array_char_value(32) := p_source_68;
63943 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
63944 l_rec_acct_attrs.array_num_value(33) := p_source_69;
63945 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
63946 l_rec_acct_attrs.array_num_value(34) := p_source_70;
63947 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
63948 l_rec_acct_attrs.array_char_value(35) := p_source_71;
63949 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
63950 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
63951 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
63952 l_rec_acct_attrs.array_char_value(37) := p_source_43;
63953 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
63954 l_rec_acct_attrs.array_num_value(38) := p_source_74;
63955 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
63956 l_rec_acct_attrs.array_num_value(39) := p_source_75;
63957 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
63958 l_rec_acct_attrs.array_num_value(40) := p_source_76;
63959 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
63960 l_rec_acct_attrs.array_num_value(41) := p_source_77;
63961 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
63962 l_rec_acct_attrs.array_num_value(42) := p_source_78;
63963
63964 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
63965 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
63966
63967 ---------------------------------------------------------------------------------------------------------------
63968 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
63969 ---------------------------------------------------------------------------------------------------------------
63970 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
63971
63972 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63973 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
63974
63975 IF xla_accounting_cache_pkg.GetValueChar
63976 (p_source_code => 'LEDGER_CATEGORY_CODE'
63977 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
63978 AND l_bflow_method_code = 'PRIOR_ENTRY'
63979 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
63980 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
63981 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
63982 )
63983 THEN
63987 ,p_balance_type => l_balance_type_code);
63984 xla_ae_lines_pkg.BflowUpgEntry
63985 (p_business_method_code => l_bflow_method_code
63986 ,p_business_class_code => l_bflow_class_code
63988 ELSE
63989 NULL;
63990 -- No business flow processing for business flow method of NONE.
63991 END IF;
63992
63993 --
63994 -- call analytical criteria
63995 --
63996
63997 --
63998 -- call description
63999 --
64000
64001 xla_ae_lines_pkg.SetLineDescription(
64002 p_ae_header_id => l_ae_header_id
64003 ,p_description => Description_2 (
64004 p_application_id => p_application_id
64005 , p_ae_header_id => l_ae_header_id
64006 , p_source_1 => p_source_1
64007 )
64008 );
64009
64010
64011 --
64012 -- call ADRs
64013 -- Bug 4922099
64014 --
64015 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64016 (NVL(l_actual_upg_option, 'N') = 'O') OR
64017 (NVL(l_enc_upg_option, 'N') = 'O')
64018 )
64019 THEN
64020 NULL;
64021 --
64022 --
64023
64024 l_ccid := AcctDerRule_32(
64025 p_application_id => p_application_id
64026 , p_ae_header_id => l_ae_header_id
64027 , p_source_18 => p_source_18
64028 , x_transaction_coa_id => l_adr_transaction_coa_id
64029 , x_accounting_coa_id => l_adr_accounting_coa_id
64030 , x_value_type_code => l_adr_value_type_code
64031 , p_side => 'NA'
64032 );
64033
64034 xla_ae_lines_pkg.set_ccid(
64035 p_code_combination_id => l_ccid
64036 , p_value_type_code => l_adr_value_type_code
64037 , p_transaction_coa_id => l_adr_transaction_coa_id
64038 , p_accounting_coa_id => l_adr_accounting_coa_id
64039 , p_adr_code => 'AP_INVOICE_DIST'
64040 , p_adr_type_code => 'S'
64041 , p_component_type => l_component_type
64042 , p_component_code => l_component_code
64043 , p_component_type_code => l_component_type_code
64044 , p_component_appl_id => l_component_appl_id
64045 , p_amb_context_code => l_amb_context_code
64046 , p_side => 'NA'
64047 );
64048
64049
64050 --
64051 --
64052 END IF;
64053 --
64054 -- Bug 4922099
64055 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64056 (NVL(l_enc_upg_option, 'N') = 'O')
64057 ) AND
64058 (l_bflow_method_code = 'PRIOR_ENTRY')
64059 )
64060 THEN
64061 IF
64062 --
64063 1 = 2
64064 --
64065 THEN
64066 xla_accounting_err_pkg.build_message
64067 (p_appli_s_name => 'XLA'
64068 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64069 ,p_token_1 => 'LINE_NUMBER'
64070 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64071 ,p_token_2 => 'LINE_TYPE_NAME'
64072 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64073 l_component_type
64074 ,l_component_code
64075 ,l_component_type_code
64076 ,l_component_appl_id
64077 ,l_amb_context_code
64078 ,l_entity_code
64079 ,l_event_class_code
64080 )
64081 ,p_token_3 => 'OWNER'
64082 ,p_value_3 => xla_lookups_pkg.get_meaning(
64083 p_lookup_type => 'XLA_OWNER_TYPE'
64084 ,p_lookup_code => l_component_type_code
64085 )
64086 ,p_token_4 => 'PRODUCT_NAME'
64087 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64088 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64089 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64090 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64091 ,p_ae_header_id => NULL
64092 );
64093
64094 IF (C_LEVEL_ERROR>= g_log_level) THEN
64095 trace
64096 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64097 ,p_level => C_LEVEL_ERROR
64101 END IF;
64098 ,p_module => l_log_module);
64099 END IF;
64100 END IF;
64102 --
64103 --
64104 ------------------------------------------------------------------------------------------------
64105 -- 4219869 Business Flow
64106 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64107 -- Prior Entry. Currently, the following code is always generated.
64108 ------------------------------------------------------------------------------------------------
64109 XLA_AE_LINES_PKG.ValidateCurrentLine;
64110
64111 ------------------------------------------------------------------------------------
64112 -- 4219869 Business Flow
64113 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64114 ------------------------------------------------------------------------------------
64115 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64116
64117 ----------------------------------------------------------------------------------
64118 -- 4219869 Business Flow
64119 -- Update journal entry status -- Need to generate this within IF <condition>
64120 ----------------------------------------------------------------------------------
64121 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64122 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64123 ,p_balance_type_code => l_balance_type_code
64124 );
64125
64126 -------------------------------------------------------------------------------------------
64127 -- 4262811 - Generate the Accrual Reversal lines
64128 -------------------------------------------------------------------------------------------
64129 BEGIN
64130 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64131 (g_array_event(p_event_id).array_value_num('header_index'));
64132 IF l_acc_rev_flag IS NULL THEN
64133 l_acc_rev_flag := 'N';
64134 END IF;
64135 EXCEPTION
64136 WHEN OTHERS THEN
64137 l_acc_rev_flag := 'N';
64138 END;
64139 --
64140 IF (l_acc_rev_flag = 'Y') THEN
64141
64142 -- 4645092 ------------------------------------------------------------------------------
64143 -- To allow MPA report to determine if it should generate report process
64144 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64145 ------------------------------------------------------------------------------------------
64146
64147 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64148 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64149 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64150 -- call ADRs
64151 -- Bug 4922099
64152 --
64153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64154 (NVL(l_actual_upg_option, 'N') = 'O') OR
64155 (NVL(l_enc_upg_option, 'N') = 'O')
64156 )
64157 THEN
64158 NULL;
64159 --
64160 --
64161
64162 l_ccid := AcctDerRule_32(
64163 p_application_id => p_application_id
64164 , p_ae_header_id => l_ae_header_id
64165 , p_source_18 => p_source_18
64166 , x_transaction_coa_id => l_adr_transaction_coa_id
64167 , x_accounting_coa_id => l_adr_accounting_coa_id
64168 , x_value_type_code => l_adr_value_type_code
64169 , p_side => 'NA'
64170 );
64171
64172 xla_ae_lines_pkg.set_ccid(
64173 p_code_combination_id => l_ccid
64174 , p_value_type_code => l_adr_value_type_code
64175 , p_transaction_coa_id => l_adr_transaction_coa_id
64176 , p_accounting_coa_id => l_adr_accounting_coa_id
64177 , p_adr_code => 'AP_INVOICE_DIST'
64178 , p_adr_type_code => 'S'
64179 , p_component_type => l_component_type
64180 , p_component_code => l_component_code
64181 , p_component_type_code => l_component_type_code
64182 , p_component_appl_id => l_component_appl_id
64183 , p_amb_context_code => l_amb_context_code
64184 , p_side => 'NA'
64185 );
64186
64187
64188 --
64189 --
64190 END IF;
64191
64192 --
64193 -- Update the line information that should be overwritten
64194 --
64195 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
64196 p_header_num => 1);
64197 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
64198
64199 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
64200
64201 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
64202 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
64203 END IF;
64204
64205 --
64206 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
64207 --
64208 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
64209 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
64210 ELSE
64214 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
64211 ---------------------------------------------------------------------------------------------------
64212 -- 4262811a Switch Sign
64213 ---------------------------------------------------------------------------------------------------
64215 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64216 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64217 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64218 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64219 -- 5132302
64220 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
64221 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64222
64223 END IF;
64224
64225 -- 4955764
64226 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64227 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
64228
64229
64230 XLA_AE_LINES_PKG.ValidateCurrentLine;
64231 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64232
64233 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64234 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
64235 ,p_balance_type_code => l_balance_type_code);
64236
64237 END IF;
64238
64239 -----------------------------------------------------------------------------------------
64240 -- 4262811 Multiperiod Accounting
64241 -----------------------------------------------------------------------------------------
64242 -- No MPA option is assigned.
64243
64244
64245 END IF;
64246 END IF;
64247 --
64248
64249 --
64250 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64251 trace
64252 (p_msg => 'END of AcctLineType_126'
64253 ,p_level => C_LEVEL_PROCEDURE
64254 ,p_module => l_log_module);
64255 END IF;
64256 --
64257 EXCEPTION
64258 WHEN xla_exceptions_pkg.application_exception THEN
64259 RAISE;
64260 WHEN OTHERS THEN
64261 xla_exceptions_pkg.raise_message
64262 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_126');
64263 END AcctLineType_126;
64264 --
64265
64266 ---------------------------------------
64267 --
64268 -- PRIVATE FUNCTION
64269 -- AcctLineType_127
64270 --
64271 ---------------------------------------
64272 PROCEDURE AcctLineType_127 (
64273 p_application_id IN NUMBER
64274 ,p_event_id IN NUMBER
64275 ,p_calculate_acctd_flag IN VARCHAR2
64276 ,p_calculate_g_l_flag IN VARCHAR2
64277 ,p_actual_flag IN OUT VARCHAR2
64278 ,p_balance_type_code OUT VARCHAR2
64279 ,p_gain_or_loss_ref OUT VARCHAR2
64280
64281 --Invoice Distribution Type
64282 , p_source_21 IN VARCHAR2
64283 , p_source_21_meaning IN VARCHAR2
64284 --Accounting Reversal Indicator
64285 , p_source_41 IN VARCHAR2
64286 --Distribution Link Type
64287 , p_source_43 IN VARCHAR2
64288 --Allocation to Main Distribution Identifier
64289 , p_source_45 IN NUMBER
64290 --Invoice Identifier
64291 , p_source_46 IN NUMBER
64292 --Invoice Distribution Identifier
64293 , p_source_52 IN NUMBER
64294 --Payables Encumbrance Upgrade Credit Account
64295 , p_source_53 IN NUMBER
64296 --Payables Encumbrance Upgrade Credit Amount
64297 , p_source_54 IN NUMBER
64298 --Invoice Currency Code
64299 , p_source_55 IN VARCHAR2
64300 --Payables Encumbrance Upgrade Credit Base Amount
64301 , p_source_56 IN NUMBER
64302 --Payables Encumbrance Upgrade Debit Account
64303 , p_source_57 IN NUMBER
64304 --Payables Encumbrance Upgrade Debit Amount
64305 , p_source_58 IN NUMBER
64306 --Payables Encumbrance Upgrade Debit Base Amount
64307 , p_source_59 IN NUMBER
64308 --Payables Encumbrance Upgrade Option
64309 , p_source_60 IN VARCHAR2
64310 --Deferred Accounting End Date
64311 , p_source_65 IN DATE
64312 --Deferred Accounting Option
64313 , p_source_66 IN VARCHAR2
64314 --Deferred Accounting Start Date
64315 , p_source_67 IN DATE
64316 --Override Accounted Amount Indicator
64317 , p_source_68 IN VARCHAR2
64318 , p_source_68_meaning IN VARCHAR2
64319 --Third Party Type
64320 , p_source_71 IN VARCHAR2
64321 --Parent Reversal Identifier
64322 , p_source_72 IN NUMBER
64323 --Invoice Distribution Tax Line Identifier
64324 , p_source_74 IN NUMBER
64325 --Invoice Distribution Tax Distribution Identifier from Tax
64326 , p_source_75 IN NUMBER
64327 --Invoice Distribution Summary Tax Line Identifier
64328 , p_source_76 IN NUMBER
64329 --Payables Upgrade Credit Encumbrance Type Identifier
64330 , p_source_77 IN NUMBER
64331 --Payables Upgrade Debit Encumbrance Type Identifier
64332 , p_source_78 IN NUMBER
64333 --Business Flow Accounts Payable Application Identifier
64334 , p_source_79 IN NUMBER
64338 , p_source_81 IN VARCHAR2
64335 --Business Flow Invoice Distribution Type
64336 , p_source_80 IN VARCHAR2
64337 --Business Flow Invoice Entity Code
64339 --Business Flow Invoice Distribution Identifier
64340 , p_source_82 IN NUMBER
64341 --Business Flow Invoice Identifier
64342 , p_source_83 IN NUMBER
64343 --Purchasing Encumbrance Option
64344 , p_source_86 IN VARCHAR2
64345 , p_source_86_meaning IN VARCHAR2
64346 --Invoice Encumbered Option
64347 , p_source_87 IN VARCHAR2
64348 , p_source_87_meaning IN VARCHAR2
64349 --Invoice Distribution Encumbrance Amount
64350 , p_source_143 IN NUMBER
64351 --Invoice Distribution Encumbrance Ledger Amount
64352 , p_source_144 IN NUMBER
64353 )
64354 IS
64355
64356 l_component_type VARCHAR2(80);
64357 l_component_code VARCHAR2(30);
64358 l_component_type_code VARCHAR2(1);
64359 l_component_appl_id INTEGER;
64360 l_amb_context_code VARCHAR2(30);
64361 l_entity_code VARCHAR2(30);
64362 l_event_class_code VARCHAR2(30);
64363 l_ae_header_id NUMBER;
64364 l_event_type_code VARCHAR2(30);
64365 l_line_definition_code VARCHAR2(30);
64366 l_line_definition_owner_code VARCHAR2(1);
64367 --
64368 -- adr variables
64369 l_segment VARCHAR2(30);
64370 l_ccid NUMBER;
64371 l_adr_transaction_coa_id NUMBER;
64372 l_adr_accounting_coa_id NUMBER;
64373 l_adr_flexfield_segment_code VARCHAR2(30);
64374 l_adr_flex_value_set_id NUMBER;
64375 l_adr_value_type_code VARCHAR2(30);
64376 l_adr_value_combination_id NUMBER;
64377 l_adr_value_segment_code VARCHAR2(30);
64378
64379 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
64380 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
64381 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
64382 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
64383
64384 -- 4262811 Variables ------------------------------------------------------------------------------------------
64385 l_entered_amt_idx NUMBER;
64386 l_accted_amt_idx NUMBER;
64387 l_acc_rev_flag VARCHAR2(1);
64388 l_accrual_line_num NUMBER;
64389 l_tmp_amt NUMBER;
64390 l_acc_rev_natural_side_code VARCHAR2(1);
64391
64392 l_num_entries NUMBER;
64393 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
64394 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
64395 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
64396 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
64397 l_recog_line_1 NUMBER;
64398 l_recog_line_2 NUMBER;
64399
64400 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
64401 l_bflow_applied_to_amt NUMBER; -- 5132302
64402 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
64403
64404 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
64405
64406 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
64407 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
64408
64409 ---------------------------------------------------------------------------------------------------------------
64410
64411
64412 --
64413 -- bulk performance
64414 --
64415 l_balance_type_code VARCHAR2(1);
64416 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
64417 l_log_module VARCHAR2(240);
64418
64419 --
64420 -- Upgrade strategy
64421 --
64422 l_actual_upg_option VARCHAR2(1);
64423 l_enc_upg_option VARCHAR2(1);
64424
64425 --
64426 BEGIN
64427 --
64428 IF g_log_enabled THEN
64429 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_127';
64430 END IF;
64431 --
64432 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64433
64434 trace
64435 (p_msg => 'BEGIN of AcctLineType_127'
64436 ,p_level => C_LEVEL_PROCEDURE
64437 ,p_module => l_log_module);
64438
64439 END IF;
64440 --
64441 l_component_type := 'AMB_JLT';
64442 l_component_code := 'AP_FREIGHT_EXPENSE_DM_ENC';
64443 l_component_type_code := 'S';
64444 l_component_appl_id := 200;
64445 l_amb_context_code := 'DEFAULT';
64446 l_entity_code := 'AP_INVOICES';
64447 l_event_class_code := 'DEBIT MEMOS';
64448 l_event_type_code := 'DEBIT MEMOS_ALL';
64449 l_line_definition_owner_code := 'S';
64450 l_line_definition_code := 'ENC_REV_DM_ALL';
64451 --
64452 l_balance_type_code := 'E';
64453 l_segment := NULL;
64454 l_ccid := NULL;
64455 l_adr_transaction_coa_id := NULL;
64456 l_adr_accounting_coa_id := NULL;
64457 l_adr_flexfield_segment_code := NULL;
64458 l_adr_flex_value_set_id := NULL;
64459 l_adr_value_type_code := NULL;
64460 l_adr_value_combination_id := NULL;
64461 l_adr_value_segment_code := NULL;
64462
64463 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
64464 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
64468 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64465 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
64466 l_budgetary_control_flag := 'N';
64467
64469 l_bflow_applied_to_amt := NULL; -- 5132302
64470 l_entered_amt_idx := NULL; -- 4262811
64471 l_accted_amt_idx := NULL; -- 4262811
64472 l_acc_rev_flag := NULL; -- 4262811
64473 l_accrual_line_num := NULL; -- 4262811
64474 l_tmp_amt := NULL; -- 4262811
64475 --
64476
64477 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
64478 l_balance_type_code <> 'B' THEN
64479 IF NVL(p_source_21,'
64480 ') = 'FREIGHT' AND
64481 NVL(p_source_86,'
64482 ') = 'Y' AND
64483 NVL(p_source_87,'
64484 ') = 'Y'
64485 THEN
64486
64487 --
64488 XLA_AE_LINES_PKG.SetNewLine;
64489
64490 p_balance_type_code := l_balance_type_code;
64491 -- set the flag so later we will know whether the gain loss line needs to be created
64492
64493 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
64494 p_actual_flag :='A';
64495 END IF;
64496
64497 --
64498 -- bulk performance
64499 --
64500 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
64501 p_header_num => 0); -- 4262811
64502 --
64503 -- set accounting line options
64504 --
64505 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
64506 p_natural_side_code => 'C'
64507 , p_gain_or_loss_flag => 'N'
64508 , p_gl_transfer_mode_code => 'S'
64509 , p_acct_entry_type_code => 'E'
64510 , p_switch_side_flag => 'Y'
64511 , p_merge_duplicate_code => 'A'
64512 );
64513 --
64514 l_acc_rev_natural_side_code := 'D'; -- 4262811
64515 --
64516 --
64517 -- set accounting line type info
64518 --
64519 xla_ae_lines_pkg.SetAcctLineType
64520 (p_component_type => l_component_type
64521 ,p_event_type_code => l_event_type_code
64522 ,p_line_definition_owner_code => l_line_definition_owner_code
64523 ,p_line_definition_code => l_line_definition_code
64524 ,p_accounting_line_code => l_component_code
64525 ,p_accounting_line_type_code => l_component_type_code
64526 ,p_accounting_line_appl_id => l_component_appl_id
64527 ,p_amb_context_code => l_amb_context_code
64528 ,p_entity_code => l_entity_code
64529 ,p_event_class_code => l_event_class_code);
64530 --
64531 -- set accounting class
64532 --
64533 xla_ae_lines_pkg.SetAcctClass(
64534 p_accounting_class_code => 'FREIGHT'
64535 , p_ae_header_id => l_ae_header_id
64536 );
64537
64538 --
64539 -- set rounding class
64540 --
64541 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
64542 'FREIGHT';
64543
64544 --
64545 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
64546 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
64547 --
64548 -- bulk performance
64549 --
64550 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
64551
64552 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
64553 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
64554
64555 -- 4955764
64556 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64557 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
64558
64559 -- 4458381 Public Sector Enh
64560
64561 --
64562 -- set accounting attributes for the line type
64563 --
64564 l_entered_amt_idx := 23;
64565 l_accted_amt_idx := 25;
64566 l_bflow_applied_to_amt_idx := NULL; -- 5132302
64567 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
64568 l_rec_acct_attrs.array_char_value(1) := p_source_41;
64569 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
64570 l_rec_acct_attrs.array_num_value(2) :=
64571 xla_ae_sources_pkg.GetSystemSourceNum(
64572 p_source_code => 'XLA_EVENT_APPL_ID'
64573 , p_source_type_code => 'Y'
64574 , p_source_application_id => 602
64575 );
64576 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
64577 l_rec_acct_attrs.array_char_value(3) := p_source_43;
64578 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
64579 l_rec_acct_attrs.array_char_value(4) :=
64580 xla_ae_sources_pkg.GetSystemSourceChar(
64581 p_source_code => 'XLA_ENTITY_CODE'
64582 , p_source_type_code => 'Y'
64583 , p_source_application_id => 602
64584 );
64585 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
64586 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
64587 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
64588 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
64592 l_rec_acct_attrs.array_char_value(8) := p_source_80;
64589 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
64590 l_rec_acct_attrs.array_num_value(7) := p_source_79;
64591 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
64593 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
64594 l_rec_acct_attrs.array_char_value(9) := p_source_81;
64595 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
64596 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
64597 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
64598 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
64599 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
64600 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
64601 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
64602 l_rec_acct_attrs.array_char_value(13) := p_source_43;
64603 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
64604 l_rec_acct_attrs.array_num_value(14) := p_source_53;
64605 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
64606 l_rec_acct_attrs.array_num_value(15) := p_source_54;
64607 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
64608 l_rec_acct_attrs.array_char_value(16) := p_source_55;
64609 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
64610 l_rec_acct_attrs.array_num_value(17) := p_source_56;
64611 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
64612 l_rec_acct_attrs.array_num_value(18) := p_source_57;
64613 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
64614 l_rec_acct_attrs.array_num_value(19) := p_source_58;
64615 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
64616 l_rec_acct_attrs.array_char_value(20) := p_source_55;
64617 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
64618 l_rec_acct_attrs.array_num_value(21) := p_source_59;
64619 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
64620 l_rec_acct_attrs.array_char_value(22) := p_source_60;
64621 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
64622 l_rec_acct_attrs.array_num_value(23) := p_source_143;
64623 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
64624 l_rec_acct_attrs.array_char_value(24) := p_source_55;
64625 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
64626 l_rec_acct_attrs.array_num_value(25) := p_source_144;
64627 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
64628 l_rec_acct_attrs.array_date_value(26) := p_source_65;
64629 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
64630 l_rec_acct_attrs.array_char_value(27) := p_source_66;
64631 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
64632 l_rec_acct_attrs.array_date_value(28) := p_source_67;
64633 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
64634 l_rec_acct_attrs.array_char_value(29) := p_source_68;
64635 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
64636 l_rec_acct_attrs.array_char_value(30) := p_source_71;
64637 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
64638 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
64639 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
64640 l_rec_acct_attrs.array_char_value(32) := p_source_43;
64641 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
64642 l_rec_acct_attrs.array_num_value(33) := p_source_74;
64643 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
64644 l_rec_acct_attrs.array_num_value(34) := p_source_75;
64645 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
64646 l_rec_acct_attrs.array_num_value(35) := p_source_76;
64647 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
64648 l_rec_acct_attrs.array_num_value(36) := p_source_77;
64649 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
64650 l_rec_acct_attrs.array_num_value(37) := p_source_78;
64651
64652 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
64653 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
64654
64655 ---------------------------------------------------------------------------------------------------------------
64656 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
64657 ---------------------------------------------------------------------------------------------------------------
64658 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
64659
64660 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64661 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
64662
64663 IF xla_accounting_cache_pkg.GetValueChar
64664 (p_source_code => 'LEDGER_CATEGORY_CODE'
64665 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
64666 AND l_bflow_method_code = 'PRIOR_ENTRY'
64667 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
64668 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
64669 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
64670 )
64671 THEN
64672 xla_ae_lines_pkg.BflowUpgEntry
64673 (p_business_method_code => l_bflow_method_code
64677 NULL;
64674 ,p_business_class_code => l_bflow_class_code
64675 ,p_balance_type => l_balance_type_code);
64676 ELSE
64678 XLA_AE_LINES_PKG.business_flow_validation(
64679 p_business_method_code => l_bflow_method_code
64680 ,p_business_class_code => l_bflow_class_code
64681 ,p_inherit_description_flag => l_inherit_desc_flag);
64682 END IF;
64683
64684 --
64685 -- call analytical criteria
64686 --
64687 -- Inherited Analytical Criteria for business flow method of Prior Entry.
64688 --
64689 -- call description
64690 --
64691 -- No description or it is inherited.
64692 --
64693 -- call ADRs
64694 -- Bug 4922099
64695 --
64696 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64697 (NVL(l_actual_upg_option, 'N') = 'O') OR
64698 (NVL(l_enc_upg_option, 'N') = 'O')
64699 )
64700 THEN
64701 NULL;
64702 --
64703 --
64704
64705 --
64706 --
64707 END IF;
64708 --
64709 -- Bug 4922099
64710 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
64711 (NVL(l_enc_upg_option, 'N') = 'O')
64712 ) AND
64713 (l_bflow_method_code = 'PRIOR_ENTRY')
64714 )
64715 THEN
64716 IF
64717 --
64718 1 = 1
64719 --
64720 THEN
64721 xla_accounting_err_pkg.build_message
64722 (p_appli_s_name => 'XLA'
64723 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64724 ,p_token_1 => 'LINE_NUMBER'
64725 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
64726 ,p_token_2 => 'LINE_TYPE_NAME'
64727 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
64728 l_component_type
64729 ,l_component_code
64730 ,l_component_type_code
64731 ,l_component_appl_id
64732 ,l_amb_context_code
64733 ,l_entity_code
64734 ,l_event_class_code
64735 )
64736 ,p_token_3 => 'OWNER'
64737 ,p_value_3 => xla_lookups_pkg.get_meaning(
64738 p_lookup_type => 'XLA_OWNER_TYPE'
64739 ,p_lookup_code => l_component_type_code
64740 )
64741 ,p_token_4 => 'PRODUCT_NAME'
64742 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
64743 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
64744 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
64745 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
64746 ,p_ae_header_id => NULL
64747 );
64748
64749 IF (C_LEVEL_ERROR>= g_log_level) THEN
64750 trace
64751 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
64752 ,p_level => C_LEVEL_ERROR
64753 ,p_module => l_log_module);
64754 END IF;
64755 END IF;
64756 END IF;
64757 --
64758 --
64759 ------------------------------------------------------------------------------------------------
64760 -- 4219869 Business Flow
64761 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
64762 -- Prior Entry. Currently, the following code is always generated.
64763 ------------------------------------------------------------------------------------------------
64764 -- No ValidateCurrentLine for business flow method of Prior Entry
64765
64766 ------------------------------------------------------------------------------------
64767 -- 4219869 Business Flow
64768 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
64769 ------------------------------------------------------------------------------------
64770 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64771
64772 ----------------------------------------------------------------------------------
64773 -- 4219869 Business Flow
64774 -- Update journal entry status -- Need to generate this within IF <condition>
64775 ----------------------------------------------------------------------------------
64776 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64780
64777 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
64778 ,p_balance_type_code => l_balance_type_code
64779 );
64781 -------------------------------------------------------------------------------------------
64782 -- 4262811 - Generate the Accrual Reversal lines
64783 -------------------------------------------------------------------------------------------
64784 BEGIN
64785 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
64786 (g_array_event(p_event_id).array_value_num('header_index'));
64787 IF l_acc_rev_flag IS NULL THEN
64788 l_acc_rev_flag := 'N';
64789 END IF;
64790 EXCEPTION
64791 WHEN OTHERS THEN
64792 l_acc_rev_flag := 'N';
64793 END;
64794 --
64795 IF (l_acc_rev_flag = 'Y') THEN
64796
64797 -- 4645092 ------------------------------------------------------------------------------
64798 -- To allow MPA report to determine if it should generate report process
64799 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
64800 ------------------------------------------------------------------------------------------
64801
64802 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
64803 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
64804 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
64805 -- call ADRs
64806 -- Bug 4922099
64807 --
64808 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
64809 (NVL(l_actual_upg_option, 'N') = 'O') OR
64810 (NVL(l_enc_upg_option, 'N') = 'O')
64811 )
64812 THEN
64813 NULL;
64814 --
64815 --
64816
64817 --
64818 --
64819 END IF;
64820
64821 --
64822 -- Update the line information that should be overwritten
64823 --
64824 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
64825 p_header_num => 1);
64826 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
64827
64828 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
64829
64830 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
64831 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
64832 END IF;
64833
64834 --
64835 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
64836 --
64837 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
64838 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
64839 ELSE
64840 ---------------------------------------------------------------------------------------------------
64841 -- 4262811a Switch Sign
64842 ---------------------------------------------------------------------------------------------------
64843 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
64844 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64846 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
64847 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64848 -- 5132302
64849 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
64850 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
64851
64852 END IF;
64853
64854 -- 4955764
64855 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
64856 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
64857
64858
64859 XLA_AE_LINES_PKG.ValidateCurrentLine;
64860 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
64861
64862 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
64863 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
64864 ,p_balance_type_code => l_balance_type_code);
64865
64866 END IF;
64867
64868 -----------------------------------------------------------------------------------------
64869 -- 4262811 Multiperiod Accounting
64870 -----------------------------------------------------------------------------------------
64871 -- No MPA option is assigned.
64872
64873
64874 END IF;
64875 END IF;
64876 --
64877
64878 --
64879 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
64880 trace
64881 (p_msg => 'END of AcctLineType_127'
64882 ,p_level => C_LEVEL_PROCEDURE
64883 ,p_module => l_log_module);
64884 END IF;
64885 --
64886 EXCEPTION
64887 WHEN xla_exceptions_pkg.application_exception THEN
64888 RAISE;
64889 WHEN OTHERS THEN
64890 xla_exceptions_pkg.raise_message
64891 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_127');
64892 END AcctLineType_127;
64893 --
64894
64898 -- AcctLineType_128
64895 ---------------------------------------
64896 --
64897 -- PRIVATE FUNCTION
64899 --
64900 ---------------------------------------
64901 PROCEDURE AcctLineType_128 (
64902 p_application_id IN NUMBER
64903 ,p_event_id IN NUMBER
64904 ,p_calculate_acctd_flag IN VARCHAR2
64905 ,p_calculate_g_l_flag IN VARCHAR2
64906 ,p_actual_flag IN OUT VARCHAR2
64907 ,p_balance_type_code OUT VARCHAR2
64908 ,p_gain_or_loss_ref OUT VARCHAR2
64909
64910 --Invoice Distribution Description
64911 , p_source_1 IN VARCHAR2
64912 --Invoice Distribution Ledger Amount
64913 , p_source_9 IN NUMBER
64914 --Invoice Distribution Account
64915 , p_source_18 IN NUMBER
64916 --Invoice Distribution Type
64917 , p_source_21 IN VARCHAR2
64918 , p_source_21_meaning IN VARCHAR2
64919 --Accounting Reversal Indicator
64920 , p_source_41 IN VARCHAR2
64921 --Distribution Link Type
64922 , p_source_43 IN VARCHAR2
64923 --Allocation to Main Distribution Identifier
64924 , p_source_45 IN NUMBER
64925 --Invoice Identifier
64926 , p_source_46 IN NUMBER
64927 --Invoice Distribution Identifier
64928 , p_source_52 IN NUMBER
64929 --Payables Encumbrance Upgrade Credit Account
64930 , p_source_53 IN NUMBER
64931 --Payables Encumbrance Upgrade Credit Amount
64932 , p_source_54 IN NUMBER
64933 --Invoice Currency Code
64934 , p_source_55 IN VARCHAR2
64935 --Payables Encumbrance Upgrade Credit Base Amount
64936 , p_source_56 IN NUMBER
64937 --Payables Encumbrance Upgrade Debit Account
64938 , p_source_57 IN NUMBER
64939 --Payables Encumbrance Upgrade Debit Amount
64940 , p_source_58 IN NUMBER
64941 --Payables Encumbrance Upgrade Debit Base Amount
64942 , p_source_59 IN NUMBER
64943 --Payables Encumbrance Upgrade Option
64944 , p_source_60 IN VARCHAR2
64945 --Invoice Distribution Amount
64946 , p_source_61 IN NUMBER
64947 --Deferred Accounting End Date
64948 , p_source_65 IN DATE
64949 --Deferred Accounting Option
64950 , p_source_66 IN VARCHAR2
64951 --Deferred Accounting Start Date
64952 , p_source_67 IN DATE
64953 --Override Accounted Amount Indicator
64954 , p_source_68 IN VARCHAR2
64955 , p_source_68_meaning IN VARCHAR2
64956 --Invoice Supplier Identifier
64957 , p_source_69 IN NUMBER
64958 --Invoice Supplier Site Identifier
64959 , p_source_70 IN NUMBER
64960 --Third Party Type
64961 , p_source_71 IN VARCHAR2
64962 --Parent Reversal Identifier
64963 , p_source_72 IN NUMBER
64964 --Invoice Distribution Statistical Amount
64965 , p_source_73 IN NUMBER
64966 --Invoice Distribution Tax Line Identifier
64967 , p_source_74 IN NUMBER
64968 --Invoice Distribution Tax Distribution Identifier from Tax
64969 , p_source_75 IN NUMBER
64970 --Invoice Distribution Summary Tax Line Identifier
64971 , p_source_76 IN NUMBER
64972 --Payables Upgrade Credit Encumbrance Type Identifier
64973 , p_source_77 IN NUMBER
64974 --Payables Upgrade Debit Encumbrance Type Identifier
64975 , p_source_78 IN NUMBER
64976 --Business Flow Accounts Payable Application Identifier
64977 , p_source_79 IN NUMBER
64978 --Business Flow Invoice Distribution Type
64979 , p_source_80 IN VARCHAR2
64980 --Business Flow Invoice Entity Code
64981 , p_source_81 IN VARCHAR2
64982 --Business Flow Invoice Distribution Identifier
64983 , p_source_82 IN NUMBER
64984 --Business Flow Invoice Identifier
64985 , p_source_83 IN NUMBER
64986 --Invoice Exchange Date
64987 , p_source_136 IN DATE
64988 --Invoice Exchange Rate
64989 , p_source_137 IN NUMBER
64990 --Invoice Exchange Rate Type
64991 , p_source_138 IN VARCHAR2
64992 )
64993 IS
64994
64995 l_component_type VARCHAR2(80);
64996 l_component_code VARCHAR2(30);
64997 l_component_type_code VARCHAR2(1);
64998 l_component_appl_id INTEGER;
64999 l_amb_context_code VARCHAR2(30);
65000 l_entity_code VARCHAR2(30);
65001 l_event_class_code VARCHAR2(30);
65002 l_ae_header_id NUMBER;
65003 l_event_type_code VARCHAR2(30);
65004 l_line_definition_code VARCHAR2(30);
65005 l_line_definition_owner_code VARCHAR2(1);
65006 --
65007 -- adr variables
65008 l_segment VARCHAR2(30);
65009 l_ccid NUMBER;
65010 l_adr_transaction_coa_id NUMBER;
65011 l_adr_accounting_coa_id NUMBER;
65012 l_adr_flexfield_segment_code VARCHAR2(30);
65013 l_adr_flex_value_set_id NUMBER;
65014 l_adr_value_type_code VARCHAR2(30);
65015 l_adr_value_combination_id NUMBER;
65016 l_adr_value_segment_code VARCHAR2(30);
65017
65018 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
65019 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
65020 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
65021 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
65022
65023 -- 4262811 Variables ------------------------------------------------------------------------------------------
65027 l_accrual_line_num NUMBER;
65024 l_entered_amt_idx NUMBER;
65025 l_accted_amt_idx NUMBER;
65026 l_acc_rev_flag VARCHAR2(1);
65028 l_tmp_amt NUMBER;
65029 l_acc_rev_natural_side_code VARCHAR2(1);
65030
65031 l_num_entries NUMBER;
65032 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
65033 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
65034 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
65035 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
65036 l_recog_line_1 NUMBER;
65037 l_recog_line_2 NUMBER;
65038
65039 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
65040 l_bflow_applied_to_amt NUMBER; -- 5132302
65041 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
65042
65043 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
65044
65045 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
65046 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
65047
65048 ---------------------------------------------------------------------------------------------------------------
65049
65050
65051 --
65052 -- bulk performance
65053 --
65054 l_balance_type_code VARCHAR2(1);
65055 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
65056 l_log_module VARCHAR2(240);
65057
65058 --
65059 -- Upgrade strategy
65060 --
65061 l_actual_upg_option VARCHAR2(1);
65062 l_enc_upg_option VARCHAR2(1);
65063
65064 --
65065 BEGIN
65066 --
65067 IF g_log_enabled THEN
65068 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_128';
65069 END IF;
65070 --
65071 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65072
65073 trace
65074 (p_msg => 'BEGIN of AcctLineType_128'
65075 ,p_level => C_LEVEL_PROCEDURE
65076 ,p_module => l_log_module);
65077
65078 END IF;
65079 --
65080 l_component_type := 'AMB_JLT';
65081 l_component_code := 'AP_FREIGHT_EXPENSE_INV';
65082 l_component_type_code := 'S';
65083 l_component_appl_id := 200;
65084 l_amb_context_code := 'DEFAULT';
65085 l_entity_code := 'AP_INVOICES';
65086 l_event_class_code := 'INVOICES';
65087 l_event_type_code := 'INVOICES_ALL';
65088 l_line_definition_owner_code := 'S';
65089 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
65090 --
65091 l_balance_type_code := 'A';
65092 l_segment := NULL;
65093 l_ccid := NULL;
65094 l_adr_transaction_coa_id := NULL;
65095 l_adr_accounting_coa_id := NULL;
65096 l_adr_flexfield_segment_code := NULL;
65097 l_adr_flex_value_set_id := NULL;
65098 l_adr_value_type_code := NULL;
65099 l_adr_value_combination_id := NULL;
65100 l_adr_value_segment_code := NULL;
65101
65102 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
65103 l_bflow_class_code := ''; -- 4219869 Business Flow
65104 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
65105 l_budgetary_control_flag := 'N';
65106
65107 l_bflow_applied_to_amt_idx := NULL; -- 5132302
65108 l_bflow_applied_to_amt := NULL; -- 5132302
65109 l_entered_amt_idx := NULL; -- 4262811
65110 l_accted_amt_idx := NULL; -- 4262811
65111 l_acc_rev_flag := NULL; -- 4262811
65112 l_accrual_line_num := NULL; -- 4262811
65113 l_tmp_amt := NULL; -- 4262811
65114 --
65115
65116 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
65117 l_balance_type_code <> 'B' THEN
65118 IF NVL(p_source_21,'
65119 ') = 'FREIGHT'
65120 THEN
65121
65122 --
65123 XLA_AE_LINES_PKG.SetNewLine;
65124
65125 p_balance_type_code := l_balance_type_code;
65126 -- set the flag so later we will know whether the gain loss line needs to be created
65127
65128 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
65129 p_actual_flag :='A';
65130 END IF;
65131
65132 --
65133 -- bulk performance
65134 --
65135 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
65136 p_header_num => 0); -- 4262811
65137 --
65138 -- set accounting line options
65139 --
65140 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
65141 p_natural_side_code => 'D'
65142 , p_gain_or_loss_flag => 'N'
65143 , p_gl_transfer_mode_code => 'S'
65144 , p_acct_entry_type_code => 'A'
65145 , p_switch_side_flag => 'Y'
65146 , p_merge_duplicate_code => 'A'
65147 );
65148 --
65149 l_acc_rev_natural_side_code := 'C'; -- 4262811
65150 --
65151 --
65152 -- set accounting line type info
65153 --
65154 xla_ae_lines_pkg.SetAcctLineType
65155 (p_component_type => l_component_type
65156 ,p_event_type_code => l_event_type_code
65157 ,p_line_definition_owner_code => l_line_definition_owner_code
65161 ,p_accounting_line_appl_id => l_component_appl_id
65158 ,p_line_definition_code => l_line_definition_code
65159 ,p_accounting_line_code => l_component_code
65160 ,p_accounting_line_type_code => l_component_type_code
65162 ,p_amb_context_code => l_amb_context_code
65163 ,p_entity_code => l_entity_code
65164 ,p_event_class_code => l_event_class_code);
65165 --
65166 -- set accounting class
65167 --
65168 xla_ae_lines_pkg.SetAcctClass(
65169 p_accounting_class_code => 'FREIGHT'
65170 , p_ae_header_id => l_ae_header_id
65171 );
65172
65173 --
65174 -- set rounding class
65175 --
65176 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
65177 'FREIGHT';
65178
65179 --
65180 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
65181 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
65182 --
65183 -- bulk performance
65184 --
65185 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
65186
65187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
65188 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
65189
65190 -- 4955764
65191 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65192 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
65193
65194 -- 4458381 Public Sector Enh
65195
65196 --
65197 -- set accounting attributes for the line type
65198 --
65199 l_entered_amt_idx := 24;
65200 l_accted_amt_idx := 29;
65201 l_bflow_applied_to_amt_idx := 7; -- 5132302
65202 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
65203 l_rec_acct_attrs.array_char_value(1) := p_source_41;
65204 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
65205 l_rec_acct_attrs.array_num_value(2) :=
65206 xla_ae_sources_pkg.GetSystemSourceNum(
65207 p_source_code => 'XLA_EVENT_APPL_ID'
65208 , p_source_type_code => 'Y'
65209 , p_source_application_id => 602
65210 );
65211 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
65212 l_rec_acct_attrs.array_char_value(3) := p_source_43;
65213 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
65214 l_rec_acct_attrs.array_char_value(4) :=
65215 xla_ae_sources_pkg.GetSystemSourceChar(
65216 p_source_code => 'XLA_ENTITY_CODE'
65217 , p_source_type_code => 'Y'
65218 , p_source_application_id => 602
65219 );
65220 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
65221 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
65222 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
65223 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
65224 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
65225 l_rec_acct_attrs.array_num_value(7) := p_source_61;
65226 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
65227 l_rec_acct_attrs.array_num_value(8) := p_source_79;
65228 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
65229 l_rec_acct_attrs.array_char_value(9) := p_source_80;
65230 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
65231 l_rec_acct_attrs.array_char_value(10) := p_source_81;
65232 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
65233 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
65234 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
65235 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
65236 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
65237 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
65238 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
65239 l_rec_acct_attrs.array_char_value(14) := p_source_43;
65240 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
65241 l_rec_acct_attrs.array_num_value(15) := p_source_53;
65242 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
65243 l_rec_acct_attrs.array_num_value(16) := p_source_54;
65244 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
65245 l_rec_acct_attrs.array_char_value(17) := p_source_55;
65246 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
65247 l_rec_acct_attrs.array_num_value(18) := p_source_56;
65248 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
65249 l_rec_acct_attrs.array_num_value(19) := p_source_57;
65250 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
65251 l_rec_acct_attrs.array_num_value(20) := p_source_58;
65252 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
65253 l_rec_acct_attrs.array_char_value(21) := p_source_55;
65254 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
65255 l_rec_acct_attrs.array_num_value(22) := p_source_59;
65256 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
65257 l_rec_acct_attrs.array_char_value(23) := p_source_60;
65258 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
65259 l_rec_acct_attrs.array_num_value(24) := p_source_61;
65263 l_rec_acct_attrs.array_date_value(26) := p_source_136;
65260 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
65261 l_rec_acct_attrs.array_char_value(25) := p_source_55;
65262 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
65264 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
65265 l_rec_acct_attrs.array_num_value(27) := p_source_137;
65266 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
65267 l_rec_acct_attrs.array_char_value(28) := p_source_138;
65268 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
65269 l_rec_acct_attrs.array_num_value(29) := p_source_9;
65270 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
65271 l_rec_acct_attrs.array_date_value(30) := p_source_65;
65272 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
65273 l_rec_acct_attrs.array_char_value(31) := p_source_66;
65274 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
65275 l_rec_acct_attrs.array_date_value(32) := p_source_67;
65276 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
65277 l_rec_acct_attrs.array_char_value(33) := p_source_68;
65278 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
65279 l_rec_acct_attrs.array_num_value(34) := p_source_69;
65280 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
65281 l_rec_acct_attrs.array_num_value(35) := p_source_70;
65282 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
65283 l_rec_acct_attrs.array_char_value(36) := p_source_71;
65284 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
65285 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
65286 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
65287 l_rec_acct_attrs.array_char_value(38) := p_source_43;
65288 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
65289 l_rec_acct_attrs.array_num_value(39) := p_source_73;
65290 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
65291 l_rec_acct_attrs.array_num_value(40) := p_source_74;
65292 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
65293 l_rec_acct_attrs.array_num_value(41) := p_source_75;
65294 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
65295 l_rec_acct_attrs.array_num_value(42) := p_source_76;
65296 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
65297 l_rec_acct_attrs.array_num_value(43) := p_source_77;
65298 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
65299 l_rec_acct_attrs.array_num_value(44) := p_source_78;
65300
65301 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
65302 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
65303
65304 ---------------------------------------------------------------------------------------------------------------
65305 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
65306 ---------------------------------------------------------------------------------------------------------------
65307 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
65308
65309 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65310 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
65311
65312 IF xla_accounting_cache_pkg.GetValueChar
65313 (p_source_code => 'LEDGER_CATEGORY_CODE'
65314 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
65315 AND l_bflow_method_code = 'PRIOR_ENTRY'
65316 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
65317 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
65318 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
65319 )
65320 THEN
65321 xla_ae_lines_pkg.BflowUpgEntry
65322 (p_business_method_code => l_bflow_method_code
65323 ,p_business_class_code => l_bflow_class_code
65324 ,p_balance_type => l_balance_type_code);
65325 ELSE
65326 NULL;
65327 -- No business flow processing for business flow method of NONE.
65328 END IF;
65329
65330 --
65331 -- call analytical criteria
65332 --
65333
65334 --
65335 -- call description
65336 --
65337
65338 xla_ae_lines_pkg.SetLineDescription(
65339 p_ae_header_id => l_ae_header_id
65340 ,p_description => Description_2 (
65341 p_application_id => p_application_id
65342 , p_ae_header_id => l_ae_header_id
65343 , p_source_1 => p_source_1
65344 )
65345 );
65346
65347
65348 --
65349 -- call ADRs
65350 -- Bug 4922099
65351 --
65352 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65353 (NVL(l_actual_upg_option, 'N') = 'O') OR
65354 (NVL(l_enc_upg_option, 'N') = 'O')
65355 )
65356 THEN
65357 NULL;
65358 --
65359 --
65360
65361 l_ccid := AcctDerRule_32(
65362 p_application_id => p_application_id
65363 , p_ae_header_id => l_ae_header_id
65364 , p_source_18 => p_source_18
65365 , x_transaction_coa_id => l_adr_transaction_coa_id
65366 , x_accounting_coa_id => l_adr_accounting_coa_id
65367 , x_value_type_code => l_adr_value_type_code
65371 xla_ae_lines_pkg.set_ccid(
65368 , p_side => 'NA'
65369 );
65370
65372 p_code_combination_id => l_ccid
65373 , p_value_type_code => l_adr_value_type_code
65374 , p_transaction_coa_id => l_adr_transaction_coa_id
65375 , p_accounting_coa_id => l_adr_accounting_coa_id
65376 , p_adr_code => 'AP_INVOICE_DIST'
65377 , p_adr_type_code => 'S'
65378 , p_component_type => l_component_type
65379 , p_component_code => l_component_code
65380 , p_component_type_code => l_component_type_code
65381 , p_component_appl_id => l_component_appl_id
65382 , p_amb_context_code => l_amb_context_code
65383 , p_side => 'NA'
65384 );
65385
65386
65387 --
65388 --
65389 END IF;
65390 --
65391 -- Bug 4922099
65392 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
65393 (NVL(l_enc_upg_option, 'N') = 'O')
65394 ) AND
65395 (l_bflow_method_code = 'PRIOR_ENTRY')
65396 )
65397 THEN
65398 IF
65399 --
65400 1 = 2
65401 --
65402 THEN
65403 xla_accounting_err_pkg.build_message
65404 (p_appli_s_name => 'XLA'
65405 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65406 ,p_token_1 => 'LINE_NUMBER'
65407 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
65408 ,p_token_2 => 'LINE_TYPE_NAME'
65409 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
65410 l_component_type
65411 ,l_component_code
65412 ,l_component_type_code
65413 ,l_component_appl_id
65414 ,l_amb_context_code
65415 ,l_entity_code
65416 ,l_event_class_code
65417 )
65418 ,p_token_3 => 'OWNER'
65419 ,p_value_3 => xla_lookups_pkg.get_meaning(
65420 p_lookup_type => 'XLA_OWNER_TYPE'
65421 ,p_lookup_code => l_component_type_code
65422 )
65423 ,p_token_4 => 'PRODUCT_NAME'
65424 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
65425 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
65426 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
65427 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
65428 ,p_ae_header_id => NULL
65429 );
65430
65431 IF (C_LEVEL_ERROR>= g_log_level) THEN
65432 trace
65433 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
65434 ,p_level => C_LEVEL_ERROR
65435 ,p_module => l_log_module);
65436 END IF;
65437 END IF;
65438 END IF;
65439 --
65440 --
65441 ------------------------------------------------------------------------------------------------
65442 -- 4219869 Business Flow
65443 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
65444 -- Prior Entry. Currently, the following code is always generated.
65445 ------------------------------------------------------------------------------------------------
65446 XLA_AE_LINES_PKG.ValidateCurrentLine;
65447
65448 ------------------------------------------------------------------------------------
65449 -- 4219869 Business Flow
65450 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
65451 ------------------------------------------------------------------------------------
65452 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65453
65454 ----------------------------------------------------------------------------------
65455 -- 4219869 Business Flow
65456 -- Update journal entry status -- Need to generate this within IF <condition>
65457 ----------------------------------------------------------------------------------
65458 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65459 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
65460 ,p_balance_type_code => l_balance_type_code
65461 );
65462
65463 -------------------------------------------------------------------------------------------
65467 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
65464 -- 4262811 - Generate the Accrual Reversal lines
65465 -------------------------------------------------------------------------------------------
65466 BEGIN
65468 (g_array_event(p_event_id).array_value_num('header_index'));
65469 IF l_acc_rev_flag IS NULL THEN
65470 l_acc_rev_flag := 'N';
65471 END IF;
65472 EXCEPTION
65473 WHEN OTHERS THEN
65474 l_acc_rev_flag := 'N';
65475 END;
65476 --
65477 IF (l_acc_rev_flag = 'Y') THEN
65478
65479 -- 4645092 ------------------------------------------------------------------------------
65480 -- To allow MPA report to determine if it should generate report process
65481 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
65482 ------------------------------------------------------------------------------------------
65483
65484 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
65485 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
65486 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
65487 -- call ADRs
65488 -- Bug 4922099
65489 --
65490 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
65491 (NVL(l_actual_upg_option, 'N') = 'O') OR
65492 (NVL(l_enc_upg_option, 'N') = 'O')
65493 )
65494 THEN
65495 NULL;
65496 --
65497 --
65498
65499 l_ccid := AcctDerRule_32(
65500 p_application_id => p_application_id
65501 , p_ae_header_id => l_ae_header_id
65502 , p_source_18 => p_source_18
65503 , x_transaction_coa_id => l_adr_transaction_coa_id
65504 , x_accounting_coa_id => l_adr_accounting_coa_id
65505 , x_value_type_code => l_adr_value_type_code
65506 , p_side => 'NA'
65507 );
65508
65509 xla_ae_lines_pkg.set_ccid(
65510 p_code_combination_id => l_ccid
65511 , p_value_type_code => l_adr_value_type_code
65512 , p_transaction_coa_id => l_adr_transaction_coa_id
65513 , p_accounting_coa_id => l_adr_accounting_coa_id
65514 , p_adr_code => 'AP_INVOICE_DIST'
65515 , p_adr_type_code => 'S'
65516 , p_component_type => l_component_type
65517 , p_component_code => l_component_code
65518 , p_component_type_code => l_component_type_code
65519 , p_component_appl_id => l_component_appl_id
65520 , p_amb_context_code => l_amb_context_code
65521 , p_side => 'NA'
65522 );
65523
65524
65525 --
65526 --
65527 END IF;
65528
65529 --
65530 -- Update the line information that should be overwritten
65531 --
65532 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
65533 p_header_num => 1);
65534 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
65535
65536 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
65537
65538 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
65539 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
65540 END IF;
65541
65542 --
65543 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
65544 --
65545 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
65546 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
65547 ELSE
65548 ---------------------------------------------------------------------------------------------------
65549 -- 4262811a Switch Sign
65550 ---------------------------------------------------------------------------------------------------
65551 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
65552 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65553 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65554 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
65555 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65556 -- 5132302
65557 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
65558 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
65559
65560 END IF;
65561
65562 -- 4955764
65563 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65564 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
65565
65566
65567 XLA_AE_LINES_PKG.ValidateCurrentLine;
65568 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
65569
65570 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
65571 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
65572 ,p_balance_type_code => l_balance_type_code);
65576 -----------------------------------------------------------------------------------------
65573
65574 END IF;
65575
65577 -- 4262811 Multiperiod Accounting
65578 -----------------------------------------------------------------------------------------
65579 -- No MPA option is assigned.
65580
65581
65582 END IF;
65583 END IF;
65584 --
65585
65586 --
65587 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65588 trace
65589 (p_msg => 'END of AcctLineType_128'
65590 ,p_level => C_LEVEL_PROCEDURE
65591 ,p_module => l_log_module);
65592 END IF;
65593 --
65594 EXCEPTION
65595 WHEN xla_exceptions_pkg.application_exception THEN
65596 RAISE;
65597 WHEN OTHERS THEN
65598 xla_exceptions_pkg.raise_message
65599 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_128');
65600 END AcctLineType_128;
65601 --
65602
65603 ---------------------------------------
65604 --
65605 -- PRIVATE FUNCTION
65606 -- AcctLineType_129
65607 --
65608 ---------------------------------------
65609 PROCEDURE AcctLineType_129 (
65610 p_application_id IN NUMBER
65611 ,p_event_id IN NUMBER
65612 ,p_calculate_acctd_flag IN VARCHAR2
65613 ,p_calculate_g_l_flag IN VARCHAR2
65614 ,p_actual_flag IN OUT VARCHAR2
65615 ,p_balance_type_code OUT VARCHAR2
65616 ,p_gain_or_loss_ref OUT VARCHAR2
65617
65618 --Invoice Distribution Type
65619 , p_source_21 IN VARCHAR2
65620 , p_source_21_meaning IN VARCHAR2
65621 --Accounting Reversal Indicator
65622 , p_source_41 IN VARCHAR2
65623 --Distribution Link Type
65624 , p_source_43 IN VARCHAR2
65625 --Allocation to Main Distribution Identifier
65626 , p_source_45 IN NUMBER
65627 --Invoice Identifier
65628 , p_source_46 IN NUMBER
65629 --Invoice Distribution Identifier
65630 , p_source_52 IN NUMBER
65631 --Payables Encumbrance Upgrade Credit Account
65632 , p_source_53 IN NUMBER
65633 --Payables Encumbrance Upgrade Credit Amount
65634 , p_source_54 IN NUMBER
65635 --Invoice Currency Code
65636 , p_source_55 IN VARCHAR2
65637 --Payables Encumbrance Upgrade Credit Base Amount
65638 , p_source_56 IN NUMBER
65639 --Payables Encumbrance Upgrade Debit Account
65640 , p_source_57 IN NUMBER
65641 --Payables Encumbrance Upgrade Debit Amount
65642 , p_source_58 IN NUMBER
65643 --Payables Encumbrance Upgrade Debit Base Amount
65644 , p_source_59 IN NUMBER
65645 --Payables Encumbrance Upgrade Option
65646 , p_source_60 IN VARCHAR2
65647 --Invoice Distribution Amount
65648 , p_source_61 IN NUMBER
65649 --Deferred Accounting End Date
65650 , p_source_65 IN DATE
65651 --Deferred Accounting Option
65652 , p_source_66 IN VARCHAR2
65653 --Deferred Accounting Start Date
65654 , p_source_67 IN DATE
65655 --Override Accounted Amount Indicator
65656 , p_source_68 IN VARCHAR2
65657 , p_source_68_meaning IN VARCHAR2
65658 --Third Party Type
65659 , p_source_71 IN VARCHAR2
65660 --Parent Reversal Identifier
65661 , p_source_72 IN NUMBER
65662 --Invoice Distribution Statistical Amount
65663 , p_source_73 IN NUMBER
65664 --Invoice Distribution Tax Line Identifier
65665 , p_source_74 IN NUMBER
65666 --Invoice Distribution Tax Distribution Identifier from Tax
65667 , p_source_75 IN NUMBER
65668 --Invoice Distribution Summary Tax Line Identifier
65669 , p_source_76 IN NUMBER
65670 --Payables Upgrade Credit Encumbrance Type Identifier
65671 , p_source_77 IN NUMBER
65672 --Payables Upgrade Debit Encumbrance Type Identifier
65673 , p_source_78 IN NUMBER
65674 --Business Flow Accounts Payable Application Identifier
65675 , p_source_79 IN NUMBER
65676 --Business Flow Invoice Distribution Type
65677 , p_source_80 IN VARCHAR2
65678 --Business Flow Invoice Entity Code
65679 , p_source_81 IN VARCHAR2
65680 --Business Flow Invoice Distribution Identifier
65681 , p_source_82 IN NUMBER
65682 --Business Flow Invoice Identifier
65683 , p_source_83 IN NUMBER
65684 --Purchasing Encumbrance Option
65685 , p_source_86 IN VARCHAR2
65686 , p_source_86_meaning IN VARCHAR2
65687 --Invoice Encumbered Option
65688 , p_source_87 IN VARCHAR2
65689 , p_source_87_meaning IN VARCHAR2
65690 --Invoice Distribution Encumbrance Amount
65691 , p_source_143 IN NUMBER
65692 --Invoice Distribution Encumbrance Ledger Amount
65693 , p_source_144 IN NUMBER
65694 )
65695 IS
65696
65697 l_component_type VARCHAR2(80);
65698 l_component_code VARCHAR2(30);
65699 l_component_type_code VARCHAR2(1);
65700 l_component_appl_id INTEGER;
65701 l_amb_context_code VARCHAR2(30);
65702 l_entity_code VARCHAR2(30);
65703 l_event_class_code VARCHAR2(30);
65704 l_ae_header_id NUMBER;
65705 l_event_type_code VARCHAR2(30);
65706 l_line_definition_code VARCHAR2(30);
65707 l_line_definition_owner_code VARCHAR2(1);
65708 --
65709 -- adr variables
65710 l_segment VARCHAR2(30);
65711 l_ccid NUMBER;
65715 l_adr_flex_value_set_id NUMBER;
65712 l_adr_transaction_coa_id NUMBER;
65713 l_adr_accounting_coa_id NUMBER;
65714 l_adr_flexfield_segment_code VARCHAR2(30);
65716 l_adr_value_type_code VARCHAR2(30);
65717 l_adr_value_combination_id NUMBER;
65718 l_adr_value_segment_code VARCHAR2(30);
65719
65720 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
65721 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
65722 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
65723 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
65724
65725 -- 4262811 Variables ------------------------------------------------------------------------------------------
65726 l_entered_amt_idx NUMBER;
65727 l_accted_amt_idx NUMBER;
65728 l_acc_rev_flag VARCHAR2(1);
65729 l_accrual_line_num NUMBER;
65730 l_tmp_amt NUMBER;
65731 l_acc_rev_natural_side_code VARCHAR2(1);
65732
65733 l_num_entries NUMBER;
65734 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
65735 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
65736 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
65737 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
65738 l_recog_line_1 NUMBER;
65739 l_recog_line_2 NUMBER;
65740
65741 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
65742 l_bflow_applied_to_amt NUMBER; -- 5132302
65743 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
65744
65745 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
65746
65747 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
65748 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
65749
65750 ---------------------------------------------------------------------------------------------------------------
65751
65752
65753 --
65754 -- bulk performance
65755 --
65756 l_balance_type_code VARCHAR2(1);
65757 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
65758 l_log_module VARCHAR2(240);
65759
65760 --
65761 -- Upgrade strategy
65762 --
65763 l_actual_upg_option VARCHAR2(1);
65764 l_enc_upg_option VARCHAR2(1);
65765
65766 --
65767 BEGIN
65768 --
65769 IF g_log_enabled THEN
65770 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_129';
65771 END IF;
65772 --
65773 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
65774
65775 trace
65776 (p_msg => 'BEGIN of AcctLineType_129'
65777 ,p_level => C_LEVEL_PROCEDURE
65778 ,p_module => l_log_module);
65779
65780 END IF;
65781 --
65782 l_component_type := 'AMB_JLT';
65783 l_component_code := 'AP_FREIGHT_EXPENSE_INV_ENC';
65784 l_component_type_code := 'S';
65785 l_component_appl_id := 200;
65786 l_amb_context_code := 'DEFAULT';
65787 l_entity_code := 'AP_INVOICES';
65788 l_event_class_code := 'INVOICES';
65789 l_event_type_code := 'INVOICES_ALL';
65790 l_line_definition_owner_code := 'S';
65791 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
65792 --
65793 l_balance_type_code := 'E';
65794 l_segment := NULL;
65795 l_ccid := NULL;
65796 l_adr_transaction_coa_id := NULL;
65797 l_adr_accounting_coa_id := NULL;
65798 l_adr_flexfield_segment_code := NULL;
65799 l_adr_flex_value_set_id := NULL;
65800 l_adr_value_type_code := NULL;
65801 l_adr_value_combination_id := NULL;
65802 l_adr_value_segment_code := NULL;
65803
65804 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
65805 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
65806 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
65807 l_budgetary_control_flag := 'N';
65808
65809 l_bflow_applied_to_amt_idx := NULL; -- 5132302
65810 l_bflow_applied_to_amt := NULL; -- 5132302
65811 l_entered_amt_idx := NULL; -- 4262811
65812 l_accted_amt_idx := NULL; -- 4262811
65813 l_acc_rev_flag := NULL; -- 4262811
65814 l_accrual_line_num := NULL; -- 4262811
65815 l_tmp_amt := NULL; -- 4262811
65816 --
65817
65818 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
65819 l_balance_type_code <> 'B' THEN
65820 IF NVL(p_source_21,'
65821 ') = 'FREIGHT' AND
65822 NVL(p_source_86,'
65823 ') = 'Y' AND
65824 NVL(p_source_87,'
65825 ') = 'Y'
65826 THEN
65827
65828 --
65829 XLA_AE_LINES_PKG.SetNewLine;
65830
65831 p_balance_type_code := l_balance_type_code;
65832 -- set the flag so later we will know whether the gain loss line needs to be created
65833
65834 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
65835 p_actual_flag :='A';
65836 END IF;
65837
65838 --
65839 -- bulk performance
65840 --
65841 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
65842 p_header_num => 0); -- 4262811
65843 --
65847 p_natural_side_code => 'C'
65844 -- set accounting line options
65845 --
65846 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
65848 , p_gain_or_loss_flag => 'N'
65849 , p_gl_transfer_mode_code => 'S'
65850 , p_acct_entry_type_code => 'E'
65851 , p_switch_side_flag => 'Y'
65852 , p_merge_duplicate_code => 'A'
65853 );
65854 --
65855 l_acc_rev_natural_side_code := 'D'; -- 4262811
65856 --
65857 --
65858 -- set accounting line type info
65859 --
65860 xla_ae_lines_pkg.SetAcctLineType
65861 (p_component_type => l_component_type
65862 ,p_event_type_code => l_event_type_code
65863 ,p_line_definition_owner_code => l_line_definition_owner_code
65864 ,p_line_definition_code => l_line_definition_code
65865 ,p_accounting_line_code => l_component_code
65866 ,p_accounting_line_type_code => l_component_type_code
65867 ,p_accounting_line_appl_id => l_component_appl_id
65868 ,p_amb_context_code => l_amb_context_code
65869 ,p_entity_code => l_entity_code
65870 ,p_event_class_code => l_event_class_code);
65871 --
65872 -- set accounting class
65873 --
65874 xla_ae_lines_pkg.SetAcctClass(
65875 p_accounting_class_code => 'FREIGHT'
65876 , p_ae_header_id => l_ae_header_id
65877 );
65878
65879 --
65880 -- set rounding class
65881 --
65882 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
65883 'FREIGHT';
65884
65885 --
65886 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
65887 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
65888 --
65889 -- bulk performance
65890 --
65891 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
65892
65893 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
65894 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
65895
65896 -- 4955764
65897 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
65898 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
65899
65900 -- 4458381 Public Sector Enh
65901
65902 --
65903 -- set accounting attributes for the line type
65904 --
65905 l_entered_amt_idx := 24;
65906 l_accted_amt_idx := 26;
65907 l_bflow_applied_to_amt_idx := 7; -- 5132302
65908 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
65909 l_rec_acct_attrs.array_char_value(1) := p_source_41;
65910 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
65911 l_rec_acct_attrs.array_num_value(2) :=
65912 xla_ae_sources_pkg.GetSystemSourceNum(
65913 p_source_code => 'XLA_EVENT_APPL_ID'
65914 , p_source_type_code => 'Y'
65915 , p_source_application_id => 602
65916 );
65917 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
65918 l_rec_acct_attrs.array_char_value(3) := p_source_43;
65919 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
65920 l_rec_acct_attrs.array_char_value(4) :=
65921 xla_ae_sources_pkg.GetSystemSourceChar(
65922 p_source_code => 'XLA_ENTITY_CODE'
65923 , p_source_type_code => 'Y'
65924 , p_source_application_id => 602
65925 );
65926 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
65927 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
65928 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
65929 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
65930 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
65931 l_rec_acct_attrs.array_num_value(7) := p_source_61;
65932 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
65933 l_rec_acct_attrs.array_num_value(8) := p_source_79;
65934 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
65935 l_rec_acct_attrs.array_char_value(9) := p_source_80;
65936 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
65937 l_rec_acct_attrs.array_char_value(10) := p_source_81;
65938 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
65939 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
65940 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
65941 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
65942 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
65943 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
65944 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
65945 l_rec_acct_attrs.array_char_value(14) := p_source_43;
65946 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
65947 l_rec_acct_attrs.array_num_value(15) := p_source_53;
65948 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
65949 l_rec_acct_attrs.array_num_value(16) := p_source_54;
65950 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
65951 l_rec_acct_attrs.array_char_value(17) := p_source_55;
65952 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
65956 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
65953 l_rec_acct_attrs.array_num_value(18) := p_source_56;
65954 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
65955 l_rec_acct_attrs.array_num_value(19) := p_source_57;
65957 l_rec_acct_attrs.array_num_value(20) := p_source_58;
65958 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
65959 l_rec_acct_attrs.array_char_value(21) := p_source_55;
65960 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
65961 l_rec_acct_attrs.array_num_value(22) := p_source_59;
65962 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
65963 l_rec_acct_attrs.array_char_value(23) := p_source_60;
65964 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
65965 l_rec_acct_attrs.array_num_value(24) := p_source_143;
65966 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
65967 l_rec_acct_attrs.array_char_value(25) := p_source_55;
65968 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
65969 l_rec_acct_attrs.array_num_value(26) := p_source_144;
65970 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
65971 l_rec_acct_attrs.array_date_value(27) := p_source_65;
65972 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
65973 l_rec_acct_attrs.array_char_value(28) := p_source_66;
65974 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
65975 l_rec_acct_attrs.array_date_value(29) := p_source_67;
65976 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
65977 l_rec_acct_attrs.array_char_value(30) := p_source_68;
65978 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
65979 l_rec_acct_attrs.array_char_value(31) := p_source_71;
65980 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
65981 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
65982 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
65983 l_rec_acct_attrs.array_char_value(33) := p_source_43;
65984 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
65985 l_rec_acct_attrs.array_num_value(34) := p_source_73;
65986 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
65987 l_rec_acct_attrs.array_num_value(35) := p_source_74;
65988 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
65989 l_rec_acct_attrs.array_num_value(36) := p_source_75;
65990 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
65991 l_rec_acct_attrs.array_num_value(37) := p_source_76;
65992 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
65993 l_rec_acct_attrs.array_num_value(38) := p_source_77;
65994 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
65995 l_rec_acct_attrs.array_num_value(39) := p_source_78;
65996
65997 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
65998 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
65999
66000 ---------------------------------------------------------------------------------------------------------------
66001 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
66002 ---------------------------------------------------------------------------------------------------------------
66003 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
66004
66005 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66006 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66007
66008 IF xla_accounting_cache_pkg.GetValueChar
66009 (p_source_code => 'LEDGER_CATEGORY_CODE'
66010 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
66011 AND l_bflow_method_code = 'PRIOR_ENTRY'
66012 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
66013 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
66014 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
66015 )
66016 THEN
66017 xla_ae_lines_pkg.BflowUpgEntry
66018 (p_business_method_code => l_bflow_method_code
66019 ,p_business_class_code => l_bflow_class_code
66020 ,p_balance_type => l_balance_type_code);
66021 ELSE
66022 NULL;
66023 XLA_AE_LINES_PKG.business_flow_validation(
66024 p_business_method_code => l_bflow_method_code
66025 ,p_business_class_code => l_bflow_class_code
66026 ,p_inherit_description_flag => l_inherit_desc_flag);
66027 END IF;
66028
66029 --
66030 -- call analytical criteria
66031 --
66032 -- Inherited Analytical Criteria for business flow method of Prior Entry.
66033 --
66034 -- call description
66035 --
66036 -- No description or it is inherited.
66037 --
66038 -- call ADRs
66039 -- Bug 4922099
66040 --
66041 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66042 (NVL(l_actual_upg_option, 'N') = 'O') OR
66043 (NVL(l_enc_upg_option, 'N') = 'O')
66044 )
66045 THEN
66046 NULL;
66047 --
66048 --
66049
66050 --
66051 --
66052 END IF;
66053 --
66054 -- Bug 4922099
66055 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
66059 )
66056 (NVL(l_enc_upg_option, 'N') = 'O')
66057 ) AND
66058 (l_bflow_method_code = 'PRIOR_ENTRY')
66060 THEN
66061 IF
66062 --
66063 1 = 1
66064 --
66065 THEN
66066 xla_accounting_err_pkg.build_message
66067 (p_appli_s_name => 'XLA'
66068 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66069 ,p_token_1 => 'LINE_NUMBER'
66070 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
66071 ,p_token_2 => 'LINE_TYPE_NAME'
66072 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
66073 l_component_type
66074 ,l_component_code
66075 ,l_component_type_code
66076 ,l_component_appl_id
66077 ,l_amb_context_code
66078 ,l_entity_code
66079 ,l_event_class_code
66080 )
66081 ,p_token_3 => 'OWNER'
66082 ,p_value_3 => xla_lookups_pkg.get_meaning(
66083 p_lookup_type => 'XLA_OWNER_TYPE'
66084 ,p_lookup_code => l_component_type_code
66085 )
66086 ,p_token_4 => 'PRODUCT_NAME'
66087 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
66088 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
66089 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
66090 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
66091 ,p_ae_header_id => NULL
66092 );
66093
66094 IF (C_LEVEL_ERROR>= g_log_level) THEN
66095 trace
66096 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66097 ,p_level => C_LEVEL_ERROR
66098 ,p_module => l_log_module);
66099 END IF;
66100 END IF;
66101 END IF;
66102 --
66103 --
66104 ------------------------------------------------------------------------------------------------
66105 -- 4219869 Business Flow
66106 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
66107 -- Prior Entry. Currently, the following code is always generated.
66108 ------------------------------------------------------------------------------------------------
66109 -- No ValidateCurrentLine for business flow method of Prior Entry
66110
66111 ------------------------------------------------------------------------------------
66112 -- 4219869 Business Flow
66113 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
66114 ------------------------------------------------------------------------------------
66115 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66116
66117 ----------------------------------------------------------------------------------
66118 -- 4219869 Business Flow
66119 -- Update journal entry status -- Need to generate this within IF <condition>
66120 ----------------------------------------------------------------------------------
66121 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66122 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
66123 ,p_balance_type_code => l_balance_type_code
66124 );
66125
66126 -------------------------------------------------------------------------------------------
66127 -- 4262811 - Generate the Accrual Reversal lines
66128 -------------------------------------------------------------------------------------------
66129 BEGIN
66130 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
66131 (g_array_event(p_event_id).array_value_num('header_index'));
66132 IF l_acc_rev_flag IS NULL THEN
66133 l_acc_rev_flag := 'N';
66134 END IF;
66135 EXCEPTION
66136 WHEN OTHERS THEN
66137 l_acc_rev_flag := 'N';
66138 END;
66139 --
66140 IF (l_acc_rev_flag = 'Y') THEN
66141
66142 -- 4645092 ------------------------------------------------------------------------------
66143 -- To allow MPA report to determine if it should generate report process
66144 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
66145 ------------------------------------------------------------------------------------------
66146
66150 -- call ADRs
66147 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
66148 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
66149 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
66151 -- Bug 4922099
66152 --
66153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66154 (NVL(l_actual_upg_option, 'N') = 'O') OR
66155 (NVL(l_enc_upg_option, 'N') = 'O')
66156 )
66157 THEN
66158 NULL;
66159 --
66160 --
66161
66162 --
66163 --
66164 END IF;
66165
66166 --
66167 -- Update the line information that should be overwritten
66168 --
66169 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
66170 p_header_num => 1);
66171 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
66172
66173 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
66174
66175 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
66176 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
66177 END IF;
66178
66179 --
66180 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
66181 --
66182 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
66183 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
66184 ELSE
66185 ---------------------------------------------------------------------------------------------------
66186 -- 4262811a Switch Sign
66187 ---------------------------------------------------------------------------------------------------
66188 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
66189 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66190 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66191 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66192 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66193 -- 5132302
66194 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
66195 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66196
66197 END IF;
66198
66199 -- 4955764
66200 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66201 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
66202
66203
66204 XLA_AE_LINES_PKG.ValidateCurrentLine;
66205 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66206
66207 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66208 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
66209 ,p_balance_type_code => l_balance_type_code);
66210
66211 END IF;
66212
66213 -----------------------------------------------------------------------------------------
66214 -- 4262811 Multiperiod Accounting
66215 -----------------------------------------------------------------------------------------
66216 -- No MPA option is assigned.
66217
66218
66219 END IF;
66220 END IF;
66221 --
66222
66223 --
66224 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66225 trace
66226 (p_msg => 'END of AcctLineType_129'
66227 ,p_level => C_LEVEL_PROCEDURE
66228 ,p_module => l_log_module);
66229 END IF;
66230 --
66231 EXCEPTION
66232 WHEN xla_exceptions_pkg.application_exception THEN
66233 RAISE;
66234 WHEN OTHERS THEN
66235 xla_exceptions_pkg.raise_message
66236 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_129');
66237 END AcctLineType_129;
66238 --
66239
66240 ---------------------------------------
66241 --
66242 -- PRIVATE FUNCTION
66243 -- AcctLineType_130
66244 --
66245 ---------------------------------------
66246 PROCEDURE AcctLineType_130 (
66247 p_application_id IN NUMBER
66248 ,p_event_id IN NUMBER
66249 ,p_calculate_acctd_flag IN VARCHAR2
66250 ,p_calculate_g_l_flag IN VARCHAR2
66251 ,p_actual_flag IN OUT VARCHAR2
66252 ,p_balance_type_code OUT VARCHAR2
66253 ,p_gain_or_loss_ref OUT VARCHAR2
66254
66255 --Invoice Distribution Type
66256 , p_source_21 IN VARCHAR2
66257 , p_source_21_meaning IN VARCHAR2
66258 --Accounting Reversal Indicator
66259 , p_source_41 IN VARCHAR2
66260 --Distribution Link Type
66261 , p_source_43 IN VARCHAR2
66262 --Allocation to Main Distribution Identifier
66263 , p_source_45 IN NUMBER
66264 --Invoice Identifier
66265 , p_source_46 IN NUMBER
66266 --Invoice Distribution Identifier
66267 , p_source_52 IN NUMBER
66268 --Payables Encumbrance Upgrade Credit Account
66269 , p_source_53 IN NUMBER
66270 --Payables Encumbrance Upgrade Credit Amount
66271 , p_source_54 IN NUMBER
66275 , p_source_56 IN NUMBER
66272 --Invoice Currency Code
66273 , p_source_55 IN VARCHAR2
66274 --Payables Encumbrance Upgrade Credit Base Amount
66276 --Payables Encumbrance Upgrade Debit Account
66277 , p_source_57 IN NUMBER
66278 --Payables Encumbrance Upgrade Debit Amount
66279 , p_source_58 IN NUMBER
66280 --Payables Encumbrance Upgrade Debit Base Amount
66281 , p_source_59 IN NUMBER
66282 --Payables Encumbrance Upgrade Option
66283 , p_source_60 IN VARCHAR2
66284 --Deferred Accounting End Date
66285 , p_source_65 IN DATE
66286 --Deferred Accounting Option
66287 , p_source_66 IN VARCHAR2
66288 --Deferred Accounting Start Date
66289 , p_source_67 IN DATE
66290 --Override Accounted Amount Indicator
66291 , p_source_68 IN VARCHAR2
66292 , p_source_68_meaning IN VARCHAR2
66293 --Third Party Type
66294 , p_source_71 IN VARCHAR2
66295 --Parent Reversal Identifier
66296 , p_source_72 IN NUMBER
66297 --Invoice Distribution Statistical Amount
66298 , p_source_73 IN NUMBER
66299 --Invoice Distribution Tax Line Identifier
66300 , p_source_74 IN NUMBER
66301 --Invoice Distribution Tax Distribution Identifier from Tax
66302 , p_source_75 IN NUMBER
66303 --Invoice Distribution Summary Tax Line Identifier
66304 , p_source_76 IN NUMBER
66305 --Payables Upgrade Credit Encumbrance Type Identifier
66306 , p_source_77 IN NUMBER
66307 --Payables Upgrade Debit Encumbrance Type Identifier
66308 , p_source_78 IN NUMBER
66309 --Business Flow Accounts Payable Application Identifier
66310 , p_source_79 IN NUMBER
66311 --Business Flow Invoice Distribution Type
66312 , p_source_80 IN VARCHAR2
66313 --Business Flow Invoice Entity Code
66314 , p_source_81 IN VARCHAR2
66315 --Business Flow Invoice Distribution Identifier
66316 , p_source_82 IN NUMBER
66317 --Business Flow Invoice Identifier
66318 , p_source_83 IN NUMBER
66319 --Purchasing Encumbrance Option
66320 , p_source_86 IN VARCHAR2
66321 , p_source_86_meaning IN VARCHAR2
66322 --Invoice Encumbered Option
66323 , p_source_87 IN VARCHAR2
66324 , p_source_87_meaning IN VARCHAR2
66325 --Invoice Distribution Encumbrance Amount
66326 , p_source_143 IN NUMBER
66327 --Invoice Distribution Encumbrance Ledger Amount
66328 , p_source_144 IN NUMBER
66329 )
66330 IS
66331
66332 l_component_type VARCHAR2(80);
66333 l_component_code VARCHAR2(30);
66334 l_component_type_code VARCHAR2(1);
66335 l_component_appl_id INTEGER;
66336 l_amb_context_code VARCHAR2(30);
66337 l_entity_code VARCHAR2(30);
66338 l_event_class_code VARCHAR2(30);
66339 l_ae_header_id NUMBER;
66340 l_event_type_code VARCHAR2(30);
66341 l_line_definition_code VARCHAR2(30);
66342 l_line_definition_owner_code VARCHAR2(1);
66343 --
66344 -- adr variables
66345 l_segment VARCHAR2(30);
66346 l_ccid NUMBER;
66347 l_adr_transaction_coa_id NUMBER;
66348 l_adr_accounting_coa_id NUMBER;
66349 l_adr_flexfield_segment_code VARCHAR2(30);
66350 l_adr_flex_value_set_id NUMBER;
66351 l_adr_value_type_code VARCHAR2(30);
66352 l_adr_value_combination_id NUMBER;
66353 l_adr_value_segment_code VARCHAR2(30);
66354
66355 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
66356 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
66357 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
66358 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
66359
66360 -- 4262811 Variables ------------------------------------------------------------------------------------------
66361 l_entered_amt_idx NUMBER;
66362 l_accted_amt_idx NUMBER;
66363 l_acc_rev_flag VARCHAR2(1);
66364 l_accrual_line_num NUMBER;
66365 l_tmp_amt NUMBER;
66366 l_acc_rev_natural_side_code VARCHAR2(1);
66367
66368 l_num_entries NUMBER;
66369 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
66370 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
66371 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
66372 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
66373 l_recog_line_1 NUMBER;
66374 l_recog_line_2 NUMBER;
66375
66376 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
66377 l_bflow_applied_to_amt NUMBER; -- 5132302
66378 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
66379
66380 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
66381
66382 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
66383 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
66384
66385 ---------------------------------------------------------------------------------------------------------------
66386
66387
66388 --
66389 -- bulk performance
66390 --
66391 l_balance_type_code VARCHAR2(1);
66392 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
66396 -- Upgrade strategy
66393 l_log_module VARCHAR2(240);
66394
66395 --
66397 --
66398 l_actual_upg_option VARCHAR2(1);
66399 l_enc_upg_option VARCHAR2(1);
66400
66401 --
66402 BEGIN
66403 --
66404 IF g_log_enabled THEN
66405 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_130';
66406 END IF;
66407 --
66408 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66409
66410 trace
66411 (p_msg => 'BEGIN of AcctLineType_130'
66412 ,p_level => C_LEVEL_PROCEDURE
66413 ,p_module => l_log_module);
66414
66415 END IF;
66416 --
66417 l_component_type := 'AMB_JLT';
66418 l_component_code := 'AP_FREIGHT_EXPENSE_PP_ENC';
66419 l_component_type_code := 'S';
66420 l_component_appl_id := 200;
66421 l_amb_context_code := 'DEFAULT';
66422 l_entity_code := 'AP_INVOICES';
66423 l_event_class_code := 'PREPAYMENTS';
66424 l_event_type_code := 'PREPAYMENTS_ALL';
66425 l_line_definition_owner_code := 'S';
66426 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
66427 --
66428 l_balance_type_code := 'E';
66429 l_segment := NULL;
66430 l_ccid := NULL;
66431 l_adr_transaction_coa_id := NULL;
66432 l_adr_accounting_coa_id := NULL;
66433 l_adr_flexfield_segment_code := NULL;
66434 l_adr_flex_value_set_id := NULL;
66435 l_adr_value_type_code := NULL;
66436 l_adr_value_combination_id := NULL;
66437 l_adr_value_segment_code := NULL;
66438
66439 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
66440 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
66441 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
66442 l_budgetary_control_flag := 'N';
66443
66444 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66445 l_bflow_applied_to_amt := NULL; -- 5132302
66446 l_entered_amt_idx := NULL; -- 4262811
66447 l_accted_amt_idx := NULL; -- 4262811
66448 l_acc_rev_flag := NULL; -- 4262811
66449 l_accrual_line_num := NULL; -- 4262811
66450 l_tmp_amt := NULL; -- 4262811
66451 --
66452
66453 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
66454 l_balance_type_code <> 'B' THEN
66455 IF NVL(p_source_21,'
66456 ') = 'FREIGHT' AND
66457 NVL(p_source_86,'
66458 ') = 'Y' AND
66459 NVL(p_source_87,'
66460 ') = 'Y'
66461 THEN
66462
66463 --
66464 XLA_AE_LINES_PKG.SetNewLine;
66465
66466 p_balance_type_code := l_balance_type_code;
66467 -- set the flag so later we will know whether the gain loss line needs to be created
66468
66469 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
66470 p_actual_flag :='A';
66471 END IF;
66472
66473 --
66474 -- bulk performance
66475 --
66476 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
66477 p_header_num => 0); -- 4262811
66478 --
66479 -- set accounting line options
66480 --
66481 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
66482 p_natural_side_code => 'C'
66483 , p_gain_or_loss_flag => 'N'
66484 , p_gl_transfer_mode_code => 'S'
66485 , p_acct_entry_type_code => 'E'
66486 , p_switch_side_flag => 'Y'
66487 , p_merge_duplicate_code => 'A'
66488 );
66489 --
66490 l_acc_rev_natural_side_code := 'D'; -- 4262811
66491 --
66492 --
66493 -- set accounting line type info
66494 --
66495 xla_ae_lines_pkg.SetAcctLineType
66496 (p_component_type => l_component_type
66497 ,p_event_type_code => l_event_type_code
66498 ,p_line_definition_owner_code => l_line_definition_owner_code
66499 ,p_line_definition_code => l_line_definition_code
66500 ,p_accounting_line_code => l_component_code
66501 ,p_accounting_line_type_code => l_component_type_code
66502 ,p_accounting_line_appl_id => l_component_appl_id
66503 ,p_amb_context_code => l_amb_context_code
66504 ,p_entity_code => l_entity_code
66505 ,p_event_class_code => l_event_class_code);
66506 --
66507 -- set accounting class
66508 --
66509 xla_ae_lines_pkg.SetAcctClass(
66510 p_accounting_class_code => 'FREIGHT'
66511 , p_ae_header_id => l_ae_header_id
66512 );
66513
66514 --
66515 -- set rounding class
66516 --
66517 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
66518 'FREIGHT';
66519
66520 --
66521 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
66522 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
66523 --
66524 -- bulk performance
66525 --
66526 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
66527
66528 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
66532 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66529 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
66530
66531 -- 4955764
66533 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
66534
66535 -- 4458381 Public Sector Enh
66536
66537 --
66538 -- set accounting attributes for the line type
66539 --
66540 l_entered_amt_idx := 23;
66541 l_accted_amt_idx := 25;
66542 l_bflow_applied_to_amt_idx := NULL; -- 5132302
66543 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
66544 l_rec_acct_attrs.array_char_value(1) := p_source_41;
66545 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
66546 l_rec_acct_attrs.array_num_value(2) :=
66547 xla_ae_sources_pkg.GetSystemSourceNum(
66548 p_source_code => 'XLA_EVENT_APPL_ID'
66549 , p_source_type_code => 'Y'
66550 , p_source_application_id => 602
66551 );
66552 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
66553 l_rec_acct_attrs.array_char_value(3) := p_source_43;
66554 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
66555 l_rec_acct_attrs.array_char_value(4) :=
66556 xla_ae_sources_pkg.GetSystemSourceChar(
66557 p_source_code => 'XLA_ENTITY_CODE'
66558 , p_source_type_code => 'Y'
66559 , p_source_application_id => 602
66560 );
66561 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
66562 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
66563 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
66564 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
66565 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
66566 l_rec_acct_attrs.array_num_value(7) := p_source_79;
66567 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
66568 l_rec_acct_attrs.array_char_value(8) := p_source_80;
66569 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
66570 l_rec_acct_attrs.array_char_value(9) := p_source_81;
66571 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
66572 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
66573 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
66574 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
66575 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
66576 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
66577 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
66578 l_rec_acct_attrs.array_char_value(13) := p_source_43;
66579 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
66580 l_rec_acct_attrs.array_num_value(14) := p_source_53;
66581 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
66582 l_rec_acct_attrs.array_num_value(15) := p_source_54;
66583 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
66584 l_rec_acct_attrs.array_char_value(16) := p_source_55;
66585 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
66586 l_rec_acct_attrs.array_num_value(17) := p_source_56;
66587 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
66588 l_rec_acct_attrs.array_num_value(18) := p_source_57;
66589 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
66590 l_rec_acct_attrs.array_num_value(19) := p_source_58;
66591 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
66592 l_rec_acct_attrs.array_char_value(20) := p_source_55;
66593 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
66594 l_rec_acct_attrs.array_num_value(21) := p_source_59;
66595 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
66596 l_rec_acct_attrs.array_char_value(22) := p_source_60;
66597 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
66598 l_rec_acct_attrs.array_num_value(23) := p_source_143;
66599 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
66600 l_rec_acct_attrs.array_char_value(24) := p_source_55;
66601 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
66602 l_rec_acct_attrs.array_num_value(25) := p_source_144;
66603 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
66604 l_rec_acct_attrs.array_date_value(26) := p_source_65;
66605 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
66606 l_rec_acct_attrs.array_char_value(27) := p_source_66;
66607 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
66608 l_rec_acct_attrs.array_date_value(28) := p_source_67;
66609 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
66610 l_rec_acct_attrs.array_char_value(29) := p_source_68;
66611 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
66612 l_rec_acct_attrs.array_char_value(30) := p_source_71;
66613 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
66614 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
66615 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
66616 l_rec_acct_attrs.array_char_value(32) := p_source_43;
66617 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
66618 l_rec_acct_attrs.array_num_value(33) := p_source_73;
66619 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
66620 l_rec_acct_attrs.array_num_value(34) := p_source_74;
66621 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
66625 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
66622 l_rec_acct_attrs.array_num_value(35) := p_source_75;
66623 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
66624 l_rec_acct_attrs.array_num_value(36) := p_source_76;
66626 l_rec_acct_attrs.array_num_value(37) := p_source_77;
66627 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
66628 l_rec_acct_attrs.array_num_value(38) := p_source_78;
66629
66630 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
66631 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
66632
66633 ---------------------------------------------------------------------------------------------------------------
66634 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
66635 ---------------------------------------------------------------------------------------------------------------
66636 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
66637
66638 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66639 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
66640
66641 IF xla_accounting_cache_pkg.GetValueChar
66642 (p_source_code => 'LEDGER_CATEGORY_CODE'
66643 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
66644 AND l_bflow_method_code = 'PRIOR_ENTRY'
66645 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
66646 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
66647 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
66648 )
66649 THEN
66650 xla_ae_lines_pkg.BflowUpgEntry
66651 (p_business_method_code => l_bflow_method_code
66652 ,p_business_class_code => l_bflow_class_code
66653 ,p_balance_type => l_balance_type_code);
66654 ELSE
66655 NULL;
66656 XLA_AE_LINES_PKG.business_flow_validation(
66657 p_business_method_code => l_bflow_method_code
66658 ,p_business_class_code => l_bflow_class_code
66659 ,p_inherit_description_flag => l_inherit_desc_flag);
66660 END IF;
66661
66662 --
66663 -- call analytical criteria
66664 --
66665 -- Inherited Analytical Criteria for business flow method of Prior Entry.
66666 --
66667 -- call description
66668 --
66669 -- No description or it is inherited.
66670 --
66671 -- call ADRs
66672 -- Bug 4922099
66673 --
66674 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66675 (NVL(l_actual_upg_option, 'N') = 'O') OR
66676 (NVL(l_enc_upg_option, 'N') = 'O')
66677 )
66678 THEN
66679 NULL;
66680 --
66681 --
66682
66683 --
66684 --
66685 END IF;
66686 --
66687 -- Bug 4922099
66688 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
66689 (NVL(l_enc_upg_option, 'N') = 'O')
66690 ) AND
66691 (l_bflow_method_code = 'PRIOR_ENTRY')
66692 )
66693 THEN
66694 IF
66695 --
66696 1 = 1
66697 --
66698 THEN
66699 xla_accounting_err_pkg.build_message
66700 (p_appli_s_name => 'XLA'
66701 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66702 ,p_token_1 => 'LINE_NUMBER'
66703 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
66704 ,p_token_2 => 'LINE_TYPE_NAME'
66705 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
66706 l_component_type
66707 ,l_component_code
66708 ,l_component_type_code
66709 ,l_component_appl_id
66710 ,l_amb_context_code
66711 ,l_entity_code
66712 ,l_event_class_code
66713 )
66714 ,p_token_3 => 'OWNER'
66715 ,p_value_3 => xla_lookups_pkg.get_meaning(
66716 p_lookup_type => 'XLA_OWNER_TYPE'
66717 ,p_lookup_code => l_component_type_code
66718 )
66719 ,p_token_4 => 'PRODUCT_NAME'
66720 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
66721 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
66725 );
66722 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
66723 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
66724 ,p_ae_header_id => NULL
66726
66727 IF (C_LEVEL_ERROR>= g_log_level) THEN
66728 trace
66729 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
66730 ,p_level => C_LEVEL_ERROR
66731 ,p_module => l_log_module);
66732 END IF;
66733 END IF;
66734 END IF;
66735 --
66736 --
66737 ------------------------------------------------------------------------------------------------
66738 -- 4219869 Business Flow
66739 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
66740 -- Prior Entry. Currently, the following code is always generated.
66741 ------------------------------------------------------------------------------------------------
66742 -- No ValidateCurrentLine for business flow method of Prior Entry
66743
66744 ------------------------------------------------------------------------------------
66745 -- 4219869 Business Flow
66746 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
66747 ------------------------------------------------------------------------------------
66748 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66749
66750 ----------------------------------------------------------------------------------
66751 -- 4219869 Business Flow
66752 -- Update journal entry status -- Need to generate this within IF <condition>
66753 ----------------------------------------------------------------------------------
66754 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66755 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
66756 ,p_balance_type_code => l_balance_type_code
66757 );
66758
66759 -------------------------------------------------------------------------------------------
66760 -- 4262811 - Generate the Accrual Reversal lines
66761 -------------------------------------------------------------------------------------------
66762 BEGIN
66763 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
66764 (g_array_event(p_event_id).array_value_num('header_index'));
66765 IF l_acc_rev_flag IS NULL THEN
66766 l_acc_rev_flag := 'N';
66767 END IF;
66768 EXCEPTION
66769 WHEN OTHERS THEN
66770 l_acc_rev_flag := 'N';
66771 END;
66772 --
66773 IF (l_acc_rev_flag = 'Y') THEN
66774
66775 -- 4645092 ------------------------------------------------------------------------------
66776 -- To allow MPA report to determine if it should generate report process
66777 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
66778 ------------------------------------------------------------------------------------------
66779
66780 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
66781 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
66782 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
66783 -- call ADRs
66784 -- Bug 4922099
66785 --
66786 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
66787 (NVL(l_actual_upg_option, 'N') = 'O') OR
66788 (NVL(l_enc_upg_option, 'N') = 'O')
66789 )
66790 THEN
66791 NULL;
66792 --
66793 --
66794
66795 --
66796 --
66797 END IF;
66798
66799 --
66800 -- Update the line information that should be overwritten
66801 --
66802 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
66803 p_header_num => 1);
66804 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
66805
66806 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
66807
66808 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
66809 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
66810 END IF;
66811
66812 --
66813 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
66814 --
66815 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
66816 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
66817 ELSE
66818 ---------------------------------------------------------------------------------------------------
66819 -- 4262811a Switch Sign
66820 ---------------------------------------------------------------------------------------------------
66821 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
66822 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66823 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66824 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
66828 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66825 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
66826 -- 5132302
66827 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
66829
66830 END IF;
66831
66832 -- 4955764
66833 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
66834 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
66835
66836
66837 XLA_AE_LINES_PKG.ValidateCurrentLine;
66838 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
66839
66840 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
66841 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
66842 ,p_balance_type_code => l_balance_type_code);
66843
66844 END IF;
66845
66846 -----------------------------------------------------------------------------------------
66847 -- 4262811 Multiperiod Accounting
66848 -----------------------------------------------------------------------------------------
66849 -- No MPA option is assigned.
66850
66851
66852 END IF;
66853 END IF;
66854 --
66855
66856 --
66857 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
66858 trace
66859 (p_msg => 'END of AcctLineType_130'
66860 ,p_level => C_LEVEL_PROCEDURE
66861 ,p_module => l_log_module);
66862 END IF;
66863 --
66864 EXCEPTION
66865 WHEN xla_exceptions_pkg.application_exception THEN
66866 RAISE;
66867 WHEN OTHERS THEN
66868 xla_exceptions_pkg.raise_message
66869 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_130');
66870 END AcctLineType_130;
66871 --
66872
66873 ---------------------------------------
66874 --
66875 -- PRIVATE FUNCTION
66876 -- AcctLineType_131
66877 --
66878 ---------------------------------------
66879 PROCEDURE AcctLineType_131 (
66880 p_application_id IN NUMBER
66881 ,p_event_id IN NUMBER
66882 ,p_calculate_acctd_flag IN VARCHAR2
66883 ,p_calculate_g_l_flag IN VARCHAR2
66884 ,p_actual_flag IN OUT VARCHAR2
66885 ,p_balance_type_code OUT VARCHAR2
66886 ,p_gain_or_loss_ref OUT VARCHAR2
66887
66888 --Invoice Distribution Description
66889 , p_source_1 IN VARCHAR2
66890 --Invoice Distribution Ledger Amount
66891 , p_source_9 IN NUMBER
66892 --Invoice Distribution Account
66893 , p_source_18 IN NUMBER
66894 --Invoice Distribution Type
66895 , p_source_21 IN VARCHAR2
66896 , p_source_21_meaning IN VARCHAR2
66897 --Accounting Reversal Indicator
66898 , p_source_41 IN VARCHAR2
66899 --Distribution Link Type
66900 , p_source_43 IN VARCHAR2
66901 --Allocation to Main Distribution Identifier
66902 , p_source_45 IN NUMBER
66903 --Invoice Identifier
66904 , p_source_46 IN NUMBER
66905 --Invoice Distribution Identifier
66906 , p_source_52 IN NUMBER
66907 --Payables Encumbrance Upgrade Credit Account
66908 , p_source_53 IN NUMBER
66909 --Payables Encumbrance Upgrade Credit Amount
66910 , p_source_54 IN NUMBER
66911 --Invoice Currency Code
66912 , p_source_55 IN VARCHAR2
66913 --Payables Encumbrance Upgrade Credit Base Amount
66914 , p_source_56 IN NUMBER
66915 --Payables Encumbrance Upgrade Debit Account
66916 , p_source_57 IN NUMBER
66917 --Payables Encumbrance Upgrade Debit Amount
66918 , p_source_58 IN NUMBER
66919 --Payables Encumbrance Upgrade Debit Base Amount
66920 , p_source_59 IN NUMBER
66921 --Payables Encumbrance Upgrade Option
66922 , p_source_60 IN VARCHAR2
66923 --Invoice Distribution Amount
66924 , p_source_61 IN NUMBER
66925 --Deferred Accounting End Date
66926 , p_source_65 IN DATE
66927 --Deferred Accounting Option
66928 , p_source_66 IN VARCHAR2
66929 --Deferred Accounting Start Date
66930 , p_source_67 IN DATE
66931 --Override Accounted Amount Indicator
66932 , p_source_68 IN VARCHAR2
66933 , p_source_68_meaning IN VARCHAR2
66934 --Invoice Supplier Identifier
66935 , p_source_69 IN NUMBER
66936 --Invoice Supplier Site Identifier
66937 , p_source_70 IN NUMBER
66938 --Third Party Type
66939 , p_source_71 IN VARCHAR2
66940 --Parent Reversal Identifier
66941 , p_source_72 IN NUMBER
66942 --Invoice Distribution Statistical Amount
66943 , p_source_73 IN NUMBER
66944 --Invoice Distribution Tax Line Identifier
66945 , p_source_74 IN NUMBER
66946 --Invoice Distribution Tax Distribution Identifier from Tax
66947 , p_source_75 IN NUMBER
66948 --Invoice Distribution Summary Tax Line Identifier
66949 , p_source_76 IN NUMBER
66950 --Payables Upgrade Credit Encumbrance Type Identifier
66951 , p_source_77 IN NUMBER
66952 --Payables Upgrade Debit Encumbrance Type Identifier
66953 , p_source_78 IN NUMBER
66954 --Business Flow Accounts Payable Application Identifier
66955 , p_source_79 IN NUMBER
66959 , p_source_81 IN VARCHAR2
66956 --Business Flow Invoice Distribution Type
66957 , p_source_80 IN VARCHAR2
66958 --Business Flow Invoice Entity Code
66960 --Business Flow Invoice Distribution Identifier
66961 , p_source_82 IN NUMBER
66962 --Business Flow Invoice Identifier
66963 , p_source_83 IN NUMBER
66964 --Invoice Exchange Date
66965 , p_source_136 IN DATE
66966 --Invoice Exchange Rate
66967 , p_source_137 IN NUMBER
66968 --Invoice Exchange Rate Type
66969 , p_source_138 IN VARCHAR2
66970 )
66971 IS
66972
66973 l_component_type VARCHAR2(80);
66974 l_component_code VARCHAR2(30);
66975 l_component_type_code VARCHAR2(1);
66976 l_component_appl_id INTEGER;
66977 l_amb_context_code VARCHAR2(30);
66978 l_entity_code VARCHAR2(30);
66979 l_event_class_code VARCHAR2(30);
66980 l_ae_header_id NUMBER;
66981 l_event_type_code VARCHAR2(30);
66982 l_line_definition_code VARCHAR2(30);
66983 l_line_definition_owner_code VARCHAR2(1);
66984 --
66985 -- adr variables
66986 l_segment VARCHAR2(30);
66987 l_ccid NUMBER;
66988 l_adr_transaction_coa_id NUMBER;
66989 l_adr_accounting_coa_id NUMBER;
66990 l_adr_flexfield_segment_code VARCHAR2(30);
66991 l_adr_flex_value_set_id NUMBER;
66992 l_adr_value_type_code VARCHAR2(30);
66993 l_adr_value_combination_id NUMBER;
66994 l_adr_value_segment_code VARCHAR2(30);
66995
66996 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
66997 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
66998 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
66999 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
67000
67001 -- 4262811 Variables ------------------------------------------------------------------------------------------
67002 l_entered_amt_idx NUMBER;
67003 l_accted_amt_idx NUMBER;
67004 l_acc_rev_flag VARCHAR2(1);
67005 l_accrual_line_num NUMBER;
67006 l_tmp_amt NUMBER;
67007 l_acc_rev_natural_side_code VARCHAR2(1);
67008
67009 l_num_entries NUMBER;
67010 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
67011 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
67012 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
67013 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
67014 l_recog_line_1 NUMBER;
67015 l_recog_line_2 NUMBER;
67016
67017 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
67018 l_bflow_applied_to_amt NUMBER; -- 5132302
67019 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
67020
67021 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
67022
67023 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
67024 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
67025
67026 ---------------------------------------------------------------------------------------------------------------
67027
67028
67029 --
67030 -- bulk performance
67031 --
67032 l_balance_type_code VARCHAR2(1);
67033 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
67034 l_log_module VARCHAR2(240);
67035
67036 --
67037 -- Upgrade strategy
67038 --
67039 l_actual_upg_option VARCHAR2(1);
67040 l_enc_upg_option VARCHAR2(1);
67041
67042 --
67043 BEGIN
67044 --
67045 IF g_log_enabled THEN
67046 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_131';
67047 END IF;
67048 --
67049 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67050
67051 trace
67052 (p_msg => 'BEGIN of AcctLineType_131'
67053 ,p_level => C_LEVEL_PROCEDURE
67054 ,p_module => l_log_module);
67055
67056 END IF;
67057 --
67058 l_component_type := 'AMB_JLT';
67059 l_component_code := 'AP_FREIGHT_EXPENSE_PREPAY';
67060 l_component_type_code := 'S';
67061 l_component_appl_id := 200;
67062 l_amb_context_code := 'DEFAULT';
67063 l_entity_code := 'AP_INVOICES';
67064 l_event_class_code := 'PREPAYMENTS';
67065 l_event_type_code := 'PREPAYMENTS_ALL';
67066 l_line_definition_owner_code := 'S';
67067 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
67068 --
67069 l_balance_type_code := 'A';
67070 l_segment := NULL;
67071 l_ccid := NULL;
67072 l_adr_transaction_coa_id := NULL;
67073 l_adr_accounting_coa_id := NULL;
67074 l_adr_flexfield_segment_code := NULL;
67075 l_adr_flex_value_set_id := NULL;
67076 l_adr_value_type_code := NULL;
67077 l_adr_value_combination_id := NULL;
67078 l_adr_value_segment_code := NULL;
67079
67080 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
67081 l_bflow_class_code := ''; -- 4219869 Business Flow
67082 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
67083 l_budgetary_control_flag := 'N';
67084
67085 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67089 l_acc_rev_flag := NULL; -- 4262811
67086 l_bflow_applied_to_amt := NULL; -- 5132302
67087 l_entered_amt_idx := NULL; -- 4262811
67088 l_accted_amt_idx := NULL; -- 4262811
67090 l_accrual_line_num := NULL; -- 4262811
67091 l_tmp_amt := NULL; -- 4262811
67092 --
67093
67094 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
67095 l_balance_type_code <> 'B' THEN
67096 IF NVL(p_source_21,'
67097 ') = 'FREIGHT'
67098 THEN
67099
67100 --
67101 XLA_AE_LINES_PKG.SetNewLine;
67102
67103 p_balance_type_code := l_balance_type_code;
67104 -- set the flag so later we will know whether the gain loss line needs to be created
67105
67106 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
67107 p_actual_flag :='A';
67108 END IF;
67109
67110 --
67111 -- bulk performance
67112 --
67113 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
67114 p_header_num => 0); -- 4262811
67115 --
67116 -- set accounting line options
67117 --
67118 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
67119 p_natural_side_code => 'D'
67120 , p_gain_or_loss_flag => 'N'
67121 , p_gl_transfer_mode_code => 'S'
67122 , p_acct_entry_type_code => 'A'
67123 , p_switch_side_flag => 'Y'
67124 , p_merge_duplicate_code => 'A'
67125 );
67126 --
67127 l_acc_rev_natural_side_code := 'C'; -- 4262811
67128 --
67129 --
67130 -- set accounting line type info
67131 --
67132 xla_ae_lines_pkg.SetAcctLineType
67133 (p_component_type => l_component_type
67134 ,p_event_type_code => l_event_type_code
67135 ,p_line_definition_owner_code => l_line_definition_owner_code
67136 ,p_line_definition_code => l_line_definition_code
67137 ,p_accounting_line_code => l_component_code
67138 ,p_accounting_line_type_code => l_component_type_code
67139 ,p_accounting_line_appl_id => l_component_appl_id
67140 ,p_amb_context_code => l_amb_context_code
67141 ,p_entity_code => l_entity_code
67142 ,p_event_class_code => l_event_class_code);
67143 --
67144 -- set accounting class
67145 --
67146 xla_ae_lines_pkg.SetAcctClass(
67147 p_accounting_class_code => 'FREIGHT'
67148 , p_ae_header_id => l_ae_header_id
67149 );
67150
67151 --
67152 -- set rounding class
67153 --
67154 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
67155 'FREIGHT';
67156
67157 --
67158 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
67159 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
67160 --
67161 -- bulk performance
67162 --
67163 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
67164
67165 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
67166 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
67167
67168 -- 4955764
67169 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67170 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
67171
67172 -- 4458381 Public Sector Enh
67173
67174 --
67175 -- set accounting attributes for the line type
67176 --
67177 l_entered_amt_idx := 23;
67178 l_accted_amt_idx := 28;
67179 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67180 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
67181 l_rec_acct_attrs.array_char_value(1) := p_source_41;
67182 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
67183 l_rec_acct_attrs.array_num_value(2) :=
67184 xla_ae_sources_pkg.GetSystemSourceNum(
67185 p_source_code => 'XLA_EVENT_APPL_ID'
67186 , p_source_type_code => 'Y'
67187 , p_source_application_id => 602
67188 );
67189 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
67190 l_rec_acct_attrs.array_char_value(3) := p_source_43;
67191 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
67192 l_rec_acct_attrs.array_char_value(4) :=
67193 xla_ae_sources_pkg.GetSystemSourceChar(
67194 p_source_code => 'XLA_ENTITY_CODE'
67195 , p_source_type_code => 'Y'
67196 , p_source_application_id => 602
67197 );
67198 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
67199 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
67200 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
67201 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
67202 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
67203 l_rec_acct_attrs.array_num_value(7) := p_source_79;
67204 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
67205 l_rec_acct_attrs.array_char_value(8) := p_source_80;
67209 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
67206 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
67207 l_rec_acct_attrs.array_char_value(9) := p_source_81;
67208 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
67210 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
67211 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
67212 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
67213 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
67214 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
67215 l_rec_acct_attrs.array_char_value(13) := p_source_43;
67216 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
67217 l_rec_acct_attrs.array_num_value(14) := p_source_53;
67218 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
67219 l_rec_acct_attrs.array_num_value(15) := p_source_54;
67220 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
67221 l_rec_acct_attrs.array_char_value(16) := p_source_55;
67222 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
67223 l_rec_acct_attrs.array_num_value(17) := p_source_56;
67224 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
67225 l_rec_acct_attrs.array_num_value(18) := p_source_57;
67226 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
67227 l_rec_acct_attrs.array_num_value(19) := p_source_58;
67228 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
67229 l_rec_acct_attrs.array_char_value(20) := p_source_55;
67230 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
67231 l_rec_acct_attrs.array_num_value(21) := p_source_59;
67232 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
67233 l_rec_acct_attrs.array_char_value(22) := p_source_60;
67234 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
67235 l_rec_acct_attrs.array_num_value(23) := p_source_61;
67236 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
67237 l_rec_acct_attrs.array_char_value(24) := p_source_55;
67238 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
67239 l_rec_acct_attrs.array_date_value(25) := p_source_136;
67240 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
67241 l_rec_acct_attrs.array_num_value(26) := p_source_137;
67242 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
67243 l_rec_acct_attrs.array_char_value(27) := p_source_138;
67244 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
67245 l_rec_acct_attrs.array_num_value(28) := p_source_9;
67246 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
67247 l_rec_acct_attrs.array_date_value(29) := p_source_65;
67248 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
67249 l_rec_acct_attrs.array_char_value(30) := p_source_66;
67250 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
67251 l_rec_acct_attrs.array_date_value(31) := p_source_67;
67252 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
67253 l_rec_acct_attrs.array_char_value(32) := p_source_68;
67254 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
67255 l_rec_acct_attrs.array_num_value(33) := p_source_69;
67256 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
67257 l_rec_acct_attrs.array_num_value(34) := p_source_70;
67258 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
67259 l_rec_acct_attrs.array_char_value(35) := p_source_71;
67260 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
67261 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
67262 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
67263 l_rec_acct_attrs.array_char_value(37) := p_source_43;
67264 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
67265 l_rec_acct_attrs.array_num_value(38) := p_source_73;
67266 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
67267 l_rec_acct_attrs.array_num_value(39) := p_source_74;
67268 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
67269 l_rec_acct_attrs.array_num_value(40) := p_source_75;
67270 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
67271 l_rec_acct_attrs.array_num_value(41) := p_source_76;
67272 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
67273 l_rec_acct_attrs.array_num_value(42) := p_source_77;
67274 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
67275 l_rec_acct_attrs.array_num_value(43) := p_source_78;
67276
67277 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
67278 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
67279
67280 ---------------------------------------------------------------------------------------------------------------
67281 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
67282 ---------------------------------------------------------------------------------------------------------------
67283 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
67284
67285 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67286 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67287
67288 IF xla_accounting_cache_pkg.GetValueChar
67289 (p_source_code => 'LEDGER_CATEGORY_CODE'
67293 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
67290 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
67291 AND l_bflow_method_code = 'PRIOR_ENTRY'
67292 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
67294 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
67295 )
67296 THEN
67297 xla_ae_lines_pkg.BflowUpgEntry
67298 (p_business_method_code => l_bflow_method_code
67299 ,p_business_class_code => l_bflow_class_code
67300 ,p_balance_type => l_balance_type_code);
67301 ELSE
67302 NULL;
67303 -- No business flow processing for business flow method of NONE.
67304 END IF;
67305
67306 --
67307 -- call analytical criteria
67308 --
67309
67310 --
67311 -- call description
67312 --
67313
67314 xla_ae_lines_pkg.SetLineDescription(
67315 p_ae_header_id => l_ae_header_id
67316 ,p_description => Description_2 (
67317 p_application_id => p_application_id
67318 , p_ae_header_id => l_ae_header_id
67319 , p_source_1 => p_source_1
67320 )
67321 );
67322
67323
67324 --
67325 -- call ADRs
67326 -- Bug 4922099
67327 --
67328 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67329 (NVL(l_actual_upg_option, 'N') = 'O') OR
67330 (NVL(l_enc_upg_option, 'N') = 'O')
67331 )
67332 THEN
67333 NULL;
67334 --
67335 --
67336
67337 l_ccid := AcctDerRule_32(
67338 p_application_id => p_application_id
67339 , p_ae_header_id => l_ae_header_id
67340 , p_source_18 => p_source_18
67341 , x_transaction_coa_id => l_adr_transaction_coa_id
67342 , x_accounting_coa_id => l_adr_accounting_coa_id
67343 , x_value_type_code => l_adr_value_type_code
67344 , p_side => 'NA'
67345 );
67346
67347 xla_ae_lines_pkg.set_ccid(
67348 p_code_combination_id => l_ccid
67349 , p_value_type_code => l_adr_value_type_code
67350 , p_transaction_coa_id => l_adr_transaction_coa_id
67351 , p_accounting_coa_id => l_adr_accounting_coa_id
67352 , p_adr_code => 'AP_INVOICE_DIST'
67353 , p_adr_type_code => 'S'
67354 , p_component_type => l_component_type
67355 , p_component_code => l_component_code
67356 , p_component_type_code => l_component_type_code
67357 , p_component_appl_id => l_component_appl_id
67358 , p_amb_context_code => l_amb_context_code
67359 , p_side => 'NA'
67360 );
67361
67362
67363 --
67364 --
67365 END IF;
67366 --
67367 -- Bug 4922099
67368 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
67369 (NVL(l_enc_upg_option, 'N') = 'O')
67370 ) AND
67371 (l_bflow_method_code = 'PRIOR_ENTRY')
67372 )
67373 THEN
67374 IF
67375 --
67376 1 = 2
67377 --
67378 THEN
67379 xla_accounting_err_pkg.build_message
67380 (p_appli_s_name => 'XLA'
67381 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67382 ,p_token_1 => 'LINE_NUMBER'
67383 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
67384 ,p_token_2 => 'LINE_TYPE_NAME'
67385 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
67386 l_component_type
67387 ,l_component_code
67388 ,l_component_type_code
67389 ,l_component_appl_id
67390 ,l_amb_context_code
67391 ,l_entity_code
67392 ,l_event_class_code
67393 )
67394 ,p_token_3 => 'OWNER'
67395 ,p_value_3 => xla_lookups_pkg.get_meaning(
67396 p_lookup_type => 'XLA_OWNER_TYPE'
67397 ,p_lookup_code => l_component_type_code
67398 )
67399 ,p_token_4 => 'PRODUCT_NAME'
67400 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
67401 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
67402 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
67406
67403 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
67404 ,p_ae_header_id => NULL
67405 );
67407 IF (C_LEVEL_ERROR>= g_log_level) THEN
67408 trace
67409 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
67410 ,p_level => C_LEVEL_ERROR
67411 ,p_module => l_log_module);
67412 END IF;
67413 END IF;
67414 END IF;
67415 --
67416 --
67417 ------------------------------------------------------------------------------------------------
67418 -- 4219869 Business Flow
67419 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
67420 -- Prior Entry. Currently, the following code is always generated.
67421 ------------------------------------------------------------------------------------------------
67422 XLA_AE_LINES_PKG.ValidateCurrentLine;
67423
67424 ------------------------------------------------------------------------------------
67425 -- 4219869 Business Flow
67426 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
67427 ------------------------------------------------------------------------------------
67428 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67429
67430 ----------------------------------------------------------------------------------
67431 -- 4219869 Business Flow
67432 -- Update journal entry status -- Need to generate this within IF <condition>
67433 ----------------------------------------------------------------------------------
67434 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67435 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
67436 ,p_balance_type_code => l_balance_type_code
67437 );
67438
67439 -------------------------------------------------------------------------------------------
67440 -- 4262811 - Generate the Accrual Reversal lines
67441 -------------------------------------------------------------------------------------------
67442 BEGIN
67443 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
67444 (g_array_event(p_event_id).array_value_num('header_index'));
67445 IF l_acc_rev_flag IS NULL THEN
67446 l_acc_rev_flag := 'N';
67447 END IF;
67448 EXCEPTION
67449 WHEN OTHERS THEN
67450 l_acc_rev_flag := 'N';
67451 END;
67452 --
67453 IF (l_acc_rev_flag = 'Y') THEN
67454
67455 -- 4645092 ------------------------------------------------------------------------------
67456 -- To allow MPA report to determine if it should generate report process
67457 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
67458 ------------------------------------------------------------------------------------------
67459
67460 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
67461 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
67462 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
67463 -- call ADRs
67464 -- Bug 4922099
67465 --
67466 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67467 (NVL(l_actual_upg_option, 'N') = 'O') OR
67468 (NVL(l_enc_upg_option, 'N') = 'O')
67469 )
67470 THEN
67471 NULL;
67472 --
67473 --
67474
67475 l_ccid := AcctDerRule_32(
67476 p_application_id => p_application_id
67477 , p_ae_header_id => l_ae_header_id
67478 , p_source_18 => p_source_18
67479 , x_transaction_coa_id => l_adr_transaction_coa_id
67480 , x_accounting_coa_id => l_adr_accounting_coa_id
67481 , x_value_type_code => l_adr_value_type_code
67482 , p_side => 'NA'
67483 );
67484
67485 xla_ae_lines_pkg.set_ccid(
67486 p_code_combination_id => l_ccid
67487 , p_value_type_code => l_adr_value_type_code
67488 , p_transaction_coa_id => l_adr_transaction_coa_id
67489 , p_accounting_coa_id => l_adr_accounting_coa_id
67490 , p_adr_code => 'AP_INVOICE_DIST'
67491 , p_adr_type_code => 'S'
67492 , p_component_type => l_component_type
67493 , p_component_code => l_component_code
67494 , p_component_type_code => l_component_type_code
67495 , p_component_appl_id => l_component_appl_id
67496 , p_amb_context_code => l_amb_context_code
67497 , p_side => 'NA'
67498 );
67499
67500
67501 --
67502 --
67503 END IF;
67504
67505 --
67506 -- Update the line information that should be overwritten
67507 --
67508 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
67509 p_header_num => 1);
67510 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
67511
67512 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
67513
67514 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
67515 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
67519 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
67516 END IF;
67517
67518 --
67520 --
67521 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
67522 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
67523 ELSE
67524 ---------------------------------------------------------------------------------------------------
67525 -- 4262811a Switch Sign
67526 ---------------------------------------------------------------------------------------------------
67527 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
67528 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67529 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67530 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
67531 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67532 -- 5132302
67533 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
67534 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
67535
67536 END IF;
67537
67538 -- 4955764
67539 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67540 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
67541
67542
67543 XLA_AE_LINES_PKG.ValidateCurrentLine;
67544 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
67545
67546 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
67547 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
67548 ,p_balance_type_code => l_balance_type_code);
67549
67550 END IF;
67551
67552 -----------------------------------------------------------------------------------------
67553 -- 4262811 Multiperiod Accounting
67554 -----------------------------------------------------------------------------------------
67555 -- No MPA option is assigned.
67556
67557
67558 END IF;
67559 END IF;
67560 --
67561
67562 --
67563 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67564 trace
67565 (p_msg => 'END of AcctLineType_131'
67566 ,p_level => C_LEVEL_PROCEDURE
67567 ,p_module => l_log_module);
67568 END IF;
67569 --
67570 EXCEPTION
67571 WHEN xla_exceptions_pkg.application_exception THEN
67572 RAISE;
67573 WHEN OTHERS THEN
67574 xla_exceptions_pkg.raise_message
67575 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_131');
67576 END AcctLineType_131;
67577 --
67578
67579 ---------------------------------------
67580 --
67581 -- PRIVATE FUNCTION
67582 -- AcctLineType_132
67583 --
67584 ---------------------------------------
67585 PROCEDURE AcctLineType_132 (
67586 p_application_id IN NUMBER
67587 ,p_event_id IN NUMBER
67588 ,p_calculate_acctd_flag IN VARCHAR2
67589 ,p_calculate_g_l_flag IN VARCHAR2
67590 ,p_actual_flag IN OUT VARCHAR2
67591 ,p_balance_type_code OUT VARCHAR2
67592 ,p_gain_or_loss_ref OUT VARCHAR2
67593
67594 --Automatic Offsets Value
67595 , p_source_3 IN VARCHAR2
67596 , p_source_3_meaning IN VARCHAR2
67597 --Bank Future Dated Payment Account
67598 , p_source_12 IN NUMBER
67599 --Future Dated Payment Account Source Option
67600 , p_source_13 IN VARCHAR2
67601 , p_source_13_meaning IN VARCHAR2
67602 --Financials Options Future Dated Payment Account
67603 , p_source_14 IN NUMBER
67604 --Supplier Site Future Dated Payment Account
67605 , p_source_15 IN NUMBER
67606 --Invoice Distribution Account
67607 , p_source_18 IN NUMBER
67608 --Accounting Reversal Indicator
67609 , p_source_41 IN VARCHAR2
67610 --Distribution Link Type
67611 , p_source_43 IN VARCHAR2
67612 --Override Accounted Amount Indicator
67613 , p_source_68 IN VARCHAR2
67614 , p_source_68_meaning IN VARCHAR2
67615 --Third Party Type
67616 , p_source_71 IN VARCHAR2
67617 --Invoice Distribution Tax Line Identifier
67618 , p_source_74 IN NUMBER
67619 --Invoice Distribution Tax Distribution Identifier from Tax
67620 , p_source_75 IN NUMBER
67621 --Invoice Distribution Summary Tax Line Identifier
67622 , p_source_76 IN NUMBER
67623 --Business Flow Accounts Payable Application Identifier
67624 , p_source_79 IN NUMBER
67625 --Business Flow Invoice Distribution Type
67626 , p_source_80 IN VARCHAR2
67627 --Business Flow Invoice Entity Code
67628 , p_source_81 IN VARCHAR2
67629 --Business Flow Invoice Distribution Identifier
67630 , p_source_82 IN NUMBER
67631 --Business Flow Invoice Identifier
67632 , p_source_83 IN NUMBER
67633 --When to Account for Payment Option
67634 , p_source_89 IN VARCHAR2
67635 --Payment Distribution Type
67636 , p_source_90 IN VARCHAR2
67637 , p_source_90_meaning IN VARCHAR2
67641 , p_source_96 IN NUMBER
67638 --Payment Distribution Amount
67639 , p_source_91 IN NUMBER
67640 --Payment Distribution Identifier
67642 --Payment Supplier Identifier
67643 , p_source_102 IN NUMBER
67644 --Payment Supplier Site Identifier
67645 , p_source_103 IN NUMBER
67646 --Payment Distribution Reversed Identifier
67647 , p_source_104 IN NUMBER
67648 --Payment Currency Code
67649 , p_source_106 IN VARCHAR2
67650 --Payment Maturity Date
67651 , p_source_107 IN DATE
67652 --Payment Distribution (Payment Rate) Ledger Amount
67653 , p_source_108 IN NUMBER
67654 --Payment Exchange Date
67655 , p_source_110 IN DATE
67656 --Payment Exchange Rate
67657 , p_source_111 IN NUMBER
67658 --Payment Exchange Rate Type
67659 , p_source_112 IN VARCHAR2
67660 --Payment Processing Type
67661 , p_source_116 IN VARCHAR2
67662 --Invoice Distribution Amount of the Payment Distribution
67663 , p_source_117 IN NUMBER
67664 )
67665 IS
67666
67667 l_component_type VARCHAR2(80);
67668 l_component_code VARCHAR2(30);
67669 l_component_type_code VARCHAR2(1);
67670 l_component_appl_id INTEGER;
67671 l_amb_context_code VARCHAR2(30);
67672 l_entity_code VARCHAR2(30);
67673 l_event_class_code VARCHAR2(30);
67674 l_ae_header_id NUMBER;
67675 l_event_type_code VARCHAR2(30);
67676 l_line_definition_code VARCHAR2(30);
67677 l_line_definition_owner_code VARCHAR2(1);
67678 --
67679 -- adr variables
67680 l_segment VARCHAR2(30);
67681 l_ccid NUMBER;
67682 l_adr_transaction_coa_id NUMBER;
67683 l_adr_accounting_coa_id NUMBER;
67684 l_adr_flexfield_segment_code VARCHAR2(30);
67685 l_adr_flex_value_set_id NUMBER;
67686 l_adr_value_type_code VARCHAR2(30);
67687 l_adr_value_combination_id NUMBER;
67688 l_adr_value_segment_code VARCHAR2(30);
67689
67690 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
67691 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
67692 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
67693 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
67694
67695 -- 4262811 Variables ------------------------------------------------------------------------------------------
67696 l_entered_amt_idx NUMBER;
67697 l_accted_amt_idx NUMBER;
67698 l_acc_rev_flag VARCHAR2(1);
67699 l_accrual_line_num NUMBER;
67700 l_tmp_amt NUMBER;
67701 l_acc_rev_natural_side_code VARCHAR2(1);
67702
67703 l_num_entries NUMBER;
67704 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
67705 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
67706 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
67707 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
67708 l_recog_line_1 NUMBER;
67709 l_recog_line_2 NUMBER;
67710
67711 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
67712 l_bflow_applied_to_amt NUMBER; -- 5132302
67713 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
67714
67715 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
67716
67717 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
67718 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
67719
67720 ---------------------------------------------------------------------------------------------------------------
67721
67722
67723 --
67724 -- bulk performance
67725 --
67726 l_balance_type_code VARCHAR2(1);
67727 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
67728 l_log_module VARCHAR2(240);
67729
67730 --
67731 -- Upgrade strategy
67732 --
67733 l_actual_upg_option VARCHAR2(1);
67734 l_enc_upg_option VARCHAR2(1);
67735
67736 --
67737 BEGIN
67738 --
67739 IF g_log_enabled THEN
67740 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_132';
67741 END IF;
67742 --
67743 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
67744
67745 trace
67746 (p_msg => 'BEGIN of AcctLineType_132'
67747 ,p_level => C_LEVEL_PROCEDURE
67748 ,p_module => l_log_module);
67749
67750 END IF;
67751 --
67752 l_component_type := 'AMB_JLT';
67753 l_component_code := 'AP_FUTURE_DATED_PMT';
67754 l_component_type_code := 'S';
67755 l_component_appl_id := 200;
67756 l_amb_context_code := 'DEFAULT';
67757 l_entity_code := 'AP_PAYMENTS';
67758 l_event_class_code := 'PAYMENTS';
67759 l_event_type_code := 'PAYMENTS_ALL';
67760 l_line_definition_owner_code := 'S';
67761 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
67762 --
67763 l_balance_type_code := 'A';
67764 l_segment := NULL;
67765 l_ccid := NULL;
67766 l_adr_transaction_coa_id := NULL;
67767 l_adr_accounting_coa_id := NULL;
67768 l_adr_flexfield_segment_code := NULL;
67769 l_adr_flex_value_set_id := NULL;
67773
67770 l_adr_value_type_code := NULL;
67771 l_adr_value_combination_id := NULL;
67772 l_adr_value_segment_code := NULL;
67774 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
67775 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
67776 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
67777 l_budgetary_control_flag := 'N';
67778
67779 l_bflow_applied_to_amt_idx := NULL; -- 5132302
67780 l_bflow_applied_to_amt := NULL; -- 5132302
67781 l_entered_amt_idx := NULL; -- 4262811
67782 l_accted_amt_idx := NULL; -- 4262811
67783 l_acc_rev_flag := NULL; -- 4262811
67784 l_accrual_line_num := NULL; -- 4262811
67785 l_tmp_amt := NULL; -- 4262811
67786 --
67787
67788 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
67789 l_balance_type_code <> 'B' THEN
67790 IF NVL(p_source_89,'
67791 ') <> 'CLEAR_CLEAR' AND
67792 NVL(p_source_89,'
67793 ') <> 'ALWAYS_CLEAR' AND
67794 NVL(p_source_90,'
67795 ') = 'CASH' AND
67796 p_source_107 IS NOT NULL AND
67797 NVL(p_source_116,'
67798 ') <> 'PAYMENTCARD'
67799 THEN
67800
67801 --
67802 XLA_AE_LINES_PKG.SetNewLine;
67803
67804 p_balance_type_code := l_balance_type_code;
67805 -- set the flag so later we will know whether the gain loss line needs to be created
67806
67807 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
67808 p_actual_flag :='A';
67809 END IF;
67810
67811 --
67812 -- bulk performance
67813 --
67814 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
67815 p_header_num => 0); -- 4262811
67816 --
67817 -- set accounting line options
67818 --
67819 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
67820 p_natural_side_code => 'C'
67821 , p_gain_or_loss_flag => 'N'
67822 , p_gl_transfer_mode_code => 'S'
67823 , p_acct_entry_type_code => 'A'
67824 , p_switch_side_flag => 'Y'
67825 , p_merge_duplicate_code => 'A'
67826 );
67827 --
67828 l_acc_rev_natural_side_code := 'D'; -- 4262811
67829 --
67830 --
67831 -- set accounting line type info
67832 --
67833 xla_ae_lines_pkg.SetAcctLineType
67834 (p_component_type => l_component_type
67835 ,p_event_type_code => l_event_type_code
67836 ,p_line_definition_owner_code => l_line_definition_owner_code
67837 ,p_line_definition_code => l_line_definition_code
67838 ,p_accounting_line_code => l_component_code
67839 ,p_accounting_line_type_code => l_component_type_code
67840 ,p_accounting_line_appl_id => l_component_appl_id
67841 ,p_amb_context_code => l_amb_context_code
67842 ,p_entity_code => l_entity_code
67843 ,p_event_class_code => l_event_class_code);
67844 --
67845 -- set accounting class
67846 --
67847 xla_ae_lines_pkg.SetAcctClass(
67848 p_accounting_class_code => 'FUTURE_DATED_PMT'
67849 , p_ae_header_id => l_ae_header_id
67850 );
67851
67852 --
67853 -- set rounding class
67854 --
67855 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
67856 'FUTURE_DATED_PMT';
67857
67858 --
67859 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
67860 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
67861 --
67862 -- bulk performance
67863 --
67864 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
67865
67866 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
67867 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
67868
67869 -- 4955764
67870 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
67871 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
67872
67873 -- 4458381 Public Sector Enh
67874
67875 --
67876 -- set accounting attributes for the line type
67877 --
67878 l_entered_amt_idx := 10;
67879 l_accted_amt_idx := 15;
67880 l_bflow_applied_to_amt_idx := 2; -- 5132302
67881 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
67882 l_rec_acct_attrs.array_char_value(1) := p_source_41;
67883 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
67884 l_rec_acct_attrs.array_num_value(2) := p_source_117;
67885 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
67886 l_rec_acct_attrs.array_num_value(3) := p_source_79;
67887 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
67888 l_rec_acct_attrs.array_char_value(4) := p_source_80;
67889 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
67890 l_rec_acct_attrs.array_char_value(5) := p_source_81;
67891 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
67892 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
67896 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
67893 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
67894 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
67895 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
67897 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
67898 l_rec_acct_attrs.array_char_value(9) := p_source_43;
67899 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
67900 l_rec_acct_attrs.array_num_value(10) := p_source_91;
67901 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
67902 l_rec_acct_attrs.array_char_value(11) := p_source_106;
67903 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
67904 l_rec_acct_attrs.array_date_value(12) := p_source_110;
67905 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
67906 l_rec_acct_attrs.array_num_value(13) := p_source_111;
67907 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
67908 l_rec_acct_attrs.array_char_value(14) := p_source_112;
67909 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
67910 l_rec_acct_attrs.array_num_value(15) := p_source_108;
67911 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
67912 l_rec_acct_attrs.array_char_value(16) := p_source_68;
67913 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
67914 l_rec_acct_attrs.array_num_value(17) := p_source_102;
67915 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
67916 l_rec_acct_attrs.array_num_value(18) := p_source_103;
67917 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
67918 l_rec_acct_attrs.array_char_value(19) := p_source_71;
67919 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
67920 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
67921 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
67922 l_rec_acct_attrs.array_char_value(21) := p_source_43;
67923 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
67924 l_rec_acct_attrs.array_num_value(22) := p_source_74;
67925 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
67926 l_rec_acct_attrs.array_num_value(23) := p_source_75;
67927 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
67928 l_rec_acct_attrs.array_num_value(24) := p_source_76;
67929
67930 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
67931 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
67932
67933 ---------------------------------------------------------------------------------------------------------------
67934 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
67935 ---------------------------------------------------------------------------------------------------------------
67936 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
67937
67938 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67939 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
67940
67941 IF xla_accounting_cache_pkg.GetValueChar
67942 (p_source_code => 'LEDGER_CATEGORY_CODE'
67943 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
67944 AND l_bflow_method_code = 'PRIOR_ENTRY'
67945 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
67946 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
67947 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
67948 )
67949 THEN
67950 xla_ae_lines_pkg.BflowUpgEntry
67951 (p_business_method_code => l_bflow_method_code
67952 ,p_business_class_code => l_bflow_class_code
67953 ,p_balance_type => l_balance_type_code);
67954 ELSE
67955 NULL;
67956 -- No business flow processing for business flow method of NONE.
67957 END IF;
67958
67959 --
67960 -- call analytical criteria
67961 --
67962
67963 --
67964 -- call description
67965 --
67966 -- No description or it is inherited.
67967 --
67968 -- call ADRs
67969 -- Bug 4922099
67970 --
67971 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
67972 (NVL(l_actual_upg_option, 'N') = 'O') OR
67973 (NVL(l_enc_upg_option, 'N') = 'O')
67974 )
67975 THEN
67976 NULL;
67977 --
67978 --
67979
67980 l_ccid := AcctDerRule_30(
67981 p_application_id => p_application_id
67982 , p_ae_header_id => l_ae_header_id
67983 , p_source_3 => p_source_3
67984 , p_source_3_meaning => p_source_3_meaning
67985 , p_source_12 => p_source_12
67986 , p_source_13 => p_source_13
67987 , p_source_13_meaning => p_source_13_meaning
67988 , p_source_14 => p_source_14
67989 , p_source_15 => p_source_15
67990 , p_source_18 => p_source_18
67991 , x_transaction_coa_id => l_adr_transaction_coa_id
67992 , x_accounting_coa_id => l_adr_accounting_coa_id
67993 , x_value_type_code => l_adr_value_type_code
67994 , p_side => 'NA'
67995 );
67996
67997 xla_ae_lines_pkg.set_ccid(
67998 p_code_combination_id => l_ccid
67999 , p_value_type_code => l_adr_value_type_code
68000 , p_transaction_coa_id => l_adr_transaction_coa_id
68004 , p_component_type => l_component_type
68001 , p_accounting_coa_id => l_adr_accounting_coa_id
68002 , p_adr_code => 'AP_FUTURE_DATED_PMT'
68003 , p_adr_type_code => 'S'
68005 , p_component_code => l_component_code
68006 , p_component_type_code => l_component_type_code
68007 , p_component_appl_id => l_component_appl_id
68008 , p_amb_context_code => l_amb_context_code
68009 , p_side => 'NA'
68010 );
68011
68012
68013 l_segment := AcctDerRule_10(
68014 p_application_id => p_application_id
68015 , p_ae_header_id => l_ae_header_id
68016 , p_source_3 => p_source_3
68017 , p_source_3_meaning => p_source_3_meaning
68018 , p_source_12 => p_source_12
68019 , p_source_13 => p_source_13
68020 , p_source_13_meaning => p_source_13_meaning
68021 , p_source_14 => p_source_14
68022 , p_source_15 => p_source_15
68023 , x_transaction_coa_id => l_adr_transaction_coa_id
68024 , x_accounting_coa_id => l_adr_accounting_coa_id
68025 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68026 , x_flex_value_set_id => l_adr_flex_value_set_id
68027 , x_value_type_code => l_adr_value_type_code
68028 , x_value_combination_id => l_adr_value_combination_id
68029 , x_value_segment_code => l_adr_value_segment_code
68030 , p_side => 'NA'
68031 , p_override_seg_flag => 'Y'
68032 );
68033
68034 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68035
68036 xla_ae_lines_pkg.set_segment(
68037 p_to_segment_code => 'GL_ACCOUNT'
68038 , p_segment_value => l_segment
68039 , p_from_segment_code => l_adr_value_segment_code
68040 , p_from_combination_id => l_adr_value_combination_id
68041 , p_value_type_code => l_adr_value_type_code
68042 , p_transaction_coa_id => l_adr_transaction_coa_id
68043 , p_accounting_coa_id => l_adr_accounting_coa_id
68044 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68045 , p_flex_value_set_id => l_adr_flex_value_set_id
68046 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
68047 , p_adr_type_code => 'S'
68048 , p_component_type => l_component_type
68049 , p_component_code => l_component_code
68050 , p_component_type_code => l_component_type_code
68051 , p_component_appl_id => l_component_appl_id
68052 , p_amb_context_code => l_amb_context_code
68053 , p_entity_code => 'AP_PAYMENTS'
68054 , p_event_class_code => 'PAYMENTS'
68055 , p_side => 'NA'
68056 );
68057
68058 END IF;
68059
68060 l_segment := AcctDerRule_21(
68061 p_application_id => p_application_id
68062 , p_ae_header_id => l_ae_header_id
68063 , p_source_3 => p_source_3
68064 , p_source_3_meaning => p_source_3_meaning
68065 , p_source_18 => p_source_18
68066 , x_transaction_coa_id => l_adr_transaction_coa_id
68067 , x_accounting_coa_id => l_adr_accounting_coa_id
68068 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68069 , x_flex_value_set_id => l_adr_flex_value_set_id
68070 , x_value_type_code => l_adr_value_type_code
68071 , x_value_combination_id => l_adr_value_combination_id
68072 , x_value_segment_code => l_adr_value_segment_code
68073 , p_side => 'NA'
68074 , p_override_seg_flag => 'Y'
68075 );
68076
68077 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68078
68079 xla_ae_lines_pkg.set_segment(
68080 p_to_segment_code => 'GL_BALANCING'
68081 , p_segment_value => l_segment
68082 , p_from_segment_code => l_adr_value_segment_code
68083 , p_from_combination_id => l_adr_value_combination_id
68084 , p_value_type_code => l_adr_value_type_code
68085 , p_transaction_coa_id => l_adr_transaction_coa_id
68086 , p_accounting_coa_id => l_adr_accounting_coa_id
68087 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68088 , p_flex_value_set_id => l_adr_flex_value_set_id
68089 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68090 , p_adr_type_code => 'S'
68091 , p_component_type => l_component_type
68092 , p_component_code => l_component_code
68093 , p_component_type_code => l_component_type_code
68094 , p_component_appl_id => l_component_appl_id
68095 , p_amb_context_code => l_amb_context_code
68096 , p_entity_code => 'AP_PAYMENTS'
68097 , p_event_class_code => 'PAYMENTS'
68098 , p_side => 'NA'
68099 );
68100
68101 END IF;
68102
68103 --
68104 --
68105 END IF;
68106 --
68107 -- Bug 4922099
68108 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
68109 (NVL(l_enc_upg_option, 'N') = 'O')
68110 ) AND
68111 (l_bflow_method_code = 'PRIOR_ENTRY')
68112 )
68113 THEN
68114 IF
68115 --
68119 xla_accounting_err_pkg.build_message
68116 1 = 2
68117 --
68118 THEN
68120 (p_appli_s_name => 'XLA'
68121 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68122 ,p_token_1 => 'LINE_NUMBER'
68123 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
68124 ,p_token_2 => 'LINE_TYPE_NAME'
68125 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
68126 l_component_type
68127 ,l_component_code
68128 ,l_component_type_code
68129 ,l_component_appl_id
68130 ,l_amb_context_code
68131 ,l_entity_code
68132 ,l_event_class_code
68133 )
68134 ,p_token_3 => 'OWNER'
68135 ,p_value_3 => xla_lookups_pkg.get_meaning(
68136 p_lookup_type => 'XLA_OWNER_TYPE'
68137 ,p_lookup_code => l_component_type_code
68138 )
68139 ,p_token_4 => 'PRODUCT_NAME'
68140 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
68141 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
68142 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
68143 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
68144 ,p_ae_header_id => NULL
68145 );
68146
68147 IF (C_LEVEL_ERROR>= g_log_level) THEN
68148 trace
68149 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68150 ,p_level => C_LEVEL_ERROR
68151 ,p_module => l_log_module);
68152 END IF;
68153 END IF;
68154 END IF;
68155 --
68156 --
68157 ------------------------------------------------------------------------------------------------
68158 -- 4219869 Business Flow
68159 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
68160 -- Prior Entry. Currently, the following code is always generated.
68161 ------------------------------------------------------------------------------------------------
68162 XLA_AE_LINES_PKG.ValidateCurrentLine;
68163
68164 ------------------------------------------------------------------------------------
68165 -- 4219869 Business Flow
68166 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
68167 ------------------------------------------------------------------------------------
68168 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68169
68170 ----------------------------------------------------------------------------------
68171 -- 4219869 Business Flow
68172 -- Update journal entry status -- Need to generate this within IF <condition>
68173 ----------------------------------------------------------------------------------
68174 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68175 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
68176 ,p_balance_type_code => l_balance_type_code
68177 );
68178
68179 -------------------------------------------------------------------------------------------
68180 -- 4262811 - Generate the Accrual Reversal lines
68181 -------------------------------------------------------------------------------------------
68182 BEGIN
68183 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
68184 (g_array_event(p_event_id).array_value_num('header_index'));
68185 IF l_acc_rev_flag IS NULL THEN
68186 l_acc_rev_flag := 'N';
68187 END IF;
68188 EXCEPTION
68189 WHEN OTHERS THEN
68190 l_acc_rev_flag := 'N';
68191 END;
68192 --
68193 IF (l_acc_rev_flag = 'Y') THEN
68194
68195 -- 4645092 ------------------------------------------------------------------------------
68196 -- To allow MPA report to determine if it should generate report process
68197 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
68198 ------------------------------------------------------------------------------------------
68199
68200 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
68201 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
68202 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
68203 -- call ADRs
68204 -- Bug 4922099
68208 (NVL(l_enc_upg_option, 'N') = 'O')
68205 --
68206 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68207 (NVL(l_actual_upg_option, 'N') = 'O') OR
68209 )
68210 THEN
68211 NULL;
68212 --
68213 --
68214
68215 l_ccid := AcctDerRule_30(
68216 p_application_id => p_application_id
68217 , p_ae_header_id => l_ae_header_id
68218 , p_source_3 => p_source_3
68219 , p_source_3_meaning => p_source_3_meaning
68220 , p_source_12 => p_source_12
68221 , p_source_13 => p_source_13
68222 , p_source_13_meaning => p_source_13_meaning
68223 , p_source_14 => p_source_14
68224 , p_source_15 => p_source_15
68225 , p_source_18 => p_source_18
68226 , x_transaction_coa_id => l_adr_transaction_coa_id
68227 , x_accounting_coa_id => l_adr_accounting_coa_id
68228 , x_value_type_code => l_adr_value_type_code
68229 , p_side => 'NA'
68230 );
68231
68232 xla_ae_lines_pkg.set_ccid(
68233 p_code_combination_id => l_ccid
68234 , p_value_type_code => l_adr_value_type_code
68235 , p_transaction_coa_id => l_adr_transaction_coa_id
68236 , p_accounting_coa_id => l_adr_accounting_coa_id
68237 , p_adr_code => 'AP_FUTURE_DATED_PMT'
68238 , p_adr_type_code => 'S'
68239 , p_component_type => l_component_type
68240 , p_component_code => l_component_code
68241 , p_component_type_code => l_component_type_code
68242 , p_component_appl_id => l_component_appl_id
68243 , p_amb_context_code => l_amb_context_code
68244 , p_side => 'NA'
68245 );
68246
68247
68248 l_segment := AcctDerRule_10(
68249 p_application_id => p_application_id
68250 , p_ae_header_id => l_ae_header_id
68251 , p_source_3 => p_source_3
68252 , p_source_3_meaning => p_source_3_meaning
68253 , p_source_12 => p_source_12
68254 , p_source_13 => p_source_13
68255 , p_source_13_meaning => p_source_13_meaning
68256 , p_source_14 => p_source_14
68257 , p_source_15 => p_source_15
68258 , x_transaction_coa_id => l_adr_transaction_coa_id
68259 , x_accounting_coa_id => l_adr_accounting_coa_id
68260 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68261 , x_flex_value_set_id => l_adr_flex_value_set_id
68262 , x_value_type_code => l_adr_value_type_code
68263 , x_value_combination_id => l_adr_value_combination_id
68264 , x_value_segment_code => l_adr_value_segment_code
68265 , p_side => 'NA'
68266 , p_override_seg_flag => 'Y'
68267 );
68268
68269 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68270
68271 xla_ae_lines_pkg.set_segment(
68272 p_to_segment_code => 'GL_ACCOUNT'
68273 , p_segment_value => l_segment
68274 , p_from_segment_code => l_adr_value_segment_code
68275 , p_from_combination_id => l_adr_value_combination_id
68276 , p_value_type_code => l_adr_value_type_code
68277 , p_transaction_coa_id => l_adr_transaction_coa_id
68278 , p_accounting_coa_id => l_adr_accounting_coa_id
68279 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68280 , p_flex_value_set_id => l_adr_flex_value_set_id
68281 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
68282 , p_adr_type_code => 'S'
68283 , p_component_type => l_component_type
68284 , p_component_code => l_component_code
68285 , p_component_type_code => l_component_type_code
68286 , p_component_appl_id => l_component_appl_id
68287 , p_amb_context_code => l_amb_context_code
68288 , p_entity_code => 'AP_PAYMENTS'
68289 , p_event_class_code => 'PAYMENTS'
68290 , p_side => 'NA'
68291 );
68292
68293 END IF;
68294
68295 l_segment := AcctDerRule_21(
68296 p_application_id => p_application_id
68297 , p_ae_header_id => l_ae_header_id
68298 , p_source_3 => p_source_3
68299 , p_source_3_meaning => p_source_3_meaning
68300 , p_source_18 => p_source_18
68301 , x_transaction_coa_id => l_adr_transaction_coa_id
68302 , x_accounting_coa_id => l_adr_accounting_coa_id
68303 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68304 , x_flex_value_set_id => l_adr_flex_value_set_id
68305 , x_value_type_code => l_adr_value_type_code
68306 , x_value_combination_id => l_adr_value_combination_id
68307 , x_value_segment_code => l_adr_value_segment_code
68308 , p_side => 'NA'
68309 , p_override_seg_flag => 'Y'
68310 );
68311
68312 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68313
68314 xla_ae_lines_pkg.set_segment(
68315 p_to_segment_code => 'GL_BALANCING'
68316 , p_segment_value => l_segment
68317 , p_from_segment_code => l_adr_value_segment_code
68318 , p_from_combination_id => l_adr_value_combination_id
68322 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68319 , p_value_type_code => l_adr_value_type_code
68320 , p_transaction_coa_id => l_adr_transaction_coa_id
68321 , p_accounting_coa_id => l_adr_accounting_coa_id
68323 , p_flex_value_set_id => l_adr_flex_value_set_id
68324 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68325 , p_adr_type_code => 'S'
68326 , p_component_type => l_component_type
68327 , p_component_code => l_component_code
68328 , p_component_type_code => l_component_type_code
68329 , p_component_appl_id => l_component_appl_id
68330 , p_amb_context_code => l_amb_context_code
68331 , p_entity_code => 'AP_PAYMENTS'
68332 , p_event_class_code => 'PAYMENTS'
68333 , p_side => 'NA'
68334 );
68335
68336 END IF;
68337
68338 --
68339 --
68340 END IF;
68341
68342 --
68343 -- Update the line information that should be overwritten
68344 --
68345 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
68346 p_header_num => 1);
68347 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
68348
68349 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
68350
68351 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
68352 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
68353 END IF;
68354
68355 --
68356 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
68357 --
68358 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
68359 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
68360 ELSE
68361 ---------------------------------------------------------------------------------------------------
68362 -- 4262811a Switch Sign
68363 ---------------------------------------------------------------------------------------------------
68364 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
68365 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68366 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68367 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
68368 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68369 -- 5132302
68370 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
68371 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
68372
68373 END IF;
68374
68375 -- 4955764
68376 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68377 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
68378
68379
68380 XLA_AE_LINES_PKG.ValidateCurrentLine;
68381 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
68382
68383 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
68384 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
68385 ,p_balance_type_code => l_balance_type_code);
68386
68387 END IF;
68388
68389 -----------------------------------------------------------------------------------------
68390 -- 4262811 Multiperiod Accounting
68391 -----------------------------------------------------------------------------------------
68392 -- No MPA option is assigned.
68393
68394
68395 END IF;
68396 END IF;
68397 --
68398
68399 --
68400 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68401 trace
68402 (p_msg => 'END of AcctLineType_132'
68403 ,p_level => C_LEVEL_PROCEDURE
68404 ,p_module => l_log_module);
68405 END IF;
68406 --
68407 EXCEPTION
68408 WHEN xla_exceptions_pkg.application_exception THEN
68409 RAISE;
68410 WHEN OTHERS THEN
68411 xla_exceptions_pkg.raise_message
68412 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_132');
68413 END AcctLineType_132;
68414 --
68415
68416 ---------------------------------------
68417 --
68418 -- PRIVATE FUNCTION
68419 -- AcctLineType_133
68420 --
68421 ---------------------------------------
68422 PROCEDURE AcctLineType_133 (
68423 p_application_id IN NUMBER
68424 ,p_event_id IN NUMBER
68425 ,p_calculate_acctd_flag IN VARCHAR2
68426 ,p_calculate_g_l_flag IN VARCHAR2
68427 ,p_actual_flag IN OUT VARCHAR2
68428 ,p_balance_type_code OUT VARCHAR2
68429 ,p_gain_or_loss_ref OUT VARCHAR2
68430
68431 --Automatic Offsets Value
68432 , p_source_3 IN VARCHAR2
68433 , p_source_3_meaning IN VARCHAR2
68434 --Bank Future Dated Payment Account
68435 , p_source_12 IN NUMBER
68436 --Future Dated Payment Account Source Option
68437 , p_source_13 IN VARCHAR2
68438 , p_source_13_meaning IN VARCHAR2
68439 --Financials Options Future Dated Payment Account
68443 --Invoice Distribution Account
68440 , p_source_14 IN NUMBER
68441 --Supplier Site Future Dated Payment Account
68442 , p_source_15 IN NUMBER
68444 , p_source_18 IN NUMBER
68445 --Accounting Reversal Indicator
68446 , p_source_41 IN VARCHAR2
68447 --Distribution Link Type
68448 , p_source_43 IN VARCHAR2
68449 --Override Accounted Amount Indicator
68450 , p_source_68 IN VARCHAR2
68451 , p_source_68_meaning IN VARCHAR2
68452 --Third Party Type
68453 , p_source_71 IN VARCHAR2
68454 --Invoice Distribution Tax Line Identifier
68455 , p_source_74 IN NUMBER
68456 --Invoice Distribution Tax Distribution Identifier from Tax
68457 , p_source_75 IN NUMBER
68458 --Invoice Distribution Summary Tax Line Identifier
68459 , p_source_76 IN NUMBER
68460 --Business Flow Accounts Payable Application Identifier
68461 , p_source_79 IN NUMBER
68462 --Business Flow Invoice Distribution Type
68463 , p_source_80 IN VARCHAR2
68464 --Business Flow Invoice Entity Code
68465 , p_source_81 IN VARCHAR2
68466 --Business Flow Invoice Distribution Identifier
68467 , p_source_82 IN NUMBER
68468 --Business Flow Invoice Identifier
68469 , p_source_83 IN NUMBER
68470 --When to Account for Payment Option
68471 , p_source_89 IN VARCHAR2
68472 --Payment Distribution Type
68473 , p_source_90 IN VARCHAR2
68474 , p_source_90_meaning IN VARCHAR2
68475 --Payment Distribution Amount
68476 , p_source_91 IN NUMBER
68477 --Payment Distribution Identifier
68478 , p_source_96 IN NUMBER
68479 --Payment Supplier Identifier
68480 , p_source_102 IN NUMBER
68481 --Payment Supplier Site Identifier
68482 , p_source_103 IN NUMBER
68483 --Payment Distribution Reversed Identifier
68484 , p_source_104 IN NUMBER
68485 --Payment Currency Code
68486 , p_source_106 IN VARCHAR2
68487 --Payment Maturity Date
68488 , p_source_107 IN DATE
68489 --Payment Distribution (Invoice Rate) Ledger Amount
68490 , p_source_109 IN NUMBER
68491 --Payment Exchange Date
68492 , p_source_110 IN DATE
68493 --Payment Exchange Rate
68494 , p_source_111 IN NUMBER
68495 --Payment Exchange Rate Type
68496 , p_source_112 IN VARCHAR2
68497 --Payment Processing Type
68498 , p_source_116 IN VARCHAR2
68499 --Invoice Distribution Amount of the Payment Distribution
68500 , p_source_117 IN NUMBER
68501 )
68502 IS
68503
68504 l_component_type VARCHAR2(80);
68505 l_component_code VARCHAR2(30);
68506 l_component_type_code VARCHAR2(1);
68507 l_component_appl_id INTEGER;
68508 l_amb_context_code VARCHAR2(30);
68509 l_entity_code VARCHAR2(30);
68510 l_event_class_code VARCHAR2(30);
68511 l_ae_header_id NUMBER;
68512 l_event_type_code VARCHAR2(30);
68513 l_line_definition_code VARCHAR2(30);
68514 l_line_definition_owner_code VARCHAR2(1);
68515 --
68516 -- adr variables
68517 l_segment VARCHAR2(30);
68518 l_ccid NUMBER;
68519 l_adr_transaction_coa_id NUMBER;
68520 l_adr_accounting_coa_id NUMBER;
68521 l_adr_flexfield_segment_code VARCHAR2(30);
68522 l_adr_flex_value_set_id NUMBER;
68523 l_adr_value_type_code VARCHAR2(30);
68524 l_adr_value_combination_id NUMBER;
68525 l_adr_value_segment_code VARCHAR2(30);
68526
68527 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
68528 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
68529 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
68530 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
68531
68532 -- 4262811 Variables ------------------------------------------------------------------------------------------
68533 l_entered_amt_idx NUMBER;
68534 l_accted_amt_idx NUMBER;
68535 l_acc_rev_flag VARCHAR2(1);
68536 l_accrual_line_num NUMBER;
68537 l_tmp_amt NUMBER;
68538 l_acc_rev_natural_side_code VARCHAR2(1);
68539
68540 l_num_entries NUMBER;
68541 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
68542 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
68543 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
68544 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
68545 l_recog_line_1 NUMBER;
68546 l_recog_line_2 NUMBER;
68547
68548 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
68549 l_bflow_applied_to_amt NUMBER; -- 5132302
68550 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
68551
68552 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
68553
68554 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
68555 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
68556
68557 ---------------------------------------------------------------------------------------------------------------
68558
68559
68560 --
68561 -- bulk performance
68562 --
68563 l_balance_type_code VARCHAR2(1);
68567 --
68564 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
68565 l_log_module VARCHAR2(240);
68566
68568 -- Upgrade strategy
68569 --
68570 l_actual_upg_option VARCHAR2(1);
68571 l_enc_upg_option VARCHAR2(1);
68572
68573 --
68574 BEGIN
68575 --
68576 IF g_log_enabled THEN
68577 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_133';
68578 END IF;
68579 --
68580 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
68581
68582 trace
68583 (p_msg => 'BEGIN of AcctLineType_133'
68584 ,p_level => C_LEVEL_PROCEDURE
68585 ,p_module => l_log_module);
68586
68587 END IF;
68588 --
68589 l_component_type := 'AMB_JLT';
68590 l_component_code := 'AP_FUTURE_DATED_PMT_INVXRATE';
68591 l_component_type_code := 'S';
68592 l_component_appl_id := 200;
68593 l_amb_context_code := 'DEFAULT';
68594 l_entity_code := 'AP_PAYMENTS';
68595 l_event_class_code := 'PAYMENTS';
68596 l_event_type_code := 'PAYMENTS_ALL';
68597 l_line_definition_owner_code := 'S';
68598 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
68599 --
68600 l_balance_type_code := 'A';
68601 l_segment := NULL;
68602 l_ccid := NULL;
68603 l_adr_transaction_coa_id := NULL;
68604 l_adr_accounting_coa_id := NULL;
68605 l_adr_flexfield_segment_code := NULL;
68606 l_adr_flex_value_set_id := NULL;
68607 l_adr_value_type_code := NULL;
68608 l_adr_value_combination_id := NULL;
68609 l_adr_value_segment_code := NULL;
68610
68611 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
68612 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
68613 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
68614 l_budgetary_control_flag := 'N';
68615
68616 l_bflow_applied_to_amt_idx := NULL; -- 5132302
68617 l_bflow_applied_to_amt := NULL; -- 5132302
68618 l_entered_amt_idx := NULL; -- 4262811
68619 l_accted_amt_idx := NULL; -- 4262811
68620 l_acc_rev_flag := NULL; -- 4262811
68621 l_accrual_line_num := NULL; -- 4262811
68622 l_tmp_amt := NULL; -- 4262811
68623 --
68624
68625 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
68626 l_balance_type_code <> 'B' THEN
68627 IF NVL(p_source_89,'
68628 ') = 'ALWAYS_CLEAR' AND
68629 NVL(p_source_90,'
68630 ') = 'CASH' AND
68631 p_source_107 IS NOT NULL AND
68632 NVL(p_source_116,'
68633 ') <> 'PAYMENTCARD'
68634 THEN
68635
68636 --
68637 XLA_AE_LINES_PKG.SetNewLine;
68638
68639 p_balance_type_code := l_balance_type_code;
68640 -- set the flag so later we will know whether the gain loss line needs to be created
68641
68642 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
68643 p_actual_flag :='A';
68644 END IF;
68645
68646 --
68647 -- bulk performance
68648 --
68649 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
68650 p_header_num => 0); -- 4262811
68651 --
68652 -- set accounting line options
68653 --
68654 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
68655 p_natural_side_code => 'C'
68656 , p_gain_or_loss_flag => 'N'
68657 , p_gl_transfer_mode_code => 'S'
68658 , p_acct_entry_type_code => 'A'
68659 , p_switch_side_flag => 'Y'
68660 , p_merge_duplicate_code => 'A'
68661 );
68662 --
68663 l_acc_rev_natural_side_code := 'D'; -- 4262811
68664 --
68665 --
68666 -- set accounting line type info
68667 --
68668 xla_ae_lines_pkg.SetAcctLineType
68669 (p_component_type => l_component_type
68670 ,p_event_type_code => l_event_type_code
68671 ,p_line_definition_owner_code => l_line_definition_owner_code
68672 ,p_line_definition_code => l_line_definition_code
68673 ,p_accounting_line_code => l_component_code
68674 ,p_accounting_line_type_code => l_component_type_code
68675 ,p_accounting_line_appl_id => l_component_appl_id
68676 ,p_amb_context_code => l_amb_context_code
68677 ,p_entity_code => l_entity_code
68678 ,p_event_class_code => l_event_class_code);
68679 --
68680 -- set accounting class
68681 --
68682 xla_ae_lines_pkg.SetAcctClass(
68683 p_accounting_class_code => 'FUTURE_DATED_PMT'
68684 , p_ae_header_id => l_ae_header_id
68685 );
68686
68687 --
68688 -- set rounding class
68689 --
68690 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
68691 'FUTURE_DATED_PMT';
68692
68693 --
68694 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
68695 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
68696 --
68697 -- bulk performance
68698 --
68699 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
68700
68704 -- 4955764
68701 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
68702 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
68703
68705 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
68706 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
68707
68708 -- 4458381 Public Sector Enh
68709
68710 --
68711 -- set accounting attributes for the line type
68712 --
68713 l_entered_amt_idx := 10;
68714 l_accted_amt_idx := 15;
68715 l_bflow_applied_to_amt_idx := 2; -- 5132302
68716 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
68717 l_rec_acct_attrs.array_char_value(1) := p_source_41;
68718 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
68719 l_rec_acct_attrs.array_num_value(2) := p_source_117;
68720 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
68721 l_rec_acct_attrs.array_num_value(3) := p_source_79;
68722 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
68723 l_rec_acct_attrs.array_char_value(4) := p_source_80;
68724 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
68725 l_rec_acct_attrs.array_char_value(5) := p_source_81;
68726 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
68727 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
68728 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
68729 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
68730 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
68731 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
68732 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
68733 l_rec_acct_attrs.array_char_value(9) := p_source_43;
68734 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
68735 l_rec_acct_attrs.array_num_value(10) := p_source_91;
68736 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
68737 l_rec_acct_attrs.array_char_value(11) := p_source_106;
68738 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
68739 l_rec_acct_attrs.array_date_value(12) := p_source_110;
68740 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
68741 l_rec_acct_attrs.array_num_value(13) := p_source_111;
68742 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
68743 l_rec_acct_attrs.array_char_value(14) := p_source_112;
68744 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
68745 l_rec_acct_attrs.array_num_value(15) := p_source_109;
68746 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
68747 l_rec_acct_attrs.array_char_value(16) := p_source_68;
68748 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
68749 l_rec_acct_attrs.array_num_value(17) := p_source_102;
68750 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
68751 l_rec_acct_attrs.array_num_value(18) := p_source_103;
68752 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
68753 l_rec_acct_attrs.array_char_value(19) := p_source_71;
68754 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
68755 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
68756 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
68757 l_rec_acct_attrs.array_char_value(21) := p_source_43;
68758 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
68759 l_rec_acct_attrs.array_num_value(22) := p_source_74;
68760 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
68761 l_rec_acct_attrs.array_num_value(23) := p_source_75;
68762 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
68763 l_rec_acct_attrs.array_num_value(24) := p_source_76;
68764
68765 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
68766 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
68767
68768 ---------------------------------------------------------------------------------------------------------------
68769 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
68770 ---------------------------------------------------------------------------------------------------------------
68771 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
68772
68773 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68774 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
68775
68776 IF xla_accounting_cache_pkg.GetValueChar
68777 (p_source_code => 'LEDGER_CATEGORY_CODE'
68778 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
68779 AND l_bflow_method_code = 'PRIOR_ENTRY'
68780 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
68781 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
68782 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
68783 )
68784 THEN
68785 xla_ae_lines_pkg.BflowUpgEntry
68786 (p_business_method_code => l_bflow_method_code
68787 ,p_business_class_code => l_bflow_class_code
68788 ,p_balance_type => l_balance_type_code);
68789 ELSE
68793
68790 NULL;
68791 -- No business flow processing for business flow method of NONE.
68792 END IF;
68794 --
68795 -- call analytical criteria
68796 --
68797
68798 --
68799 -- call description
68800 --
68801 -- No description or it is inherited.
68802 --
68803 -- call ADRs
68804 -- Bug 4922099
68805 --
68806 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
68807 (NVL(l_actual_upg_option, 'N') = 'O') OR
68808 (NVL(l_enc_upg_option, 'N') = 'O')
68809 )
68810 THEN
68811 NULL;
68812 --
68813 --
68814
68815 l_ccid := AcctDerRule_30(
68816 p_application_id => p_application_id
68817 , p_ae_header_id => l_ae_header_id
68818 , p_source_3 => p_source_3
68819 , p_source_3_meaning => p_source_3_meaning
68820 , p_source_12 => p_source_12
68821 , p_source_13 => p_source_13
68822 , p_source_13_meaning => p_source_13_meaning
68823 , p_source_14 => p_source_14
68824 , p_source_15 => p_source_15
68825 , p_source_18 => p_source_18
68826 , x_transaction_coa_id => l_adr_transaction_coa_id
68827 , x_accounting_coa_id => l_adr_accounting_coa_id
68828 , x_value_type_code => l_adr_value_type_code
68829 , p_side => 'NA'
68830 );
68831
68832 xla_ae_lines_pkg.set_ccid(
68833 p_code_combination_id => l_ccid
68834 , p_value_type_code => l_adr_value_type_code
68835 , p_transaction_coa_id => l_adr_transaction_coa_id
68836 , p_accounting_coa_id => l_adr_accounting_coa_id
68837 , p_adr_code => 'AP_FUTURE_DATED_PMT'
68838 , p_adr_type_code => 'S'
68839 , p_component_type => l_component_type
68840 , p_component_code => l_component_code
68841 , p_component_type_code => l_component_type_code
68842 , p_component_appl_id => l_component_appl_id
68843 , p_amb_context_code => l_amb_context_code
68844 , p_side => 'NA'
68845 );
68846
68847
68848 l_segment := AcctDerRule_10(
68849 p_application_id => p_application_id
68850 , p_ae_header_id => l_ae_header_id
68851 , p_source_3 => p_source_3
68852 , p_source_3_meaning => p_source_3_meaning
68853 , p_source_12 => p_source_12
68854 , p_source_13 => p_source_13
68855 , p_source_13_meaning => p_source_13_meaning
68856 , p_source_14 => p_source_14
68857 , p_source_15 => p_source_15
68858 , x_transaction_coa_id => l_adr_transaction_coa_id
68859 , x_accounting_coa_id => l_adr_accounting_coa_id
68860 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68861 , x_flex_value_set_id => l_adr_flex_value_set_id
68862 , x_value_type_code => l_adr_value_type_code
68863 , x_value_combination_id => l_adr_value_combination_id
68864 , x_value_segment_code => l_adr_value_segment_code
68865 , p_side => 'NA'
68866 , p_override_seg_flag => 'Y'
68867 );
68868
68869 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68870
68871 xla_ae_lines_pkg.set_segment(
68872 p_to_segment_code => 'GL_ACCOUNT'
68873 , p_segment_value => l_segment
68874 , p_from_segment_code => l_adr_value_segment_code
68875 , p_from_combination_id => l_adr_value_combination_id
68876 , p_value_type_code => l_adr_value_type_code
68877 , p_transaction_coa_id => l_adr_transaction_coa_id
68878 , p_accounting_coa_id => l_adr_accounting_coa_id
68879 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68880 , p_flex_value_set_id => l_adr_flex_value_set_id
68881 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
68882 , p_adr_type_code => 'S'
68883 , p_component_type => l_component_type
68884 , p_component_code => l_component_code
68885 , p_component_type_code => l_component_type_code
68886 , p_component_appl_id => l_component_appl_id
68887 , p_amb_context_code => l_amb_context_code
68888 , p_entity_code => 'AP_PAYMENTS'
68889 , p_event_class_code => 'PAYMENTS'
68890 , p_side => 'NA'
68891 );
68892
68893 END IF;
68894
68895 l_segment := AcctDerRule_21(
68896 p_application_id => p_application_id
68897 , p_ae_header_id => l_ae_header_id
68898 , p_source_3 => p_source_3
68899 , p_source_3_meaning => p_source_3_meaning
68900 , p_source_18 => p_source_18
68901 , x_transaction_coa_id => l_adr_transaction_coa_id
68902 , x_accounting_coa_id => l_adr_accounting_coa_id
68903 , x_flexfield_segment_code => l_adr_flexfield_segment_code
68904 , x_flex_value_set_id => l_adr_flex_value_set_id
68905 , x_value_type_code => l_adr_value_type_code
68906 , x_value_combination_id => l_adr_value_combination_id
68907 , x_value_segment_code => l_adr_value_segment_code
68908 , p_side => 'NA'
68909 , p_override_seg_flag => 'Y'
68910 );
68911
68915 p_to_segment_code => 'GL_BALANCING'
68912 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
68913
68914 xla_ae_lines_pkg.set_segment(
68916 , p_segment_value => l_segment
68917 , p_from_segment_code => l_adr_value_segment_code
68918 , p_from_combination_id => l_adr_value_combination_id
68919 , p_value_type_code => l_adr_value_type_code
68920 , p_transaction_coa_id => l_adr_transaction_coa_id
68921 , p_accounting_coa_id => l_adr_accounting_coa_id
68922 , p_flexfield_segment_code => l_adr_flexfield_segment_code
68923 , p_flex_value_set_id => l_adr_flex_value_set_id
68924 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
68925 , p_adr_type_code => 'S'
68926 , p_component_type => l_component_type
68927 , p_component_code => l_component_code
68928 , p_component_type_code => l_component_type_code
68929 , p_component_appl_id => l_component_appl_id
68930 , p_amb_context_code => l_amb_context_code
68931 , p_entity_code => 'AP_PAYMENTS'
68932 , p_event_class_code => 'PAYMENTS'
68933 , p_side => 'NA'
68934 );
68935
68936 END IF;
68937
68938 --
68939 --
68940 END IF;
68941 --
68942 -- Bug 4922099
68943 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
68944 (NVL(l_enc_upg_option, 'N') = 'O')
68945 ) AND
68946 (l_bflow_method_code = 'PRIOR_ENTRY')
68947 )
68948 THEN
68949 IF
68950 --
68951 1 = 2
68952 --
68953 THEN
68954 xla_accounting_err_pkg.build_message
68955 (p_appli_s_name => 'XLA'
68956 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68957 ,p_token_1 => 'LINE_NUMBER'
68958 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
68959 ,p_token_2 => 'LINE_TYPE_NAME'
68960 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
68961 l_component_type
68962 ,l_component_code
68963 ,l_component_type_code
68964 ,l_component_appl_id
68965 ,l_amb_context_code
68966 ,l_entity_code
68967 ,l_event_class_code
68968 )
68969 ,p_token_3 => 'OWNER'
68970 ,p_value_3 => xla_lookups_pkg.get_meaning(
68971 p_lookup_type => 'XLA_OWNER_TYPE'
68972 ,p_lookup_code => l_component_type_code
68973 )
68974 ,p_token_4 => 'PRODUCT_NAME'
68975 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
68976 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
68977 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
68978 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
68979 ,p_ae_header_id => NULL
68980 );
68981
68982 IF (C_LEVEL_ERROR>= g_log_level) THEN
68983 trace
68984 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
68985 ,p_level => C_LEVEL_ERROR
68986 ,p_module => l_log_module);
68987 END IF;
68988 END IF;
68989 END IF;
68990 --
68991 --
68992 ------------------------------------------------------------------------------------------------
68993 -- 4219869 Business Flow
68994 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
68995 -- Prior Entry. Currently, the following code is always generated.
68996 ------------------------------------------------------------------------------------------------
68997 XLA_AE_LINES_PKG.ValidateCurrentLine;
68998
68999 ------------------------------------------------------------------------------------
69000 -- 4219869 Business Flow
69001 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
69002 ------------------------------------------------------------------------------------
69003 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69004
69005 ----------------------------------------------------------------------------------
69006 -- 4219869 Business Flow
69007 -- Update journal entry status -- Need to generate this within IF <condition>
69011 ,p_balance_type_code => l_balance_type_code
69008 ----------------------------------------------------------------------------------
69009 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69010 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
69012 );
69013
69014 -------------------------------------------------------------------------------------------
69015 -- 4262811 - Generate the Accrual Reversal lines
69016 -------------------------------------------------------------------------------------------
69017 BEGIN
69018 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
69019 (g_array_event(p_event_id).array_value_num('header_index'));
69020 IF l_acc_rev_flag IS NULL THEN
69021 l_acc_rev_flag := 'N';
69022 END IF;
69023 EXCEPTION
69024 WHEN OTHERS THEN
69025 l_acc_rev_flag := 'N';
69026 END;
69027 --
69028 IF (l_acc_rev_flag = 'Y') THEN
69029
69030 -- 4645092 ------------------------------------------------------------------------------
69031 -- To allow MPA report to determine if it should generate report process
69032 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
69033 ------------------------------------------------------------------------------------------
69034
69035 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
69036 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
69037 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
69038 -- call ADRs
69039 -- Bug 4922099
69040 --
69041 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69042 (NVL(l_actual_upg_option, 'N') = 'O') OR
69043 (NVL(l_enc_upg_option, 'N') = 'O')
69044 )
69045 THEN
69046 NULL;
69047 --
69048 --
69049
69050 l_ccid := AcctDerRule_30(
69051 p_application_id => p_application_id
69052 , p_ae_header_id => l_ae_header_id
69053 , p_source_3 => p_source_3
69054 , p_source_3_meaning => p_source_3_meaning
69055 , p_source_12 => p_source_12
69056 , p_source_13 => p_source_13
69057 , p_source_13_meaning => p_source_13_meaning
69058 , p_source_14 => p_source_14
69059 , p_source_15 => p_source_15
69060 , p_source_18 => p_source_18
69061 , x_transaction_coa_id => l_adr_transaction_coa_id
69062 , x_accounting_coa_id => l_adr_accounting_coa_id
69063 , x_value_type_code => l_adr_value_type_code
69064 , p_side => 'NA'
69065 );
69066
69067 xla_ae_lines_pkg.set_ccid(
69068 p_code_combination_id => l_ccid
69069 , p_value_type_code => l_adr_value_type_code
69070 , p_transaction_coa_id => l_adr_transaction_coa_id
69071 , p_accounting_coa_id => l_adr_accounting_coa_id
69072 , p_adr_code => 'AP_FUTURE_DATED_PMT'
69073 , p_adr_type_code => 'S'
69074 , p_component_type => l_component_type
69075 , p_component_code => l_component_code
69076 , p_component_type_code => l_component_type_code
69077 , p_component_appl_id => l_component_appl_id
69078 , p_amb_context_code => l_amb_context_code
69079 , p_side => 'NA'
69080 );
69081
69082
69083 l_segment := AcctDerRule_10(
69084 p_application_id => p_application_id
69085 , p_ae_header_id => l_ae_header_id
69086 , p_source_3 => p_source_3
69087 , p_source_3_meaning => p_source_3_meaning
69088 , p_source_12 => p_source_12
69089 , p_source_13 => p_source_13
69090 , p_source_13_meaning => p_source_13_meaning
69091 , p_source_14 => p_source_14
69092 , p_source_15 => p_source_15
69093 , x_transaction_coa_id => l_adr_transaction_coa_id
69094 , x_accounting_coa_id => l_adr_accounting_coa_id
69095 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69096 , x_flex_value_set_id => l_adr_flex_value_set_id
69097 , x_value_type_code => l_adr_value_type_code
69098 , x_value_combination_id => l_adr_value_combination_id
69099 , x_value_segment_code => l_adr_value_segment_code
69100 , p_side => 'NA'
69101 , p_override_seg_flag => 'Y'
69102 );
69103
69104 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69105
69106 xla_ae_lines_pkg.set_segment(
69107 p_to_segment_code => 'GL_ACCOUNT'
69108 , p_segment_value => l_segment
69109 , p_from_segment_code => l_adr_value_segment_code
69110 , p_from_combination_id => l_adr_value_combination_id
69111 , p_value_type_code => l_adr_value_type_code
69112 , p_transaction_coa_id => l_adr_transaction_coa_id
69113 , p_accounting_coa_id => l_adr_accounting_coa_id
69114 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69115 , p_flex_value_set_id => l_adr_flex_value_set_id
69116 , p_adr_code => 'AP_FUTURE_DTD_PMT_NAT_ACCT_SEG'
69117 , p_adr_type_code => 'S'
69118 , p_component_type => l_component_type
69119 , p_component_code => l_component_code
69120 , p_component_type_code => l_component_type_code
69121 , p_component_appl_id => l_component_appl_id
69122 , p_amb_context_code => l_amb_context_code
69126 );
69123 , p_entity_code => 'AP_PAYMENTS'
69124 , p_event_class_code => 'PAYMENTS'
69125 , p_side => 'NA'
69127
69128 END IF;
69129
69130 l_segment := AcctDerRule_21(
69131 p_application_id => p_application_id
69132 , p_ae_header_id => l_ae_header_id
69133 , p_source_3 => p_source_3
69134 , p_source_3_meaning => p_source_3_meaning
69135 , p_source_18 => p_source_18
69136 , x_transaction_coa_id => l_adr_transaction_coa_id
69137 , x_accounting_coa_id => l_adr_accounting_coa_id
69138 , x_flexfield_segment_code => l_adr_flexfield_segment_code
69139 , x_flex_value_set_id => l_adr_flex_value_set_id
69140 , x_value_type_code => l_adr_value_type_code
69141 , x_value_combination_id => l_adr_value_combination_id
69142 , x_value_segment_code => l_adr_value_segment_code
69143 , p_side => 'NA'
69144 , p_override_seg_flag => 'Y'
69145 );
69146
69147 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
69148
69149 xla_ae_lines_pkg.set_segment(
69150 p_to_segment_code => 'GL_BALANCING'
69151 , p_segment_value => l_segment
69152 , p_from_segment_code => l_adr_value_segment_code
69153 , p_from_combination_id => l_adr_value_combination_id
69154 , p_value_type_code => l_adr_value_type_code
69155 , p_transaction_coa_id => l_adr_transaction_coa_id
69156 , p_accounting_coa_id => l_adr_accounting_coa_id
69157 , p_flexfield_segment_code => l_adr_flexfield_segment_code
69158 , p_flex_value_set_id => l_adr_flex_value_set_id
69159 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
69160 , p_adr_type_code => 'S'
69161 , p_component_type => l_component_type
69162 , p_component_code => l_component_code
69163 , p_component_type_code => l_component_type_code
69164 , p_component_appl_id => l_component_appl_id
69165 , p_amb_context_code => l_amb_context_code
69166 , p_entity_code => 'AP_PAYMENTS'
69167 , p_event_class_code => 'PAYMENTS'
69168 , p_side => 'NA'
69169 );
69170
69171 END IF;
69172
69173 --
69174 --
69175 END IF;
69176
69177 --
69178 -- Update the line information that should be overwritten
69179 --
69180 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
69181 p_header_num => 1);
69182 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
69183
69184 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
69185
69186 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
69187 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
69188 END IF;
69189
69190 --
69191 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
69192 --
69193 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
69194 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
69195 ELSE
69196 ---------------------------------------------------------------------------------------------------
69197 -- 4262811a Switch Sign
69198 ---------------------------------------------------------------------------------------------------
69199 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
69200 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69201 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69202 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69203 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69204 -- 5132302
69205 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
69206 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69207
69208 END IF;
69209
69210 -- 4955764
69211 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69212 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
69213
69214
69215 XLA_AE_LINES_PKG.ValidateCurrentLine;
69216 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69217
69218 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69219 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
69220 ,p_balance_type_code => l_balance_type_code);
69221
69222 END IF;
69223
69224 -----------------------------------------------------------------------------------------
69225 -- 4262811 Multiperiod Accounting
69226 -----------------------------------------------------------------------------------------
69227 -- No MPA option is assigned.
69228
69229
69230 END IF;
69231 END IF;
69232 --
69233
69234 --
69235 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69236 trace
69240 END IF;
69237 (p_msg => 'END of AcctLineType_133'
69238 ,p_level => C_LEVEL_PROCEDURE
69239 ,p_module => l_log_module);
69241 --
69242 EXCEPTION
69243 WHEN xla_exceptions_pkg.application_exception THEN
69244 RAISE;
69245 WHEN OTHERS THEN
69246 xla_exceptions_pkg.raise_message
69247 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_133');
69248 END AcctLineType_133;
69249 --
69250
69251 ---------------------------------------
69252 --
69253 -- PRIVATE FUNCTION
69254 -- AcctLineType_134
69255 --
69256 ---------------------------------------
69257 PROCEDURE AcctLineType_134 (
69258 p_application_id IN NUMBER
69259 ,p_event_id IN NUMBER
69260 ,p_calculate_acctd_flag IN VARCHAR2
69261 ,p_calculate_g_l_flag IN VARCHAR2
69262 ,p_actual_flag IN OUT VARCHAR2
69263 ,p_balance_type_code OUT VARCHAR2
69264 ,p_gain_or_loss_ref OUT VARCHAR2
69265
69266 --Accounting Reversal Indicator
69267 , p_source_41 IN VARCHAR2
69268 --Distribution Link Type
69269 , p_source_43 IN VARCHAR2
69270 --Override Accounted Amount Indicator
69271 , p_source_68 IN VARCHAR2
69272 , p_source_68_meaning IN VARCHAR2
69273 --Third Party Type
69274 , p_source_71 IN VARCHAR2
69275 --Business Flow Accounts Payable Application Identifier
69276 , p_source_79 IN NUMBER
69277 --When to Account for Payment Option
69278 , p_source_89 IN VARCHAR2
69279 --Payment Distribution Type
69280 , p_source_90 IN VARCHAR2
69281 , p_source_90_meaning IN VARCHAR2
69282 --Payment Distribution Amount
69283 , p_source_91 IN NUMBER
69284 --Business Flow Payment Distribution Type
69285 , p_source_92 IN VARCHAR2
69286 --Business Flow Payment Entity Code
69287 , p_source_93 IN VARCHAR2
69288 --Business Flow Payment Distribution Identifier
69289 , p_source_94 IN NUMBER
69290 --Business Flow Payment Identifier
69291 , p_source_95 IN NUMBER
69292 --Payment Distribution Identifier
69293 , p_source_96 IN NUMBER
69294 --Payment Distribution Reversed Identifier
69295 , p_source_104 IN NUMBER
69296 --Payment Currency Code
69297 , p_source_106 IN VARCHAR2
69298 --Payment Maturity Date
69299 , p_source_107 IN DATE
69300 --Payment Distribution (Payment Rate) Ledger Amount
69301 , p_source_108 IN NUMBER
69302 )
69303 IS
69304
69305 l_component_type VARCHAR2(80);
69306 l_component_code VARCHAR2(30);
69307 l_component_type_code VARCHAR2(1);
69308 l_component_appl_id INTEGER;
69309 l_amb_context_code VARCHAR2(30);
69310 l_entity_code VARCHAR2(30);
69311 l_event_class_code VARCHAR2(30);
69312 l_ae_header_id NUMBER;
69313 l_event_type_code VARCHAR2(30);
69314 l_line_definition_code VARCHAR2(30);
69315 l_line_definition_owner_code VARCHAR2(1);
69316 --
69317 -- adr variables
69318 l_segment VARCHAR2(30);
69319 l_ccid NUMBER;
69320 l_adr_transaction_coa_id NUMBER;
69321 l_adr_accounting_coa_id NUMBER;
69322 l_adr_flexfield_segment_code VARCHAR2(30);
69323 l_adr_flex_value_set_id NUMBER;
69324 l_adr_value_type_code VARCHAR2(30);
69325 l_adr_value_combination_id NUMBER;
69326 l_adr_value_segment_code VARCHAR2(30);
69327
69328 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
69329 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
69330 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
69331 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
69332
69333 -- 4262811 Variables ------------------------------------------------------------------------------------------
69334 l_entered_amt_idx NUMBER;
69335 l_accted_amt_idx NUMBER;
69336 l_acc_rev_flag VARCHAR2(1);
69337 l_accrual_line_num NUMBER;
69338 l_tmp_amt NUMBER;
69339 l_acc_rev_natural_side_code VARCHAR2(1);
69340
69341 l_num_entries NUMBER;
69342 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
69343 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
69344 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
69345 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
69346 l_recog_line_1 NUMBER;
69347 l_recog_line_2 NUMBER;
69348
69349 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
69350 l_bflow_applied_to_amt NUMBER; -- 5132302
69351 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
69352
69353 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
69354
69355 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
69356 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
69357
69358 ---------------------------------------------------------------------------------------------------------------
69359
69360
69361 --
69362 -- bulk performance
69363 --
69364 l_balance_type_code VARCHAR2(1);
69368 --
69365 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
69366 l_log_module VARCHAR2(240);
69367
69369 -- Upgrade strategy
69370 --
69371 l_actual_upg_option VARCHAR2(1);
69372 l_enc_upg_option VARCHAR2(1);
69373
69374 --
69375 BEGIN
69376 --
69377 IF g_log_enabled THEN
69378 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_134';
69379 END IF;
69380 --
69381 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69382
69383 trace
69384 (p_msg => 'BEGIN of AcctLineType_134'
69385 ,p_level => C_LEVEL_PROCEDURE
69386 ,p_module => l_log_module);
69387
69388 END IF;
69389 --
69390 l_component_type := 'AMB_JLT';
69391 l_component_code := 'AP_FUTURE_DATED_PMT_MAT';
69392 l_component_type_code := 'S';
69393 l_component_appl_id := 200;
69394 l_amb_context_code := 'DEFAULT';
69395 l_entity_code := 'AP_PAYMENTS';
69396 l_event_class_code := 'FUTURE DATED PAYMENTS';
69397 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
69398 l_line_definition_owner_code := 'S';
69399 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
69400 --
69401 l_balance_type_code := 'A';
69402 l_segment := NULL;
69403 l_ccid := NULL;
69404 l_adr_transaction_coa_id := NULL;
69405 l_adr_accounting_coa_id := NULL;
69406 l_adr_flexfield_segment_code := NULL;
69407 l_adr_flex_value_set_id := NULL;
69408 l_adr_value_type_code := NULL;
69409 l_adr_value_combination_id := NULL;
69410 l_adr_value_segment_code := NULL;
69411
69412 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
69413 l_bflow_class_code := 'AP_FUTURE_DTD_PMT'; -- 4219869 Business Flow
69414 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
69415 l_budgetary_control_flag := 'N';
69416
69417 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69418 l_bflow_applied_to_amt := NULL; -- 5132302
69419 l_entered_amt_idx := NULL; -- 4262811
69420 l_accted_amt_idx := NULL; -- 4262811
69421 l_acc_rev_flag := NULL; -- 4262811
69422 l_accrual_line_num := NULL; -- 4262811
69423 l_tmp_amt := NULL; -- 4262811
69424 --
69425
69426 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
69427 l_balance_type_code <> 'B' THEN
69428 IF NVL(p_source_89,'
69429 ') <> 'CLEAR_CLEAR' AND
69430 p_source_107 IS NOT NULL AND
69431 (NVL(p_source_90,'
69432 ') = 'CASH' OR
69433 NVL(p_source_90,'
69434 ') = 'ROUNDING')
69435 THEN
69436
69437 --
69438 XLA_AE_LINES_PKG.SetNewLine;
69439
69440 p_balance_type_code := l_balance_type_code;
69441 -- set the flag so later we will know whether the gain loss line needs to be created
69442
69443 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
69444 p_actual_flag :='A';
69445 END IF;
69446
69447 --
69448 -- bulk performance
69449 --
69450 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
69451 p_header_num => 0); -- 4262811
69452 --
69453 -- set accounting line options
69454 --
69455 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
69456 p_natural_side_code => 'D'
69457 , p_gain_or_loss_flag => 'N'
69458 , p_gl_transfer_mode_code => 'S'
69459 , p_acct_entry_type_code => 'A'
69460 , p_switch_side_flag => 'Y'
69461 , p_merge_duplicate_code => 'A'
69462 );
69463 --
69464 l_acc_rev_natural_side_code := 'C'; -- 4262811
69465 --
69466 --
69467 -- set accounting line type info
69468 --
69469 xla_ae_lines_pkg.SetAcctLineType
69470 (p_component_type => l_component_type
69471 ,p_event_type_code => l_event_type_code
69472 ,p_line_definition_owner_code => l_line_definition_owner_code
69473 ,p_line_definition_code => l_line_definition_code
69474 ,p_accounting_line_code => l_component_code
69475 ,p_accounting_line_type_code => l_component_type_code
69476 ,p_accounting_line_appl_id => l_component_appl_id
69477 ,p_amb_context_code => l_amb_context_code
69478 ,p_entity_code => l_entity_code
69479 ,p_event_class_code => l_event_class_code);
69480 --
69481 -- set accounting class
69482 --
69483 xla_ae_lines_pkg.SetAcctClass(
69484 p_accounting_class_code => 'FUTURE_DATED_PMT'
69485 , p_ae_header_id => l_ae_header_id
69486 );
69487
69488 --
69489 -- set rounding class
69490 --
69491 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
69492 'FUTURE_DATED_PMT';
69493
69494 --
69495 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
69496 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
69497 --
69498 -- bulk performance
69499 --
69503 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
69500 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
69501
69502 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
69504
69505 -- 4955764
69506 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69507 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
69508
69509 -- 4458381 Public Sector Enh
69510
69511 --
69512 -- set accounting attributes for the line type
69513 --
69514 l_entered_amt_idx := 9;
69515 l_accted_amt_idx := 11;
69516 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69517 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
69518 l_rec_acct_attrs.array_char_value(1) := p_source_41;
69519 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
69520 l_rec_acct_attrs.array_num_value(2) := p_source_79;
69521 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
69522 l_rec_acct_attrs.array_char_value(3) := p_source_92;
69523 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
69524 l_rec_acct_attrs.array_char_value(4) := p_source_93;
69525 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
69526 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
69527 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
69528 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
69529 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
69530 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
69531 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
69532 l_rec_acct_attrs.array_char_value(8) := p_source_43;
69533 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
69534 l_rec_acct_attrs.array_num_value(9) := p_source_91;
69535 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
69536 l_rec_acct_attrs.array_char_value(10) := p_source_106;
69537 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
69538 l_rec_acct_attrs.array_num_value(11) := p_source_108;
69539 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
69540 l_rec_acct_attrs.array_char_value(12) := p_source_68;
69541 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
69542 l_rec_acct_attrs.array_char_value(13) := p_source_71;
69543 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
69544 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_104);
69545 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
69546 l_rec_acct_attrs.array_char_value(15) := p_source_43;
69547
69548 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
69549 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
69550
69551 ---------------------------------------------------------------------------------------------------------------
69552 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
69553 ---------------------------------------------------------------------------------------------------------------
69554 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
69555
69556 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69557 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
69558
69559 IF xla_accounting_cache_pkg.GetValueChar
69560 (p_source_code => 'LEDGER_CATEGORY_CODE'
69561 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
69562 AND l_bflow_method_code = 'PRIOR_ENTRY'
69563 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
69564 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
69565 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
69566 )
69567 THEN
69568 xla_ae_lines_pkg.BflowUpgEntry
69569 (p_business_method_code => l_bflow_method_code
69570 ,p_business_class_code => l_bflow_class_code
69571 ,p_balance_type => l_balance_type_code);
69572 ELSE
69573 NULL;
69574 XLA_AE_LINES_PKG.business_flow_validation(
69575 p_business_method_code => l_bflow_method_code
69576 ,p_business_class_code => l_bflow_class_code
69577 ,p_inherit_description_flag => l_inherit_desc_flag);
69578 END IF;
69579
69580 --
69581 -- call analytical criteria
69582 --
69583 -- Inherited Analytical Criteria for business flow method of Prior Entry.
69584 --
69585 -- call description
69586 --
69587 -- No description or it is inherited.
69588 --
69589 -- call ADRs
69590 -- Bug 4922099
69591 --
69592 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69593 (NVL(l_actual_upg_option, 'N') = 'O') OR
69594 (NVL(l_enc_upg_option, 'N') = 'O')
69595 )
69596 THEN
69597 NULL;
69598 --
69599 --
69600
69601 --
69602 --
69603 END IF;
69604 --
69605 -- Bug 4922099
69609 (l_bflow_method_code = 'PRIOR_ENTRY')
69606 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
69607 (NVL(l_enc_upg_option, 'N') = 'O')
69608 ) AND
69610 )
69611 THEN
69612 IF
69613 --
69614 1 = 1
69615 --
69616 THEN
69617 xla_accounting_err_pkg.build_message
69618 (p_appli_s_name => 'XLA'
69619 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69620 ,p_token_1 => 'LINE_NUMBER'
69621 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
69622 ,p_token_2 => 'LINE_TYPE_NAME'
69623 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
69624 l_component_type
69625 ,l_component_code
69626 ,l_component_type_code
69627 ,l_component_appl_id
69628 ,l_amb_context_code
69629 ,l_entity_code
69630 ,l_event_class_code
69631 )
69632 ,p_token_3 => 'OWNER'
69633 ,p_value_3 => xla_lookups_pkg.get_meaning(
69634 p_lookup_type => 'XLA_OWNER_TYPE'
69635 ,p_lookup_code => l_component_type_code
69636 )
69637 ,p_token_4 => 'PRODUCT_NAME'
69638 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
69639 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
69640 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
69641 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
69642 ,p_ae_header_id => NULL
69643 );
69644
69645 IF (C_LEVEL_ERROR>= g_log_level) THEN
69646 trace
69647 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
69648 ,p_level => C_LEVEL_ERROR
69649 ,p_module => l_log_module);
69650 END IF;
69651 END IF;
69652 END IF;
69653 --
69654 --
69655 ------------------------------------------------------------------------------------------------
69656 -- 4219869 Business Flow
69657 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
69658 -- Prior Entry. Currently, the following code is always generated.
69659 ------------------------------------------------------------------------------------------------
69660 -- No ValidateCurrentLine for business flow method of Prior Entry
69661
69662 ------------------------------------------------------------------------------------
69663 -- 4219869 Business Flow
69664 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
69665 ------------------------------------------------------------------------------------
69666 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69667
69668 ----------------------------------------------------------------------------------
69669 -- 4219869 Business Flow
69670 -- Update journal entry status -- Need to generate this within IF <condition>
69671 ----------------------------------------------------------------------------------
69672 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69673 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
69674 ,p_balance_type_code => l_balance_type_code
69675 );
69676
69677 -------------------------------------------------------------------------------------------
69678 -- 4262811 - Generate the Accrual Reversal lines
69679 -------------------------------------------------------------------------------------------
69680 BEGIN
69681 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
69682 (g_array_event(p_event_id).array_value_num('header_index'));
69683 IF l_acc_rev_flag IS NULL THEN
69684 l_acc_rev_flag := 'N';
69685 END IF;
69686 EXCEPTION
69687 WHEN OTHERS THEN
69688 l_acc_rev_flag := 'N';
69689 END;
69690 --
69691 IF (l_acc_rev_flag = 'Y') THEN
69692
69693 -- 4645092 ------------------------------------------------------------------------------
69694 -- To allow MPA report to determine if it should generate report process
69695 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
69696 ------------------------------------------------------------------------------------------
69697
69698 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
69699 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
69703 --
69700 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
69701 -- call ADRs
69702 -- Bug 4922099
69704 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
69705 (NVL(l_actual_upg_option, 'N') = 'O') OR
69706 (NVL(l_enc_upg_option, 'N') = 'O')
69707 )
69708 THEN
69709 NULL;
69710 --
69711 --
69712
69713 --
69714 --
69715 END IF;
69716
69717 --
69718 -- Update the line information that should be overwritten
69719 --
69720 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
69721 p_header_num => 1);
69722 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
69723
69724 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
69725
69726 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
69727 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
69728 END IF;
69729
69730 --
69731 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
69732 --
69733 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
69734 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
69735 ELSE
69736 ---------------------------------------------------------------------------------------------------
69737 -- 4262811a Switch Sign
69738 ---------------------------------------------------------------------------------------------------
69739 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
69740 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69741 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69742 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
69743 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69744 -- 5132302
69745 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
69746 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
69747
69748 END IF;
69749
69750 -- 4955764
69751 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
69752 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
69753
69754
69755 XLA_AE_LINES_PKG.ValidateCurrentLine;
69756 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
69757
69758 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
69759 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
69760 ,p_balance_type_code => l_balance_type_code);
69761
69762 END IF;
69763
69764 -----------------------------------------------------------------------------------------
69765 -- 4262811 Multiperiod Accounting
69766 -----------------------------------------------------------------------------------------
69767 -- No MPA option is assigned.
69768
69769
69770 END IF;
69771 END IF;
69772 --
69773
69774 --
69775 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69776 trace
69777 (p_msg => 'END of AcctLineType_134'
69778 ,p_level => C_LEVEL_PROCEDURE
69779 ,p_module => l_log_module);
69780 END IF;
69781 --
69782 EXCEPTION
69783 WHEN xla_exceptions_pkg.application_exception THEN
69784 RAISE;
69785 WHEN OTHERS THEN
69786 xla_exceptions_pkg.raise_message
69787 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_134');
69788 END AcctLineType_134;
69789 --
69790
69791 ---------------------------------------
69792 --
69793 -- PRIVATE FUNCTION
69794 -- AcctLineType_135
69795 --
69796 ---------------------------------------
69797 PROCEDURE AcctLineType_135 (
69798 p_application_id IN NUMBER
69799 ,p_event_id IN NUMBER
69800 ,p_calculate_acctd_flag IN VARCHAR2
69801 ,p_calculate_g_l_flag IN VARCHAR2
69802 ,p_actual_flag IN OUT VARCHAR2
69803 ,p_balance_type_code OUT VARCHAR2
69804 ,p_gain_or_loss_ref OUT VARCHAR2
69805
69806 --Automatic Offsets Value
69807 , p_source_3 IN VARCHAR2
69808 , p_source_3_meaning IN VARCHAR2
69809 --Invoice Distribution Account
69810 , p_source_18 IN NUMBER
69811 --Payables Options Rounding Account
69812 , p_source_37 IN NUMBER
69813 --Accounting Reversal Indicator
69814 , p_source_41 IN VARCHAR2
69815 --Distribution Link Type
69816 , p_source_43 IN VARCHAR2
69817 --Override Accounted Amount Indicator
69818 , p_source_68 IN VARCHAR2
69819 , p_source_68_meaning IN VARCHAR2
69820 --Third Party Type
69821 , p_source_71 IN VARCHAR2
69822 --Business Flow Accounts Payable Application Identifier
69823 , p_source_79 IN NUMBER
69824 --When to Account for Payment Option
69825 , p_source_89 IN VARCHAR2
69826 --Payment Distribution Type
69827 , p_source_90 IN VARCHAR2
69831 --Business Flow Payment Distribution Type
69828 , p_source_90_meaning IN VARCHAR2
69829 --Payment Distribution Amount
69830 , p_source_91 IN NUMBER
69832 , p_source_92 IN VARCHAR2
69833 --Business Flow Payment Entity Code
69834 , p_source_93 IN VARCHAR2
69835 --Business Flow Payment Distribution Identifier
69836 , p_source_94 IN NUMBER
69837 --Business Flow Payment Identifier
69838 , p_source_95 IN NUMBER
69839 --Payment Distribution Identifier
69840 , p_source_96 IN NUMBER
69841 --Payment Supplier Identifier
69842 , p_source_102 IN NUMBER
69843 --Payment Supplier Site Identifier
69844 , p_source_103 IN NUMBER
69845 --Payment Distribution Reversed Identifier
69846 , p_source_104 IN NUMBER
69847 --Payment Currency Code
69848 , p_source_106 IN VARCHAR2
69849 --Payment Distribution (Payment Rate) Ledger Amount
69850 , p_source_108 IN NUMBER
69851 --Payment Exchange Date
69852 , p_source_110 IN DATE
69853 --Payment Exchange Rate
69854 , p_source_111 IN NUMBER
69855 --Payment Exchange Rate Type
69856 , p_source_112 IN VARCHAR2
69857 )
69858 IS
69859
69860 l_component_type VARCHAR2(80);
69861 l_component_code VARCHAR2(30);
69862 l_component_type_code VARCHAR2(1);
69863 l_component_appl_id INTEGER;
69864 l_amb_context_code VARCHAR2(30);
69865 l_entity_code VARCHAR2(30);
69866 l_event_class_code VARCHAR2(30);
69867 l_ae_header_id NUMBER;
69868 l_event_type_code VARCHAR2(30);
69869 l_line_definition_code VARCHAR2(30);
69870 l_line_definition_owner_code VARCHAR2(1);
69871 --
69872 -- adr variables
69873 l_segment VARCHAR2(30);
69874 l_ccid NUMBER;
69875 l_adr_transaction_coa_id NUMBER;
69876 l_adr_accounting_coa_id NUMBER;
69877 l_adr_flexfield_segment_code VARCHAR2(30);
69878 l_adr_flex_value_set_id NUMBER;
69879 l_adr_value_type_code VARCHAR2(30);
69880 l_adr_value_combination_id NUMBER;
69881 l_adr_value_segment_code VARCHAR2(30);
69882
69883 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
69884 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
69885 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
69886 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
69887
69888 -- 4262811 Variables ------------------------------------------------------------------------------------------
69889 l_entered_amt_idx NUMBER;
69890 l_accted_amt_idx NUMBER;
69891 l_acc_rev_flag VARCHAR2(1);
69892 l_accrual_line_num NUMBER;
69893 l_tmp_amt NUMBER;
69894 l_acc_rev_natural_side_code VARCHAR2(1);
69895
69896 l_num_entries NUMBER;
69897 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
69898 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
69899 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
69900 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
69901 l_recog_line_1 NUMBER;
69902 l_recog_line_2 NUMBER;
69903
69904 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
69905 l_bflow_applied_to_amt NUMBER; -- 5132302
69906 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
69907
69908 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
69909
69910 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
69911 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
69912
69913 ---------------------------------------------------------------------------------------------------------------
69914
69915
69916 --
69917 -- bulk performance
69918 --
69919 l_balance_type_code VARCHAR2(1);
69920 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
69921 l_log_module VARCHAR2(240);
69922
69923 --
69924 -- Upgrade strategy
69925 --
69926 l_actual_upg_option VARCHAR2(1);
69927 l_enc_upg_option VARCHAR2(1);
69928
69929 --
69930 BEGIN
69931 --
69932 IF g_log_enabled THEN
69933 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_135';
69934 END IF;
69935 --
69936 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
69937
69938 trace
69939 (p_msg => 'BEGIN of AcctLineType_135'
69940 ,p_level => C_LEVEL_PROCEDURE
69941 ,p_module => l_log_module);
69942
69943 END IF;
69944 --
69945 l_component_type := 'AMB_JLT';
69946 l_component_code := 'AP_FUTURE_PMT_ROUNDING_MAT';
69947 l_component_type_code := 'S';
69948 l_component_appl_id := 200;
69949 l_amb_context_code := 'DEFAULT';
69950 l_entity_code := 'AP_PAYMENTS';
69951 l_event_class_code := 'FUTURE DATED PAYMENTS';
69952 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
69953 l_line_definition_owner_code := 'S';
69954 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
69955 --
69956 l_balance_type_code := 'A';
69957 l_segment := NULL;
69958 l_ccid := NULL;
69962 l_adr_flex_value_set_id := NULL;
69959 l_adr_transaction_coa_id := NULL;
69960 l_adr_accounting_coa_id := NULL;
69961 l_adr_flexfield_segment_code := NULL;
69963 l_adr_value_type_code := NULL;
69964 l_adr_value_combination_id := NULL;
69965 l_adr_value_segment_code := NULL;
69966
69967 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
69968 l_bflow_class_code := ''; -- 4219869 Business Flow
69969 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
69970 l_budgetary_control_flag := 'N';
69971
69972 l_bflow_applied_to_amt_idx := NULL; -- 5132302
69973 l_bflow_applied_to_amt := NULL; -- 5132302
69974 l_entered_amt_idx := NULL; -- 4262811
69975 l_accted_amt_idx := NULL; -- 4262811
69976 l_acc_rev_flag := NULL; -- 4262811
69977 l_accrual_line_num := NULL; -- 4262811
69978 l_tmp_amt := NULL; -- 4262811
69979 --
69980
69981 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
69982 l_balance_type_code <> 'B' THEN
69983 IF NVL(p_source_89,'
69984 ') <> 'CLEAR_CLEAR' AND
69985 NVL(p_source_90,'
69986 ') = 'FUTURE PAYMENT ROUNDING'
69987 THEN
69988
69989 --
69990 XLA_AE_LINES_PKG.SetNewLine;
69991
69992 p_balance_type_code := l_balance_type_code;
69993 -- set the flag so later we will know whether the gain loss line needs to be created
69994
69995 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
69996 p_actual_flag :='A';
69997 END IF;
69998
69999 --
70000 -- bulk performance
70001 --
70002 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
70003 p_header_num => 0); -- 4262811
70004 --
70005 -- set accounting line options
70006 --
70007 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
70008 p_natural_side_code => 'D'
70009 , p_gain_or_loss_flag => 'N'
70010 , p_gl_transfer_mode_code => 'S'
70011 , p_acct_entry_type_code => 'A'
70012 , p_switch_side_flag => 'Y'
70013 , p_merge_duplicate_code => 'A'
70014 );
70015 --
70016 l_acc_rev_natural_side_code := 'C'; -- 4262811
70017 --
70018 --
70019 -- set accounting line type info
70020 --
70021 xla_ae_lines_pkg.SetAcctLineType
70022 (p_component_type => l_component_type
70023 ,p_event_type_code => l_event_type_code
70024 ,p_line_definition_owner_code => l_line_definition_owner_code
70025 ,p_line_definition_code => l_line_definition_code
70026 ,p_accounting_line_code => l_component_code
70027 ,p_accounting_line_type_code => l_component_type_code
70028 ,p_accounting_line_appl_id => l_component_appl_id
70029 ,p_amb_context_code => l_amb_context_code
70030 ,p_entity_code => l_entity_code
70031 ,p_event_class_code => l_event_class_code);
70032 --
70033 -- set accounting class
70034 --
70035 xla_ae_lines_pkg.SetAcctClass(
70036 p_accounting_class_code => 'ROUNDING'
70037 , p_ae_header_id => l_ae_header_id
70038 );
70039
70040 --
70041 -- set rounding class
70042 --
70043 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
70044 'ROUNDING';
70045
70046 --
70047 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
70048 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
70049 --
70050 -- bulk performance
70051 --
70052 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
70053
70054 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
70055 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
70056
70057 -- 4955764
70058 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70059 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
70060
70061 -- 4458381 Public Sector Enh
70062
70063 --
70064 -- set accounting attributes for the line type
70065 --
70066 l_entered_amt_idx := 9;
70067 l_accted_amt_idx := 14;
70068 l_bflow_applied_to_amt_idx := NULL; -- 5132302
70069 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
70070 l_rec_acct_attrs.array_char_value(1) := p_source_41;
70071 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
70072 l_rec_acct_attrs.array_num_value(2) := p_source_79;
70073 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
70074 l_rec_acct_attrs.array_char_value(3) := p_source_92;
70075 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
70076 l_rec_acct_attrs.array_char_value(4) := p_source_93;
70077 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
70078 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
70082 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
70079 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
70080 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
70081 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
70083 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
70084 l_rec_acct_attrs.array_char_value(8) := p_source_43;
70085 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
70086 l_rec_acct_attrs.array_num_value(9) := p_source_91;
70087 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
70088 l_rec_acct_attrs.array_char_value(10) := p_source_106;
70089 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
70090 l_rec_acct_attrs.array_date_value(11) := p_source_110;
70091 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
70092 l_rec_acct_attrs.array_num_value(12) := p_source_111;
70093 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
70094 l_rec_acct_attrs.array_char_value(13) := p_source_112;
70095 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
70096 l_rec_acct_attrs.array_num_value(14) := p_source_108;
70097 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
70098 l_rec_acct_attrs.array_char_value(15) := p_source_68;
70099 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
70100 l_rec_acct_attrs.array_num_value(16) := p_source_102;
70101 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
70102 l_rec_acct_attrs.array_num_value(17) := p_source_103;
70103 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
70104 l_rec_acct_attrs.array_char_value(18) := p_source_71;
70105 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
70106 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
70107 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
70108 l_rec_acct_attrs.array_char_value(20) := p_source_43;
70109
70110 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
70111 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
70112
70113 ---------------------------------------------------------------------------------------------------------------
70114 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
70115 ---------------------------------------------------------------------------------------------------------------
70116 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
70117
70118 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70119 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70120
70121 IF xla_accounting_cache_pkg.GetValueChar
70122 (p_source_code => 'LEDGER_CATEGORY_CODE'
70123 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
70124 AND l_bflow_method_code = 'PRIOR_ENTRY'
70125 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
70126 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
70127 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
70128 )
70129 THEN
70130 xla_ae_lines_pkg.BflowUpgEntry
70131 (p_business_method_code => l_bflow_method_code
70132 ,p_business_class_code => l_bflow_class_code
70133 ,p_balance_type => l_balance_type_code);
70134 ELSE
70135 NULL;
70136 -- No business flow processing for business flow method of NONE.
70137 END IF;
70138
70139 --
70140 -- call analytical criteria
70141 --
70142
70143 --
70144 -- call description
70145 --
70146 -- No description or it is inherited.
70147 --
70148 -- call ADRs
70149 -- Bug 4922099
70150 --
70151 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70152 (NVL(l_actual_upg_option, 'N') = 'O') OR
70153 (NVL(l_enc_upg_option, 'N') = 'O')
70154 )
70155 THEN
70156 NULL;
70157 --
70158 --
70159
70160 l_ccid := AcctDerRule_40(
70161 p_application_id => p_application_id
70162 , p_ae_header_id => l_ae_header_id
70163 , p_source_3 => p_source_3
70164 , p_source_3_meaning => p_source_3_meaning
70165 , p_source_18 => p_source_18
70166 , p_source_37 => p_source_37
70167 , x_transaction_coa_id => l_adr_transaction_coa_id
70168 , x_accounting_coa_id => l_adr_accounting_coa_id
70169 , x_value_type_code => l_adr_value_type_code
70170 , p_side => 'NA'
70171 );
70172
70173 xla_ae_lines_pkg.set_ccid(
70174 p_code_combination_id => l_ccid
70175 , p_value_type_code => l_adr_value_type_code
70176 , p_transaction_coa_id => l_adr_transaction_coa_id
70177 , p_accounting_coa_id => l_adr_accounting_coa_id
70178 , p_adr_code => 'AP_ROUNDING'
70179 , p_adr_type_code => 'S'
70180 , p_component_type => l_component_type
70181 , p_component_code => l_component_code
70182 , p_component_type_code => l_component_type_code
70183 , p_component_appl_id => l_component_appl_id
70187
70184 , p_amb_context_code => l_amb_context_code
70185 , p_side => 'NA'
70186 );
70188
70189 --
70190 --
70191 END IF;
70192 --
70193 -- Bug 4922099
70194 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
70195 (NVL(l_enc_upg_option, 'N') = 'O')
70196 ) AND
70197 (l_bflow_method_code = 'PRIOR_ENTRY')
70198 )
70199 THEN
70200 IF
70201 --
70202 1 = 2
70203 --
70204 THEN
70205 xla_accounting_err_pkg.build_message
70206 (p_appli_s_name => 'XLA'
70207 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70208 ,p_token_1 => 'LINE_NUMBER'
70209 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
70210 ,p_token_2 => 'LINE_TYPE_NAME'
70211 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
70212 l_component_type
70213 ,l_component_code
70214 ,l_component_type_code
70215 ,l_component_appl_id
70216 ,l_amb_context_code
70217 ,l_entity_code
70218 ,l_event_class_code
70219 )
70220 ,p_token_3 => 'OWNER'
70221 ,p_value_3 => xla_lookups_pkg.get_meaning(
70222 p_lookup_type => 'XLA_OWNER_TYPE'
70223 ,p_lookup_code => l_component_type_code
70224 )
70225 ,p_token_4 => 'PRODUCT_NAME'
70226 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
70227 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
70228 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
70229 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
70230 ,p_ae_header_id => NULL
70231 );
70232
70233 IF (C_LEVEL_ERROR>= g_log_level) THEN
70234 trace
70235 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70236 ,p_level => C_LEVEL_ERROR
70237 ,p_module => l_log_module);
70238 END IF;
70239 END IF;
70240 END IF;
70241 --
70242 --
70243 ------------------------------------------------------------------------------------------------
70244 -- 4219869 Business Flow
70245 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
70246 -- Prior Entry. Currently, the following code is always generated.
70247 ------------------------------------------------------------------------------------------------
70248 XLA_AE_LINES_PKG.ValidateCurrentLine;
70249
70250 ------------------------------------------------------------------------------------
70251 -- 4219869 Business Flow
70252 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
70253 ------------------------------------------------------------------------------------
70254 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70255
70256 ----------------------------------------------------------------------------------
70257 -- 4219869 Business Flow
70258 -- Update journal entry status -- Need to generate this within IF <condition>
70259 ----------------------------------------------------------------------------------
70260 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70261 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
70262 ,p_balance_type_code => l_balance_type_code
70263 );
70264
70265 -------------------------------------------------------------------------------------------
70266 -- 4262811 - Generate the Accrual Reversal lines
70267 -------------------------------------------------------------------------------------------
70268 BEGIN
70269 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
70270 (g_array_event(p_event_id).array_value_num('header_index'));
70271 IF l_acc_rev_flag IS NULL THEN
70272 l_acc_rev_flag := 'N';
70273 END IF;
70274 EXCEPTION
70275 WHEN OTHERS THEN
70276 l_acc_rev_flag := 'N';
70277 END;
70278 --
70279 IF (l_acc_rev_flag = 'Y') THEN
70280
70281 -- 4645092 ------------------------------------------------------------------------------
70282 -- To allow MPA report to determine if it should generate report process
70286 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
70283 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
70284 ------------------------------------------------------------------------------------------
70285
70287 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
70288 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
70289 -- call ADRs
70290 -- Bug 4922099
70291 --
70292 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70293 (NVL(l_actual_upg_option, 'N') = 'O') OR
70294 (NVL(l_enc_upg_option, 'N') = 'O')
70295 )
70296 THEN
70297 NULL;
70298 --
70299 --
70300
70301 l_ccid := AcctDerRule_40(
70302 p_application_id => p_application_id
70303 , p_ae_header_id => l_ae_header_id
70304 , p_source_3 => p_source_3
70305 , p_source_3_meaning => p_source_3_meaning
70306 , p_source_18 => p_source_18
70307 , p_source_37 => p_source_37
70308 , x_transaction_coa_id => l_adr_transaction_coa_id
70309 , x_accounting_coa_id => l_adr_accounting_coa_id
70310 , x_value_type_code => l_adr_value_type_code
70311 , p_side => 'NA'
70312 );
70313
70314 xla_ae_lines_pkg.set_ccid(
70315 p_code_combination_id => l_ccid
70316 , p_value_type_code => l_adr_value_type_code
70317 , p_transaction_coa_id => l_adr_transaction_coa_id
70318 , p_accounting_coa_id => l_adr_accounting_coa_id
70319 , p_adr_code => 'AP_ROUNDING'
70320 , p_adr_type_code => 'S'
70321 , p_component_type => l_component_type
70322 , p_component_code => l_component_code
70323 , p_component_type_code => l_component_type_code
70324 , p_component_appl_id => l_component_appl_id
70325 , p_amb_context_code => l_amb_context_code
70326 , p_side => 'NA'
70327 );
70328
70329
70330 --
70331 --
70332 END IF;
70333
70334 --
70335 -- Update the line information that should be overwritten
70336 --
70337 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
70338 p_header_num => 1);
70339 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
70340
70341 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
70342
70343 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
70344 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
70345 END IF;
70346
70347 --
70348 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
70349 --
70350 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
70351 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
70352 ELSE
70353 ---------------------------------------------------------------------------------------------------
70354 -- 4262811a Switch Sign
70355 ---------------------------------------------------------------------------------------------------
70356 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
70357 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70358 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70359 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
70360 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70361 -- 5132302
70362 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
70363 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
70364
70365 END IF;
70366
70367 -- 4955764
70368 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70369 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
70370
70371
70372 XLA_AE_LINES_PKG.ValidateCurrentLine;
70373 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70374
70375 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70376 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
70377 ,p_balance_type_code => l_balance_type_code);
70378
70379 END IF;
70380
70381 -----------------------------------------------------------------------------------------
70382 -- 4262811 Multiperiod Accounting
70383 -----------------------------------------------------------------------------------------
70384 -- No MPA option is assigned.
70385
70386
70387 END IF;
70388 END IF;
70389 --
70390
70391 --
70392 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70393 trace
70394 (p_msg => 'END of AcctLineType_135'
70395 ,p_level => C_LEVEL_PROCEDURE
70396 ,p_module => l_log_module);
70397 END IF;
70398 --
70399 EXCEPTION
70400 WHEN xla_exceptions_pkg.application_exception THEN
70401 RAISE;
70402 WHEN OTHERS THEN
70406 --
70403 xla_exceptions_pkg.raise_message
70404 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_135');
70405 END AcctLineType_135;
70407
70408 ---------------------------------------
70409 --
70410 -- PRIVATE FUNCTION
70411 -- AcctLineType_136
70412 --
70413 ---------------------------------------
70414 PROCEDURE AcctLineType_136 (
70415 p_application_id IN NUMBER
70416 ,p_event_id IN NUMBER
70417 ,p_calculate_acctd_flag IN VARCHAR2
70418 ,p_calculate_g_l_flag IN VARCHAR2
70419 ,p_actual_flag IN OUT VARCHAR2
70420 ,p_balance_type_code OUT VARCHAR2
70421 ,p_gain_or_loss_ref OUT VARCHAR2
70422
70423 --Automatic Offsets Value
70424 , p_source_3 IN VARCHAR2
70425 , p_source_3_meaning IN VARCHAR2
70426 --Invoice Distribution Account
70427 , p_source_18 IN NUMBER
70428 --Internal Realized Gain Account
70429 , p_source_24 IN NUMBER
70430 --Bank Gain Account
70431 , p_source_25 IN NUMBER
70432 --Accounting Reversal Indicator
70433 , p_source_41 IN VARCHAR2
70434 --Distribution Link Type
70435 , p_source_43 IN VARCHAR2
70436 --Override Accounted Amount Indicator
70437 , p_source_68 IN VARCHAR2
70438 , p_source_68_meaning IN VARCHAR2
70439 --Third Party Type
70440 , p_source_71 IN VARCHAR2
70441 --Invoice Distribution Tax Line Identifier
70442 , p_source_74 IN NUMBER
70443 --Invoice Distribution Summary Tax Line Identifier
70444 , p_source_76 IN NUMBER
70445 --Business Flow Accounts Payable Application Identifier
70446 , p_source_79 IN NUMBER
70447 --When to Account for Payment Option
70448 , p_source_89 IN VARCHAR2
70449 --Payment Distribution Type
70450 , p_source_90 IN VARCHAR2
70451 , p_source_90_meaning IN VARCHAR2
70452 --Payment Distribution Amount
70453 , p_source_91 IN NUMBER
70454 --Business Flow Payment Distribution Type
70455 , p_source_92 IN VARCHAR2
70456 --Business Flow Payment Entity Code
70457 , p_source_93 IN VARCHAR2
70458 --Business Flow Payment Distribution Identifier
70459 , p_source_94 IN NUMBER
70460 --Business Flow Payment Identifier
70461 , p_source_95 IN NUMBER
70462 --Payment Distribution Identifier
70463 , p_source_96 IN NUMBER
70464 --Cleared Exchange Date
70465 , p_source_98 IN DATE
70466 --Cleared Exchange Rate
70467 , p_source_99 IN NUMBER
70468 --Cleared Exchange Rate Type
70469 , p_source_100 IN VARCHAR2
70470 --Payment Supplier Identifier
70471 , p_source_102 IN NUMBER
70472 --Payment Supplier Site Identifier
70473 , p_source_103 IN NUMBER
70474 --Payment Distribution Reversed Identifier
70475 , p_source_104 IN NUMBER
70476 --Payment Currency Code
70477 , p_source_106 IN VARCHAR2
70478 --Gain or Loss Indicator between Invoice and Clearing
70479 , p_source_146 IN VARCHAR2
70480 --Invoice/Clearing Ledger Amount Difference
70481 , p_source_147 IN NUMBER
70482 )
70483 IS
70484
70485 l_component_type VARCHAR2(80);
70486 l_component_code VARCHAR2(30);
70487 l_component_type_code VARCHAR2(1);
70488 l_component_appl_id INTEGER;
70489 l_amb_context_code VARCHAR2(30);
70490 l_entity_code VARCHAR2(30);
70491 l_event_class_code VARCHAR2(30);
70492 l_ae_header_id NUMBER;
70493 l_event_type_code VARCHAR2(30);
70494 l_line_definition_code VARCHAR2(30);
70495 l_line_definition_owner_code VARCHAR2(1);
70496 --
70497 -- adr variables
70498 l_segment VARCHAR2(30);
70499 l_ccid NUMBER;
70500 l_adr_transaction_coa_id NUMBER;
70501 l_adr_accounting_coa_id NUMBER;
70502 l_adr_flexfield_segment_code VARCHAR2(30);
70503 l_adr_flex_value_set_id NUMBER;
70504 l_adr_value_type_code VARCHAR2(30);
70505 l_adr_value_combination_id NUMBER;
70506 l_adr_value_segment_code VARCHAR2(30);
70507
70508 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
70509 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
70510 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
70511 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
70512
70513 -- 4262811 Variables ------------------------------------------------------------------------------------------
70514 l_entered_amt_idx NUMBER;
70515 l_accted_amt_idx NUMBER;
70516 l_acc_rev_flag VARCHAR2(1);
70517 l_accrual_line_num NUMBER;
70518 l_tmp_amt NUMBER;
70519 l_acc_rev_natural_side_code VARCHAR2(1);
70520
70521 l_num_entries NUMBER;
70522 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
70523 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
70524 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
70525 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
70526 l_recog_line_1 NUMBER;
70527 l_recog_line_2 NUMBER;
70528
70529 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
70530 l_bflow_applied_to_amt NUMBER; -- 5132302
70531 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
70532
70536 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
70533 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
70534
70535 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
70537
70538 ---------------------------------------------------------------------------------------------------------------
70539
70540
70541 --
70542 -- bulk performance
70543 --
70544 l_balance_type_code VARCHAR2(1);
70545 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
70546 l_log_module VARCHAR2(240);
70547
70548 --
70549 -- Upgrade strategy
70550 --
70551 l_actual_upg_option VARCHAR2(1);
70552 l_enc_upg_option VARCHAR2(1);
70553
70554 --
70555 BEGIN
70556 --
70557 IF g_log_enabled THEN
70558 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_136';
70559 END IF;
70560 --
70561 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
70562
70563 trace
70564 (p_msg => 'BEGIN of AcctLineType_136'
70565 ,p_level => C_LEVEL_PROCEDURE
70566 ,p_module => l_log_module);
70567
70568 END IF;
70569 --
70570 l_component_type := 'AMB_JLT';
70571 l_component_code := 'AP_GAIN_INV_CLEAR_BY_PMT_CLEAR';
70572 l_component_type_code := 'S';
70573 l_component_appl_id := 200;
70574 l_amb_context_code := 'DEFAULT';
70575 l_entity_code := 'AP_PAYMENTS';
70576 l_event_class_code := 'RECONCILED PAYMENTS';
70577 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
70578 l_line_definition_owner_code := 'S';
70579 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
70580 --
70581 l_balance_type_code := 'A';
70582 l_segment := NULL;
70583 l_ccid := NULL;
70584 l_adr_transaction_coa_id := NULL;
70585 l_adr_accounting_coa_id := NULL;
70586 l_adr_flexfield_segment_code := NULL;
70587 l_adr_flex_value_set_id := NULL;
70588 l_adr_value_type_code := NULL;
70589 l_adr_value_combination_id := NULL;
70590 l_adr_value_segment_code := NULL;
70591
70592 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
70593 l_bflow_class_code := ''; -- 4219869 Business Flow
70594 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
70595 l_budgetary_control_flag := 'N';
70596
70597 l_bflow_applied_to_amt_idx := NULL; -- 5132302
70598 l_bflow_applied_to_amt := NULL; -- 5132302
70599 l_entered_amt_idx := NULL; -- 4262811
70600 l_accted_amt_idx := NULL; -- 4262811
70601 l_acc_rev_flag := NULL; -- 4262811
70602 l_accrual_line_num := NULL; -- 4262811
70603 l_tmp_amt := NULL; -- 4262811
70604 --
70605 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
70606 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
70607 return;
70608 END IF;
70609
70610 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
70611 l_balance_type_code <> 'B' THEN
70612 IF (NVL(p_source_89,'
70613 ') = 'CLEAR_CLEAR' OR
70614 NVL(p_source_89,'
70615 ') = 'ALWAYS_CLEAR') AND
70616 NVL(p_source_90,'
70617 ') <> 'EXCHANGE RATE VARIANCE' AND
70618 NVL(p_source_90,'
70619 ') <> 'BANK CHARGE' AND
70620 NVL(p_source_90,'
70621 ') <> 'BANK ERROR' AND
70622 NVL(p_source_90,'
70623 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
70624 NVL(p_source_146,'
70625 ') = 'GAIN' AND
70626 NVL(p_source_90,'
70627 ') <> 'AWT'
70628 THEN
70629
70630 --
70631 XLA_AE_LINES_PKG.SetNewLine;
70632
70633 p_balance_type_code := l_balance_type_code;
70634 -- set the flag so later we will know whether the gain loss line needs to be created
70635
70636 IF(l_balance_type_code = 'A' ) THEN
70637 p_actual_flag :='G';
70638 END IF;
70639
70640 --
70641 -- bulk performance
70642 --
70643 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
70644 p_header_num => 0); -- 4262811
70645 --
70646 -- set accounting line options
70647 --
70648 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
70649 p_natural_side_code => 'C'
70650 , p_gain_or_loss_flag => 'Y'
70651 , p_gl_transfer_mode_code => 'S'
70652 , p_acct_entry_type_code => 'A'
70653 , p_switch_side_flag => 'Y'
70654 , p_merge_duplicate_code => 'A'
70655 );
70656 --
70657 l_acc_rev_natural_side_code := 'D'; -- 4262811
70658 --
70659 --
70660 -- set accounting line type info
70661 --
70662 xla_ae_lines_pkg.SetAcctLineType
70663 (p_component_type => l_component_type
70664 ,p_event_type_code => l_event_type_code
70665 ,p_line_definition_owner_code => l_line_definition_owner_code
70666 ,p_line_definition_code => l_line_definition_code
70670 ,p_amb_context_code => l_amb_context_code
70667 ,p_accounting_line_code => l_component_code
70668 ,p_accounting_line_type_code => l_component_type_code
70669 ,p_accounting_line_appl_id => l_component_appl_id
70671 ,p_entity_code => l_entity_code
70672 ,p_event_class_code => l_event_class_code);
70673 --
70674 -- set accounting class
70675 --
70676 xla_ae_lines_pkg.SetAcctClass(
70677 p_accounting_class_code => 'GAIN'
70678 , p_ae_header_id => l_ae_header_id
70679 );
70680
70681 --
70682 -- set rounding class
70683 --
70684 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
70685 'GAIN';
70686
70687 --
70688 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
70689 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
70690 --
70691 -- bulk performance
70692 --
70693 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
70694
70695 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
70696 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
70697
70698 -- 4955764
70699 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
70700 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
70701
70702 -- 4458381 Public Sector Enh
70703
70704 --
70705 -- set accounting attributes for the line type
70706 --
70707 l_entered_amt_idx := 10;
70708 l_accted_amt_idx := 15;
70709 l_bflow_applied_to_amt_idx := 2; -- 5132302
70710 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
70711 l_rec_acct_attrs.array_char_value(1) := p_source_41;
70712 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
70713 l_rec_acct_attrs.array_num_value(2) := p_source_91;
70714 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
70715 l_rec_acct_attrs.array_num_value(3) := p_source_79;
70716 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
70717 l_rec_acct_attrs.array_char_value(4) := p_source_92;
70718 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
70719 l_rec_acct_attrs.array_char_value(5) := p_source_93;
70720 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
70721 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
70722 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
70723 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
70724 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
70725 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
70726 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
70727 l_rec_acct_attrs.array_char_value(9) := p_source_43;
70728 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
70729 l_rec_acct_attrs.array_num_value(10) := p_source_91;
70730 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
70731 l_rec_acct_attrs.array_char_value(11) := p_source_106;
70732 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
70733 l_rec_acct_attrs.array_date_value(12) := p_source_98;
70734 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
70735 l_rec_acct_attrs.array_num_value(13) := p_source_99;
70736 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
70737 l_rec_acct_attrs.array_char_value(14) := p_source_100;
70738 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
70739 l_rec_acct_attrs.array_num_value(15) := p_source_147;
70740 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
70741 l_rec_acct_attrs.array_char_value(16) := p_source_68;
70742 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
70743 l_rec_acct_attrs.array_num_value(17) := p_source_102;
70744 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
70745 l_rec_acct_attrs.array_num_value(18) := p_source_103;
70746 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
70747 l_rec_acct_attrs.array_char_value(19) := p_source_71;
70748 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
70749 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
70750 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
70751 l_rec_acct_attrs.array_char_value(21) := p_source_43;
70752 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
70753 l_rec_acct_attrs.array_num_value(22) := p_source_74;
70754 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
70755 l_rec_acct_attrs.array_num_value(23) := p_source_74;
70756 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
70757 l_rec_acct_attrs.array_num_value(24) := p_source_76;
70758
70759 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
70760 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
70761
70762 ---------------------------------------------------------------------------------------------------------------
70763 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
70767 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70764 ---------------------------------------------------------------------------------------------------------------
70765 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
70766
70768 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
70769
70770 IF xla_accounting_cache_pkg.GetValueChar
70771 (p_source_code => 'LEDGER_CATEGORY_CODE'
70772 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
70773 AND l_bflow_method_code = 'PRIOR_ENTRY'
70774 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
70775 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
70776 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
70777 )
70778 THEN
70779 xla_ae_lines_pkg.BflowUpgEntry
70780 (p_business_method_code => l_bflow_method_code
70781 ,p_business_class_code => l_bflow_class_code
70782 ,p_balance_type => l_balance_type_code);
70783 ELSE
70784 NULL;
70785 -- No business flow processing for business flow method of NONE.
70786 END IF;
70787
70788 --
70789 -- call analytical criteria
70790 --
70791
70792 --
70793 -- call description
70794 --
70795 -- No description or it is inherited.
70796 --
70797 -- call ADRs
70798 -- Bug 4922099
70799 --
70800 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
70801 (NVL(l_actual_upg_option, 'N') = 'O') OR
70802 (NVL(l_enc_upg_option, 'N') = 'O')
70803 )
70804 THEN
70805 NULL;
70806 --
70807 --
70808
70809 l_ccid := AcctDerRule_37(
70810 p_application_id => p_application_id
70811 , p_ae_header_id => l_ae_header_id
70812 , p_source_3 => p_source_3
70813 , p_source_3_meaning => p_source_3_meaning
70814 , p_source_18 => p_source_18
70815 , p_source_24 => p_source_24
70816 , p_source_25 => p_source_25
70817 , x_transaction_coa_id => l_adr_transaction_coa_id
70818 , x_accounting_coa_id => l_adr_accounting_coa_id
70819 , x_value_type_code => l_adr_value_type_code
70820 , p_side => 'NA'
70821 );
70822
70823 xla_ae_lines_pkg.set_ccid(
70824 p_code_combination_id => l_ccid
70825 , p_value_type_code => l_adr_value_type_code
70826 , p_transaction_coa_id => l_adr_transaction_coa_id
70827 , p_accounting_coa_id => l_adr_accounting_coa_id
70828 , p_adr_code => 'AP_REAL_GAIN'
70829 , p_adr_type_code => 'S'
70830 , p_component_type => l_component_type
70831 , p_component_code => l_component_code
70832 , p_component_type_code => l_component_type_code
70833 , p_component_appl_id => l_component_appl_id
70834 , p_amb_context_code => l_amb_context_code
70835 , p_side => 'NA'
70836 );
70837
70838
70839 l_segment := AcctDerRule_21(
70840 p_application_id => p_application_id
70841 , p_ae_header_id => l_ae_header_id
70842 , p_source_3 => p_source_3
70843 , p_source_3_meaning => p_source_3_meaning
70844 , p_source_18 => p_source_18
70845 , x_transaction_coa_id => l_adr_transaction_coa_id
70846 , x_accounting_coa_id => l_adr_accounting_coa_id
70847 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70848 , x_flex_value_set_id => l_adr_flex_value_set_id
70849 , x_value_type_code => l_adr_value_type_code
70850 , x_value_combination_id => l_adr_value_combination_id
70851 , x_value_segment_code => l_adr_value_segment_code
70852 , p_side => 'NA'
70853 , p_override_seg_flag => 'Y'
70854 );
70855
70856 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70857
70858 xla_ae_lines_pkg.set_segment(
70859 p_to_segment_code => 'GL_BALANCING'
70860 , p_segment_value => l_segment
70861 , p_from_segment_code => l_adr_value_segment_code
70862 , p_from_combination_id => l_adr_value_combination_id
70863 , p_value_type_code => l_adr_value_type_code
70864 , p_transaction_coa_id => l_adr_transaction_coa_id
70865 , p_accounting_coa_id => l_adr_accounting_coa_id
70866 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70867 , p_flex_value_set_id => l_adr_flex_value_set_id
70868 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
70869 , p_adr_type_code => 'S'
70870 , p_component_type => l_component_type
70871 , p_component_code => l_component_code
70872 , p_component_type_code => l_component_type_code
70873 , p_component_appl_id => l_component_appl_id
70874 , p_amb_context_code => l_amb_context_code
70875 , p_entity_code => 'AP_PAYMENTS'
70876 , p_event_class_code => 'RECONCILED PAYMENTS'
70877 , p_side => 'NA'
70878 );
70879
70880 END IF;
70881
70882 l_segment := AcctDerRule_16(
70886 , p_source_3_meaning => p_source_3_meaning
70883 p_application_id => p_application_id
70884 , p_ae_header_id => l_ae_header_id
70885 , p_source_3 => p_source_3
70887 , p_source_24 => p_source_24
70888 , p_source_25 => p_source_25
70889 , x_transaction_coa_id => l_adr_transaction_coa_id
70890 , x_accounting_coa_id => l_adr_accounting_coa_id
70891 , x_flexfield_segment_code => l_adr_flexfield_segment_code
70892 , x_flex_value_set_id => l_adr_flex_value_set_id
70893 , x_value_type_code => l_adr_value_type_code
70894 , x_value_combination_id => l_adr_value_combination_id
70895 , x_value_segment_code => l_adr_value_segment_code
70896 , p_side => 'NA'
70897 , p_override_seg_flag => 'Y'
70898 );
70899
70900 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
70901
70902 xla_ae_lines_pkg.set_segment(
70903 p_to_segment_code => 'GL_ACCOUNT'
70904 , p_segment_value => l_segment
70905 , p_from_segment_code => l_adr_value_segment_code
70906 , p_from_combination_id => l_adr_value_combination_id
70907 , p_value_type_code => l_adr_value_type_code
70908 , p_transaction_coa_id => l_adr_transaction_coa_id
70909 , p_accounting_coa_id => l_adr_accounting_coa_id
70910 , p_flexfield_segment_code => l_adr_flexfield_segment_code
70911 , p_flex_value_set_id => l_adr_flex_value_set_id
70912 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
70913 , p_adr_type_code => 'S'
70914 , p_component_type => l_component_type
70915 , p_component_code => l_component_code
70916 , p_component_type_code => l_component_type_code
70917 , p_component_appl_id => l_component_appl_id
70918 , p_amb_context_code => l_amb_context_code
70919 , p_entity_code => 'AP_PAYMENTS'
70920 , p_event_class_code => 'RECONCILED PAYMENTS'
70921 , p_side => 'NA'
70922 );
70923
70924 END IF;
70925
70926 --
70927 --
70928 END IF;
70929 --
70930 -- Bug 4922099
70931 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
70932 (NVL(l_enc_upg_option, 'N') = 'O')
70933 ) AND
70934 (l_bflow_method_code = 'PRIOR_ENTRY')
70935 )
70936 THEN
70937 IF
70938 --
70939 1 = 2
70940 --
70941 THEN
70942 xla_accounting_err_pkg.build_message
70943 (p_appli_s_name => 'XLA'
70944 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70945 ,p_token_1 => 'LINE_NUMBER'
70946 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
70947 ,p_token_2 => 'LINE_TYPE_NAME'
70948 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
70949 l_component_type
70950 ,l_component_code
70951 ,l_component_type_code
70952 ,l_component_appl_id
70953 ,l_amb_context_code
70954 ,l_entity_code
70955 ,l_event_class_code
70956 )
70957 ,p_token_3 => 'OWNER'
70958 ,p_value_3 => xla_lookups_pkg.get_meaning(
70959 p_lookup_type => 'XLA_OWNER_TYPE'
70960 ,p_lookup_code => l_component_type_code
70961 )
70962 ,p_token_4 => 'PRODUCT_NAME'
70963 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
70964 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
70965 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
70966 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
70967 ,p_ae_header_id => NULL
70968 );
70969
70970 IF (C_LEVEL_ERROR>= g_log_level) THEN
70971 trace
70972 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
70973 ,p_level => C_LEVEL_ERROR
70974 ,p_module => l_log_module);
70975 END IF;
70976 END IF;
70977 END IF;
70978 --
70979 --
70980 ------------------------------------------------------------------------------------------------
70981 -- 4219869 Business Flow
70982 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
70986
70983 -- Prior Entry. Currently, the following code is always generated.
70984 ------------------------------------------------------------------------------------------------
70985 XLA_AE_LINES_PKG.ValidateCurrentLine;
70987 ------------------------------------------------------------------------------------
70988 -- 4219869 Business Flow
70989 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
70990 ------------------------------------------------------------------------------------
70991 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
70992
70993 ----------------------------------------------------------------------------------
70994 -- 4219869 Business Flow
70995 -- Update journal entry status -- Need to generate this within IF <condition>
70996 ----------------------------------------------------------------------------------
70997 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
70998 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
70999 ,p_balance_type_code => l_balance_type_code
71000 );
71001
71002 -------------------------------------------------------------------------------------------
71003 -- 4262811 - Generate the Accrual Reversal lines
71004 -------------------------------------------------------------------------------------------
71005 BEGIN
71006 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
71007 (g_array_event(p_event_id).array_value_num('header_index'));
71008 IF l_acc_rev_flag IS NULL THEN
71009 l_acc_rev_flag := 'N';
71010 END IF;
71011 EXCEPTION
71012 WHEN OTHERS THEN
71013 l_acc_rev_flag := 'N';
71014 END;
71015 --
71016 IF (l_acc_rev_flag = 'Y') THEN
71017
71018 -- 4645092 ------------------------------------------------------------------------------
71019 -- To allow MPA report to determine if it should generate report process
71020 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
71021 ------------------------------------------------------------------------------------------
71022
71023 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
71024 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
71025 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
71026 -- call ADRs
71027 -- Bug 4922099
71028 --
71029 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71030 (NVL(l_actual_upg_option, 'N') = 'O') OR
71031 (NVL(l_enc_upg_option, 'N') = 'O')
71032 )
71033 THEN
71034 NULL;
71035 --
71036 --
71037
71038 l_ccid := AcctDerRule_37(
71039 p_application_id => p_application_id
71040 , p_ae_header_id => l_ae_header_id
71041 , p_source_3 => p_source_3
71042 , p_source_3_meaning => p_source_3_meaning
71043 , p_source_18 => p_source_18
71044 , p_source_24 => p_source_24
71045 , p_source_25 => p_source_25
71046 , x_transaction_coa_id => l_adr_transaction_coa_id
71047 , x_accounting_coa_id => l_adr_accounting_coa_id
71048 , x_value_type_code => l_adr_value_type_code
71049 , p_side => 'NA'
71050 );
71051
71052 xla_ae_lines_pkg.set_ccid(
71053 p_code_combination_id => l_ccid
71054 , p_value_type_code => l_adr_value_type_code
71055 , p_transaction_coa_id => l_adr_transaction_coa_id
71056 , p_accounting_coa_id => l_adr_accounting_coa_id
71057 , p_adr_code => 'AP_REAL_GAIN'
71058 , p_adr_type_code => 'S'
71059 , p_component_type => l_component_type
71060 , p_component_code => l_component_code
71061 , p_component_type_code => l_component_type_code
71062 , p_component_appl_id => l_component_appl_id
71063 , p_amb_context_code => l_amb_context_code
71064 , p_side => 'NA'
71065 );
71066
71067
71068 l_segment := AcctDerRule_21(
71069 p_application_id => p_application_id
71070 , p_ae_header_id => l_ae_header_id
71071 , p_source_3 => p_source_3
71072 , p_source_3_meaning => p_source_3_meaning
71073 , p_source_18 => p_source_18
71074 , x_transaction_coa_id => l_adr_transaction_coa_id
71075 , x_accounting_coa_id => l_adr_accounting_coa_id
71076 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71077 , x_flex_value_set_id => l_adr_flex_value_set_id
71078 , x_value_type_code => l_adr_value_type_code
71079 , x_value_combination_id => l_adr_value_combination_id
71080 , x_value_segment_code => l_adr_value_segment_code
71081 , p_side => 'NA'
71082 , p_override_seg_flag => 'Y'
71083 );
71084
71085 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71086
71087 xla_ae_lines_pkg.set_segment(
71088 p_to_segment_code => 'GL_BALANCING'
71089 , p_segment_value => l_segment
71090 , p_from_segment_code => l_adr_value_segment_code
71091 , p_from_combination_id => l_adr_value_combination_id
71092 , p_value_type_code => l_adr_value_type_code
71093 , p_transaction_coa_id => l_adr_transaction_coa_id
71094 , p_accounting_coa_id => l_adr_accounting_coa_id
71098 , p_adr_type_code => 'S'
71095 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71096 , p_flex_value_set_id => l_adr_flex_value_set_id
71097 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71099 , p_component_type => l_component_type
71100 , p_component_code => l_component_code
71101 , p_component_type_code => l_component_type_code
71102 , p_component_appl_id => l_component_appl_id
71103 , p_amb_context_code => l_amb_context_code
71104 , p_entity_code => 'AP_PAYMENTS'
71105 , p_event_class_code => 'RECONCILED PAYMENTS'
71106 , p_side => 'NA'
71107 );
71108
71109 END IF;
71110
71111 l_segment := AcctDerRule_16(
71112 p_application_id => p_application_id
71113 , p_ae_header_id => l_ae_header_id
71114 , p_source_3 => p_source_3
71115 , p_source_3_meaning => p_source_3_meaning
71116 , p_source_24 => p_source_24
71117 , p_source_25 => p_source_25
71118 , x_transaction_coa_id => l_adr_transaction_coa_id
71119 , x_accounting_coa_id => l_adr_accounting_coa_id
71120 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71121 , x_flex_value_set_id => l_adr_flex_value_set_id
71122 , x_value_type_code => l_adr_value_type_code
71123 , x_value_combination_id => l_adr_value_combination_id
71124 , x_value_segment_code => l_adr_value_segment_code
71125 , p_side => 'NA'
71126 , p_override_seg_flag => 'Y'
71127 );
71128
71129 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71130
71131 xla_ae_lines_pkg.set_segment(
71132 p_to_segment_code => 'GL_ACCOUNT'
71133 , p_segment_value => l_segment
71134 , p_from_segment_code => l_adr_value_segment_code
71135 , p_from_combination_id => l_adr_value_combination_id
71136 , p_value_type_code => l_adr_value_type_code
71137 , p_transaction_coa_id => l_adr_transaction_coa_id
71138 , p_accounting_coa_id => l_adr_accounting_coa_id
71139 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71140 , p_flex_value_set_id => l_adr_flex_value_set_id
71141 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71142 , p_adr_type_code => 'S'
71143 , p_component_type => l_component_type
71144 , p_component_code => l_component_code
71145 , p_component_type_code => l_component_type_code
71146 , p_component_appl_id => l_component_appl_id
71147 , p_amb_context_code => l_amb_context_code
71148 , p_entity_code => 'AP_PAYMENTS'
71149 , p_event_class_code => 'RECONCILED PAYMENTS'
71150 , p_side => 'NA'
71151 );
71152
71153 END IF;
71154
71155 --
71156 --
71157 END IF;
71158
71159 --
71160 -- Update the line information that should be overwritten
71161 --
71162 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
71163 p_header_num => 1);
71164 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
71165
71166 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
71167
71168 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
71169 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
71170 END IF;
71171
71172 --
71173 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
71174 --
71175 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
71176 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
71177 ELSE
71178 ---------------------------------------------------------------------------------------------------
71179 -- 4262811a Switch Sign
71180 ---------------------------------------------------------------------------------------------------
71181 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
71182 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71183 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71184 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
71185 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71186 -- 5132302
71187 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
71188 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
71189
71190 END IF;
71191
71192 -- 4955764
71193 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71194 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
71195
71196
71197 XLA_AE_LINES_PKG.ValidateCurrentLine;
71198 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71199
71203
71200 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71201 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
71202 ,p_balance_type_code => l_balance_type_code);
71204 END IF;
71205
71206 -----------------------------------------------------------------------------------------
71207 -- 4262811 Multiperiod Accounting
71208 -----------------------------------------------------------------------------------------
71209 -- No MPA option is assigned.
71210
71211
71212 END IF;
71213 END IF;
71214 --
71215
71216 --
71217 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71218 trace
71219 (p_msg => 'END of AcctLineType_136'
71220 ,p_level => C_LEVEL_PROCEDURE
71221 ,p_module => l_log_module);
71222 END IF;
71223 --
71224 EXCEPTION
71225 WHEN xla_exceptions_pkg.application_exception THEN
71226 RAISE;
71227 WHEN OTHERS THEN
71228 xla_exceptions_pkg.raise_message
71229 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_136');
71230 END AcctLineType_136;
71231 --
71232
71233 ---------------------------------------
71234 --
71235 -- PRIVATE FUNCTION
71236 -- AcctLineType_137
71237 --
71238 ---------------------------------------
71239 PROCEDURE AcctLineType_137 (
71240 p_application_id IN NUMBER
71241 ,p_event_id IN NUMBER
71242 ,p_calculate_acctd_flag IN VARCHAR2
71243 ,p_calculate_g_l_flag IN VARCHAR2
71244 ,p_actual_flag IN OUT VARCHAR2
71245 ,p_balance_type_code OUT VARCHAR2
71246 ,p_gain_or_loss_ref OUT VARCHAR2
71247
71248 --Automatic Offsets Value
71249 , p_source_3 IN VARCHAR2
71250 , p_source_3_meaning IN VARCHAR2
71251 --Invoice Distribution Account
71252 , p_source_18 IN NUMBER
71253 --Internal Realized Gain Account
71254 , p_source_24 IN NUMBER
71255 --Bank Gain Account
71256 , p_source_25 IN NUMBER
71257 --Internal Realized Loss Account
71258 , p_source_26 IN NUMBER
71259 --Bank Loss Account
71260 , p_source_27 IN NUMBER
71261 --Accounting Reversal Indicator
71262 , p_source_41 IN VARCHAR2
71263 --Distribution Link Type
71264 , p_source_43 IN VARCHAR2
71265 --Override Accounted Amount Indicator
71266 , p_source_68 IN VARCHAR2
71267 , p_source_68_meaning IN VARCHAR2
71268 --Third Party Type
71269 , p_source_71 IN VARCHAR2
71270 --Invoice Distribution Tax Line Identifier
71271 , p_source_74 IN NUMBER
71272 --Invoice Distribution Summary Tax Line Identifier
71273 , p_source_76 IN NUMBER
71274 --Business Flow Accounts Payable Application Identifier
71275 , p_source_79 IN NUMBER
71276 --When to Account for Payment Option
71277 , p_source_89 IN VARCHAR2
71278 --Payment Distribution Type
71279 , p_source_90 IN VARCHAR2
71280 , p_source_90_meaning IN VARCHAR2
71281 --Payment Distribution Amount
71282 , p_source_91 IN NUMBER
71283 --Business Flow Payment Distribution Type
71284 , p_source_92 IN VARCHAR2
71285 --Business Flow Payment Entity Code
71286 , p_source_93 IN VARCHAR2
71287 --Business Flow Payment Distribution Identifier
71288 , p_source_94 IN NUMBER
71289 --Business Flow Payment Identifier
71290 , p_source_95 IN NUMBER
71291 --Payment Distribution Identifier
71292 , p_source_96 IN NUMBER
71293 --Payment Supplier Identifier
71294 , p_source_102 IN NUMBER
71295 --Payment Supplier Site Identifier
71296 , p_source_103 IN NUMBER
71297 --Payment Distribution Reversed Identifier
71298 , p_source_104 IN NUMBER
71299 --Payment Maturity Date
71300 , p_source_107 IN DATE
71301 --Invoice/Clearing Ledger Amount Difference
71302 , p_source_147 IN NUMBER
71303 )
71304 IS
71305
71306 l_component_type VARCHAR2(80);
71307 l_component_code VARCHAR2(30);
71308 l_component_type_code VARCHAR2(1);
71309 l_component_appl_id INTEGER;
71310 l_amb_context_code VARCHAR2(30);
71311 l_entity_code VARCHAR2(30);
71312 l_event_class_code VARCHAR2(30);
71313 l_ae_header_id NUMBER;
71314 l_event_type_code VARCHAR2(30);
71315 l_line_definition_code VARCHAR2(30);
71316 l_line_definition_owner_code VARCHAR2(1);
71317 --
71318 -- adr variables
71319 l_segment VARCHAR2(30);
71320 l_ccid NUMBER;
71321 l_adr_transaction_coa_id NUMBER;
71322 l_adr_accounting_coa_id NUMBER;
71323 l_adr_flexfield_segment_code VARCHAR2(30);
71324 l_adr_flex_value_set_id NUMBER;
71325 l_adr_value_type_code VARCHAR2(30);
71326 l_adr_value_combination_id NUMBER;
71327 l_adr_value_segment_code VARCHAR2(30);
71328
71329 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
71330 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
71331 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
71332 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
71333
71334 -- 4262811 Variables ------------------------------------------------------------------------------------------
71338 l_accrual_line_num NUMBER;
71335 l_entered_amt_idx NUMBER;
71336 l_accted_amt_idx NUMBER;
71337 l_acc_rev_flag VARCHAR2(1);
71339 l_tmp_amt NUMBER;
71340 l_acc_rev_natural_side_code VARCHAR2(1);
71341
71342 l_num_entries NUMBER;
71343 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
71344 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
71345 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
71346 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
71347 l_recog_line_1 NUMBER;
71348 l_recog_line_2 NUMBER;
71349
71350 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
71351 l_bflow_applied_to_amt NUMBER; -- 5132302
71352 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
71353
71354 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
71355
71356 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
71357 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
71358
71359 ---------------------------------------------------------------------------------------------------------------
71360
71361
71362 --
71363 -- bulk performance
71364 --
71365 l_balance_type_code VARCHAR2(1);
71366 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
71367 l_log_module VARCHAR2(240);
71368
71369 --
71370 -- Upgrade strategy
71371 --
71372 l_actual_upg_option VARCHAR2(1);
71373 l_enc_upg_option VARCHAR2(1);
71374
71375 --
71376 BEGIN
71377 --
71378 IF g_log_enabled THEN
71379 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_137';
71380 END IF;
71381 --
71382 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
71383
71384 trace
71385 (p_msg => 'BEGIN of AcctLineType_137'
71386 ,p_level => C_LEVEL_PROCEDURE
71387 ,p_module => l_log_module);
71388
71389 END IF;
71390 --
71391 l_component_type := 'AMB_JLT';
71392 l_component_code := 'AP_GAIN_LOSS_PAY_CLEAR';
71393 l_component_type_code := 'S';
71394 l_component_appl_id := 200;
71395 l_amb_context_code := 'DEFAULT';
71396 l_entity_code := 'AP_PAYMENTS';
71397 l_event_class_code := 'RECONCILED PAYMENTS';
71398 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
71399 l_line_definition_owner_code := 'S';
71400 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
71401 --
71402 l_balance_type_code := 'A';
71403 l_segment := NULL;
71404 l_ccid := NULL;
71405 l_adr_transaction_coa_id := NULL;
71406 l_adr_accounting_coa_id := NULL;
71407 l_adr_flexfield_segment_code := NULL;
71408 l_adr_flex_value_set_id := NULL;
71409 l_adr_value_type_code := NULL;
71410 l_adr_value_combination_id := NULL;
71411 l_adr_value_segment_code := NULL;
71412
71413 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
71414 l_bflow_class_code := ''; -- 4219869 Business Flow
71415 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
71416 l_budgetary_control_flag := 'N';
71417
71418 l_bflow_applied_to_amt_idx := NULL; -- 5132302
71419 l_bflow_applied_to_amt := NULL; -- 5132302
71420 l_entered_amt_idx := NULL; -- 4262811
71421 l_accted_amt_idx := NULL; -- 4262811
71422 l_acc_rev_flag := NULL; -- 4262811
71423 l_accrual_line_num := NULL; -- 4262811
71424 l_tmp_amt := NULL; -- 4262811
71425 --
71426 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
71427 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
71428 return;
71429 END IF;
71430
71431 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
71432 l_balance_type_code <> 'B' THEN
71433 IF (NVL(p_source_89,'
71434 ') = 'CLEAR_CLEAR' OR
71435 NVL(p_source_89,'
71436 ') = 'ALWAYS_CLEAR' OR
71437 NVL(p_source_89,'
71438 ') = 'ALWAYS_ALWAYS') AND
71439 p_source_107 IS NULL AND
71440 NVL(p_source_90,'
71441 ') <> 'EXCHANGE RATE VARIANCE' AND
71442 NVL(p_source_90,'
71443 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
71444 NVL(p_source_90,'
71445 ') <> 'BANK CHARGE' AND
71446 NVL(p_source_90,'
71447 ') <> 'BANK ERROR'
71448 THEN
71449
71450 --
71451 XLA_AE_LINES_PKG.SetNewLine;
71452
71453 p_balance_type_code := l_balance_type_code;
71454 -- set the flag so later we will know whether the gain loss line needs to be created
71455
71456 IF(l_balance_type_code = 'A' ) THEN
71457 p_actual_flag :='G';
71458 END IF;
71459
71460 --
71461 -- bulk performance
71462 --
71463 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
71464 p_header_num => 0); -- 4262811
71465 --
71469 p_natural_side_code => 'G'
71466 -- set accounting line options
71467 --
71468 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
71470 , p_gain_or_loss_flag => 'N'
71471 , p_gl_transfer_mode_code => 'S'
71472 , p_acct_entry_type_code => 'A'
71473 , p_switch_side_flag => ''
71474 , p_merge_duplicate_code => 'A'
71475 );
71476 --
71477 l_acc_rev_natural_side_code := 'C'; -- 4262811
71478 --
71479 --
71480 -- set accounting line type info
71481 --
71482 xla_ae_lines_pkg.SetAcctLineType
71483 (p_component_type => l_component_type
71484 ,p_event_type_code => l_event_type_code
71485 ,p_line_definition_owner_code => l_line_definition_owner_code
71486 ,p_line_definition_code => l_line_definition_code
71487 ,p_accounting_line_code => l_component_code
71488 ,p_accounting_line_type_code => l_component_type_code
71489 ,p_accounting_line_appl_id => l_component_appl_id
71490 ,p_amb_context_code => l_amb_context_code
71491 ,p_entity_code => l_entity_code
71492 ,p_event_class_code => l_event_class_code);
71493 --
71494 -- set accounting class
71495 --
71496 xla_ae_lines_pkg.SetAcctClass(
71497 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
71498 , p_ae_header_id => l_ae_header_id
71499 );
71500
71501 --
71502 -- set rounding class
71503 --
71504 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
71505 'EXCHANGE_GAIN_LOSS';
71506
71507 --
71508 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
71509 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
71510 --
71511 -- bulk performance
71512 --
71513 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
71514
71515 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
71516 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
71517
71518 -- 4955764
71519 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
71520 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
71521
71522 -- 4458381 Public Sector Enh
71523
71524 --
71525 -- set accounting attributes for the line type
71526 --
71527 l_entered_amt_idx := NULL;
71528 l_accted_amt_idx := 10;
71529 l_bflow_applied_to_amt_idx := 2; -- 5132302
71530 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
71531 l_rec_acct_attrs.array_char_value(1) := p_source_41;
71532 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
71533 l_rec_acct_attrs.array_num_value(2) := p_source_91;
71534 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
71535 l_rec_acct_attrs.array_num_value(3) := p_source_79;
71536 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
71537 l_rec_acct_attrs.array_char_value(4) := p_source_92;
71538 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
71539 l_rec_acct_attrs.array_char_value(5) := p_source_93;
71540 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
71541 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
71542 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
71543 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
71544 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
71545 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
71546 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
71547 l_rec_acct_attrs.array_char_value(9) := p_source_43;
71548 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
71549 l_rec_acct_attrs.array_num_value(10) := p_source_147;
71550 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
71551 l_rec_acct_attrs.array_char_value(11) := p_source_68;
71552 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
71553 l_rec_acct_attrs.array_num_value(12) := p_source_102;
71554 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
71555 l_rec_acct_attrs.array_num_value(13) := p_source_103;
71556 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
71557 l_rec_acct_attrs.array_char_value(14) := p_source_71;
71558 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
71559 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
71560 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
71561 l_rec_acct_attrs.array_char_value(16) := p_source_43;
71562 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
71563 l_rec_acct_attrs.array_num_value(17) := p_source_74;
71564 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
71565 l_rec_acct_attrs.array_num_value(18) := p_source_74;
71566 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
71567 l_rec_acct_attrs.array_num_value(19) := p_source_76;
71568
71569 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
71570 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
71571
71575 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
71572 ---------------------------------------------------------------------------------------------------------------
71573 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
71574 ---------------------------------------------------------------------------------------------------------------
71576
71577 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71578 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
71579
71580 IF xla_accounting_cache_pkg.GetValueChar
71581 (p_source_code => 'LEDGER_CATEGORY_CODE'
71582 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
71583 AND l_bflow_method_code = 'PRIOR_ENTRY'
71584 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
71585 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
71586 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
71587 )
71588 THEN
71589 xla_ae_lines_pkg.BflowUpgEntry
71590 (p_business_method_code => l_bflow_method_code
71591 ,p_business_class_code => l_bflow_class_code
71592 ,p_balance_type => l_balance_type_code);
71593 ELSE
71594 NULL;
71595 -- No business flow processing for business flow method of NONE.
71596 END IF;
71597
71598 --
71599 -- call analytical criteria
71600 --
71601
71602 --
71603 -- call description
71604 --
71605 -- No description or it is inherited.
71606 --
71607 -- call ADRs
71608 -- Bug 4922099
71609 --
71610 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71611 (NVL(l_actual_upg_option, 'N') = 'O') OR
71612 (NVL(l_enc_upg_option, 'N') = 'O')
71613 )
71614 THEN
71615 NULL;
71616 --
71617 --
71618
71619 l_ccid := AcctDerRule_37(
71620 p_application_id => p_application_id
71621 , p_ae_header_id => l_ae_header_id
71622 , p_source_3 => p_source_3
71623 , p_source_3_meaning => p_source_3_meaning
71624 , p_source_18 => p_source_18
71625 , p_source_24 => p_source_24
71626 , p_source_25 => p_source_25
71627 , x_transaction_coa_id => l_adr_transaction_coa_id
71628 , x_accounting_coa_id => l_adr_accounting_coa_id
71629 , x_value_type_code => l_adr_value_type_code
71630 , p_side => 'CREDIT'
71631 );
71632
71633 xla_ae_lines_pkg.set_ccid(
71634 p_code_combination_id => l_ccid
71635 , p_value_type_code => l_adr_value_type_code
71636 , p_transaction_coa_id => l_adr_transaction_coa_id
71637 , p_accounting_coa_id => l_adr_accounting_coa_id
71638 , p_adr_code => 'AP_REAL_GAIN'
71639 , p_adr_type_code => 'S'
71640 , p_component_type => l_component_type
71641 , p_component_code => l_component_code
71642 , p_component_type_code => l_component_type_code
71643 , p_component_appl_id => l_component_appl_id
71644 , p_amb_context_code => l_amb_context_code
71645 , p_side => 'CREDIT'
71646 );
71647
71648
71649 l_ccid := AcctDerRule_38(
71650 p_application_id => p_application_id
71651 , p_ae_header_id => l_ae_header_id
71652 , p_source_3 => p_source_3
71653 , p_source_3_meaning => p_source_3_meaning
71654 , p_source_18 => p_source_18
71655 , p_source_26 => p_source_26
71656 , p_source_27 => p_source_27
71657 , x_transaction_coa_id => l_adr_transaction_coa_id
71658 , x_accounting_coa_id => l_adr_accounting_coa_id
71659 , x_value_type_code => l_adr_value_type_code
71660 , p_side => 'DEBIT'
71661 );
71662
71663 xla_ae_lines_pkg.set_ccid(
71664 p_code_combination_id => l_ccid
71665 , p_value_type_code => l_adr_value_type_code
71666 , p_transaction_coa_id => l_adr_transaction_coa_id
71667 , p_accounting_coa_id => l_adr_accounting_coa_id
71668 , p_adr_code => 'AP_REAL_LOSS'
71669 , p_adr_type_code => 'S'
71670 , p_component_type => l_component_type
71671 , p_component_code => l_component_code
71672 , p_component_type_code => l_component_type_code
71673 , p_component_appl_id => l_component_appl_id
71674 , p_amb_context_code => l_amb_context_code
71675 , p_side => 'DEBIT'
71676 );
71677
71678
71679 l_segment := AcctDerRule_21(
71680 p_application_id => p_application_id
71681 , p_ae_header_id => l_ae_header_id
71682 , p_source_3 => p_source_3
71683 , p_source_3_meaning => p_source_3_meaning
71684 , p_source_18 => p_source_18
71685 , x_transaction_coa_id => l_adr_transaction_coa_id
71686 , x_accounting_coa_id => l_adr_accounting_coa_id
71687 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71688 , x_flex_value_set_id => l_adr_flex_value_set_id
71689 , x_value_type_code => l_adr_value_type_code
71690 , x_value_combination_id => l_adr_value_combination_id
71694 );
71691 , x_value_segment_code => l_adr_value_segment_code
71692 , p_side => 'ALL'
71693 , p_override_seg_flag => 'Y'
71695
71696 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71697
71698 xla_ae_lines_pkg.set_segment(
71699 p_to_segment_code => 'GL_BALANCING'
71700 , p_segment_value => l_segment
71701 , p_from_segment_code => l_adr_value_segment_code
71702 , p_from_combination_id => l_adr_value_combination_id
71703 , p_value_type_code => l_adr_value_type_code
71704 , p_transaction_coa_id => l_adr_transaction_coa_id
71705 , p_accounting_coa_id => l_adr_accounting_coa_id
71706 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71707 , p_flex_value_set_id => l_adr_flex_value_set_id
71708 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
71709 , p_adr_type_code => 'S'
71710 , p_component_type => l_component_type
71711 , p_component_code => l_component_code
71712 , p_component_type_code => l_component_type_code
71713 , p_component_appl_id => l_component_appl_id
71714 , p_amb_context_code => l_amb_context_code
71715 , p_entity_code => 'AP_PAYMENTS'
71716 , p_event_class_code => 'RECONCILED PAYMENTS'
71717 , p_side => 'ALL'
71718 );
71719
71720 END IF;
71721
71722 l_segment := AcctDerRule_16(
71723 p_application_id => p_application_id
71724 , p_ae_header_id => l_ae_header_id
71725 , p_source_3 => p_source_3
71726 , p_source_3_meaning => p_source_3_meaning
71727 , p_source_24 => p_source_24
71728 , p_source_25 => p_source_25
71729 , x_transaction_coa_id => l_adr_transaction_coa_id
71730 , x_accounting_coa_id => l_adr_accounting_coa_id
71731 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71732 , x_flex_value_set_id => l_adr_flex_value_set_id
71733 , x_value_type_code => l_adr_value_type_code
71734 , x_value_combination_id => l_adr_value_combination_id
71735 , x_value_segment_code => l_adr_value_segment_code
71736 , p_side => 'CREDIT'
71737 , p_override_seg_flag => 'Y'
71738 );
71739
71740 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71741
71742 xla_ae_lines_pkg.set_segment(
71743 p_to_segment_code => 'GL_ACCOUNT'
71744 , p_segment_value => l_segment
71745 , p_from_segment_code => l_adr_value_segment_code
71746 , p_from_combination_id => l_adr_value_combination_id
71747 , p_value_type_code => l_adr_value_type_code
71748 , p_transaction_coa_id => l_adr_transaction_coa_id
71749 , p_accounting_coa_id => l_adr_accounting_coa_id
71750 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71751 , p_flex_value_set_id => l_adr_flex_value_set_id
71752 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
71753 , p_adr_type_code => 'S'
71754 , p_component_type => l_component_type
71755 , p_component_code => l_component_code
71756 , p_component_type_code => l_component_type_code
71757 , p_component_appl_id => l_component_appl_id
71758 , p_amb_context_code => l_amb_context_code
71759 , p_entity_code => 'AP_PAYMENTS'
71760 , p_event_class_code => 'RECONCILED PAYMENTS'
71761 , p_side => 'CREDIT'
71762 );
71763
71764 END IF;
71765
71766 l_segment := AcctDerRule_17(
71767 p_application_id => p_application_id
71768 , p_ae_header_id => l_ae_header_id
71769 , p_source_3 => p_source_3
71770 , p_source_3_meaning => p_source_3_meaning
71771 , p_source_26 => p_source_26
71772 , p_source_27 => p_source_27
71773 , x_transaction_coa_id => l_adr_transaction_coa_id
71774 , x_accounting_coa_id => l_adr_accounting_coa_id
71775 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71776 , x_flex_value_set_id => l_adr_flex_value_set_id
71777 , x_value_type_code => l_adr_value_type_code
71778 , x_value_combination_id => l_adr_value_combination_id
71779 , x_value_segment_code => l_adr_value_segment_code
71780 , p_side => 'DEBIT'
71781 , p_override_seg_flag => 'Y'
71782 );
71783
71784 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
71785
71786 xla_ae_lines_pkg.set_segment(
71787 p_to_segment_code => 'GL_ACCOUNT'
71788 , p_segment_value => l_segment
71789 , p_from_segment_code => l_adr_value_segment_code
71790 , p_from_combination_id => l_adr_value_combination_id
71791 , p_value_type_code => l_adr_value_type_code
71792 , p_transaction_coa_id => l_adr_transaction_coa_id
71793 , p_accounting_coa_id => l_adr_accounting_coa_id
71794 , p_flexfield_segment_code => l_adr_flexfield_segment_code
71795 , p_flex_value_set_id => l_adr_flex_value_set_id
71796 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
71800 , p_component_type_code => l_component_type_code
71797 , p_adr_type_code => 'S'
71798 , p_component_type => l_component_type
71799 , p_component_code => l_component_code
71801 , p_component_appl_id => l_component_appl_id
71802 , p_amb_context_code => l_amb_context_code
71803 , p_entity_code => 'AP_PAYMENTS'
71804 , p_event_class_code => 'RECONCILED PAYMENTS'
71805 , p_side => 'DEBIT'
71806 );
71807
71808 END IF;
71809
71810 --
71811 --
71812 END IF;
71813 --
71814 -- Bug 4922099
71815 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
71816 (NVL(l_enc_upg_option, 'N') = 'O')
71817 ) AND
71818 (l_bflow_method_code = 'PRIOR_ENTRY')
71819 )
71820 THEN
71821 IF
71822 --
71823 1 = 2
71824 --
71825 THEN
71826 xla_accounting_err_pkg.build_message
71827 (p_appli_s_name => 'XLA'
71828 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71829 ,p_token_1 => 'LINE_NUMBER'
71830 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
71831 ,p_token_2 => 'LINE_TYPE_NAME'
71832 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
71833 l_component_type
71834 ,l_component_code
71835 ,l_component_type_code
71836 ,l_component_appl_id
71837 ,l_amb_context_code
71838 ,l_entity_code
71839 ,l_event_class_code
71840 )
71841 ,p_token_3 => 'OWNER'
71842 ,p_value_3 => xla_lookups_pkg.get_meaning(
71843 p_lookup_type => 'XLA_OWNER_TYPE'
71844 ,p_lookup_code => l_component_type_code
71845 )
71846 ,p_token_4 => 'PRODUCT_NAME'
71847 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
71848 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
71849 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
71850 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
71851 ,p_ae_header_id => NULL
71852 );
71853
71854 IF (C_LEVEL_ERROR>= g_log_level) THEN
71855 trace
71856 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
71857 ,p_level => C_LEVEL_ERROR
71858 ,p_module => l_log_module);
71859 END IF;
71860 END IF;
71861 END IF;
71862 --
71863 --
71864 ------------------------------------------------------------------------------------------------
71865 -- 4219869 Business Flow
71866 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
71867 -- Prior Entry. Currently, the following code is always generated.
71868 ------------------------------------------------------------------------------------------------
71869 XLA_AE_LINES_PKG.ValidateCurrentLine;
71870
71871 ------------------------------------------------------------------------------------
71872 -- 4219869 Business Flow
71873 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
71874 ------------------------------------------------------------------------------------
71875 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
71876
71877 ----------------------------------------------------------------------------------
71878 -- 4219869 Business Flow
71879 -- Update journal entry status -- Need to generate this within IF <condition>
71880 ----------------------------------------------------------------------------------
71881 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
71882 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
71883 ,p_balance_type_code => l_balance_type_code
71884 );
71885
71886 -------------------------------------------------------------------------------------------
71887 -- 4262811 - Generate the Accrual Reversal lines
71888 -------------------------------------------------------------------------------------------
71889 BEGIN
71890 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
71891 (g_array_event(p_event_id).array_value_num('header_index'));
71892 IF l_acc_rev_flag IS NULL THEN
71893 l_acc_rev_flag := 'N';
71894 END IF;
71898 END;
71895 EXCEPTION
71896 WHEN OTHERS THEN
71897 l_acc_rev_flag := 'N';
71899 --
71900 IF (l_acc_rev_flag = 'Y') THEN
71901
71902 -- 4645092 ------------------------------------------------------------------------------
71903 -- To allow MPA report to determine if it should generate report process
71904 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
71905 ------------------------------------------------------------------------------------------
71906
71907 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
71908 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
71909 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
71910 -- call ADRs
71911 -- Bug 4922099
71912 --
71913 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
71914 (NVL(l_actual_upg_option, 'N') = 'O') OR
71915 (NVL(l_enc_upg_option, 'N') = 'O')
71916 )
71917 THEN
71918 NULL;
71919 --
71920 --
71921
71922 l_ccid := AcctDerRule_37(
71923 p_application_id => p_application_id
71924 , p_ae_header_id => l_ae_header_id
71925 , p_source_3 => p_source_3
71926 , p_source_3_meaning => p_source_3_meaning
71927 , p_source_18 => p_source_18
71928 , p_source_24 => p_source_24
71929 , p_source_25 => p_source_25
71930 , x_transaction_coa_id => l_adr_transaction_coa_id
71931 , x_accounting_coa_id => l_adr_accounting_coa_id
71932 , x_value_type_code => l_adr_value_type_code
71933 , p_side => 'CREDIT'
71934 );
71935
71936 xla_ae_lines_pkg.set_ccid(
71937 p_code_combination_id => l_ccid
71938 , p_value_type_code => l_adr_value_type_code
71939 , p_transaction_coa_id => l_adr_transaction_coa_id
71940 , p_accounting_coa_id => l_adr_accounting_coa_id
71941 , p_adr_code => 'AP_REAL_GAIN'
71942 , p_adr_type_code => 'S'
71943 , p_component_type => l_component_type
71944 , p_component_code => l_component_code
71945 , p_component_type_code => l_component_type_code
71946 , p_component_appl_id => l_component_appl_id
71947 , p_amb_context_code => l_amb_context_code
71948 , p_side => 'CREDIT'
71949 );
71950
71951
71952 l_ccid := AcctDerRule_38(
71953 p_application_id => p_application_id
71954 , p_ae_header_id => l_ae_header_id
71955 , p_source_3 => p_source_3
71956 , p_source_3_meaning => p_source_3_meaning
71957 , p_source_18 => p_source_18
71958 , p_source_26 => p_source_26
71959 , p_source_27 => p_source_27
71960 , x_transaction_coa_id => l_adr_transaction_coa_id
71961 , x_accounting_coa_id => l_adr_accounting_coa_id
71962 , x_value_type_code => l_adr_value_type_code
71963 , p_side => 'DEBIT'
71964 );
71965
71966 xla_ae_lines_pkg.set_ccid(
71967 p_code_combination_id => l_ccid
71968 , p_value_type_code => l_adr_value_type_code
71969 , p_transaction_coa_id => l_adr_transaction_coa_id
71970 , p_accounting_coa_id => l_adr_accounting_coa_id
71971 , p_adr_code => 'AP_REAL_LOSS'
71972 , p_adr_type_code => 'S'
71973 , p_component_type => l_component_type
71974 , p_component_code => l_component_code
71975 , p_component_type_code => l_component_type_code
71976 , p_component_appl_id => l_component_appl_id
71977 , p_amb_context_code => l_amb_context_code
71978 , p_side => 'DEBIT'
71979 );
71980
71981
71982 l_segment := AcctDerRule_21(
71983 p_application_id => p_application_id
71984 , p_ae_header_id => l_ae_header_id
71985 , p_source_3 => p_source_3
71986 , p_source_3_meaning => p_source_3_meaning
71987 , p_source_18 => p_source_18
71988 , x_transaction_coa_id => l_adr_transaction_coa_id
71989 , x_accounting_coa_id => l_adr_accounting_coa_id
71990 , x_flexfield_segment_code => l_adr_flexfield_segment_code
71991 , x_flex_value_set_id => l_adr_flex_value_set_id
71992 , x_value_type_code => l_adr_value_type_code
71993 , x_value_combination_id => l_adr_value_combination_id
71994 , x_value_segment_code => l_adr_value_segment_code
71995 , p_side => 'ALL'
71996 , p_override_seg_flag => 'Y'
71997 );
71998
71999 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72000
72001 xla_ae_lines_pkg.set_segment(
72002 p_to_segment_code => 'GL_BALANCING'
72003 , p_segment_value => l_segment
72004 , p_from_segment_code => l_adr_value_segment_code
72005 , p_from_combination_id => l_adr_value_combination_id
72006 , p_value_type_code => l_adr_value_type_code
72007 , p_transaction_coa_id => l_adr_transaction_coa_id
72008 , p_accounting_coa_id => l_adr_accounting_coa_id
72009 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72010 , p_flex_value_set_id => l_adr_flex_value_set_id
72011 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72015 , p_component_type_code => l_component_type_code
72012 , p_adr_type_code => 'S'
72013 , p_component_type => l_component_type
72014 , p_component_code => l_component_code
72016 , p_component_appl_id => l_component_appl_id
72017 , p_amb_context_code => l_amb_context_code
72018 , p_entity_code => 'AP_PAYMENTS'
72019 , p_event_class_code => 'RECONCILED PAYMENTS'
72020 , p_side => 'ALL'
72021 );
72022
72023 END IF;
72024
72025 l_segment := AcctDerRule_16(
72026 p_application_id => p_application_id
72027 , p_ae_header_id => l_ae_header_id
72028 , p_source_3 => p_source_3
72029 , p_source_3_meaning => p_source_3_meaning
72030 , p_source_24 => p_source_24
72031 , p_source_25 => p_source_25
72032 , x_transaction_coa_id => l_adr_transaction_coa_id
72033 , x_accounting_coa_id => l_adr_accounting_coa_id
72034 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72035 , x_flex_value_set_id => l_adr_flex_value_set_id
72036 , x_value_type_code => l_adr_value_type_code
72037 , x_value_combination_id => l_adr_value_combination_id
72038 , x_value_segment_code => l_adr_value_segment_code
72039 , p_side => 'CREDIT'
72040 , p_override_seg_flag => 'Y'
72041 );
72042
72043 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72044
72045 xla_ae_lines_pkg.set_segment(
72046 p_to_segment_code => 'GL_ACCOUNT'
72047 , p_segment_value => l_segment
72048 , p_from_segment_code => l_adr_value_segment_code
72049 , p_from_combination_id => l_adr_value_combination_id
72050 , p_value_type_code => l_adr_value_type_code
72051 , p_transaction_coa_id => l_adr_transaction_coa_id
72052 , p_accounting_coa_id => l_adr_accounting_coa_id
72053 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72054 , p_flex_value_set_id => l_adr_flex_value_set_id
72055 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72056 , p_adr_type_code => 'S'
72057 , p_component_type => l_component_type
72058 , p_component_code => l_component_code
72059 , p_component_type_code => l_component_type_code
72060 , p_component_appl_id => l_component_appl_id
72061 , p_amb_context_code => l_amb_context_code
72062 , p_entity_code => 'AP_PAYMENTS'
72063 , p_event_class_code => 'RECONCILED PAYMENTS'
72064 , p_side => 'CREDIT'
72065 );
72066
72067 END IF;
72068
72069 l_segment := AcctDerRule_17(
72070 p_application_id => p_application_id
72071 , p_ae_header_id => l_ae_header_id
72072 , p_source_3 => p_source_3
72073 , p_source_3_meaning => p_source_3_meaning
72074 , p_source_26 => p_source_26
72075 , p_source_27 => p_source_27
72076 , x_transaction_coa_id => l_adr_transaction_coa_id
72077 , x_accounting_coa_id => l_adr_accounting_coa_id
72078 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72079 , x_flex_value_set_id => l_adr_flex_value_set_id
72080 , x_value_type_code => l_adr_value_type_code
72081 , x_value_combination_id => l_adr_value_combination_id
72082 , x_value_segment_code => l_adr_value_segment_code
72083 , p_side => 'DEBIT'
72084 , p_override_seg_flag => 'Y'
72085 );
72086
72087 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72088
72089 xla_ae_lines_pkg.set_segment(
72090 p_to_segment_code => 'GL_ACCOUNT'
72091 , p_segment_value => l_segment
72092 , p_from_segment_code => l_adr_value_segment_code
72093 , p_from_combination_id => l_adr_value_combination_id
72094 , p_value_type_code => l_adr_value_type_code
72095 , p_transaction_coa_id => l_adr_transaction_coa_id
72096 , p_accounting_coa_id => l_adr_accounting_coa_id
72097 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72098 , p_flex_value_set_id => l_adr_flex_value_set_id
72099 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
72100 , p_adr_type_code => 'S'
72101 , p_component_type => l_component_type
72102 , p_component_code => l_component_code
72103 , p_component_type_code => l_component_type_code
72104 , p_component_appl_id => l_component_appl_id
72105 , p_amb_context_code => l_amb_context_code
72106 , p_entity_code => 'AP_PAYMENTS'
72107 , p_event_class_code => 'RECONCILED PAYMENTS'
72108 , p_side => 'DEBIT'
72109 );
72110
72111 END IF;
72112
72113 --
72114 --
72115 END IF;
72116
72117 --
72118 -- Update the line information that should be overwritten
72119 --
72120 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
72121 p_header_num => 1);
72125
72122 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
72123
72124 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
72126 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
72127 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
72128 END IF;
72129
72130 --
72131 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
72132 --
72133 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
72134 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
72135 ELSE
72136 ---------------------------------------------------------------------------------------------------
72137 -- 4262811a Switch Sign
72138 ---------------------------------------------------------------------------------------------------
72139 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
72140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72141 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
72143 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72144 -- 5132302
72145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
72146 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
72147
72148 END IF;
72149
72150 -- 4955764
72151 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72152 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
72153
72154
72155 XLA_AE_LINES_PKG.ValidateCurrentLine;
72156 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72157
72158 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72159 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
72160 ,p_balance_type_code => l_balance_type_code);
72161
72162 END IF;
72163
72164 -----------------------------------------------------------------------------------------
72165 -- 4262811 Multiperiod Accounting
72166 -----------------------------------------------------------------------------------------
72167 -- No MPA option is assigned.
72168
72169
72170 END IF;
72171 END IF;
72172 --
72173
72174 --
72175 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72176 trace
72177 (p_msg => 'END of AcctLineType_137'
72178 ,p_level => C_LEVEL_PROCEDURE
72179 ,p_module => l_log_module);
72180 END IF;
72181 --
72182 EXCEPTION
72183 WHEN xla_exceptions_pkg.application_exception THEN
72184 RAISE;
72185 WHEN OTHERS THEN
72186 xla_exceptions_pkg.raise_message
72187 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_137');
72188 END AcctLineType_137;
72189 --
72190
72191 ---------------------------------------
72192 --
72193 -- PRIVATE FUNCTION
72194 -- AcctLineType_138
72195 --
72196 ---------------------------------------
72197 PROCEDURE AcctLineType_138 (
72198 p_application_id IN NUMBER
72199 ,p_event_id IN NUMBER
72200 ,p_calculate_acctd_flag IN VARCHAR2
72201 ,p_calculate_g_l_flag IN VARCHAR2
72202 ,p_actual_flag IN OUT VARCHAR2
72203 ,p_balance_type_code OUT VARCHAR2
72204 ,p_gain_or_loss_ref OUT VARCHAR2
72205
72206 --Automatic Offsets Value
72207 , p_source_3 IN VARCHAR2
72208 , p_source_3_meaning IN VARCHAR2
72209 --Invoice Distribution Account
72210 , p_source_18 IN NUMBER
72211 --Internal Realized Gain Account
72212 , p_source_24 IN NUMBER
72213 --Bank Gain Account
72214 , p_source_25 IN NUMBER
72215 --Internal Realized Loss Account
72216 , p_source_26 IN NUMBER
72217 --Bank Loss Account
72218 , p_source_27 IN NUMBER
72219 --Accounting Reversal Indicator
72220 , p_source_41 IN VARCHAR2
72221 --Distribution Link Type
72222 , p_source_43 IN VARCHAR2
72223 --Override Accounted Amount Indicator
72224 , p_source_68 IN VARCHAR2
72225 , p_source_68_meaning IN VARCHAR2
72226 --Third Party Type
72227 , p_source_71 IN VARCHAR2
72228 --Invoice Distribution Tax Line Identifier
72229 , p_source_74 IN NUMBER
72230 --Invoice Distribution Tax Distribution Identifier from Tax
72231 , p_source_75 IN NUMBER
72232 --Invoice Distribution Summary Tax Line Identifier
72233 , p_source_76 IN NUMBER
72234 --Business Flow Accounts Payable Application Identifier
72235 , p_source_79 IN NUMBER
72236 --Business Flow Invoice Distribution Type
72237 , p_source_80 IN VARCHAR2
72238 --Business Flow Invoice Entity Code
72239 , p_source_81 IN VARCHAR2
72240 --Business Flow Invoice Distribution Identifier
72241 , p_source_82 IN NUMBER
72242 --Business Flow Invoice Identifier
72246 --Payment Distribution Type
72243 , p_source_83 IN NUMBER
72244 --When to Account for Payment Option
72245 , p_source_89 IN VARCHAR2
72247 , p_source_90 IN VARCHAR2
72248 , p_source_90_meaning IN VARCHAR2
72249 --Payment Distribution Identifier
72250 , p_source_96 IN NUMBER
72251 --Payment Supplier Identifier
72252 , p_source_102 IN NUMBER
72253 --Payment Supplier Site Identifier
72254 , p_source_103 IN NUMBER
72255 --Payment Distribution Reversed Identifier
72256 , p_source_104 IN NUMBER
72257 --Payment Type
72258 , p_source_115 IN VARCHAR2
72259 , p_source_115_meaning IN VARCHAR2
72260 --Invoice Distribution Amount of the Payment Distribution
72261 , p_source_117 IN NUMBER
72262 --Invoice/Payment Ledger Amount Difference
72263 , p_source_148 IN NUMBER
72264 )
72265 IS
72266
72267 l_component_type VARCHAR2(80);
72268 l_component_code VARCHAR2(30);
72269 l_component_type_code VARCHAR2(1);
72270 l_component_appl_id INTEGER;
72271 l_amb_context_code VARCHAR2(30);
72272 l_entity_code VARCHAR2(30);
72273 l_event_class_code VARCHAR2(30);
72274 l_ae_header_id NUMBER;
72275 l_event_type_code VARCHAR2(30);
72276 l_line_definition_code VARCHAR2(30);
72277 l_line_definition_owner_code VARCHAR2(1);
72278 --
72279 -- adr variables
72280 l_segment VARCHAR2(30);
72281 l_ccid NUMBER;
72282 l_adr_transaction_coa_id NUMBER;
72283 l_adr_accounting_coa_id NUMBER;
72284 l_adr_flexfield_segment_code VARCHAR2(30);
72285 l_adr_flex_value_set_id NUMBER;
72286 l_adr_value_type_code VARCHAR2(30);
72287 l_adr_value_combination_id NUMBER;
72288 l_adr_value_segment_code VARCHAR2(30);
72289
72290 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
72291 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
72292 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
72293 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
72294
72295 -- 4262811 Variables ------------------------------------------------------------------------------------------
72296 l_entered_amt_idx NUMBER;
72297 l_accted_amt_idx NUMBER;
72298 l_acc_rev_flag VARCHAR2(1);
72299 l_accrual_line_num NUMBER;
72300 l_tmp_amt NUMBER;
72301 l_acc_rev_natural_side_code VARCHAR2(1);
72302
72303 l_num_entries NUMBER;
72304 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
72305 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
72306 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
72307 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
72308 l_recog_line_1 NUMBER;
72309 l_recog_line_2 NUMBER;
72310
72311 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
72312 l_bflow_applied_to_amt NUMBER; -- 5132302
72313 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
72314
72315 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
72316
72317 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
72318 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
72319
72320 ---------------------------------------------------------------------------------------------------------------
72321
72322
72323 --
72324 -- bulk performance
72325 --
72326 l_balance_type_code VARCHAR2(1);
72327 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
72328 l_log_module VARCHAR2(240);
72329
72330 --
72331 -- Upgrade strategy
72332 --
72333 l_actual_upg_option VARCHAR2(1);
72334 l_enc_upg_option VARCHAR2(1);
72335
72336 --
72337 BEGIN
72338 --
72339 IF g_log_enabled THEN
72340 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_138';
72341 END IF;
72342 --
72343 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
72344
72345 trace
72346 (p_msg => 'BEGIN of AcctLineType_138'
72347 ,p_level => C_LEVEL_PROCEDURE
72348 ,p_module => l_log_module);
72349
72350 END IF;
72351 --
72352 l_component_type := 'AMB_JLT';
72353 l_component_code := 'AP_GAIN_LOSS_PMT';
72354 l_component_type_code := 'S';
72355 l_component_appl_id := 200;
72356 l_amb_context_code := 'DEFAULT';
72357 l_entity_code := 'AP_PAYMENTS';
72358 l_event_class_code := 'PAYMENTS';
72359 l_event_type_code := 'PAYMENTS_ALL';
72360 l_line_definition_owner_code := 'S';
72361 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
72362 --
72363 l_balance_type_code := 'A';
72364 l_segment := NULL;
72365 l_ccid := NULL;
72366 l_adr_transaction_coa_id := NULL;
72367 l_adr_accounting_coa_id := NULL;
72368 l_adr_flexfield_segment_code := NULL;
72369 l_adr_flex_value_set_id := NULL;
72370 l_adr_value_type_code := NULL;
72371 l_adr_value_combination_id := NULL;
72372 l_adr_value_segment_code := NULL;
72373
72374 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
72378
72375 l_bflow_class_code := ''; -- 4219869 Business Flow
72376 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
72377 l_budgetary_control_flag := 'N';
72379 l_bflow_applied_to_amt_idx := NULL; -- 5132302
72380 l_bflow_applied_to_amt := NULL; -- 5132302
72381 l_entered_amt_idx := NULL; -- 4262811
72382 l_accted_amt_idx := NULL; -- 4262811
72383 l_acc_rev_flag := NULL; -- 4262811
72384 l_accrual_line_num := NULL; -- 4262811
72385 l_tmp_amt := NULL; -- 4262811
72386 --
72387 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
72388 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
72389 return;
72390 END IF;
72391
72392 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
72393 l_balance_type_code <> 'B' THEN
72394 IF (NVL(p_source_89,'
72395 ') <> 'CLEAR_CLEAR' AND
72396 NVL(p_source_89,'
72397 ') <> 'ALWAYS_CLEAR') AND
72398 NVL(p_source_90,'
72399 ') <> 'EXCHANGE RATE VARIANCE' AND
72400 NVL(p_source_90,'
72401 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
72402 NVL(p_source_90,'
72403 ') <> 'BANK CHARGE' AND
72404 NVL(p_source_90,'
72405 ') <> 'BANK ERROR' AND
72406 NVL(p_source_115,'
72407 ') <> 'R'
72408 THEN
72409
72410 --
72411 XLA_AE_LINES_PKG.SetNewLine;
72412
72413 p_balance_type_code := l_balance_type_code;
72414 -- set the flag so later we will know whether the gain loss line needs to be created
72415
72416 IF(l_balance_type_code = 'A' ) THEN
72417 p_actual_flag :='G';
72418 END IF;
72419
72420 --
72421 -- bulk performance
72422 --
72423 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
72424 p_header_num => 0); -- 4262811
72425 --
72426 -- set accounting line options
72427 --
72428 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
72429 p_natural_side_code => 'G'
72430 , p_gain_or_loss_flag => 'N'
72431 , p_gl_transfer_mode_code => 'S'
72432 , p_acct_entry_type_code => 'A'
72433 , p_switch_side_flag => ''
72434 , p_merge_duplicate_code => 'A'
72435 );
72436 --
72437 l_acc_rev_natural_side_code := 'C'; -- 4262811
72438 --
72439 --
72440 -- set accounting line type info
72441 --
72442 xla_ae_lines_pkg.SetAcctLineType
72443 (p_component_type => l_component_type
72444 ,p_event_type_code => l_event_type_code
72445 ,p_line_definition_owner_code => l_line_definition_owner_code
72446 ,p_line_definition_code => l_line_definition_code
72447 ,p_accounting_line_code => l_component_code
72448 ,p_accounting_line_type_code => l_component_type_code
72449 ,p_accounting_line_appl_id => l_component_appl_id
72450 ,p_amb_context_code => l_amb_context_code
72451 ,p_entity_code => l_entity_code
72452 ,p_event_class_code => l_event_class_code);
72453 --
72454 -- set accounting class
72455 --
72456 xla_ae_lines_pkg.SetAcctClass(
72457 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
72458 , p_ae_header_id => l_ae_header_id
72459 );
72460
72461 --
72462 -- set rounding class
72463 --
72464 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
72465 'EXCHANGE_GAIN_LOSS';
72466
72467 --
72468 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
72469 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
72470 --
72471 -- bulk performance
72472 --
72473 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
72474
72475 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
72476 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
72477
72478 -- 4955764
72479 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
72480 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
72481
72482 -- 4458381 Public Sector Enh
72483
72484 --
72485 -- set accounting attributes for the line type
72486 --
72487 l_entered_amt_idx := NULL;
72488 l_accted_amt_idx := 10;
72489 l_bflow_applied_to_amt_idx := 2; -- 5132302
72490 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
72491 l_rec_acct_attrs.array_char_value(1) := p_source_41;
72492 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
72493 l_rec_acct_attrs.array_num_value(2) := p_source_117;
72494 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
72495 l_rec_acct_attrs.array_num_value(3) := p_source_79;
72496 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
72497 l_rec_acct_attrs.array_char_value(4) := p_source_80;
72501 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
72498 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
72499 l_rec_acct_attrs.array_char_value(5) := p_source_81;
72500 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
72502 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
72503 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
72504 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
72505 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
72506 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
72507 l_rec_acct_attrs.array_char_value(9) := p_source_43;
72508 l_rec_acct_attrs.array_acct_attr_code(10) := 'LEDGER_AMOUNT';
72509 l_rec_acct_attrs.array_num_value(10) := p_source_148;
72510 l_rec_acct_attrs.array_acct_attr_code(11) := 'OVERRIDE_ACCTD_AMT_FLAG';
72511 l_rec_acct_attrs.array_char_value(11) := p_source_68;
72512 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_ID';
72513 l_rec_acct_attrs.array_num_value(12) := p_source_102;
72514 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_SITE_ID';
72515 l_rec_acct_attrs.array_num_value(13) := p_source_103;
72516 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
72517 l_rec_acct_attrs.array_char_value(14) := p_source_71;
72518 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
72519 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
72520 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
72521 l_rec_acct_attrs.array_char_value(16) := p_source_43;
72522 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
72523 l_rec_acct_attrs.array_num_value(17) := p_source_74;
72524 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
72525 l_rec_acct_attrs.array_num_value(18) := p_source_75;
72526 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
72527 l_rec_acct_attrs.array_num_value(19) := p_source_76;
72528
72529 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
72530 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
72531
72532 ---------------------------------------------------------------------------------------------------------------
72533 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
72534 ---------------------------------------------------------------------------------------------------------------
72535 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
72536
72537 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72538 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
72539
72540 IF xla_accounting_cache_pkg.GetValueChar
72541 (p_source_code => 'LEDGER_CATEGORY_CODE'
72542 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
72543 AND l_bflow_method_code = 'PRIOR_ENTRY'
72544 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
72545 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
72546 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
72547 )
72548 THEN
72549 xla_ae_lines_pkg.BflowUpgEntry
72550 (p_business_method_code => l_bflow_method_code
72551 ,p_business_class_code => l_bflow_class_code
72552 ,p_balance_type => l_balance_type_code);
72553 ELSE
72554 NULL;
72555 -- No business flow processing for business flow method of NONE.
72556 END IF;
72557
72558 --
72559 -- call analytical criteria
72560 --
72561
72562 --
72563 -- call description
72564 --
72565 -- No description or it is inherited.
72566 --
72567 -- call ADRs
72568 -- Bug 4922099
72569 --
72570 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72571 (NVL(l_actual_upg_option, 'N') = 'O') OR
72572 (NVL(l_enc_upg_option, 'N') = 'O')
72573 )
72574 THEN
72575 NULL;
72576 --
72577 --
72578
72579 l_ccid := AcctDerRule_37(
72580 p_application_id => p_application_id
72581 , p_ae_header_id => l_ae_header_id
72582 , p_source_3 => p_source_3
72583 , p_source_3_meaning => p_source_3_meaning
72584 , p_source_18 => p_source_18
72585 , p_source_24 => p_source_24
72586 , p_source_25 => p_source_25
72587 , x_transaction_coa_id => l_adr_transaction_coa_id
72588 , x_accounting_coa_id => l_adr_accounting_coa_id
72589 , x_value_type_code => l_adr_value_type_code
72590 , p_side => 'CREDIT'
72591 );
72592
72593 xla_ae_lines_pkg.set_ccid(
72594 p_code_combination_id => l_ccid
72595 , p_value_type_code => l_adr_value_type_code
72596 , p_transaction_coa_id => l_adr_transaction_coa_id
72597 , p_accounting_coa_id => l_adr_accounting_coa_id
72598 , p_adr_code => 'AP_REAL_GAIN'
72599 , p_adr_type_code => 'S'
72600 , p_component_type => l_component_type
72601 , p_component_code => l_component_code
72602 , p_component_type_code => l_component_type_code
72603 , p_component_appl_id => l_component_appl_id
72607
72604 , p_amb_context_code => l_amb_context_code
72605 , p_side => 'CREDIT'
72606 );
72608
72609 l_ccid := AcctDerRule_38(
72610 p_application_id => p_application_id
72611 , p_ae_header_id => l_ae_header_id
72612 , p_source_3 => p_source_3
72613 , p_source_3_meaning => p_source_3_meaning
72614 , p_source_18 => p_source_18
72615 , p_source_26 => p_source_26
72616 , p_source_27 => p_source_27
72617 , x_transaction_coa_id => l_adr_transaction_coa_id
72618 , x_accounting_coa_id => l_adr_accounting_coa_id
72619 , x_value_type_code => l_adr_value_type_code
72620 , p_side => 'DEBIT'
72621 );
72622
72623 xla_ae_lines_pkg.set_ccid(
72624 p_code_combination_id => l_ccid
72625 , p_value_type_code => l_adr_value_type_code
72626 , p_transaction_coa_id => l_adr_transaction_coa_id
72627 , p_accounting_coa_id => l_adr_accounting_coa_id
72628 , p_adr_code => 'AP_REAL_LOSS'
72629 , p_adr_type_code => 'S'
72630 , p_component_type => l_component_type
72631 , p_component_code => l_component_code
72632 , p_component_type_code => l_component_type_code
72633 , p_component_appl_id => l_component_appl_id
72634 , p_amb_context_code => l_amb_context_code
72635 , p_side => 'DEBIT'
72636 );
72637
72638
72639 l_segment := AcctDerRule_21(
72640 p_application_id => p_application_id
72641 , p_ae_header_id => l_ae_header_id
72642 , p_source_3 => p_source_3
72643 , p_source_3_meaning => p_source_3_meaning
72644 , p_source_18 => p_source_18
72645 , x_transaction_coa_id => l_adr_transaction_coa_id
72646 , x_accounting_coa_id => l_adr_accounting_coa_id
72647 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72648 , x_flex_value_set_id => l_adr_flex_value_set_id
72649 , x_value_type_code => l_adr_value_type_code
72650 , x_value_combination_id => l_adr_value_combination_id
72651 , x_value_segment_code => l_adr_value_segment_code
72652 , p_side => 'ALL'
72653 , p_override_seg_flag => 'Y'
72654 );
72655
72656 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72657
72658 xla_ae_lines_pkg.set_segment(
72659 p_to_segment_code => 'GL_BALANCING'
72660 , p_segment_value => l_segment
72661 , p_from_segment_code => l_adr_value_segment_code
72662 , p_from_combination_id => l_adr_value_combination_id
72663 , p_value_type_code => l_adr_value_type_code
72664 , p_transaction_coa_id => l_adr_transaction_coa_id
72665 , p_accounting_coa_id => l_adr_accounting_coa_id
72666 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72667 , p_flex_value_set_id => l_adr_flex_value_set_id
72668 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72669 , p_adr_type_code => 'S'
72670 , p_component_type => l_component_type
72671 , p_component_code => l_component_code
72672 , p_component_type_code => l_component_type_code
72673 , p_component_appl_id => l_component_appl_id
72674 , p_amb_context_code => l_amb_context_code
72675 , p_entity_code => 'AP_PAYMENTS'
72676 , p_event_class_code => 'PAYMENTS'
72677 , p_side => 'ALL'
72678 );
72679
72680 END IF;
72681
72682 l_segment := AcctDerRule_16(
72683 p_application_id => p_application_id
72684 , p_ae_header_id => l_ae_header_id
72685 , p_source_3 => p_source_3
72686 , p_source_3_meaning => p_source_3_meaning
72687 , p_source_24 => p_source_24
72688 , p_source_25 => p_source_25
72689 , x_transaction_coa_id => l_adr_transaction_coa_id
72690 , x_accounting_coa_id => l_adr_accounting_coa_id
72691 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72692 , x_flex_value_set_id => l_adr_flex_value_set_id
72693 , x_value_type_code => l_adr_value_type_code
72694 , x_value_combination_id => l_adr_value_combination_id
72695 , x_value_segment_code => l_adr_value_segment_code
72696 , p_side => 'CREDIT'
72697 , p_override_seg_flag => 'Y'
72698 );
72699
72700 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72701
72702 xla_ae_lines_pkg.set_segment(
72703 p_to_segment_code => 'GL_ACCOUNT'
72704 , p_segment_value => l_segment
72705 , p_from_segment_code => l_adr_value_segment_code
72706 , p_from_combination_id => l_adr_value_combination_id
72707 , p_value_type_code => l_adr_value_type_code
72708 , p_transaction_coa_id => l_adr_transaction_coa_id
72709 , p_accounting_coa_id => l_adr_accounting_coa_id
72710 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72711 , p_flex_value_set_id => l_adr_flex_value_set_id
72712 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
72713 , p_adr_type_code => 'S'
72714 , p_component_type => l_component_type
72715 , p_component_code => l_component_code
72719 , p_entity_code => 'AP_PAYMENTS'
72716 , p_component_type_code => l_component_type_code
72717 , p_component_appl_id => l_component_appl_id
72718 , p_amb_context_code => l_amb_context_code
72720 , p_event_class_code => 'PAYMENTS'
72721 , p_side => 'CREDIT'
72722 );
72723
72724 END IF;
72725
72726 l_segment := AcctDerRule_17(
72727 p_application_id => p_application_id
72728 , p_ae_header_id => l_ae_header_id
72729 , p_source_3 => p_source_3
72730 , p_source_3_meaning => p_source_3_meaning
72731 , p_source_26 => p_source_26
72732 , p_source_27 => p_source_27
72733 , x_transaction_coa_id => l_adr_transaction_coa_id
72734 , x_accounting_coa_id => l_adr_accounting_coa_id
72735 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72736 , x_flex_value_set_id => l_adr_flex_value_set_id
72737 , x_value_type_code => l_adr_value_type_code
72738 , x_value_combination_id => l_adr_value_combination_id
72739 , x_value_segment_code => l_adr_value_segment_code
72740 , p_side => 'DEBIT'
72741 , p_override_seg_flag => 'Y'
72742 );
72743
72744 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72745
72746 xla_ae_lines_pkg.set_segment(
72747 p_to_segment_code => 'GL_ACCOUNT'
72748 , p_segment_value => l_segment
72749 , p_from_segment_code => l_adr_value_segment_code
72750 , p_from_combination_id => l_adr_value_combination_id
72751 , p_value_type_code => l_adr_value_type_code
72752 , p_transaction_coa_id => l_adr_transaction_coa_id
72753 , p_accounting_coa_id => l_adr_accounting_coa_id
72754 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72755 , p_flex_value_set_id => l_adr_flex_value_set_id
72756 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
72757 , p_adr_type_code => 'S'
72758 , p_component_type => l_component_type
72759 , p_component_code => l_component_code
72760 , p_component_type_code => l_component_type_code
72761 , p_component_appl_id => l_component_appl_id
72762 , p_amb_context_code => l_amb_context_code
72763 , p_entity_code => 'AP_PAYMENTS'
72764 , p_event_class_code => 'PAYMENTS'
72765 , p_side => 'DEBIT'
72766 );
72767
72768 END IF;
72769
72770 --
72771 --
72772 END IF;
72773 --
72774 -- Bug 4922099
72775 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
72776 (NVL(l_enc_upg_option, 'N') = 'O')
72777 ) AND
72778 (l_bflow_method_code = 'PRIOR_ENTRY')
72779 )
72780 THEN
72781 IF
72782 --
72783 1 = 2
72784 --
72785 THEN
72786 xla_accounting_err_pkg.build_message
72787 (p_appli_s_name => 'XLA'
72788 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72789 ,p_token_1 => 'LINE_NUMBER'
72790 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
72791 ,p_token_2 => 'LINE_TYPE_NAME'
72792 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
72793 l_component_type
72794 ,l_component_code
72795 ,l_component_type_code
72796 ,l_component_appl_id
72797 ,l_amb_context_code
72798 ,l_entity_code
72799 ,l_event_class_code
72800 )
72801 ,p_token_3 => 'OWNER'
72802 ,p_value_3 => xla_lookups_pkg.get_meaning(
72803 p_lookup_type => 'XLA_OWNER_TYPE'
72804 ,p_lookup_code => l_component_type_code
72805 )
72806 ,p_token_4 => 'PRODUCT_NAME'
72807 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
72808 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
72809 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
72810 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
72811 ,p_ae_header_id => NULL
72812 );
72813
72817 ,p_level => C_LEVEL_ERROR
72814 IF (C_LEVEL_ERROR>= g_log_level) THEN
72815 trace
72816 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
72818 ,p_module => l_log_module);
72819 END IF;
72820 END IF;
72821 END IF;
72822 --
72823 --
72824 ------------------------------------------------------------------------------------------------
72825 -- 4219869 Business Flow
72826 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
72827 -- Prior Entry. Currently, the following code is always generated.
72828 ------------------------------------------------------------------------------------------------
72829 XLA_AE_LINES_PKG.ValidateCurrentLine;
72830
72831 ------------------------------------------------------------------------------------
72832 -- 4219869 Business Flow
72833 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
72834 ------------------------------------------------------------------------------------
72835 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
72836
72837 ----------------------------------------------------------------------------------
72838 -- 4219869 Business Flow
72839 -- Update journal entry status -- Need to generate this within IF <condition>
72840 ----------------------------------------------------------------------------------
72841 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
72842 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
72843 ,p_balance_type_code => l_balance_type_code
72844 );
72845
72846 -------------------------------------------------------------------------------------------
72847 -- 4262811 - Generate the Accrual Reversal lines
72848 -------------------------------------------------------------------------------------------
72849 BEGIN
72850 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
72851 (g_array_event(p_event_id).array_value_num('header_index'));
72852 IF l_acc_rev_flag IS NULL THEN
72853 l_acc_rev_flag := 'N';
72854 END IF;
72855 EXCEPTION
72856 WHEN OTHERS THEN
72857 l_acc_rev_flag := 'N';
72858 END;
72859 --
72860 IF (l_acc_rev_flag = 'Y') THEN
72861
72862 -- 4645092 ------------------------------------------------------------------------------
72863 -- To allow MPA report to determine if it should generate report process
72864 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
72865 ------------------------------------------------------------------------------------------
72866
72867 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
72868 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
72869 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
72870 -- call ADRs
72871 -- Bug 4922099
72872 --
72873 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
72874 (NVL(l_actual_upg_option, 'N') = 'O') OR
72875 (NVL(l_enc_upg_option, 'N') = 'O')
72876 )
72877 THEN
72878 NULL;
72879 --
72880 --
72881
72882 l_ccid := AcctDerRule_37(
72883 p_application_id => p_application_id
72884 , p_ae_header_id => l_ae_header_id
72885 , p_source_3 => p_source_3
72886 , p_source_3_meaning => p_source_3_meaning
72887 , p_source_18 => p_source_18
72888 , p_source_24 => p_source_24
72889 , p_source_25 => p_source_25
72890 , x_transaction_coa_id => l_adr_transaction_coa_id
72891 , x_accounting_coa_id => l_adr_accounting_coa_id
72892 , x_value_type_code => l_adr_value_type_code
72893 , p_side => 'CREDIT'
72894 );
72895
72896 xla_ae_lines_pkg.set_ccid(
72897 p_code_combination_id => l_ccid
72898 , p_value_type_code => l_adr_value_type_code
72899 , p_transaction_coa_id => l_adr_transaction_coa_id
72900 , p_accounting_coa_id => l_adr_accounting_coa_id
72901 , p_adr_code => 'AP_REAL_GAIN'
72902 , p_adr_type_code => 'S'
72903 , p_component_type => l_component_type
72904 , p_component_code => l_component_code
72905 , p_component_type_code => l_component_type_code
72906 , p_component_appl_id => l_component_appl_id
72907 , p_amb_context_code => l_amb_context_code
72908 , p_side => 'CREDIT'
72909 );
72910
72911
72912 l_ccid := AcctDerRule_38(
72913 p_application_id => p_application_id
72914 , p_ae_header_id => l_ae_header_id
72915 , p_source_3 => p_source_3
72916 , p_source_3_meaning => p_source_3_meaning
72917 , p_source_18 => p_source_18
72918 , p_source_26 => p_source_26
72919 , p_source_27 => p_source_27
72920 , x_transaction_coa_id => l_adr_transaction_coa_id
72921 , x_accounting_coa_id => l_adr_accounting_coa_id
72922 , x_value_type_code => l_adr_value_type_code
72923 , p_side => 'DEBIT'
72924 );
72925
72926 xla_ae_lines_pkg.set_ccid(
72927 p_code_combination_id => l_ccid
72928 , p_value_type_code => l_adr_value_type_code
72932 , p_adr_type_code => 'S'
72929 , p_transaction_coa_id => l_adr_transaction_coa_id
72930 , p_accounting_coa_id => l_adr_accounting_coa_id
72931 , p_adr_code => 'AP_REAL_LOSS'
72933 , p_component_type => l_component_type
72934 , p_component_code => l_component_code
72935 , p_component_type_code => l_component_type_code
72936 , p_component_appl_id => l_component_appl_id
72937 , p_amb_context_code => l_amb_context_code
72938 , p_side => 'DEBIT'
72939 );
72940
72941
72942 l_segment := AcctDerRule_21(
72943 p_application_id => p_application_id
72944 , p_ae_header_id => l_ae_header_id
72945 , p_source_3 => p_source_3
72946 , p_source_3_meaning => p_source_3_meaning
72947 , p_source_18 => p_source_18
72948 , x_transaction_coa_id => l_adr_transaction_coa_id
72949 , x_accounting_coa_id => l_adr_accounting_coa_id
72950 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72951 , x_flex_value_set_id => l_adr_flex_value_set_id
72952 , x_value_type_code => l_adr_value_type_code
72953 , x_value_combination_id => l_adr_value_combination_id
72954 , x_value_segment_code => l_adr_value_segment_code
72955 , p_side => 'ALL'
72956 , p_override_seg_flag => 'Y'
72957 );
72958
72959 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
72960
72961 xla_ae_lines_pkg.set_segment(
72962 p_to_segment_code => 'GL_BALANCING'
72963 , p_segment_value => l_segment
72964 , p_from_segment_code => l_adr_value_segment_code
72965 , p_from_combination_id => l_adr_value_combination_id
72966 , p_value_type_code => l_adr_value_type_code
72967 , p_transaction_coa_id => l_adr_transaction_coa_id
72968 , p_accounting_coa_id => l_adr_accounting_coa_id
72969 , p_flexfield_segment_code => l_adr_flexfield_segment_code
72970 , p_flex_value_set_id => l_adr_flex_value_set_id
72971 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
72972 , p_adr_type_code => 'S'
72973 , p_component_type => l_component_type
72974 , p_component_code => l_component_code
72975 , p_component_type_code => l_component_type_code
72976 , p_component_appl_id => l_component_appl_id
72977 , p_amb_context_code => l_amb_context_code
72978 , p_entity_code => 'AP_PAYMENTS'
72979 , p_event_class_code => 'PAYMENTS'
72980 , p_side => 'ALL'
72981 );
72982
72983 END IF;
72984
72985 l_segment := AcctDerRule_16(
72986 p_application_id => p_application_id
72987 , p_ae_header_id => l_ae_header_id
72988 , p_source_3 => p_source_3
72989 , p_source_3_meaning => p_source_3_meaning
72990 , p_source_24 => p_source_24
72991 , p_source_25 => p_source_25
72992 , x_transaction_coa_id => l_adr_transaction_coa_id
72993 , x_accounting_coa_id => l_adr_accounting_coa_id
72994 , x_flexfield_segment_code => l_adr_flexfield_segment_code
72995 , x_flex_value_set_id => l_adr_flex_value_set_id
72996 , x_value_type_code => l_adr_value_type_code
72997 , x_value_combination_id => l_adr_value_combination_id
72998 , x_value_segment_code => l_adr_value_segment_code
72999 , p_side => 'CREDIT'
73000 , p_override_seg_flag => 'Y'
73001 );
73002
73003 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73004
73005 xla_ae_lines_pkg.set_segment(
73006 p_to_segment_code => 'GL_ACCOUNT'
73007 , p_segment_value => l_segment
73008 , p_from_segment_code => l_adr_value_segment_code
73009 , p_from_combination_id => l_adr_value_combination_id
73010 , p_value_type_code => l_adr_value_type_code
73011 , p_transaction_coa_id => l_adr_transaction_coa_id
73012 , p_accounting_coa_id => l_adr_accounting_coa_id
73013 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73014 , p_flex_value_set_id => l_adr_flex_value_set_id
73015 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73016 , p_adr_type_code => 'S'
73017 , p_component_type => l_component_type
73018 , p_component_code => l_component_code
73019 , p_component_type_code => l_component_type_code
73020 , p_component_appl_id => l_component_appl_id
73021 , p_amb_context_code => l_amb_context_code
73022 , p_entity_code => 'AP_PAYMENTS'
73023 , p_event_class_code => 'PAYMENTS'
73024 , p_side => 'CREDIT'
73025 );
73026
73027 END IF;
73028
73029 l_segment := AcctDerRule_17(
73030 p_application_id => p_application_id
73031 , p_ae_header_id => l_ae_header_id
73032 , p_source_3 => p_source_3
73033 , p_source_3_meaning => p_source_3_meaning
73034 , p_source_26 => p_source_26
73035 , p_source_27 => p_source_27
73036 , x_transaction_coa_id => l_adr_transaction_coa_id
73040 , x_value_type_code => l_adr_value_type_code
73037 , x_accounting_coa_id => l_adr_accounting_coa_id
73038 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73039 , x_flex_value_set_id => l_adr_flex_value_set_id
73041 , x_value_combination_id => l_adr_value_combination_id
73042 , x_value_segment_code => l_adr_value_segment_code
73043 , p_side => 'DEBIT'
73044 , p_override_seg_flag => 'Y'
73045 );
73046
73047 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73048
73049 xla_ae_lines_pkg.set_segment(
73050 p_to_segment_code => 'GL_ACCOUNT'
73051 , p_segment_value => l_segment
73052 , p_from_segment_code => l_adr_value_segment_code
73053 , p_from_combination_id => l_adr_value_combination_id
73054 , p_value_type_code => l_adr_value_type_code
73055 , p_transaction_coa_id => l_adr_transaction_coa_id
73056 , p_accounting_coa_id => l_adr_accounting_coa_id
73057 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73058 , p_flex_value_set_id => l_adr_flex_value_set_id
73059 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
73060 , p_adr_type_code => 'S'
73061 , p_component_type => l_component_type
73062 , p_component_code => l_component_code
73063 , p_component_type_code => l_component_type_code
73064 , p_component_appl_id => l_component_appl_id
73065 , p_amb_context_code => l_amb_context_code
73066 , p_entity_code => 'AP_PAYMENTS'
73067 , p_event_class_code => 'PAYMENTS'
73068 , p_side => 'DEBIT'
73069 );
73070
73071 END IF;
73072
73073 --
73074 --
73075 END IF;
73076
73077 --
73078 -- Update the line information that should be overwritten
73079 --
73080 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
73081 p_header_num => 1);
73082 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
73083
73084 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
73085
73086 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
73087 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
73088 END IF;
73089
73090 --
73091 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
73092 --
73093 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
73094 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
73095 ELSE
73096 ---------------------------------------------------------------------------------------------------
73097 -- 4262811a Switch Sign
73098 ---------------------------------------------------------------------------------------------------
73099 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
73100 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73101 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73102 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
73103 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73104 -- 5132302
73105 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
73106 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
73107
73108 END IF;
73109
73110 -- 4955764
73111 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73112 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
73113
73114
73115 XLA_AE_LINES_PKG.ValidateCurrentLine;
73116 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73117
73118 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73119 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
73120 ,p_balance_type_code => l_balance_type_code);
73121
73122 END IF;
73123
73124 -----------------------------------------------------------------------------------------
73125 -- 4262811 Multiperiod Accounting
73126 -----------------------------------------------------------------------------------------
73127 -- No MPA option is assigned.
73128
73129
73130 END IF;
73131 END IF;
73132 --
73133
73134 --
73135 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73136 trace
73137 (p_msg => 'END of AcctLineType_138'
73138 ,p_level => C_LEVEL_PROCEDURE
73139 ,p_module => l_log_module);
73140 END IF;
73141 --
73142 EXCEPTION
73143 WHEN xla_exceptions_pkg.application_exception THEN
73144 RAISE;
73145 WHEN OTHERS THEN
73146 xla_exceptions_pkg.raise_message
73147 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_138');
73148 END AcctLineType_138;
73149 --
73150
73154 -- AcctLineType_139
73151 ---------------------------------------
73152 --
73153 -- PRIVATE FUNCTION
73155 --
73156 ---------------------------------------
73157 PROCEDURE AcctLineType_139 (
73158 p_application_id IN NUMBER
73159 ,p_event_id IN NUMBER
73160 ,p_calculate_acctd_flag IN VARCHAR2
73161 ,p_calculate_g_l_flag IN VARCHAR2
73162 ,p_actual_flag IN OUT VARCHAR2
73163 ,p_balance_type_code OUT VARCHAR2
73164 ,p_gain_or_loss_ref OUT VARCHAR2
73165
73166 --Automatic Offsets Value
73167 , p_source_3 IN VARCHAR2
73168 , p_source_3_meaning IN VARCHAR2
73169 --Invoice Distribution Account
73170 , p_source_18 IN NUMBER
73171 --Internal Realized Gain Account
73172 , p_source_24 IN NUMBER
73173 --Bank Gain Account
73174 , p_source_25 IN NUMBER
73175 --Internal Realized Loss Account
73176 , p_source_26 IN NUMBER
73177 --Bank Loss Account
73178 , p_source_27 IN NUMBER
73179 --Accounting Reversal Indicator
73180 , p_source_41 IN VARCHAR2
73181 --Distribution Link Type
73182 , p_source_43 IN VARCHAR2
73183 --Override Accounted Amount Indicator
73184 , p_source_68 IN VARCHAR2
73185 , p_source_68_meaning IN VARCHAR2
73186 --Third Party Type
73187 , p_source_71 IN VARCHAR2
73188 --Business Flow Accounts Payable Application Identifier
73189 , p_source_79 IN NUMBER
73190 --When to Account for Payment Option
73191 , p_source_89 IN VARCHAR2
73192 --Payment Distribution Type
73193 , p_source_90 IN VARCHAR2
73194 , p_source_90_meaning IN VARCHAR2
73195 --Business Flow Payment Distribution Type
73196 , p_source_92 IN VARCHAR2
73197 --Business Flow Payment Entity Code
73198 , p_source_93 IN VARCHAR2
73199 --Business Flow Payment Distribution Identifier
73200 , p_source_94 IN NUMBER
73201 --Business Flow Payment Identifier
73202 , p_source_95 IN NUMBER
73203 --Payment Distribution Identifier
73204 , p_source_96 IN NUMBER
73205 --Payment Supplier Identifier
73206 , p_source_102 IN NUMBER
73207 --Payment Supplier Site Identifier
73208 , p_source_103 IN NUMBER
73209 --Payment Distribution Reversed Identifier
73210 , p_source_104 IN NUMBER
73211 --Payment Maturity Date
73212 , p_source_107 IN DATE
73213 --Payment/Maturity Ledger Amount Difference
73214 , p_source_149 IN NUMBER
73215 )
73216 IS
73217
73218 l_component_type VARCHAR2(80);
73219 l_component_code VARCHAR2(30);
73220 l_component_type_code VARCHAR2(1);
73221 l_component_appl_id INTEGER;
73222 l_amb_context_code VARCHAR2(30);
73223 l_entity_code VARCHAR2(30);
73224 l_event_class_code VARCHAR2(30);
73225 l_ae_header_id NUMBER;
73226 l_event_type_code VARCHAR2(30);
73227 l_line_definition_code VARCHAR2(30);
73228 l_line_definition_owner_code VARCHAR2(1);
73229 --
73230 -- adr variables
73231 l_segment VARCHAR2(30);
73232 l_ccid NUMBER;
73233 l_adr_transaction_coa_id NUMBER;
73234 l_adr_accounting_coa_id NUMBER;
73235 l_adr_flexfield_segment_code VARCHAR2(30);
73236 l_adr_flex_value_set_id NUMBER;
73237 l_adr_value_type_code VARCHAR2(30);
73238 l_adr_value_combination_id NUMBER;
73239 l_adr_value_segment_code VARCHAR2(30);
73240
73241 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
73242 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
73243 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
73244 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
73245
73246 -- 4262811 Variables ------------------------------------------------------------------------------------------
73247 l_entered_amt_idx NUMBER;
73248 l_accted_amt_idx NUMBER;
73249 l_acc_rev_flag VARCHAR2(1);
73250 l_accrual_line_num NUMBER;
73251 l_tmp_amt NUMBER;
73252 l_acc_rev_natural_side_code VARCHAR2(1);
73253
73254 l_num_entries NUMBER;
73255 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
73256 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
73257 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
73258 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
73259 l_recog_line_1 NUMBER;
73260 l_recog_line_2 NUMBER;
73261
73262 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
73263 l_bflow_applied_to_amt NUMBER; -- 5132302
73264 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
73265
73266 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
73267
73268 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
73269 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
73270
73271 ---------------------------------------------------------------------------------------------------------------
73272
73273
73274 --
73275 -- bulk performance
73276 --
73277 l_balance_type_code VARCHAR2(1);
73281 --
73278 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
73279 l_log_module VARCHAR2(240);
73280
73282 -- Upgrade strategy
73283 --
73284 l_actual_upg_option VARCHAR2(1);
73285 l_enc_upg_option VARCHAR2(1);
73286
73287 --
73288 BEGIN
73289 --
73290 IF g_log_enabled THEN
73291 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_139';
73292 END IF;
73293 --
73294 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
73295
73296 trace
73297 (p_msg => 'BEGIN of AcctLineType_139'
73298 ,p_level => C_LEVEL_PROCEDURE
73299 ,p_module => l_log_module);
73300
73301 END IF;
73302 --
73303 l_component_type := 'AMB_JLT';
73304 l_component_code := 'AP_GAIN_LOSS_PMT_MAT';
73305 l_component_type_code := 'S';
73306 l_component_appl_id := 200;
73307 l_amb_context_code := 'DEFAULT';
73308 l_entity_code := 'AP_PAYMENTS';
73309 l_event_class_code := 'FUTURE DATED PAYMENTS';
73310 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
73311 l_line_definition_owner_code := 'S';
73312 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
73313 --
73314 l_balance_type_code := 'A';
73315 l_segment := NULL;
73316 l_ccid := NULL;
73317 l_adr_transaction_coa_id := NULL;
73318 l_adr_accounting_coa_id := NULL;
73319 l_adr_flexfield_segment_code := NULL;
73320 l_adr_flex_value_set_id := NULL;
73321 l_adr_value_type_code := NULL;
73322 l_adr_value_combination_id := NULL;
73323 l_adr_value_segment_code := NULL;
73324
73325 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
73326 l_bflow_class_code := ''; -- 4219869 Business Flow
73327 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
73328 l_budgetary_control_flag := 'N';
73329
73330 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73331 l_bflow_applied_to_amt := NULL; -- 5132302
73332 l_entered_amt_idx := NULL; -- 4262811
73333 l_accted_amt_idx := NULL; -- 4262811
73334 l_acc_rev_flag := NULL; -- 4262811
73335 l_accrual_line_num := NULL; -- 4262811
73336 l_tmp_amt := NULL; -- 4262811
73337 --
73338 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
73339 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
73340 return;
73341 END IF;
73342
73343 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
73344 l_balance_type_code <> 'B' THEN
73345 IF (NVL(p_source_89,'
73346 ') = 'ALWAYS_ALWAYS' OR
73347 NVL(p_source_89,'
73348 ') = 'ALWAYS_ISSUE') AND
73349 p_source_107 IS NOT NULL AND
73350 NVL(p_source_90,'
73351 ') <> 'EXCHANGE RATE VARIANCE' AND
73352 NVL(p_source_90,'
73353 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
73354 NVL(p_source_90,'
73355 ') <> 'BANK CHARGE' AND
73356 NVL(p_source_90,'
73357 ') <> 'BANK ERROR'
73358 THEN
73359
73360 --
73361 XLA_AE_LINES_PKG.SetNewLine;
73362
73363 p_balance_type_code := l_balance_type_code;
73364 -- set the flag so later we will know whether the gain loss line needs to be created
73365
73366 IF(l_balance_type_code = 'A' ) THEN
73367 p_actual_flag :='G';
73368 END IF;
73369
73370 --
73371 -- bulk performance
73372 --
73373 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
73374 p_header_num => 0); -- 4262811
73375 --
73376 -- set accounting line options
73377 --
73378 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
73379 p_natural_side_code => 'G'
73380 , p_gain_or_loss_flag => 'N'
73381 , p_gl_transfer_mode_code => 'S'
73382 , p_acct_entry_type_code => 'A'
73383 , p_switch_side_flag => ''
73384 , p_merge_duplicate_code => 'A'
73385 );
73386 --
73387 l_acc_rev_natural_side_code := 'C'; -- 4262811
73388 --
73389 --
73390 -- set accounting line type info
73391 --
73392 xla_ae_lines_pkg.SetAcctLineType
73393 (p_component_type => l_component_type
73394 ,p_event_type_code => l_event_type_code
73395 ,p_line_definition_owner_code => l_line_definition_owner_code
73396 ,p_line_definition_code => l_line_definition_code
73397 ,p_accounting_line_code => l_component_code
73398 ,p_accounting_line_type_code => l_component_type_code
73399 ,p_accounting_line_appl_id => l_component_appl_id
73400 ,p_amb_context_code => l_amb_context_code
73401 ,p_entity_code => l_entity_code
73402 ,p_event_class_code => l_event_class_code);
73403 --
73404 -- set accounting class
73405 --
73406 xla_ae_lines_pkg.SetAcctClass(
73407 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
73408 , p_ae_header_id => l_ae_header_id
73409 );
73410
73411 --
73412 -- set rounding class
73413 --
73417 --
73414 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
73415 'EXCHANGE_GAIN_LOSS';
73416
73418 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
73419 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
73420 --
73421 -- bulk performance
73422 --
73423 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
73424
73425 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
73426 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
73427
73428 -- 4955764
73429 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
73430 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
73431
73432 -- 4458381 Public Sector Enh
73433
73434 --
73435 -- set accounting attributes for the line type
73436 --
73437 l_entered_amt_idx := NULL;
73438 l_accted_amt_idx := 9;
73439 l_bflow_applied_to_amt_idx := NULL; -- 5132302
73440 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
73441 l_rec_acct_attrs.array_char_value(1) := p_source_41;
73442 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
73443 l_rec_acct_attrs.array_num_value(2) := p_source_79;
73444 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
73445 l_rec_acct_attrs.array_char_value(3) := p_source_92;
73446 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
73447 l_rec_acct_attrs.array_char_value(4) := p_source_93;
73448 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
73449 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
73450 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
73451 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
73452 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
73453 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
73454 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
73455 l_rec_acct_attrs.array_char_value(8) := p_source_43;
73456 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
73457 l_rec_acct_attrs.array_num_value(9) := p_source_149;
73458 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
73459 l_rec_acct_attrs.array_char_value(10) := p_source_68;
73460 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
73461 l_rec_acct_attrs.array_num_value(11) := p_source_102;
73462 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
73463 l_rec_acct_attrs.array_num_value(12) := p_source_103;
73464 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
73465 l_rec_acct_attrs.array_char_value(13) := p_source_71;
73466 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
73467 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_104);
73468 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
73469 l_rec_acct_attrs.array_char_value(15) := p_source_43;
73470
73471 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
73472 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
73473
73474 ---------------------------------------------------------------------------------------------------------------
73475 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
73476 ---------------------------------------------------------------------------------------------------------------
73477 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
73478
73479 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73480 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
73481
73482 IF xla_accounting_cache_pkg.GetValueChar
73483 (p_source_code => 'LEDGER_CATEGORY_CODE'
73484 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
73485 AND l_bflow_method_code = 'PRIOR_ENTRY'
73486 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
73487 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
73488 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
73489 )
73490 THEN
73491 xla_ae_lines_pkg.BflowUpgEntry
73492 (p_business_method_code => l_bflow_method_code
73493 ,p_business_class_code => l_bflow_class_code
73494 ,p_balance_type => l_balance_type_code);
73495 ELSE
73496 NULL;
73497 -- No business flow processing for business flow method of NONE.
73498 END IF;
73499
73500 --
73501 -- call analytical criteria
73502 --
73503
73504 --
73505 -- call description
73506 --
73507 -- No description or it is inherited.
73508 --
73509 -- call ADRs
73510 -- Bug 4922099
73511 --
73512 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73513 (NVL(l_actual_upg_option, 'N') = 'O') OR
73514 (NVL(l_enc_upg_option, 'N') = 'O')
73515 )
73516 THEN
73517 NULL;
73518 --
73519 --
73520
73521 l_ccid := AcctDerRule_37(
73522 p_application_id => p_application_id
73526 , p_source_18 => p_source_18
73523 , p_ae_header_id => l_ae_header_id
73524 , p_source_3 => p_source_3
73525 , p_source_3_meaning => p_source_3_meaning
73527 , p_source_24 => p_source_24
73528 , p_source_25 => p_source_25
73529 , x_transaction_coa_id => l_adr_transaction_coa_id
73530 , x_accounting_coa_id => l_adr_accounting_coa_id
73531 , x_value_type_code => l_adr_value_type_code
73532 , p_side => 'CREDIT'
73533 );
73534
73535 xla_ae_lines_pkg.set_ccid(
73536 p_code_combination_id => l_ccid
73537 , p_value_type_code => l_adr_value_type_code
73538 , p_transaction_coa_id => l_adr_transaction_coa_id
73539 , p_accounting_coa_id => l_adr_accounting_coa_id
73540 , p_adr_code => 'AP_REAL_GAIN'
73541 , p_adr_type_code => 'S'
73542 , p_component_type => l_component_type
73543 , p_component_code => l_component_code
73544 , p_component_type_code => l_component_type_code
73545 , p_component_appl_id => l_component_appl_id
73546 , p_amb_context_code => l_amb_context_code
73547 , p_side => 'CREDIT'
73548 );
73549
73550
73551 l_ccid := AcctDerRule_38(
73552 p_application_id => p_application_id
73553 , p_ae_header_id => l_ae_header_id
73554 , p_source_3 => p_source_3
73555 , p_source_3_meaning => p_source_3_meaning
73556 , p_source_18 => p_source_18
73557 , p_source_26 => p_source_26
73558 , p_source_27 => p_source_27
73559 , x_transaction_coa_id => l_adr_transaction_coa_id
73560 , x_accounting_coa_id => l_adr_accounting_coa_id
73561 , x_value_type_code => l_adr_value_type_code
73562 , p_side => 'DEBIT'
73563 );
73564
73565 xla_ae_lines_pkg.set_ccid(
73566 p_code_combination_id => l_ccid
73567 , p_value_type_code => l_adr_value_type_code
73568 , p_transaction_coa_id => l_adr_transaction_coa_id
73569 , p_accounting_coa_id => l_adr_accounting_coa_id
73570 , p_adr_code => 'AP_REAL_LOSS'
73571 , p_adr_type_code => 'S'
73572 , p_component_type => l_component_type
73573 , p_component_code => l_component_code
73574 , p_component_type_code => l_component_type_code
73575 , p_component_appl_id => l_component_appl_id
73576 , p_amb_context_code => l_amb_context_code
73577 , p_side => 'DEBIT'
73578 );
73579
73580
73581 l_segment := AcctDerRule_21(
73582 p_application_id => p_application_id
73583 , p_ae_header_id => l_ae_header_id
73584 , p_source_3 => p_source_3
73585 , p_source_3_meaning => p_source_3_meaning
73586 , p_source_18 => p_source_18
73587 , x_transaction_coa_id => l_adr_transaction_coa_id
73588 , x_accounting_coa_id => l_adr_accounting_coa_id
73589 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73590 , x_flex_value_set_id => l_adr_flex_value_set_id
73591 , x_value_type_code => l_adr_value_type_code
73592 , x_value_combination_id => l_adr_value_combination_id
73593 , x_value_segment_code => l_adr_value_segment_code
73594 , p_side => 'ALL'
73595 , p_override_seg_flag => 'Y'
73596 );
73597
73598 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73599
73600 xla_ae_lines_pkg.set_segment(
73601 p_to_segment_code => 'GL_BALANCING'
73602 , p_segment_value => l_segment
73603 , p_from_segment_code => l_adr_value_segment_code
73604 , p_from_combination_id => l_adr_value_combination_id
73605 , p_value_type_code => l_adr_value_type_code
73606 , p_transaction_coa_id => l_adr_transaction_coa_id
73607 , p_accounting_coa_id => l_adr_accounting_coa_id
73608 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73609 , p_flex_value_set_id => l_adr_flex_value_set_id
73610 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73611 , p_adr_type_code => 'S'
73612 , p_component_type => l_component_type
73613 , p_component_code => l_component_code
73614 , p_component_type_code => l_component_type_code
73615 , p_component_appl_id => l_component_appl_id
73616 , p_amb_context_code => l_amb_context_code
73617 , p_entity_code => 'AP_PAYMENTS'
73618 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73619 , p_side => 'ALL'
73620 );
73621
73622 END IF;
73623
73624 l_segment := AcctDerRule_16(
73625 p_application_id => p_application_id
73626 , p_ae_header_id => l_ae_header_id
73627 , p_source_3 => p_source_3
73628 , p_source_3_meaning => p_source_3_meaning
73629 , p_source_24 => p_source_24
73630 , p_source_25 => p_source_25
73631 , x_transaction_coa_id => l_adr_transaction_coa_id
73632 , x_accounting_coa_id => l_adr_accounting_coa_id
73633 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73637 , x_value_segment_code => l_adr_value_segment_code
73634 , x_flex_value_set_id => l_adr_flex_value_set_id
73635 , x_value_type_code => l_adr_value_type_code
73636 , x_value_combination_id => l_adr_value_combination_id
73638 , p_side => 'CREDIT'
73639 , p_override_seg_flag => 'Y'
73640 );
73641
73642 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73643
73644 xla_ae_lines_pkg.set_segment(
73645 p_to_segment_code => 'GL_ACCOUNT'
73646 , p_segment_value => l_segment
73647 , p_from_segment_code => l_adr_value_segment_code
73648 , p_from_combination_id => l_adr_value_combination_id
73649 , p_value_type_code => l_adr_value_type_code
73650 , p_transaction_coa_id => l_adr_transaction_coa_id
73651 , p_accounting_coa_id => l_adr_accounting_coa_id
73652 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73653 , p_flex_value_set_id => l_adr_flex_value_set_id
73654 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73655 , p_adr_type_code => 'S'
73656 , p_component_type => l_component_type
73657 , p_component_code => l_component_code
73658 , p_component_type_code => l_component_type_code
73659 , p_component_appl_id => l_component_appl_id
73660 , p_amb_context_code => l_amb_context_code
73661 , p_entity_code => 'AP_PAYMENTS'
73662 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73663 , p_side => 'CREDIT'
73664 );
73665
73666 END IF;
73667
73668 l_segment := AcctDerRule_17(
73669 p_application_id => p_application_id
73670 , p_ae_header_id => l_ae_header_id
73671 , p_source_3 => p_source_3
73672 , p_source_3_meaning => p_source_3_meaning
73673 , p_source_26 => p_source_26
73674 , p_source_27 => p_source_27
73675 , x_transaction_coa_id => l_adr_transaction_coa_id
73676 , x_accounting_coa_id => l_adr_accounting_coa_id
73677 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73678 , x_flex_value_set_id => l_adr_flex_value_set_id
73679 , x_value_type_code => l_adr_value_type_code
73680 , x_value_combination_id => l_adr_value_combination_id
73681 , x_value_segment_code => l_adr_value_segment_code
73682 , p_side => 'DEBIT'
73683 , p_override_seg_flag => 'Y'
73684 );
73685
73686 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73687
73688 xla_ae_lines_pkg.set_segment(
73689 p_to_segment_code => 'GL_ACCOUNT'
73690 , p_segment_value => l_segment
73691 , p_from_segment_code => l_adr_value_segment_code
73692 , p_from_combination_id => l_adr_value_combination_id
73693 , p_value_type_code => l_adr_value_type_code
73694 , p_transaction_coa_id => l_adr_transaction_coa_id
73695 , p_accounting_coa_id => l_adr_accounting_coa_id
73696 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73697 , p_flex_value_set_id => l_adr_flex_value_set_id
73698 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
73699 , p_adr_type_code => 'S'
73700 , p_component_type => l_component_type
73701 , p_component_code => l_component_code
73702 , p_component_type_code => l_component_type_code
73703 , p_component_appl_id => l_component_appl_id
73704 , p_amb_context_code => l_amb_context_code
73705 , p_entity_code => 'AP_PAYMENTS'
73706 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73707 , p_side => 'DEBIT'
73708 );
73709
73710 END IF;
73711
73712 --
73713 --
73714 END IF;
73715 --
73716 -- Bug 4922099
73717 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
73718 (NVL(l_enc_upg_option, 'N') = 'O')
73719 ) AND
73720 (l_bflow_method_code = 'PRIOR_ENTRY')
73721 )
73722 THEN
73723 IF
73724 --
73725 1 = 2
73726 --
73727 THEN
73728 xla_accounting_err_pkg.build_message
73729 (p_appli_s_name => 'XLA'
73730 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73731 ,p_token_1 => 'LINE_NUMBER'
73732 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
73733 ,p_token_2 => 'LINE_TYPE_NAME'
73734 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
73735 l_component_type
73736 ,l_component_code
73737 ,l_component_type_code
73738 ,l_component_appl_id
73742 )
73739 ,l_amb_context_code
73740 ,l_entity_code
73741 ,l_event_class_code
73743 ,p_token_3 => 'OWNER'
73744 ,p_value_3 => xla_lookups_pkg.get_meaning(
73745 p_lookup_type => 'XLA_OWNER_TYPE'
73746 ,p_lookup_code => l_component_type_code
73747 )
73748 ,p_token_4 => 'PRODUCT_NAME'
73749 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
73750 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
73751 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
73752 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
73753 ,p_ae_header_id => NULL
73754 );
73755
73756 IF (C_LEVEL_ERROR>= g_log_level) THEN
73757 trace
73758 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
73759 ,p_level => C_LEVEL_ERROR
73760 ,p_module => l_log_module);
73761 END IF;
73762 END IF;
73763 END IF;
73764 --
73765 --
73766 ------------------------------------------------------------------------------------------------
73767 -- 4219869 Business Flow
73768 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
73769 -- Prior Entry. Currently, the following code is always generated.
73770 ------------------------------------------------------------------------------------------------
73771 XLA_AE_LINES_PKG.ValidateCurrentLine;
73772
73773 ------------------------------------------------------------------------------------
73774 -- 4219869 Business Flow
73775 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
73776 ------------------------------------------------------------------------------------
73777 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
73778
73779 ----------------------------------------------------------------------------------
73780 -- 4219869 Business Flow
73781 -- Update journal entry status -- Need to generate this within IF <condition>
73782 ----------------------------------------------------------------------------------
73783 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
73784 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
73785 ,p_balance_type_code => l_balance_type_code
73786 );
73787
73788 -------------------------------------------------------------------------------------------
73789 -- 4262811 - Generate the Accrual Reversal lines
73790 -------------------------------------------------------------------------------------------
73791 BEGIN
73792 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
73793 (g_array_event(p_event_id).array_value_num('header_index'));
73794 IF l_acc_rev_flag IS NULL THEN
73795 l_acc_rev_flag := 'N';
73796 END IF;
73797 EXCEPTION
73798 WHEN OTHERS THEN
73799 l_acc_rev_flag := 'N';
73800 END;
73801 --
73802 IF (l_acc_rev_flag = 'Y') THEN
73803
73804 -- 4645092 ------------------------------------------------------------------------------
73805 -- To allow MPA report to determine if it should generate report process
73806 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
73807 ------------------------------------------------------------------------------------------
73808
73809 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
73810 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
73811 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
73812 -- call ADRs
73813 -- Bug 4922099
73814 --
73815 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
73816 (NVL(l_actual_upg_option, 'N') = 'O') OR
73817 (NVL(l_enc_upg_option, 'N') = 'O')
73818 )
73819 THEN
73820 NULL;
73821 --
73822 --
73823
73824 l_ccid := AcctDerRule_37(
73825 p_application_id => p_application_id
73826 , p_ae_header_id => l_ae_header_id
73827 , p_source_3 => p_source_3
73828 , p_source_3_meaning => p_source_3_meaning
73829 , p_source_18 => p_source_18
73830 , p_source_24 => p_source_24
73831 , p_source_25 => p_source_25
73832 , x_transaction_coa_id => l_adr_transaction_coa_id
73833 , x_accounting_coa_id => l_adr_accounting_coa_id
73834 , x_value_type_code => l_adr_value_type_code
73835 , p_side => 'CREDIT'
73836 );
73837
73838 xla_ae_lines_pkg.set_ccid(
73839 p_code_combination_id => l_ccid
73840 , p_value_type_code => l_adr_value_type_code
73844 , p_adr_type_code => 'S'
73841 , p_transaction_coa_id => l_adr_transaction_coa_id
73842 , p_accounting_coa_id => l_adr_accounting_coa_id
73843 , p_adr_code => 'AP_REAL_GAIN'
73845 , p_component_type => l_component_type
73846 , p_component_code => l_component_code
73847 , p_component_type_code => l_component_type_code
73848 , p_component_appl_id => l_component_appl_id
73849 , p_amb_context_code => l_amb_context_code
73850 , p_side => 'CREDIT'
73851 );
73852
73853
73854 l_ccid := AcctDerRule_38(
73855 p_application_id => p_application_id
73856 , p_ae_header_id => l_ae_header_id
73857 , p_source_3 => p_source_3
73858 , p_source_3_meaning => p_source_3_meaning
73859 , p_source_18 => p_source_18
73860 , p_source_26 => p_source_26
73861 , p_source_27 => p_source_27
73862 , x_transaction_coa_id => l_adr_transaction_coa_id
73863 , x_accounting_coa_id => l_adr_accounting_coa_id
73864 , x_value_type_code => l_adr_value_type_code
73865 , p_side => 'DEBIT'
73866 );
73867
73868 xla_ae_lines_pkg.set_ccid(
73869 p_code_combination_id => l_ccid
73870 , p_value_type_code => l_adr_value_type_code
73871 , p_transaction_coa_id => l_adr_transaction_coa_id
73872 , p_accounting_coa_id => l_adr_accounting_coa_id
73873 , p_adr_code => 'AP_REAL_LOSS'
73874 , p_adr_type_code => 'S'
73875 , p_component_type => l_component_type
73876 , p_component_code => l_component_code
73877 , p_component_type_code => l_component_type_code
73878 , p_component_appl_id => l_component_appl_id
73879 , p_amb_context_code => l_amb_context_code
73880 , p_side => 'DEBIT'
73881 );
73882
73883
73884 l_segment := AcctDerRule_21(
73885 p_application_id => p_application_id
73886 , p_ae_header_id => l_ae_header_id
73887 , p_source_3 => p_source_3
73888 , p_source_3_meaning => p_source_3_meaning
73889 , p_source_18 => p_source_18
73890 , x_transaction_coa_id => l_adr_transaction_coa_id
73891 , x_accounting_coa_id => l_adr_accounting_coa_id
73892 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73893 , x_flex_value_set_id => l_adr_flex_value_set_id
73894 , x_value_type_code => l_adr_value_type_code
73895 , x_value_combination_id => l_adr_value_combination_id
73896 , x_value_segment_code => l_adr_value_segment_code
73897 , p_side => 'ALL'
73898 , p_override_seg_flag => 'Y'
73899 );
73900
73901 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73902
73903 xla_ae_lines_pkg.set_segment(
73904 p_to_segment_code => 'GL_BALANCING'
73905 , p_segment_value => l_segment
73906 , p_from_segment_code => l_adr_value_segment_code
73907 , p_from_combination_id => l_adr_value_combination_id
73908 , p_value_type_code => l_adr_value_type_code
73909 , p_transaction_coa_id => l_adr_transaction_coa_id
73910 , p_accounting_coa_id => l_adr_accounting_coa_id
73911 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73912 , p_flex_value_set_id => l_adr_flex_value_set_id
73913 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
73914 , p_adr_type_code => 'S'
73915 , p_component_type => l_component_type
73916 , p_component_code => l_component_code
73917 , p_component_type_code => l_component_type_code
73918 , p_component_appl_id => l_component_appl_id
73919 , p_amb_context_code => l_amb_context_code
73920 , p_entity_code => 'AP_PAYMENTS'
73921 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73922 , p_side => 'ALL'
73923 );
73924
73925 END IF;
73926
73927 l_segment := AcctDerRule_16(
73928 p_application_id => p_application_id
73929 , p_ae_header_id => l_ae_header_id
73930 , p_source_3 => p_source_3
73931 , p_source_3_meaning => p_source_3_meaning
73932 , p_source_24 => p_source_24
73933 , p_source_25 => p_source_25
73934 , x_transaction_coa_id => l_adr_transaction_coa_id
73935 , x_accounting_coa_id => l_adr_accounting_coa_id
73936 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73937 , x_flex_value_set_id => l_adr_flex_value_set_id
73938 , x_value_type_code => l_adr_value_type_code
73939 , x_value_combination_id => l_adr_value_combination_id
73940 , x_value_segment_code => l_adr_value_segment_code
73941 , p_side => 'CREDIT'
73942 , p_override_seg_flag => 'Y'
73943 );
73944
73945 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73946
73947 xla_ae_lines_pkg.set_segment(
73948 p_to_segment_code => 'GL_ACCOUNT'
73949 , p_segment_value => l_segment
73950 , p_from_segment_code => l_adr_value_segment_code
73951 , p_from_combination_id => l_adr_value_combination_id
73955 , p_flexfield_segment_code => l_adr_flexfield_segment_code
73952 , p_value_type_code => l_adr_value_type_code
73953 , p_transaction_coa_id => l_adr_transaction_coa_id
73954 , p_accounting_coa_id => l_adr_accounting_coa_id
73956 , p_flex_value_set_id => l_adr_flex_value_set_id
73957 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
73958 , p_adr_type_code => 'S'
73959 , p_component_type => l_component_type
73960 , p_component_code => l_component_code
73961 , p_component_type_code => l_component_type_code
73962 , p_component_appl_id => l_component_appl_id
73963 , p_amb_context_code => l_amb_context_code
73964 , p_entity_code => 'AP_PAYMENTS'
73965 , p_event_class_code => 'FUTURE DATED PAYMENTS'
73966 , p_side => 'CREDIT'
73967 );
73968
73969 END IF;
73970
73971 l_segment := AcctDerRule_17(
73972 p_application_id => p_application_id
73973 , p_ae_header_id => l_ae_header_id
73974 , p_source_3 => p_source_3
73975 , p_source_3_meaning => p_source_3_meaning
73976 , p_source_26 => p_source_26
73977 , p_source_27 => p_source_27
73978 , x_transaction_coa_id => l_adr_transaction_coa_id
73979 , x_accounting_coa_id => l_adr_accounting_coa_id
73980 , x_flexfield_segment_code => l_adr_flexfield_segment_code
73981 , x_flex_value_set_id => l_adr_flex_value_set_id
73982 , x_value_type_code => l_adr_value_type_code
73983 , x_value_combination_id => l_adr_value_combination_id
73984 , x_value_segment_code => l_adr_value_segment_code
73985 , p_side => 'DEBIT'
73986 , p_override_seg_flag => 'Y'
73987 );
73988
73989 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
73990
73991 xla_ae_lines_pkg.set_segment(
73992 p_to_segment_code => 'GL_ACCOUNT'
73993 , p_segment_value => l_segment
73994 , p_from_segment_code => l_adr_value_segment_code
73995 , p_from_combination_id => l_adr_value_combination_id
73996 , p_value_type_code => l_adr_value_type_code
73997 , p_transaction_coa_id => l_adr_transaction_coa_id
73998 , p_accounting_coa_id => l_adr_accounting_coa_id
73999 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74000 , p_flex_value_set_id => l_adr_flex_value_set_id
74001 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
74002 , p_adr_type_code => 'S'
74003 , p_component_type => l_component_type
74004 , p_component_code => l_component_code
74005 , p_component_type_code => l_component_type_code
74006 , p_component_appl_id => l_component_appl_id
74007 , p_amb_context_code => l_amb_context_code
74008 , p_entity_code => 'AP_PAYMENTS'
74009 , p_event_class_code => 'FUTURE DATED PAYMENTS'
74010 , p_side => 'DEBIT'
74011 );
74012
74013 END IF;
74014
74015 --
74016 --
74017 END IF;
74018
74019 --
74020 -- Update the line information that should be overwritten
74021 --
74022 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
74023 p_header_num => 1);
74024 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
74025
74026 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
74027
74028 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
74029 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
74030 END IF;
74031
74032 --
74033 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
74034 --
74035 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
74036 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
74037 ELSE
74038 ---------------------------------------------------------------------------------------------------
74039 -- 4262811a Switch Sign
74040 ---------------------------------------------------------------------------------------------------
74041 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
74042 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74043 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74044 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
74045 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74046 -- 5132302
74047 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
74048 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
74049
74050 END IF;
74051
74052 -- 4955764
74053 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74057 XLA_AE_LINES_PKG.ValidateCurrentLine;
74054 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
74055
74056
74058 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74059
74060 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74061 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
74062 ,p_balance_type_code => l_balance_type_code);
74063
74064 END IF;
74065
74066 -----------------------------------------------------------------------------------------
74067 -- 4262811 Multiperiod Accounting
74068 -----------------------------------------------------------------------------------------
74069 -- No MPA option is assigned.
74070
74071
74072 END IF;
74073 END IF;
74074 --
74075
74076 --
74077 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74078 trace
74079 (p_msg => 'END of AcctLineType_139'
74080 ,p_level => C_LEVEL_PROCEDURE
74081 ,p_module => l_log_module);
74082 END IF;
74083 --
74084 EXCEPTION
74085 WHEN xla_exceptions_pkg.application_exception THEN
74086 RAISE;
74087 WHEN OTHERS THEN
74088 xla_exceptions_pkg.raise_message
74089 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_139');
74090 END AcctLineType_139;
74091 --
74092
74093 ---------------------------------------
74094 --
74095 -- PRIVATE FUNCTION
74096 -- AcctLineType_140
74097 --
74098 ---------------------------------------
74099 PROCEDURE AcctLineType_140 (
74100 p_application_id IN NUMBER
74101 ,p_event_id IN NUMBER
74102 ,p_calculate_acctd_flag IN VARCHAR2
74103 ,p_calculate_g_l_flag IN VARCHAR2
74104 ,p_actual_flag IN OUT VARCHAR2
74105 ,p_balance_type_code OUT VARCHAR2
74106 ,p_gain_or_loss_ref OUT VARCHAR2
74107
74108 --Automatic Offsets Value
74109 , p_source_3 IN VARCHAR2
74110 , p_source_3_meaning IN VARCHAR2
74111 --Invoice Distribution Account
74112 , p_source_18 IN NUMBER
74113 --Internal Realized Gain Account
74114 , p_source_24 IN NUMBER
74115 --Bank Gain Account
74116 , p_source_25 IN NUMBER
74117 --Internal Realized Loss Account
74118 , p_source_26 IN NUMBER
74119 --Bank Loss Account
74120 , p_source_27 IN NUMBER
74121 --Accounting Reversal Indicator
74122 , p_source_41 IN VARCHAR2
74123 --Distribution Link Type
74124 , p_source_43 IN VARCHAR2
74125 --Invoice Identifier
74126 , p_source_46 IN NUMBER
74127 --Payables Encumbrance Upgrade Credit Account
74128 , p_source_53 IN NUMBER
74129 --Payables Encumbrance Upgrade Credit Amount
74130 , p_source_54 IN NUMBER
74131 --Invoice Currency Code
74132 , p_source_55 IN VARCHAR2
74133 --Payables Encumbrance Upgrade Credit Base Amount
74134 , p_source_56 IN NUMBER
74135 --Payables Encumbrance Upgrade Debit Account
74136 , p_source_57 IN NUMBER
74137 --Payables Encumbrance Upgrade Debit Amount
74138 , p_source_58 IN NUMBER
74139 --Payables Encumbrance Upgrade Debit Base Amount
74140 , p_source_59 IN NUMBER
74141 --Payables Encumbrance Upgrade Option
74142 , p_source_60 IN VARCHAR2
74143 --Deferred Accounting End Date
74144 , p_source_65 IN DATE
74145 --Deferred Accounting Option
74146 , p_source_66 IN VARCHAR2
74147 --Deferred Accounting Start Date
74148 , p_source_67 IN DATE
74149 --Override Accounted Amount Indicator
74150 , p_source_68 IN VARCHAR2
74151 , p_source_68_meaning IN VARCHAR2
74152 --Invoice Supplier Identifier
74153 , p_source_69 IN NUMBER
74154 --Invoice Supplier Site Identifier
74155 , p_source_70 IN NUMBER
74156 --Third Party Type
74157 , p_source_71 IN VARCHAR2
74158 --Invoice Distribution Tax Line Identifier
74159 , p_source_74 IN NUMBER
74160 --Invoice Distribution Tax Distribution Identifier from Tax
74161 , p_source_75 IN NUMBER
74162 --Invoice Distribution Summary Tax Line Identifier
74163 , p_source_76 IN NUMBER
74164 --Payables Upgrade Credit Encumbrance Type Identifier
74165 , p_source_77 IN NUMBER
74166 --Payables Upgrade Debit Encumbrance Type Identifier
74167 , p_source_78 IN NUMBER
74168 --Business Flow Accounts Payable Application Identifier
74169 , p_source_79 IN NUMBER
74170 --Prepayment Distribution Type
74171 , p_source_118 IN VARCHAR2
74172 --Prepayment Application Distribution Identifier
74173 , p_source_120 IN NUMBER
74174 --Upgrade Encumbrance Credit Account Class
74175 , p_source_125 IN VARCHAR2
74176 --Upgrade Encumbrance Debit Account Class
74177 , p_source_126 IN VARCHAR2
74178 --Identifier of the Prepayment Application Reversed
74179 , p_source_129 IN NUMBER
74180 --Business Flow Prepayment Invoice Distribution Type
74181 , p_source_139 IN VARCHAR2
74182 --Business Flow Prepayment Invoice Entity Code
74183 , p_source_140 IN VARCHAR2
74184 --Business Flow Prepayment Invoice Distribution Identifier
74185 , p_source_141 IN NUMBER
74186 --Business Flow Prepayment Invoice Identifier
74187 , p_source_142 IN NUMBER
74191 IS
74188 --Prepayment/Invoice Ledger Amount Difference
74189 , p_source_150 IN NUMBER
74190 )
74192
74193 l_component_type VARCHAR2(80);
74194 l_component_code VARCHAR2(30);
74195 l_component_type_code VARCHAR2(1);
74196 l_component_appl_id INTEGER;
74197 l_amb_context_code VARCHAR2(30);
74198 l_entity_code VARCHAR2(30);
74199 l_event_class_code VARCHAR2(30);
74200 l_ae_header_id NUMBER;
74201 l_event_type_code VARCHAR2(30);
74202 l_line_definition_code VARCHAR2(30);
74203 l_line_definition_owner_code VARCHAR2(1);
74204 --
74205 -- adr variables
74206 l_segment VARCHAR2(30);
74207 l_ccid NUMBER;
74208 l_adr_transaction_coa_id NUMBER;
74209 l_adr_accounting_coa_id NUMBER;
74210 l_adr_flexfield_segment_code VARCHAR2(30);
74211 l_adr_flex_value_set_id NUMBER;
74212 l_adr_value_type_code VARCHAR2(30);
74213 l_adr_value_combination_id NUMBER;
74214 l_adr_value_segment_code VARCHAR2(30);
74215
74216 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
74217 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
74218 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
74219 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
74220
74221 -- 4262811 Variables ------------------------------------------------------------------------------------------
74222 l_entered_amt_idx NUMBER;
74223 l_accted_amt_idx NUMBER;
74224 l_acc_rev_flag VARCHAR2(1);
74225 l_accrual_line_num NUMBER;
74226 l_tmp_amt NUMBER;
74227 l_acc_rev_natural_side_code VARCHAR2(1);
74228
74229 l_num_entries NUMBER;
74230 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
74231 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
74232 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
74233 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
74234 l_recog_line_1 NUMBER;
74235 l_recog_line_2 NUMBER;
74236
74237 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
74238 l_bflow_applied_to_amt NUMBER; -- 5132302
74239 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
74240
74241 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
74242
74243 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
74244 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
74245
74246 ---------------------------------------------------------------------------------------------------------------
74247
74248
74249 --
74250 -- bulk performance
74251 --
74252 l_balance_type_code VARCHAR2(1);
74253 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
74254 l_log_module VARCHAR2(240);
74255
74256 --
74257 -- Upgrade strategy
74258 --
74259 l_actual_upg_option VARCHAR2(1);
74260 l_enc_upg_option VARCHAR2(1);
74261
74262 --
74263 BEGIN
74264 --
74265 IF g_log_enabled THEN
74266 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_140';
74267 END IF;
74268 --
74269 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
74270
74271 trace
74272 (p_msg => 'BEGIN of AcctLineType_140'
74273 ,p_level => C_LEVEL_PROCEDURE
74274 ,p_module => l_log_module);
74275
74276 END IF;
74277 --
74278 l_component_type := 'AMB_JLT';
74279 l_component_code := 'AP_GAIN_LOSS_PREPAY_APP';
74280 l_component_type_code := 'S';
74281 l_component_appl_id := 200;
74282 l_amb_context_code := 'DEFAULT';
74283 l_entity_code := 'AP_INVOICES';
74284 l_event_class_code := 'PREPAYMENT APPLICATIONS';
74285 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
74286 l_line_definition_owner_code := 'S';
74287 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
74288 --
74289 l_balance_type_code := 'A';
74290 l_segment := NULL;
74291 l_ccid := NULL;
74292 l_adr_transaction_coa_id := NULL;
74293 l_adr_accounting_coa_id := NULL;
74294 l_adr_flexfield_segment_code := NULL;
74295 l_adr_flex_value_set_id := NULL;
74296 l_adr_value_type_code := NULL;
74297 l_adr_value_combination_id := NULL;
74298 l_adr_value_segment_code := NULL;
74299
74300 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
74301 l_bflow_class_code := ''; -- 4219869 Business Flow
74302 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
74303 l_budgetary_control_flag := 'N';
74304
74305 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74306 l_bflow_applied_to_amt := NULL; -- 5132302
74307 l_entered_amt_idx := NULL; -- 4262811
74308 l_accted_amt_idx := NULL; -- 4262811
74309 l_acc_rev_flag := NULL; -- 4262811
74310 l_accrual_line_num := NULL; -- 4262811
74311 l_tmp_amt := NULL; -- 4262811
74312 --
74316 END IF;
74313 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
74314 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
74315 return;
74317
74318 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
74319 l_balance_type_code <> 'B' THEN
74320 IF NVL(p_source_118,'
74321 ') = 'PREPAY APPL'
74322 THEN
74323
74324 --
74325 XLA_AE_LINES_PKG.SetNewLine;
74326
74327 p_balance_type_code := l_balance_type_code;
74328 -- set the flag so later we will know whether the gain loss line needs to be created
74329
74330 IF(l_balance_type_code = 'A' ) THEN
74331 p_actual_flag :='G';
74332 END IF;
74333
74334 --
74335 -- bulk performance
74336 --
74337 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
74338 p_header_num => 0); -- 4262811
74339 --
74340 -- set accounting line options
74341 --
74342 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
74343 p_natural_side_code => 'G'
74344 , p_gain_or_loss_flag => 'N'
74345 , p_gl_transfer_mode_code => 'S'
74346 , p_acct_entry_type_code => 'A'
74347 , p_switch_side_flag => ''
74348 , p_merge_duplicate_code => 'A'
74349 );
74350 --
74351 l_acc_rev_natural_side_code := 'C'; -- 4262811
74352 --
74353 --
74354 -- set accounting line type info
74355 --
74356 xla_ae_lines_pkg.SetAcctLineType
74357 (p_component_type => l_component_type
74358 ,p_event_type_code => l_event_type_code
74359 ,p_line_definition_owner_code => l_line_definition_owner_code
74360 ,p_line_definition_code => l_line_definition_code
74361 ,p_accounting_line_code => l_component_code
74362 ,p_accounting_line_type_code => l_component_type_code
74363 ,p_accounting_line_appl_id => l_component_appl_id
74364 ,p_amb_context_code => l_amb_context_code
74365 ,p_entity_code => l_entity_code
74366 ,p_event_class_code => l_event_class_code);
74367 --
74368 -- set accounting class
74369 --
74370 xla_ae_lines_pkg.SetAcctClass(
74371 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
74372 , p_ae_header_id => l_ae_header_id
74373 );
74374
74375 --
74376 -- set rounding class
74377 --
74378 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
74379 'EXCHANGE_GAIN_LOSS';
74380
74381 --
74382 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
74383 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
74384 --
74385 -- bulk performance
74386 --
74387 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
74388
74389 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
74390 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
74391
74392 -- 4955764
74393 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
74394 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
74395
74396 -- 4458381 Public Sector Enh
74397
74398 --
74399 -- set accounting attributes for the line type
74400 --
74401 l_entered_amt_idx := NULL;
74402 l_accted_amt_idx := 25;
74403 l_bflow_applied_to_amt_idx := NULL; -- 5132302
74404 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
74405 l_rec_acct_attrs.array_char_value(1) := p_source_41;
74406 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
74407 l_rec_acct_attrs.array_num_value(2) :=
74408 xla_ae_sources_pkg.GetSystemSourceNum(
74409 p_source_code => 'XLA_EVENT_APPL_ID'
74410 , p_source_type_code => 'Y'
74411 , p_source_application_id => 602
74412 );
74413 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
74414 l_rec_acct_attrs.array_char_value(3) := p_source_43;
74415 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
74416 l_rec_acct_attrs.array_char_value(4) :=
74417 xla_ae_sources_pkg.GetSystemSourceChar(
74418 p_source_code => 'XLA_ENTITY_CODE'
74419 , p_source_type_code => 'Y'
74420 , p_source_application_id => 602
74421 );
74422 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
74423 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
74424 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
74425 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
74426 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
74427 l_rec_acct_attrs.array_num_value(7) := p_source_79;
74428 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
74429 l_rec_acct_attrs.array_char_value(8) := p_source_139;
74433 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
74430 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
74431 l_rec_acct_attrs.array_char_value(9) := p_source_140;
74432 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
74434 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
74435 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
74436 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
74437 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
74438 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
74439 l_rec_acct_attrs.array_char_value(13) := p_source_43;
74440 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
74441 l_rec_acct_attrs.array_char_value(14) := p_source_125;
74442 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
74443 l_rec_acct_attrs.array_num_value(15) := p_source_53;
74444 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
74445 l_rec_acct_attrs.array_num_value(16) := p_source_54;
74446 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
74447 l_rec_acct_attrs.array_char_value(17) := p_source_55;
74448 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
74449 l_rec_acct_attrs.array_num_value(18) := p_source_56;
74450 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
74451 l_rec_acct_attrs.array_char_value(19) := p_source_126;
74452 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
74453 l_rec_acct_attrs.array_num_value(20) := p_source_57;
74454 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
74455 l_rec_acct_attrs.array_num_value(21) := p_source_58;
74456 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
74457 l_rec_acct_attrs.array_char_value(22) := p_source_55;
74458 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
74459 l_rec_acct_attrs.array_num_value(23) := p_source_59;
74460 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
74461 l_rec_acct_attrs.array_char_value(24) := p_source_60;
74462 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
74463 l_rec_acct_attrs.array_num_value(25) := p_source_150;
74464 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
74465 l_rec_acct_attrs.array_date_value(26) := p_source_65;
74466 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
74467 l_rec_acct_attrs.array_char_value(27) := p_source_66;
74468 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
74469 l_rec_acct_attrs.array_date_value(28) := p_source_67;
74470 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
74471 l_rec_acct_attrs.array_char_value(29) := p_source_68;
74472 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_ID';
74473 l_rec_acct_attrs.array_num_value(30) := p_source_69;
74474 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_SITE_ID';
74475 l_rec_acct_attrs.array_num_value(31) := p_source_70;
74476 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
74477 l_rec_acct_attrs.array_char_value(32) := p_source_71;
74478 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
74479 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_129);
74480 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
74481 l_rec_acct_attrs.array_char_value(34) := p_source_43;
74482 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
74483 l_rec_acct_attrs.array_num_value(35) := p_source_74;
74484 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
74485 l_rec_acct_attrs.array_num_value(36) := p_source_75;
74486 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
74487 l_rec_acct_attrs.array_num_value(37) := p_source_76;
74488 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
74489 l_rec_acct_attrs.array_num_value(38) := p_source_77;
74490 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
74491 l_rec_acct_attrs.array_num_value(39) := p_source_78;
74492
74493 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
74494 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
74495
74496 ---------------------------------------------------------------------------------------------------------------
74497 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
74498 ---------------------------------------------------------------------------------------------------------------
74499 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
74500
74501 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74502 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
74503
74504 IF xla_accounting_cache_pkg.GetValueChar
74505 (p_source_code => 'LEDGER_CATEGORY_CODE'
74506 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
74507 AND l_bflow_method_code = 'PRIOR_ENTRY'
74508 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
74509 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
74510 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
74511 )
74512 THEN
74513 xla_ae_lines_pkg.BflowUpgEntry
74514 (p_business_method_code => l_bflow_method_code
74518 NULL;
74515 ,p_business_class_code => l_bflow_class_code
74516 ,p_balance_type => l_balance_type_code);
74517 ELSE
74519 -- No business flow processing for business flow method of NONE.
74520 END IF;
74521
74522 --
74523 -- call analytical criteria
74524 --
74525
74526 --
74527 -- call description
74528 --
74529 -- No description or it is inherited.
74530 --
74531 -- call ADRs
74532 -- Bug 4922099
74533 --
74534 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74535 (NVL(l_actual_upg_option, 'N') = 'O') OR
74536 (NVL(l_enc_upg_option, 'N') = 'O')
74537 )
74538 THEN
74539 NULL;
74540 --
74541 --
74542
74543 l_ccid := AcctDerRule_37(
74544 p_application_id => p_application_id
74545 , p_ae_header_id => l_ae_header_id
74546 , p_source_3 => p_source_3
74547 , p_source_3_meaning => p_source_3_meaning
74548 , p_source_18 => p_source_18
74549 , p_source_24 => p_source_24
74550 , p_source_25 => p_source_25
74551 , x_transaction_coa_id => l_adr_transaction_coa_id
74552 , x_accounting_coa_id => l_adr_accounting_coa_id
74553 , x_value_type_code => l_adr_value_type_code
74554 , p_side => 'CREDIT'
74555 );
74556
74557 xla_ae_lines_pkg.set_ccid(
74558 p_code_combination_id => l_ccid
74559 , p_value_type_code => l_adr_value_type_code
74560 , p_transaction_coa_id => l_adr_transaction_coa_id
74561 , p_accounting_coa_id => l_adr_accounting_coa_id
74562 , p_adr_code => 'AP_REAL_GAIN'
74563 , p_adr_type_code => 'S'
74564 , p_component_type => l_component_type
74565 , p_component_code => l_component_code
74566 , p_component_type_code => l_component_type_code
74567 , p_component_appl_id => l_component_appl_id
74568 , p_amb_context_code => l_amb_context_code
74569 , p_side => 'CREDIT'
74570 );
74571
74572
74573 l_ccid := AcctDerRule_38(
74574 p_application_id => p_application_id
74575 , p_ae_header_id => l_ae_header_id
74576 , p_source_3 => p_source_3
74577 , p_source_3_meaning => p_source_3_meaning
74578 , p_source_18 => p_source_18
74579 , p_source_26 => p_source_26
74580 , p_source_27 => p_source_27
74581 , x_transaction_coa_id => l_adr_transaction_coa_id
74582 , x_accounting_coa_id => l_adr_accounting_coa_id
74583 , x_value_type_code => l_adr_value_type_code
74584 , p_side => 'DEBIT'
74585 );
74586
74587 xla_ae_lines_pkg.set_ccid(
74588 p_code_combination_id => l_ccid
74589 , p_value_type_code => l_adr_value_type_code
74590 , p_transaction_coa_id => l_adr_transaction_coa_id
74591 , p_accounting_coa_id => l_adr_accounting_coa_id
74592 , p_adr_code => 'AP_REAL_LOSS'
74593 , p_adr_type_code => 'S'
74594 , p_component_type => l_component_type
74595 , p_component_code => l_component_code
74596 , p_component_type_code => l_component_type_code
74597 , p_component_appl_id => l_component_appl_id
74598 , p_amb_context_code => l_amb_context_code
74599 , p_side => 'DEBIT'
74600 );
74601
74602
74603 l_segment := AcctDerRule_21(
74604 p_application_id => p_application_id
74605 , p_ae_header_id => l_ae_header_id
74606 , p_source_3 => p_source_3
74607 , p_source_3_meaning => p_source_3_meaning
74608 , p_source_18 => p_source_18
74609 , x_transaction_coa_id => l_adr_transaction_coa_id
74610 , x_accounting_coa_id => l_adr_accounting_coa_id
74611 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74612 , x_flex_value_set_id => l_adr_flex_value_set_id
74613 , x_value_type_code => l_adr_value_type_code
74614 , x_value_combination_id => l_adr_value_combination_id
74615 , x_value_segment_code => l_adr_value_segment_code
74616 , p_side => 'ALL'
74617 , p_override_seg_flag => 'Y'
74618 );
74619
74620 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74621
74622 xla_ae_lines_pkg.set_segment(
74623 p_to_segment_code => 'GL_BALANCING'
74624 , p_segment_value => l_segment
74625 , p_from_segment_code => l_adr_value_segment_code
74626 , p_from_combination_id => l_adr_value_combination_id
74627 , p_value_type_code => l_adr_value_type_code
74628 , p_transaction_coa_id => l_adr_transaction_coa_id
74629 , p_accounting_coa_id => l_adr_accounting_coa_id
74630 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74631 , p_flex_value_set_id => l_adr_flex_value_set_id
74632 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
74633 , p_adr_type_code => 'S'
74634 , p_component_type => l_component_type
74635 , p_component_code => l_component_code
74636 , p_component_type_code => l_component_type_code
74637 , p_component_appl_id => l_component_appl_id
74641 , p_side => 'ALL'
74638 , p_amb_context_code => l_amb_context_code
74639 , p_entity_code => 'AP_INVOICES'
74640 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
74642 );
74643
74644 END IF;
74645
74646 l_segment := AcctDerRule_16(
74647 p_application_id => p_application_id
74648 , p_ae_header_id => l_ae_header_id
74649 , p_source_3 => p_source_3
74650 , p_source_3_meaning => p_source_3_meaning
74651 , p_source_24 => p_source_24
74652 , p_source_25 => p_source_25
74653 , x_transaction_coa_id => l_adr_transaction_coa_id
74654 , x_accounting_coa_id => l_adr_accounting_coa_id
74655 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74656 , x_flex_value_set_id => l_adr_flex_value_set_id
74657 , x_value_type_code => l_adr_value_type_code
74658 , x_value_combination_id => l_adr_value_combination_id
74659 , x_value_segment_code => l_adr_value_segment_code
74660 , p_side => 'CREDIT'
74661 , p_override_seg_flag => 'Y'
74662 );
74663
74664 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74665
74666 xla_ae_lines_pkg.set_segment(
74667 p_to_segment_code => 'GL_ACCOUNT'
74668 , p_segment_value => l_segment
74669 , p_from_segment_code => l_adr_value_segment_code
74670 , p_from_combination_id => l_adr_value_combination_id
74671 , p_value_type_code => l_adr_value_type_code
74672 , p_transaction_coa_id => l_adr_transaction_coa_id
74673 , p_accounting_coa_id => l_adr_accounting_coa_id
74674 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74675 , p_flex_value_set_id => l_adr_flex_value_set_id
74676 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
74677 , p_adr_type_code => 'S'
74678 , p_component_type => l_component_type
74679 , p_component_code => l_component_code
74680 , p_component_type_code => l_component_type_code
74681 , p_component_appl_id => l_component_appl_id
74682 , p_amb_context_code => l_amb_context_code
74683 , p_entity_code => 'AP_INVOICES'
74684 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
74685 , p_side => 'CREDIT'
74686 );
74687
74688 END IF;
74689
74690 l_segment := AcctDerRule_17(
74691 p_application_id => p_application_id
74692 , p_ae_header_id => l_ae_header_id
74693 , p_source_3 => p_source_3
74694 , p_source_3_meaning => p_source_3_meaning
74695 , p_source_26 => p_source_26
74696 , p_source_27 => p_source_27
74697 , x_transaction_coa_id => l_adr_transaction_coa_id
74698 , x_accounting_coa_id => l_adr_accounting_coa_id
74699 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74700 , x_flex_value_set_id => l_adr_flex_value_set_id
74701 , x_value_type_code => l_adr_value_type_code
74702 , x_value_combination_id => l_adr_value_combination_id
74703 , x_value_segment_code => l_adr_value_segment_code
74704 , p_side => 'DEBIT'
74705 , p_override_seg_flag => 'Y'
74706 );
74707
74708 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74709
74710 xla_ae_lines_pkg.set_segment(
74711 p_to_segment_code => 'GL_ACCOUNT'
74712 , p_segment_value => l_segment
74713 , p_from_segment_code => l_adr_value_segment_code
74714 , p_from_combination_id => l_adr_value_combination_id
74715 , p_value_type_code => l_adr_value_type_code
74716 , p_transaction_coa_id => l_adr_transaction_coa_id
74717 , p_accounting_coa_id => l_adr_accounting_coa_id
74718 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74719 , p_flex_value_set_id => l_adr_flex_value_set_id
74720 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
74721 , p_adr_type_code => 'S'
74722 , p_component_type => l_component_type
74723 , p_component_code => l_component_code
74724 , p_component_type_code => l_component_type_code
74725 , p_component_appl_id => l_component_appl_id
74726 , p_amb_context_code => l_amb_context_code
74727 , p_entity_code => 'AP_INVOICES'
74728 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
74729 , p_side => 'DEBIT'
74730 );
74731
74732 END IF;
74733
74734 --
74735 --
74736 END IF;
74737 --
74738 -- Bug 4922099
74739 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
74740 (NVL(l_enc_upg_option, 'N') = 'O')
74741 ) AND
74742 (l_bflow_method_code = 'PRIOR_ENTRY')
74743 )
74744 THEN
74745 IF
74746 --
74747 1 = 2
74748 --
74749 THEN
74750 xla_accounting_err_pkg.build_message
74751 (p_appli_s_name => 'XLA'
74752 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74753 ,p_token_1 => 'LINE_NUMBER'
74757 l_component_type
74754 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
74755 ,p_token_2 => 'LINE_TYPE_NAME'
74756 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
74758 ,l_component_code
74759 ,l_component_type_code
74760 ,l_component_appl_id
74761 ,l_amb_context_code
74762 ,l_entity_code
74763 ,l_event_class_code
74764 )
74765 ,p_token_3 => 'OWNER'
74766 ,p_value_3 => xla_lookups_pkg.get_meaning(
74767 p_lookup_type => 'XLA_OWNER_TYPE'
74768 ,p_lookup_code => l_component_type_code
74769 )
74770 ,p_token_4 => 'PRODUCT_NAME'
74771 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
74772 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
74773 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
74774 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
74775 ,p_ae_header_id => NULL
74776 );
74777
74778 IF (C_LEVEL_ERROR>= g_log_level) THEN
74779 trace
74780 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
74781 ,p_level => C_LEVEL_ERROR
74782 ,p_module => l_log_module);
74783 END IF;
74784 END IF;
74785 END IF;
74786 --
74787 --
74788 ------------------------------------------------------------------------------------------------
74789 -- 4219869 Business Flow
74790 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
74791 -- Prior Entry. Currently, the following code is always generated.
74792 ------------------------------------------------------------------------------------------------
74793 XLA_AE_LINES_PKG.ValidateCurrentLine;
74794
74795 ------------------------------------------------------------------------------------
74796 -- 4219869 Business Flow
74797 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
74798 ------------------------------------------------------------------------------------
74799 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
74800
74801 ----------------------------------------------------------------------------------
74802 -- 4219869 Business Flow
74803 -- Update journal entry status -- Need to generate this within IF <condition>
74804 ----------------------------------------------------------------------------------
74805 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
74806 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
74807 ,p_balance_type_code => l_balance_type_code
74808 );
74809
74810 -------------------------------------------------------------------------------------------
74811 -- 4262811 - Generate the Accrual Reversal lines
74812 -------------------------------------------------------------------------------------------
74813 BEGIN
74814 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
74815 (g_array_event(p_event_id).array_value_num('header_index'));
74816 IF l_acc_rev_flag IS NULL THEN
74817 l_acc_rev_flag := 'N';
74818 END IF;
74819 EXCEPTION
74820 WHEN OTHERS THEN
74821 l_acc_rev_flag := 'N';
74822 END;
74823 --
74824 IF (l_acc_rev_flag = 'Y') THEN
74825
74826 -- 4645092 ------------------------------------------------------------------------------
74827 -- To allow MPA report to determine if it should generate report process
74828 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
74829 ------------------------------------------------------------------------------------------
74830
74831 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
74832 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
74833 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
74834 -- call ADRs
74835 -- Bug 4922099
74836 --
74837 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
74838 (NVL(l_actual_upg_option, 'N') = 'O') OR
74839 (NVL(l_enc_upg_option, 'N') = 'O')
74840 )
74841 THEN
74842 NULL;
74843 --
74844 --
74845
74846 l_ccid := AcctDerRule_37(
74847 p_application_id => p_application_id
74851 , p_source_18 => p_source_18
74848 , p_ae_header_id => l_ae_header_id
74849 , p_source_3 => p_source_3
74850 , p_source_3_meaning => p_source_3_meaning
74852 , p_source_24 => p_source_24
74853 , p_source_25 => p_source_25
74854 , x_transaction_coa_id => l_adr_transaction_coa_id
74855 , x_accounting_coa_id => l_adr_accounting_coa_id
74856 , x_value_type_code => l_adr_value_type_code
74857 , p_side => 'CREDIT'
74858 );
74859
74860 xla_ae_lines_pkg.set_ccid(
74861 p_code_combination_id => l_ccid
74862 , p_value_type_code => l_adr_value_type_code
74863 , p_transaction_coa_id => l_adr_transaction_coa_id
74864 , p_accounting_coa_id => l_adr_accounting_coa_id
74865 , p_adr_code => 'AP_REAL_GAIN'
74866 , p_adr_type_code => 'S'
74867 , p_component_type => l_component_type
74868 , p_component_code => l_component_code
74869 , p_component_type_code => l_component_type_code
74870 , p_component_appl_id => l_component_appl_id
74871 , p_amb_context_code => l_amb_context_code
74872 , p_side => 'CREDIT'
74873 );
74874
74875
74876 l_ccid := AcctDerRule_38(
74877 p_application_id => p_application_id
74878 , p_ae_header_id => l_ae_header_id
74879 , p_source_3 => p_source_3
74880 , p_source_3_meaning => p_source_3_meaning
74881 , p_source_18 => p_source_18
74882 , p_source_26 => p_source_26
74883 , p_source_27 => p_source_27
74884 , x_transaction_coa_id => l_adr_transaction_coa_id
74885 , x_accounting_coa_id => l_adr_accounting_coa_id
74886 , x_value_type_code => l_adr_value_type_code
74887 , p_side => 'DEBIT'
74888 );
74889
74890 xla_ae_lines_pkg.set_ccid(
74891 p_code_combination_id => l_ccid
74892 , p_value_type_code => l_adr_value_type_code
74893 , p_transaction_coa_id => l_adr_transaction_coa_id
74894 , p_accounting_coa_id => l_adr_accounting_coa_id
74895 , p_adr_code => 'AP_REAL_LOSS'
74896 , p_adr_type_code => 'S'
74897 , p_component_type => l_component_type
74898 , p_component_code => l_component_code
74899 , p_component_type_code => l_component_type_code
74900 , p_component_appl_id => l_component_appl_id
74901 , p_amb_context_code => l_amb_context_code
74902 , p_side => 'DEBIT'
74903 );
74904
74905
74906 l_segment := AcctDerRule_21(
74907 p_application_id => p_application_id
74908 , p_ae_header_id => l_ae_header_id
74909 , p_source_3 => p_source_3
74910 , p_source_3_meaning => p_source_3_meaning
74911 , p_source_18 => p_source_18
74912 , x_transaction_coa_id => l_adr_transaction_coa_id
74913 , x_accounting_coa_id => l_adr_accounting_coa_id
74914 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74915 , x_flex_value_set_id => l_adr_flex_value_set_id
74916 , x_value_type_code => l_adr_value_type_code
74917 , x_value_combination_id => l_adr_value_combination_id
74918 , x_value_segment_code => l_adr_value_segment_code
74919 , p_side => 'ALL'
74920 , p_override_seg_flag => 'Y'
74921 );
74922
74923 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74924
74925 xla_ae_lines_pkg.set_segment(
74926 p_to_segment_code => 'GL_BALANCING'
74927 , p_segment_value => l_segment
74928 , p_from_segment_code => l_adr_value_segment_code
74929 , p_from_combination_id => l_adr_value_combination_id
74930 , p_value_type_code => l_adr_value_type_code
74931 , p_transaction_coa_id => l_adr_transaction_coa_id
74932 , p_accounting_coa_id => l_adr_accounting_coa_id
74933 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74934 , p_flex_value_set_id => l_adr_flex_value_set_id
74935 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
74936 , p_adr_type_code => 'S'
74937 , p_component_type => l_component_type
74938 , p_component_code => l_component_code
74939 , p_component_type_code => l_component_type_code
74940 , p_component_appl_id => l_component_appl_id
74941 , p_amb_context_code => l_amb_context_code
74942 , p_entity_code => 'AP_INVOICES'
74943 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
74944 , p_side => 'ALL'
74945 );
74946
74947 END IF;
74948
74949 l_segment := AcctDerRule_16(
74950 p_application_id => p_application_id
74951 , p_ae_header_id => l_ae_header_id
74952 , p_source_3 => p_source_3
74953 , p_source_3_meaning => p_source_3_meaning
74954 , p_source_24 => p_source_24
74955 , p_source_25 => p_source_25
74956 , x_transaction_coa_id => l_adr_transaction_coa_id
74957 , x_accounting_coa_id => l_adr_accounting_coa_id
74958 , x_flexfield_segment_code => l_adr_flexfield_segment_code
74962 , x_value_segment_code => l_adr_value_segment_code
74959 , x_flex_value_set_id => l_adr_flex_value_set_id
74960 , x_value_type_code => l_adr_value_type_code
74961 , x_value_combination_id => l_adr_value_combination_id
74963 , p_side => 'CREDIT'
74964 , p_override_seg_flag => 'Y'
74965 );
74966
74967 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
74968
74969 xla_ae_lines_pkg.set_segment(
74970 p_to_segment_code => 'GL_ACCOUNT'
74971 , p_segment_value => l_segment
74972 , p_from_segment_code => l_adr_value_segment_code
74973 , p_from_combination_id => l_adr_value_combination_id
74974 , p_value_type_code => l_adr_value_type_code
74975 , p_transaction_coa_id => l_adr_transaction_coa_id
74976 , p_accounting_coa_id => l_adr_accounting_coa_id
74977 , p_flexfield_segment_code => l_adr_flexfield_segment_code
74978 , p_flex_value_set_id => l_adr_flex_value_set_id
74979 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
74980 , p_adr_type_code => 'S'
74981 , p_component_type => l_component_type
74982 , p_component_code => l_component_code
74983 , p_component_type_code => l_component_type_code
74984 , p_component_appl_id => l_component_appl_id
74985 , p_amb_context_code => l_amb_context_code
74986 , p_entity_code => 'AP_INVOICES'
74987 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
74988 , p_side => 'CREDIT'
74989 );
74990
74991 END IF;
74992
74993 l_segment := AcctDerRule_17(
74994 p_application_id => p_application_id
74995 , p_ae_header_id => l_ae_header_id
74996 , p_source_3 => p_source_3
74997 , p_source_3_meaning => p_source_3_meaning
74998 , p_source_26 => p_source_26
74999 , p_source_27 => p_source_27
75000 , x_transaction_coa_id => l_adr_transaction_coa_id
75001 , x_accounting_coa_id => l_adr_accounting_coa_id
75002 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75003 , x_flex_value_set_id => l_adr_flex_value_set_id
75004 , x_value_type_code => l_adr_value_type_code
75005 , x_value_combination_id => l_adr_value_combination_id
75006 , x_value_segment_code => l_adr_value_segment_code
75007 , p_side => 'DEBIT'
75008 , p_override_seg_flag => 'Y'
75009 );
75010
75011 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75012
75013 xla_ae_lines_pkg.set_segment(
75014 p_to_segment_code => 'GL_ACCOUNT'
75015 , p_segment_value => l_segment
75016 , p_from_segment_code => l_adr_value_segment_code
75017 , p_from_combination_id => l_adr_value_combination_id
75018 , p_value_type_code => l_adr_value_type_code
75019 , p_transaction_coa_id => l_adr_transaction_coa_id
75020 , p_accounting_coa_id => l_adr_accounting_coa_id
75021 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75022 , p_flex_value_set_id => l_adr_flex_value_set_id
75023 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
75024 , p_adr_type_code => 'S'
75025 , p_component_type => l_component_type
75026 , p_component_code => l_component_code
75027 , p_component_type_code => l_component_type_code
75028 , p_component_appl_id => l_component_appl_id
75029 , p_amb_context_code => l_amb_context_code
75030 , p_entity_code => 'AP_INVOICES'
75031 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
75032 , p_side => 'DEBIT'
75033 );
75034
75035 END IF;
75036
75037 --
75038 --
75039 END IF;
75040
75041 --
75042 -- Update the line information that should be overwritten
75043 --
75044 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
75045 p_header_num => 1);
75046 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
75047
75048 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
75049
75050 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
75051 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
75052 END IF;
75053
75054 --
75055 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
75056 --
75057 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
75058 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
75059 ELSE
75060 ---------------------------------------------------------------------------------------------------
75061 -- 4262811a Switch Sign
75062 ---------------------------------------------------------------------------------------------------
75063 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
75067 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75064 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75065 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75066 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
75068 -- 5132302
75069 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
75070 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
75071
75072 END IF;
75073
75074 -- 4955764
75075 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75076 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
75077
75078
75079 XLA_AE_LINES_PKG.ValidateCurrentLine;
75080 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75081
75082 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75083 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
75084 ,p_balance_type_code => l_balance_type_code);
75085
75086 END IF;
75087
75088 -----------------------------------------------------------------------------------------
75089 -- 4262811 Multiperiod Accounting
75090 -----------------------------------------------------------------------------------------
75091 -- No MPA option is assigned.
75092
75093
75094 END IF;
75095 END IF;
75096 --
75097
75098 --
75099 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75100 trace
75101 (p_msg => 'END of AcctLineType_140'
75102 ,p_level => C_LEVEL_PROCEDURE
75103 ,p_module => l_log_module);
75104 END IF;
75105 --
75106 EXCEPTION
75107 WHEN xla_exceptions_pkg.application_exception THEN
75108 RAISE;
75109 WHEN OTHERS THEN
75110 xla_exceptions_pkg.raise_message
75111 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_140');
75112 END AcctLineType_140;
75113 --
75114
75115 ---------------------------------------
75116 --
75117 -- PRIVATE FUNCTION
75118 -- AcctLineType_141
75119 --
75120 ---------------------------------------
75121 PROCEDURE AcctLineType_141 (
75122 p_application_id IN NUMBER
75123 ,p_event_id IN NUMBER
75124 ,p_calculate_acctd_flag IN VARCHAR2
75125 ,p_calculate_g_l_flag IN VARCHAR2
75126 ,p_actual_flag IN OUT VARCHAR2
75127 ,p_balance_type_code OUT VARCHAR2
75128 ,p_gain_or_loss_ref OUT VARCHAR2
75129
75130 --Automatic Offsets Value
75131 , p_source_3 IN VARCHAR2
75132 , p_source_3_meaning IN VARCHAR2
75133 --Invoice Distribution Account
75134 , p_source_18 IN NUMBER
75135 --Internal Realized Gain Account
75136 , p_source_24 IN NUMBER
75137 --Bank Gain Account
75138 , p_source_25 IN NUMBER
75139 --Internal Realized Loss Account
75140 , p_source_26 IN NUMBER
75141 --Bank Loss Account
75142 , p_source_27 IN NUMBER
75143 --Accounting Reversal Indicator
75144 , p_source_41 IN VARCHAR2
75145 --Distribution Link Type
75146 , p_source_43 IN VARCHAR2
75147 --Override Accounted Amount Indicator
75148 , p_source_68 IN VARCHAR2
75149 , p_source_68_meaning IN VARCHAR2
75150 --Third Party Type
75151 , p_source_71 IN VARCHAR2
75152 --Invoice Distribution Tax Line Identifier
75153 , p_source_74 IN NUMBER
75154 --Invoice Distribution Tax Distribution Identifier from Tax
75155 , p_source_75 IN NUMBER
75156 --Invoice Distribution Summary Tax Line Identifier
75157 , p_source_76 IN NUMBER
75158 --Business Flow Accounts Payable Application Identifier
75159 , p_source_79 IN NUMBER
75160 --Business Flow Invoice Distribution Type
75161 , p_source_80 IN VARCHAR2
75162 --Business Flow Invoice Entity Code
75163 , p_source_81 IN VARCHAR2
75164 --Business Flow Invoice Distribution Identifier
75165 , p_source_82 IN NUMBER
75166 --Business Flow Invoice Identifier
75167 , p_source_83 IN NUMBER
75168 --When to Account for Payment Option
75169 , p_source_89 IN VARCHAR2
75170 --Payment Distribution Type
75171 , p_source_90 IN VARCHAR2
75172 , p_source_90_meaning IN VARCHAR2
75173 --Payment Distribution Identifier
75174 , p_source_96 IN NUMBER
75175 --Payment Supplier Identifier
75176 , p_source_102 IN NUMBER
75177 --Payment Supplier Site Identifier
75178 , p_source_103 IN NUMBER
75179 --Payment Distribution Reversed Identifier
75180 , p_source_104 IN NUMBER
75181 --Payment Type
75182 , p_source_115 IN VARCHAR2
75183 , p_source_115_meaning IN VARCHAR2
75184 --Invoice/Payment Ledger Amount Difference
75185 , p_source_148 IN NUMBER
75186 )
75187 IS
75188
75189 l_component_type VARCHAR2(80);
75190 l_component_code VARCHAR2(30);
75191 l_component_type_code VARCHAR2(1);
75192 l_component_appl_id INTEGER;
75193 l_amb_context_code VARCHAR2(30);
75194 l_entity_code VARCHAR2(30);
75195 l_event_class_code VARCHAR2(30);
75196 l_ae_header_id NUMBER;
75200 --
75197 l_event_type_code VARCHAR2(30);
75198 l_line_definition_code VARCHAR2(30);
75199 l_line_definition_owner_code VARCHAR2(1);
75201 -- adr variables
75202 l_segment VARCHAR2(30);
75203 l_ccid NUMBER;
75204 l_adr_transaction_coa_id NUMBER;
75205 l_adr_accounting_coa_id NUMBER;
75206 l_adr_flexfield_segment_code VARCHAR2(30);
75207 l_adr_flex_value_set_id NUMBER;
75208 l_adr_value_type_code VARCHAR2(30);
75209 l_adr_value_combination_id NUMBER;
75210 l_adr_value_segment_code VARCHAR2(30);
75211
75212 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
75213 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
75214 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
75215 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
75216
75217 -- 4262811 Variables ------------------------------------------------------------------------------------------
75218 l_entered_amt_idx NUMBER;
75219 l_accted_amt_idx NUMBER;
75220 l_acc_rev_flag VARCHAR2(1);
75221 l_accrual_line_num NUMBER;
75222 l_tmp_amt NUMBER;
75223 l_acc_rev_natural_side_code VARCHAR2(1);
75224
75225 l_num_entries NUMBER;
75226 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
75227 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
75228 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
75229 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
75230 l_recog_line_1 NUMBER;
75231 l_recog_line_2 NUMBER;
75232
75233 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
75234 l_bflow_applied_to_amt NUMBER; -- 5132302
75235 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
75236
75237 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
75238
75239 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
75240 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
75241
75242 ---------------------------------------------------------------------------------------------------------------
75243
75244
75245 --
75246 -- bulk performance
75247 --
75248 l_balance_type_code VARCHAR2(1);
75249 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
75250 l_log_module VARCHAR2(240);
75251
75252 --
75253 -- Upgrade strategy
75254 --
75255 l_actual_upg_option VARCHAR2(1);
75256 l_enc_upg_option VARCHAR2(1);
75257
75258 --
75259 BEGIN
75260 --
75261 IF g_log_enabled THEN
75262 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_141';
75263 END IF;
75264 --
75265 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
75266
75267 trace
75268 (p_msg => 'BEGIN of AcctLineType_141'
75269 ,p_level => C_LEVEL_PROCEDURE
75270 ,p_module => l_log_module);
75271
75272 END IF;
75273 --
75274 l_component_type := 'AMB_JLT';
75275 l_component_code := 'AP_GAIN_LOSS_REF';
75276 l_component_type_code := 'S';
75277 l_component_appl_id := 200;
75278 l_amb_context_code := 'DEFAULT';
75279 l_entity_code := 'AP_PAYMENTS';
75280 l_event_class_code := 'REFUNDS';
75281 l_event_type_code := 'REFUNDS_ALL';
75282 l_line_definition_owner_code := 'S';
75283 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
75284 --
75285 l_balance_type_code := 'A';
75286 l_segment := NULL;
75287 l_ccid := NULL;
75288 l_adr_transaction_coa_id := NULL;
75289 l_adr_accounting_coa_id := NULL;
75290 l_adr_flexfield_segment_code := NULL;
75291 l_adr_flex_value_set_id := NULL;
75292 l_adr_value_type_code := NULL;
75293 l_adr_value_combination_id := NULL;
75294 l_adr_value_segment_code := NULL;
75295
75296 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
75297 l_bflow_class_code := ''; -- 4219869 Business Flow
75298 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
75299 l_budgetary_control_flag := 'N';
75300
75301 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75302 l_bflow_applied_to_amt := NULL; -- 5132302
75303 l_entered_amt_idx := NULL; -- 4262811
75304 l_accted_amt_idx := NULL; -- 4262811
75305 l_acc_rev_flag := NULL; -- 4262811
75306 l_accrual_line_num := NULL; -- 4262811
75307 l_tmp_amt := NULL; -- 4262811
75308 --
75309 IF NOT ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
75310 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
75311 return;
75312 END IF;
75313
75314 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
75315 l_balance_type_code <> 'B' THEN
75316 IF (NVL(p_source_89,'
75317 ') <> 'CLEAR_CLEAR' AND
75318 NVL(p_source_89,'
75319 ') <> 'ALWAYS_CLEAR') AND
75320 NVL(p_source_115,'
75321 ') = 'R' AND
75322 NVL(p_source_90,'
75326 NVL(p_source_90,'
75323 ') <> 'EXCHANGE RATE VARIANCE' AND
75324 NVL(p_source_90,'
75325 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
75327 ') <> 'BANK CHARGE' AND
75328 NVL(p_source_90,'
75329 ') <> 'BANK ERROR'
75330 THEN
75331
75332 --
75333 XLA_AE_LINES_PKG.SetNewLine;
75334
75335 p_balance_type_code := l_balance_type_code;
75336 -- set the flag so later we will know whether the gain loss line needs to be created
75337
75338 IF(l_balance_type_code = 'A' ) THEN
75339 p_actual_flag :='G';
75340 END IF;
75341
75342 --
75343 -- bulk performance
75344 --
75345 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
75346 p_header_num => 0); -- 4262811
75347 --
75348 -- set accounting line options
75349 --
75350 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
75351 p_natural_side_code => 'G'
75352 , p_gain_or_loss_flag => 'N'
75353 , p_gl_transfer_mode_code => 'S'
75354 , p_acct_entry_type_code => 'A'
75355 , p_switch_side_flag => ''
75356 , p_merge_duplicate_code => 'A'
75357 );
75358 --
75359 l_acc_rev_natural_side_code := 'C'; -- 4262811
75360 --
75361 --
75362 -- set accounting line type info
75363 --
75364 xla_ae_lines_pkg.SetAcctLineType
75365 (p_component_type => l_component_type
75366 ,p_event_type_code => l_event_type_code
75367 ,p_line_definition_owner_code => l_line_definition_owner_code
75368 ,p_line_definition_code => l_line_definition_code
75369 ,p_accounting_line_code => l_component_code
75370 ,p_accounting_line_type_code => l_component_type_code
75371 ,p_accounting_line_appl_id => l_component_appl_id
75372 ,p_amb_context_code => l_amb_context_code
75373 ,p_entity_code => l_entity_code
75374 ,p_event_class_code => l_event_class_code);
75375 --
75376 -- set accounting class
75377 --
75378 xla_ae_lines_pkg.SetAcctClass(
75379 p_accounting_class_code => 'EXCHANGE_GAIN_LOSS'
75380 , p_ae_header_id => l_ae_header_id
75381 );
75382
75383 --
75384 -- set rounding class
75385 --
75386 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
75387 'EXCHANGE_GAIN_LOSS';
75388
75389 --
75390 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
75391 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
75392 --
75393 -- bulk performance
75394 --
75395 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
75396
75397 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
75398 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
75399
75400 -- 4955764
75401 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
75402 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
75403
75404 -- 4458381 Public Sector Enh
75405
75406 --
75407 -- set accounting attributes for the line type
75408 --
75409 l_entered_amt_idx := NULL;
75410 l_accted_amt_idx := 9;
75411 l_bflow_applied_to_amt_idx := NULL; -- 5132302
75412 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
75413 l_rec_acct_attrs.array_char_value(1) := p_source_41;
75414 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
75415 l_rec_acct_attrs.array_num_value(2) := p_source_79;
75416 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
75417 l_rec_acct_attrs.array_char_value(3) := p_source_80;
75418 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
75419 l_rec_acct_attrs.array_char_value(4) := p_source_81;
75420 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
75421 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
75422 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
75423 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
75424 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
75425 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
75426 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
75427 l_rec_acct_attrs.array_char_value(8) := p_source_43;
75428 l_rec_acct_attrs.array_acct_attr_code(9) := 'LEDGER_AMOUNT';
75429 l_rec_acct_attrs.array_num_value(9) := p_source_148;
75430 l_rec_acct_attrs.array_acct_attr_code(10) := 'OVERRIDE_ACCTD_AMT_FLAG';
75431 l_rec_acct_attrs.array_char_value(10) := p_source_68;
75432 l_rec_acct_attrs.array_acct_attr_code(11) := 'PARTY_ID';
75433 l_rec_acct_attrs.array_num_value(11) := p_source_102;
75434 l_rec_acct_attrs.array_acct_attr_code(12) := 'PARTY_SITE_ID';
75435 l_rec_acct_attrs.array_num_value(12) := p_source_103;
75436 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
75437 l_rec_acct_attrs.array_char_value(13) := p_source_71;
75438 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
75439 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_104);
75443 l_rec_acct_attrs.array_num_value(16) := p_source_74;
75440 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
75441 l_rec_acct_attrs.array_char_value(15) := p_source_43;
75442 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
75444 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
75445 l_rec_acct_attrs.array_num_value(17) := p_source_75;
75446 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
75447 l_rec_acct_attrs.array_num_value(18) := p_source_76;
75448
75449 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
75450 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
75451
75452 ---------------------------------------------------------------------------------------------------------------
75453 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
75454 ---------------------------------------------------------------------------------------------------------------
75455 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
75456
75457 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75458 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
75459
75460 IF xla_accounting_cache_pkg.GetValueChar
75461 (p_source_code => 'LEDGER_CATEGORY_CODE'
75462 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
75463 AND l_bflow_method_code = 'PRIOR_ENTRY'
75464 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
75465 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
75466 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
75467 )
75468 THEN
75469 xla_ae_lines_pkg.BflowUpgEntry
75470 (p_business_method_code => l_bflow_method_code
75471 ,p_business_class_code => l_bflow_class_code
75472 ,p_balance_type => l_balance_type_code);
75473 ELSE
75474 NULL;
75475 -- No business flow processing for business flow method of NONE.
75476 END IF;
75477
75478 --
75479 -- call analytical criteria
75480 --
75481
75482 --
75483 -- call description
75484 --
75485 -- No description or it is inherited.
75486 --
75487 -- call ADRs
75488 -- Bug 4922099
75489 --
75490 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75491 (NVL(l_actual_upg_option, 'N') = 'O') OR
75492 (NVL(l_enc_upg_option, 'N') = 'O')
75493 )
75494 THEN
75495 NULL;
75496 --
75497 --
75498
75499 l_ccid := AcctDerRule_37(
75500 p_application_id => p_application_id
75501 , p_ae_header_id => l_ae_header_id
75502 , p_source_3 => p_source_3
75503 , p_source_3_meaning => p_source_3_meaning
75504 , p_source_18 => p_source_18
75505 , p_source_24 => p_source_24
75506 , p_source_25 => p_source_25
75507 , x_transaction_coa_id => l_adr_transaction_coa_id
75508 , x_accounting_coa_id => l_adr_accounting_coa_id
75509 , x_value_type_code => l_adr_value_type_code
75510 , p_side => 'CREDIT'
75511 );
75512
75513 xla_ae_lines_pkg.set_ccid(
75514 p_code_combination_id => l_ccid
75515 , p_value_type_code => l_adr_value_type_code
75516 , p_transaction_coa_id => l_adr_transaction_coa_id
75517 , p_accounting_coa_id => l_adr_accounting_coa_id
75518 , p_adr_code => 'AP_REAL_GAIN'
75519 , p_adr_type_code => 'S'
75520 , p_component_type => l_component_type
75521 , p_component_code => l_component_code
75522 , p_component_type_code => l_component_type_code
75523 , p_component_appl_id => l_component_appl_id
75524 , p_amb_context_code => l_amb_context_code
75525 , p_side => 'CREDIT'
75526 );
75527
75528
75529 l_ccid := AcctDerRule_38(
75530 p_application_id => p_application_id
75531 , p_ae_header_id => l_ae_header_id
75532 , p_source_3 => p_source_3
75533 , p_source_3_meaning => p_source_3_meaning
75534 , p_source_18 => p_source_18
75535 , p_source_26 => p_source_26
75536 , p_source_27 => p_source_27
75537 , x_transaction_coa_id => l_adr_transaction_coa_id
75538 , x_accounting_coa_id => l_adr_accounting_coa_id
75539 , x_value_type_code => l_adr_value_type_code
75540 , p_side => 'DEBIT'
75541 );
75542
75543 xla_ae_lines_pkg.set_ccid(
75544 p_code_combination_id => l_ccid
75545 , p_value_type_code => l_adr_value_type_code
75546 , p_transaction_coa_id => l_adr_transaction_coa_id
75547 , p_accounting_coa_id => l_adr_accounting_coa_id
75548 , p_adr_code => 'AP_REAL_LOSS'
75549 , p_adr_type_code => 'S'
75550 , p_component_type => l_component_type
75551 , p_component_code => l_component_code
75552 , p_component_type_code => l_component_type_code
75553 , p_component_appl_id => l_component_appl_id
75557
75554 , p_amb_context_code => l_amb_context_code
75555 , p_side => 'DEBIT'
75556 );
75558
75559 l_segment := AcctDerRule_21(
75560 p_application_id => p_application_id
75561 , p_ae_header_id => l_ae_header_id
75562 , p_source_3 => p_source_3
75563 , p_source_3_meaning => p_source_3_meaning
75564 , p_source_18 => p_source_18
75565 , x_transaction_coa_id => l_adr_transaction_coa_id
75566 , x_accounting_coa_id => l_adr_accounting_coa_id
75567 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75568 , x_flex_value_set_id => l_adr_flex_value_set_id
75569 , x_value_type_code => l_adr_value_type_code
75570 , x_value_combination_id => l_adr_value_combination_id
75571 , x_value_segment_code => l_adr_value_segment_code
75572 , p_side => 'ALL'
75573 , p_override_seg_flag => 'Y'
75574 );
75575
75576 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75577
75578 xla_ae_lines_pkg.set_segment(
75579 p_to_segment_code => 'GL_BALANCING'
75580 , p_segment_value => l_segment
75581 , p_from_segment_code => l_adr_value_segment_code
75582 , p_from_combination_id => l_adr_value_combination_id
75583 , p_value_type_code => l_adr_value_type_code
75584 , p_transaction_coa_id => l_adr_transaction_coa_id
75585 , p_accounting_coa_id => l_adr_accounting_coa_id
75586 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75587 , p_flex_value_set_id => l_adr_flex_value_set_id
75588 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
75589 , p_adr_type_code => 'S'
75590 , p_component_type => l_component_type
75591 , p_component_code => l_component_code
75592 , p_component_type_code => l_component_type_code
75593 , p_component_appl_id => l_component_appl_id
75594 , p_amb_context_code => l_amb_context_code
75595 , p_entity_code => 'AP_PAYMENTS'
75596 , p_event_class_code => 'REFUNDS'
75597 , p_side => 'ALL'
75598 );
75599
75600 END IF;
75601
75602 l_segment := AcctDerRule_16(
75603 p_application_id => p_application_id
75604 , p_ae_header_id => l_ae_header_id
75605 , p_source_3 => p_source_3
75606 , p_source_3_meaning => p_source_3_meaning
75607 , p_source_24 => p_source_24
75608 , p_source_25 => p_source_25
75609 , x_transaction_coa_id => l_adr_transaction_coa_id
75610 , x_accounting_coa_id => l_adr_accounting_coa_id
75611 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75612 , x_flex_value_set_id => l_adr_flex_value_set_id
75613 , x_value_type_code => l_adr_value_type_code
75614 , x_value_combination_id => l_adr_value_combination_id
75615 , x_value_segment_code => l_adr_value_segment_code
75616 , p_side => 'CREDIT'
75617 , p_override_seg_flag => 'Y'
75618 );
75619
75620 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75621
75622 xla_ae_lines_pkg.set_segment(
75623 p_to_segment_code => 'GL_ACCOUNT'
75624 , p_segment_value => l_segment
75625 , p_from_segment_code => l_adr_value_segment_code
75626 , p_from_combination_id => l_adr_value_combination_id
75627 , p_value_type_code => l_adr_value_type_code
75628 , p_transaction_coa_id => l_adr_transaction_coa_id
75629 , p_accounting_coa_id => l_adr_accounting_coa_id
75630 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75631 , p_flex_value_set_id => l_adr_flex_value_set_id
75632 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
75633 , p_adr_type_code => 'S'
75634 , p_component_type => l_component_type
75635 , p_component_code => l_component_code
75636 , p_component_type_code => l_component_type_code
75637 , p_component_appl_id => l_component_appl_id
75638 , p_amb_context_code => l_amb_context_code
75639 , p_entity_code => 'AP_PAYMENTS'
75640 , p_event_class_code => 'REFUNDS'
75641 , p_side => 'CREDIT'
75642 );
75643
75644 END IF;
75645
75646 l_segment := AcctDerRule_17(
75647 p_application_id => p_application_id
75648 , p_ae_header_id => l_ae_header_id
75649 , p_source_3 => p_source_3
75650 , p_source_3_meaning => p_source_3_meaning
75651 , p_source_26 => p_source_26
75652 , p_source_27 => p_source_27
75653 , x_transaction_coa_id => l_adr_transaction_coa_id
75654 , x_accounting_coa_id => l_adr_accounting_coa_id
75655 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75656 , x_flex_value_set_id => l_adr_flex_value_set_id
75657 , x_value_type_code => l_adr_value_type_code
75658 , x_value_combination_id => l_adr_value_combination_id
75659 , x_value_segment_code => l_adr_value_segment_code
75660 , p_side => 'DEBIT'
75664 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75661 , p_override_seg_flag => 'Y'
75662 );
75663
75665
75666 xla_ae_lines_pkg.set_segment(
75667 p_to_segment_code => 'GL_ACCOUNT'
75668 , p_segment_value => l_segment
75669 , p_from_segment_code => l_adr_value_segment_code
75670 , p_from_combination_id => l_adr_value_combination_id
75671 , p_value_type_code => l_adr_value_type_code
75672 , p_transaction_coa_id => l_adr_transaction_coa_id
75673 , p_accounting_coa_id => l_adr_accounting_coa_id
75674 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75675 , p_flex_value_set_id => l_adr_flex_value_set_id
75676 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
75677 , p_adr_type_code => 'S'
75678 , p_component_type => l_component_type
75679 , p_component_code => l_component_code
75680 , p_component_type_code => l_component_type_code
75681 , p_component_appl_id => l_component_appl_id
75682 , p_amb_context_code => l_amb_context_code
75683 , p_entity_code => 'AP_PAYMENTS'
75684 , p_event_class_code => 'REFUNDS'
75685 , p_side => 'DEBIT'
75686 );
75687
75688 END IF;
75689
75690 --
75691 --
75692 END IF;
75693 --
75694 -- Bug 4922099
75695 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
75696 (NVL(l_enc_upg_option, 'N') = 'O')
75697 ) AND
75698 (l_bflow_method_code = 'PRIOR_ENTRY')
75699 )
75700 THEN
75701 IF
75702 --
75703 1 = 2
75704 --
75705 THEN
75706 xla_accounting_err_pkg.build_message
75707 (p_appli_s_name => 'XLA'
75708 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75709 ,p_token_1 => 'LINE_NUMBER'
75710 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
75711 ,p_token_2 => 'LINE_TYPE_NAME'
75712 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
75713 l_component_type
75714 ,l_component_code
75715 ,l_component_type_code
75716 ,l_component_appl_id
75717 ,l_amb_context_code
75718 ,l_entity_code
75719 ,l_event_class_code
75720 )
75721 ,p_token_3 => 'OWNER'
75722 ,p_value_3 => xla_lookups_pkg.get_meaning(
75723 p_lookup_type => 'XLA_OWNER_TYPE'
75724 ,p_lookup_code => l_component_type_code
75725 )
75726 ,p_token_4 => 'PRODUCT_NAME'
75727 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
75728 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
75729 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
75730 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
75731 ,p_ae_header_id => NULL
75732 );
75733
75734 IF (C_LEVEL_ERROR>= g_log_level) THEN
75735 trace
75736 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
75737 ,p_level => C_LEVEL_ERROR
75738 ,p_module => l_log_module);
75739 END IF;
75740 END IF;
75741 END IF;
75742 --
75743 --
75744 ------------------------------------------------------------------------------------------------
75745 -- 4219869 Business Flow
75746 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
75747 -- Prior Entry. Currently, the following code is always generated.
75748 ------------------------------------------------------------------------------------------------
75749 XLA_AE_LINES_PKG.ValidateCurrentLine;
75750
75751 ------------------------------------------------------------------------------------
75752 -- 4219869 Business Flow
75753 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
75754 ------------------------------------------------------------------------------------
75755 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
75756
75757 ----------------------------------------------------------------------------------
75758 -- 4219869 Business Flow
75759 -- Update journal entry status -- Need to generate this within IF <condition>
75763 ,p_balance_type_code => l_balance_type_code
75760 ----------------------------------------------------------------------------------
75761 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
75762 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
75764 );
75765
75766 -------------------------------------------------------------------------------------------
75767 -- 4262811 - Generate the Accrual Reversal lines
75768 -------------------------------------------------------------------------------------------
75769 BEGIN
75770 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
75771 (g_array_event(p_event_id).array_value_num('header_index'));
75772 IF l_acc_rev_flag IS NULL THEN
75773 l_acc_rev_flag := 'N';
75774 END IF;
75775 EXCEPTION
75776 WHEN OTHERS THEN
75777 l_acc_rev_flag := 'N';
75778 END;
75779 --
75780 IF (l_acc_rev_flag = 'Y') THEN
75781
75782 -- 4645092 ------------------------------------------------------------------------------
75783 -- To allow MPA report to determine if it should generate report process
75784 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
75785 ------------------------------------------------------------------------------------------
75786
75787 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
75788 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
75789 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
75790 -- call ADRs
75791 -- Bug 4922099
75792 --
75793 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
75794 (NVL(l_actual_upg_option, 'N') = 'O') OR
75795 (NVL(l_enc_upg_option, 'N') = 'O')
75796 )
75797 THEN
75798 NULL;
75799 --
75800 --
75801
75802 l_ccid := AcctDerRule_37(
75803 p_application_id => p_application_id
75804 , p_ae_header_id => l_ae_header_id
75805 , p_source_3 => p_source_3
75806 , p_source_3_meaning => p_source_3_meaning
75807 , p_source_18 => p_source_18
75808 , p_source_24 => p_source_24
75809 , p_source_25 => p_source_25
75810 , x_transaction_coa_id => l_adr_transaction_coa_id
75811 , x_accounting_coa_id => l_adr_accounting_coa_id
75812 , x_value_type_code => l_adr_value_type_code
75813 , p_side => 'CREDIT'
75814 );
75815
75816 xla_ae_lines_pkg.set_ccid(
75817 p_code_combination_id => l_ccid
75818 , p_value_type_code => l_adr_value_type_code
75819 , p_transaction_coa_id => l_adr_transaction_coa_id
75820 , p_accounting_coa_id => l_adr_accounting_coa_id
75821 , p_adr_code => 'AP_REAL_GAIN'
75822 , p_adr_type_code => 'S'
75823 , p_component_type => l_component_type
75824 , p_component_code => l_component_code
75825 , p_component_type_code => l_component_type_code
75826 , p_component_appl_id => l_component_appl_id
75827 , p_amb_context_code => l_amb_context_code
75828 , p_side => 'CREDIT'
75829 );
75830
75831
75832 l_ccid := AcctDerRule_38(
75833 p_application_id => p_application_id
75834 , p_ae_header_id => l_ae_header_id
75835 , p_source_3 => p_source_3
75836 , p_source_3_meaning => p_source_3_meaning
75837 , p_source_18 => p_source_18
75838 , p_source_26 => p_source_26
75839 , p_source_27 => p_source_27
75840 , x_transaction_coa_id => l_adr_transaction_coa_id
75841 , x_accounting_coa_id => l_adr_accounting_coa_id
75842 , x_value_type_code => l_adr_value_type_code
75843 , p_side => 'DEBIT'
75844 );
75845
75846 xla_ae_lines_pkg.set_ccid(
75847 p_code_combination_id => l_ccid
75848 , p_value_type_code => l_adr_value_type_code
75849 , p_transaction_coa_id => l_adr_transaction_coa_id
75850 , p_accounting_coa_id => l_adr_accounting_coa_id
75851 , p_adr_code => 'AP_REAL_LOSS'
75852 , p_adr_type_code => 'S'
75853 , p_component_type => l_component_type
75854 , p_component_code => l_component_code
75855 , p_component_type_code => l_component_type_code
75856 , p_component_appl_id => l_component_appl_id
75857 , p_amb_context_code => l_amb_context_code
75858 , p_side => 'DEBIT'
75859 );
75860
75861
75862 l_segment := AcctDerRule_21(
75863 p_application_id => p_application_id
75864 , p_ae_header_id => l_ae_header_id
75865 , p_source_3 => p_source_3
75866 , p_source_3_meaning => p_source_3_meaning
75867 , p_source_18 => p_source_18
75868 , x_transaction_coa_id => l_adr_transaction_coa_id
75869 , x_accounting_coa_id => l_adr_accounting_coa_id
75870 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75871 , x_flex_value_set_id => l_adr_flex_value_set_id
75872 , x_value_type_code => l_adr_value_type_code
75873 , x_value_combination_id => l_adr_value_combination_id
75874 , x_value_segment_code => l_adr_value_segment_code
75875 , p_side => 'ALL'
75879 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75876 , p_override_seg_flag => 'Y'
75877 );
75878
75880
75881 xla_ae_lines_pkg.set_segment(
75882 p_to_segment_code => 'GL_BALANCING'
75883 , p_segment_value => l_segment
75884 , p_from_segment_code => l_adr_value_segment_code
75885 , p_from_combination_id => l_adr_value_combination_id
75886 , p_value_type_code => l_adr_value_type_code
75887 , p_transaction_coa_id => l_adr_transaction_coa_id
75888 , p_accounting_coa_id => l_adr_accounting_coa_id
75889 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75890 , p_flex_value_set_id => l_adr_flex_value_set_id
75891 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
75892 , p_adr_type_code => 'S'
75893 , p_component_type => l_component_type
75894 , p_component_code => l_component_code
75895 , p_component_type_code => l_component_type_code
75896 , p_component_appl_id => l_component_appl_id
75897 , p_amb_context_code => l_amb_context_code
75898 , p_entity_code => 'AP_PAYMENTS'
75899 , p_event_class_code => 'REFUNDS'
75900 , p_side => 'ALL'
75901 );
75902
75903 END IF;
75904
75905 l_segment := AcctDerRule_16(
75906 p_application_id => p_application_id
75907 , p_ae_header_id => l_ae_header_id
75908 , p_source_3 => p_source_3
75909 , p_source_3_meaning => p_source_3_meaning
75910 , p_source_24 => p_source_24
75911 , p_source_25 => p_source_25
75912 , x_transaction_coa_id => l_adr_transaction_coa_id
75913 , x_accounting_coa_id => l_adr_accounting_coa_id
75914 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75915 , x_flex_value_set_id => l_adr_flex_value_set_id
75916 , x_value_type_code => l_adr_value_type_code
75917 , x_value_combination_id => l_adr_value_combination_id
75918 , x_value_segment_code => l_adr_value_segment_code
75919 , p_side => 'CREDIT'
75920 , p_override_seg_flag => 'Y'
75921 );
75922
75923 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75924
75925 xla_ae_lines_pkg.set_segment(
75926 p_to_segment_code => 'GL_ACCOUNT'
75927 , p_segment_value => l_segment
75928 , p_from_segment_code => l_adr_value_segment_code
75929 , p_from_combination_id => l_adr_value_combination_id
75930 , p_value_type_code => l_adr_value_type_code
75931 , p_transaction_coa_id => l_adr_transaction_coa_id
75932 , p_accounting_coa_id => l_adr_accounting_coa_id
75933 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75934 , p_flex_value_set_id => l_adr_flex_value_set_id
75935 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
75936 , p_adr_type_code => 'S'
75937 , p_component_type => l_component_type
75938 , p_component_code => l_component_code
75939 , p_component_type_code => l_component_type_code
75940 , p_component_appl_id => l_component_appl_id
75941 , p_amb_context_code => l_amb_context_code
75942 , p_entity_code => 'AP_PAYMENTS'
75943 , p_event_class_code => 'REFUNDS'
75944 , p_side => 'CREDIT'
75945 );
75946
75947 END IF;
75948
75949 l_segment := AcctDerRule_17(
75950 p_application_id => p_application_id
75951 , p_ae_header_id => l_ae_header_id
75952 , p_source_3 => p_source_3
75953 , p_source_3_meaning => p_source_3_meaning
75954 , p_source_26 => p_source_26
75955 , p_source_27 => p_source_27
75956 , x_transaction_coa_id => l_adr_transaction_coa_id
75957 , x_accounting_coa_id => l_adr_accounting_coa_id
75958 , x_flexfield_segment_code => l_adr_flexfield_segment_code
75959 , x_flex_value_set_id => l_adr_flex_value_set_id
75960 , x_value_type_code => l_adr_value_type_code
75961 , x_value_combination_id => l_adr_value_combination_id
75962 , x_value_segment_code => l_adr_value_segment_code
75963 , p_side => 'DEBIT'
75964 , p_override_seg_flag => 'Y'
75965 );
75966
75967 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
75968
75969 xla_ae_lines_pkg.set_segment(
75970 p_to_segment_code => 'GL_ACCOUNT'
75971 , p_segment_value => l_segment
75972 , p_from_segment_code => l_adr_value_segment_code
75973 , p_from_combination_id => l_adr_value_combination_id
75974 , p_value_type_code => l_adr_value_type_code
75975 , p_transaction_coa_id => l_adr_transaction_coa_id
75976 , p_accounting_coa_id => l_adr_accounting_coa_id
75977 , p_flexfield_segment_code => l_adr_flexfield_segment_code
75978 , p_flex_value_set_id => l_adr_flex_value_set_id
75979 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
75980 , p_adr_type_code => 'S'
75981 , p_component_type => l_component_type
75982 , p_component_code => l_component_code
75983 , p_component_type_code => l_component_type_code
75984 , p_component_appl_id => l_component_appl_id
75988 , p_side => 'DEBIT'
75985 , p_amb_context_code => l_amb_context_code
75986 , p_entity_code => 'AP_PAYMENTS'
75987 , p_event_class_code => 'REFUNDS'
75989 );
75990
75991 END IF;
75992
75993 --
75994 --
75995 END IF;
75996
75997 --
75998 -- Update the line information that should be overwritten
75999 --
76000 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
76001 p_header_num => 1);
76002 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
76003
76004 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
76005
76006 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
76007 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
76008 END IF;
76009
76010 --
76011 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
76012 --
76013 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
76014 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
76015 ELSE
76016 ---------------------------------------------------------------------------------------------------
76017 -- 4262811a Switch Sign
76018 ---------------------------------------------------------------------------------------------------
76019 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
76020 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76021 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76022 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76023 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76024 -- 5132302
76025 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
76026 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76027
76028 END IF;
76029
76030 -- 4955764
76031 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76032 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
76033
76034
76035 XLA_AE_LINES_PKG.ValidateCurrentLine;
76036 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76037
76038 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76039 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
76040 ,p_balance_type_code => l_balance_type_code);
76041
76042 END IF;
76043
76044 -----------------------------------------------------------------------------------------
76045 -- 4262811 Multiperiod Accounting
76046 -----------------------------------------------------------------------------------------
76047 -- No MPA option is assigned.
76048
76049
76050 END IF;
76051 END IF;
76052 --
76053
76054 --
76055 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76056 trace
76057 (p_msg => 'END of AcctLineType_141'
76058 ,p_level => C_LEVEL_PROCEDURE
76059 ,p_module => l_log_module);
76060 END IF;
76061 --
76062 EXCEPTION
76063 WHEN xla_exceptions_pkg.application_exception THEN
76064 RAISE;
76065 WHEN OTHERS THEN
76066 xla_exceptions_pkg.raise_message
76067 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_141');
76068 END AcctLineType_141;
76069 --
76070
76071 ---------------------------------------
76072 --
76073 -- PRIVATE FUNCTION
76074 -- AcctLineType_142
76075 --
76076 ---------------------------------------
76077 PROCEDURE AcctLineType_142 (
76078 p_application_id IN NUMBER
76079 ,p_event_id IN NUMBER
76080 ,p_calculate_acctd_flag IN VARCHAR2
76081 ,p_calculate_g_l_flag IN VARCHAR2
76082 ,p_actual_flag IN OUT VARCHAR2
76083 ,p_balance_type_code OUT VARCHAR2
76084 ,p_gain_or_loss_ref OUT VARCHAR2
76085
76086 --Automatic Offsets Value
76087 , p_source_3 IN VARCHAR2
76088 , p_source_3_meaning IN VARCHAR2
76089 --Invoice Distribution Account
76090 , p_source_18 IN NUMBER
76091 --Internal Realized Gain Account
76092 , p_source_24 IN NUMBER
76093 --Bank Gain Account
76094 , p_source_25 IN NUMBER
76095 --Accounting Reversal Indicator
76096 , p_source_41 IN VARCHAR2
76097 --Distribution Link Type
76098 , p_source_43 IN VARCHAR2
76099 --Override Accounted Amount Indicator
76100 , p_source_68 IN VARCHAR2
76101 , p_source_68_meaning IN VARCHAR2
76102 --Third Party Type
76103 , p_source_71 IN VARCHAR2
76104 --Invoice Distribution Tax Line Identifier
76105 , p_source_74 IN NUMBER
76106 --Invoice Distribution Summary Tax Line Identifier
76107 , p_source_76 IN NUMBER
76108 --Business Flow Accounts Payable Application Identifier
76109 , p_source_79 IN NUMBER
76113 , p_source_90 IN VARCHAR2
76110 --When to Account for Payment Option
76111 , p_source_89 IN VARCHAR2
76112 --Payment Distribution Type
76114 , p_source_90_meaning IN VARCHAR2
76115 --Payment Distribution Amount
76116 , p_source_91 IN NUMBER
76117 --Business Flow Payment Distribution Type
76118 , p_source_92 IN VARCHAR2
76119 --Business Flow Payment Entity Code
76120 , p_source_93 IN VARCHAR2
76121 --Business Flow Payment Distribution Identifier
76122 , p_source_94 IN NUMBER
76123 --Business Flow Payment Identifier
76124 , p_source_95 IN NUMBER
76125 --Payment Distribution Identifier
76126 , p_source_96 IN NUMBER
76127 --Cleared Exchange Date
76128 , p_source_98 IN DATE
76129 --Cleared Exchange Rate
76130 , p_source_99 IN NUMBER
76131 --Cleared Exchange Rate Type
76132 , p_source_100 IN VARCHAR2
76133 --Payment Supplier Identifier
76134 , p_source_102 IN NUMBER
76135 --Payment Supplier Site Identifier
76136 , p_source_103 IN NUMBER
76137 --Payment Distribution Reversed Identifier
76138 , p_source_104 IN NUMBER
76139 --Payment Currency Code
76140 , p_source_106 IN VARCHAR2
76141 --Payment Maturity Date
76142 , p_source_107 IN DATE
76143 --Gain or Loss Indicator between Maturity and Clearing
76144 , p_source_151 IN VARCHAR2
76145 --Maturity/Clearing Ledger Amount Difference
76146 , p_source_152 IN NUMBER
76147 )
76148 IS
76149
76150 l_component_type VARCHAR2(80);
76151 l_component_code VARCHAR2(30);
76152 l_component_type_code VARCHAR2(1);
76153 l_component_appl_id INTEGER;
76154 l_amb_context_code VARCHAR2(30);
76155 l_entity_code VARCHAR2(30);
76156 l_event_class_code VARCHAR2(30);
76157 l_ae_header_id NUMBER;
76158 l_event_type_code VARCHAR2(30);
76159 l_line_definition_code VARCHAR2(30);
76160 l_line_definition_owner_code VARCHAR2(1);
76161 --
76162 -- adr variables
76163 l_segment VARCHAR2(30);
76164 l_ccid NUMBER;
76165 l_adr_transaction_coa_id NUMBER;
76166 l_adr_accounting_coa_id NUMBER;
76167 l_adr_flexfield_segment_code VARCHAR2(30);
76168 l_adr_flex_value_set_id NUMBER;
76169 l_adr_value_type_code VARCHAR2(30);
76170 l_adr_value_combination_id NUMBER;
76171 l_adr_value_segment_code VARCHAR2(30);
76172
76173 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
76174 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
76175 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
76176 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
76177
76178 -- 4262811 Variables ------------------------------------------------------------------------------------------
76179 l_entered_amt_idx NUMBER;
76180 l_accted_amt_idx NUMBER;
76181 l_acc_rev_flag VARCHAR2(1);
76182 l_accrual_line_num NUMBER;
76183 l_tmp_amt NUMBER;
76184 l_acc_rev_natural_side_code VARCHAR2(1);
76185
76186 l_num_entries NUMBER;
76187 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
76188 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
76189 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
76190 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
76191 l_recog_line_1 NUMBER;
76192 l_recog_line_2 NUMBER;
76193
76194 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
76195 l_bflow_applied_to_amt NUMBER; -- 5132302
76196 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
76197
76198 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
76199
76200 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
76201 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
76202
76203 ---------------------------------------------------------------------------------------------------------------
76204
76205
76206 --
76207 -- bulk performance
76208 --
76209 l_balance_type_code VARCHAR2(1);
76210 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
76211 l_log_module VARCHAR2(240);
76212
76213 --
76214 -- Upgrade strategy
76215 --
76216 l_actual_upg_option VARCHAR2(1);
76217 l_enc_upg_option VARCHAR2(1);
76218
76219 --
76220 BEGIN
76221 --
76222 IF g_log_enabled THEN
76223 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_142';
76224 END IF;
76225 --
76226 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76227
76228 trace
76229 (p_msg => 'BEGIN of AcctLineType_142'
76230 ,p_level => C_LEVEL_PROCEDURE
76231 ,p_module => l_log_module);
76232
76233 END IF;
76234 --
76235 l_component_type := 'AMB_JLT';
76236 l_component_code := 'AP_GAIN_MAT_CLEAR';
76237 l_component_type_code := 'S';
76238 l_component_appl_id := 200;
76239 l_amb_context_code := 'DEFAULT';
76243 l_line_definition_owner_code := 'S';
76240 l_entity_code := 'AP_PAYMENTS';
76241 l_event_class_code := 'RECONCILED PAYMENTS';
76242 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
76244 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
76245 --
76246 l_balance_type_code := 'A';
76247 l_segment := NULL;
76248 l_ccid := NULL;
76249 l_adr_transaction_coa_id := NULL;
76250 l_adr_accounting_coa_id := NULL;
76251 l_adr_flexfield_segment_code := NULL;
76252 l_adr_flex_value_set_id := NULL;
76253 l_adr_value_type_code := NULL;
76254 l_adr_value_combination_id := NULL;
76255 l_adr_value_segment_code := NULL;
76256
76257 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
76258 l_bflow_class_code := ''; -- 4219869 Business Flow
76259 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
76260 l_budgetary_control_flag := 'N';
76261
76262 l_bflow_applied_to_amt_idx := NULL; -- 5132302
76263 l_bflow_applied_to_amt := NULL; -- 5132302
76264 l_entered_amt_idx := NULL; -- 4262811
76265 l_accted_amt_idx := NULL; -- 4262811
76266 l_acc_rev_flag := NULL; -- 4262811
76267 l_accrual_line_num := NULL; -- 4262811
76268 l_tmp_amt := NULL; -- 4262811
76269 --
76270 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
76271 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
76272 return;
76273 END IF;
76274
76275 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
76276 l_balance_type_code <> 'B' THEN
76277 IF NVL(p_source_89,'
76278 ') = 'ALWAYS_ALWAYS' AND
76279 p_source_107 IS NOT NULL AND
76280 NVL(p_source_151,'
76281 ') = 'GAIN' AND
76282 NVL(p_source_90,'
76283 ') <> 'EXCHANGE RATE VARIANCE' AND
76284 NVL(p_source_90,'
76285 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
76286 NVL(p_source_90,'
76287 ') <> 'BANK CHARGE' AND
76288 NVL(p_source_90,'
76289 ') <> 'BANK ERROR'
76290 THEN
76291
76292 --
76293 XLA_AE_LINES_PKG.SetNewLine;
76294
76295 p_balance_type_code := l_balance_type_code;
76296 -- set the flag so later we will know whether the gain loss line needs to be created
76297
76298 IF(l_balance_type_code = 'A' ) THEN
76299 p_actual_flag :='G';
76300 END IF;
76301
76302 --
76303 -- bulk performance
76304 --
76305 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
76306 p_header_num => 0); -- 4262811
76307 --
76308 -- set accounting line options
76309 --
76310 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
76311 p_natural_side_code => 'C'
76312 , p_gain_or_loss_flag => 'Y'
76313 , p_gl_transfer_mode_code => 'S'
76314 , p_acct_entry_type_code => 'A'
76315 , p_switch_side_flag => 'Y'
76316 , p_merge_duplicate_code => 'A'
76317 );
76318 --
76319 l_acc_rev_natural_side_code := 'D'; -- 4262811
76320 --
76321 --
76322 -- set accounting line type info
76323 --
76324 xla_ae_lines_pkg.SetAcctLineType
76325 (p_component_type => l_component_type
76326 ,p_event_type_code => l_event_type_code
76327 ,p_line_definition_owner_code => l_line_definition_owner_code
76328 ,p_line_definition_code => l_line_definition_code
76329 ,p_accounting_line_code => l_component_code
76330 ,p_accounting_line_type_code => l_component_type_code
76331 ,p_accounting_line_appl_id => l_component_appl_id
76332 ,p_amb_context_code => l_amb_context_code
76333 ,p_entity_code => l_entity_code
76334 ,p_event_class_code => l_event_class_code);
76335 --
76336 -- set accounting class
76337 --
76338 xla_ae_lines_pkg.SetAcctClass(
76339 p_accounting_class_code => 'GAIN'
76340 , p_ae_header_id => l_ae_header_id
76341 );
76342
76343 --
76344 -- set rounding class
76345 --
76346 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
76347 'GAIN';
76348
76349 --
76350 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
76351 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
76352 --
76353 -- bulk performance
76354 --
76355 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
76356
76357 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
76358 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
76359
76360 -- 4955764
76361 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76362 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
76363
76364 -- 4458381 Public Sector Enh
76368 --
76365
76366 --
76367 -- set accounting attributes for the line type
76369 l_entered_amt_idx := 10;
76370 l_accted_amt_idx := 15;
76371 l_bflow_applied_to_amt_idx := 2; -- 5132302
76372 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
76373 l_rec_acct_attrs.array_char_value(1) := p_source_41;
76374 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
76375 l_rec_acct_attrs.array_num_value(2) := p_source_91;
76376 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
76377 l_rec_acct_attrs.array_num_value(3) := p_source_79;
76378 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
76379 l_rec_acct_attrs.array_char_value(4) := p_source_92;
76380 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
76381 l_rec_acct_attrs.array_char_value(5) := p_source_93;
76382 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
76383 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
76384 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
76385 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
76386 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
76387 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
76388 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
76389 l_rec_acct_attrs.array_char_value(9) := p_source_43;
76390 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
76391 l_rec_acct_attrs.array_num_value(10) := p_source_91;
76392 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
76393 l_rec_acct_attrs.array_char_value(11) := p_source_106;
76394 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
76395 l_rec_acct_attrs.array_date_value(12) := p_source_98;
76396 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
76397 l_rec_acct_attrs.array_num_value(13) := p_source_99;
76398 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
76399 l_rec_acct_attrs.array_char_value(14) := p_source_100;
76400 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
76401 l_rec_acct_attrs.array_num_value(15) := p_source_152;
76402 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
76403 l_rec_acct_attrs.array_char_value(16) := p_source_68;
76404 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
76405 l_rec_acct_attrs.array_num_value(17) := p_source_102;
76406 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
76407 l_rec_acct_attrs.array_num_value(18) := p_source_103;
76408 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
76409 l_rec_acct_attrs.array_char_value(19) := p_source_71;
76410 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
76411 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
76412 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
76413 l_rec_acct_attrs.array_char_value(21) := p_source_43;
76414 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
76415 l_rec_acct_attrs.array_num_value(22) := p_source_74;
76416 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
76417 l_rec_acct_attrs.array_num_value(23) := p_source_74;
76418 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
76419 l_rec_acct_attrs.array_num_value(24) := p_source_76;
76420
76421 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
76422 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
76423
76424 ---------------------------------------------------------------------------------------------------------------
76425 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
76426 ---------------------------------------------------------------------------------------------------------------
76427 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
76428
76429 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76430 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
76431
76432 IF xla_accounting_cache_pkg.GetValueChar
76433 (p_source_code => 'LEDGER_CATEGORY_CODE'
76434 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
76435 AND l_bflow_method_code = 'PRIOR_ENTRY'
76436 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
76437 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
76438 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
76439 )
76440 THEN
76441 xla_ae_lines_pkg.BflowUpgEntry
76442 (p_business_method_code => l_bflow_method_code
76443 ,p_business_class_code => l_bflow_class_code
76444 ,p_balance_type => l_balance_type_code);
76445 ELSE
76446 NULL;
76447 -- No business flow processing for business flow method of NONE.
76448 END IF;
76449
76450 --
76451 -- call analytical criteria
76452 --
76453
76454 --
76455 -- call description
76456 --
76457 -- No description or it is inherited.
76458 --
76459 -- call ADRs
76460 -- Bug 4922099
76461 --
76462 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76463 (NVL(l_actual_upg_option, 'N') = 'O') OR
76464 (NVL(l_enc_upg_option, 'N') = 'O')
76465 )
76466 THEN
76467 NULL;
76471 l_ccid := AcctDerRule_37(
76468 --
76469 --
76470
76472 p_application_id => p_application_id
76473 , p_ae_header_id => l_ae_header_id
76474 , p_source_3 => p_source_3
76475 , p_source_3_meaning => p_source_3_meaning
76476 , p_source_18 => p_source_18
76477 , p_source_24 => p_source_24
76478 , p_source_25 => p_source_25
76479 , x_transaction_coa_id => l_adr_transaction_coa_id
76480 , x_accounting_coa_id => l_adr_accounting_coa_id
76481 , x_value_type_code => l_adr_value_type_code
76482 , p_side => 'NA'
76483 );
76484
76485 xla_ae_lines_pkg.set_ccid(
76486 p_code_combination_id => l_ccid
76487 , p_value_type_code => l_adr_value_type_code
76488 , p_transaction_coa_id => l_adr_transaction_coa_id
76489 , p_accounting_coa_id => l_adr_accounting_coa_id
76490 , p_adr_code => 'AP_REAL_GAIN'
76491 , p_adr_type_code => 'S'
76492 , p_component_type => l_component_type
76493 , p_component_code => l_component_code
76494 , p_component_type_code => l_component_type_code
76495 , p_component_appl_id => l_component_appl_id
76496 , p_amb_context_code => l_amb_context_code
76497 , p_side => 'NA'
76498 );
76499
76500
76501 l_segment := AcctDerRule_21(
76502 p_application_id => p_application_id
76503 , p_ae_header_id => l_ae_header_id
76504 , p_source_3 => p_source_3
76505 , p_source_3_meaning => p_source_3_meaning
76506 , p_source_18 => p_source_18
76507 , x_transaction_coa_id => l_adr_transaction_coa_id
76508 , x_accounting_coa_id => l_adr_accounting_coa_id
76509 , x_flexfield_segment_code => l_adr_flexfield_segment_code
76510 , x_flex_value_set_id => l_adr_flex_value_set_id
76511 , x_value_type_code => l_adr_value_type_code
76512 , x_value_combination_id => l_adr_value_combination_id
76513 , x_value_segment_code => l_adr_value_segment_code
76514 , p_side => 'NA'
76515 , p_override_seg_flag => 'Y'
76516 );
76517
76518 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
76519
76520 xla_ae_lines_pkg.set_segment(
76521 p_to_segment_code => 'GL_BALANCING'
76522 , p_segment_value => l_segment
76523 , p_from_segment_code => l_adr_value_segment_code
76524 , p_from_combination_id => l_adr_value_combination_id
76525 , p_value_type_code => l_adr_value_type_code
76526 , p_transaction_coa_id => l_adr_transaction_coa_id
76527 , p_accounting_coa_id => l_adr_accounting_coa_id
76528 , p_flexfield_segment_code => l_adr_flexfield_segment_code
76529 , p_flex_value_set_id => l_adr_flex_value_set_id
76530 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
76531 , p_adr_type_code => 'S'
76532 , p_component_type => l_component_type
76533 , p_component_code => l_component_code
76534 , p_component_type_code => l_component_type_code
76535 , p_component_appl_id => l_component_appl_id
76536 , p_amb_context_code => l_amb_context_code
76537 , p_entity_code => 'AP_PAYMENTS'
76538 , p_event_class_code => 'RECONCILED PAYMENTS'
76539 , p_side => 'NA'
76540 );
76541
76542 END IF;
76543
76544 l_segment := AcctDerRule_16(
76545 p_application_id => p_application_id
76546 , p_ae_header_id => l_ae_header_id
76547 , p_source_3 => p_source_3
76548 , p_source_3_meaning => p_source_3_meaning
76549 , p_source_24 => p_source_24
76550 , p_source_25 => p_source_25
76551 , x_transaction_coa_id => l_adr_transaction_coa_id
76552 , x_accounting_coa_id => l_adr_accounting_coa_id
76553 , x_flexfield_segment_code => l_adr_flexfield_segment_code
76554 , x_flex_value_set_id => l_adr_flex_value_set_id
76555 , x_value_type_code => l_adr_value_type_code
76556 , x_value_combination_id => l_adr_value_combination_id
76557 , x_value_segment_code => l_adr_value_segment_code
76558 , p_side => 'NA'
76559 , p_override_seg_flag => 'Y'
76560 );
76561
76562 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
76563
76564 xla_ae_lines_pkg.set_segment(
76565 p_to_segment_code => 'GL_ACCOUNT'
76566 , p_segment_value => l_segment
76567 , p_from_segment_code => l_adr_value_segment_code
76568 , p_from_combination_id => l_adr_value_combination_id
76569 , p_value_type_code => l_adr_value_type_code
76570 , p_transaction_coa_id => l_adr_transaction_coa_id
76571 , p_accounting_coa_id => l_adr_accounting_coa_id
76572 , p_flexfield_segment_code => l_adr_flexfield_segment_code
76573 , p_flex_value_set_id => l_adr_flex_value_set_id
76574 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
76575 , p_adr_type_code => 'S'
76576 , p_component_type => l_component_type
76577 , p_component_code => l_component_code
76581 , p_entity_code => 'AP_PAYMENTS'
76578 , p_component_type_code => l_component_type_code
76579 , p_component_appl_id => l_component_appl_id
76580 , p_amb_context_code => l_amb_context_code
76582 , p_event_class_code => 'RECONCILED PAYMENTS'
76583 , p_side => 'NA'
76584 );
76585
76586 END IF;
76587
76588 --
76589 --
76590 END IF;
76591 --
76592 -- Bug 4922099
76593 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
76594 (NVL(l_enc_upg_option, 'N') = 'O')
76595 ) AND
76596 (l_bflow_method_code = 'PRIOR_ENTRY')
76597 )
76598 THEN
76599 IF
76600 --
76601 1 = 2
76602 --
76603 THEN
76604 xla_accounting_err_pkg.build_message
76605 (p_appli_s_name => 'XLA'
76606 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76607 ,p_token_1 => 'LINE_NUMBER'
76608 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
76609 ,p_token_2 => 'LINE_TYPE_NAME'
76610 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
76611 l_component_type
76612 ,l_component_code
76613 ,l_component_type_code
76614 ,l_component_appl_id
76615 ,l_amb_context_code
76616 ,l_entity_code
76617 ,l_event_class_code
76618 )
76619 ,p_token_3 => 'OWNER'
76620 ,p_value_3 => xla_lookups_pkg.get_meaning(
76621 p_lookup_type => 'XLA_OWNER_TYPE'
76622 ,p_lookup_code => l_component_type_code
76623 )
76624 ,p_token_4 => 'PRODUCT_NAME'
76625 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
76626 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
76627 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
76628 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
76629 ,p_ae_header_id => NULL
76630 );
76631
76632 IF (C_LEVEL_ERROR>= g_log_level) THEN
76633 trace
76634 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
76635 ,p_level => C_LEVEL_ERROR
76636 ,p_module => l_log_module);
76637 END IF;
76638 END IF;
76639 END IF;
76640 --
76641 --
76642 ------------------------------------------------------------------------------------------------
76643 -- 4219869 Business Flow
76644 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
76645 -- Prior Entry. Currently, the following code is always generated.
76646 ------------------------------------------------------------------------------------------------
76647 XLA_AE_LINES_PKG.ValidateCurrentLine;
76648
76649 ------------------------------------------------------------------------------------
76650 -- 4219869 Business Flow
76651 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
76652 ------------------------------------------------------------------------------------
76653 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76654
76655 ----------------------------------------------------------------------------------
76656 -- 4219869 Business Flow
76657 -- Update journal entry status -- Need to generate this within IF <condition>
76658 ----------------------------------------------------------------------------------
76659 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76660 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
76661 ,p_balance_type_code => l_balance_type_code
76662 );
76663
76664 -------------------------------------------------------------------------------------------
76665 -- 4262811 - Generate the Accrual Reversal lines
76666 -------------------------------------------------------------------------------------------
76667 BEGIN
76668 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
76669 (g_array_event(p_event_id).array_value_num('header_index'));
76670 IF l_acc_rev_flag IS NULL THEN
76671 l_acc_rev_flag := 'N';
76672 END IF;
76673 EXCEPTION
76674 WHEN OTHERS THEN
76675 l_acc_rev_flag := 'N';
76679
76676 END;
76677 --
76678 IF (l_acc_rev_flag = 'Y') THEN
76680 -- 4645092 ------------------------------------------------------------------------------
76681 -- To allow MPA report to determine if it should generate report process
76682 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
76683 ------------------------------------------------------------------------------------------
76684
76685 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
76686 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
76687 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
76688 -- call ADRs
76689 -- Bug 4922099
76690 --
76691 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
76692 (NVL(l_actual_upg_option, 'N') = 'O') OR
76693 (NVL(l_enc_upg_option, 'N') = 'O')
76694 )
76695 THEN
76696 NULL;
76697 --
76698 --
76699
76700 l_ccid := AcctDerRule_37(
76701 p_application_id => p_application_id
76702 , p_ae_header_id => l_ae_header_id
76703 , p_source_3 => p_source_3
76704 , p_source_3_meaning => p_source_3_meaning
76705 , p_source_18 => p_source_18
76706 , p_source_24 => p_source_24
76707 , p_source_25 => p_source_25
76708 , x_transaction_coa_id => l_adr_transaction_coa_id
76709 , x_accounting_coa_id => l_adr_accounting_coa_id
76710 , x_value_type_code => l_adr_value_type_code
76711 , p_side => 'NA'
76712 );
76713
76714 xla_ae_lines_pkg.set_ccid(
76715 p_code_combination_id => l_ccid
76716 , p_value_type_code => l_adr_value_type_code
76717 , p_transaction_coa_id => l_adr_transaction_coa_id
76718 , p_accounting_coa_id => l_adr_accounting_coa_id
76719 , p_adr_code => 'AP_REAL_GAIN'
76720 , p_adr_type_code => 'S'
76721 , p_component_type => l_component_type
76722 , p_component_code => l_component_code
76723 , p_component_type_code => l_component_type_code
76724 , p_component_appl_id => l_component_appl_id
76725 , p_amb_context_code => l_amb_context_code
76726 , p_side => 'NA'
76727 );
76728
76729
76730 l_segment := AcctDerRule_21(
76731 p_application_id => p_application_id
76732 , p_ae_header_id => l_ae_header_id
76733 , p_source_3 => p_source_3
76734 , p_source_3_meaning => p_source_3_meaning
76735 , p_source_18 => p_source_18
76736 , x_transaction_coa_id => l_adr_transaction_coa_id
76737 , x_accounting_coa_id => l_adr_accounting_coa_id
76738 , x_flexfield_segment_code => l_adr_flexfield_segment_code
76739 , x_flex_value_set_id => l_adr_flex_value_set_id
76740 , x_value_type_code => l_adr_value_type_code
76741 , x_value_combination_id => l_adr_value_combination_id
76742 , x_value_segment_code => l_adr_value_segment_code
76743 , p_side => 'NA'
76744 , p_override_seg_flag => 'Y'
76745 );
76746
76747 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
76748
76749 xla_ae_lines_pkg.set_segment(
76750 p_to_segment_code => 'GL_BALANCING'
76751 , p_segment_value => l_segment
76752 , p_from_segment_code => l_adr_value_segment_code
76753 , p_from_combination_id => l_adr_value_combination_id
76754 , p_value_type_code => l_adr_value_type_code
76755 , p_transaction_coa_id => l_adr_transaction_coa_id
76756 , p_accounting_coa_id => l_adr_accounting_coa_id
76757 , p_flexfield_segment_code => l_adr_flexfield_segment_code
76758 , p_flex_value_set_id => l_adr_flex_value_set_id
76759 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
76760 , p_adr_type_code => 'S'
76761 , p_component_type => l_component_type
76762 , p_component_code => l_component_code
76763 , p_component_type_code => l_component_type_code
76764 , p_component_appl_id => l_component_appl_id
76765 , p_amb_context_code => l_amb_context_code
76766 , p_entity_code => 'AP_PAYMENTS'
76767 , p_event_class_code => 'RECONCILED PAYMENTS'
76768 , p_side => 'NA'
76769 );
76770
76771 END IF;
76772
76773 l_segment := AcctDerRule_16(
76774 p_application_id => p_application_id
76775 , p_ae_header_id => l_ae_header_id
76776 , p_source_3 => p_source_3
76777 , p_source_3_meaning => p_source_3_meaning
76778 , p_source_24 => p_source_24
76779 , p_source_25 => p_source_25
76780 , x_transaction_coa_id => l_adr_transaction_coa_id
76781 , x_accounting_coa_id => l_adr_accounting_coa_id
76782 , x_flexfield_segment_code => l_adr_flexfield_segment_code
76783 , x_flex_value_set_id => l_adr_flex_value_set_id
76784 , x_value_type_code => l_adr_value_type_code
76785 , x_value_combination_id => l_adr_value_combination_id
76786 , x_value_segment_code => l_adr_value_segment_code
76787 , p_side => 'NA'
76788 , p_override_seg_flag => 'Y'
76792
76789 );
76790
76791 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
76793 xla_ae_lines_pkg.set_segment(
76794 p_to_segment_code => 'GL_ACCOUNT'
76795 , p_segment_value => l_segment
76796 , p_from_segment_code => l_adr_value_segment_code
76797 , p_from_combination_id => l_adr_value_combination_id
76798 , p_value_type_code => l_adr_value_type_code
76799 , p_transaction_coa_id => l_adr_transaction_coa_id
76800 , p_accounting_coa_id => l_adr_accounting_coa_id
76801 , p_flexfield_segment_code => l_adr_flexfield_segment_code
76802 , p_flex_value_set_id => l_adr_flex_value_set_id
76803 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
76804 , p_adr_type_code => 'S'
76805 , p_component_type => l_component_type
76806 , p_component_code => l_component_code
76807 , p_component_type_code => l_component_type_code
76808 , p_component_appl_id => l_component_appl_id
76809 , p_amb_context_code => l_amb_context_code
76810 , p_entity_code => 'AP_PAYMENTS'
76811 , p_event_class_code => 'RECONCILED PAYMENTS'
76812 , p_side => 'NA'
76813 );
76814
76815 END IF;
76816
76817 --
76818 --
76819 END IF;
76820
76821 --
76822 -- Update the line information that should be overwritten
76823 --
76824 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
76825 p_header_num => 1);
76826 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
76827
76828 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
76829
76830 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
76831 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
76832 END IF;
76833
76834 --
76835 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
76836 --
76837 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
76838 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
76839 ELSE
76840 ---------------------------------------------------------------------------------------------------
76841 -- 4262811a Switch Sign
76842 ---------------------------------------------------------------------------------------------------
76843 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
76844 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76846 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
76847 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76848 -- 5132302
76849 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
76850 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
76851
76852 END IF;
76853
76854 -- 4955764
76855 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
76856 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
76857
76858
76859 XLA_AE_LINES_PKG.ValidateCurrentLine;
76860 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
76861
76862 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
76863 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
76864 ,p_balance_type_code => l_balance_type_code);
76865
76866 END IF;
76867
76868 -----------------------------------------------------------------------------------------
76869 -- 4262811 Multiperiod Accounting
76870 -----------------------------------------------------------------------------------------
76871 -- No MPA option is assigned.
76872
76873
76874 END IF;
76875 END IF;
76876 --
76877
76878 --
76879 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
76880 trace
76881 (p_msg => 'END of AcctLineType_142'
76882 ,p_level => C_LEVEL_PROCEDURE
76883 ,p_module => l_log_module);
76884 END IF;
76885 --
76886 EXCEPTION
76887 WHEN xla_exceptions_pkg.application_exception THEN
76888 RAISE;
76889 WHEN OTHERS THEN
76890 xla_exceptions_pkg.raise_message
76891 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_142');
76892 END AcctLineType_142;
76893 --
76894
76895 ---------------------------------------
76896 --
76897 -- PRIVATE FUNCTION
76898 -- AcctLineType_143
76899 --
76900 ---------------------------------------
76901 PROCEDURE AcctLineType_143 (
76902 p_application_id IN NUMBER
76903 ,p_event_id IN NUMBER
76904 ,p_calculate_acctd_flag IN VARCHAR2
76905 ,p_calculate_g_l_flag IN VARCHAR2
76906 ,p_actual_flag IN OUT VARCHAR2
76910 --Automatic Offsets Value
76907 ,p_balance_type_code OUT VARCHAR2
76908 ,p_gain_or_loss_ref OUT VARCHAR2
76909
76911 , p_source_3 IN VARCHAR2
76912 , p_source_3_meaning IN VARCHAR2
76913 --Invoice Distribution Account
76914 , p_source_18 IN NUMBER
76915 --Internal Realized Gain Account
76916 , p_source_24 IN NUMBER
76917 --Bank Gain Account
76918 , p_source_25 IN NUMBER
76919 --Accounting Reversal Indicator
76920 , p_source_41 IN VARCHAR2
76921 --Distribution Link Type
76922 , p_source_43 IN VARCHAR2
76923 --Override Accounted Amount Indicator
76924 , p_source_68 IN VARCHAR2
76925 , p_source_68_meaning IN VARCHAR2
76926 --Third Party Type
76927 , p_source_71 IN VARCHAR2
76928 --Invoice Distribution Tax Line Identifier
76929 , p_source_74 IN NUMBER
76930 --Invoice Distribution Tax Distribution Identifier from Tax
76931 , p_source_75 IN NUMBER
76932 --Invoice Distribution Summary Tax Line Identifier
76933 , p_source_76 IN NUMBER
76934 --Business Flow Accounts Payable Application Identifier
76935 , p_source_79 IN NUMBER
76936 --Business Flow Invoice Distribution Type
76937 , p_source_80 IN VARCHAR2
76938 --Business Flow Invoice Entity Code
76939 , p_source_81 IN VARCHAR2
76940 --Business Flow Invoice Distribution Identifier
76941 , p_source_82 IN NUMBER
76942 --Business Flow Invoice Identifier
76943 , p_source_83 IN NUMBER
76944 --When to Account for Payment Option
76945 , p_source_89 IN VARCHAR2
76946 --Payment Distribution Type
76947 , p_source_90 IN VARCHAR2
76948 , p_source_90_meaning IN VARCHAR2
76949 --Payment Distribution Amount
76950 , p_source_91 IN NUMBER
76951 --Payment Distribution Identifier
76952 , p_source_96 IN NUMBER
76953 --Payment Supplier Identifier
76954 , p_source_102 IN NUMBER
76955 --Payment Supplier Site Identifier
76956 , p_source_103 IN NUMBER
76957 --Payment Distribution Reversed Identifier
76958 , p_source_104 IN NUMBER
76959 --Payment Currency Code
76960 , p_source_106 IN VARCHAR2
76961 --Payment Exchange Date
76962 , p_source_110 IN DATE
76963 --Payment Exchange Rate
76964 , p_source_111 IN NUMBER
76965 --Payment Exchange Rate Type
76966 , p_source_112 IN VARCHAR2
76967 --Payment Type
76968 , p_source_115 IN VARCHAR2
76969 , p_source_115_meaning IN VARCHAR2
76970 --Invoice Distribution Amount of the Payment Distribution
76971 , p_source_117 IN NUMBER
76972 --Invoice/Payment Ledger Amount Difference
76973 , p_source_148 IN NUMBER
76974 --Gain or Loss Indicator between Invoice and Payment
76975 , p_source_153 IN VARCHAR2
76976 )
76977 IS
76978
76979 l_component_type VARCHAR2(80);
76980 l_component_code VARCHAR2(30);
76981 l_component_type_code VARCHAR2(1);
76982 l_component_appl_id INTEGER;
76983 l_amb_context_code VARCHAR2(30);
76984 l_entity_code VARCHAR2(30);
76985 l_event_class_code VARCHAR2(30);
76986 l_ae_header_id NUMBER;
76987 l_event_type_code VARCHAR2(30);
76988 l_line_definition_code VARCHAR2(30);
76989 l_line_definition_owner_code VARCHAR2(1);
76990 --
76991 -- adr variables
76992 l_segment VARCHAR2(30);
76993 l_ccid NUMBER;
76994 l_adr_transaction_coa_id NUMBER;
76995 l_adr_accounting_coa_id NUMBER;
76996 l_adr_flexfield_segment_code VARCHAR2(30);
76997 l_adr_flex_value_set_id NUMBER;
76998 l_adr_value_type_code VARCHAR2(30);
76999 l_adr_value_combination_id NUMBER;
77000 l_adr_value_segment_code VARCHAR2(30);
77001
77002 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
77003 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
77004 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
77005 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
77006
77007 -- 4262811 Variables ------------------------------------------------------------------------------------------
77008 l_entered_amt_idx NUMBER;
77009 l_accted_amt_idx NUMBER;
77010 l_acc_rev_flag VARCHAR2(1);
77011 l_accrual_line_num NUMBER;
77012 l_tmp_amt NUMBER;
77013 l_acc_rev_natural_side_code VARCHAR2(1);
77014
77015 l_num_entries NUMBER;
77016 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
77017 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
77018 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
77019 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
77020 l_recog_line_1 NUMBER;
77021 l_recog_line_2 NUMBER;
77022
77023 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
77024 l_bflow_applied_to_amt NUMBER; -- 5132302
77025 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
77026
77027 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
77028
77029 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
77033
77030 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
77031
77032 ---------------------------------------------------------------------------------------------------------------
77034
77035 --
77036 -- bulk performance
77037 --
77038 l_balance_type_code VARCHAR2(1);
77039 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77040 l_log_module VARCHAR2(240);
77041
77042 --
77043 -- Upgrade strategy
77044 --
77045 l_actual_upg_option VARCHAR2(1);
77046 l_enc_upg_option VARCHAR2(1);
77047
77048 --
77049 BEGIN
77050 --
77051 IF g_log_enabled THEN
77052 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_143';
77053 END IF;
77054 --
77055 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77056
77057 trace
77058 (p_msg => 'BEGIN of AcctLineType_143'
77059 ,p_level => C_LEVEL_PROCEDURE
77060 ,p_module => l_log_module);
77061
77062 END IF;
77063 --
77064 l_component_type := 'AMB_JLT';
77065 l_component_code := 'AP_GAIN_PMT';
77066 l_component_type_code := 'S';
77067 l_component_appl_id := 200;
77068 l_amb_context_code := 'DEFAULT';
77069 l_entity_code := 'AP_PAYMENTS';
77070 l_event_class_code := 'PAYMENTS';
77071 l_event_type_code := 'PAYMENTS_ALL';
77072 l_line_definition_owner_code := 'S';
77073 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
77074 --
77075 l_balance_type_code := 'A';
77076 l_segment := NULL;
77077 l_ccid := NULL;
77078 l_adr_transaction_coa_id := NULL;
77079 l_adr_accounting_coa_id := NULL;
77080 l_adr_flexfield_segment_code := NULL;
77081 l_adr_flex_value_set_id := NULL;
77082 l_adr_value_type_code := NULL;
77083 l_adr_value_combination_id := NULL;
77084 l_adr_value_segment_code := NULL;
77085
77086 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
77087 l_bflow_class_code := ''; -- 4219869 Business Flow
77088 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
77089 l_budgetary_control_flag := 'N';
77090
77091 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77092 l_bflow_applied_to_amt := NULL; -- 5132302
77093 l_entered_amt_idx := NULL; -- 4262811
77094 l_accted_amt_idx := NULL; -- 4262811
77095 l_acc_rev_flag := NULL; -- 4262811
77096 l_accrual_line_num := NULL; -- 4262811
77097 l_tmp_amt := NULL; -- 4262811
77098 --
77099 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
77100 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
77101 return;
77102 END IF;
77103
77104 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
77105 l_balance_type_code <> 'B' THEN
77106 IF (NVL(p_source_89,'
77107 ') <> 'CLEAR_CLEAR' AND
77108 NVL(p_source_89,'
77109 ') <> 'ALWAYS_CLEAR') AND
77110 NVL(p_source_153,'
77111 ') = 'GAIN' AND
77112 NVL(p_source_90,'
77113 ') <> 'EXCHANGE RATE VARIANCE' AND
77114 NVL(p_source_90,'
77115 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
77116 NVL(p_source_90,'
77117 ') <> 'BANK ERROR' AND
77118 NVL(p_source_90,'
77119 ') <> 'BANK CHARGE' AND
77120 NVL(p_source_90,'
77121 ') <> 'AWT' AND
77122 NVL(p_source_115,'
77123 ') <> 'R'
77124 THEN
77125
77126 --
77127 XLA_AE_LINES_PKG.SetNewLine;
77128
77129 p_balance_type_code := l_balance_type_code;
77130 -- set the flag so later we will know whether the gain loss line needs to be created
77131
77132 IF(l_balance_type_code = 'A' ) THEN
77133 p_actual_flag :='G';
77134 END IF;
77135
77136 --
77137 -- bulk performance
77138 --
77139 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
77140 p_header_num => 0); -- 4262811
77141 --
77142 -- set accounting line options
77143 --
77144 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
77145 p_natural_side_code => 'C'
77146 , p_gain_or_loss_flag => 'Y'
77147 , p_gl_transfer_mode_code => 'S'
77148 , p_acct_entry_type_code => 'A'
77149 , p_switch_side_flag => 'Y'
77150 , p_merge_duplicate_code => 'A'
77151 );
77152 --
77153 l_acc_rev_natural_side_code := 'D'; -- 4262811
77154 --
77155 --
77156 -- set accounting line type info
77157 --
77158 xla_ae_lines_pkg.SetAcctLineType
77159 (p_component_type => l_component_type
77160 ,p_event_type_code => l_event_type_code
77161 ,p_line_definition_owner_code => l_line_definition_owner_code
77162 ,p_line_definition_code => l_line_definition_code
77163 ,p_accounting_line_code => l_component_code
77164 ,p_accounting_line_type_code => l_component_type_code
77165 ,p_accounting_line_appl_id => l_component_appl_id
77166 ,p_amb_context_code => l_amb_context_code
77170 -- set accounting class
77167 ,p_entity_code => l_entity_code
77168 ,p_event_class_code => l_event_class_code);
77169 --
77171 --
77172 xla_ae_lines_pkg.SetAcctClass(
77173 p_accounting_class_code => 'GAIN'
77174 , p_ae_header_id => l_ae_header_id
77175 );
77176
77177 --
77178 -- set rounding class
77179 --
77180 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
77181 'GAIN';
77182
77183 --
77184 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
77185 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
77186 --
77187 -- bulk performance
77188 --
77189 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
77190
77191 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
77192 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
77193
77194 -- 4955764
77195 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77196 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
77197
77198 -- 4458381 Public Sector Enh
77199
77200 --
77201 -- set accounting attributes for the line type
77202 --
77203 l_entered_amt_idx := 10;
77204 l_accted_amt_idx := 15;
77205 l_bflow_applied_to_amt_idx := 2; -- 5132302
77206 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
77207 l_rec_acct_attrs.array_char_value(1) := p_source_41;
77208 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
77209 l_rec_acct_attrs.array_num_value(2) := p_source_117;
77210 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
77211 l_rec_acct_attrs.array_num_value(3) := p_source_79;
77212 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
77213 l_rec_acct_attrs.array_char_value(4) := p_source_80;
77214 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
77215 l_rec_acct_attrs.array_char_value(5) := p_source_81;
77216 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
77217 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
77218 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
77219 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
77220 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
77221 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
77222 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
77223 l_rec_acct_attrs.array_char_value(9) := p_source_43;
77224 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
77225 l_rec_acct_attrs.array_num_value(10) := p_source_91;
77226 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
77227 l_rec_acct_attrs.array_char_value(11) := p_source_106;
77228 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
77229 l_rec_acct_attrs.array_date_value(12) := p_source_110;
77230 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
77231 l_rec_acct_attrs.array_num_value(13) := p_source_111;
77232 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
77233 l_rec_acct_attrs.array_char_value(14) := p_source_112;
77234 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
77235 l_rec_acct_attrs.array_num_value(15) := p_source_148;
77236 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
77237 l_rec_acct_attrs.array_char_value(16) := p_source_68;
77238 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
77239 l_rec_acct_attrs.array_num_value(17) := p_source_102;
77240 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
77241 l_rec_acct_attrs.array_num_value(18) := p_source_103;
77242 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
77243 l_rec_acct_attrs.array_char_value(19) := p_source_71;
77244 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
77245 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
77246 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
77247 l_rec_acct_attrs.array_char_value(21) := p_source_43;
77248 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
77249 l_rec_acct_attrs.array_num_value(22) := p_source_74;
77250 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
77251 l_rec_acct_attrs.array_num_value(23) := p_source_75;
77252 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
77253 l_rec_acct_attrs.array_num_value(24) := p_source_76;
77254
77255 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
77256 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
77257
77258 ---------------------------------------------------------------------------------------------------------------
77259 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
77260 ---------------------------------------------------------------------------------------------------------------
77261 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
77262
77263 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77267 (p_source_code => 'LEDGER_CATEGORY_CODE'
77264 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
77265
77266 IF xla_accounting_cache_pkg.GetValueChar
77268 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
77269 AND l_bflow_method_code = 'PRIOR_ENTRY'
77270 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
77271 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
77272 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
77273 )
77274 THEN
77275 xla_ae_lines_pkg.BflowUpgEntry
77276 (p_business_method_code => l_bflow_method_code
77277 ,p_business_class_code => l_bflow_class_code
77278 ,p_balance_type => l_balance_type_code);
77279 ELSE
77280 NULL;
77281 -- No business flow processing for business flow method of NONE.
77282 END IF;
77283
77284 --
77285 -- call analytical criteria
77286 --
77287
77288 --
77289 -- call description
77290 --
77291 -- No description or it is inherited.
77292 --
77293 -- call ADRs
77294 -- Bug 4922099
77295 --
77296 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77297 (NVL(l_actual_upg_option, 'N') = 'O') OR
77298 (NVL(l_enc_upg_option, 'N') = 'O')
77299 )
77300 THEN
77301 NULL;
77302 --
77303 --
77304
77305 l_ccid := AcctDerRule_37(
77306 p_application_id => p_application_id
77307 , p_ae_header_id => l_ae_header_id
77308 , p_source_3 => p_source_3
77309 , p_source_3_meaning => p_source_3_meaning
77310 , p_source_18 => p_source_18
77311 , p_source_24 => p_source_24
77312 , p_source_25 => p_source_25
77313 , x_transaction_coa_id => l_adr_transaction_coa_id
77314 , x_accounting_coa_id => l_adr_accounting_coa_id
77315 , x_value_type_code => l_adr_value_type_code
77316 , p_side => 'NA'
77317 );
77318
77319 xla_ae_lines_pkg.set_ccid(
77320 p_code_combination_id => l_ccid
77321 , p_value_type_code => l_adr_value_type_code
77322 , p_transaction_coa_id => l_adr_transaction_coa_id
77323 , p_accounting_coa_id => l_adr_accounting_coa_id
77324 , p_adr_code => 'AP_REAL_GAIN'
77325 , p_adr_type_code => 'S'
77326 , p_component_type => l_component_type
77327 , p_component_code => l_component_code
77328 , p_component_type_code => l_component_type_code
77329 , p_component_appl_id => l_component_appl_id
77330 , p_amb_context_code => l_amb_context_code
77331 , p_side => 'NA'
77332 );
77333
77334
77335 l_segment := AcctDerRule_21(
77336 p_application_id => p_application_id
77337 , p_ae_header_id => l_ae_header_id
77338 , p_source_3 => p_source_3
77339 , p_source_3_meaning => p_source_3_meaning
77340 , p_source_18 => p_source_18
77341 , x_transaction_coa_id => l_adr_transaction_coa_id
77342 , x_accounting_coa_id => l_adr_accounting_coa_id
77343 , x_flexfield_segment_code => l_adr_flexfield_segment_code
77344 , x_flex_value_set_id => l_adr_flex_value_set_id
77345 , x_value_type_code => l_adr_value_type_code
77346 , x_value_combination_id => l_adr_value_combination_id
77347 , x_value_segment_code => l_adr_value_segment_code
77348 , p_side => 'NA'
77349 , p_override_seg_flag => 'Y'
77350 );
77351
77352 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
77353
77354 xla_ae_lines_pkg.set_segment(
77355 p_to_segment_code => 'GL_BALANCING'
77356 , p_segment_value => l_segment
77357 , p_from_segment_code => l_adr_value_segment_code
77358 , p_from_combination_id => l_adr_value_combination_id
77359 , p_value_type_code => l_adr_value_type_code
77360 , p_transaction_coa_id => l_adr_transaction_coa_id
77361 , p_accounting_coa_id => l_adr_accounting_coa_id
77362 , p_flexfield_segment_code => l_adr_flexfield_segment_code
77363 , p_flex_value_set_id => l_adr_flex_value_set_id
77364 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
77365 , p_adr_type_code => 'S'
77366 , p_component_type => l_component_type
77367 , p_component_code => l_component_code
77368 , p_component_type_code => l_component_type_code
77369 , p_component_appl_id => l_component_appl_id
77370 , p_amb_context_code => l_amb_context_code
77371 , p_entity_code => 'AP_PAYMENTS'
77372 , p_event_class_code => 'PAYMENTS'
77373 , p_side => 'NA'
77374 );
77375
77376 END IF;
77377
77378 l_segment := AcctDerRule_16(
77379 p_application_id => p_application_id
77380 , p_ae_header_id => l_ae_header_id
77381 , p_source_3 => p_source_3
77382 , p_source_3_meaning => p_source_3_meaning
77383 , p_source_24 => p_source_24
77384 , p_source_25 => p_source_25
77385 , x_transaction_coa_id => l_adr_transaction_coa_id
77389 , x_value_type_code => l_adr_value_type_code
77386 , x_accounting_coa_id => l_adr_accounting_coa_id
77387 , x_flexfield_segment_code => l_adr_flexfield_segment_code
77388 , x_flex_value_set_id => l_adr_flex_value_set_id
77390 , x_value_combination_id => l_adr_value_combination_id
77391 , x_value_segment_code => l_adr_value_segment_code
77392 , p_side => 'NA'
77393 , p_override_seg_flag => 'Y'
77394 );
77395
77396 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
77397
77398 xla_ae_lines_pkg.set_segment(
77399 p_to_segment_code => 'GL_ACCOUNT'
77400 , p_segment_value => l_segment
77401 , p_from_segment_code => l_adr_value_segment_code
77402 , p_from_combination_id => l_adr_value_combination_id
77403 , p_value_type_code => l_adr_value_type_code
77404 , p_transaction_coa_id => l_adr_transaction_coa_id
77405 , p_accounting_coa_id => l_adr_accounting_coa_id
77406 , p_flexfield_segment_code => l_adr_flexfield_segment_code
77407 , p_flex_value_set_id => l_adr_flex_value_set_id
77408 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
77409 , p_adr_type_code => 'S'
77410 , p_component_type => l_component_type
77411 , p_component_code => l_component_code
77412 , p_component_type_code => l_component_type_code
77413 , p_component_appl_id => l_component_appl_id
77414 , p_amb_context_code => l_amb_context_code
77415 , p_entity_code => 'AP_PAYMENTS'
77416 , p_event_class_code => 'PAYMENTS'
77417 , p_side => 'NA'
77418 );
77419
77420 END IF;
77421
77422 --
77423 --
77424 END IF;
77425 --
77426 -- Bug 4922099
77427 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
77428 (NVL(l_enc_upg_option, 'N') = 'O')
77429 ) AND
77430 (l_bflow_method_code = 'PRIOR_ENTRY')
77431 )
77432 THEN
77433 IF
77434 --
77435 1 = 2
77436 --
77437 THEN
77438 xla_accounting_err_pkg.build_message
77439 (p_appli_s_name => 'XLA'
77440 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77441 ,p_token_1 => 'LINE_NUMBER'
77442 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
77443 ,p_token_2 => 'LINE_TYPE_NAME'
77444 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
77445 l_component_type
77446 ,l_component_code
77447 ,l_component_type_code
77448 ,l_component_appl_id
77449 ,l_amb_context_code
77450 ,l_entity_code
77451 ,l_event_class_code
77452 )
77453 ,p_token_3 => 'OWNER'
77454 ,p_value_3 => xla_lookups_pkg.get_meaning(
77455 p_lookup_type => 'XLA_OWNER_TYPE'
77456 ,p_lookup_code => l_component_type_code
77457 )
77458 ,p_token_4 => 'PRODUCT_NAME'
77459 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
77460 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
77461 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
77462 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
77463 ,p_ae_header_id => NULL
77464 );
77465
77466 IF (C_LEVEL_ERROR>= g_log_level) THEN
77467 trace
77468 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
77469 ,p_level => C_LEVEL_ERROR
77470 ,p_module => l_log_module);
77471 END IF;
77472 END IF;
77473 END IF;
77474 --
77475 --
77476 ------------------------------------------------------------------------------------------------
77477 -- 4219869 Business Flow
77478 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
77479 -- Prior Entry. Currently, the following code is always generated.
77480 ------------------------------------------------------------------------------------------------
77481 XLA_AE_LINES_PKG.ValidateCurrentLine;
77482
77486 ------------------------------------------------------------------------------------
77483 ------------------------------------------------------------------------------------
77484 -- 4219869 Business Flow
77485 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
77487 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77488
77489 ----------------------------------------------------------------------------------
77490 -- 4219869 Business Flow
77491 -- Update journal entry status -- Need to generate this within IF <condition>
77492 ----------------------------------------------------------------------------------
77493 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77494 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
77495 ,p_balance_type_code => l_balance_type_code
77496 );
77497
77498 -------------------------------------------------------------------------------------------
77499 -- 4262811 - Generate the Accrual Reversal lines
77500 -------------------------------------------------------------------------------------------
77501 BEGIN
77502 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
77503 (g_array_event(p_event_id).array_value_num('header_index'));
77504 IF l_acc_rev_flag IS NULL THEN
77505 l_acc_rev_flag := 'N';
77506 END IF;
77507 EXCEPTION
77508 WHEN OTHERS THEN
77509 l_acc_rev_flag := 'N';
77510 END;
77511 --
77512 IF (l_acc_rev_flag = 'Y') THEN
77513
77514 -- 4645092 ------------------------------------------------------------------------------
77515 -- To allow MPA report to determine if it should generate report process
77516 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
77517 ------------------------------------------------------------------------------------------
77518
77519 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
77520 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
77521 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
77522 -- call ADRs
77523 -- Bug 4922099
77524 --
77525 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
77526 (NVL(l_actual_upg_option, 'N') = 'O') OR
77527 (NVL(l_enc_upg_option, 'N') = 'O')
77528 )
77529 THEN
77530 NULL;
77531 --
77532 --
77533
77534 l_ccid := AcctDerRule_37(
77535 p_application_id => p_application_id
77536 , p_ae_header_id => l_ae_header_id
77537 , p_source_3 => p_source_3
77538 , p_source_3_meaning => p_source_3_meaning
77539 , p_source_18 => p_source_18
77540 , p_source_24 => p_source_24
77541 , p_source_25 => p_source_25
77542 , x_transaction_coa_id => l_adr_transaction_coa_id
77543 , x_accounting_coa_id => l_adr_accounting_coa_id
77544 , x_value_type_code => l_adr_value_type_code
77545 , p_side => 'NA'
77546 );
77547
77548 xla_ae_lines_pkg.set_ccid(
77549 p_code_combination_id => l_ccid
77550 , p_value_type_code => l_adr_value_type_code
77551 , p_transaction_coa_id => l_adr_transaction_coa_id
77552 , p_accounting_coa_id => l_adr_accounting_coa_id
77553 , p_adr_code => 'AP_REAL_GAIN'
77554 , p_adr_type_code => 'S'
77555 , p_component_type => l_component_type
77556 , p_component_code => l_component_code
77557 , p_component_type_code => l_component_type_code
77558 , p_component_appl_id => l_component_appl_id
77559 , p_amb_context_code => l_amb_context_code
77560 , p_side => 'NA'
77561 );
77562
77563
77564 l_segment := AcctDerRule_21(
77565 p_application_id => p_application_id
77566 , p_ae_header_id => l_ae_header_id
77567 , p_source_3 => p_source_3
77568 , p_source_3_meaning => p_source_3_meaning
77569 , p_source_18 => p_source_18
77570 , x_transaction_coa_id => l_adr_transaction_coa_id
77571 , x_accounting_coa_id => l_adr_accounting_coa_id
77572 , x_flexfield_segment_code => l_adr_flexfield_segment_code
77573 , x_flex_value_set_id => l_adr_flex_value_set_id
77574 , x_value_type_code => l_adr_value_type_code
77575 , x_value_combination_id => l_adr_value_combination_id
77576 , x_value_segment_code => l_adr_value_segment_code
77577 , p_side => 'NA'
77578 , p_override_seg_flag => 'Y'
77579 );
77580
77581 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
77582
77583 xla_ae_lines_pkg.set_segment(
77584 p_to_segment_code => 'GL_BALANCING'
77585 , p_segment_value => l_segment
77586 , p_from_segment_code => l_adr_value_segment_code
77587 , p_from_combination_id => l_adr_value_combination_id
77588 , p_value_type_code => l_adr_value_type_code
77589 , p_transaction_coa_id => l_adr_transaction_coa_id
77590 , p_accounting_coa_id => l_adr_accounting_coa_id
77591 , p_flexfield_segment_code => l_adr_flexfield_segment_code
77592 , p_flex_value_set_id => l_adr_flex_value_set_id
77596 , p_component_code => l_component_code
77593 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
77594 , p_adr_type_code => 'S'
77595 , p_component_type => l_component_type
77597 , p_component_type_code => l_component_type_code
77598 , p_component_appl_id => l_component_appl_id
77599 , p_amb_context_code => l_amb_context_code
77600 , p_entity_code => 'AP_PAYMENTS'
77601 , p_event_class_code => 'PAYMENTS'
77602 , p_side => 'NA'
77603 );
77604
77605 END IF;
77606
77607 l_segment := AcctDerRule_16(
77608 p_application_id => p_application_id
77609 , p_ae_header_id => l_ae_header_id
77610 , p_source_3 => p_source_3
77611 , p_source_3_meaning => p_source_3_meaning
77612 , p_source_24 => p_source_24
77613 , p_source_25 => p_source_25
77614 , x_transaction_coa_id => l_adr_transaction_coa_id
77615 , x_accounting_coa_id => l_adr_accounting_coa_id
77616 , x_flexfield_segment_code => l_adr_flexfield_segment_code
77617 , x_flex_value_set_id => l_adr_flex_value_set_id
77618 , x_value_type_code => l_adr_value_type_code
77619 , x_value_combination_id => l_adr_value_combination_id
77620 , x_value_segment_code => l_adr_value_segment_code
77621 , p_side => 'NA'
77622 , p_override_seg_flag => 'Y'
77623 );
77624
77625 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
77626
77627 xla_ae_lines_pkg.set_segment(
77628 p_to_segment_code => 'GL_ACCOUNT'
77629 , p_segment_value => l_segment
77630 , p_from_segment_code => l_adr_value_segment_code
77631 , p_from_combination_id => l_adr_value_combination_id
77632 , p_value_type_code => l_adr_value_type_code
77633 , p_transaction_coa_id => l_adr_transaction_coa_id
77634 , p_accounting_coa_id => l_adr_accounting_coa_id
77635 , p_flexfield_segment_code => l_adr_flexfield_segment_code
77636 , p_flex_value_set_id => l_adr_flex_value_set_id
77637 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
77638 , p_adr_type_code => 'S'
77639 , p_component_type => l_component_type
77640 , p_component_code => l_component_code
77641 , p_component_type_code => l_component_type_code
77642 , p_component_appl_id => l_component_appl_id
77643 , p_amb_context_code => l_amb_context_code
77644 , p_entity_code => 'AP_PAYMENTS'
77645 , p_event_class_code => 'PAYMENTS'
77646 , p_side => 'NA'
77647 );
77648
77649 END IF;
77650
77651 --
77652 --
77653 END IF;
77654
77655 --
77656 -- Update the line information that should be overwritten
77657 --
77658 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
77659 p_header_num => 1);
77660 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
77661
77662 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
77663
77664 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
77665 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
77666 END IF;
77667
77668 --
77669 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
77670 --
77671 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
77672 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
77673 ELSE
77674 ---------------------------------------------------------------------------------------------------
77675 -- 4262811a Switch Sign
77676 ---------------------------------------------------------------------------------------------------
77677 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
77678 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77679 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77680 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
77681 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77682 -- 5132302
77683 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
77684 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
77685
77686 END IF;
77687
77688 -- 4955764
77689 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
77690 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
77691
77692
77693 XLA_AE_LINES_PKG.ValidateCurrentLine;
77694 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
77695
77696 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
77697 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
77698 ,p_balance_type_code => l_balance_type_code);
77702 -----------------------------------------------------------------------------------------
77699
77700 END IF;
77701
77703 -- 4262811 Multiperiod Accounting
77704 -----------------------------------------------------------------------------------------
77705 -- No MPA option is assigned.
77706
77707
77708 END IF;
77709 END IF;
77710 --
77711
77712 --
77713 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77714 trace
77715 (p_msg => 'END of AcctLineType_143'
77716 ,p_level => C_LEVEL_PROCEDURE
77717 ,p_module => l_log_module);
77718 END IF;
77719 --
77720 EXCEPTION
77721 WHEN xla_exceptions_pkg.application_exception THEN
77722 RAISE;
77723 WHEN OTHERS THEN
77724 xla_exceptions_pkg.raise_message
77725 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_143');
77726 END AcctLineType_143;
77727 --
77728
77729 ---------------------------------------
77730 --
77731 -- PRIVATE FUNCTION
77732 -- AcctLineType_144
77733 --
77734 ---------------------------------------
77735 PROCEDURE AcctLineType_144 (
77736 p_application_id IN NUMBER
77737 ,p_event_id IN NUMBER
77738 ,p_calculate_acctd_flag IN VARCHAR2
77739 ,p_calculate_g_l_flag IN VARCHAR2
77740 ,p_actual_flag IN OUT VARCHAR2
77741 ,p_balance_type_code OUT VARCHAR2
77742 ,p_gain_or_loss_ref OUT VARCHAR2
77743
77744 --Automatic Offsets Value
77745 , p_source_3 IN VARCHAR2
77746 , p_source_3_meaning IN VARCHAR2
77747 --Invoice Distribution Account
77748 , p_source_18 IN NUMBER
77749 --Internal Realized Gain Account
77750 , p_source_24 IN NUMBER
77751 --Bank Gain Account
77752 , p_source_25 IN NUMBER
77753 --Accounting Reversal Indicator
77754 , p_source_41 IN VARCHAR2
77755 --Distribution Link Type
77756 , p_source_43 IN VARCHAR2
77757 --Override Accounted Amount Indicator
77758 , p_source_68 IN VARCHAR2
77759 , p_source_68_meaning IN VARCHAR2
77760 --Third Party Type
77761 , p_source_71 IN VARCHAR2
77762 --Invoice Distribution Tax Line Identifier
77763 , p_source_74 IN NUMBER
77764 --Invoice Distribution Summary Tax Line Identifier
77765 , p_source_76 IN NUMBER
77766 --Business Flow Accounts Payable Application Identifier
77767 , p_source_79 IN NUMBER
77768 --When to Account for Payment Option
77769 , p_source_89 IN VARCHAR2
77770 --Payment Distribution Type
77771 , p_source_90 IN VARCHAR2
77772 , p_source_90_meaning IN VARCHAR2
77773 --Payment Distribution Amount
77774 , p_source_91 IN NUMBER
77775 --Business Flow Payment Distribution Type
77776 , p_source_92 IN VARCHAR2
77777 --Business Flow Payment Entity Code
77778 , p_source_93 IN VARCHAR2
77779 --Business Flow Payment Distribution Identifier
77780 , p_source_94 IN NUMBER
77781 --Business Flow Payment Identifier
77782 , p_source_95 IN NUMBER
77783 --Payment Distribution Identifier
77784 , p_source_96 IN NUMBER
77785 --Cleared Exchange Date
77786 , p_source_98 IN DATE
77787 --Cleared Exchange Rate
77788 , p_source_99 IN NUMBER
77789 --Cleared Exchange Rate Type
77790 , p_source_100 IN VARCHAR2
77791 --Payment Supplier Identifier
77792 , p_source_102 IN NUMBER
77793 --Payment Supplier Site Identifier
77794 , p_source_103 IN NUMBER
77795 --Payment Distribution Reversed Identifier
77796 , p_source_104 IN NUMBER
77797 --Payment Currency Code
77798 , p_source_106 IN VARCHAR2
77799 --Payment Maturity Date
77800 , p_source_107 IN DATE
77801 --Gain or Loss Indicator between Payment and Clearing
77802 , p_source_154 IN VARCHAR2
77803 --Payment/Clearing Ledger Amount Difference
77804 , p_source_155 IN NUMBER
77805 )
77806 IS
77807
77808 l_component_type VARCHAR2(80);
77809 l_component_code VARCHAR2(30);
77810 l_component_type_code VARCHAR2(1);
77811 l_component_appl_id INTEGER;
77812 l_amb_context_code VARCHAR2(30);
77813 l_entity_code VARCHAR2(30);
77814 l_event_class_code VARCHAR2(30);
77815 l_ae_header_id NUMBER;
77816 l_event_type_code VARCHAR2(30);
77817 l_line_definition_code VARCHAR2(30);
77818 l_line_definition_owner_code VARCHAR2(1);
77819 --
77820 -- adr variables
77821 l_segment VARCHAR2(30);
77822 l_ccid NUMBER;
77823 l_adr_transaction_coa_id NUMBER;
77824 l_adr_accounting_coa_id NUMBER;
77825 l_adr_flexfield_segment_code VARCHAR2(30);
77826 l_adr_flex_value_set_id NUMBER;
77827 l_adr_value_type_code VARCHAR2(30);
77828 l_adr_value_combination_id NUMBER;
77829 l_adr_value_segment_code VARCHAR2(30);
77830
77831 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
77832 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
77833 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
77834 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
77835
77836 -- 4262811 Variables ------------------------------------------------------------------------------------------
77837 l_entered_amt_idx NUMBER;
77841 l_tmp_amt NUMBER;
77838 l_accted_amt_idx NUMBER;
77839 l_acc_rev_flag VARCHAR2(1);
77840 l_accrual_line_num NUMBER;
77842 l_acc_rev_natural_side_code VARCHAR2(1);
77843
77844 l_num_entries NUMBER;
77845 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
77846 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
77847 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
77848 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
77849 l_recog_line_1 NUMBER;
77850 l_recog_line_2 NUMBER;
77851
77852 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
77853 l_bflow_applied_to_amt NUMBER; -- 5132302
77854 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
77855
77856 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
77857
77858 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
77859 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
77860
77861 ---------------------------------------------------------------------------------------------------------------
77862
77863
77864 --
77865 -- bulk performance
77866 --
77867 l_balance_type_code VARCHAR2(1);
77868 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
77869 l_log_module VARCHAR2(240);
77870
77871 --
77872 -- Upgrade strategy
77873 --
77874 l_actual_upg_option VARCHAR2(1);
77875 l_enc_upg_option VARCHAR2(1);
77876
77877 --
77878 BEGIN
77879 --
77880 IF g_log_enabled THEN
77881 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_144';
77882 END IF;
77883 --
77884 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
77885
77886 trace
77887 (p_msg => 'BEGIN of AcctLineType_144'
77888 ,p_level => C_LEVEL_PROCEDURE
77889 ,p_module => l_log_module);
77890
77891 END IF;
77892 --
77893 l_component_type := 'AMB_JLT';
77894 l_component_code := 'AP_GAIN_PMT_CLEAR';
77895 l_component_type_code := 'S';
77896 l_component_appl_id := 200;
77897 l_amb_context_code := 'DEFAULT';
77898 l_entity_code := 'AP_PAYMENTS';
77899 l_event_class_code := 'RECONCILED PAYMENTS';
77900 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
77901 l_line_definition_owner_code := 'S';
77902 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
77903 --
77904 l_balance_type_code := 'A';
77905 l_segment := NULL;
77906 l_ccid := NULL;
77907 l_adr_transaction_coa_id := NULL;
77908 l_adr_accounting_coa_id := NULL;
77909 l_adr_flexfield_segment_code := NULL;
77910 l_adr_flex_value_set_id := NULL;
77911 l_adr_value_type_code := NULL;
77912 l_adr_value_combination_id := NULL;
77913 l_adr_value_segment_code := NULL;
77914
77915 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
77916 l_bflow_class_code := ''; -- 4219869 Business Flow
77917 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
77918 l_budgetary_control_flag := 'N';
77919
77920 l_bflow_applied_to_amt_idx := NULL; -- 5132302
77921 l_bflow_applied_to_amt := NULL; -- 5132302
77922 l_entered_amt_idx := NULL; -- 4262811
77923 l_accted_amt_idx := NULL; -- 4262811
77924 l_acc_rev_flag := NULL; -- 4262811
77925 l_accrual_line_num := NULL; -- 4262811
77926 l_tmp_amt := NULL; -- 4262811
77927 --
77928 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
77929 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
77930 return;
77931 END IF;
77932
77933 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
77934 l_balance_type_code <> 'B' THEN
77935 IF NVL(p_source_89,'
77936 ') = 'ALWAYS_ALWAYS' AND
77937 p_source_107 IS NULL AND
77938 NVL(p_source_154,'
77939 ') = 'GAIN' AND
77940 NVL(p_source_90,'
77941 ') <> 'EXCHANGE RATE VARIANCE' AND
77942 NVL(p_source_90,'
77943 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
77944 NVL(p_source_90,'
77945 ') <> 'BANK CHARGE' AND
77946 NVL(p_source_90,'
77947 ') <> 'BANK ERROR' AND
77948 NVL(p_source_90,'
77949 ') <> 'AWT'
77950 THEN
77951
77952 --
77953 XLA_AE_LINES_PKG.SetNewLine;
77954
77955 p_balance_type_code := l_balance_type_code;
77956 -- set the flag so later we will know whether the gain loss line needs to be created
77957
77958 IF(l_balance_type_code = 'A' ) THEN
77959 p_actual_flag :='G';
77960 END IF;
77961
77962 --
77963 -- bulk performance
77964 --
77965 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
77966 p_header_num => 0); -- 4262811
77967 --
77968 -- set accounting line options
77969 --
77970 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
77971 p_natural_side_code => 'C'
77975 , p_switch_side_flag => 'Y'
77972 , p_gain_or_loss_flag => 'Y'
77973 , p_gl_transfer_mode_code => 'S'
77974 , p_acct_entry_type_code => 'A'
77976 , p_merge_duplicate_code => 'A'
77977 );
77978 --
77979 l_acc_rev_natural_side_code := 'D'; -- 4262811
77980 --
77981 --
77982 -- set accounting line type info
77983 --
77984 xla_ae_lines_pkg.SetAcctLineType
77985 (p_component_type => l_component_type
77986 ,p_event_type_code => l_event_type_code
77987 ,p_line_definition_owner_code => l_line_definition_owner_code
77988 ,p_line_definition_code => l_line_definition_code
77989 ,p_accounting_line_code => l_component_code
77990 ,p_accounting_line_type_code => l_component_type_code
77991 ,p_accounting_line_appl_id => l_component_appl_id
77992 ,p_amb_context_code => l_amb_context_code
77993 ,p_entity_code => l_entity_code
77994 ,p_event_class_code => l_event_class_code);
77995 --
77996 -- set accounting class
77997 --
77998 xla_ae_lines_pkg.SetAcctClass(
77999 p_accounting_class_code => 'GAIN'
78000 , p_ae_header_id => l_ae_header_id
78001 );
78002
78003 --
78004 -- set rounding class
78005 --
78006 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78007 'GAIN';
78008
78009 --
78010 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78011 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78012 --
78013 -- bulk performance
78014 --
78015 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78016
78017 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78018 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78019
78020 -- 4955764
78021 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78022 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78023
78024 -- 4458381 Public Sector Enh
78025
78026 --
78027 -- set accounting attributes for the line type
78028 --
78029 l_entered_amt_idx := 10;
78030 l_accted_amt_idx := 15;
78031 l_bflow_applied_to_amt_idx := 2; -- 5132302
78032 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78033 l_rec_acct_attrs.array_char_value(1) := p_source_41;
78034 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
78035 l_rec_acct_attrs.array_num_value(2) := p_source_91;
78036 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
78037 l_rec_acct_attrs.array_num_value(3) := p_source_79;
78038 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78039 l_rec_acct_attrs.array_char_value(4) := p_source_92;
78040 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
78041 l_rec_acct_attrs.array_char_value(5) := p_source_93;
78042 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
78043 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
78044 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78045 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
78046 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
78047 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
78048 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
78049 l_rec_acct_attrs.array_char_value(9) := p_source_43;
78050 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
78051 l_rec_acct_attrs.array_num_value(10) := p_source_91;
78052 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
78053 l_rec_acct_attrs.array_char_value(11) := p_source_106;
78054 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
78055 l_rec_acct_attrs.array_date_value(12) := p_source_98;
78056 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
78057 l_rec_acct_attrs.array_num_value(13) := p_source_99;
78058 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
78059 l_rec_acct_attrs.array_char_value(14) := p_source_100;
78060 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
78061 l_rec_acct_attrs.array_num_value(15) := p_source_155;
78062 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
78063 l_rec_acct_attrs.array_char_value(16) := p_source_68;
78064 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
78065 l_rec_acct_attrs.array_num_value(17) := p_source_102;
78066 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
78067 l_rec_acct_attrs.array_num_value(18) := p_source_103;
78068 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
78069 l_rec_acct_attrs.array_char_value(19) := p_source_71;
78070 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
78071 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
78072 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
78073 l_rec_acct_attrs.array_char_value(21) := p_source_43;
78077 l_rec_acct_attrs.array_num_value(23) := p_source_74;
78074 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
78075 l_rec_acct_attrs.array_num_value(22) := p_source_74;
78076 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
78078 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
78079 l_rec_acct_attrs.array_num_value(24) := p_source_76;
78080
78081 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
78082 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
78083
78084 ---------------------------------------------------------------------------------------------------------------
78085 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
78086 ---------------------------------------------------------------------------------------------------------------
78087 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
78088
78089 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78090 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78091
78092 IF xla_accounting_cache_pkg.GetValueChar
78093 (p_source_code => 'LEDGER_CATEGORY_CODE'
78094 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
78095 AND l_bflow_method_code = 'PRIOR_ENTRY'
78096 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
78097 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
78098 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
78099 )
78100 THEN
78101 xla_ae_lines_pkg.BflowUpgEntry
78102 (p_business_method_code => l_bflow_method_code
78103 ,p_business_class_code => l_bflow_class_code
78104 ,p_balance_type => l_balance_type_code);
78105 ELSE
78106 NULL;
78107 -- No business flow processing for business flow method of NONE.
78108 END IF;
78109
78110 --
78111 -- call analytical criteria
78112 --
78113
78114 --
78115 -- call description
78116 --
78117 -- No description or it is inherited.
78118 --
78119 -- call ADRs
78120 -- Bug 4922099
78121 --
78122 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78123 (NVL(l_actual_upg_option, 'N') = 'O') OR
78124 (NVL(l_enc_upg_option, 'N') = 'O')
78125 )
78126 THEN
78127 NULL;
78128 --
78129 --
78130
78131 l_ccid := AcctDerRule_37(
78132 p_application_id => p_application_id
78133 , p_ae_header_id => l_ae_header_id
78134 , p_source_3 => p_source_3
78135 , p_source_3_meaning => p_source_3_meaning
78136 , p_source_18 => p_source_18
78137 , p_source_24 => p_source_24
78138 , p_source_25 => p_source_25
78139 , x_transaction_coa_id => l_adr_transaction_coa_id
78140 , x_accounting_coa_id => l_adr_accounting_coa_id
78141 , x_value_type_code => l_adr_value_type_code
78142 , p_side => 'NA'
78143 );
78144
78145 xla_ae_lines_pkg.set_ccid(
78146 p_code_combination_id => l_ccid
78147 , p_value_type_code => l_adr_value_type_code
78148 , p_transaction_coa_id => l_adr_transaction_coa_id
78149 , p_accounting_coa_id => l_adr_accounting_coa_id
78150 , p_adr_code => 'AP_REAL_GAIN'
78151 , p_adr_type_code => 'S'
78152 , p_component_type => l_component_type
78153 , p_component_code => l_component_code
78154 , p_component_type_code => l_component_type_code
78155 , p_component_appl_id => l_component_appl_id
78156 , p_amb_context_code => l_amb_context_code
78157 , p_side => 'NA'
78158 );
78159
78160
78161 l_segment := AcctDerRule_21(
78162 p_application_id => p_application_id
78163 , p_ae_header_id => l_ae_header_id
78164 , p_source_3 => p_source_3
78165 , p_source_3_meaning => p_source_3_meaning
78166 , p_source_18 => p_source_18
78167 , x_transaction_coa_id => l_adr_transaction_coa_id
78168 , x_accounting_coa_id => l_adr_accounting_coa_id
78169 , x_flexfield_segment_code => l_adr_flexfield_segment_code
78170 , x_flex_value_set_id => l_adr_flex_value_set_id
78171 , x_value_type_code => l_adr_value_type_code
78172 , x_value_combination_id => l_adr_value_combination_id
78173 , x_value_segment_code => l_adr_value_segment_code
78174 , p_side => 'NA'
78175 , p_override_seg_flag => 'Y'
78176 );
78177
78178 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
78179
78180 xla_ae_lines_pkg.set_segment(
78181 p_to_segment_code => 'GL_BALANCING'
78182 , p_segment_value => l_segment
78183 , p_from_segment_code => l_adr_value_segment_code
78184 , p_from_combination_id => l_adr_value_combination_id
78185 , p_value_type_code => l_adr_value_type_code
78186 , p_transaction_coa_id => l_adr_transaction_coa_id
78187 , p_accounting_coa_id => l_adr_accounting_coa_id
78191 , p_adr_type_code => 'S'
78188 , p_flexfield_segment_code => l_adr_flexfield_segment_code
78189 , p_flex_value_set_id => l_adr_flex_value_set_id
78190 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
78192 , p_component_type => l_component_type
78193 , p_component_code => l_component_code
78194 , p_component_type_code => l_component_type_code
78195 , p_component_appl_id => l_component_appl_id
78196 , p_amb_context_code => l_amb_context_code
78197 , p_entity_code => 'AP_PAYMENTS'
78198 , p_event_class_code => 'RECONCILED PAYMENTS'
78199 , p_side => 'NA'
78200 );
78201
78202 END IF;
78203
78204 l_segment := AcctDerRule_16(
78205 p_application_id => p_application_id
78206 , p_ae_header_id => l_ae_header_id
78207 , p_source_3 => p_source_3
78208 , p_source_3_meaning => p_source_3_meaning
78209 , p_source_24 => p_source_24
78210 , p_source_25 => p_source_25
78211 , x_transaction_coa_id => l_adr_transaction_coa_id
78212 , x_accounting_coa_id => l_adr_accounting_coa_id
78213 , x_flexfield_segment_code => l_adr_flexfield_segment_code
78214 , x_flex_value_set_id => l_adr_flex_value_set_id
78215 , x_value_type_code => l_adr_value_type_code
78216 , x_value_combination_id => l_adr_value_combination_id
78217 , x_value_segment_code => l_adr_value_segment_code
78218 , p_side => 'NA'
78219 , p_override_seg_flag => 'Y'
78220 );
78221
78222 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
78223
78224 xla_ae_lines_pkg.set_segment(
78225 p_to_segment_code => 'GL_ACCOUNT'
78226 , p_segment_value => l_segment
78227 , p_from_segment_code => l_adr_value_segment_code
78228 , p_from_combination_id => l_adr_value_combination_id
78229 , p_value_type_code => l_adr_value_type_code
78230 , p_transaction_coa_id => l_adr_transaction_coa_id
78231 , p_accounting_coa_id => l_adr_accounting_coa_id
78232 , p_flexfield_segment_code => l_adr_flexfield_segment_code
78233 , p_flex_value_set_id => l_adr_flex_value_set_id
78234 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
78235 , p_adr_type_code => 'S'
78236 , p_component_type => l_component_type
78237 , p_component_code => l_component_code
78238 , p_component_type_code => l_component_type_code
78239 , p_component_appl_id => l_component_appl_id
78240 , p_amb_context_code => l_amb_context_code
78241 , p_entity_code => 'AP_PAYMENTS'
78242 , p_event_class_code => 'RECONCILED PAYMENTS'
78243 , p_side => 'NA'
78244 );
78245
78246 END IF;
78247
78248 --
78249 --
78250 END IF;
78251 --
78252 -- Bug 4922099
78253 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
78254 (NVL(l_enc_upg_option, 'N') = 'O')
78255 ) AND
78256 (l_bflow_method_code = 'PRIOR_ENTRY')
78257 )
78258 THEN
78259 IF
78260 --
78261 1 = 2
78262 --
78263 THEN
78264 xla_accounting_err_pkg.build_message
78265 (p_appli_s_name => 'XLA'
78266 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78267 ,p_token_1 => 'LINE_NUMBER'
78268 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
78269 ,p_token_2 => 'LINE_TYPE_NAME'
78270 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
78271 l_component_type
78272 ,l_component_code
78273 ,l_component_type_code
78274 ,l_component_appl_id
78275 ,l_amb_context_code
78276 ,l_entity_code
78277 ,l_event_class_code
78278 )
78279 ,p_token_3 => 'OWNER'
78280 ,p_value_3 => xla_lookups_pkg.get_meaning(
78281 p_lookup_type => 'XLA_OWNER_TYPE'
78282 ,p_lookup_code => l_component_type_code
78283 )
78284 ,p_token_4 => 'PRODUCT_NAME'
78285 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
78286 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
78290 );
78287 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
78288 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
78289 ,p_ae_header_id => NULL
78291
78292 IF (C_LEVEL_ERROR>= g_log_level) THEN
78293 trace
78294 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
78295 ,p_level => C_LEVEL_ERROR
78296 ,p_module => l_log_module);
78297 END IF;
78298 END IF;
78299 END IF;
78300 --
78301 --
78302 ------------------------------------------------------------------------------------------------
78303 -- 4219869 Business Flow
78304 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
78305 -- Prior Entry. Currently, the following code is always generated.
78306 ------------------------------------------------------------------------------------------------
78307 XLA_AE_LINES_PKG.ValidateCurrentLine;
78308
78309 ------------------------------------------------------------------------------------
78310 -- 4219869 Business Flow
78311 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
78312 ------------------------------------------------------------------------------------
78313 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78314
78315 ----------------------------------------------------------------------------------
78316 -- 4219869 Business Flow
78317 -- Update journal entry status -- Need to generate this within IF <condition>
78318 ----------------------------------------------------------------------------------
78319 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78320 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
78321 ,p_balance_type_code => l_balance_type_code
78322 );
78323
78324 -------------------------------------------------------------------------------------------
78325 -- 4262811 - Generate the Accrual Reversal lines
78326 -------------------------------------------------------------------------------------------
78327 BEGIN
78328 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
78329 (g_array_event(p_event_id).array_value_num('header_index'));
78330 IF l_acc_rev_flag IS NULL THEN
78331 l_acc_rev_flag := 'N';
78332 END IF;
78333 EXCEPTION
78334 WHEN OTHERS THEN
78335 l_acc_rev_flag := 'N';
78336 END;
78337 --
78338 IF (l_acc_rev_flag = 'Y') THEN
78339
78340 -- 4645092 ------------------------------------------------------------------------------
78341 -- To allow MPA report to determine if it should generate report process
78342 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
78343 ------------------------------------------------------------------------------------------
78344
78345 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
78346 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
78347 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
78348 -- call ADRs
78349 -- Bug 4922099
78350 --
78351 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78352 (NVL(l_actual_upg_option, 'N') = 'O') OR
78353 (NVL(l_enc_upg_option, 'N') = 'O')
78354 )
78355 THEN
78356 NULL;
78357 --
78358 --
78359
78360 l_ccid := AcctDerRule_37(
78361 p_application_id => p_application_id
78362 , p_ae_header_id => l_ae_header_id
78363 , p_source_3 => p_source_3
78364 , p_source_3_meaning => p_source_3_meaning
78365 , p_source_18 => p_source_18
78366 , p_source_24 => p_source_24
78367 , p_source_25 => p_source_25
78368 , x_transaction_coa_id => l_adr_transaction_coa_id
78369 , x_accounting_coa_id => l_adr_accounting_coa_id
78370 , x_value_type_code => l_adr_value_type_code
78371 , p_side => 'NA'
78372 );
78373
78374 xla_ae_lines_pkg.set_ccid(
78375 p_code_combination_id => l_ccid
78376 , p_value_type_code => l_adr_value_type_code
78377 , p_transaction_coa_id => l_adr_transaction_coa_id
78378 , p_accounting_coa_id => l_adr_accounting_coa_id
78379 , p_adr_code => 'AP_REAL_GAIN'
78380 , p_adr_type_code => 'S'
78381 , p_component_type => l_component_type
78382 , p_component_code => l_component_code
78383 , p_component_type_code => l_component_type_code
78384 , p_component_appl_id => l_component_appl_id
78385 , p_amb_context_code => l_amb_context_code
78386 , p_side => 'NA'
78387 );
78388
78389
78390 l_segment := AcctDerRule_21(
78391 p_application_id => p_application_id
78392 , p_ae_header_id => l_ae_header_id
78393 , p_source_3 => p_source_3
78394 , p_source_3_meaning => p_source_3_meaning
78395 , p_source_18 => p_source_18
78396 , x_transaction_coa_id => l_adr_transaction_coa_id
78397 , x_accounting_coa_id => l_adr_accounting_coa_id
78398 , x_flexfield_segment_code => l_adr_flexfield_segment_code
78399 , x_flex_value_set_id => l_adr_flex_value_set_id
78403 , p_side => 'NA'
78400 , x_value_type_code => l_adr_value_type_code
78401 , x_value_combination_id => l_adr_value_combination_id
78402 , x_value_segment_code => l_adr_value_segment_code
78404 , p_override_seg_flag => 'Y'
78405 );
78406
78407 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
78408
78409 xla_ae_lines_pkg.set_segment(
78410 p_to_segment_code => 'GL_BALANCING'
78411 , p_segment_value => l_segment
78412 , p_from_segment_code => l_adr_value_segment_code
78413 , p_from_combination_id => l_adr_value_combination_id
78414 , p_value_type_code => l_adr_value_type_code
78415 , p_transaction_coa_id => l_adr_transaction_coa_id
78416 , p_accounting_coa_id => l_adr_accounting_coa_id
78417 , p_flexfield_segment_code => l_adr_flexfield_segment_code
78418 , p_flex_value_set_id => l_adr_flex_value_set_id
78419 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
78420 , p_adr_type_code => 'S'
78421 , p_component_type => l_component_type
78422 , p_component_code => l_component_code
78423 , p_component_type_code => l_component_type_code
78424 , p_component_appl_id => l_component_appl_id
78425 , p_amb_context_code => l_amb_context_code
78426 , p_entity_code => 'AP_PAYMENTS'
78427 , p_event_class_code => 'RECONCILED PAYMENTS'
78428 , p_side => 'NA'
78429 );
78430
78431 END IF;
78432
78433 l_segment := AcctDerRule_16(
78434 p_application_id => p_application_id
78435 , p_ae_header_id => l_ae_header_id
78436 , p_source_3 => p_source_3
78437 , p_source_3_meaning => p_source_3_meaning
78438 , p_source_24 => p_source_24
78439 , p_source_25 => p_source_25
78440 , x_transaction_coa_id => l_adr_transaction_coa_id
78441 , x_accounting_coa_id => l_adr_accounting_coa_id
78442 , x_flexfield_segment_code => l_adr_flexfield_segment_code
78443 , x_flex_value_set_id => l_adr_flex_value_set_id
78444 , x_value_type_code => l_adr_value_type_code
78445 , x_value_combination_id => l_adr_value_combination_id
78446 , x_value_segment_code => l_adr_value_segment_code
78447 , p_side => 'NA'
78448 , p_override_seg_flag => 'Y'
78449 );
78450
78451 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
78452
78453 xla_ae_lines_pkg.set_segment(
78454 p_to_segment_code => 'GL_ACCOUNT'
78455 , p_segment_value => l_segment
78456 , p_from_segment_code => l_adr_value_segment_code
78457 , p_from_combination_id => l_adr_value_combination_id
78458 , p_value_type_code => l_adr_value_type_code
78459 , p_transaction_coa_id => l_adr_transaction_coa_id
78460 , p_accounting_coa_id => l_adr_accounting_coa_id
78461 , p_flexfield_segment_code => l_adr_flexfield_segment_code
78462 , p_flex_value_set_id => l_adr_flex_value_set_id
78463 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
78464 , p_adr_type_code => 'S'
78465 , p_component_type => l_component_type
78466 , p_component_code => l_component_code
78467 , p_component_type_code => l_component_type_code
78468 , p_component_appl_id => l_component_appl_id
78469 , p_amb_context_code => l_amb_context_code
78470 , p_entity_code => 'AP_PAYMENTS'
78471 , p_event_class_code => 'RECONCILED PAYMENTS'
78472 , p_side => 'NA'
78473 );
78474
78475 END IF;
78476
78477 --
78478 --
78479 END IF;
78480
78481 --
78482 -- Update the line information that should be overwritten
78483 --
78484 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
78485 p_header_num => 1);
78486 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
78487
78488 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
78489
78490 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
78491 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
78492 END IF;
78493
78494 --
78495 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
78496 --
78497 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
78498 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
78499 ELSE
78500 ---------------------------------------------------------------------------------------------------
78501 -- 4262811a Switch Sign
78502 ---------------------------------------------------------------------------------------------------
78503 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
78504 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78508 -- 5132302
78505 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78506 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
78507 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78509 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
78510 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
78511
78512 END IF;
78513
78514 -- 4955764
78515 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78516 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
78517
78518
78519 XLA_AE_LINES_PKG.ValidateCurrentLine;
78520 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
78521
78522 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
78523 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
78524 ,p_balance_type_code => l_balance_type_code);
78525
78526 END IF;
78527
78528 -----------------------------------------------------------------------------------------
78529 -- 4262811 Multiperiod Accounting
78530 -----------------------------------------------------------------------------------------
78531 -- No MPA option is assigned.
78532
78533
78534 END IF;
78535 END IF;
78536 --
78537
78538 --
78539 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78540 trace
78541 (p_msg => 'END of AcctLineType_144'
78542 ,p_level => C_LEVEL_PROCEDURE
78543 ,p_module => l_log_module);
78544 END IF;
78545 --
78546 EXCEPTION
78547 WHEN xla_exceptions_pkg.application_exception THEN
78548 RAISE;
78549 WHEN OTHERS THEN
78550 xla_exceptions_pkg.raise_message
78551 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_144');
78552 END AcctLineType_144;
78553 --
78554
78555 ---------------------------------------
78556 --
78557 -- PRIVATE FUNCTION
78558 -- AcctLineType_145
78559 --
78560 ---------------------------------------
78561 PROCEDURE AcctLineType_145 (
78562 p_application_id IN NUMBER
78563 ,p_event_id IN NUMBER
78564 ,p_calculate_acctd_flag IN VARCHAR2
78565 ,p_calculate_g_l_flag IN VARCHAR2
78566 ,p_actual_flag IN OUT VARCHAR2
78567 ,p_balance_type_code OUT VARCHAR2
78568 ,p_gain_or_loss_ref OUT VARCHAR2
78569
78570 --Automatic Offsets Value
78571 , p_source_3 IN VARCHAR2
78572 , p_source_3_meaning IN VARCHAR2
78573 --Invoice Distribution Account
78574 , p_source_18 IN NUMBER
78575 --Internal Realized Gain Account
78576 , p_source_24 IN NUMBER
78577 --Bank Gain Account
78578 , p_source_25 IN NUMBER
78579 --Accounting Reversal Indicator
78580 , p_source_41 IN VARCHAR2
78581 --Distribution Link Type
78582 , p_source_43 IN VARCHAR2
78583 --Override Accounted Amount Indicator
78584 , p_source_68 IN VARCHAR2
78585 , p_source_68_meaning IN VARCHAR2
78586 --Third Party Type
78587 , p_source_71 IN VARCHAR2
78588 --Business Flow Accounts Payable Application Identifier
78589 , p_source_79 IN NUMBER
78590 --When to Account for Payment Option
78591 , p_source_89 IN VARCHAR2
78592 --Payment Distribution Type
78593 , p_source_90 IN VARCHAR2
78594 , p_source_90_meaning IN VARCHAR2
78595 --Payment Distribution Amount
78596 , p_source_91 IN NUMBER
78597 --Business Flow Payment Distribution Type
78598 , p_source_92 IN VARCHAR2
78599 --Business Flow Payment Entity Code
78600 , p_source_93 IN VARCHAR2
78601 --Business Flow Payment Distribution Identifier
78602 , p_source_94 IN NUMBER
78603 --Business Flow Payment Identifier
78604 , p_source_95 IN NUMBER
78605 --Payment Distribution Identifier
78606 , p_source_96 IN NUMBER
78607 --Payment Supplier Identifier
78608 , p_source_102 IN NUMBER
78609 --Payment Supplier Site Identifier
78610 , p_source_103 IN NUMBER
78611 --Payment Distribution Reversed Identifier
78612 , p_source_104 IN NUMBER
78613 --Payment Currency Code
78614 , p_source_106 IN VARCHAR2
78615 --Payment Maturity Date
78616 , p_source_107 IN DATE
78617 --Payment Exchange Date
78618 , p_source_110 IN DATE
78619 --Payment Exchange Rate
78620 , p_source_111 IN NUMBER
78621 --Payment Exchange Rate Type
78622 , p_source_112 IN VARCHAR2
78623 --Payment/Maturity Ledger Amount Difference
78624 , p_source_149 IN NUMBER
78625 --Gain or Loss Indicator between Payment and Maturity
78626 , p_source_156 IN VARCHAR2
78627 )
78628 IS
78629
78630 l_component_type VARCHAR2(80);
78631 l_component_code VARCHAR2(30);
78632 l_component_type_code VARCHAR2(1);
78633 l_component_appl_id INTEGER;
78634 l_amb_context_code VARCHAR2(30);
78635 l_entity_code VARCHAR2(30);
78636 l_event_class_code VARCHAR2(30);
78637 l_ae_header_id NUMBER;
78638 l_event_type_code VARCHAR2(30);
78639 l_line_definition_code VARCHAR2(30);
78643 l_segment VARCHAR2(30);
78640 l_line_definition_owner_code VARCHAR2(1);
78641 --
78642 -- adr variables
78644 l_ccid NUMBER;
78645 l_adr_transaction_coa_id NUMBER;
78646 l_adr_accounting_coa_id NUMBER;
78647 l_adr_flexfield_segment_code VARCHAR2(30);
78648 l_adr_flex_value_set_id NUMBER;
78649 l_adr_value_type_code VARCHAR2(30);
78650 l_adr_value_combination_id NUMBER;
78651 l_adr_value_segment_code VARCHAR2(30);
78652
78653 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
78654 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
78655 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
78656 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
78657
78658 -- 4262811 Variables ------------------------------------------------------------------------------------------
78659 l_entered_amt_idx NUMBER;
78660 l_accted_amt_idx NUMBER;
78661 l_acc_rev_flag VARCHAR2(1);
78662 l_accrual_line_num NUMBER;
78663 l_tmp_amt NUMBER;
78664 l_acc_rev_natural_side_code VARCHAR2(1);
78665
78666 l_num_entries NUMBER;
78667 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
78668 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
78669 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
78670 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
78671 l_recog_line_1 NUMBER;
78672 l_recog_line_2 NUMBER;
78673
78674 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
78675 l_bflow_applied_to_amt NUMBER; -- 5132302
78676 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
78677
78678 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
78679
78680 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
78681 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
78682
78683 ---------------------------------------------------------------------------------------------------------------
78684
78685
78686 --
78687 -- bulk performance
78688 --
78689 l_balance_type_code VARCHAR2(1);
78690 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
78691 l_log_module VARCHAR2(240);
78692
78693 --
78694 -- Upgrade strategy
78695 --
78696 l_actual_upg_option VARCHAR2(1);
78697 l_enc_upg_option VARCHAR2(1);
78698
78699 --
78700 BEGIN
78701 --
78702 IF g_log_enabled THEN
78703 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_145';
78704 END IF;
78705 --
78706 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
78707
78708 trace
78709 (p_msg => 'BEGIN of AcctLineType_145'
78710 ,p_level => C_LEVEL_PROCEDURE
78711 ,p_module => l_log_module);
78712
78713 END IF;
78714 --
78715 l_component_type := 'AMB_JLT';
78716 l_component_code := 'AP_GAIN_PMT_MAT';
78717 l_component_type_code := 'S';
78718 l_component_appl_id := 200;
78719 l_amb_context_code := 'DEFAULT';
78720 l_entity_code := 'AP_PAYMENTS';
78721 l_event_class_code := 'FUTURE DATED PAYMENTS';
78722 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
78723 l_line_definition_owner_code := 'S';
78724 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
78725 --
78726 l_balance_type_code := 'A';
78727 l_segment := NULL;
78728 l_ccid := NULL;
78729 l_adr_transaction_coa_id := NULL;
78730 l_adr_accounting_coa_id := NULL;
78731 l_adr_flexfield_segment_code := NULL;
78732 l_adr_flex_value_set_id := NULL;
78733 l_adr_value_type_code := NULL;
78734 l_adr_value_combination_id := NULL;
78735 l_adr_value_segment_code := NULL;
78736
78737 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
78738 l_bflow_class_code := ''; -- 4219869 Business Flow
78739 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
78740 l_budgetary_control_flag := 'N';
78741
78742 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78743 l_bflow_applied_to_amt := NULL; -- 5132302
78744 l_entered_amt_idx := NULL; -- 4262811
78745 l_accted_amt_idx := NULL; -- 4262811
78746 l_acc_rev_flag := NULL; -- 4262811
78747 l_accrual_line_num := NULL; -- 4262811
78748 l_tmp_amt := NULL; -- 4262811
78749 --
78750 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
78751 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
78752 return;
78753 END IF;
78754
78755 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
78756 l_balance_type_code <> 'B' THEN
78757 IF (NVL(p_source_89,'
78758 ') = 'ALWAYS_ALWAYS' OR
78759 NVL(p_source_89,'
78760 ') = 'ISSUE_ISSUE') AND
78761 p_source_107 IS NOT NULL AND
78765 ') <> 'EXCHANGE RATE VARIANCE' AND
78762 NVL(p_source_156,'
78763 ') = 'GAIN' AND
78764 NVL(p_source_90,'
78766 NVL(p_source_90,'
78767 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
78768 NVL(p_source_90,'
78769 ') <> 'BANK CHARGE' AND
78770 NVL(p_source_90,'
78771 ') <> 'BANK ERROR' AND
78772 NVL(p_source_90,'
78773 ') <> 'AWT'
78774 THEN
78775
78776 --
78777 XLA_AE_LINES_PKG.SetNewLine;
78778
78779 p_balance_type_code := l_balance_type_code;
78780 -- set the flag so later we will know whether the gain loss line needs to be created
78781
78782 IF(l_balance_type_code = 'A' ) THEN
78783 p_actual_flag :='G';
78784 END IF;
78785
78786 --
78787 -- bulk performance
78788 --
78789 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
78790 p_header_num => 0); -- 4262811
78791 --
78792 -- set accounting line options
78793 --
78794 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
78795 p_natural_side_code => 'C'
78796 , p_gain_or_loss_flag => 'Y'
78797 , p_gl_transfer_mode_code => 'S'
78798 , p_acct_entry_type_code => 'A'
78799 , p_switch_side_flag => 'Y'
78800 , p_merge_duplicate_code => 'A'
78801 );
78802 --
78803 l_acc_rev_natural_side_code := 'D'; -- 4262811
78804 --
78805 --
78806 -- set accounting line type info
78807 --
78808 xla_ae_lines_pkg.SetAcctLineType
78809 (p_component_type => l_component_type
78810 ,p_event_type_code => l_event_type_code
78811 ,p_line_definition_owner_code => l_line_definition_owner_code
78812 ,p_line_definition_code => l_line_definition_code
78813 ,p_accounting_line_code => l_component_code
78814 ,p_accounting_line_type_code => l_component_type_code
78815 ,p_accounting_line_appl_id => l_component_appl_id
78816 ,p_amb_context_code => l_amb_context_code
78817 ,p_entity_code => l_entity_code
78818 ,p_event_class_code => l_event_class_code);
78819 --
78820 -- set accounting class
78821 --
78822 xla_ae_lines_pkg.SetAcctClass(
78823 p_accounting_class_code => 'GAIN'
78824 , p_ae_header_id => l_ae_header_id
78825 );
78826
78827 --
78828 -- set rounding class
78829 --
78830 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
78831 'GAIN';
78832
78833 --
78834 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
78835 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
78836 --
78837 -- bulk performance
78838 --
78839 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
78840
78841 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
78842 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
78843
78844 -- 4955764
78845 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
78846 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
78847
78848 -- 4458381 Public Sector Enh
78849
78850 --
78851 -- set accounting attributes for the line type
78852 --
78853 l_entered_amt_idx := 9;
78854 l_accted_amt_idx := 14;
78855 l_bflow_applied_to_amt_idx := NULL; -- 5132302
78856 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
78857 l_rec_acct_attrs.array_char_value(1) := p_source_41;
78858 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
78859 l_rec_acct_attrs.array_num_value(2) := p_source_79;
78860 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
78861 l_rec_acct_attrs.array_char_value(3) := p_source_92;
78862 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
78863 l_rec_acct_attrs.array_char_value(4) := p_source_93;
78864 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
78865 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
78866 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
78867 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
78868 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
78869 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
78870 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
78871 l_rec_acct_attrs.array_char_value(8) := p_source_43;
78872 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
78873 l_rec_acct_attrs.array_num_value(9) := p_source_91;
78874 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
78875 l_rec_acct_attrs.array_char_value(10) := p_source_106;
78876 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
78877 l_rec_acct_attrs.array_date_value(11) := p_source_110;
78878 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
78879 l_rec_acct_attrs.array_num_value(12) := p_source_111;
78880 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
78884 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
78881 l_rec_acct_attrs.array_char_value(13) := p_source_112;
78882 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
78883 l_rec_acct_attrs.array_num_value(14) := p_source_149;
78885 l_rec_acct_attrs.array_char_value(15) := p_source_68;
78886 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
78887 l_rec_acct_attrs.array_num_value(16) := p_source_102;
78888 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
78889 l_rec_acct_attrs.array_num_value(17) := p_source_103;
78890 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
78891 l_rec_acct_attrs.array_char_value(18) := p_source_71;
78892 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
78893 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
78894 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
78895 l_rec_acct_attrs.array_char_value(20) := p_source_43;
78896
78897 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
78898 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
78899
78900 ---------------------------------------------------------------------------------------------------------------
78901 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
78902 ---------------------------------------------------------------------------------------------------------------
78903 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
78904
78905 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78906 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
78907
78908 IF xla_accounting_cache_pkg.GetValueChar
78909 (p_source_code => 'LEDGER_CATEGORY_CODE'
78910 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
78911 AND l_bflow_method_code = 'PRIOR_ENTRY'
78912 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
78913 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
78914 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
78915 )
78916 THEN
78917 xla_ae_lines_pkg.BflowUpgEntry
78918 (p_business_method_code => l_bflow_method_code
78919 ,p_business_class_code => l_bflow_class_code
78920 ,p_balance_type => l_balance_type_code);
78921 ELSE
78922 NULL;
78923 -- No business flow processing for business flow method of NONE.
78924 END IF;
78925
78926 --
78927 -- call analytical criteria
78928 --
78929
78930 --
78931 -- call description
78932 --
78933 -- No description or it is inherited.
78934 --
78935 -- call ADRs
78936 -- Bug 4922099
78937 --
78938 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
78939 (NVL(l_actual_upg_option, 'N') = 'O') OR
78940 (NVL(l_enc_upg_option, 'N') = 'O')
78941 )
78942 THEN
78943 NULL;
78944 --
78945 --
78946
78947 l_ccid := AcctDerRule_37(
78948 p_application_id => p_application_id
78949 , p_ae_header_id => l_ae_header_id
78950 , p_source_3 => p_source_3
78951 , p_source_3_meaning => p_source_3_meaning
78952 , p_source_18 => p_source_18
78953 , p_source_24 => p_source_24
78954 , p_source_25 => p_source_25
78955 , x_transaction_coa_id => l_adr_transaction_coa_id
78956 , x_accounting_coa_id => l_adr_accounting_coa_id
78957 , x_value_type_code => l_adr_value_type_code
78958 , p_side => 'NA'
78959 );
78960
78961 xla_ae_lines_pkg.set_ccid(
78962 p_code_combination_id => l_ccid
78963 , p_value_type_code => l_adr_value_type_code
78964 , p_transaction_coa_id => l_adr_transaction_coa_id
78965 , p_accounting_coa_id => l_adr_accounting_coa_id
78966 , p_adr_code => 'AP_REAL_GAIN'
78967 , p_adr_type_code => 'S'
78968 , p_component_type => l_component_type
78969 , p_component_code => l_component_code
78970 , p_component_type_code => l_component_type_code
78971 , p_component_appl_id => l_component_appl_id
78972 , p_amb_context_code => l_amb_context_code
78973 , p_side => 'NA'
78974 );
78975
78976
78977 l_segment := AcctDerRule_21(
78978 p_application_id => p_application_id
78979 , p_ae_header_id => l_ae_header_id
78980 , p_source_3 => p_source_3
78981 , p_source_3_meaning => p_source_3_meaning
78982 , p_source_18 => p_source_18
78983 , x_transaction_coa_id => l_adr_transaction_coa_id
78984 , x_accounting_coa_id => l_adr_accounting_coa_id
78985 , x_flexfield_segment_code => l_adr_flexfield_segment_code
78986 , x_flex_value_set_id => l_adr_flex_value_set_id
78987 , x_value_type_code => l_adr_value_type_code
78988 , x_value_combination_id => l_adr_value_combination_id
78989 , x_value_segment_code => l_adr_value_segment_code
78990 , p_side => 'NA'
78991 , p_override_seg_flag => 'Y'
78992 );
78993
78997 p_to_segment_code => 'GL_BALANCING'
78994 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
78995
78996 xla_ae_lines_pkg.set_segment(
78998 , p_segment_value => l_segment
78999 , p_from_segment_code => l_adr_value_segment_code
79000 , p_from_combination_id => l_adr_value_combination_id
79001 , p_value_type_code => l_adr_value_type_code
79002 , p_transaction_coa_id => l_adr_transaction_coa_id
79003 , p_accounting_coa_id => l_adr_accounting_coa_id
79004 , p_flexfield_segment_code => l_adr_flexfield_segment_code
79005 , p_flex_value_set_id => l_adr_flex_value_set_id
79006 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
79007 , p_adr_type_code => 'S'
79008 , p_component_type => l_component_type
79009 , p_component_code => l_component_code
79010 , p_component_type_code => l_component_type_code
79011 , p_component_appl_id => l_component_appl_id
79012 , p_amb_context_code => l_amb_context_code
79013 , p_entity_code => 'AP_PAYMENTS'
79014 , p_event_class_code => 'FUTURE DATED PAYMENTS'
79015 , p_side => 'NA'
79016 );
79017
79018 END IF;
79019
79020 l_segment := AcctDerRule_16(
79021 p_application_id => p_application_id
79022 , p_ae_header_id => l_ae_header_id
79023 , p_source_3 => p_source_3
79024 , p_source_3_meaning => p_source_3_meaning
79025 , p_source_24 => p_source_24
79026 , p_source_25 => p_source_25
79027 , x_transaction_coa_id => l_adr_transaction_coa_id
79028 , x_accounting_coa_id => l_adr_accounting_coa_id
79029 , x_flexfield_segment_code => l_adr_flexfield_segment_code
79030 , x_flex_value_set_id => l_adr_flex_value_set_id
79031 , x_value_type_code => l_adr_value_type_code
79032 , x_value_combination_id => l_adr_value_combination_id
79033 , x_value_segment_code => l_adr_value_segment_code
79034 , p_side => 'NA'
79035 , p_override_seg_flag => 'Y'
79036 );
79037
79038 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
79039
79040 xla_ae_lines_pkg.set_segment(
79041 p_to_segment_code => 'GL_ACCOUNT'
79042 , p_segment_value => l_segment
79043 , p_from_segment_code => l_adr_value_segment_code
79044 , p_from_combination_id => l_adr_value_combination_id
79045 , p_value_type_code => l_adr_value_type_code
79046 , p_transaction_coa_id => l_adr_transaction_coa_id
79047 , p_accounting_coa_id => l_adr_accounting_coa_id
79048 , p_flexfield_segment_code => l_adr_flexfield_segment_code
79049 , p_flex_value_set_id => l_adr_flex_value_set_id
79050 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
79051 , p_adr_type_code => 'S'
79052 , p_component_type => l_component_type
79053 , p_component_code => l_component_code
79054 , p_component_type_code => l_component_type_code
79055 , p_component_appl_id => l_component_appl_id
79056 , p_amb_context_code => l_amb_context_code
79057 , p_entity_code => 'AP_PAYMENTS'
79058 , p_event_class_code => 'FUTURE DATED PAYMENTS'
79059 , p_side => 'NA'
79060 );
79061
79062 END IF;
79063
79064 --
79065 --
79066 END IF;
79067 --
79068 -- Bug 4922099
79069 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79070 (NVL(l_enc_upg_option, 'N') = 'O')
79071 ) AND
79072 (l_bflow_method_code = 'PRIOR_ENTRY')
79073 )
79074 THEN
79075 IF
79076 --
79077 1 = 2
79078 --
79079 THEN
79080 xla_accounting_err_pkg.build_message
79081 (p_appli_s_name => 'XLA'
79082 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79083 ,p_token_1 => 'LINE_NUMBER'
79084 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79085 ,p_token_2 => 'LINE_TYPE_NAME'
79086 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79087 l_component_type
79088 ,l_component_code
79089 ,l_component_type_code
79090 ,l_component_appl_id
79091 ,l_amb_context_code
79092 ,l_entity_code
79093 ,l_event_class_code
79094 )
79095 ,p_token_3 => 'OWNER'
79096 ,p_value_3 => xla_lookups_pkg.get_meaning(
79097 p_lookup_type => 'XLA_OWNER_TYPE'
79101 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79098 ,p_lookup_code => l_component_type_code
79099 )
79100 ,p_token_4 => 'PRODUCT_NAME'
79102 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79103 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79104 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79105 ,p_ae_header_id => NULL
79106 );
79107
79108 IF (C_LEVEL_ERROR>= g_log_level) THEN
79109 trace
79110 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79111 ,p_level => C_LEVEL_ERROR
79112 ,p_module => l_log_module);
79113 END IF;
79114 END IF;
79115 END IF;
79116 --
79117 --
79118 ------------------------------------------------------------------------------------------------
79119 -- 4219869 Business Flow
79120 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
79121 -- Prior Entry. Currently, the following code is always generated.
79122 ------------------------------------------------------------------------------------------------
79123 XLA_AE_LINES_PKG.ValidateCurrentLine;
79124
79125 ------------------------------------------------------------------------------------
79126 -- 4219869 Business Flow
79127 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
79128 ------------------------------------------------------------------------------------
79129 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79130
79131 ----------------------------------------------------------------------------------
79132 -- 4219869 Business Flow
79133 -- Update journal entry status -- Need to generate this within IF <condition>
79134 ----------------------------------------------------------------------------------
79135 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79136 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
79137 ,p_balance_type_code => l_balance_type_code
79138 );
79139
79140 -------------------------------------------------------------------------------------------
79141 -- 4262811 - Generate the Accrual Reversal lines
79142 -------------------------------------------------------------------------------------------
79143 BEGIN
79144 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
79145 (g_array_event(p_event_id).array_value_num('header_index'));
79146 IF l_acc_rev_flag IS NULL THEN
79147 l_acc_rev_flag := 'N';
79148 END IF;
79149 EXCEPTION
79150 WHEN OTHERS THEN
79151 l_acc_rev_flag := 'N';
79152 END;
79153 --
79154 IF (l_acc_rev_flag = 'Y') THEN
79155
79156 -- 4645092 ------------------------------------------------------------------------------
79157 -- To allow MPA report to determine if it should generate report process
79158 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
79159 ------------------------------------------------------------------------------------------
79160
79161 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
79162 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
79163 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
79164 -- call ADRs
79165 -- Bug 4922099
79166 --
79167 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79168 (NVL(l_actual_upg_option, 'N') = 'O') OR
79169 (NVL(l_enc_upg_option, 'N') = 'O')
79170 )
79171 THEN
79172 NULL;
79173 --
79174 --
79175
79176 l_ccid := AcctDerRule_37(
79177 p_application_id => p_application_id
79178 , p_ae_header_id => l_ae_header_id
79179 , p_source_3 => p_source_3
79180 , p_source_3_meaning => p_source_3_meaning
79181 , p_source_18 => p_source_18
79182 , p_source_24 => p_source_24
79183 , p_source_25 => p_source_25
79184 , x_transaction_coa_id => l_adr_transaction_coa_id
79185 , x_accounting_coa_id => l_adr_accounting_coa_id
79186 , x_value_type_code => l_adr_value_type_code
79187 , p_side => 'NA'
79188 );
79189
79190 xla_ae_lines_pkg.set_ccid(
79191 p_code_combination_id => l_ccid
79192 , p_value_type_code => l_adr_value_type_code
79193 , p_transaction_coa_id => l_adr_transaction_coa_id
79194 , p_accounting_coa_id => l_adr_accounting_coa_id
79195 , p_adr_code => 'AP_REAL_GAIN'
79196 , p_adr_type_code => 'S'
79197 , p_component_type => l_component_type
79198 , p_component_code => l_component_code
79199 , p_component_type_code => l_component_type_code
79200 , p_component_appl_id => l_component_appl_id
79201 , p_amb_context_code => l_amb_context_code
79202 , p_side => 'NA'
79203 );
79204
79205
79206 l_segment := AcctDerRule_21(
79207 p_application_id => p_application_id
79211 , p_source_18 => p_source_18
79208 , p_ae_header_id => l_ae_header_id
79209 , p_source_3 => p_source_3
79210 , p_source_3_meaning => p_source_3_meaning
79212 , x_transaction_coa_id => l_adr_transaction_coa_id
79213 , x_accounting_coa_id => l_adr_accounting_coa_id
79214 , x_flexfield_segment_code => l_adr_flexfield_segment_code
79215 , x_flex_value_set_id => l_adr_flex_value_set_id
79216 , x_value_type_code => l_adr_value_type_code
79217 , x_value_combination_id => l_adr_value_combination_id
79218 , x_value_segment_code => l_adr_value_segment_code
79219 , p_side => 'NA'
79220 , p_override_seg_flag => 'Y'
79221 );
79222
79223 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
79224
79225 xla_ae_lines_pkg.set_segment(
79226 p_to_segment_code => 'GL_BALANCING'
79227 , p_segment_value => l_segment
79228 , p_from_segment_code => l_adr_value_segment_code
79229 , p_from_combination_id => l_adr_value_combination_id
79230 , p_value_type_code => l_adr_value_type_code
79231 , p_transaction_coa_id => l_adr_transaction_coa_id
79232 , p_accounting_coa_id => l_adr_accounting_coa_id
79233 , p_flexfield_segment_code => l_adr_flexfield_segment_code
79234 , p_flex_value_set_id => l_adr_flex_value_set_id
79235 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
79236 , p_adr_type_code => 'S'
79237 , p_component_type => l_component_type
79238 , p_component_code => l_component_code
79239 , p_component_type_code => l_component_type_code
79240 , p_component_appl_id => l_component_appl_id
79241 , p_amb_context_code => l_amb_context_code
79242 , p_entity_code => 'AP_PAYMENTS'
79243 , p_event_class_code => 'FUTURE DATED PAYMENTS'
79244 , p_side => 'NA'
79245 );
79246
79247 END IF;
79248
79249 l_segment := AcctDerRule_16(
79250 p_application_id => p_application_id
79251 , p_ae_header_id => l_ae_header_id
79252 , p_source_3 => p_source_3
79253 , p_source_3_meaning => p_source_3_meaning
79254 , p_source_24 => p_source_24
79255 , p_source_25 => p_source_25
79256 , x_transaction_coa_id => l_adr_transaction_coa_id
79257 , x_accounting_coa_id => l_adr_accounting_coa_id
79258 , x_flexfield_segment_code => l_adr_flexfield_segment_code
79259 , x_flex_value_set_id => l_adr_flex_value_set_id
79260 , x_value_type_code => l_adr_value_type_code
79261 , x_value_combination_id => l_adr_value_combination_id
79262 , x_value_segment_code => l_adr_value_segment_code
79263 , p_side => 'NA'
79264 , p_override_seg_flag => 'Y'
79265 );
79266
79267 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
79268
79269 xla_ae_lines_pkg.set_segment(
79270 p_to_segment_code => 'GL_ACCOUNT'
79271 , p_segment_value => l_segment
79272 , p_from_segment_code => l_adr_value_segment_code
79273 , p_from_combination_id => l_adr_value_combination_id
79274 , p_value_type_code => l_adr_value_type_code
79275 , p_transaction_coa_id => l_adr_transaction_coa_id
79276 , p_accounting_coa_id => l_adr_accounting_coa_id
79277 , p_flexfield_segment_code => l_adr_flexfield_segment_code
79278 , p_flex_value_set_id => l_adr_flex_value_set_id
79279 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
79280 , p_adr_type_code => 'S'
79281 , p_component_type => l_component_type
79282 , p_component_code => l_component_code
79283 , p_component_type_code => l_component_type_code
79284 , p_component_appl_id => l_component_appl_id
79285 , p_amb_context_code => l_amb_context_code
79286 , p_entity_code => 'AP_PAYMENTS'
79287 , p_event_class_code => 'FUTURE DATED PAYMENTS'
79288 , p_side => 'NA'
79289 );
79290
79291 END IF;
79292
79293 --
79294 --
79295 END IF;
79296
79297 --
79298 -- Update the line information that should be overwritten
79299 --
79300 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
79301 p_header_num => 1);
79302 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
79303
79304 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
79305
79306 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
79307 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
79308 END IF;
79309
79310 --
79311 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
79312 --
79313 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
79317 -- 4262811a Switch Sign
79314 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
79315 ELSE
79316 ---------------------------------------------------------------------------------------------------
79318 ---------------------------------------------------------------------------------------------------
79319 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
79320 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79321 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79322 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
79323 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79324 -- 5132302
79325 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
79326 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
79327
79328 END IF;
79329
79330 -- 4955764
79331 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79332 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
79333
79334
79335 XLA_AE_LINES_PKG.ValidateCurrentLine;
79336 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
79337
79338 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
79339 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
79340 ,p_balance_type_code => l_balance_type_code);
79341
79342 END IF;
79343
79344 -----------------------------------------------------------------------------------------
79345 -- 4262811 Multiperiod Accounting
79346 -----------------------------------------------------------------------------------------
79347 -- No MPA option is assigned.
79348
79349
79350 END IF;
79351 END IF;
79352 --
79353
79354 --
79355 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79356 trace
79357 (p_msg => 'END of AcctLineType_145'
79358 ,p_level => C_LEVEL_PROCEDURE
79359 ,p_module => l_log_module);
79360 END IF;
79361 --
79362 EXCEPTION
79363 WHEN xla_exceptions_pkg.application_exception THEN
79364 RAISE;
79365 WHEN OTHERS THEN
79366 xla_exceptions_pkg.raise_message
79367 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_145');
79368 END AcctLineType_145;
79369 --
79370
79371 ---------------------------------------
79372 --
79373 -- PRIVATE FUNCTION
79374 -- AcctLineType_146
79375 --
79376 ---------------------------------------
79377 PROCEDURE AcctLineType_146 (
79378 p_application_id IN NUMBER
79379 ,p_event_id IN NUMBER
79380 ,p_calculate_acctd_flag IN VARCHAR2
79381 ,p_calculate_g_l_flag IN VARCHAR2
79382 ,p_actual_flag IN OUT VARCHAR2
79383 ,p_balance_type_code OUT VARCHAR2
79384 ,p_gain_or_loss_ref OUT VARCHAR2
79385
79386 --Automatic Offsets Value
79387 , p_source_3 IN VARCHAR2
79388 , p_source_3_meaning IN VARCHAR2
79389 --Invoice Distribution Account
79390 , p_source_18 IN NUMBER
79391 --Internal Realized Gain Account
79392 , p_source_24 IN NUMBER
79393 --Bank Gain Account
79394 , p_source_25 IN NUMBER
79395 --Accounting Reversal Indicator
79396 , p_source_41 IN VARCHAR2
79397 --Distribution Link Type
79398 , p_source_43 IN VARCHAR2
79399 --Invoice Identifier
79400 , p_source_46 IN NUMBER
79401 --Payables Encumbrance Upgrade Credit Account
79402 , p_source_53 IN NUMBER
79403 --Payables Encumbrance Upgrade Credit Amount
79404 , p_source_54 IN NUMBER
79405 --Invoice Currency Code
79406 , p_source_55 IN VARCHAR2
79407 --Payables Encumbrance Upgrade Credit Base Amount
79408 , p_source_56 IN NUMBER
79409 --Payables Encumbrance Upgrade Debit Account
79410 , p_source_57 IN NUMBER
79411 --Payables Encumbrance Upgrade Debit Amount
79412 , p_source_58 IN NUMBER
79413 --Payables Encumbrance Upgrade Debit Base Amount
79414 , p_source_59 IN NUMBER
79415 --Payables Encumbrance Upgrade Option
79416 , p_source_60 IN VARCHAR2
79417 --Deferred Accounting End Date
79418 , p_source_65 IN DATE
79419 --Deferred Accounting Option
79420 , p_source_66 IN VARCHAR2
79421 --Deferred Accounting Start Date
79422 , p_source_67 IN DATE
79423 --Override Accounted Amount Indicator
79424 , p_source_68 IN VARCHAR2
79425 , p_source_68_meaning IN VARCHAR2
79426 --Invoice Supplier Identifier
79427 , p_source_69 IN NUMBER
79428 --Invoice Supplier Site Identifier
79429 , p_source_70 IN NUMBER
79430 --Third Party Type
79431 , p_source_71 IN VARCHAR2
79432 --Invoice Distribution Tax Line Identifier
79433 , p_source_74 IN NUMBER
79434 --Invoice Distribution Tax Distribution Identifier from Tax
79435 , p_source_75 IN NUMBER
79436 --Invoice Distribution Summary Tax Line Identifier
79437 , p_source_76 IN NUMBER
79441 , p_source_78 IN NUMBER
79438 --Payables Upgrade Credit Encumbrance Type Identifier
79439 , p_source_77 IN NUMBER
79440 --Payables Upgrade Debit Encumbrance Type Identifier
79442 --Business Flow Accounts Payable Application Identifier
79443 , p_source_79 IN NUMBER
79444 --Prepayment Distribution Type
79445 , p_source_118 IN VARCHAR2
79446 --Prepayment Application Distribution Identifier
79447 , p_source_120 IN NUMBER
79448 --Upgrade Encumbrance Credit Account Class
79449 , p_source_125 IN VARCHAR2
79450 --Upgrade Encumbrance Debit Account Class
79451 , p_source_126 IN VARCHAR2
79452 --Prepayment Distribution Amount
79453 , p_source_127 IN NUMBER
79454 --Identifier of the Prepayment Application Reversed
79455 , p_source_129 IN NUMBER
79456 --Invoice Exchange Date
79457 , p_source_136 IN DATE
79458 --Invoice Exchange Rate
79459 , p_source_137 IN NUMBER
79460 --Invoice Exchange Rate Type
79461 , p_source_138 IN VARCHAR2
79462 --Business Flow Prepayment Invoice Distribution Type
79463 , p_source_139 IN VARCHAR2
79464 --Business Flow Prepayment Invoice Entity Code
79465 , p_source_140 IN VARCHAR2
79466 --Business Flow Prepayment Invoice Distribution Identifier
79467 , p_source_141 IN NUMBER
79468 --Business Flow Prepayment Invoice Identifier
79469 , p_source_142 IN NUMBER
79470 --Prepayment/Invoice Ledger Amount Difference
79471 , p_source_150 IN NUMBER
79472 --Gain or Loss Indicator between Prepayment and Invoice
79473 , p_source_157 IN VARCHAR2
79474 )
79475 IS
79476
79477 l_component_type VARCHAR2(80);
79478 l_component_code VARCHAR2(30);
79479 l_component_type_code VARCHAR2(1);
79480 l_component_appl_id INTEGER;
79481 l_amb_context_code VARCHAR2(30);
79482 l_entity_code VARCHAR2(30);
79483 l_event_class_code VARCHAR2(30);
79484 l_ae_header_id NUMBER;
79485 l_event_type_code VARCHAR2(30);
79486 l_line_definition_code VARCHAR2(30);
79487 l_line_definition_owner_code VARCHAR2(1);
79488 --
79489 -- adr variables
79490 l_segment VARCHAR2(30);
79491 l_ccid NUMBER;
79492 l_adr_transaction_coa_id NUMBER;
79493 l_adr_accounting_coa_id NUMBER;
79494 l_adr_flexfield_segment_code VARCHAR2(30);
79495 l_adr_flex_value_set_id NUMBER;
79496 l_adr_value_type_code VARCHAR2(30);
79497 l_adr_value_combination_id NUMBER;
79498 l_adr_value_segment_code VARCHAR2(30);
79499
79500 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
79501 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
79502 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
79503 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
79504
79505 -- 4262811 Variables ------------------------------------------------------------------------------------------
79506 l_entered_amt_idx NUMBER;
79507 l_accted_amt_idx NUMBER;
79508 l_acc_rev_flag VARCHAR2(1);
79509 l_accrual_line_num NUMBER;
79510 l_tmp_amt NUMBER;
79511 l_acc_rev_natural_side_code VARCHAR2(1);
79512
79513 l_num_entries NUMBER;
79514 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
79515 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
79516 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
79517 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
79518 l_recog_line_1 NUMBER;
79519 l_recog_line_2 NUMBER;
79520
79521 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
79522 l_bflow_applied_to_amt NUMBER; -- 5132302
79523 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
79524
79525 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
79526
79527 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
79528 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
79529
79530 ---------------------------------------------------------------------------------------------------------------
79531
79532
79533 --
79534 -- bulk performance
79535 --
79536 l_balance_type_code VARCHAR2(1);
79537 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
79538 l_log_module VARCHAR2(240);
79539
79540 --
79541 -- Upgrade strategy
79542 --
79543 l_actual_upg_option VARCHAR2(1);
79544 l_enc_upg_option VARCHAR2(1);
79545
79546 --
79547 BEGIN
79548 --
79549 IF g_log_enabled THEN
79550 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_146';
79551 END IF;
79552 --
79553 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
79554
79555 trace
79556 (p_msg => 'BEGIN of AcctLineType_146'
79557 ,p_level => C_LEVEL_PROCEDURE
79558 ,p_module => l_log_module);
79559
79560 END IF;
79561 --
79562 l_component_type := 'AMB_JLT';
79563 l_component_code := 'AP_GAIN_PREPAY_APP';
79564 l_component_type_code := 'S';
79568 l_event_class_code := 'PREPAYMENT APPLICATIONS';
79565 l_component_appl_id := 200;
79566 l_amb_context_code := 'DEFAULT';
79567 l_entity_code := 'AP_INVOICES';
79569 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
79570 l_line_definition_owner_code := 'S';
79571 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
79572 --
79573 l_balance_type_code := 'A';
79574 l_segment := NULL;
79575 l_ccid := NULL;
79576 l_adr_transaction_coa_id := NULL;
79577 l_adr_accounting_coa_id := NULL;
79578 l_adr_flexfield_segment_code := NULL;
79579 l_adr_flex_value_set_id := NULL;
79580 l_adr_value_type_code := NULL;
79581 l_adr_value_combination_id := NULL;
79582 l_adr_value_segment_code := NULL;
79583
79584 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
79585 l_bflow_class_code := ''; -- 4219869 Business Flow
79586 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
79587 l_budgetary_control_flag := 'N';
79588
79589 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79590 l_bflow_applied_to_amt := NULL; -- 5132302
79591 l_entered_amt_idx := NULL; -- 4262811
79592 l_accted_amt_idx := NULL; -- 4262811
79593 l_acc_rev_flag := NULL; -- 4262811
79594 l_accrual_line_num := NULL; -- 4262811
79595 l_tmp_amt := NULL; -- 4262811
79596 --
79597 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
79598 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
79599 return;
79600 END IF;
79601
79602 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
79603 l_balance_type_code <> 'B' THEN
79604 IF NVL(p_source_118,'
79605 ') = 'PREPAY APPL' AND
79606 NVL(p_source_157,'
79607 ') = 'GAIN'
79608 THEN
79609
79610 --
79611 XLA_AE_LINES_PKG.SetNewLine;
79612
79613 p_balance_type_code := l_balance_type_code;
79614 -- set the flag so later we will know whether the gain loss line needs to be created
79615
79616 IF(l_balance_type_code = 'A' ) THEN
79617 p_actual_flag :='G';
79618 END IF;
79619
79620 --
79621 -- bulk performance
79622 --
79623 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
79624 p_header_num => 0); -- 4262811
79625 --
79626 -- set accounting line options
79627 --
79628 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
79629 p_natural_side_code => 'D'
79630 , p_gain_or_loss_flag => 'Y'
79631 , p_gl_transfer_mode_code => 'S'
79632 , p_acct_entry_type_code => 'A'
79633 , p_switch_side_flag => 'Y'
79634 , p_merge_duplicate_code => 'A'
79635 );
79636 --
79637 l_acc_rev_natural_side_code := 'C'; -- 4262811
79638 --
79639 --
79640 -- set accounting line type info
79641 --
79642 xla_ae_lines_pkg.SetAcctLineType
79643 (p_component_type => l_component_type
79644 ,p_event_type_code => l_event_type_code
79645 ,p_line_definition_owner_code => l_line_definition_owner_code
79646 ,p_line_definition_code => l_line_definition_code
79647 ,p_accounting_line_code => l_component_code
79648 ,p_accounting_line_type_code => l_component_type_code
79649 ,p_accounting_line_appl_id => l_component_appl_id
79650 ,p_amb_context_code => l_amb_context_code
79651 ,p_entity_code => l_entity_code
79652 ,p_event_class_code => l_event_class_code);
79653 --
79654 -- set accounting class
79655 --
79656 xla_ae_lines_pkg.SetAcctClass(
79657 p_accounting_class_code => 'GAIN'
79658 , p_ae_header_id => l_ae_header_id
79659 );
79660
79661 --
79662 -- set rounding class
79663 --
79664 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
79665 'GAIN';
79666
79667 --
79668 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
79669 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
79670 --
79671 -- bulk performance
79672 --
79673 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
79674
79675 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
79676 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
79677
79678 -- 4955764
79679 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
79680 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
79681
79682 -- 4458381 Public Sector Enh
79683
79684 --
79685 -- set accounting attributes for the line type
79686 --
79687 l_entered_amt_idx := 25;
79688 l_accted_amt_idx := 30;
79689 l_bflow_applied_to_amt_idx := NULL; -- 5132302
79690 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
79694 xla_ae_sources_pkg.GetSystemSourceNum(
79691 l_rec_acct_attrs.array_char_value(1) := p_source_41;
79692 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
79693 l_rec_acct_attrs.array_num_value(2) :=
79695 p_source_code => 'XLA_EVENT_APPL_ID'
79696 , p_source_type_code => 'Y'
79697 , p_source_application_id => 602
79698 );
79699 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
79700 l_rec_acct_attrs.array_char_value(3) := p_source_43;
79701 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
79702 l_rec_acct_attrs.array_char_value(4) :=
79703 xla_ae_sources_pkg.GetSystemSourceChar(
79704 p_source_code => 'XLA_ENTITY_CODE'
79705 , p_source_type_code => 'Y'
79706 , p_source_application_id => 602
79707 );
79708 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
79709 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
79710 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
79711 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
79712 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
79713 l_rec_acct_attrs.array_num_value(7) := p_source_79;
79714 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
79715 l_rec_acct_attrs.array_char_value(8) := p_source_139;
79716 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
79717 l_rec_acct_attrs.array_char_value(9) := p_source_140;
79718 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
79719 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
79720 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
79721 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
79722 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
79723 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
79724 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
79725 l_rec_acct_attrs.array_char_value(13) := p_source_43;
79726 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
79727 l_rec_acct_attrs.array_char_value(14) := p_source_125;
79728 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
79729 l_rec_acct_attrs.array_num_value(15) := p_source_53;
79730 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
79731 l_rec_acct_attrs.array_num_value(16) := p_source_54;
79732 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
79733 l_rec_acct_attrs.array_char_value(17) := p_source_55;
79734 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
79735 l_rec_acct_attrs.array_num_value(18) := p_source_56;
79736 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
79737 l_rec_acct_attrs.array_char_value(19) := p_source_126;
79738 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
79739 l_rec_acct_attrs.array_num_value(20) := p_source_57;
79740 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
79741 l_rec_acct_attrs.array_num_value(21) := p_source_58;
79742 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
79743 l_rec_acct_attrs.array_char_value(22) := p_source_55;
79744 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
79745 l_rec_acct_attrs.array_num_value(23) := p_source_59;
79746 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
79747 l_rec_acct_attrs.array_char_value(24) := p_source_60;
79748 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
79749 l_rec_acct_attrs.array_num_value(25) := p_source_127;
79750 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
79751 l_rec_acct_attrs.array_char_value(26) := p_source_55;
79752 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
79753 l_rec_acct_attrs.array_date_value(27) := p_source_136;
79754 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
79755 l_rec_acct_attrs.array_num_value(28) := p_source_137;
79756 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
79757 l_rec_acct_attrs.array_char_value(29) := p_source_138;
79758 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
79759 l_rec_acct_attrs.array_num_value(30) := p_source_150;
79760 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
79761 l_rec_acct_attrs.array_date_value(31) := p_source_65;
79762 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
79763 l_rec_acct_attrs.array_char_value(32) := p_source_66;
79764 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
79765 l_rec_acct_attrs.array_date_value(33) := p_source_67;
79766 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
79767 l_rec_acct_attrs.array_char_value(34) := p_source_68;
79768 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
79769 l_rec_acct_attrs.array_num_value(35) := p_source_69;
79770 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
79771 l_rec_acct_attrs.array_num_value(36) := p_source_70;
79772 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
79773 l_rec_acct_attrs.array_char_value(37) := p_source_71;
79774 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
79775 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
79776 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
79777 l_rec_acct_attrs.array_char_value(39) := p_source_43;
79778 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
79782 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
79779 l_rec_acct_attrs.array_num_value(40) := p_source_74;
79780 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
79781 l_rec_acct_attrs.array_num_value(41) := p_source_75;
79783 l_rec_acct_attrs.array_num_value(42) := p_source_76;
79784 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
79785 l_rec_acct_attrs.array_num_value(43) := p_source_77;
79786 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
79787 l_rec_acct_attrs.array_num_value(44) := p_source_78;
79788
79789 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
79790 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
79791
79792 ---------------------------------------------------------------------------------------------------------------
79793 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
79794 ---------------------------------------------------------------------------------------------------------------
79795 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
79796
79797 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79798 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
79799
79800 IF xla_accounting_cache_pkg.GetValueChar
79801 (p_source_code => 'LEDGER_CATEGORY_CODE'
79802 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
79803 AND l_bflow_method_code = 'PRIOR_ENTRY'
79804 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
79805 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
79806 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
79807 )
79808 THEN
79809 xla_ae_lines_pkg.BflowUpgEntry
79810 (p_business_method_code => l_bflow_method_code
79811 ,p_business_class_code => l_bflow_class_code
79812 ,p_balance_type => l_balance_type_code);
79813 ELSE
79814 NULL;
79815 -- No business flow processing for business flow method of NONE.
79816 END IF;
79817
79818 --
79819 -- call analytical criteria
79820 --
79821
79822 --
79823 -- call description
79824 --
79825 -- No description or it is inherited.
79826 --
79827 -- call ADRs
79828 -- Bug 4922099
79829 --
79830 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
79831 (NVL(l_actual_upg_option, 'N') = 'O') OR
79832 (NVL(l_enc_upg_option, 'N') = 'O')
79833 )
79834 THEN
79835 NULL;
79836 --
79837 --
79838
79839 l_ccid := AcctDerRule_37(
79840 p_application_id => p_application_id
79841 , p_ae_header_id => l_ae_header_id
79842 , p_source_3 => p_source_3
79843 , p_source_3_meaning => p_source_3_meaning
79844 , p_source_18 => p_source_18
79845 , p_source_24 => p_source_24
79846 , p_source_25 => p_source_25
79847 , x_transaction_coa_id => l_adr_transaction_coa_id
79848 , x_accounting_coa_id => l_adr_accounting_coa_id
79849 , x_value_type_code => l_adr_value_type_code
79850 , p_side => 'NA'
79851 );
79852
79853 xla_ae_lines_pkg.set_ccid(
79854 p_code_combination_id => l_ccid
79855 , p_value_type_code => l_adr_value_type_code
79856 , p_transaction_coa_id => l_adr_transaction_coa_id
79857 , p_accounting_coa_id => l_adr_accounting_coa_id
79858 , p_adr_code => 'AP_REAL_GAIN'
79859 , p_adr_type_code => 'S'
79860 , p_component_type => l_component_type
79861 , p_component_code => l_component_code
79862 , p_component_type_code => l_component_type_code
79863 , p_component_appl_id => l_component_appl_id
79864 , p_amb_context_code => l_amb_context_code
79865 , p_side => 'NA'
79866 );
79867
79868
79869 l_segment := AcctDerRule_21(
79870 p_application_id => p_application_id
79871 , p_ae_header_id => l_ae_header_id
79872 , p_source_3 => p_source_3
79873 , p_source_3_meaning => p_source_3_meaning
79874 , p_source_18 => p_source_18
79875 , x_transaction_coa_id => l_adr_transaction_coa_id
79876 , x_accounting_coa_id => l_adr_accounting_coa_id
79877 , x_flexfield_segment_code => l_adr_flexfield_segment_code
79878 , x_flex_value_set_id => l_adr_flex_value_set_id
79879 , x_value_type_code => l_adr_value_type_code
79880 , x_value_combination_id => l_adr_value_combination_id
79881 , x_value_segment_code => l_adr_value_segment_code
79882 , p_side => 'NA'
79883 , p_override_seg_flag => 'Y'
79884 );
79885
79886 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
79887
79888 xla_ae_lines_pkg.set_segment(
79889 p_to_segment_code => 'GL_BALANCING'
79890 , p_segment_value => l_segment
79891 , p_from_segment_code => l_adr_value_segment_code
79892 , p_from_combination_id => l_adr_value_combination_id
79893 , p_value_type_code => l_adr_value_type_code
79897 , p_flex_value_set_id => l_adr_flex_value_set_id
79894 , p_transaction_coa_id => l_adr_transaction_coa_id
79895 , p_accounting_coa_id => l_adr_accounting_coa_id
79896 , p_flexfield_segment_code => l_adr_flexfield_segment_code
79898 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
79899 , p_adr_type_code => 'S'
79900 , p_component_type => l_component_type
79901 , p_component_code => l_component_code
79902 , p_component_type_code => l_component_type_code
79903 , p_component_appl_id => l_component_appl_id
79904 , p_amb_context_code => l_amb_context_code
79905 , p_entity_code => 'AP_INVOICES'
79906 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
79907 , p_side => 'NA'
79908 );
79909
79910 END IF;
79911
79912 l_segment := AcctDerRule_16(
79913 p_application_id => p_application_id
79914 , p_ae_header_id => l_ae_header_id
79915 , p_source_3 => p_source_3
79916 , p_source_3_meaning => p_source_3_meaning
79917 , p_source_24 => p_source_24
79918 , p_source_25 => p_source_25
79919 , x_transaction_coa_id => l_adr_transaction_coa_id
79920 , x_accounting_coa_id => l_adr_accounting_coa_id
79921 , x_flexfield_segment_code => l_adr_flexfield_segment_code
79922 , x_flex_value_set_id => l_adr_flex_value_set_id
79923 , x_value_type_code => l_adr_value_type_code
79924 , x_value_combination_id => l_adr_value_combination_id
79925 , x_value_segment_code => l_adr_value_segment_code
79926 , p_side => 'NA'
79927 , p_override_seg_flag => 'Y'
79928 );
79929
79930 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
79931
79932 xla_ae_lines_pkg.set_segment(
79933 p_to_segment_code => 'GL_ACCOUNT'
79934 , p_segment_value => l_segment
79935 , p_from_segment_code => l_adr_value_segment_code
79936 , p_from_combination_id => l_adr_value_combination_id
79937 , p_value_type_code => l_adr_value_type_code
79938 , p_transaction_coa_id => l_adr_transaction_coa_id
79939 , p_accounting_coa_id => l_adr_accounting_coa_id
79940 , p_flexfield_segment_code => l_adr_flexfield_segment_code
79941 , p_flex_value_set_id => l_adr_flex_value_set_id
79942 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
79943 , p_adr_type_code => 'S'
79944 , p_component_type => l_component_type
79945 , p_component_code => l_component_code
79946 , p_component_type_code => l_component_type_code
79947 , p_component_appl_id => l_component_appl_id
79948 , p_amb_context_code => l_amb_context_code
79949 , p_entity_code => 'AP_INVOICES'
79950 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
79951 , p_side => 'NA'
79952 );
79953
79954 END IF;
79955
79956 --
79957 --
79958 END IF;
79959 --
79960 -- Bug 4922099
79961 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
79962 (NVL(l_enc_upg_option, 'N') = 'O')
79963 ) AND
79964 (l_bflow_method_code = 'PRIOR_ENTRY')
79965 )
79966 THEN
79967 IF
79968 --
79969 1 = 2
79970 --
79971 THEN
79972 xla_accounting_err_pkg.build_message
79973 (p_appli_s_name => 'XLA'
79974 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
79975 ,p_token_1 => 'LINE_NUMBER'
79976 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
79977 ,p_token_2 => 'LINE_TYPE_NAME'
79978 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
79979 l_component_type
79980 ,l_component_code
79981 ,l_component_type_code
79982 ,l_component_appl_id
79983 ,l_amb_context_code
79984 ,l_entity_code
79985 ,l_event_class_code
79986 )
79987 ,p_token_3 => 'OWNER'
79988 ,p_value_3 => xla_lookups_pkg.get_meaning(
79989 p_lookup_type => 'XLA_OWNER_TYPE'
79990 ,p_lookup_code => l_component_type_code
79991 )
79992 ,p_token_4 => 'PRODUCT_NAME'
79996 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
79993 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
79994 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
79995 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
79997 ,p_ae_header_id => NULL
79998 );
79999
80000 IF (C_LEVEL_ERROR>= g_log_level) THEN
80001 trace
80002 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80003 ,p_level => C_LEVEL_ERROR
80004 ,p_module => l_log_module);
80005 END IF;
80006 END IF;
80007 END IF;
80008 --
80009 --
80010 ------------------------------------------------------------------------------------------------
80011 -- 4219869 Business Flow
80012 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
80013 -- Prior Entry. Currently, the following code is always generated.
80014 ------------------------------------------------------------------------------------------------
80015 XLA_AE_LINES_PKG.ValidateCurrentLine;
80016
80017 ------------------------------------------------------------------------------------
80018 -- 4219869 Business Flow
80019 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
80020 ------------------------------------------------------------------------------------
80021 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80022
80023 ----------------------------------------------------------------------------------
80024 -- 4219869 Business Flow
80025 -- Update journal entry status -- Need to generate this within IF <condition>
80026 ----------------------------------------------------------------------------------
80027 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80028 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
80029 ,p_balance_type_code => l_balance_type_code
80030 );
80031
80032 -------------------------------------------------------------------------------------------
80033 -- 4262811 - Generate the Accrual Reversal lines
80034 -------------------------------------------------------------------------------------------
80035 BEGIN
80036 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
80037 (g_array_event(p_event_id).array_value_num('header_index'));
80038 IF l_acc_rev_flag IS NULL THEN
80039 l_acc_rev_flag := 'N';
80040 END IF;
80041 EXCEPTION
80042 WHEN OTHERS THEN
80043 l_acc_rev_flag := 'N';
80044 END;
80045 --
80046 IF (l_acc_rev_flag = 'Y') THEN
80047
80048 -- 4645092 ------------------------------------------------------------------------------
80049 -- To allow MPA report to determine if it should generate report process
80050 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
80051 ------------------------------------------------------------------------------------------
80052
80053 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
80054 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
80055 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
80056 -- call ADRs
80057 -- Bug 4922099
80058 --
80059 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80060 (NVL(l_actual_upg_option, 'N') = 'O') OR
80061 (NVL(l_enc_upg_option, 'N') = 'O')
80062 )
80063 THEN
80064 NULL;
80065 --
80066 --
80067
80068 l_ccid := AcctDerRule_37(
80069 p_application_id => p_application_id
80070 , p_ae_header_id => l_ae_header_id
80071 , p_source_3 => p_source_3
80072 , p_source_3_meaning => p_source_3_meaning
80073 , p_source_18 => p_source_18
80074 , p_source_24 => p_source_24
80075 , p_source_25 => p_source_25
80076 , x_transaction_coa_id => l_adr_transaction_coa_id
80077 , x_accounting_coa_id => l_adr_accounting_coa_id
80078 , x_value_type_code => l_adr_value_type_code
80079 , p_side => 'NA'
80080 );
80081
80082 xla_ae_lines_pkg.set_ccid(
80083 p_code_combination_id => l_ccid
80084 , p_value_type_code => l_adr_value_type_code
80085 , p_transaction_coa_id => l_adr_transaction_coa_id
80086 , p_accounting_coa_id => l_adr_accounting_coa_id
80087 , p_adr_code => 'AP_REAL_GAIN'
80088 , p_adr_type_code => 'S'
80089 , p_component_type => l_component_type
80090 , p_component_code => l_component_code
80091 , p_component_type_code => l_component_type_code
80092 , p_component_appl_id => l_component_appl_id
80093 , p_amb_context_code => l_amb_context_code
80094 , p_side => 'NA'
80095 );
80096
80097
80098 l_segment := AcctDerRule_21(
80099 p_application_id => p_application_id
80100 , p_ae_header_id => l_ae_header_id
80101 , p_source_3 => p_source_3
80105 , x_accounting_coa_id => l_adr_accounting_coa_id
80102 , p_source_3_meaning => p_source_3_meaning
80103 , p_source_18 => p_source_18
80104 , x_transaction_coa_id => l_adr_transaction_coa_id
80106 , x_flexfield_segment_code => l_adr_flexfield_segment_code
80107 , x_flex_value_set_id => l_adr_flex_value_set_id
80108 , x_value_type_code => l_adr_value_type_code
80109 , x_value_combination_id => l_adr_value_combination_id
80110 , x_value_segment_code => l_adr_value_segment_code
80111 , p_side => 'NA'
80112 , p_override_seg_flag => 'Y'
80113 );
80114
80115 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
80116
80117 xla_ae_lines_pkg.set_segment(
80118 p_to_segment_code => 'GL_BALANCING'
80119 , p_segment_value => l_segment
80120 , p_from_segment_code => l_adr_value_segment_code
80121 , p_from_combination_id => l_adr_value_combination_id
80122 , p_value_type_code => l_adr_value_type_code
80123 , p_transaction_coa_id => l_adr_transaction_coa_id
80124 , p_accounting_coa_id => l_adr_accounting_coa_id
80125 , p_flexfield_segment_code => l_adr_flexfield_segment_code
80126 , p_flex_value_set_id => l_adr_flex_value_set_id
80127 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
80128 , p_adr_type_code => 'S'
80129 , p_component_type => l_component_type
80130 , p_component_code => l_component_code
80131 , p_component_type_code => l_component_type_code
80132 , p_component_appl_id => l_component_appl_id
80133 , p_amb_context_code => l_amb_context_code
80134 , p_entity_code => 'AP_INVOICES'
80135 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
80136 , p_side => 'NA'
80137 );
80138
80139 END IF;
80140
80141 l_segment := AcctDerRule_16(
80142 p_application_id => p_application_id
80143 , p_ae_header_id => l_ae_header_id
80144 , p_source_3 => p_source_3
80145 , p_source_3_meaning => p_source_3_meaning
80146 , p_source_24 => p_source_24
80147 , p_source_25 => p_source_25
80148 , x_transaction_coa_id => l_adr_transaction_coa_id
80149 , x_accounting_coa_id => l_adr_accounting_coa_id
80150 , x_flexfield_segment_code => l_adr_flexfield_segment_code
80151 , x_flex_value_set_id => l_adr_flex_value_set_id
80152 , x_value_type_code => l_adr_value_type_code
80153 , x_value_combination_id => l_adr_value_combination_id
80154 , x_value_segment_code => l_adr_value_segment_code
80155 , p_side => 'NA'
80156 , p_override_seg_flag => 'Y'
80157 );
80158
80159 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
80160
80161 xla_ae_lines_pkg.set_segment(
80162 p_to_segment_code => 'GL_ACCOUNT'
80163 , p_segment_value => l_segment
80164 , p_from_segment_code => l_adr_value_segment_code
80165 , p_from_combination_id => l_adr_value_combination_id
80166 , p_value_type_code => l_adr_value_type_code
80167 , p_transaction_coa_id => l_adr_transaction_coa_id
80168 , p_accounting_coa_id => l_adr_accounting_coa_id
80169 , p_flexfield_segment_code => l_adr_flexfield_segment_code
80170 , p_flex_value_set_id => l_adr_flex_value_set_id
80171 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
80172 , p_adr_type_code => 'S'
80173 , p_component_type => l_component_type
80174 , p_component_code => l_component_code
80175 , p_component_type_code => l_component_type_code
80176 , p_component_appl_id => l_component_appl_id
80177 , p_amb_context_code => l_amb_context_code
80178 , p_entity_code => 'AP_INVOICES'
80179 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
80180 , p_side => 'NA'
80181 );
80182
80183 END IF;
80184
80185 --
80186 --
80187 END IF;
80188
80189 --
80190 -- Update the line information that should be overwritten
80191 --
80192 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
80193 p_header_num => 1);
80194 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
80195
80196 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
80197
80198 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
80199 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
80200 END IF;
80201
80202 --
80203 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
80204 --
80205 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
80206 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
80207 ELSE
80208 ---------------------------------------------------------------------------------------------------
80209 -- 4262811a Switch Sign
80213 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80210 ---------------------------------------------------------------------------------------------------
80211 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
80212 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80214 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
80215 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80216 -- 5132302
80217 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
80218 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
80219
80220 END IF;
80221
80222 -- 4955764
80223 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80224 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
80225
80226
80227 XLA_AE_LINES_PKG.ValidateCurrentLine;
80228 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80229
80230 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80231 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
80232 ,p_balance_type_code => l_balance_type_code);
80233
80234 END IF;
80235
80236 -----------------------------------------------------------------------------------------
80237 -- 4262811 Multiperiod Accounting
80238 -----------------------------------------------------------------------------------------
80239 -- No MPA option is assigned.
80240
80241
80242 END IF;
80243 END IF;
80244 --
80245
80246 --
80247 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80248 trace
80249 (p_msg => 'END of AcctLineType_146'
80250 ,p_level => C_LEVEL_PROCEDURE
80251 ,p_module => l_log_module);
80252 END IF;
80253 --
80254 EXCEPTION
80255 WHEN xla_exceptions_pkg.application_exception THEN
80256 RAISE;
80257 WHEN OTHERS THEN
80258 xla_exceptions_pkg.raise_message
80259 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_146');
80260 END AcctLineType_146;
80261 --
80262
80263 ---------------------------------------
80264 --
80265 -- PRIVATE FUNCTION
80266 -- AcctLineType_147
80267 --
80268 ---------------------------------------
80269 PROCEDURE AcctLineType_147 (
80270 p_application_id IN NUMBER
80271 ,p_event_id IN NUMBER
80272 ,p_calculate_acctd_flag IN VARCHAR2
80273 ,p_calculate_g_l_flag IN VARCHAR2
80274 ,p_actual_flag IN OUT VARCHAR2
80275 ,p_balance_type_code OUT VARCHAR2
80276 ,p_gain_or_loss_ref OUT VARCHAR2
80277
80278 --Automatic Offsets Value
80279 , p_source_3 IN VARCHAR2
80280 , p_source_3_meaning IN VARCHAR2
80281 --Invoice Distribution Account
80282 , p_source_18 IN NUMBER
80283 --Internal Realized Gain Account
80284 , p_source_24 IN NUMBER
80285 --Bank Gain Account
80286 , p_source_25 IN NUMBER
80287 --Accounting Reversal Indicator
80288 , p_source_41 IN VARCHAR2
80289 --Distribution Link Type
80290 , p_source_43 IN VARCHAR2
80291 --Override Accounted Amount Indicator
80292 , p_source_68 IN VARCHAR2
80293 , p_source_68_meaning IN VARCHAR2
80294 --Third Party Type
80295 , p_source_71 IN VARCHAR2
80296 --Invoice Distribution Tax Line Identifier
80297 , p_source_74 IN NUMBER
80298 --Invoice Distribution Tax Distribution Identifier from Tax
80299 , p_source_75 IN NUMBER
80300 --Invoice Distribution Summary Tax Line Identifier
80301 , p_source_76 IN NUMBER
80302 --Business Flow Accounts Payable Application Identifier
80303 , p_source_79 IN NUMBER
80304 --Business Flow Invoice Distribution Type
80305 , p_source_80 IN VARCHAR2
80306 --Business Flow Invoice Entity Code
80307 , p_source_81 IN VARCHAR2
80308 --Business Flow Invoice Distribution Identifier
80309 , p_source_82 IN NUMBER
80310 --Business Flow Invoice Identifier
80311 , p_source_83 IN NUMBER
80312 --When to Account for Payment Option
80313 , p_source_89 IN VARCHAR2
80314 --Payment Distribution Type
80315 , p_source_90 IN VARCHAR2
80316 , p_source_90_meaning IN VARCHAR2
80317 --Payment Distribution Amount
80318 , p_source_91 IN NUMBER
80319 --Payment Distribution Identifier
80320 , p_source_96 IN NUMBER
80321 --Payment Supplier Identifier
80322 , p_source_102 IN NUMBER
80323 --Payment Supplier Site Identifier
80324 , p_source_103 IN NUMBER
80325 --Payment Distribution Reversed Identifier
80326 , p_source_104 IN NUMBER
80327 --Payment Currency Code
80328 , p_source_106 IN VARCHAR2
80329 --Payment Exchange Date
80330 , p_source_110 IN DATE
80331 --Payment Exchange Rate
80332 , p_source_111 IN NUMBER
80333 --Payment Exchange Rate Type
80334 , p_source_112 IN VARCHAR2
80335 --Payment Type
80336 , p_source_115 IN VARCHAR2
80337 , p_source_115_meaning IN VARCHAR2
80338 --Invoice/Payment Ledger Amount Difference
80339 , p_source_148 IN NUMBER
80343 IS
80340 --Gain or Loss Indicator between Invoice and Payment
80341 , p_source_153 IN VARCHAR2
80342 )
80344
80345 l_component_type VARCHAR2(80);
80346 l_component_code VARCHAR2(30);
80347 l_component_type_code VARCHAR2(1);
80348 l_component_appl_id INTEGER;
80349 l_amb_context_code VARCHAR2(30);
80350 l_entity_code VARCHAR2(30);
80351 l_event_class_code VARCHAR2(30);
80352 l_ae_header_id NUMBER;
80353 l_event_type_code VARCHAR2(30);
80354 l_line_definition_code VARCHAR2(30);
80355 l_line_definition_owner_code VARCHAR2(1);
80356 --
80357 -- adr variables
80358 l_segment VARCHAR2(30);
80359 l_ccid NUMBER;
80360 l_adr_transaction_coa_id NUMBER;
80361 l_adr_accounting_coa_id NUMBER;
80362 l_adr_flexfield_segment_code VARCHAR2(30);
80363 l_adr_flex_value_set_id NUMBER;
80364 l_adr_value_type_code VARCHAR2(30);
80365 l_adr_value_combination_id NUMBER;
80366 l_adr_value_segment_code VARCHAR2(30);
80367
80368 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
80369 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
80370 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
80371 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
80372
80373 -- 4262811 Variables ------------------------------------------------------------------------------------------
80374 l_entered_amt_idx NUMBER;
80375 l_accted_amt_idx NUMBER;
80376 l_acc_rev_flag VARCHAR2(1);
80377 l_accrual_line_num NUMBER;
80378 l_tmp_amt NUMBER;
80379 l_acc_rev_natural_side_code VARCHAR2(1);
80380
80381 l_num_entries NUMBER;
80382 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
80383 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
80384 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
80385 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
80386 l_recog_line_1 NUMBER;
80387 l_recog_line_2 NUMBER;
80388
80389 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
80390 l_bflow_applied_to_amt NUMBER; -- 5132302
80391 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
80392
80393 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
80394
80395 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
80396 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
80397
80398 ---------------------------------------------------------------------------------------------------------------
80399
80400
80401 --
80402 -- bulk performance
80403 --
80404 l_balance_type_code VARCHAR2(1);
80405 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
80406 l_log_module VARCHAR2(240);
80407
80408 --
80409 -- Upgrade strategy
80410 --
80411 l_actual_upg_option VARCHAR2(1);
80412 l_enc_upg_option VARCHAR2(1);
80413
80414 --
80415 BEGIN
80416 --
80417 IF g_log_enabled THEN
80418 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_147';
80419 END IF;
80420 --
80421 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
80422
80423 trace
80424 (p_msg => 'BEGIN of AcctLineType_147'
80425 ,p_level => C_LEVEL_PROCEDURE
80426 ,p_module => l_log_module);
80427
80428 END IF;
80429 --
80430 l_component_type := 'AMB_JLT';
80431 l_component_code := 'AP_GAIN_REF';
80432 l_component_type_code := 'S';
80433 l_component_appl_id := 200;
80434 l_amb_context_code := 'DEFAULT';
80435 l_entity_code := 'AP_PAYMENTS';
80436 l_event_class_code := 'REFUNDS';
80437 l_event_type_code := 'REFUNDS_ALL';
80438 l_line_definition_owner_code := 'S';
80439 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
80440 --
80441 l_balance_type_code := 'A';
80442 l_segment := NULL;
80443 l_ccid := NULL;
80444 l_adr_transaction_coa_id := NULL;
80445 l_adr_accounting_coa_id := NULL;
80446 l_adr_flexfield_segment_code := NULL;
80447 l_adr_flex_value_set_id := NULL;
80448 l_adr_value_type_code := NULL;
80449 l_adr_value_combination_id := NULL;
80450 l_adr_value_segment_code := NULL;
80451
80452 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
80453 l_bflow_class_code := ''; -- 4219869 Business Flow
80454 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
80455 l_budgetary_control_flag := 'N';
80456
80457 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80458 l_bflow_applied_to_amt := NULL; -- 5132302
80459 l_entered_amt_idx := NULL; -- 4262811
80460 l_accted_amt_idx := NULL; -- 4262811
80461 l_acc_rev_flag := NULL; -- 4262811
80462 l_accrual_line_num := NULL; -- 4262811
80463 l_tmp_amt := NULL; -- 4262811
80464 --
80465 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
80469
80466 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
80467 return;
80468 END IF;
80470 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
80471 l_balance_type_code <> 'B' THEN
80472 IF (NVL(p_source_89,'
80473 ') <> 'CLEAR_CLEAR' AND
80474 NVL(p_source_89,'
80475 ') <> 'ALWAYS_CLEAR') AND
80476 NVL(p_source_153,'
80477 ') = 'GAIN' AND
80478 NVL(p_source_115,'
80479 ') = 'R' AND
80480 NVL(p_source_90,'
80481 ') <> 'EXCHANGE RATE VARIANCE' AND
80482 NVL(p_source_90,'
80483 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
80484 NVL(p_source_90,'
80485 ') <> 'BANK CHARGE' AND
80486 NVL(p_source_90,'
80487 ') <> 'BANK ERROR'
80488 THEN
80489
80490 --
80491 XLA_AE_LINES_PKG.SetNewLine;
80492
80493 p_balance_type_code := l_balance_type_code;
80494 -- set the flag so later we will know whether the gain loss line needs to be created
80495
80496 IF(l_balance_type_code = 'A' ) THEN
80497 p_actual_flag :='G';
80498 END IF;
80499
80500 --
80501 -- bulk performance
80502 --
80503 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
80504 p_header_num => 0); -- 4262811
80505 --
80506 -- set accounting line options
80507 --
80508 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
80509 p_natural_side_code => 'C'
80510 , p_gain_or_loss_flag => 'Y'
80511 , p_gl_transfer_mode_code => 'S'
80512 , p_acct_entry_type_code => 'A'
80513 , p_switch_side_flag => 'Y'
80514 , p_merge_duplicate_code => 'A'
80515 );
80516 --
80517 l_acc_rev_natural_side_code := 'D'; -- 4262811
80518 --
80519 --
80520 -- set accounting line type info
80521 --
80522 xla_ae_lines_pkg.SetAcctLineType
80523 (p_component_type => l_component_type
80524 ,p_event_type_code => l_event_type_code
80525 ,p_line_definition_owner_code => l_line_definition_owner_code
80526 ,p_line_definition_code => l_line_definition_code
80527 ,p_accounting_line_code => l_component_code
80528 ,p_accounting_line_type_code => l_component_type_code
80529 ,p_accounting_line_appl_id => l_component_appl_id
80530 ,p_amb_context_code => l_amb_context_code
80531 ,p_entity_code => l_entity_code
80532 ,p_event_class_code => l_event_class_code);
80533 --
80534 -- set accounting class
80535 --
80536 xla_ae_lines_pkg.SetAcctClass(
80537 p_accounting_class_code => 'GAIN'
80538 , p_ae_header_id => l_ae_header_id
80539 );
80540
80541 --
80542 -- set rounding class
80543 --
80544 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
80545 'GAIN';
80546
80547 --
80548 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
80549 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
80550 --
80551 -- bulk performance
80552 --
80553 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
80554
80555 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
80556 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
80557
80558 -- 4955764
80559 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
80560 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
80561
80562 -- 4458381 Public Sector Enh
80563
80564 --
80565 -- set accounting attributes for the line type
80566 --
80567 l_entered_amt_idx := 9;
80568 l_accted_amt_idx := 14;
80569 l_bflow_applied_to_amt_idx := NULL; -- 5132302
80570 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
80571 l_rec_acct_attrs.array_char_value(1) := p_source_41;
80572 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
80573 l_rec_acct_attrs.array_num_value(2) := p_source_79;
80574 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
80575 l_rec_acct_attrs.array_char_value(3) := p_source_80;
80576 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
80577 l_rec_acct_attrs.array_char_value(4) := p_source_81;
80578 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
80579 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
80580 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
80581 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
80582 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
80583 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
80584 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
80585 l_rec_acct_attrs.array_char_value(8) := p_source_43;
80586 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
80590 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
80587 l_rec_acct_attrs.array_num_value(9) := p_source_91;
80588 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
80589 l_rec_acct_attrs.array_char_value(10) := p_source_106;
80591 l_rec_acct_attrs.array_date_value(11) := p_source_110;
80592 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
80593 l_rec_acct_attrs.array_num_value(12) := p_source_111;
80594 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
80595 l_rec_acct_attrs.array_char_value(13) := p_source_112;
80596 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
80597 l_rec_acct_attrs.array_num_value(14) := p_source_148;
80598 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
80599 l_rec_acct_attrs.array_char_value(15) := p_source_68;
80600 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
80601 l_rec_acct_attrs.array_num_value(16) := p_source_102;
80602 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
80603 l_rec_acct_attrs.array_num_value(17) := p_source_103;
80604 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
80605 l_rec_acct_attrs.array_char_value(18) := p_source_71;
80606 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
80607 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
80608 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
80609 l_rec_acct_attrs.array_char_value(20) := p_source_43;
80610 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
80611 l_rec_acct_attrs.array_num_value(21) := p_source_74;
80612 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
80613 l_rec_acct_attrs.array_num_value(22) := p_source_75;
80614 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
80615 l_rec_acct_attrs.array_num_value(23) := p_source_76;
80616
80617 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
80618 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
80619
80620 ---------------------------------------------------------------------------------------------------------------
80621 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
80622 ---------------------------------------------------------------------------------------------------------------
80623 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
80624
80625 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80626 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
80627
80628 IF xla_accounting_cache_pkg.GetValueChar
80629 (p_source_code => 'LEDGER_CATEGORY_CODE'
80630 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
80631 AND l_bflow_method_code = 'PRIOR_ENTRY'
80632 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
80633 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
80634 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
80635 )
80636 THEN
80637 xla_ae_lines_pkg.BflowUpgEntry
80638 (p_business_method_code => l_bflow_method_code
80639 ,p_business_class_code => l_bflow_class_code
80640 ,p_balance_type => l_balance_type_code);
80641 ELSE
80642 NULL;
80643 -- No business flow processing for business flow method of NONE.
80644 END IF;
80645
80646 --
80647 -- call analytical criteria
80648 --
80649
80650 --
80651 -- call description
80652 --
80653 -- No description or it is inherited.
80654 --
80655 -- call ADRs
80656 -- Bug 4922099
80657 --
80658 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80659 (NVL(l_actual_upg_option, 'N') = 'O') OR
80660 (NVL(l_enc_upg_option, 'N') = 'O')
80661 )
80662 THEN
80663 NULL;
80664 --
80665 --
80666
80667 l_ccid := AcctDerRule_37(
80668 p_application_id => p_application_id
80669 , p_ae_header_id => l_ae_header_id
80670 , p_source_3 => p_source_3
80671 , p_source_3_meaning => p_source_3_meaning
80672 , p_source_18 => p_source_18
80673 , p_source_24 => p_source_24
80674 , p_source_25 => p_source_25
80675 , x_transaction_coa_id => l_adr_transaction_coa_id
80676 , x_accounting_coa_id => l_adr_accounting_coa_id
80677 , x_value_type_code => l_adr_value_type_code
80678 , p_side => 'NA'
80679 );
80680
80681 xla_ae_lines_pkg.set_ccid(
80682 p_code_combination_id => l_ccid
80683 , p_value_type_code => l_adr_value_type_code
80684 , p_transaction_coa_id => l_adr_transaction_coa_id
80685 , p_accounting_coa_id => l_adr_accounting_coa_id
80686 , p_adr_code => 'AP_REAL_GAIN'
80687 , p_adr_type_code => 'S'
80688 , p_component_type => l_component_type
80689 , p_component_code => l_component_code
80690 , p_component_type_code => l_component_type_code
80691 , p_component_appl_id => l_component_appl_id
80692 , p_amb_context_code => l_amb_context_code
80696
80693 , p_side => 'NA'
80694 );
80695
80697 l_segment := AcctDerRule_21(
80698 p_application_id => p_application_id
80699 , p_ae_header_id => l_ae_header_id
80700 , p_source_3 => p_source_3
80701 , p_source_3_meaning => p_source_3_meaning
80702 , p_source_18 => p_source_18
80703 , x_transaction_coa_id => l_adr_transaction_coa_id
80704 , x_accounting_coa_id => l_adr_accounting_coa_id
80705 , x_flexfield_segment_code => l_adr_flexfield_segment_code
80706 , x_flex_value_set_id => l_adr_flex_value_set_id
80707 , x_value_type_code => l_adr_value_type_code
80708 , x_value_combination_id => l_adr_value_combination_id
80709 , x_value_segment_code => l_adr_value_segment_code
80710 , p_side => 'NA'
80711 , p_override_seg_flag => 'Y'
80712 );
80713
80714 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
80715
80716 xla_ae_lines_pkg.set_segment(
80717 p_to_segment_code => 'GL_BALANCING'
80718 , p_segment_value => l_segment
80719 , p_from_segment_code => l_adr_value_segment_code
80720 , p_from_combination_id => l_adr_value_combination_id
80721 , p_value_type_code => l_adr_value_type_code
80722 , p_transaction_coa_id => l_adr_transaction_coa_id
80723 , p_accounting_coa_id => l_adr_accounting_coa_id
80724 , p_flexfield_segment_code => l_adr_flexfield_segment_code
80725 , p_flex_value_set_id => l_adr_flex_value_set_id
80726 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
80727 , p_adr_type_code => 'S'
80728 , p_component_type => l_component_type
80729 , p_component_code => l_component_code
80730 , p_component_type_code => l_component_type_code
80731 , p_component_appl_id => l_component_appl_id
80732 , p_amb_context_code => l_amb_context_code
80733 , p_entity_code => 'AP_PAYMENTS'
80734 , p_event_class_code => 'REFUNDS'
80735 , p_side => 'NA'
80736 );
80737
80738 END IF;
80739
80740 l_segment := AcctDerRule_16(
80741 p_application_id => p_application_id
80742 , p_ae_header_id => l_ae_header_id
80743 , p_source_3 => p_source_3
80744 , p_source_3_meaning => p_source_3_meaning
80745 , p_source_24 => p_source_24
80746 , p_source_25 => p_source_25
80747 , x_transaction_coa_id => l_adr_transaction_coa_id
80748 , x_accounting_coa_id => l_adr_accounting_coa_id
80749 , x_flexfield_segment_code => l_adr_flexfield_segment_code
80750 , x_flex_value_set_id => l_adr_flex_value_set_id
80751 , x_value_type_code => l_adr_value_type_code
80752 , x_value_combination_id => l_adr_value_combination_id
80753 , x_value_segment_code => l_adr_value_segment_code
80754 , p_side => 'NA'
80755 , p_override_seg_flag => 'Y'
80756 );
80757
80758 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
80759
80760 xla_ae_lines_pkg.set_segment(
80761 p_to_segment_code => 'GL_ACCOUNT'
80762 , p_segment_value => l_segment
80763 , p_from_segment_code => l_adr_value_segment_code
80764 , p_from_combination_id => l_adr_value_combination_id
80765 , p_value_type_code => l_adr_value_type_code
80766 , p_transaction_coa_id => l_adr_transaction_coa_id
80767 , p_accounting_coa_id => l_adr_accounting_coa_id
80768 , p_flexfield_segment_code => l_adr_flexfield_segment_code
80769 , p_flex_value_set_id => l_adr_flex_value_set_id
80770 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
80771 , p_adr_type_code => 'S'
80772 , p_component_type => l_component_type
80773 , p_component_code => l_component_code
80774 , p_component_type_code => l_component_type_code
80775 , p_component_appl_id => l_component_appl_id
80776 , p_amb_context_code => l_amb_context_code
80777 , p_entity_code => 'AP_PAYMENTS'
80778 , p_event_class_code => 'REFUNDS'
80779 , p_side => 'NA'
80780 );
80781
80782 END IF;
80783
80784 --
80785 --
80786 END IF;
80787 --
80788 -- Bug 4922099
80789 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
80790 (NVL(l_enc_upg_option, 'N') = 'O')
80791 ) AND
80792 (l_bflow_method_code = 'PRIOR_ENTRY')
80793 )
80794 THEN
80795 IF
80796 --
80797 1 = 2
80798 --
80799 THEN
80800 xla_accounting_err_pkg.build_message
80801 (p_appli_s_name => 'XLA'
80802 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80803 ,p_token_1 => 'LINE_NUMBER'
80804 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
80805 ,p_token_2 => 'LINE_TYPE_NAME'
80809 ,l_component_type_code
80806 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
80807 l_component_type
80808 ,l_component_code
80810 ,l_component_appl_id
80811 ,l_amb_context_code
80812 ,l_entity_code
80813 ,l_event_class_code
80814 )
80815 ,p_token_3 => 'OWNER'
80816 ,p_value_3 => xla_lookups_pkg.get_meaning(
80817 p_lookup_type => 'XLA_OWNER_TYPE'
80818 ,p_lookup_code => l_component_type_code
80819 )
80820 ,p_token_4 => 'PRODUCT_NAME'
80821 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
80822 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
80823 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
80824 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
80825 ,p_ae_header_id => NULL
80826 );
80827
80828 IF (C_LEVEL_ERROR>= g_log_level) THEN
80829 trace
80830 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
80831 ,p_level => C_LEVEL_ERROR
80832 ,p_module => l_log_module);
80833 END IF;
80834 END IF;
80835 END IF;
80836 --
80837 --
80838 ------------------------------------------------------------------------------------------------
80839 -- 4219869 Business Flow
80840 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
80841 -- Prior Entry. Currently, the following code is always generated.
80842 ------------------------------------------------------------------------------------------------
80843 XLA_AE_LINES_PKG.ValidateCurrentLine;
80844
80845 ------------------------------------------------------------------------------------
80846 -- 4219869 Business Flow
80847 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
80848 ------------------------------------------------------------------------------------
80849 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
80850
80851 ----------------------------------------------------------------------------------
80852 -- 4219869 Business Flow
80853 -- Update journal entry status -- Need to generate this within IF <condition>
80854 ----------------------------------------------------------------------------------
80855 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
80856 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
80857 ,p_balance_type_code => l_balance_type_code
80858 );
80859
80860 -------------------------------------------------------------------------------------------
80861 -- 4262811 - Generate the Accrual Reversal lines
80862 -------------------------------------------------------------------------------------------
80863 BEGIN
80864 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
80865 (g_array_event(p_event_id).array_value_num('header_index'));
80866 IF l_acc_rev_flag IS NULL THEN
80867 l_acc_rev_flag := 'N';
80868 END IF;
80869 EXCEPTION
80870 WHEN OTHERS THEN
80871 l_acc_rev_flag := 'N';
80872 END;
80873 --
80874 IF (l_acc_rev_flag = 'Y') THEN
80875
80876 -- 4645092 ------------------------------------------------------------------------------
80877 -- To allow MPA report to determine if it should generate report process
80878 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
80879 ------------------------------------------------------------------------------------------
80880
80881 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
80882 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
80883 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
80884 -- call ADRs
80885 -- Bug 4922099
80886 --
80887 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
80888 (NVL(l_actual_upg_option, 'N') = 'O') OR
80889 (NVL(l_enc_upg_option, 'N') = 'O')
80890 )
80891 THEN
80892 NULL;
80893 --
80894 --
80895
80896 l_ccid := AcctDerRule_37(
80897 p_application_id => p_application_id
80898 , p_ae_header_id => l_ae_header_id
80899 , p_source_3 => p_source_3
80900 , p_source_3_meaning => p_source_3_meaning
80901 , p_source_18 => p_source_18
80902 , p_source_24 => p_source_24
80903 , p_source_25 => p_source_25
80907 , p_side => 'NA'
80904 , x_transaction_coa_id => l_adr_transaction_coa_id
80905 , x_accounting_coa_id => l_adr_accounting_coa_id
80906 , x_value_type_code => l_adr_value_type_code
80908 );
80909
80910 xla_ae_lines_pkg.set_ccid(
80911 p_code_combination_id => l_ccid
80912 , p_value_type_code => l_adr_value_type_code
80913 , p_transaction_coa_id => l_adr_transaction_coa_id
80914 , p_accounting_coa_id => l_adr_accounting_coa_id
80915 , p_adr_code => 'AP_REAL_GAIN'
80916 , p_adr_type_code => 'S'
80917 , p_component_type => l_component_type
80918 , p_component_code => l_component_code
80919 , p_component_type_code => l_component_type_code
80920 , p_component_appl_id => l_component_appl_id
80921 , p_amb_context_code => l_amb_context_code
80922 , p_side => 'NA'
80923 );
80924
80925
80926 l_segment := AcctDerRule_21(
80927 p_application_id => p_application_id
80928 , p_ae_header_id => l_ae_header_id
80929 , p_source_3 => p_source_3
80930 , p_source_3_meaning => p_source_3_meaning
80931 , p_source_18 => p_source_18
80932 , x_transaction_coa_id => l_adr_transaction_coa_id
80933 , x_accounting_coa_id => l_adr_accounting_coa_id
80934 , x_flexfield_segment_code => l_adr_flexfield_segment_code
80935 , x_flex_value_set_id => l_adr_flex_value_set_id
80936 , x_value_type_code => l_adr_value_type_code
80937 , x_value_combination_id => l_adr_value_combination_id
80938 , x_value_segment_code => l_adr_value_segment_code
80939 , p_side => 'NA'
80940 , p_override_seg_flag => 'Y'
80941 );
80942
80943 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
80944
80945 xla_ae_lines_pkg.set_segment(
80946 p_to_segment_code => 'GL_BALANCING'
80947 , p_segment_value => l_segment
80948 , p_from_segment_code => l_adr_value_segment_code
80949 , p_from_combination_id => l_adr_value_combination_id
80950 , p_value_type_code => l_adr_value_type_code
80951 , p_transaction_coa_id => l_adr_transaction_coa_id
80952 , p_accounting_coa_id => l_adr_accounting_coa_id
80953 , p_flexfield_segment_code => l_adr_flexfield_segment_code
80954 , p_flex_value_set_id => l_adr_flex_value_set_id
80955 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
80956 , p_adr_type_code => 'S'
80957 , p_component_type => l_component_type
80958 , p_component_code => l_component_code
80959 , p_component_type_code => l_component_type_code
80960 , p_component_appl_id => l_component_appl_id
80961 , p_amb_context_code => l_amb_context_code
80962 , p_entity_code => 'AP_PAYMENTS'
80963 , p_event_class_code => 'REFUNDS'
80964 , p_side => 'NA'
80965 );
80966
80967 END IF;
80968
80969 l_segment := AcctDerRule_16(
80970 p_application_id => p_application_id
80971 , p_ae_header_id => l_ae_header_id
80972 , p_source_3 => p_source_3
80973 , p_source_3_meaning => p_source_3_meaning
80974 , p_source_24 => p_source_24
80975 , p_source_25 => p_source_25
80976 , x_transaction_coa_id => l_adr_transaction_coa_id
80977 , x_accounting_coa_id => l_adr_accounting_coa_id
80978 , x_flexfield_segment_code => l_adr_flexfield_segment_code
80979 , x_flex_value_set_id => l_adr_flex_value_set_id
80980 , x_value_type_code => l_adr_value_type_code
80981 , x_value_combination_id => l_adr_value_combination_id
80982 , x_value_segment_code => l_adr_value_segment_code
80983 , p_side => 'NA'
80984 , p_override_seg_flag => 'Y'
80985 );
80986
80987 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
80988
80989 xla_ae_lines_pkg.set_segment(
80990 p_to_segment_code => 'GL_ACCOUNT'
80991 , p_segment_value => l_segment
80992 , p_from_segment_code => l_adr_value_segment_code
80993 , p_from_combination_id => l_adr_value_combination_id
80994 , p_value_type_code => l_adr_value_type_code
80995 , p_transaction_coa_id => l_adr_transaction_coa_id
80996 , p_accounting_coa_id => l_adr_accounting_coa_id
80997 , p_flexfield_segment_code => l_adr_flexfield_segment_code
80998 , p_flex_value_set_id => l_adr_flex_value_set_id
80999 , p_adr_code => 'AP_REAL_GAIN_NAT_ACCT_SEG'
81000 , p_adr_type_code => 'S'
81001 , p_component_type => l_component_type
81002 , p_component_code => l_component_code
81003 , p_component_type_code => l_component_type_code
81004 , p_component_appl_id => l_component_appl_id
81005 , p_amb_context_code => l_amb_context_code
81006 , p_entity_code => 'AP_PAYMENTS'
81007 , p_event_class_code => 'REFUNDS'
81008 , p_side => 'NA'
81009 );
81010
81011 END IF;
81012
81013 --
81014 --
81015 END IF;
81016
81020 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81017 --
81018 -- Update the line information that should be overwritten
81019 --
81021 p_header_num => 1);
81022 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81023
81024 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81025
81026 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81027 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81028 END IF;
81029
81030 --
81031 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81032 --
81033 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81034 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81035 ELSE
81036 ---------------------------------------------------------------------------------------------------
81037 -- 4262811a Switch Sign
81038 ---------------------------------------------------------------------------------------------------
81039 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81040 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81041 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81042 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81043 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81044 -- 5132302
81045 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81046 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81047
81048 END IF;
81049
81050 -- 4955764
81051 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81052 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81053
81054
81055 XLA_AE_LINES_PKG.ValidateCurrentLine;
81056 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81057
81058 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81059 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81060 ,p_balance_type_code => l_balance_type_code);
81061
81062 END IF;
81063
81064 -----------------------------------------------------------------------------------------
81065 -- 4262811 Multiperiod Accounting
81066 -----------------------------------------------------------------------------------------
81067 -- No MPA option is assigned.
81068
81069
81070 END IF;
81071 END IF;
81072 --
81073
81074 --
81075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81076 trace
81077 (p_msg => 'END of AcctLineType_147'
81078 ,p_level => C_LEVEL_PROCEDURE
81079 ,p_module => l_log_module);
81080 END IF;
81081 --
81082 EXCEPTION
81083 WHEN xla_exceptions_pkg.application_exception THEN
81084 RAISE;
81085 WHEN OTHERS THEN
81086 xla_exceptions_pkg.raise_message
81087 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_147');
81088 END AcctLineType_147;
81089 --
81090
81091 ---------------------------------------
81092 --
81093 -- PRIVATE FUNCTION
81094 -- AcctLineType_148
81095 --
81096 ---------------------------------------
81097 PROCEDURE AcctLineType_148 (
81098 p_application_id IN NUMBER
81099 ,p_event_id IN NUMBER
81100 ,p_calculate_acctd_flag IN VARCHAR2
81101 ,p_calculate_g_l_flag IN VARCHAR2
81102 ,p_actual_flag IN OUT VARCHAR2
81103 ,p_balance_type_code OUT VARCHAR2
81104 ,p_gain_or_loss_ref OUT VARCHAR2
81105
81106 --Interest Account
81107 , p_source_16 IN NUMBER
81108 --Prorate Interest Invoice Across Distributions Option
81109 , p_source_17 IN VARCHAR2
81110 --Invoice Distribution Account
81111 , p_source_18 IN NUMBER
81112 --Invoice Distribution Type
81113 , p_source_21 IN VARCHAR2
81114 , p_source_21_meaning IN VARCHAR2
81115 --Accounting Reversal Indicator
81116 , p_source_41 IN VARCHAR2
81117 --Distribution Link Type
81118 , p_source_43 IN VARCHAR2
81119 --Override Accounted Amount Indicator
81120 , p_source_68 IN VARCHAR2
81121 , p_source_68_meaning IN VARCHAR2
81122 --Third Party Type
81123 , p_source_71 IN VARCHAR2
81124 --Invoice Distribution Tax Line Identifier
81125 , p_source_74 IN NUMBER
81126 --Invoice Distribution Summary Tax Line Identifier
81127 , p_source_76 IN NUMBER
81128 --Business Flow Accounts Payable Application Identifier
81129 , p_source_79 IN NUMBER
81130 --When to Account for Payment Option
81131 , p_source_89 IN VARCHAR2
81132 --Payment Distribution Type
81133 , p_source_90 IN VARCHAR2
81134 , p_source_90_meaning IN VARCHAR2
81135 --Payment Distribution Amount
81136 , p_source_91 IN NUMBER
81137 --Business Flow Payment Distribution Type
81138 , p_source_92 IN VARCHAR2
81142 , p_source_94 IN NUMBER
81139 --Business Flow Payment Entity Code
81140 , p_source_93 IN VARCHAR2
81141 --Business Flow Payment Distribution Identifier
81143 --Business Flow Payment Identifier
81144 , p_source_95 IN NUMBER
81145 --Payment Distribution Identifier
81146 , p_source_96 IN NUMBER
81147 --Cleared Exchange Date
81148 , p_source_98 IN DATE
81149 --Cleared Exchange Rate
81150 , p_source_99 IN NUMBER
81151 --Cleared Exchange Rate Type
81152 , p_source_100 IN VARCHAR2
81153 --Payment Distribution (Cleared Rate) Ledger Amount
81154 , p_source_101 IN NUMBER
81155 --Payment Supplier Identifier
81156 , p_source_102 IN NUMBER
81157 --Payment Supplier Site Identifier
81158 , p_source_103 IN NUMBER
81159 --Payment Distribution Reversed Identifier
81160 , p_source_104 IN NUMBER
81161 --Payment Currency Code
81162 , p_source_106 IN VARCHAR2
81163 --Payment Type
81164 , p_source_115 IN VARCHAR2
81165 , p_source_115_meaning IN VARCHAR2
81166 --Invoice Type Paid
81167 , p_source_158 IN VARCHAR2
81168 , p_source_158_meaning IN VARCHAR2
81169 )
81170 IS
81171
81172 l_component_type VARCHAR2(80);
81173 l_component_code VARCHAR2(30);
81174 l_component_type_code VARCHAR2(1);
81175 l_component_appl_id INTEGER;
81176 l_amb_context_code VARCHAR2(30);
81177 l_entity_code VARCHAR2(30);
81178 l_event_class_code VARCHAR2(30);
81179 l_ae_header_id NUMBER;
81180 l_event_type_code VARCHAR2(30);
81181 l_line_definition_code VARCHAR2(30);
81182 l_line_definition_owner_code VARCHAR2(1);
81183 --
81184 -- adr variables
81185 l_segment VARCHAR2(30);
81186 l_ccid NUMBER;
81187 l_adr_transaction_coa_id NUMBER;
81188 l_adr_accounting_coa_id NUMBER;
81189 l_adr_flexfield_segment_code VARCHAR2(30);
81190 l_adr_flex_value_set_id NUMBER;
81191 l_adr_value_type_code VARCHAR2(30);
81192 l_adr_value_combination_id NUMBER;
81193 l_adr_value_segment_code VARCHAR2(30);
81194
81195 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
81196 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
81197 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
81198 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
81199
81200 -- 4262811 Variables ------------------------------------------------------------------------------------------
81201 l_entered_amt_idx NUMBER;
81202 l_accted_amt_idx NUMBER;
81203 l_acc_rev_flag VARCHAR2(1);
81204 l_accrual_line_num NUMBER;
81205 l_tmp_amt NUMBER;
81206 l_acc_rev_natural_side_code VARCHAR2(1);
81207
81208 l_num_entries NUMBER;
81209 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
81210 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
81211 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
81212 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
81213 l_recog_line_1 NUMBER;
81214 l_recog_line_2 NUMBER;
81215
81216 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
81217 l_bflow_applied_to_amt NUMBER; -- 5132302
81218 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
81219
81220 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
81221
81222 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
81223 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
81224
81225 ---------------------------------------------------------------------------------------------------------------
81226
81227
81228 --
81229 -- bulk performance
81230 --
81231 l_balance_type_code VARCHAR2(1);
81232 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
81233 l_log_module VARCHAR2(240);
81234
81235 --
81236 -- Upgrade strategy
81237 --
81238 l_actual_upg_option VARCHAR2(1);
81239 l_enc_upg_option VARCHAR2(1);
81240
81241 --
81242 BEGIN
81243 --
81244 IF g_log_enabled THEN
81245 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_148';
81246 END IF;
81247 --
81248 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81249
81250 trace
81251 (p_msg => 'BEGIN of AcctLineType_148'
81252 ,p_level => C_LEVEL_PROCEDURE
81253 ,p_module => l_log_module);
81254
81255 END IF;
81256 --
81257 l_component_type := 'AMB_JLT';
81258 l_component_code := 'AP_INTEREST_EXPENSE_CLEAR';
81259 l_component_type_code := 'S';
81260 l_component_appl_id := 200;
81261 l_amb_context_code := 'DEFAULT';
81262 l_entity_code := 'AP_PAYMENTS';
81263 l_event_class_code := 'RECONCILED PAYMENTS';
81264 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
81265 l_line_definition_owner_code := 'S';
81266 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
81267 --
81271 l_adr_transaction_coa_id := NULL;
81268 l_balance_type_code := 'A';
81269 l_segment := NULL;
81270 l_ccid := NULL;
81272 l_adr_accounting_coa_id := NULL;
81273 l_adr_flexfield_segment_code := NULL;
81274 l_adr_flex_value_set_id := NULL;
81275 l_adr_value_type_code := NULL;
81276 l_adr_value_combination_id := NULL;
81277 l_adr_value_segment_code := NULL;
81278
81279 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
81280 l_bflow_class_code := ''; -- 4219869 Business Flow
81281 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
81282 l_budgetary_control_flag := 'N';
81283
81284 l_bflow_applied_to_amt_idx := NULL; -- 5132302
81285 l_bflow_applied_to_amt := NULL; -- 5132302
81286 l_entered_amt_idx := NULL; -- 4262811
81287 l_accted_amt_idx := NULL; -- 4262811
81288 l_acc_rev_flag := NULL; -- 4262811
81289 l_accrual_line_num := NULL; -- 4262811
81290 l_tmp_amt := NULL; -- 4262811
81291 --
81292
81293 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
81294 l_balance_type_code <> 'B' THEN
81295 IF NVL(p_source_89,'
81296 ') = 'CLEAR_CLEAR' AND
81297 NVL(p_source_21,'
81298 ') = 'ITEM' AND
81299 NVL(p_source_158,'
81300 ') = 'INTEREST' AND
81301 (NVL(p_source_90,'
81302 ') = 'CASH' OR
81303 NVL(p_source_90,'
81304 ') = 'DISCOUNT') AND
81305 NVL(p_source_115,'
81306 ') <> 'R'
81307 THEN
81308
81309 --
81310 XLA_AE_LINES_PKG.SetNewLine;
81311
81312 p_balance_type_code := l_balance_type_code;
81313 -- set the flag so later we will know whether the gain loss line needs to be created
81314
81315 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
81316 p_actual_flag :='A';
81317 END IF;
81318
81319 --
81320 -- bulk performance
81321 --
81322 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
81323 p_header_num => 0); -- 4262811
81324 --
81325 -- set accounting line options
81326 --
81327 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
81328 p_natural_side_code => 'D'
81329 , p_gain_or_loss_flag => 'N'
81330 , p_gl_transfer_mode_code => 'S'
81331 , p_acct_entry_type_code => 'A'
81332 , p_switch_side_flag => 'Y'
81333 , p_merge_duplicate_code => 'A'
81334 );
81335 --
81336 l_acc_rev_natural_side_code := 'C'; -- 4262811
81337 --
81338 --
81339 -- set accounting line type info
81340 --
81341 xla_ae_lines_pkg.SetAcctLineType
81342 (p_component_type => l_component_type
81343 ,p_event_type_code => l_event_type_code
81344 ,p_line_definition_owner_code => l_line_definition_owner_code
81345 ,p_line_definition_code => l_line_definition_code
81346 ,p_accounting_line_code => l_component_code
81347 ,p_accounting_line_type_code => l_component_type_code
81348 ,p_accounting_line_appl_id => l_component_appl_id
81349 ,p_amb_context_code => l_amb_context_code
81350 ,p_entity_code => l_entity_code
81351 ,p_event_class_code => l_event_class_code);
81352 --
81353 -- set accounting class
81354 --
81355 xla_ae_lines_pkg.SetAcctClass(
81356 p_accounting_class_code => 'INTEREST_EXPENSE'
81357 , p_ae_header_id => l_ae_header_id
81358 );
81359
81360 --
81361 -- set rounding class
81362 --
81363 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
81364 'INTEREST_EXPENSE';
81365
81366 --
81367 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
81368 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
81369 --
81370 -- bulk performance
81371 --
81372 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
81373
81374 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
81375 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
81376
81377 -- 4955764
81378 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81379 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
81380
81381 -- 4458381 Public Sector Enh
81382
81383 --
81384 -- set accounting attributes for the line type
81385 --
81386 l_entered_amt_idx := 10;
81387 l_accted_amt_idx := 15;
81388 l_bflow_applied_to_amt_idx := 2; -- 5132302
81389 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
81390 l_rec_acct_attrs.array_char_value(1) := p_source_41;
81391 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
81392 l_rec_acct_attrs.array_num_value(2) := p_source_91;
81393 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
81394 l_rec_acct_attrs.array_num_value(3) := p_source_79;
81398 l_rec_acct_attrs.array_char_value(5) := p_source_93;
81395 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
81396 l_rec_acct_attrs.array_char_value(4) := p_source_92;
81397 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
81399 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
81400 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
81401 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
81402 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
81403 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
81404 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
81405 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
81406 l_rec_acct_attrs.array_char_value(9) := p_source_43;
81407 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
81408 l_rec_acct_attrs.array_num_value(10) := p_source_91;
81409 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
81410 l_rec_acct_attrs.array_char_value(11) := p_source_106;
81411 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
81412 l_rec_acct_attrs.array_date_value(12) := p_source_98;
81413 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
81414 l_rec_acct_attrs.array_num_value(13) := p_source_99;
81415 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
81416 l_rec_acct_attrs.array_char_value(14) := p_source_100;
81417 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
81418 l_rec_acct_attrs.array_num_value(15) := p_source_101;
81419 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
81420 l_rec_acct_attrs.array_char_value(16) := p_source_68;
81421 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
81422 l_rec_acct_attrs.array_num_value(17) := p_source_102;
81423 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
81424 l_rec_acct_attrs.array_num_value(18) := p_source_103;
81425 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
81426 l_rec_acct_attrs.array_char_value(19) := p_source_71;
81427 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
81428 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
81429 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
81430 l_rec_acct_attrs.array_char_value(21) := p_source_43;
81431 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
81432 l_rec_acct_attrs.array_num_value(22) := p_source_74;
81433 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
81434 l_rec_acct_attrs.array_num_value(23) := p_source_74;
81435 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
81436 l_rec_acct_attrs.array_num_value(24) := p_source_76;
81437
81438 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
81439 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
81440
81441 ---------------------------------------------------------------------------------------------------------------
81442 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
81443 ---------------------------------------------------------------------------------------------------------------
81444 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
81445
81446 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81447 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
81448
81449 IF xla_accounting_cache_pkg.GetValueChar
81450 (p_source_code => 'LEDGER_CATEGORY_CODE'
81451 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
81452 AND l_bflow_method_code = 'PRIOR_ENTRY'
81453 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
81454 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
81455 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
81456 )
81457 THEN
81458 xla_ae_lines_pkg.BflowUpgEntry
81459 (p_business_method_code => l_bflow_method_code
81460 ,p_business_class_code => l_bflow_class_code
81461 ,p_balance_type => l_balance_type_code);
81462 ELSE
81463 NULL;
81464 -- No business flow processing for business flow method of NONE.
81465 END IF;
81466
81467 --
81468 -- call analytical criteria
81469 --
81470
81471 --
81472 -- call description
81473 --
81474 -- No description or it is inherited.
81475 --
81476 -- call ADRs
81477 -- Bug 4922099
81478 --
81479 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81480 (NVL(l_actual_upg_option, 'N') = 'O') OR
81481 (NVL(l_enc_upg_option, 'N') = 'O')
81482 )
81483 THEN
81484 NULL;
81485 --
81486 --
81487
81488 l_ccid := AcctDerRule_31(
81489 p_application_id => p_application_id
81490 , p_ae_header_id => l_ae_header_id
81491 , p_source_16 => p_source_16
81492 , p_source_17 => p_source_17
81493 , p_source_18 => p_source_18
81494 , x_transaction_coa_id => l_adr_transaction_coa_id
81495 , x_accounting_coa_id => l_adr_accounting_coa_id
81496 , x_value_type_code => l_adr_value_type_code
81497 , p_side => 'NA'
81498 );
81499
81503 , p_transaction_coa_id => l_adr_transaction_coa_id
81500 xla_ae_lines_pkg.set_ccid(
81501 p_code_combination_id => l_ccid
81502 , p_value_type_code => l_adr_value_type_code
81504 , p_accounting_coa_id => l_adr_accounting_coa_id
81505 , p_adr_code => 'AP_INTEREST'
81506 , p_adr_type_code => 'S'
81507 , p_component_type => l_component_type
81508 , p_component_code => l_component_code
81509 , p_component_type_code => l_component_type_code
81510 , p_component_appl_id => l_component_appl_id
81511 , p_amb_context_code => l_amb_context_code
81512 , p_side => 'NA'
81513 );
81514
81515
81516 l_segment := AcctDerRule_11(
81517 p_application_id => p_application_id
81518 , p_ae_header_id => l_ae_header_id
81519 , p_source_16 => p_source_16
81520 , p_source_17 => p_source_17
81521 , x_transaction_coa_id => l_adr_transaction_coa_id
81522 , x_accounting_coa_id => l_adr_accounting_coa_id
81523 , x_flexfield_segment_code => l_adr_flexfield_segment_code
81524 , x_flex_value_set_id => l_adr_flex_value_set_id
81525 , x_value_type_code => l_adr_value_type_code
81526 , x_value_combination_id => l_adr_value_combination_id
81527 , x_value_segment_code => l_adr_value_segment_code
81528 , p_side => 'NA'
81529 , p_override_seg_flag => 'Y'
81530 );
81531
81532 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
81533
81534 xla_ae_lines_pkg.set_segment(
81535 p_to_segment_code => 'GL_ACCOUNT'
81536 , p_segment_value => l_segment
81537 , p_from_segment_code => l_adr_value_segment_code
81538 , p_from_combination_id => l_adr_value_combination_id
81539 , p_value_type_code => l_adr_value_type_code
81540 , p_transaction_coa_id => l_adr_transaction_coa_id
81541 , p_accounting_coa_id => l_adr_accounting_coa_id
81542 , p_flexfield_segment_code => l_adr_flexfield_segment_code
81543 , p_flex_value_set_id => l_adr_flex_value_set_id
81544 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
81545 , p_adr_type_code => 'S'
81546 , p_component_type => l_component_type
81547 , p_component_code => l_component_code
81548 , p_component_type_code => l_component_type_code
81549 , p_component_appl_id => l_component_appl_id
81550 , p_amb_context_code => l_amb_context_code
81551 , p_entity_code => 'AP_PAYMENTS'
81552 , p_event_class_code => 'RECONCILED PAYMENTS'
81553 , p_side => 'NA'
81554 );
81555
81556 END IF;
81557
81558 --
81559 --
81560 END IF;
81561 --
81562 -- Bug 4922099
81563 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
81564 (NVL(l_enc_upg_option, 'N') = 'O')
81565 ) AND
81566 (l_bflow_method_code = 'PRIOR_ENTRY')
81567 )
81568 THEN
81569 IF
81570 --
81571 1 = 2
81572 --
81573 THEN
81574 xla_accounting_err_pkg.build_message
81575 (p_appli_s_name => 'XLA'
81576 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81577 ,p_token_1 => 'LINE_NUMBER'
81578 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
81579 ,p_token_2 => 'LINE_TYPE_NAME'
81580 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
81581 l_component_type
81582 ,l_component_code
81583 ,l_component_type_code
81584 ,l_component_appl_id
81585 ,l_amb_context_code
81586 ,l_entity_code
81587 ,l_event_class_code
81588 )
81589 ,p_token_3 => 'OWNER'
81590 ,p_value_3 => xla_lookups_pkg.get_meaning(
81591 p_lookup_type => 'XLA_OWNER_TYPE'
81592 ,p_lookup_code => l_component_type_code
81593 )
81594 ,p_token_4 => 'PRODUCT_NAME'
81595 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
81596 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
81597 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
81601
81598 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
81599 ,p_ae_header_id => NULL
81600 );
81602 IF (C_LEVEL_ERROR>= g_log_level) THEN
81603 trace
81604 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
81605 ,p_level => C_LEVEL_ERROR
81606 ,p_module => l_log_module);
81607 END IF;
81608 END IF;
81609 END IF;
81610 --
81611 --
81612 ------------------------------------------------------------------------------------------------
81613 -- 4219869 Business Flow
81614 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
81615 -- Prior Entry. Currently, the following code is always generated.
81616 ------------------------------------------------------------------------------------------------
81617 XLA_AE_LINES_PKG.ValidateCurrentLine;
81618
81619 ------------------------------------------------------------------------------------
81620 -- 4219869 Business Flow
81621 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
81622 ------------------------------------------------------------------------------------
81623 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81624
81625 ----------------------------------------------------------------------------------
81626 -- 4219869 Business Flow
81627 -- Update journal entry status -- Need to generate this within IF <condition>
81628 ----------------------------------------------------------------------------------
81629 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81630 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
81631 ,p_balance_type_code => l_balance_type_code
81632 );
81633
81634 -------------------------------------------------------------------------------------------
81635 -- 4262811 - Generate the Accrual Reversal lines
81636 -------------------------------------------------------------------------------------------
81637 BEGIN
81638 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
81639 (g_array_event(p_event_id).array_value_num('header_index'));
81640 IF l_acc_rev_flag IS NULL THEN
81641 l_acc_rev_flag := 'N';
81642 END IF;
81643 EXCEPTION
81644 WHEN OTHERS THEN
81645 l_acc_rev_flag := 'N';
81646 END;
81647 --
81648 IF (l_acc_rev_flag = 'Y') THEN
81649
81650 -- 4645092 ------------------------------------------------------------------------------
81651 -- To allow MPA report to determine if it should generate report process
81652 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
81653 ------------------------------------------------------------------------------------------
81654
81655 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
81656 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
81657 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
81658 -- call ADRs
81659 -- Bug 4922099
81660 --
81661 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
81662 (NVL(l_actual_upg_option, 'N') = 'O') OR
81663 (NVL(l_enc_upg_option, 'N') = 'O')
81664 )
81665 THEN
81666 NULL;
81667 --
81668 --
81669
81670 l_ccid := AcctDerRule_31(
81671 p_application_id => p_application_id
81672 , p_ae_header_id => l_ae_header_id
81673 , p_source_16 => p_source_16
81674 , p_source_17 => p_source_17
81675 , p_source_18 => p_source_18
81676 , x_transaction_coa_id => l_adr_transaction_coa_id
81677 , x_accounting_coa_id => l_adr_accounting_coa_id
81678 , x_value_type_code => l_adr_value_type_code
81679 , p_side => 'NA'
81680 );
81681
81682 xla_ae_lines_pkg.set_ccid(
81683 p_code_combination_id => l_ccid
81684 , p_value_type_code => l_adr_value_type_code
81685 , p_transaction_coa_id => l_adr_transaction_coa_id
81686 , p_accounting_coa_id => l_adr_accounting_coa_id
81687 , p_adr_code => 'AP_INTEREST'
81688 , p_adr_type_code => 'S'
81689 , p_component_type => l_component_type
81690 , p_component_code => l_component_code
81691 , p_component_type_code => l_component_type_code
81692 , p_component_appl_id => l_component_appl_id
81693 , p_amb_context_code => l_amb_context_code
81694 , p_side => 'NA'
81695 );
81696
81697
81698 l_segment := AcctDerRule_11(
81699 p_application_id => p_application_id
81700 , p_ae_header_id => l_ae_header_id
81701 , p_source_16 => p_source_16
81702 , p_source_17 => p_source_17
81703 , x_transaction_coa_id => l_adr_transaction_coa_id
81704 , x_accounting_coa_id => l_adr_accounting_coa_id
81705 , x_flexfield_segment_code => l_adr_flexfield_segment_code
81706 , x_flex_value_set_id => l_adr_flex_value_set_id
81707 , x_value_type_code => l_adr_value_type_code
81708 , x_value_combination_id => l_adr_value_combination_id
81709 , x_value_segment_code => l_adr_value_segment_code
81710 , p_side => 'NA'
81711 , p_override_seg_flag => 'Y'
81715
81712 );
81713
81714 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
81716 xla_ae_lines_pkg.set_segment(
81717 p_to_segment_code => 'GL_ACCOUNT'
81718 , p_segment_value => l_segment
81719 , p_from_segment_code => l_adr_value_segment_code
81720 , p_from_combination_id => l_adr_value_combination_id
81721 , p_value_type_code => l_adr_value_type_code
81722 , p_transaction_coa_id => l_adr_transaction_coa_id
81723 , p_accounting_coa_id => l_adr_accounting_coa_id
81724 , p_flexfield_segment_code => l_adr_flexfield_segment_code
81725 , p_flex_value_set_id => l_adr_flex_value_set_id
81726 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
81727 , p_adr_type_code => 'S'
81728 , p_component_type => l_component_type
81729 , p_component_code => l_component_code
81730 , p_component_type_code => l_component_type_code
81731 , p_component_appl_id => l_component_appl_id
81732 , p_amb_context_code => l_amb_context_code
81733 , p_entity_code => 'AP_PAYMENTS'
81734 , p_event_class_code => 'RECONCILED PAYMENTS'
81735 , p_side => 'NA'
81736 );
81737
81738 END IF;
81739
81740 --
81741 --
81742 END IF;
81743
81744 --
81745 -- Update the line information that should be overwritten
81746 --
81747 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
81748 p_header_num => 1);
81749 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
81750
81751 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
81752
81753 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
81754 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
81755 END IF;
81756
81757 --
81758 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
81759 --
81760 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
81761 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
81762 ELSE
81763 ---------------------------------------------------------------------------------------------------
81764 -- 4262811a Switch Sign
81765 ---------------------------------------------------------------------------------------------------
81766 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
81767 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81768 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81769 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
81770 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81771 -- 5132302
81772 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
81773 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
81774
81775 END IF;
81776
81777 -- 4955764
81778 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
81779 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
81780
81781
81782 XLA_AE_LINES_PKG.ValidateCurrentLine;
81783 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
81784
81785 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
81786 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
81787 ,p_balance_type_code => l_balance_type_code);
81788
81789 END IF;
81790
81791 -----------------------------------------------------------------------------------------
81792 -- 4262811 Multiperiod Accounting
81793 -----------------------------------------------------------------------------------------
81794 -- No MPA option is assigned.
81795
81796
81797 END IF;
81798 END IF;
81799 --
81800
81801 --
81802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81803 trace
81804 (p_msg => 'END of AcctLineType_148'
81805 ,p_level => C_LEVEL_PROCEDURE
81806 ,p_module => l_log_module);
81807 END IF;
81808 --
81809 EXCEPTION
81810 WHEN xla_exceptions_pkg.application_exception THEN
81811 RAISE;
81812 WHEN OTHERS THEN
81813 xla_exceptions_pkg.raise_message
81814 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_148');
81815 END AcctLineType_148;
81816 --
81817
81818 ---------------------------------------
81819 --
81820 -- PRIVATE FUNCTION
81821 -- AcctLineType_149
81822 --
81823 ---------------------------------------
81824 PROCEDURE AcctLineType_149 (
81825 p_application_id IN NUMBER
81826 ,p_event_id IN NUMBER
81827 ,p_calculate_acctd_flag IN VARCHAR2
81828 ,p_calculate_g_l_flag IN VARCHAR2
81829 ,p_actual_flag IN OUT VARCHAR2
81833 --Interest Account
81830 ,p_balance_type_code OUT VARCHAR2
81831 ,p_gain_or_loss_ref OUT VARCHAR2
81832
81834 , p_source_16 IN NUMBER
81835 --Prorate Interest Invoice Across Distributions Option
81836 , p_source_17 IN VARCHAR2
81837 --Invoice Distribution Account
81838 , p_source_18 IN NUMBER
81839 --Invoice Distribution Type
81840 , p_source_21 IN VARCHAR2
81841 , p_source_21_meaning IN VARCHAR2
81842 --Accounting Reversal Indicator
81843 , p_source_41 IN VARCHAR2
81844 --Distribution Link Type
81845 , p_source_43 IN VARCHAR2
81846 --Override Accounted Amount Indicator
81847 , p_source_68 IN VARCHAR2
81848 , p_source_68_meaning IN VARCHAR2
81849 --Third Party Type
81850 , p_source_71 IN VARCHAR2
81851 --Invoice Distribution Tax Line Identifier
81852 , p_source_74 IN NUMBER
81853 --Invoice Distribution Tax Distribution Identifier from Tax
81854 , p_source_75 IN NUMBER
81855 --Invoice Distribution Summary Tax Line Identifier
81856 , p_source_76 IN NUMBER
81857 --Business Flow Accounts Payable Application Identifier
81858 , p_source_79 IN NUMBER
81859 --Business Flow Invoice Distribution Type
81860 , p_source_80 IN VARCHAR2
81861 --Business Flow Invoice Entity Code
81862 , p_source_81 IN VARCHAR2
81863 --Business Flow Invoice Distribution Identifier
81864 , p_source_82 IN NUMBER
81865 --Business Flow Invoice Identifier
81866 , p_source_83 IN NUMBER
81867 --When to Account for Payment Option
81868 , p_source_89 IN VARCHAR2
81869 --Payment Distribution Type
81870 , p_source_90 IN VARCHAR2
81871 , p_source_90_meaning IN VARCHAR2
81872 --Payment Distribution Amount
81873 , p_source_91 IN NUMBER
81874 --Payment Distribution Identifier
81875 , p_source_96 IN NUMBER
81876 --Payment Supplier Identifier
81877 , p_source_102 IN NUMBER
81878 --Payment Supplier Site Identifier
81879 , p_source_103 IN NUMBER
81880 --Payment Distribution Reversed Identifier
81881 , p_source_104 IN NUMBER
81882 --Payment Currency Code
81883 , p_source_106 IN VARCHAR2
81884 --Payment Distribution (Payment Rate) Ledger Amount
81885 , p_source_108 IN NUMBER
81886 --Payment Exchange Date
81887 , p_source_110 IN DATE
81888 --Payment Exchange Rate
81889 , p_source_111 IN NUMBER
81890 --Payment Exchange Rate Type
81891 , p_source_112 IN VARCHAR2
81892 --Payment Processing Type
81893 , p_source_116 IN VARCHAR2
81894 --Invoice Distribution Amount of the Payment Distribution
81895 , p_source_117 IN NUMBER
81896 --Invoice Type Paid
81897 , p_source_158 IN VARCHAR2
81898 , p_source_158_meaning IN VARCHAR2
81899 )
81900 IS
81901
81902 l_component_type VARCHAR2(80);
81903 l_component_code VARCHAR2(30);
81904 l_component_type_code VARCHAR2(1);
81905 l_component_appl_id INTEGER;
81906 l_amb_context_code VARCHAR2(30);
81907 l_entity_code VARCHAR2(30);
81908 l_event_class_code VARCHAR2(30);
81909 l_ae_header_id NUMBER;
81910 l_event_type_code VARCHAR2(30);
81911 l_line_definition_code VARCHAR2(30);
81912 l_line_definition_owner_code VARCHAR2(1);
81913 --
81914 -- adr variables
81915 l_segment VARCHAR2(30);
81916 l_ccid NUMBER;
81917 l_adr_transaction_coa_id NUMBER;
81918 l_adr_accounting_coa_id NUMBER;
81919 l_adr_flexfield_segment_code VARCHAR2(30);
81920 l_adr_flex_value_set_id NUMBER;
81921 l_adr_value_type_code VARCHAR2(30);
81922 l_adr_value_combination_id NUMBER;
81923 l_adr_value_segment_code VARCHAR2(30);
81924
81925 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
81926 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
81927 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
81928 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
81929
81930 -- 4262811 Variables ------------------------------------------------------------------------------------------
81931 l_entered_amt_idx NUMBER;
81932 l_accted_amt_idx NUMBER;
81933 l_acc_rev_flag VARCHAR2(1);
81934 l_accrual_line_num NUMBER;
81935 l_tmp_amt NUMBER;
81936 l_acc_rev_natural_side_code VARCHAR2(1);
81937
81938 l_num_entries NUMBER;
81939 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
81940 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
81941 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
81942 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
81943 l_recog_line_1 NUMBER;
81944 l_recog_line_2 NUMBER;
81945
81946 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
81947 l_bflow_applied_to_amt NUMBER; -- 5132302
81948 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
81949
81950 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
81951
81955 ---------------------------------------------------------------------------------------------------------------
81952 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
81953 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
81954
81956
81957
81958 --
81959 -- bulk performance
81960 --
81961 l_balance_type_code VARCHAR2(1);
81962 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
81963 l_log_module VARCHAR2(240);
81964
81965 --
81966 -- Upgrade strategy
81967 --
81968 l_actual_upg_option VARCHAR2(1);
81969 l_enc_upg_option VARCHAR2(1);
81970
81971 --
81972 BEGIN
81973 --
81974 IF g_log_enabled THEN
81975 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_149';
81976 END IF;
81977 --
81978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
81979
81980 trace
81981 (p_msg => 'BEGIN of AcctLineType_149'
81982 ,p_level => C_LEVEL_PROCEDURE
81983 ,p_module => l_log_module);
81984
81985 END IF;
81986 --
81987 l_component_type := 'AMB_JLT';
81988 l_component_code := 'AP_INTEREST_EXPENSE_PMT';
81989 l_component_type_code := 'S';
81990 l_component_appl_id := 200;
81991 l_amb_context_code := 'DEFAULT';
81992 l_entity_code := 'AP_PAYMENTS';
81993 l_event_class_code := 'PAYMENTS';
81994 l_event_type_code := 'PAYMENTS_ALL';
81995 l_line_definition_owner_code := 'S';
81996 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
81997 --
81998 l_balance_type_code := 'A';
81999 l_segment := NULL;
82000 l_ccid := NULL;
82001 l_adr_transaction_coa_id := NULL;
82002 l_adr_accounting_coa_id := NULL;
82003 l_adr_flexfield_segment_code := NULL;
82004 l_adr_flex_value_set_id := NULL;
82005 l_adr_value_type_code := NULL;
82006 l_adr_value_combination_id := NULL;
82007 l_adr_value_segment_code := NULL;
82008
82009 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
82010 l_bflow_class_code := ''; -- 4219869 Business Flow
82011 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82012 l_budgetary_control_flag := 'N';
82013
82014 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82015 l_bflow_applied_to_amt := NULL; -- 5132302
82016 l_entered_amt_idx := NULL; -- 4262811
82017 l_accted_amt_idx := NULL; -- 4262811
82018 l_acc_rev_flag := NULL; -- 4262811
82019 l_accrual_line_num := NULL; -- 4262811
82020 l_tmp_amt := NULL; -- 4262811
82021 --
82022
82023 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82024 l_balance_type_code <> 'B' THEN
82025 IF NVL(p_source_89,'
82026 ') <> 'CLEAR_CLEAR' AND
82027 NVL(p_source_158,'
82028 ') = 'INTEREST' AND
82029 NVL(p_source_21,'
82030 ') = 'ITEM' AND
82031 (NVL(p_source_90,'
82032 ') = 'CASH' OR
82033 NVL(p_source_90,'
82034 ') = 'DISCOUNT') AND
82035 NVL(p_source_116,'
82036 ') <> 'PAYMENTCARD'
82037 THEN
82038
82039 --
82040 XLA_AE_LINES_PKG.SetNewLine;
82041
82042 p_balance_type_code := l_balance_type_code;
82043 -- set the flag so later we will know whether the gain loss line needs to be created
82044
82045 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82046 p_actual_flag :='A';
82047 END IF;
82048
82049 --
82050 -- bulk performance
82051 --
82052 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82053 p_header_num => 0); -- 4262811
82054 --
82055 -- set accounting line options
82056 --
82057 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82058 p_natural_side_code => 'D'
82059 , p_gain_or_loss_flag => 'N'
82060 , p_gl_transfer_mode_code => 'S'
82061 , p_acct_entry_type_code => 'A'
82062 , p_switch_side_flag => 'Y'
82063 , p_merge_duplicate_code => 'A'
82064 );
82065 --
82066 l_acc_rev_natural_side_code := 'C'; -- 4262811
82067 --
82068 --
82069 -- set accounting line type info
82070 --
82071 xla_ae_lines_pkg.SetAcctLineType
82072 (p_component_type => l_component_type
82073 ,p_event_type_code => l_event_type_code
82074 ,p_line_definition_owner_code => l_line_definition_owner_code
82075 ,p_line_definition_code => l_line_definition_code
82076 ,p_accounting_line_code => l_component_code
82077 ,p_accounting_line_type_code => l_component_type_code
82078 ,p_accounting_line_appl_id => l_component_appl_id
82079 ,p_amb_context_code => l_amb_context_code
82080 ,p_entity_code => l_entity_code
82081 ,p_event_class_code => l_event_class_code);
82082 --
82083 -- set accounting class
82084 --
82085 xla_ae_lines_pkg.SetAcctClass(
82086 p_accounting_class_code => 'INTEREST_EXPENSE'
82087 , p_ae_header_id => l_ae_header_id
82088 );
82089
82093 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82090 --
82091 -- set rounding class
82092 --
82094 'INTEREST_EXPENSE';
82095
82096 --
82097 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82098 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82099 --
82100 -- bulk performance
82101 --
82102 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82103
82104 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82105 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82106
82107 -- 4955764
82108 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82109 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82110
82111 -- 4458381 Public Sector Enh
82112
82113 --
82114 -- set accounting attributes for the line type
82115 --
82116 l_entered_amt_idx := 10;
82117 l_accted_amt_idx := 15;
82118 l_bflow_applied_to_amt_idx := 2; -- 5132302
82119 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82120 l_rec_acct_attrs.array_char_value(1) := p_source_41;
82121 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
82122 l_rec_acct_attrs.array_num_value(2) := p_source_117;
82123 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
82124 l_rec_acct_attrs.array_num_value(3) := p_source_79;
82125 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82126 l_rec_acct_attrs.array_char_value(4) := p_source_80;
82127 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
82128 l_rec_acct_attrs.array_char_value(5) := p_source_81;
82129 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
82130 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
82131 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82132 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
82133 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
82134 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
82135 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
82136 l_rec_acct_attrs.array_char_value(9) := p_source_43;
82137 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
82138 l_rec_acct_attrs.array_num_value(10) := p_source_91;
82139 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
82140 l_rec_acct_attrs.array_char_value(11) := p_source_106;
82141 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
82142 l_rec_acct_attrs.array_date_value(12) := p_source_110;
82143 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
82144 l_rec_acct_attrs.array_num_value(13) := p_source_111;
82145 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
82146 l_rec_acct_attrs.array_char_value(14) := p_source_112;
82147 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
82148 l_rec_acct_attrs.array_num_value(15) := p_source_108;
82149 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
82150 l_rec_acct_attrs.array_char_value(16) := p_source_68;
82151 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
82152 l_rec_acct_attrs.array_num_value(17) := p_source_102;
82153 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
82154 l_rec_acct_attrs.array_num_value(18) := p_source_103;
82155 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
82156 l_rec_acct_attrs.array_char_value(19) := p_source_71;
82157 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
82158 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
82159 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
82160 l_rec_acct_attrs.array_char_value(21) := p_source_43;
82161 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
82162 l_rec_acct_attrs.array_num_value(22) := p_source_74;
82163 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
82164 l_rec_acct_attrs.array_num_value(23) := p_source_75;
82165 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
82166 l_rec_acct_attrs.array_num_value(24) := p_source_76;
82167
82168 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82169 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82170
82171 ---------------------------------------------------------------------------------------------------------------
82172 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82173 ---------------------------------------------------------------------------------------------------------------
82174 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82175
82176 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82177 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82178
82179 IF xla_accounting_cache_pkg.GetValueChar
82180 (p_source_code => 'LEDGER_CATEGORY_CODE'
82181 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82182 AND l_bflow_method_code = 'PRIOR_ENTRY'
82186 )
82183 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82184 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82185 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82187 THEN
82188 xla_ae_lines_pkg.BflowUpgEntry
82189 (p_business_method_code => l_bflow_method_code
82190 ,p_business_class_code => l_bflow_class_code
82191 ,p_balance_type => l_balance_type_code);
82192 ELSE
82193 NULL;
82194 -- No business flow processing for business flow method of NONE.
82195 END IF;
82196
82197 --
82198 -- call analytical criteria
82199 --
82200
82201 --
82202 -- call description
82203 --
82204 -- No description or it is inherited.
82205 --
82206 -- call ADRs
82207 -- Bug 4922099
82208 --
82209 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82210 (NVL(l_actual_upg_option, 'N') = 'O') OR
82211 (NVL(l_enc_upg_option, 'N') = 'O')
82212 )
82213 THEN
82214 NULL;
82215 --
82216 --
82217
82218 l_ccid := AcctDerRule_31(
82219 p_application_id => p_application_id
82220 , p_ae_header_id => l_ae_header_id
82221 , p_source_16 => p_source_16
82222 , p_source_17 => p_source_17
82223 , p_source_18 => p_source_18
82224 , x_transaction_coa_id => l_adr_transaction_coa_id
82225 , x_accounting_coa_id => l_adr_accounting_coa_id
82226 , x_value_type_code => l_adr_value_type_code
82227 , p_side => 'NA'
82228 );
82229
82230 xla_ae_lines_pkg.set_ccid(
82231 p_code_combination_id => l_ccid
82232 , p_value_type_code => l_adr_value_type_code
82233 , p_transaction_coa_id => l_adr_transaction_coa_id
82234 , p_accounting_coa_id => l_adr_accounting_coa_id
82235 , p_adr_code => 'AP_INTEREST'
82236 , p_adr_type_code => 'S'
82237 , p_component_type => l_component_type
82238 , p_component_code => l_component_code
82239 , p_component_type_code => l_component_type_code
82240 , p_component_appl_id => l_component_appl_id
82241 , p_amb_context_code => l_amb_context_code
82242 , p_side => 'NA'
82243 );
82244
82245
82246 l_segment := AcctDerRule_11(
82247 p_application_id => p_application_id
82248 , p_ae_header_id => l_ae_header_id
82249 , p_source_16 => p_source_16
82250 , p_source_17 => p_source_17
82251 , x_transaction_coa_id => l_adr_transaction_coa_id
82252 , x_accounting_coa_id => l_adr_accounting_coa_id
82253 , x_flexfield_segment_code => l_adr_flexfield_segment_code
82254 , x_flex_value_set_id => l_adr_flex_value_set_id
82255 , x_value_type_code => l_adr_value_type_code
82256 , x_value_combination_id => l_adr_value_combination_id
82257 , x_value_segment_code => l_adr_value_segment_code
82258 , p_side => 'NA'
82259 , p_override_seg_flag => 'Y'
82260 );
82261
82262 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
82263
82264 xla_ae_lines_pkg.set_segment(
82265 p_to_segment_code => 'GL_ACCOUNT'
82266 , p_segment_value => l_segment
82267 , p_from_segment_code => l_adr_value_segment_code
82268 , p_from_combination_id => l_adr_value_combination_id
82269 , p_value_type_code => l_adr_value_type_code
82270 , p_transaction_coa_id => l_adr_transaction_coa_id
82271 , p_accounting_coa_id => l_adr_accounting_coa_id
82272 , p_flexfield_segment_code => l_adr_flexfield_segment_code
82273 , p_flex_value_set_id => l_adr_flex_value_set_id
82274 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
82275 , p_adr_type_code => 'S'
82276 , p_component_type => l_component_type
82277 , p_component_code => l_component_code
82278 , p_component_type_code => l_component_type_code
82279 , p_component_appl_id => l_component_appl_id
82280 , p_amb_context_code => l_amb_context_code
82281 , p_entity_code => 'AP_PAYMENTS'
82282 , p_event_class_code => 'PAYMENTS'
82283 , p_side => 'NA'
82284 );
82285
82286 END IF;
82287
82288 --
82289 --
82290 END IF;
82291 --
82292 -- Bug 4922099
82293 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
82294 (NVL(l_enc_upg_option, 'N') = 'O')
82295 ) AND
82296 (l_bflow_method_code = 'PRIOR_ENTRY')
82297 )
82298 THEN
82299 IF
82300 --
82301 1 = 2
82302 --
82303 THEN
82304 xla_accounting_err_pkg.build_message
82305 (p_appli_s_name => 'XLA'
82306 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82307 ,p_token_1 => 'LINE_NUMBER'
82308 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
82309 ,p_token_2 => 'LINE_TYPE_NAME'
82313 ,l_component_type_code
82310 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
82311 l_component_type
82312 ,l_component_code
82314 ,l_component_appl_id
82315 ,l_amb_context_code
82316 ,l_entity_code
82317 ,l_event_class_code
82318 )
82319 ,p_token_3 => 'OWNER'
82320 ,p_value_3 => xla_lookups_pkg.get_meaning(
82321 p_lookup_type => 'XLA_OWNER_TYPE'
82322 ,p_lookup_code => l_component_type_code
82323 )
82324 ,p_token_4 => 'PRODUCT_NAME'
82325 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
82326 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
82327 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
82328 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
82329 ,p_ae_header_id => NULL
82330 );
82331
82332 IF (C_LEVEL_ERROR>= g_log_level) THEN
82333 trace
82334 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
82335 ,p_level => C_LEVEL_ERROR
82336 ,p_module => l_log_module);
82337 END IF;
82338 END IF;
82339 END IF;
82340 --
82341 --
82342 ------------------------------------------------------------------------------------------------
82343 -- 4219869 Business Flow
82344 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
82345 -- Prior Entry. Currently, the following code is always generated.
82346 ------------------------------------------------------------------------------------------------
82347 XLA_AE_LINES_PKG.ValidateCurrentLine;
82348
82349 ------------------------------------------------------------------------------------
82350 -- 4219869 Business Flow
82351 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
82352 ------------------------------------------------------------------------------------
82353 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82354
82355 ----------------------------------------------------------------------------------
82356 -- 4219869 Business Flow
82357 -- Update journal entry status -- Need to generate this within IF <condition>
82358 ----------------------------------------------------------------------------------
82359 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82360 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
82361 ,p_balance_type_code => l_balance_type_code
82362 );
82363
82364 -------------------------------------------------------------------------------------------
82365 -- 4262811 - Generate the Accrual Reversal lines
82366 -------------------------------------------------------------------------------------------
82367 BEGIN
82368 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
82369 (g_array_event(p_event_id).array_value_num('header_index'));
82370 IF l_acc_rev_flag IS NULL THEN
82371 l_acc_rev_flag := 'N';
82372 END IF;
82373 EXCEPTION
82374 WHEN OTHERS THEN
82375 l_acc_rev_flag := 'N';
82376 END;
82377 --
82378 IF (l_acc_rev_flag = 'Y') THEN
82379
82380 -- 4645092 ------------------------------------------------------------------------------
82381 -- To allow MPA report to determine if it should generate report process
82382 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
82383 ------------------------------------------------------------------------------------------
82384
82385 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
82386 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
82387 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
82388 -- call ADRs
82389 -- Bug 4922099
82390 --
82391 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
82392 (NVL(l_actual_upg_option, 'N') = 'O') OR
82393 (NVL(l_enc_upg_option, 'N') = 'O')
82394 )
82395 THEN
82396 NULL;
82397 --
82398 --
82399
82400 l_ccid := AcctDerRule_31(
82401 p_application_id => p_application_id
82402 , p_ae_header_id => l_ae_header_id
82403 , p_source_16 => p_source_16
82404 , p_source_17 => p_source_17
82405 , p_source_18 => p_source_18
82406 , x_transaction_coa_id => l_adr_transaction_coa_id
82407 , x_accounting_coa_id => l_adr_accounting_coa_id
82411
82408 , x_value_type_code => l_adr_value_type_code
82409 , p_side => 'NA'
82410 );
82412 xla_ae_lines_pkg.set_ccid(
82413 p_code_combination_id => l_ccid
82414 , p_value_type_code => l_adr_value_type_code
82415 , p_transaction_coa_id => l_adr_transaction_coa_id
82416 , p_accounting_coa_id => l_adr_accounting_coa_id
82417 , p_adr_code => 'AP_INTEREST'
82418 , p_adr_type_code => 'S'
82419 , p_component_type => l_component_type
82420 , p_component_code => l_component_code
82421 , p_component_type_code => l_component_type_code
82422 , p_component_appl_id => l_component_appl_id
82423 , p_amb_context_code => l_amb_context_code
82424 , p_side => 'NA'
82425 );
82426
82427
82428 l_segment := AcctDerRule_11(
82429 p_application_id => p_application_id
82430 , p_ae_header_id => l_ae_header_id
82431 , p_source_16 => p_source_16
82432 , p_source_17 => p_source_17
82433 , x_transaction_coa_id => l_adr_transaction_coa_id
82434 , x_accounting_coa_id => l_adr_accounting_coa_id
82435 , x_flexfield_segment_code => l_adr_flexfield_segment_code
82436 , x_flex_value_set_id => l_adr_flex_value_set_id
82437 , x_value_type_code => l_adr_value_type_code
82438 , x_value_combination_id => l_adr_value_combination_id
82439 , x_value_segment_code => l_adr_value_segment_code
82440 , p_side => 'NA'
82441 , p_override_seg_flag => 'Y'
82442 );
82443
82444 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
82445
82446 xla_ae_lines_pkg.set_segment(
82447 p_to_segment_code => 'GL_ACCOUNT'
82448 , p_segment_value => l_segment
82449 , p_from_segment_code => l_adr_value_segment_code
82450 , p_from_combination_id => l_adr_value_combination_id
82451 , p_value_type_code => l_adr_value_type_code
82452 , p_transaction_coa_id => l_adr_transaction_coa_id
82453 , p_accounting_coa_id => l_adr_accounting_coa_id
82454 , p_flexfield_segment_code => l_adr_flexfield_segment_code
82455 , p_flex_value_set_id => l_adr_flex_value_set_id
82456 , p_adr_code => 'AP_INTEREST_NAT_ACCT_SEG'
82457 , p_adr_type_code => 'S'
82458 , p_component_type => l_component_type
82459 , p_component_code => l_component_code
82460 , p_component_type_code => l_component_type_code
82461 , p_component_appl_id => l_component_appl_id
82462 , p_amb_context_code => l_amb_context_code
82463 , p_entity_code => 'AP_PAYMENTS'
82464 , p_event_class_code => 'PAYMENTS'
82465 , p_side => 'NA'
82466 );
82467
82468 END IF;
82469
82470 --
82471 --
82472 END IF;
82473
82474 --
82475 -- Update the line information that should be overwritten
82476 --
82477 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
82478 p_header_num => 1);
82479 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
82480
82481 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
82482
82483 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
82484 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
82485 END IF;
82486
82487 --
82488 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
82489 --
82490 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
82491 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
82492 ELSE
82493 ---------------------------------------------------------------------------------------------------
82494 -- 4262811a Switch Sign
82495 ---------------------------------------------------------------------------------------------------
82496 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
82497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82498 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82499 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
82500 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82501 -- 5132302
82502 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
82503 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
82504
82505 END IF;
82506
82507 -- 4955764
82508 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82509 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
82513 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
82510
82511
82512 XLA_AE_LINES_PKG.ValidateCurrentLine;
82514
82515 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
82516 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
82517 ,p_balance_type_code => l_balance_type_code);
82518
82519 END IF;
82520
82521 -----------------------------------------------------------------------------------------
82522 -- 4262811 Multiperiod Accounting
82523 -----------------------------------------------------------------------------------------
82524 -- No MPA option is assigned.
82525
82526
82527 END IF;
82528 END IF;
82529 --
82530
82531 --
82532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82533 trace
82534 (p_msg => 'END of AcctLineType_149'
82535 ,p_level => C_LEVEL_PROCEDURE
82536 ,p_module => l_log_module);
82537 END IF;
82538 --
82539 EXCEPTION
82540 WHEN xla_exceptions_pkg.application_exception THEN
82541 RAISE;
82542 WHEN OTHERS THEN
82543 xla_exceptions_pkg.raise_message
82544 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_149');
82545 END AcctLineType_149;
82546 --
82547
82548 ---------------------------------------
82549 --
82550 -- PRIVATE FUNCTION
82551 -- AcctLineType_150
82552 --
82553 ---------------------------------------
82554 PROCEDURE AcctLineType_150 (
82555 p_application_id IN NUMBER
82556 ,p_event_id IN NUMBER
82557 ,p_calculate_acctd_flag IN VARCHAR2
82558 ,p_calculate_g_l_flag IN VARCHAR2
82559 ,p_actual_flag IN OUT VARCHAR2
82560 ,p_balance_type_code OUT VARCHAR2
82561 ,p_gain_or_loss_ref OUT VARCHAR2
82562
82563 --Invoice Distribution Description
82564 , p_source_1 IN VARCHAR2
82565 --Invoice Distribution Ledger Amount
82566 , p_source_9 IN NUMBER
82567 --Invoice Distribution Account
82568 , p_source_18 IN NUMBER
82569 --Invoice Distribution Type
82570 , p_source_21 IN VARCHAR2
82571 , p_source_21_meaning IN VARCHAR2
82572 --Accounting Reversal Indicator
82573 , p_source_41 IN VARCHAR2
82574 --Distribution Link Type
82575 , p_source_43 IN VARCHAR2
82576 --Allocation to Main Distribution Identifier
82577 , p_source_45 IN NUMBER
82578 --Invoice Identifier
82579 , p_source_46 IN NUMBER
82580 --Invoice Distribution Identifier
82581 , p_source_52 IN NUMBER
82582 --Payables Encumbrance Upgrade Credit Account
82583 , p_source_53 IN NUMBER
82584 --Payables Encumbrance Upgrade Credit Amount
82585 , p_source_54 IN NUMBER
82586 --Invoice Currency Code
82587 , p_source_55 IN VARCHAR2
82588 --Payables Encumbrance Upgrade Credit Base Amount
82589 , p_source_56 IN NUMBER
82590 --Payables Encumbrance Upgrade Debit Account
82591 , p_source_57 IN NUMBER
82592 --Payables Encumbrance Upgrade Debit Amount
82593 , p_source_58 IN NUMBER
82594 --Payables Encumbrance Upgrade Debit Base Amount
82595 , p_source_59 IN NUMBER
82596 --Payables Encumbrance Upgrade Option
82597 , p_source_60 IN VARCHAR2
82598 --Invoice Distribution Amount
82599 , p_source_61 IN NUMBER
82600 --Deferred Accounting End Date
82601 , p_source_65 IN DATE
82602 --Deferred Accounting Option
82603 , p_source_66 IN VARCHAR2
82604 --Deferred Accounting Start Date
82605 , p_source_67 IN DATE
82606 --Override Accounted Amount Indicator
82607 , p_source_68 IN VARCHAR2
82608 , p_source_68_meaning IN VARCHAR2
82609 --Invoice Supplier Identifier
82610 , p_source_69 IN NUMBER
82611 --Invoice Supplier Site Identifier
82612 , p_source_70 IN NUMBER
82613 --Third Party Type
82614 , p_source_71 IN VARCHAR2
82615 --Parent Reversal Identifier
82616 , p_source_72 IN NUMBER
82617 --Invoice Distribution Statistical Amount
82618 , p_source_73 IN NUMBER
82619 --Invoice Distribution Tax Line Identifier
82620 , p_source_74 IN NUMBER
82621 --Invoice Distribution Tax Distribution Identifier from Tax
82622 , p_source_75 IN NUMBER
82623 --Invoice Distribution Summary Tax Line Identifier
82624 , p_source_76 IN NUMBER
82625 --Payables Upgrade Credit Encumbrance Type Identifier
82626 , p_source_77 IN NUMBER
82627 --Payables Upgrade Debit Encumbrance Type Identifier
82628 , p_source_78 IN NUMBER
82629 --Business Flow Accounts Payable Application Identifier
82630 , p_source_79 IN NUMBER
82631 --Business Flow Invoice Distribution Type
82632 , p_source_80 IN VARCHAR2
82633 --Business Flow Invoice Entity Code
82634 , p_source_81 IN VARCHAR2
82635 --Business Flow Invoice Distribution Identifier
82636 , p_source_82 IN NUMBER
82637 --Business Flow Invoice Identifier
82638 , p_source_83 IN NUMBER
82639 --Accrue on Receipt Option
82640 , p_source_84 IN VARCHAR2
82641 , p_source_84_meaning IN VARCHAR2
82642 --Invoice Exchange Date
82643 , p_source_136 IN DATE
82644 --Invoice Exchange Rate
82645 , p_source_137 IN NUMBER
82646 --Invoice Exchange Rate Type
82650
82647 , p_source_138 IN VARCHAR2
82648 )
82649 IS
82651 l_component_type VARCHAR2(80);
82652 l_component_code VARCHAR2(30);
82653 l_component_type_code VARCHAR2(1);
82654 l_component_appl_id INTEGER;
82655 l_amb_context_code VARCHAR2(30);
82656 l_entity_code VARCHAR2(30);
82657 l_event_class_code VARCHAR2(30);
82658 l_ae_header_id NUMBER;
82659 l_event_type_code VARCHAR2(30);
82660 l_line_definition_code VARCHAR2(30);
82661 l_line_definition_owner_code VARCHAR2(1);
82662 --
82663 -- adr variables
82664 l_segment VARCHAR2(30);
82665 l_ccid NUMBER;
82666 l_adr_transaction_coa_id NUMBER;
82667 l_adr_accounting_coa_id NUMBER;
82668 l_adr_flexfield_segment_code VARCHAR2(30);
82669 l_adr_flex_value_set_id NUMBER;
82670 l_adr_value_type_code VARCHAR2(30);
82671 l_adr_value_combination_id NUMBER;
82672 l_adr_value_segment_code VARCHAR2(30);
82673
82674 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
82675 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
82676 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
82677 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
82678
82679 -- 4262811 Variables ------------------------------------------------------------------------------------------
82680 l_entered_amt_idx NUMBER;
82681 l_accted_amt_idx NUMBER;
82682 l_acc_rev_flag VARCHAR2(1);
82683 l_accrual_line_num NUMBER;
82684 l_tmp_amt NUMBER;
82685 l_acc_rev_natural_side_code VARCHAR2(1);
82686
82687 l_num_entries NUMBER;
82688 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
82689 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
82690 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
82691 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
82692 l_recog_line_1 NUMBER;
82693 l_recog_line_2 NUMBER;
82694
82695 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
82696 l_bflow_applied_to_amt NUMBER; -- 5132302
82697 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
82698
82699 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
82700
82701 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
82702 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
82703
82704 ---------------------------------------------------------------------------------------------------------------
82705
82706
82707 --
82708 -- bulk performance
82709 --
82710 l_balance_type_code VARCHAR2(1);
82711 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
82712 l_log_module VARCHAR2(240);
82713
82714 --
82715 -- Upgrade strategy
82716 --
82717 l_actual_upg_option VARCHAR2(1);
82718 l_enc_upg_option VARCHAR2(1);
82719
82720 --
82721 BEGIN
82722 --
82723 IF g_log_enabled THEN
82724 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_150';
82725 END IF;
82726 --
82727 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
82728
82729 trace
82730 (p_msg => 'BEGIN of AcctLineType_150'
82731 ,p_level => C_LEVEL_PROCEDURE
82732 ,p_module => l_log_module);
82733
82734 END IF;
82735 --
82736 l_component_type := 'AMB_JLT';
82737 l_component_code := 'AP_INV_PRICE_VAR_CM';
82738 l_component_type_code := 'S';
82739 l_component_appl_id := 200;
82740 l_amb_context_code := 'DEFAULT';
82741 l_entity_code := 'AP_INVOICES';
82742 l_event_class_code := 'CREDIT MEMOS';
82743 l_event_type_code := 'CREDIT MEMOS_ALL';
82744 l_line_definition_owner_code := 'S';
82745 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
82746 --
82747 l_balance_type_code := 'A';
82748 l_segment := NULL;
82749 l_ccid := NULL;
82750 l_adr_transaction_coa_id := NULL;
82751 l_adr_accounting_coa_id := NULL;
82752 l_adr_flexfield_segment_code := NULL;
82753 l_adr_flex_value_set_id := NULL;
82754 l_adr_value_type_code := NULL;
82755 l_adr_value_combination_id := NULL;
82756 l_adr_value_segment_code := NULL;
82757
82758 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
82759 l_bflow_class_code := ''; -- 4219869 Business Flow
82760 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
82761 l_budgetary_control_flag := 'N';
82762
82763 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82764 l_bflow_applied_to_amt := NULL; -- 5132302
82765 l_entered_amt_idx := NULL; -- 4262811
82766 l_accted_amt_idx := NULL; -- 4262811
82767 l_acc_rev_flag := NULL; -- 4262811
82768 l_accrual_line_num := NULL; -- 4262811
82769 l_tmp_amt := NULL; -- 4262811
82770 --
82771
82772 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
82776 NVL(p_source_84,'
82773 l_balance_type_code <> 'B' THEN
82774 IF NVL(p_source_21,'
82775 ') = 'IPV' AND
82777 ') = 'Y'
82778 THEN
82779
82780 --
82781 XLA_AE_LINES_PKG.SetNewLine;
82782
82783 p_balance_type_code := l_balance_type_code;
82784 -- set the flag so later we will know whether the gain loss line needs to be created
82785
82786 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
82787 p_actual_flag :='A';
82788 END IF;
82789
82790 --
82791 -- bulk performance
82792 --
82793 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
82794 p_header_num => 0); -- 4262811
82795 --
82796 -- set accounting line options
82797 --
82798 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
82799 p_natural_side_code => 'D'
82800 , p_gain_or_loss_flag => 'N'
82801 , p_gl_transfer_mode_code => 'S'
82802 , p_acct_entry_type_code => 'A'
82803 , p_switch_side_flag => 'Y'
82804 , p_merge_duplicate_code => 'A'
82805 );
82806 --
82807 l_acc_rev_natural_side_code := 'C'; -- 4262811
82808 --
82809 --
82810 -- set accounting line type info
82811 --
82812 xla_ae_lines_pkg.SetAcctLineType
82813 (p_component_type => l_component_type
82814 ,p_event_type_code => l_event_type_code
82815 ,p_line_definition_owner_code => l_line_definition_owner_code
82816 ,p_line_definition_code => l_line_definition_code
82817 ,p_accounting_line_code => l_component_code
82818 ,p_accounting_line_type_code => l_component_type_code
82819 ,p_accounting_line_appl_id => l_component_appl_id
82820 ,p_amb_context_code => l_amb_context_code
82821 ,p_entity_code => l_entity_code
82822 ,p_event_class_code => l_event_class_code);
82823 --
82824 -- set accounting class
82825 --
82826 xla_ae_lines_pkg.SetAcctClass(
82827 p_accounting_class_code => 'IPV'
82828 , p_ae_header_id => l_ae_header_id
82829 );
82830
82831 --
82832 -- set rounding class
82833 --
82834 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
82835 'IPV';
82836
82837 --
82838 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
82839 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
82840 --
82841 -- bulk performance
82842 --
82843 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
82844
82845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
82846 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
82847
82848 -- 4955764
82849 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
82850 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
82851
82852 -- 4458381 Public Sector Enh
82853
82854 --
82855 -- set accounting attributes for the line type
82856 --
82857 l_entered_amt_idx := 23;
82858 l_accted_amt_idx := 28;
82859 l_bflow_applied_to_amt_idx := NULL; -- 5132302
82860 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
82861 l_rec_acct_attrs.array_char_value(1) := p_source_41;
82862 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
82863 l_rec_acct_attrs.array_num_value(2) :=
82864 xla_ae_sources_pkg.GetSystemSourceNum(
82865 p_source_code => 'XLA_EVENT_APPL_ID'
82866 , p_source_type_code => 'Y'
82867 , p_source_application_id => 602
82868 );
82869 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
82870 l_rec_acct_attrs.array_char_value(3) := p_source_43;
82871 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
82872 l_rec_acct_attrs.array_char_value(4) :=
82873 xla_ae_sources_pkg.GetSystemSourceChar(
82874 p_source_code => 'XLA_ENTITY_CODE'
82875 , p_source_type_code => 'Y'
82876 , p_source_application_id => 602
82877 );
82878 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
82879 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
82880 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
82881 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
82882 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
82883 l_rec_acct_attrs.array_num_value(7) := p_source_79;
82884 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
82885 l_rec_acct_attrs.array_char_value(8) := p_source_80;
82886 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
82887 l_rec_acct_attrs.array_char_value(9) := p_source_81;
82888 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
82889 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
82890 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
82891 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
82892 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
82893 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
82897 l_rec_acct_attrs.array_num_value(14) := p_source_53;
82894 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
82895 l_rec_acct_attrs.array_char_value(13) := p_source_43;
82896 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
82898 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
82899 l_rec_acct_attrs.array_num_value(15) := p_source_54;
82900 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
82901 l_rec_acct_attrs.array_char_value(16) := p_source_55;
82902 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
82903 l_rec_acct_attrs.array_num_value(17) := p_source_56;
82904 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
82905 l_rec_acct_attrs.array_num_value(18) := p_source_57;
82906 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
82907 l_rec_acct_attrs.array_num_value(19) := p_source_58;
82908 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
82909 l_rec_acct_attrs.array_char_value(20) := p_source_55;
82910 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
82911 l_rec_acct_attrs.array_num_value(21) := p_source_59;
82912 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
82913 l_rec_acct_attrs.array_char_value(22) := p_source_60;
82914 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
82915 l_rec_acct_attrs.array_num_value(23) := p_source_61;
82916 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
82917 l_rec_acct_attrs.array_char_value(24) := p_source_55;
82918 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
82919 l_rec_acct_attrs.array_date_value(25) := p_source_136;
82920 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
82921 l_rec_acct_attrs.array_num_value(26) := p_source_137;
82922 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
82923 l_rec_acct_attrs.array_char_value(27) := p_source_138;
82924 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
82925 l_rec_acct_attrs.array_num_value(28) := p_source_9;
82926 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
82927 l_rec_acct_attrs.array_date_value(29) := p_source_65;
82928 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
82929 l_rec_acct_attrs.array_char_value(30) := p_source_66;
82930 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
82931 l_rec_acct_attrs.array_date_value(31) := p_source_67;
82932 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
82933 l_rec_acct_attrs.array_char_value(32) := p_source_68;
82934 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
82935 l_rec_acct_attrs.array_num_value(33) := p_source_69;
82936 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
82937 l_rec_acct_attrs.array_num_value(34) := p_source_70;
82938 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
82939 l_rec_acct_attrs.array_char_value(35) := p_source_71;
82940 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
82941 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
82942 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
82943 l_rec_acct_attrs.array_char_value(37) := p_source_43;
82944 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
82945 l_rec_acct_attrs.array_num_value(38) := p_source_73;
82946 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
82947 l_rec_acct_attrs.array_num_value(39) := p_source_74;
82948 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
82949 l_rec_acct_attrs.array_num_value(40) := p_source_75;
82950 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
82951 l_rec_acct_attrs.array_num_value(41) := p_source_76;
82952 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
82953 l_rec_acct_attrs.array_num_value(42) := p_source_77;
82954 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
82955 l_rec_acct_attrs.array_num_value(43) := p_source_78;
82956
82957 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
82958 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
82959
82960 ---------------------------------------------------------------------------------------------------------------
82961 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
82962 ---------------------------------------------------------------------------------------------------------------
82963 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
82964
82965 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82966 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
82967
82968 IF xla_accounting_cache_pkg.GetValueChar
82969 (p_source_code => 'LEDGER_CATEGORY_CODE'
82970 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
82971 AND l_bflow_method_code = 'PRIOR_ENTRY'
82972 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
82973 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
82974 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
82975 )
82976 THEN
82977 xla_ae_lines_pkg.BflowUpgEntry
82978 (p_business_method_code => l_bflow_method_code
82982 NULL;
82979 ,p_business_class_code => l_bflow_class_code
82980 ,p_balance_type => l_balance_type_code);
82981 ELSE
82983 -- No business flow processing for business flow method of NONE.
82984 END IF;
82985
82986 --
82987 -- call analytical criteria
82988 --
82989
82990 --
82991 -- call description
82992 --
82993
82994 xla_ae_lines_pkg.SetLineDescription(
82995 p_ae_header_id => l_ae_header_id
82996 ,p_description => Description_2 (
82997 p_application_id => p_application_id
82998 , p_ae_header_id => l_ae_header_id
82999 , p_source_1 => p_source_1
83000 )
83001 );
83002
83003
83004 --
83005 -- call ADRs
83006 -- Bug 4922099
83007 --
83008 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83009 (NVL(l_actual_upg_option, 'N') = 'O') OR
83010 (NVL(l_enc_upg_option, 'N') = 'O')
83011 )
83012 THEN
83013 NULL;
83014 --
83015 --
83016
83017 l_ccid := AcctDerRule_32(
83018 p_application_id => p_application_id
83019 , p_ae_header_id => l_ae_header_id
83020 , p_source_18 => p_source_18
83021 , x_transaction_coa_id => l_adr_transaction_coa_id
83022 , x_accounting_coa_id => l_adr_accounting_coa_id
83023 , x_value_type_code => l_adr_value_type_code
83024 , p_side => 'NA'
83025 );
83026
83027 xla_ae_lines_pkg.set_ccid(
83028 p_code_combination_id => l_ccid
83029 , p_value_type_code => l_adr_value_type_code
83030 , p_transaction_coa_id => l_adr_transaction_coa_id
83031 , p_accounting_coa_id => l_adr_accounting_coa_id
83032 , p_adr_code => 'AP_INVOICE_DIST'
83033 , p_adr_type_code => 'S'
83034 , p_component_type => l_component_type
83035 , p_component_code => l_component_code
83036 , p_component_type_code => l_component_type_code
83037 , p_component_appl_id => l_component_appl_id
83038 , p_amb_context_code => l_amb_context_code
83039 , p_side => 'NA'
83040 );
83041
83042
83043 --
83044 --
83045 END IF;
83046 --
83047 -- Bug 4922099
83048 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
83049 (NVL(l_enc_upg_option, 'N') = 'O')
83050 ) AND
83051 (l_bflow_method_code = 'PRIOR_ENTRY')
83052 )
83053 THEN
83054 IF
83055 --
83056 1 = 2
83057 --
83058 THEN
83059 xla_accounting_err_pkg.build_message
83060 (p_appli_s_name => 'XLA'
83061 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83062 ,p_token_1 => 'LINE_NUMBER'
83063 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
83064 ,p_token_2 => 'LINE_TYPE_NAME'
83065 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
83066 l_component_type
83067 ,l_component_code
83068 ,l_component_type_code
83069 ,l_component_appl_id
83070 ,l_amb_context_code
83071 ,l_entity_code
83072 ,l_event_class_code
83073 )
83074 ,p_token_3 => 'OWNER'
83075 ,p_value_3 => xla_lookups_pkg.get_meaning(
83076 p_lookup_type => 'XLA_OWNER_TYPE'
83077 ,p_lookup_code => l_component_type_code
83078 )
83079 ,p_token_4 => 'PRODUCT_NAME'
83080 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
83081 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
83082 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
83083 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
83084 ,p_ae_header_id => NULL
83085 );
83086
83087 IF (C_LEVEL_ERROR>= g_log_level) THEN
83088 trace
83089 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83090 ,p_level => C_LEVEL_ERROR
83091 ,p_module => l_log_module);
83092 END IF;
83093 END IF;
83094 END IF;
83095 --
83096 --
83100 -- Prior Entry. Currently, the following code is always generated.
83097 ------------------------------------------------------------------------------------------------
83098 -- 4219869 Business Flow
83099 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
83101 ------------------------------------------------------------------------------------------------
83102 XLA_AE_LINES_PKG.ValidateCurrentLine;
83103
83104 ------------------------------------------------------------------------------------
83105 -- 4219869 Business Flow
83106 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
83107 ------------------------------------------------------------------------------------
83108 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83109
83110 ----------------------------------------------------------------------------------
83111 -- 4219869 Business Flow
83112 -- Update journal entry status -- Need to generate this within IF <condition>
83113 ----------------------------------------------------------------------------------
83114 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83115 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
83116 ,p_balance_type_code => l_balance_type_code
83117 );
83118
83119 -------------------------------------------------------------------------------------------
83120 -- 4262811 - Generate the Accrual Reversal lines
83121 -------------------------------------------------------------------------------------------
83122 BEGIN
83123 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
83124 (g_array_event(p_event_id).array_value_num('header_index'));
83125 IF l_acc_rev_flag IS NULL THEN
83126 l_acc_rev_flag := 'N';
83127 END IF;
83128 EXCEPTION
83129 WHEN OTHERS THEN
83130 l_acc_rev_flag := 'N';
83131 END;
83132 --
83133 IF (l_acc_rev_flag = 'Y') THEN
83134
83135 -- 4645092 ------------------------------------------------------------------------------
83136 -- To allow MPA report to determine if it should generate report process
83137 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
83138 ------------------------------------------------------------------------------------------
83139
83140 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
83141 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
83142 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
83143 -- call ADRs
83144 -- Bug 4922099
83145 --
83146 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83147 (NVL(l_actual_upg_option, 'N') = 'O') OR
83148 (NVL(l_enc_upg_option, 'N') = 'O')
83149 )
83150 THEN
83151 NULL;
83152 --
83153 --
83154
83155 l_ccid := AcctDerRule_32(
83156 p_application_id => p_application_id
83157 , p_ae_header_id => l_ae_header_id
83158 , p_source_18 => p_source_18
83159 , x_transaction_coa_id => l_adr_transaction_coa_id
83160 , x_accounting_coa_id => l_adr_accounting_coa_id
83161 , x_value_type_code => l_adr_value_type_code
83162 , p_side => 'NA'
83163 );
83164
83165 xla_ae_lines_pkg.set_ccid(
83166 p_code_combination_id => l_ccid
83167 , p_value_type_code => l_adr_value_type_code
83168 , p_transaction_coa_id => l_adr_transaction_coa_id
83169 , p_accounting_coa_id => l_adr_accounting_coa_id
83170 , p_adr_code => 'AP_INVOICE_DIST'
83171 , p_adr_type_code => 'S'
83172 , p_component_type => l_component_type
83173 , p_component_code => l_component_code
83174 , p_component_type_code => l_component_type_code
83175 , p_component_appl_id => l_component_appl_id
83176 , p_amb_context_code => l_amb_context_code
83177 , p_side => 'NA'
83178 );
83179
83180
83181 --
83182 --
83183 END IF;
83184
83185 --
83186 -- Update the line information that should be overwritten
83187 --
83188 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
83189 p_header_num => 1);
83190 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
83191
83192 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
83193
83194 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
83195 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
83196 END IF;
83197
83198 --
83199 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
83200 --
83201 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
83202 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
83203 ELSE
83204 ---------------------------------------------------------------------------------------------------
83205 -- 4262811a Switch Sign
83209 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83206 ---------------------------------------------------------------------------------------------------
83207 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
83208 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83210 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83211 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83212 -- 5132302
83213 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
83214 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83215
83216 END IF;
83217
83218 -- 4955764
83219 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83220 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
83221
83222
83223 XLA_AE_LINES_PKG.ValidateCurrentLine;
83224 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83225
83226 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83227 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
83228 ,p_balance_type_code => l_balance_type_code);
83229
83230 END IF;
83231
83232 -----------------------------------------------------------------------------------------
83233 -- 4262811 Multiperiod Accounting
83234 -----------------------------------------------------------------------------------------
83235 -- No MPA option is assigned.
83236
83237
83238 END IF;
83239 END IF;
83240 --
83241
83242 --
83243 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83244 trace
83245 (p_msg => 'END of AcctLineType_150'
83246 ,p_level => C_LEVEL_PROCEDURE
83247 ,p_module => l_log_module);
83248 END IF;
83249 --
83250 EXCEPTION
83251 WHEN xla_exceptions_pkg.application_exception THEN
83252 RAISE;
83253 WHEN OTHERS THEN
83254 xla_exceptions_pkg.raise_message
83255 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_150');
83256 END AcctLineType_150;
83257 --
83258
83259 ---------------------------------------
83260 --
83261 -- PRIVATE FUNCTION
83262 -- AcctLineType_151
83263 --
83264 ---------------------------------------
83265 PROCEDURE AcctLineType_151 (
83266 p_application_id IN NUMBER
83267 ,p_event_id IN NUMBER
83268 ,p_calculate_acctd_flag IN VARCHAR2
83269 ,p_calculate_g_l_flag IN VARCHAR2
83270 ,p_actual_flag IN OUT VARCHAR2
83271 ,p_balance_type_code OUT VARCHAR2
83272 ,p_gain_or_loss_ref OUT VARCHAR2
83273
83274 --Invoice Distribution Type
83275 , p_source_21 IN VARCHAR2
83276 , p_source_21_meaning IN VARCHAR2
83277 --Accounting Reversal Indicator
83278 , p_source_41 IN VARCHAR2
83279 --Distribution Link Type
83280 , p_source_43 IN VARCHAR2
83281 --Allocation to Main Distribution Identifier
83282 , p_source_45 IN NUMBER
83283 --Invoice Identifier
83284 , p_source_46 IN NUMBER
83285 --Invoice Distribution Identifier
83286 , p_source_52 IN NUMBER
83287 --Payables Encumbrance Upgrade Credit Account
83288 , p_source_53 IN NUMBER
83289 --Payables Encumbrance Upgrade Credit Amount
83290 , p_source_54 IN NUMBER
83291 --Invoice Currency Code
83292 , p_source_55 IN VARCHAR2
83293 --Payables Encumbrance Upgrade Credit Base Amount
83294 , p_source_56 IN NUMBER
83295 --Payables Encumbrance Upgrade Debit Account
83296 , p_source_57 IN NUMBER
83297 --Payables Encumbrance Upgrade Debit Amount
83298 , p_source_58 IN NUMBER
83299 --Payables Encumbrance Upgrade Debit Base Amount
83300 , p_source_59 IN NUMBER
83301 --Payables Encumbrance Upgrade Option
83302 , p_source_60 IN VARCHAR2
83303 --Deferred Accounting End Date
83304 , p_source_65 IN DATE
83305 --Deferred Accounting Option
83306 , p_source_66 IN VARCHAR2
83307 --Deferred Accounting Start Date
83308 , p_source_67 IN DATE
83309 --Override Accounted Amount Indicator
83310 , p_source_68 IN VARCHAR2
83311 , p_source_68_meaning IN VARCHAR2
83312 --Third Party Type
83313 , p_source_71 IN VARCHAR2
83314 --Parent Reversal Identifier
83315 , p_source_72 IN NUMBER
83316 --Invoice Distribution Statistical Amount
83317 , p_source_73 IN NUMBER
83318 --Invoice Distribution Tax Line Identifier
83319 , p_source_74 IN NUMBER
83320 --Invoice Distribution Tax Distribution Identifier from Tax
83321 , p_source_75 IN NUMBER
83322 --Invoice Distribution Summary Tax Line Identifier
83323 , p_source_76 IN NUMBER
83324 --Payables Upgrade Credit Encumbrance Type Identifier
83325 , p_source_77 IN NUMBER
83326 --Payables Upgrade Debit Encumbrance Type Identifier
83327 , p_source_78 IN NUMBER
83328 --Business Flow Accounts Payable Application Identifier
83329 , p_source_79 IN NUMBER
83330 --Business Flow Invoice Distribution Type
83334 --Business Flow Invoice Distribution Identifier
83331 , p_source_80 IN VARCHAR2
83332 --Business Flow Invoice Entity Code
83333 , p_source_81 IN VARCHAR2
83335 , p_source_82 IN NUMBER
83336 --Business Flow Invoice Identifier
83337 , p_source_83 IN NUMBER
83338 --Purchasing Encumbrance Option
83339 , p_source_86 IN VARCHAR2
83340 , p_source_86_meaning IN VARCHAR2
83341 --Invoice Encumbered Option
83342 , p_source_87 IN VARCHAR2
83343 , p_source_87_meaning IN VARCHAR2
83344 --Invoice Distribution Encumbrance Amount
83345 , p_source_143 IN NUMBER
83346 --Invoice Distribution Encumbrance Ledger Amount
83347 , p_source_144 IN NUMBER
83348 )
83349 IS
83350
83351 l_component_type VARCHAR2(80);
83352 l_component_code VARCHAR2(30);
83353 l_component_type_code VARCHAR2(1);
83354 l_component_appl_id INTEGER;
83355 l_amb_context_code VARCHAR2(30);
83356 l_entity_code VARCHAR2(30);
83357 l_event_class_code VARCHAR2(30);
83358 l_ae_header_id NUMBER;
83359 l_event_type_code VARCHAR2(30);
83360 l_line_definition_code VARCHAR2(30);
83361 l_line_definition_owner_code VARCHAR2(1);
83362 --
83363 -- adr variables
83364 l_segment VARCHAR2(30);
83365 l_ccid NUMBER;
83366 l_adr_transaction_coa_id NUMBER;
83367 l_adr_accounting_coa_id NUMBER;
83368 l_adr_flexfield_segment_code VARCHAR2(30);
83369 l_adr_flex_value_set_id NUMBER;
83370 l_adr_value_type_code VARCHAR2(30);
83371 l_adr_value_combination_id NUMBER;
83372 l_adr_value_segment_code VARCHAR2(30);
83373
83374 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
83375 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
83376 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
83377 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
83378
83379 -- 4262811 Variables ------------------------------------------------------------------------------------------
83380 l_entered_amt_idx NUMBER;
83381 l_accted_amt_idx NUMBER;
83382 l_acc_rev_flag VARCHAR2(1);
83383 l_accrual_line_num NUMBER;
83384 l_tmp_amt NUMBER;
83385 l_acc_rev_natural_side_code VARCHAR2(1);
83386
83387 l_num_entries NUMBER;
83388 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
83389 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
83390 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
83391 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
83392 l_recog_line_1 NUMBER;
83393 l_recog_line_2 NUMBER;
83394
83395 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
83396 l_bflow_applied_to_amt NUMBER; -- 5132302
83397 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
83398
83399 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
83400
83401 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
83402 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
83403
83404 ---------------------------------------------------------------------------------------------------------------
83405
83406
83407 --
83408 -- bulk performance
83409 --
83410 l_balance_type_code VARCHAR2(1);
83411 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
83412 l_log_module VARCHAR2(240);
83413
83414 --
83415 -- Upgrade strategy
83416 --
83417 l_actual_upg_option VARCHAR2(1);
83418 l_enc_upg_option VARCHAR2(1);
83419
83420 --
83421 BEGIN
83422 --
83423 IF g_log_enabled THEN
83424 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_151';
83425 END IF;
83426 --
83427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83428
83429 trace
83430 (p_msg => 'BEGIN of AcctLineType_151'
83431 ,p_level => C_LEVEL_PROCEDURE
83432 ,p_module => l_log_module);
83433
83434 END IF;
83435 --
83436 l_component_type := 'AMB_JLT';
83437 l_component_code := 'AP_INV_PRICE_VAR_CM_ENC';
83438 l_component_type_code := 'S';
83439 l_component_appl_id := 200;
83440 l_amb_context_code := 'DEFAULT';
83441 l_entity_code := 'AP_INVOICES';
83442 l_event_class_code := 'CREDIT MEMOS';
83443 l_event_type_code := 'CREDIT MEMOS_ALL';
83444 l_line_definition_owner_code := 'S';
83445 l_line_definition_code := 'ENC_REV_CM_ALL';
83446 --
83447 l_balance_type_code := 'E';
83448 l_segment := NULL;
83449 l_ccid := NULL;
83450 l_adr_transaction_coa_id := NULL;
83451 l_adr_accounting_coa_id := NULL;
83452 l_adr_flexfield_segment_code := NULL;
83453 l_adr_flex_value_set_id := NULL;
83454 l_adr_value_type_code := NULL;
83455 l_adr_value_combination_id := NULL;
83456 l_adr_value_segment_code := NULL;
83457
83458 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
83462
83459 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
83460 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
83461 l_budgetary_control_flag := 'N';
83463 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83464 l_bflow_applied_to_amt := NULL; -- 5132302
83465 l_entered_amt_idx := NULL; -- 4262811
83466 l_accted_amt_idx := NULL; -- 4262811
83467 l_acc_rev_flag := NULL; -- 4262811
83468 l_accrual_line_num := NULL; -- 4262811
83469 l_tmp_amt := NULL; -- 4262811
83470 --
83471
83472 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
83473 l_balance_type_code <> 'B' THEN
83474 IF NVL(p_source_21,'
83475 ') = 'IPV' AND
83476 NVL(p_source_86,'
83477 ') = 'Y' AND
83478 NVL(p_source_87,'
83479 ') = 'Y'
83480 THEN
83481
83482 --
83483 XLA_AE_LINES_PKG.SetNewLine;
83484
83485 p_balance_type_code := l_balance_type_code;
83486 -- set the flag so later we will know whether the gain loss line needs to be created
83487
83488 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
83489 p_actual_flag :='A';
83490 END IF;
83491
83492 --
83493 -- bulk performance
83494 --
83495 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
83496 p_header_num => 0); -- 4262811
83497 --
83498 -- set accounting line options
83499 --
83500 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
83501 p_natural_side_code => 'C'
83502 , p_gain_or_loss_flag => 'N'
83503 , p_gl_transfer_mode_code => 'S'
83504 , p_acct_entry_type_code => 'E'
83505 , p_switch_side_flag => 'Y'
83506 , p_merge_duplicate_code => 'A'
83507 );
83508 --
83509 l_acc_rev_natural_side_code := 'D'; -- 4262811
83510 --
83511 --
83512 -- set accounting line type info
83513 --
83514 xla_ae_lines_pkg.SetAcctLineType
83515 (p_component_type => l_component_type
83516 ,p_event_type_code => l_event_type_code
83517 ,p_line_definition_owner_code => l_line_definition_owner_code
83518 ,p_line_definition_code => l_line_definition_code
83519 ,p_accounting_line_code => l_component_code
83520 ,p_accounting_line_type_code => l_component_type_code
83521 ,p_accounting_line_appl_id => l_component_appl_id
83522 ,p_amb_context_code => l_amb_context_code
83523 ,p_entity_code => l_entity_code
83524 ,p_event_class_code => l_event_class_code);
83525 --
83526 -- set accounting class
83527 --
83528 xla_ae_lines_pkg.SetAcctClass(
83529 p_accounting_class_code => 'IPV'
83530 , p_ae_header_id => l_ae_header_id
83531 );
83532
83533 --
83534 -- set rounding class
83535 --
83536 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
83537 'IPV';
83538
83539 --
83540 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
83541 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
83542 --
83543 -- bulk performance
83544 --
83545 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
83546
83547 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
83548 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
83549
83550 -- 4955764
83551 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83552 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
83553
83554 -- 4458381 Public Sector Enh
83555
83556 --
83557 -- set accounting attributes for the line type
83558 --
83559 l_entered_amt_idx := 23;
83560 l_accted_amt_idx := 25;
83561 l_bflow_applied_to_amt_idx := NULL; -- 5132302
83562 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
83563 l_rec_acct_attrs.array_char_value(1) := p_source_41;
83564 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
83565 l_rec_acct_attrs.array_num_value(2) :=
83566 xla_ae_sources_pkg.GetSystemSourceNum(
83567 p_source_code => 'XLA_EVENT_APPL_ID'
83568 , p_source_type_code => 'Y'
83569 , p_source_application_id => 602
83570 );
83571 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
83572 l_rec_acct_attrs.array_char_value(3) := p_source_43;
83573 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
83574 l_rec_acct_attrs.array_char_value(4) :=
83575 xla_ae_sources_pkg.GetSystemSourceChar(
83576 p_source_code => 'XLA_ENTITY_CODE'
83577 , p_source_type_code => 'Y'
83578 , p_source_application_id => 602
83579 );
83580 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
83581 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
83582 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
83583 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
83584 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
83588 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
83585 l_rec_acct_attrs.array_num_value(7) := p_source_79;
83586 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
83587 l_rec_acct_attrs.array_char_value(8) := p_source_80;
83589 l_rec_acct_attrs.array_char_value(9) := p_source_81;
83590 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
83591 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
83592 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
83593 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
83594 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
83595 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
83596 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
83597 l_rec_acct_attrs.array_char_value(13) := p_source_43;
83598 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
83599 l_rec_acct_attrs.array_num_value(14) := p_source_53;
83600 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
83601 l_rec_acct_attrs.array_num_value(15) := p_source_54;
83602 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
83603 l_rec_acct_attrs.array_char_value(16) := p_source_55;
83604 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
83605 l_rec_acct_attrs.array_num_value(17) := p_source_56;
83606 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
83607 l_rec_acct_attrs.array_num_value(18) := p_source_57;
83608 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
83609 l_rec_acct_attrs.array_num_value(19) := p_source_58;
83610 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
83611 l_rec_acct_attrs.array_char_value(20) := p_source_55;
83612 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
83613 l_rec_acct_attrs.array_num_value(21) := p_source_59;
83614 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
83615 l_rec_acct_attrs.array_char_value(22) := p_source_60;
83616 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
83617 l_rec_acct_attrs.array_num_value(23) := p_source_143;
83618 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
83619 l_rec_acct_attrs.array_char_value(24) := p_source_55;
83620 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
83621 l_rec_acct_attrs.array_num_value(25) := p_source_144;
83622 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
83623 l_rec_acct_attrs.array_date_value(26) := p_source_65;
83624 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
83625 l_rec_acct_attrs.array_char_value(27) := p_source_66;
83626 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
83627 l_rec_acct_attrs.array_date_value(28) := p_source_67;
83628 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
83629 l_rec_acct_attrs.array_char_value(29) := p_source_68;
83630 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
83631 l_rec_acct_attrs.array_char_value(30) := p_source_71;
83632 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
83633 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
83634 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
83635 l_rec_acct_attrs.array_char_value(32) := p_source_43;
83636 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
83637 l_rec_acct_attrs.array_num_value(33) := p_source_73;
83638 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
83639 l_rec_acct_attrs.array_num_value(34) := p_source_74;
83640 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
83641 l_rec_acct_attrs.array_num_value(35) := p_source_75;
83642 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
83643 l_rec_acct_attrs.array_num_value(36) := p_source_76;
83644 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
83645 l_rec_acct_attrs.array_num_value(37) := p_source_77;
83646 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
83647 l_rec_acct_attrs.array_num_value(38) := p_source_78;
83648
83649 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
83650 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
83651
83652 ---------------------------------------------------------------------------------------------------------------
83653 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
83654 ---------------------------------------------------------------------------------------------------------------
83655 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
83656
83657 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83658 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
83659
83660 IF xla_accounting_cache_pkg.GetValueChar
83661 (p_source_code => 'LEDGER_CATEGORY_CODE'
83662 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
83663 AND l_bflow_method_code = 'PRIOR_ENTRY'
83664 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
83665 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
83666 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
83670 (p_business_method_code => l_bflow_method_code
83667 )
83668 THEN
83669 xla_ae_lines_pkg.BflowUpgEntry
83671 ,p_business_class_code => l_bflow_class_code
83672 ,p_balance_type => l_balance_type_code);
83673 ELSE
83674 NULL;
83675 XLA_AE_LINES_PKG.business_flow_validation(
83676 p_business_method_code => l_bflow_method_code
83677 ,p_business_class_code => l_bflow_class_code
83678 ,p_inherit_description_flag => l_inherit_desc_flag);
83679 END IF;
83680
83681 --
83682 -- call analytical criteria
83683 --
83684 -- Inherited Analytical Criteria for business flow method of Prior Entry.
83685 --
83686 -- call description
83687 --
83688 -- No description or it is inherited.
83689 --
83690 -- call ADRs
83691 -- Bug 4922099
83692 --
83693 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83694 (NVL(l_actual_upg_option, 'N') = 'O') OR
83695 (NVL(l_enc_upg_option, 'N') = 'O')
83696 )
83697 THEN
83698 NULL;
83699 --
83700 --
83701
83702 --
83703 --
83704 END IF;
83705 --
83706 -- Bug 4922099
83707 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
83708 (NVL(l_enc_upg_option, 'N') = 'O')
83709 ) AND
83710 (l_bflow_method_code = 'PRIOR_ENTRY')
83711 )
83712 THEN
83713 IF
83714 --
83715 1 = 1
83716 --
83717 THEN
83718 xla_accounting_err_pkg.build_message
83719 (p_appli_s_name => 'XLA'
83720 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83721 ,p_token_1 => 'LINE_NUMBER'
83722 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
83723 ,p_token_2 => 'LINE_TYPE_NAME'
83724 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
83725 l_component_type
83726 ,l_component_code
83727 ,l_component_type_code
83728 ,l_component_appl_id
83729 ,l_amb_context_code
83730 ,l_entity_code
83731 ,l_event_class_code
83732 )
83733 ,p_token_3 => 'OWNER'
83734 ,p_value_3 => xla_lookups_pkg.get_meaning(
83735 p_lookup_type => 'XLA_OWNER_TYPE'
83736 ,p_lookup_code => l_component_type_code
83737 )
83738 ,p_token_4 => 'PRODUCT_NAME'
83739 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
83740 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
83741 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
83742 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
83743 ,p_ae_header_id => NULL
83744 );
83745
83746 IF (C_LEVEL_ERROR>= g_log_level) THEN
83747 trace
83748 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
83749 ,p_level => C_LEVEL_ERROR
83750 ,p_module => l_log_module);
83751 END IF;
83752 END IF;
83753 END IF;
83754 --
83755 --
83756 ------------------------------------------------------------------------------------------------
83757 -- 4219869 Business Flow
83758 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
83759 -- Prior Entry. Currently, the following code is always generated.
83760 ------------------------------------------------------------------------------------------------
83761 -- No ValidateCurrentLine for business flow method of Prior Entry
83762
83763 ------------------------------------------------------------------------------------
83764 -- 4219869 Business Flow
83765 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
83766 ------------------------------------------------------------------------------------
83767 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83768
83769 ----------------------------------------------------------------------------------
83770 -- 4219869 Business Flow
83771 -- Update journal entry status -- Need to generate this within IF <condition>
83775 ,p_balance_type_code => l_balance_type_code
83772 ----------------------------------------------------------------------------------
83773 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83774 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
83776 );
83777
83778 -------------------------------------------------------------------------------------------
83779 -- 4262811 - Generate the Accrual Reversal lines
83780 -------------------------------------------------------------------------------------------
83781 BEGIN
83782 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
83783 (g_array_event(p_event_id).array_value_num('header_index'));
83784 IF l_acc_rev_flag IS NULL THEN
83785 l_acc_rev_flag := 'N';
83786 END IF;
83787 EXCEPTION
83788 WHEN OTHERS THEN
83789 l_acc_rev_flag := 'N';
83790 END;
83791 --
83792 IF (l_acc_rev_flag = 'Y') THEN
83793
83794 -- 4645092 ------------------------------------------------------------------------------
83795 -- To allow MPA report to determine if it should generate report process
83796 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
83797 ------------------------------------------------------------------------------------------
83798
83799 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
83800 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
83801 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
83802 -- call ADRs
83803 -- Bug 4922099
83804 --
83805 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
83806 (NVL(l_actual_upg_option, 'N') = 'O') OR
83807 (NVL(l_enc_upg_option, 'N') = 'O')
83808 )
83809 THEN
83810 NULL;
83811 --
83812 --
83813
83814 --
83815 --
83816 END IF;
83817
83818 --
83819 -- Update the line information that should be overwritten
83820 --
83821 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
83822 p_header_num => 1);
83823 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
83824
83825 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
83826
83827 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
83828 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
83829 END IF;
83830
83831 --
83832 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
83833 --
83834 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
83835 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
83836 ELSE
83837 ---------------------------------------------------------------------------------------------------
83838 -- 4262811a Switch Sign
83839 ---------------------------------------------------------------------------------------------------
83840 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
83841 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83842 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83843 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
83844 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83845 -- 5132302
83846 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
83847 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
83848
83849 END IF;
83850
83851 -- 4955764
83852 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
83853 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
83854
83855
83856 XLA_AE_LINES_PKG.ValidateCurrentLine;
83857 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
83858
83859 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
83860 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
83861 ,p_balance_type_code => l_balance_type_code);
83862
83863 END IF;
83864
83865 -----------------------------------------------------------------------------------------
83866 -- 4262811 Multiperiod Accounting
83867 -----------------------------------------------------------------------------------------
83868 -- No MPA option is assigned.
83869
83870
83871 END IF;
83872 END IF;
83873 --
83874
83875 --
83876 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
83877 trace
83878 (p_msg => 'END of AcctLineType_151'
83879 ,p_level => C_LEVEL_PROCEDURE
83880 ,p_module => l_log_module);
83881 END IF;
83882 --
83883 EXCEPTION
83884 WHEN xla_exceptions_pkg.application_exception THEN
83885 RAISE;
83886 WHEN OTHERS THEN
83887 xla_exceptions_pkg.raise_message
83891
83888 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_151');
83889 END AcctLineType_151;
83890 --
83892 ---------------------------------------
83893 --
83894 -- PRIVATE FUNCTION
83895 -- AcctLineType_152
83896 --
83897 ---------------------------------------
83898 PROCEDURE AcctLineType_152 (
83899 p_application_id IN NUMBER
83900 ,p_event_id IN NUMBER
83901 ,p_calculate_acctd_flag IN VARCHAR2
83902 ,p_calculate_g_l_flag IN VARCHAR2
83903 ,p_actual_flag IN OUT VARCHAR2
83904 ,p_balance_type_code OUT VARCHAR2
83905 ,p_gain_or_loss_ref OUT VARCHAR2
83906
83907 --Invoice Distribution Description
83908 , p_source_1 IN VARCHAR2
83909 --Invoice Distribution Ledger Amount
83910 , p_source_9 IN NUMBER
83911 --Invoice Distribution Account
83912 , p_source_18 IN NUMBER
83913 --Invoice Distribution Type
83914 , p_source_21 IN VARCHAR2
83915 , p_source_21_meaning IN VARCHAR2
83916 --Accounting Reversal Indicator
83917 , p_source_41 IN VARCHAR2
83918 --Distribution Link Type
83919 , p_source_43 IN VARCHAR2
83920 --Allocation to Main Distribution Identifier
83921 , p_source_45 IN NUMBER
83922 --Invoice Identifier
83923 , p_source_46 IN NUMBER
83924 --Invoice Distribution Identifier
83925 , p_source_52 IN NUMBER
83926 --Payables Encumbrance Upgrade Credit Account
83927 , p_source_53 IN NUMBER
83928 --Payables Encumbrance Upgrade Credit Amount
83929 , p_source_54 IN NUMBER
83930 --Invoice Currency Code
83931 , p_source_55 IN VARCHAR2
83932 --Payables Encumbrance Upgrade Credit Base Amount
83933 , p_source_56 IN NUMBER
83934 --Payables Encumbrance Upgrade Debit Account
83935 , p_source_57 IN NUMBER
83936 --Payables Encumbrance Upgrade Debit Amount
83937 , p_source_58 IN NUMBER
83938 --Payables Encumbrance Upgrade Debit Base Amount
83939 , p_source_59 IN NUMBER
83940 --Payables Encumbrance Upgrade Option
83941 , p_source_60 IN VARCHAR2
83942 --Invoice Distribution Amount
83943 , p_source_61 IN NUMBER
83944 --Deferred Accounting End Date
83945 , p_source_65 IN DATE
83946 --Deferred Accounting Option
83947 , p_source_66 IN VARCHAR2
83948 --Deferred Accounting Start Date
83949 , p_source_67 IN DATE
83950 --Override Accounted Amount Indicator
83951 , p_source_68 IN VARCHAR2
83952 , p_source_68_meaning IN VARCHAR2
83953 --Invoice Supplier Identifier
83954 , p_source_69 IN NUMBER
83955 --Invoice Supplier Site Identifier
83956 , p_source_70 IN NUMBER
83957 --Third Party Type
83958 , p_source_71 IN VARCHAR2
83959 --Parent Reversal Identifier
83960 , p_source_72 IN NUMBER
83961 --Invoice Distribution Tax Line Identifier
83962 , p_source_74 IN NUMBER
83963 --Invoice Distribution Tax Distribution Identifier from Tax
83964 , p_source_75 IN NUMBER
83965 --Invoice Distribution Summary Tax Line Identifier
83966 , p_source_76 IN NUMBER
83967 --Payables Upgrade Credit Encumbrance Type Identifier
83968 , p_source_77 IN NUMBER
83969 --Payables Upgrade Debit Encumbrance Type Identifier
83970 , p_source_78 IN NUMBER
83971 --Business Flow Accounts Payable Application Identifier
83972 , p_source_79 IN NUMBER
83973 --Business Flow Invoice Distribution Type
83974 , p_source_80 IN VARCHAR2
83975 --Business Flow Invoice Entity Code
83976 , p_source_81 IN VARCHAR2
83977 --Business Flow Invoice Distribution Identifier
83978 , p_source_82 IN NUMBER
83979 --Business Flow Invoice Identifier
83980 , p_source_83 IN NUMBER
83981 --Accrue on Receipt Option
83982 , p_source_84 IN VARCHAR2
83983 , p_source_84_meaning IN VARCHAR2
83984 --Invoice Exchange Date
83985 , p_source_136 IN DATE
83986 --Invoice Exchange Rate
83987 , p_source_137 IN NUMBER
83988 --Invoice Exchange Rate Type
83989 , p_source_138 IN VARCHAR2
83990 )
83991 IS
83992
83993 l_component_type VARCHAR2(80);
83994 l_component_code VARCHAR2(30);
83995 l_component_type_code VARCHAR2(1);
83996 l_component_appl_id INTEGER;
83997 l_amb_context_code VARCHAR2(30);
83998 l_entity_code VARCHAR2(30);
83999 l_event_class_code VARCHAR2(30);
84000 l_ae_header_id NUMBER;
84001 l_event_type_code VARCHAR2(30);
84002 l_line_definition_code VARCHAR2(30);
84003 l_line_definition_owner_code VARCHAR2(1);
84004 --
84005 -- adr variables
84006 l_segment VARCHAR2(30);
84007 l_ccid NUMBER;
84008 l_adr_transaction_coa_id NUMBER;
84009 l_adr_accounting_coa_id NUMBER;
84010 l_adr_flexfield_segment_code VARCHAR2(30);
84011 l_adr_flex_value_set_id NUMBER;
84012 l_adr_value_type_code VARCHAR2(30);
84013 l_adr_value_combination_id NUMBER;
84014 l_adr_value_segment_code VARCHAR2(30);
84015
84016 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
84017 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
84021 -- 4262811 Variables ------------------------------------------------------------------------------------------
84018 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
84019 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
84020
84022 l_entered_amt_idx NUMBER;
84023 l_accted_amt_idx NUMBER;
84024 l_acc_rev_flag VARCHAR2(1);
84025 l_accrual_line_num NUMBER;
84026 l_tmp_amt NUMBER;
84027 l_acc_rev_natural_side_code VARCHAR2(1);
84028
84029 l_num_entries NUMBER;
84030 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
84031 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
84032 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
84033 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
84034 l_recog_line_1 NUMBER;
84035 l_recog_line_2 NUMBER;
84036
84037 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
84038 l_bflow_applied_to_amt NUMBER; -- 5132302
84039 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
84040
84041 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
84042
84043 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
84044 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
84045
84046 ---------------------------------------------------------------------------------------------------------------
84047
84048
84049 --
84050 -- bulk performance
84051 --
84052 l_balance_type_code VARCHAR2(1);
84053 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
84054 l_log_module VARCHAR2(240);
84055
84056 --
84057 -- Upgrade strategy
84058 --
84059 l_actual_upg_option VARCHAR2(1);
84060 l_enc_upg_option VARCHAR2(1);
84061
84062 --
84063 BEGIN
84064 --
84065 IF g_log_enabled THEN
84066 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_152';
84067 END IF;
84068 --
84069 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84070
84071 trace
84072 (p_msg => 'BEGIN of AcctLineType_152'
84073 ,p_level => C_LEVEL_PROCEDURE
84074 ,p_module => l_log_module);
84075
84076 END IF;
84077 --
84078 l_component_type := 'AMB_JLT';
84079 l_component_code := 'AP_INV_PRICE_VAR_DM';
84080 l_component_type_code := 'S';
84081 l_component_appl_id := 200;
84082 l_amb_context_code := 'DEFAULT';
84083 l_entity_code := 'AP_INVOICES';
84084 l_event_class_code := 'DEBIT MEMOS';
84085 l_event_type_code := 'DEBIT MEMOS_ALL';
84086 l_line_definition_owner_code := 'S';
84087 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
84088 --
84089 l_balance_type_code := 'A';
84090 l_segment := NULL;
84091 l_ccid := NULL;
84092 l_adr_transaction_coa_id := NULL;
84093 l_adr_accounting_coa_id := NULL;
84094 l_adr_flexfield_segment_code := NULL;
84095 l_adr_flex_value_set_id := NULL;
84096 l_adr_value_type_code := NULL;
84097 l_adr_value_combination_id := NULL;
84098 l_adr_value_segment_code := NULL;
84099
84100 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
84101 l_bflow_class_code := ''; -- 4219869 Business Flow
84102 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
84103 l_budgetary_control_flag := 'N';
84104
84105 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84106 l_bflow_applied_to_amt := NULL; -- 5132302
84107 l_entered_amt_idx := NULL; -- 4262811
84108 l_accted_amt_idx := NULL; -- 4262811
84109 l_acc_rev_flag := NULL; -- 4262811
84110 l_accrual_line_num := NULL; -- 4262811
84111 l_tmp_amt := NULL; -- 4262811
84112 --
84113
84114 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
84115 l_balance_type_code <> 'B' THEN
84116 IF NVL(p_source_21,'
84117 ') = 'IPV' AND
84118 NVL(p_source_84,'
84119 ') = 'Y'
84120 THEN
84121
84122 --
84123 XLA_AE_LINES_PKG.SetNewLine;
84124
84125 p_balance_type_code := l_balance_type_code;
84126 -- set the flag so later we will know whether the gain loss line needs to be created
84127
84128 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
84129 p_actual_flag :='A';
84130 END IF;
84131
84132 --
84133 -- bulk performance
84134 --
84135 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
84136 p_header_num => 0); -- 4262811
84137 --
84138 -- set accounting line options
84139 --
84140 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
84141 p_natural_side_code => 'D'
84142 , p_gain_or_loss_flag => 'N'
84143 , p_gl_transfer_mode_code => 'S'
84144 , p_acct_entry_type_code => 'A'
84145 , p_switch_side_flag => 'Y'
84146 , p_merge_duplicate_code => 'A'
84147 );
84148 --
84149 l_acc_rev_natural_side_code := 'C'; -- 4262811
84150 --
84151 --
84155 (p_component_type => l_component_type
84152 -- set accounting line type info
84153 --
84154 xla_ae_lines_pkg.SetAcctLineType
84156 ,p_event_type_code => l_event_type_code
84157 ,p_line_definition_owner_code => l_line_definition_owner_code
84158 ,p_line_definition_code => l_line_definition_code
84159 ,p_accounting_line_code => l_component_code
84160 ,p_accounting_line_type_code => l_component_type_code
84161 ,p_accounting_line_appl_id => l_component_appl_id
84162 ,p_amb_context_code => l_amb_context_code
84163 ,p_entity_code => l_entity_code
84164 ,p_event_class_code => l_event_class_code);
84165 --
84166 -- set accounting class
84167 --
84168 xla_ae_lines_pkg.SetAcctClass(
84169 p_accounting_class_code => 'IPV'
84170 , p_ae_header_id => l_ae_header_id
84171 );
84172
84173 --
84174 -- set rounding class
84175 --
84176 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
84177 'IPV';
84178
84179 --
84180 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
84181 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
84182 --
84183 -- bulk performance
84184 --
84185 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
84186
84187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
84188 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
84189
84190 -- 4955764
84191 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84192 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
84193
84194 -- 4458381 Public Sector Enh
84195
84196 --
84197 -- set accounting attributes for the line type
84198 --
84199 l_entered_amt_idx := 23;
84200 l_accted_amt_idx := 28;
84201 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84202 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
84203 l_rec_acct_attrs.array_char_value(1) := p_source_41;
84204 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
84205 l_rec_acct_attrs.array_num_value(2) :=
84206 xla_ae_sources_pkg.GetSystemSourceNum(
84207 p_source_code => 'XLA_EVENT_APPL_ID'
84208 , p_source_type_code => 'Y'
84209 , p_source_application_id => 602
84210 );
84211 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
84212 l_rec_acct_attrs.array_char_value(3) := p_source_43;
84213 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
84214 l_rec_acct_attrs.array_char_value(4) :=
84215 xla_ae_sources_pkg.GetSystemSourceChar(
84216 p_source_code => 'XLA_ENTITY_CODE'
84217 , p_source_type_code => 'Y'
84218 , p_source_application_id => 602
84219 );
84220 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
84221 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
84222 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
84223 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
84224 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
84225 l_rec_acct_attrs.array_num_value(7) := p_source_79;
84226 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
84227 l_rec_acct_attrs.array_char_value(8) := p_source_80;
84228 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
84229 l_rec_acct_attrs.array_char_value(9) := p_source_81;
84230 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
84231 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
84232 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
84233 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
84234 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
84235 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
84236 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
84237 l_rec_acct_attrs.array_char_value(13) := p_source_43;
84238 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
84239 l_rec_acct_attrs.array_num_value(14) := p_source_53;
84240 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
84241 l_rec_acct_attrs.array_num_value(15) := p_source_54;
84242 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
84243 l_rec_acct_attrs.array_char_value(16) := p_source_55;
84244 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
84245 l_rec_acct_attrs.array_num_value(17) := p_source_56;
84246 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
84247 l_rec_acct_attrs.array_num_value(18) := p_source_57;
84248 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
84249 l_rec_acct_attrs.array_num_value(19) := p_source_58;
84250 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
84251 l_rec_acct_attrs.array_char_value(20) := p_source_55;
84252 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
84253 l_rec_acct_attrs.array_num_value(21) := p_source_59;
84254 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
84258 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
84255 l_rec_acct_attrs.array_char_value(22) := p_source_60;
84256 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
84257 l_rec_acct_attrs.array_num_value(23) := p_source_61;
84259 l_rec_acct_attrs.array_char_value(24) := p_source_55;
84260 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
84261 l_rec_acct_attrs.array_date_value(25) := p_source_136;
84262 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
84263 l_rec_acct_attrs.array_num_value(26) := p_source_137;
84264 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
84265 l_rec_acct_attrs.array_char_value(27) := p_source_138;
84266 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
84267 l_rec_acct_attrs.array_num_value(28) := p_source_9;
84268 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
84269 l_rec_acct_attrs.array_date_value(29) := p_source_65;
84270 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
84271 l_rec_acct_attrs.array_char_value(30) := p_source_66;
84272 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
84273 l_rec_acct_attrs.array_date_value(31) := p_source_67;
84274 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
84275 l_rec_acct_attrs.array_char_value(32) := p_source_68;
84276 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
84277 l_rec_acct_attrs.array_num_value(33) := p_source_69;
84278 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
84279 l_rec_acct_attrs.array_num_value(34) := p_source_70;
84280 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
84281 l_rec_acct_attrs.array_char_value(35) := p_source_71;
84282 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
84283 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
84284 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
84285 l_rec_acct_attrs.array_char_value(37) := p_source_43;
84286 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
84287 l_rec_acct_attrs.array_num_value(38) := p_source_74;
84288 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
84289 l_rec_acct_attrs.array_num_value(39) := p_source_75;
84290 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
84291 l_rec_acct_attrs.array_num_value(40) := p_source_76;
84292 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
84293 l_rec_acct_attrs.array_num_value(41) := p_source_77;
84294 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
84295 l_rec_acct_attrs.array_num_value(42) := p_source_78;
84296
84297 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
84298 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
84299
84300 ---------------------------------------------------------------------------------------------------------------
84301 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
84302 ---------------------------------------------------------------------------------------------------------------
84303 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
84304
84305 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84306 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84307
84308 IF xla_accounting_cache_pkg.GetValueChar
84309 (p_source_code => 'LEDGER_CATEGORY_CODE'
84310 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
84311 AND l_bflow_method_code = 'PRIOR_ENTRY'
84312 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
84313 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
84314 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
84315 )
84316 THEN
84317 xla_ae_lines_pkg.BflowUpgEntry
84318 (p_business_method_code => l_bflow_method_code
84319 ,p_business_class_code => l_bflow_class_code
84320 ,p_balance_type => l_balance_type_code);
84321 ELSE
84322 NULL;
84323 -- No business flow processing for business flow method of NONE.
84324 END IF;
84325
84326 --
84327 -- call analytical criteria
84328 --
84329
84330 --
84331 -- call description
84332 --
84333
84334 xla_ae_lines_pkg.SetLineDescription(
84335 p_ae_header_id => l_ae_header_id
84336 ,p_description => Description_2 (
84337 p_application_id => p_application_id
84338 , p_ae_header_id => l_ae_header_id
84339 , p_source_1 => p_source_1
84340 )
84341 );
84342
84343
84344 --
84345 -- call ADRs
84346 -- Bug 4922099
84347 --
84348 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84349 (NVL(l_actual_upg_option, 'N') = 'O') OR
84350 (NVL(l_enc_upg_option, 'N') = 'O')
84351 )
84352 THEN
84353 NULL;
84354 --
84355 --
84356
84357 l_ccid := AcctDerRule_32(
84358 p_application_id => p_application_id
84359 , p_ae_header_id => l_ae_header_id
84360 , p_source_18 => p_source_18
84361 , x_transaction_coa_id => l_adr_transaction_coa_id
84362 , x_accounting_coa_id => l_adr_accounting_coa_id
84366
84363 , x_value_type_code => l_adr_value_type_code
84364 , p_side => 'NA'
84365 );
84367 xla_ae_lines_pkg.set_ccid(
84368 p_code_combination_id => l_ccid
84369 , p_value_type_code => l_adr_value_type_code
84370 , p_transaction_coa_id => l_adr_transaction_coa_id
84371 , p_accounting_coa_id => l_adr_accounting_coa_id
84372 , p_adr_code => 'AP_INVOICE_DIST'
84373 , p_adr_type_code => 'S'
84374 , p_component_type => l_component_type
84375 , p_component_code => l_component_code
84376 , p_component_type_code => l_component_type_code
84377 , p_component_appl_id => l_component_appl_id
84378 , p_amb_context_code => l_amb_context_code
84379 , p_side => 'NA'
84380 );
84381
84382
84383 --
84384 --
84385 END IF;
84386 --
84387 -- Bug 4922099
84388 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
84389 (NVL(l_enc_upg_option, 'N') = 'O')
84390 ) AND
84391 (l_bflow_method_code = 'PRIOR_ENTRY')
84392 )
84393 THEN
84394 IF
84395 --
84396 1 = 2
84397 --
84398 THEN
84399 xla_accounting_err_pkg.build_message
84400 (p_appli_s_name => 'XLA'
84401 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84402 ,p_token_1 => 'LINE_NUMBER'
84403 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
84404 ,p_token_2 => 'LINE_TYPE_NAME'
84405 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
84406 l_component_type
84407 ,l_component_code
84408 ,l_component_type_code
84409 ,l_component_appl_id
84410 ,l_amb_context_code
84411 ,l_entity_code
84412 ,l_event_class_code
84413 )
84414 ,p_token_3 => 'OWNER'
84415 ,p_value_3 => xla_lookups_pkg.get_meaning(
84416 p_lookup_type => 'XLA_OWNER_TYPE'
84417 ,p_lookup_code => l_component_type_code
84418 )
84419 ,p_token_4 => 'PRODUCT_NAME'
84420 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
84421 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
84422 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
84423 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
84424 ,p_ae_header_id => NULL
84425 );
84426
84427 IF (C_LEVEL_ERROR>= g_log_level) THEN
84428 trace
84429 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
84430 ,p_level => C_LEVEL_ERROR
84431 ,p_module => l_log_module);
84432 END IF;
84433 END IF;
84434 END IF;
84435 --
84436 --
84437 ------------------------------------------------------------------------------------------------
84438 -- 4219869 Business Flow
84439 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
84440 -- Prior Entry. Currently, the following code is always generated.
84441 ------------------------------------------------------------------------------------------------
84442 XLA_AE_LINES_PKG.ValidateCurrentLine;
84443
84444 ------------------------------------------------------------------------------------
84445 -- 4219869 Business Flow
84446 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
84447 ------------------------------------------------------------------------------------
84448 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84449
84450 ----------------------------------------------------------------------------------
84451 -- 4219869 Business Flow
84452 -- Update journal entry status -- Need to generate this within IF <condition>
84453 ----------------------------------------------------------------------------------
84454 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84455 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
84456 ,p_balance_type_code => l_balance_type_code
84457 );
84458
84462 BEGIN
84459 -------------------------------------------------------------------------------------------
84460 -- 4262811 - Generate the Accrual Reversal lines
84461 -------------------------------------------------------------------------------------------
84463 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
84464 (g_array_event(p_event_id).array_value_num('header_index'));
84465 IF l_acc_rev_flag IS NULL THEN
84466 l_acc_rev_flag := 'N';
84467 END IF;
84468 EXCEPTION
84469 WHEN OTHERS THEN
84470 l_acc_rev_flag := 'N';
84471 END;
84472 --
84473 IF (l_acc_rev_flag = 'Y') THEN
84474
84475 -- 4645092 ------------------------------------------------------------------------------
84476 -- To allow MPA report to determine if it should generate report process
84477 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
84478 ------------------------------------------------------------------------------------------
84479
84480 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
84481 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
84482 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
84483 -- call ADRs
84484 -- Bug 4922099
84485 --
84486 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
84487 (NVL(l_actual_upg_option, 'N') = 'O') OR
84488 (NVL(l_enc_upg_option, 'N') = 'O')
84489 )
84490 THEN
84491 NULL;
84492 --
84493 --
84494
84495 l_ccid := AcctDerRule_32(
84496 p_application_id => p_application_id
84497 , p_ae_header_id => l_ae_header_id
84498 , p_source_18 => p_source_18
84499 , x_transaction_coa_id => l_adr_transaction_coa_id
84500 , x_accounting_coa_id => l_adr_accounting_coa_id
84501 , x_value_type_code => l_adr_value_type_code
84502 , p_side => 'NA'
84503 );
84504
84505 xla_ae_lines_pkg.set_ccid(
84506 p_code_combination_id => l_ccid
84507 , p_value_type_code => l_adr_value_type_code
84508 , p_transaction_coa_id => l_adr_transaction_coa_id
84509 , p_accounting_coa_id => l_adr_accounting_coa_id
84510 , p_adr_code => 'AP_INVOICE_DIST'
84511 , p_adr_type_code => 'S'
84512 , p_component_type => l_component_type
84513 , p_component_code => l_component_code
84514 , p_component_type_code => l_component_type_code
84515 , p_component_appl_id => l_component_appl_id
84516 , p_amb_context_code => l_amb_context_code
84517 , p_side => 'NA'
84518 );
84519
84520
84521 --
84522 --
84523 END IF;
84524
84525 --
84526 -- Update the line information that should be overwritten
84527 --
84528 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
84529 p_header_num => 1);
84530 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
84531
84532 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
84533
84534 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
84535 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
84536 END IF;
84537
84538 --
84539 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
84540 --
84541 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
84542 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
84543 ELSE
84544 ---------------------------------------------------------------------------------------------------
84545 -- 4262811a Switch Sign
84546 ---------------------------------------------------------------------------------------------------
84547 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
84548 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84550 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
84551 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84552 -- 5132302
84553 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
84554 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
84555
84556 END IF;
84557
84558 -- 4955764
84559 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84560 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
84561
84562
84563 XLA_AE_LINES_PKG.ValidateCurrentLine;
84564 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
84565
84566 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
84567 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
84571
84568 ,p_balance_type_code => l_balance_type_code);
84569
84570 END IF;
84572 -----------------------------------------------------------------------------------------
84573 -- 4262811 Multiperiod Accounting
84574 -----------------------------------------------------------------------------------------
84575 -- No MPA option is assigned.
84576
84577
84578 END IF;
84579 END IF;
84580 --
84581
84582 --
84583 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84584 trace
84585 (p_msg => 'END of AcctLineType_152'
84586 ,p_level => C_LEVEL_PROCEDURE
84587 ,p_module => l_log_module);
84588 END IF;
84589 --
84590 EXCEPTION
84591 WHEN xla_exceptions_pkg.application_exception THEN
84592 RAISE;
84593 WHEN OTHERS THEN
84594 xla_exceptions_pkg.raise_message
84595 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_152');
84596 END AcctLineType_152;
84597 --
84598
84599 ---------------------------------------
84600 --
84601 -- PRIVATE FUNCTION
84602 -- AcctLineType_153
84603 --
84604 ---------------------------------------
84605 PROCEDURE AcctLineType_153 (
84606 p_application_id IN NUMBER
84607 ,p_event_id IN NUMBER
84608 ,p_calculate_acctd_flag IN VARCHAR2
84609 ,p_calculate_g_l_flag IN VARCHAR2
84610 ,p_actual_flag IN OUT VARCHAR2
84611 ,p_balance_type_code OUT VARCHAR2
84612 ,p_gain_or_loss_ref OUT VARCHAR2
84613
84614 --Invoice Distribution Type
84615 , p_source_21 IN VARCHAR2
84616 , p_source_21_meaning IN VARCHAR2
84617 --Accounting Reversal Indicator
84618 , p_source_41 IN VARCHAR2
84619 --Distribution Link Type
84620 , p_source_43 IN VARCHAR2
84621 --Allocation to Main Distribution Identifier
84622 , p_source_45 IN NUMBER
84623 --Invoice Identifier
84624 , p_source_46 IN NUMBER
84625 --Invoice Distribution Identifier
84626 , p_source_52 IN NUMBER
84627 --Payables Encumbrance Upgrade Credit Account
84628 , p_source_53 IN NUMBER
84629 --Payables Encumbrance Upgrade Credit Amount
84630 , p_source_54 IN NUMBER
84631 --Invoice Currency Code
84632 , p_source_55 IN VARCHAR2
84633 --Payables Encumbrance Upgrade Credit Base Amount
84634 , p_source_56 IN NUMBER
84635 --Payables Encumbrance Upgrade Debit Account
84636 , p_source_57 IN NUMBER
84637 --Payables Encumbrance Upgrade Debit Amount
84638 , p_source_58 IN NUMBER
84639 --Payables Encumbrance Upgrade Debit Base Amount
84640 , p_source_59 IN NUMBER
84641 --Payables Encumbrance Upgrade Option
84642 , p_source_60 IN VARCHAR2
84643 --Deferred Accounting End Date
84644 , p_source_65 IN DATE
84645 --Deferred Accounting Option
84646 , p_source_66 IN VARCHAR2
84647 --Deferred Accounting Start Date
84648 , p_source_67 IN DATE
84649 --Override Accounted Amount Indicator
84650 , p_source_68 IN VARCHAR2
84651 , p_source_68_meaning IN VARCHAR2
84652 --Third Party Type
84653 , p_source_71 IN VARCHAR2
84654 --Parent Reversal Identifier
84655 , p_source_72 IN NUMBER
84656 --Invoice Distribution Tax Line Identifier
84657 , p_source_74 IN NUMBER
84658 --Invoice Distribution Tax Distribution Identifier from Tax
84659 , p_source_75 IN NUMBER
84660 --Invoice Distribution Summary Tax Line Identifier
84661 , p_source_76 IN NUMBER
84662 --Payables Upgrade Credit Encumbrance Type Identifier
84663 , p_source_77 IN NUMBER
84664 --Payables Upgrade Debit Encumbrance Type Identifier
84665 , p_source_78 IN NUMBER
84666 --Business Flow Accounts Payable Application Identifier
84667 , p_source_79 IN NUMBER
84668 --Business Flow Invoice Distribution Type
84669 , p_source_80 IN VARCHAR2
84670 --Business Flow Invoice Entity Code
84671 , p_source_81 IN VARCHAR2
84672 --Business Flow Invoice Distribution Identifier
84673 , p_source_82 IN NUMBER
84674 --Business Flow Invoice Identifier
84675 , p_source_83 IN NUMBER
84676 --Purchasing Encumbrance Option
84677 , p_source_86 IN VARCHAR2
84678 , p_source_86_meaning IN VARCHAR2
84679 --Invoice Encumbered Option
84680 , p_source_87 IN VARCHAR2
84681 , p_source_87_meaning IN VARCHAR2
84682 --Invoice Distribution Encumbrance Amount
84683 , p_source_143 IN NUMBER
84684 --Invoice Distribution Encumbrance Ledger Amount
84685 , p_source_144 IN NUMBER
84686 )
84687 IS
84688
84689 l_component_type VARCHAR2(80);
84690 l_component_code VARCHAR2(30);
84691 l_component_type_code VARCHAR2(1);
84692 l_component_appl_id INTEGER;
84693 l_amb_context_code VARCHAR2(30);
84694 l_entity_code VARCHAR2(30);
84695 l_event_class_code VARCHAR2(30);
84696 l_ae_header_id NUMBER;
84697 l_event_type_code VARCHAR2(30);
84698 l_line_definition_code VARCHAR2(30);
84699 l_line_definition_owner_code VARCHAR2(1);
84700 --
84701 -- adr variables
84702 l_segment VARCHAR2(30);
84703 l_ccid NUMBER;
84704 l_adr_transaction_coa_id NUMBER;
84708 l_adr_value_type_code VARCHAR2(30);
84705 l_adr_accounting_coa_id NUMBER;
84706 l_adr_flexfield_segment_code VARCHAR2(30);
84707 l_adr_flex_value_set_id NUMBER;
84709 l_adr_value_combination_id NUMBER;
84710 l_adr_value_segment_code VARCHAR2(30);
84711
84712 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
84713 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
84714 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
84715 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
84716
84717 -- 4262811 Variables ------------------------------------------------------------------------------------------
84718 l_entered_amt_idx NUMBER;
84719 l_accted_amt_idx NUMBER;
84720 l_acc_rev_flag VARCHAR2(1);
84721 l_accrual_line_num NUMBER;
84722 l_tmp_amt NUMBER;
84723 l_acc_rev_natural_side_code VARCHAR2(1);
84724
84725 l_num_entries NUMBER;
84726 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
84727 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
84728 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
84729 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
84730 l_recog_line_1 NUMBER;
84731 l_recog_line_2 NUMBER;
84732
84733 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
84734 l_bflow_applied_to_amt NUMBER; -- 5132302
84735 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
84736
84737 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
84738
84739 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
84740 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
84741
84742 ---------------------------------------------------------------------------------------------------------------
84743
84744
84745 --
84746 -- bulk performance
84747 --
84748 l_balance_type_code VARCHAR2(1);
84749 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
84750 l_log_module VARCHAR2(240);
84751
84752 --
84753 -- Upgrade strategy
84754 --
84755 l_actual_upg_option VARCHAR2(1);
84756 l_enc_upg_option VARCHAR2(1);
84757
84758 --
84759 BEGIN
84760 --
84761 IF g_log_enabled THEN
84762 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_153';
84763 END IF;
84764 --
84765 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
84766
84767 trace
84768 (p_msg => 'BEGIN of AcctLineType_153'
84769 ,p_level => C_LEVEL_PROCEDURE
84770 ,p_module => l_log_module);
84771
84772 END IF;
84773 --
84774 l_component_type := 'AMB_JLT';
84775 l_component_code := 'AP_INV_PRICE_VAR_DM_ENC';
84776 l_component_type_code := 'S';
84777 l_component_appl_id := 200;
84778 l_amb_context_code := 'DEFAULT';
84779 l_entity_code := 'AP_INVOICES';
84780 l_event_class_code := 'DEBIT MEMOS';
84781 l_event_type_code := 'DEBIT MEMOS_ALL';
84782 l_line_definition_owner_code := 'S';
84783 l_line_definition_code := 'ENC_REV_DM_ALL';
84784 --
84785 l_balance_type_code := 'E';
84786 l_segment := NULL;
84787 l_ccid := NULL;
84788 l_adr_transaction_coa_id := NULL;
84789 l_adr_accounting_coa_id := NULL;
84790 l_adr_flexfield_segment_code := NULL;
84791 l_adr_flex_value_set_id := NULL;
84792 l_adr_value_type_code := NULL;
84793 l_adr_value_combination_id := NULL;
84794 l_adr_value_segment_code := NULL;
84795
84796 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
84797 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
84798 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
84799 l_budgetary_control_flag := 'N';
84800
84801 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84802 l_bflow_applied_to_amt := NULL; -- 5132302
84803 l_entered_amt_idx := NULL; -- 4262811
84804 l_accted_amt_idx := NULL; -- 4262811
84805 l_acc_rev_flag := NULL; -- 4262811
84806 l_accrual_line_num := NULL; -- 4262811
84807 l_tmp_amt := NULL; -- 4262811
84808 --
84809
84810 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
84811 l_balance_type_code <> 'B' THEN
84812 IF NVL(p_source_21,'
84813 ') = 'IPV' AND
84814 NVL(p_source_86,'
84815 ') = 'Y' AND
84816 NVL(p_source_87,'
84817 ') = 'Y'
84818 THEN
84819
84820 --
84821 XLA_AE_LINES_PKG.SetNewLine;
84822
84823 p_balance_type_code := l_balance_type_code;
84824 -- set the flag so later we will know whether the gain loss line needs to be created
84825
84826 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
84827 p_actual_flag :='A';
84828 END IF;
84829
84830 --
84831 -- bulk performance
84832 --
84833 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
84834 p_header_num => 0); -- 4262811
84835 --
84836 -- set accounting line options
84837 --
84841 , p_gl_transfer_mode_code => 'S'
84838 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
84839 p_natural_side_code => 'C'
84840 , p_gain_or_loss_flag => 'N'
84842 , p_acct_entry_type_code => 'E'
84843 , p_switch_side_flag => 'Y'
84844 , p_merge_duplicate_code => 'A'
84845 );
84846 --
84847 l_acc_rev_natural_side_code := 'D'; -- 4262811
84848 --
84849 --
84850 -- set accounting line type info
84851 --
84852 xla_ae_lines_pkg.SetAcctLineType
84853 (p_component_type => l_component_type
84854 ,p_event_type_code => l_event_type_code
84855 ,p_line_definition_owner_code => l_line_definition_owner_code
84856 ,p_line_definition_code => l_line_definition_code
84857 ,p_accounting_line_code => l_component_code
84858 ,p_accounting_line_type_code => l_component_type_code
84859 ,p_accounting_line_appl_id => l_component_appl_id
84860 ,p_amb_context_code => l_amb_context_code
84861 ,p_entity_code => l_entity_code
84862 ,p_event_class_code => l_event_class_code);
84863 --
84864 -- set accounting class
84865 --
84866 xla_ae_lines_pkg.SetAcctClass(
84867 p_accounting_class_code => 'IPV'
84868 , p_ae_header_id => l_ae_header_id
84869 );
84870
84871 --
84872 -- set rounding class
84873 --
84874 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
84875 'IPV';
84876
84877 --
84878 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
84879 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
84880 --
84881 -- bulk performance
84882 --
84883 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
84884
84885 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
84886 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
84887
84888 -- 4955764
84889 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
84890 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
84891
84892 -- 4458381 Public Sector Enh
84893
84894 --
84895 -- set accounting attributes for the line type
84896 --
84897 l_entered_amt_idx := 23;
84898 l_accted_amt_idx := 25;
84899 l_bflow_applied_to_amt_idx := NULL; -- 5132302
84900 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
84901 l_rec_acct_attrs.array_char_value(1) := p_source_41;
84902 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
84903 l_rec_acct_attrs.array_num_value(2) :=
84904 xla_ae_sources_pkg.GetSystemSourceNum(
84905 p_source_code => 'XLA_EVENT_APPL_ID'
84906 , p_source_type_code => 'Y'
84907 , p_source_application_id => 602
84908 );
84909 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
84910 l_rec_acct_attrs.array_char_value(3) := p_source_43;
84911 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
84912 l_rec_acct_attrs.array_char_value(4) :=
84913 xla_ae_sources_pkg.GetSystemSourceChar(
84914 p_source_code => 'XLA_ENTITY_CODE'
84915 , p_source_type_code => 'Y'
84916 , p_source_application_id => 602
84917 );
84918 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
84919 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
84920 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
84921 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
84922 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
84923 l_rec_acct_attrs.array_num_value(7) := p_source_79;
84924 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
84925 l_rec_acct_attrs.array_char_value(8) := p_source_80;
84926 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
84927 l_rec_acct_attrs.array_char_value(9) := p_source_81;
84928 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
84929 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
84930 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
84931 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
84932 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
84933 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
84934 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
84935 l_rec_acct_attrs.array_char_value(13) := p_source_43;
84936 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
84937 l_rec_acct_attrs.array_num_value(14) := p_source_53;
84938 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
84939 l_rec_acct_attrs.array_num_value(15) := p_source_54;
84940 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
84941 l_rec_acct_attrs.array_char_value(16) := p_source_55;
84942 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
84943 l_rec_acct_attrs.array_num_value(17) := p_source_56;
84944 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
84948 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
84945 l_rec_acct_attrs.array_num_value(18) := p_source_57;
84946 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
84947 l_rec_acct_attrs.array_num_value(19) := p_source_58;
84949 l_rec_acct_attrs.array_char_value(20) := p_source_55;
84950 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
84951 l_rec_acct_attrs.array_num_value(21) := p_source_59;
84952 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
84953 l_rec_acct_attrs.array_char_value(22) := p_source_60;
84954 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
84955 l_rec_acct_attrs.array_num_value(23) := p_source_143;
84956 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
84957 l_rec_acct_attrs.array_char_value(24) := p_source_55;
84958 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
84959 l_rec_acct_attrs.array_num_value(25) := p_source_144;
84960 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
84961 l_rec_acct_attrs.array_date_value(26) := p_source_65;
84962 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
84963 l_rec_acct_attrs.array_char_value(27) := p_source_66;
84964 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
84965 l_rec_acct_attrs.array_date_value(28) := p_source_67;
84966 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
84967 l_rec_acct_attrs.array_char_value(29) := p_source_68;
84968 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
84969 l_rec_acct_attrs.array_char_value(30) := p_source_71;
84970 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
84971 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
84972 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
84973 l_rec_acct_attrs.array_char_value(32) := p_source_43;
84974 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
84975 l_rec_acct_attrs.array_num_value(33) := p_source_74;
84976 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
84977 l_rec_acct_attrs.array_num_value(34) := p_source_75;
84978 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
84979 l_rec_acct_attrs.array_num_value(35) := p_source_76;
84980 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
84981 l_rec_acct_attrs.array_num_value(36) := p_source_77;
84982 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
84983 l_rec_acct_attrs.array_num_value(37) := p_source_78;
84984
84985 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
84986 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
84987
84988 ---------------------------------------------------------------------------------------------------------------
84989 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
84990 ---------------------------------------------------------------------------------------------------------------
84991 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
84992
84993 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84994 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
84995
84996 IF xla_accounting_cache_pkg.GetValueChar
84997 (p_source_code => 'LEDGER_CATEGORY_CODE'
84998 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
84999 AND l_bflow_method_code = 'PRIOR_ENTRY'
85000 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
85001 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
85002 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
85003 )
85004 THEN
85005 xla_ae_lines_pkg.BflowUpgEntry
85006 (p_business_method_code => l_bflow_method_code
85007 ,p_business_class_code => l_bflow_class_code
85008 ,p_balance_type => l_balance_type_code);
85009 ELSE
85010 NULL;
85011 XLA_AE_LINES_PKG.business_flow_validation(
85012 p_business_method_code => l_bflow_method_code
85013 ,p_business_class_code => l_bflow_class_code
85014 ,p_inherit_description_flag => l_inherit_desc_flag);
85015 END IF;
85016
85017 --
85018 -- call analytical criteria
85019 --
85020 -- Inherited Analytical Criteria for business flow method of Prior Entry.
85021 --
85022 -- call description
85023 --
85024 -- No description or it is inherited.
85025 --
85026 -- call ADRs
85027 -- Bug 4922099
85028 --
85029 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85030 (NVL(l_actual_upg_option, 'N') = 'O') OR
85031 (NVL(l_enc_upg_option, 'N') = 'O')
85032 )
85033 THEN
85034 NULL;
85035 --
85036 --
85037
85038 --
85039 --
85040 END IF;
85041 --
85042 -- Bug 4922099
85043 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
85044 (NVL(l_enc_upg_option, 'N') = 'O')
85045 ) AND
85046 (l_bflow_method_code = 'PRIOR_ENTRY')
85047 )
85048 THEN
85049 IF
85050 --
85051 1 = 1
85052 --
85053 THEN
85054 xla_accounting_err_pkg.build_message
85058 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
85055 (p_appli_s_name => 'XLA'
85056 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85057 ,p_token_1 => 'LINE_NUMBER'
85059 ,p_token_2 => 'LINE_TYPE_NAME'
85060 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
85061 l_component_type
85062 ,l_component_code
85063 ,l_component_type_code
85064 ,l_component_appl_id
85065 ,l_amb_context_code
85066 ,l_entity_code
85067 ,l_event_class_code
85068 )
85069 ,p_token_3 => 'OWNER'
85070 ,p_value_3 => xla_lookups_pkg.get_meaning(
85071 p_lookup_type => 'XLA_OWNER_TYPE'
85072 ,p_lookup_code => l_component_type_code
85073 )
85074 ,p_token_4 => 'PRODUCT_NAME'
85075 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
85076 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
85077 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
85078 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
85079 ,p_ae_header_id => NULL
85080 );
85081
85082 IF (C_LEVEL_ERROR>= g_log_level) THEN
85083 trace
85084 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85085 ,p_level => C_LEVEL_ERROR
85086 ,p_module => l_log_module);
85087 END IF;
85088 END IF;
85089 END IF;
85090 --
85091 --
85092 ------------------------------------------------------------------------------------------------
85093 -- 4219869 Business Flow
85094 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
85095 -- Prior Entry. Currently, the following code is always generated.
85096 ------------------------------------------------------------------------------------------------
85097 -- No ValidateCurrentLine for business flow method of Prior Entry
85098
85099 ------------------------------------------------------------------------------------
85100 -- 4219869 Business Flow
85101 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
85102 ------------------------------------------------------------------------------------
85103 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85104
85105 ----------------------------------------------------------------------------------
85106 -- 4219869 Business Flow
85107 -- Update journal entry status -- Need to generate this within IF <condition>
85108 ----------------------------------------------------------------------------------
85109 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85110 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
85111 ,p_balance_type_code => l_balance_type_code
85112 );
85113
85114 -------------------------------------------------------------------------------------------
85115 -- 4262811 - Generate the Accrual Reversal lines
85116 -------------------------------------------------------------------------------------------
85117 BEGIN
85118 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
85119 (g_array_event(p_event_id).array_value_num('header_index'));
85120 IF l_acc_rev_flag IS NULL THEN
85121 l_acc_rev_flag := 'N';
85122 END IF;
85123 EXCEPTION
85124 WHEN OTHERS THEN
85125 l_acc_rev_flag := 'N';
85126 END;
85127 --
85128 IF (l_acc_rev_flag = 'Y') THEN
85129
85130 -- 4645092 ------------------------------------------------------------------------------
85131 -- To allow MPA report to determine if it should generate report process
85132 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
85133 ------------------------------------------------------------------------------------------
85134
85135 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
85136 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
85137 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
85138 -- call ADRs
85139 -- Bug 4922099
85140 --
85141 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85142 (NVL(l_actual_upg_option, 'N') = 'O') OR
85146 NULL;
85143 (NVL(l_enc_upg_option, 'N') = 'O')
85144 )
85145 THEN
85147 --
85148 --
85149
85150 --
85151 --
85152 END IF;
85153
85154 --
85155 -- Update the line information that should be overwritten
85156 --
85157 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
85158 p_header_num => 1);
85159 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
85160
85161 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
85162
85163 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
85164 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
85165 END IF;
85166
85167 --
85168 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
85169 --
85170 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
85171 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
85172 ELSE
85173 ---------------------------------------------------------------------------------------------------
85174 -- 4262811a Switch Sign
85175 ---------------------------------------------------------------------------------------------------
85176 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
85177 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85178 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85179 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85180 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85181 -- 5132302
85182 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
85183 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85184
85185 END IF;
85186
85187 -- 4955764
85188 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85189 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
85190
85191
85192 XLA_AE_LINES_PKG.ValidateCurrentLine;
85193 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85194
85195 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85196 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
85197 ,p_balance_type_code => l_balance_type_code);
85198
85199 END IF;
85200
85201 -----------------------------------------------------------------------------------------
85202 -- 4262811 Multiperiod Accounting
85203 -----------------------------------------------------------------------------------------
85204 -- No MPA option is assigned.
85205
85206
85207 END IF;
85208 END IF;
85209 --
85210
85211 --
85212 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85213 trace
85214 (p_msg => 'END of AcctLineType_153'
85215 ,p_level => C_LEVEL_PROCEDURE
85216 ,p_module => l_log_module);
85217 END IF;
85218 --
85219 EXCEPTION
85220 WHEN xla_exceptions_pkg.application_exception THEN
85221 RAISE;
85222 WHEN OTHERS THEN
85223 xla_exceptions_pkg.raise_message
85224 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_153');
85225 END AcctLineType_153;
85226 --
85227
85228 ---------------------------------------
85229 --
85230 -- PRIVATE FUNCTION
85231 -- AcctLineType_154
85232 --
85233 ---------------------------------------
85234 PROCEDURE AcctLineType_154 (
85235 p_application_id IN NUMBER
85236 ,p_event_id IN NUMBER
85237 ,p_calculate_acctd_flag IN VARCHAR2
85238 ,p_calculate_g_l_flag IN VARCHAR2
85239 ,p_actual_flag IN OUT VARCHAR2
85240 ,p_balance_type_code OUT VARCHAR2
85241 ,p_gain_or_loss_ref OUT VARCHAR2
85242
85243 --Invoice Distribution Description
85244 , p_source_1 IN VARCHAR2
85245 --Invoice Distribution Ledger Amount
85246 , p_source_9 IN NUMBER
85247 --Invoice Distribution Account
85248 , p_source_18 IN NUMBER
85249 --Invoice Distribution Type
85250 , p_source_21 IN VARCHAR2
85251 , p_source_21_meaning IN VARCHAR2
85252 --Accounting Reversal Indicator
85253 , p_source_41 IN VARCHAR2
85254 --Distribution Link Type
85255 , p_source_43 IN VARCHAR2
85256 --Allocation to Main Distribution Identifier
85257 , p_source_45 IN NUMBER
85258 --Invoice Identifier
85259 , p_source_46 IN NUMBER
85260 --Invoice Distribution Identifier
85261 , p_source_52 IN NUMBER
85262 --Payables Encumbrance Upgrade Credit Account
85263 , p_source_53 IN NUMBER
85264 --Payables Encumbrance Upgrade Credit Amount
85265 , p_source_54 IN NUMBER
85266 --Invoice Currency Code
85267 , p_source_55 IN VARCHAR2
85268 --Payables Encumbrance Upgrade Credit Base Amount
85272 --Payables Encumbrance Upgrade Debit Amount
85269 , p_source_56 IN NUMBER
85270 --Payables Encumbrance Upgrade Debit Account
85271 , p_source_57 IN NUMBER
85273 , p_source_58 IN NUMBER
85274 --Payables Encumbrance Upgrade Debit Base Amount
85275 , p_source_59 IN NUMBER
85276 --Payables Encumbrance Upgrade Option
85277 , p_source_60 IN VARCHAR2
85278 --Invoice Distribution Amount
85279 , p_source_61 IN NUMBER
85280 --Deferred Accounting End Date
85281 , p_source_65 IN DATE
85282 --Deferred Accounting Option
85283 , p_source_66 IN VARCHAR2
85284 --Deferred Accounting Start Date
85285 , p_source_67 IN DATE
85286 --Override Accounted Amount Indicator
85287 , p_source_68 IN VARCHAR2
85288 , p_source_68_meaning IN VARCHAR2
85289 --Invoice Supplier Identifier
85290 , p_source_69 IN NUMBER
85291 --Invoice Supplier Site Identifier
85292 , p_source_70 IN NUMBER
85293 --Third Party Type
85294 , p_source_71 IN VARCHAR2
85295 --Parent Reversal Identifier
85296 , p_source_72 IN NUMBER
85297 --Invoice Distribution Statistical Amount
85298 , p_source_73 IN NUMBER
85299 --Invoice Distribution Tax Line Identifier
85300 , p_source_74 IN NUMBER
85301 --Invoice Distribution Tax Distribution Identifier from Tax
85302 , p_source_75 IN NUMBER
85303 --Invoice Distribution Summary Tax Line Identifier
85304 , p_source_76 IN NUMBER
85305 --Payables Upgrade Credit Encumbrance Type Identifier
85306 , p_source_77 IN NUMBER
85307 --Payables Upgrade Debit Encumbrance Type Identifier
85308 , p_source_78 IN NUMBER
85309 --Business Flow Accounts Payable Application Identifier
85310 , p_source_79 IN NUMBER
85311 --Business Flow Invoice Distribution Type
85312 , p_source_80 IN VARCHAR2
85313 --Business Flow Invoice Entity Code
85314 , p_source_81 IN VARCHAR2
85315 --Business Flow Invoice Distribution Identifier
85316 , p_source_82 IN NUMBER
85317 --Business Flow Invoice Identifier
85318 , p_source_83 IN NUMBER
85319 --Accrue on Receipt Option
85320 , p_source_84 IN VARCHAR2
85321 , p_source_84_meaning IN VARCHAR2
85322 --Invoice Exchange Date
85323 , p_source_136 IN DATE
85324 --Invoice Exchange Rate
85325 , p_source_137 IN NUMBER
85326 --Invoice Exchange Rate Type
85327 , p_source_138 IN VARCHAR2
85328 )
85329 IS
85330
85331 l_component_type VARCHAR2(80);
85332 l_component_code VARCHAR2(30);
85333 l_component_type_code VARCHAR2(1);
85334 l_component_appl_id INTEGER;
85335 l_amb_context_code VARCHAR2(30);
85336 l_entity_code VARCHAR2(30);
85337 l_event_class_code VARCHAR2(30);
85338 l_ae_header_id NUMBER;
85339 l_event_type_code VARCHAR2(30);
85340 l_line_definition_code VARCHAR2(30);
85341 l_line_definition_owner_code VARCHAR2(1);
85342 --
85343 -- adr variables
85344 l_segment VARCHAR2(30);
85345 l_ccid NUMBER;
85346 l_adr_transaction_coa_id NUMBER;
85347 l_adr_accounting_coa_id NUMBER;
85348 l_adr_flexfield_segment_code VARCHAR2(30);
85349 l_adr_flex_value_set_id NUMBER;
85350 l_adr_value_type_code VARCHAR2(30);
85351 l_adr_value_combination_id NUMBER;
85352 l_adr_value_segment_code VARCHAR2(30);
85353
85354 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
85355 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
85356 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
85357 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
85358
85359 -- 4262811 Variables ------------------------------------------------------------------------------------------
85360 l_entered_amt_idx NUMBER;
85361 l_accted_amt_idx NUMBER;
85362 l_acc_rev_flag VARCHAR2(1);
85363 l_accrual_line_num NUMBER;
85364 l_tmp_amt NUMBER;
85365 l_acc_rev_natural_side_code VARCHAR2(1);
85366
85367 l_num_entries NUMBER;
85368 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
85369 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
85370 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
85371 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
85372 l_recog_line_1 NUMBER;
85373 l_recog_line_2 NUMBER;
85374
85375 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
85376 l_bflow_applied_to_amt NUMBER; -- 5132302
85377 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
85378
85379 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
85380
85381 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
85382 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
85383
85384 ---------------------------------------------------------------------------------------------------------------
85385
85386
85387 --
85388 -- bulk performance
85389 --
85390 l_balance_type_code VARCHAR2(1);
85394 --
85391 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
85392 l_log_module VARCHAR2(240);
85393
85395 -- Upgrade strategy
85396 --
85397 l_actual_upg_option VARCHAR2(1);
85398 l_enc_upg_option VARCHAR2(1);
85399
85400 --
85401 BEGIN
85402 --
85403 IF g_log_enabled THEN
85404 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_154';
85405 END IF;
85406 --
85407 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85408
85409 trace
85410 (p_msg => 'BEGIN of AcctLineType_154'
85411 ,p_level => C_LEVEL_PROCEDURE
85412 ,p_module => l_log_module);
85413
85414 END IF;
85415 --
85416 l_component_type := 'AMB_JLT';
85417 l_component_code := 'AP_INV_PRICE_VAR_INV';
85418 l_component_type_code := 'S';
85419 l_component_appl_id := 200;
85420 l_amb_context_code := 'DEFAULT';
85421 l_entity_code := 'AP_INVOICES';
85422 l_event_class_code := 'INVOICES';
85423 l_event_type_code := 'INVOICES_ALL';
85424 l_line_definition_owner_code := 'S';
85425 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
85426 --
85427 l_balance_type_code := 'A';
85428 l_segment := NULL;
85429 l_ccid := NULL;
85430 l_adr_transaction_coa_id := NULL;
85431 l_adr_accounting_coa_id := NULL;
85432 l_adr_flexfield_segment_code := NULL;
85433 l_adr_flex_value_set_id := NULL;
85434 l_adr_value_type_code := NULL;
85435 l_adr_value_combination_id := NULL;
85436 l_adr_value_segment_code := NULL;
85437
85438 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
85439 l_bflow_class_code := ''; -- 4219869 Business Flow
85440 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
85441 l_budgetary_control_flag := 'N';
85442
85443 l_bflow_applied_to_amt_idx := NULL; -- 5132302
85444 l_bflow_applied_to_amt := NULL; -- 5132302
85445 l_entered_amt_idx := NULL; -- 4262811
85446 l_accted_amt_idx := NULL; -- 4262811
85447 l_acc_rev_flag := NULL; -- 4262811
85448 l_accrual_line_num := NULL; -- 4262811
85449 l_tmp_amt := NULL; -- 4262811
85450 --
85451
85452 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
85453 l_balance_type_code <> 'B' THEN
85454 IF NVL(p_source_21,'
85455 ') = 'IPV' AND
85456 NVL(p_source_84,'
85457 ') = 'Y'
85458 THEN
85459
85460 --
85461 XLA_AE_LINES_PKG.SetNewLine;
85462
85463 p_balance_type_code := l_balance_type_code;
85464 -- set the flag so later we will know whether the gain loss line needs to be created
85465
85466 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
85467 p_actual_flag :='A';
85468 END IF;
85469
85470 --
85471 -- bulk performance
85472 --
85473 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
85474 p_header_num => 0); -- 4262811
85475 --
85476 -- set accounting line options
85477 --
85478 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
85479 p_natural_side_code => 'D'
85480 , p_gain_or_loss_flag => 'N'
85481 , p_gl_transfer_mode_code => 'S'
85482 , p_acct_entry_type_code => 'A'
85483 , p_switch_side_flag => 'Y'
85484 , p_merge_duplicate_code => 'A'
85485 );
85486 --
85487 l_acc_rev_natural_side_code := 'C'; -- 4262811
85488 --
85489 --
85490 -- set accounting line type info
85491 --
85492 xla_ae_lines_pkg.SetAcctLineType
85493 (p_component_type => l_component_type
85494 ,p_event_type_code => l_event_type_code
85495 ,p_line_definition_owner_code => l_line_definition_owner_code
85496 ,p_line_definition_code => l_line_definition_code
85497 ,p_accounting_line_code => l_component_code
85498 ,p_accounting_line_type_code => l_component_type_code
85499 ,p_accounting_line_appl_id => l_component_appl_id
85500 ,p_amb_context_code => l_amb_context_code
85501 ,p_entity_code => l_entity_code
85502 ,p_event_class_code => l_event_class_code);
85503 --
85504 -- set accounting class
85505 --
85506 xla_ae_lines_pkg.SetAcctClass(
85507 p_accounting_class_code => 'IPV'
85508 , p_ae_header_id => l_ae_header_id
85509 );
85510
85511 --
85512 -- set rounding class
85513 --
85514 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
85515 'IPV';
85516
85517 --
85518 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
85519 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
85520 --
85521 -- bulk performance
85522 --
85523 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
85524
85525 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
85526 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
85527
85528 -- 4955764
85532 -- 4458381 Public Sector Enh
85529 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85530 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
85531
85533
85534 --
85535 -- set accounting attributes for the line type
85536 --
85537 l_entered_amt_idx := 24;
85538 l_accted_amt_idx := 29;
85539 l_bflow_applied_to_amt_idx := 7; -- 5132302
85540 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
85541 l_rec_acct_attrs.array_char_value(1) := p_source_41;
85542 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
85543 l_rec_acct_attrs.array_num_value(2) :=
85544 xla_ae_sources_pkg.GetSystemSourceNum(
85545 p_source_code => 'XLA_EVENT_APPL_ID'
85546 , p_source_type_code => 'Y'
85547 , p_source_application_id => 602
85548 );
85549 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
85550 l_rec_acct_attrs.array_char_value(3) := p_source_43;
85551 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
85552 l_rec_acct_attrs.array_char_value(4) :=
85553 xla_ae_sources_pkg.GetSystemSourceChar(
85554 p_source_code => 'XLA_ENTITY_CODE'
85555 , p_source_type_code => 'Y'
85556 , p_source_application_id => 602
85557 );
85558 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
85559 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
85560 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
85561 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
85562 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
85563 l_rec_acct_attrs.array_num_value(7) := p_source_61;
85564 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
85565 l_rec_acct_attrs.array_num_value(8) := p_source_79;
85566 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
85567 l_rec_acct_attrs.array_char_value(9) := p_source_80;
85568 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
85569 l_rec_acct_attrs.array_char_value(10) := p_source_81;
85570 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
85571 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
85572 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
85573 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
85574 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
85575 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
85576 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
85577 l_rec_acct_attrs.array_char_value(14) := p_source_43;
85578 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
85579 l_rec_acct_attrs.array_num_value(15) := p_source_53;
85580 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
85581 l_rec_acct_attrs.array_num_value(16) := p_source_54;
85582 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
85583 l_rec_acct_attrs.array_char_value(17) := p_source_55;
85584 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
85585 l_rec_acct_attrs.array_num_value(18) := p_source_56;
85586 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
85587 l_rec_acct_attrs.array_num_value(19) := p_source_57;
85588 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
85589 l_rec_acct_attrs.array_num_value(20) := p_source_58;
85590 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
85591 l_rec_acct_attrs.array_char_value(21) := p_source_55;
85592 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
85593 l_rec_acct_attrs.array_num_value(22) := p_source_59;
85594 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
85595 l_rec_acct_attrs.array_char_value(23) := p_source_60;
85596 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
85597 l_rec_acct_attrs.array_num_value(24) := p_source_61;
85598 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
85599 l_rec_acct_attrs.array_char_value(25) := p_source_55;
85600 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
85601 l_rec_acct_attrs.array_date_value(26) := p_source_136;
85602 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
85603 l_rec_acct_attrs.array_num_value(27) := p_source_137;
85604 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
85605 l_rec_acct_attrs.array_char_value(28) := p_source_138;
85606 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
85607 l_rec_acct_attrs.array_num_value(29) := p_source_9;
85608 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
85609 l_rec_acct_attrs.array_date_value(30) := p_source_65;
85610 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
85611 l_rec_acct_attrs.array_char_value(31) := p_source_66;
85612 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
85613 l_rec_acct_attrs.array_date_value(32) := p_source_67;
85614 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
85615 l_rec_acct_attrs.array_char_value(33) := p_source_68;
85616 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
85617 l_rec_acct_attrs.array_num_value(34) := p_source_69;
85618 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
85619 l_rec_acct_attrs.array_num_value(35) := p_source_70;
85623 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
85620 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
85621 l_rec_acct_attrs.array_char_value(36) := p_source_71;
85622 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
85624 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
85625 l_rec_acct_attrs.array_char_value(38) := p_source_43;
85626 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
85627 l_rec_acct_attrs.array_num_value(39) := p_source_73;
85628 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
85629 l_rec_acct_attrs.array_num_value(40) := p_source_74;
85630 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
85631 l_rec_acct_attrs.array_num_value(41) := p_source_75;
85632 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
85633 l_rec_acct_attrs.array_num_value(42) := p_source_76;
85634 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
85635 l_rec_acct_attrs.array_num_value(43) := p_source_77;
85636 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
85637 l_rec_acct_attrs.array_num_value(44) := p_source_78;
85638
85639 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
85640 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
85641
85642 ---------------------------------------------------------------------------------------------------------------
85643 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
85644 ---------------------------------------------------------------------------------------------------------------
85645 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
85646
85647 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85648 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
85649
85650 IF xla_accounting_cache_pkg.GetValueChar
85651 (p_source_code => 'LEDGER_CATEGORY_CODE'
85652 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
85653 AND l_bflow_method_code = 'PRIOR_ENTRY'
85654 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
85655 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
85656 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
85657 )
85658 THEN
85659 xla_ae_lines_pkg.BflowUpgEntry
85660 (p_business_method_code => l_bflow_method_code
85661 ,p_business_class_code => l_bflow_class_code
85662 ,p_balance_type => l_balance_type_code);
85663 ELSE
85664 NULL;
85665 -- No business flow processing for business flow method of NONE.
85666 END IF;
85667
85668 --
85669 -- call analytical criteria
85670 --
85671
85672 --
85673 -- call description
85674 --
85675
85676 xla_ae_lines_pkg.SetLineDescription(
85677 p_ae_header_id => l_ae_header_id
85678 ,p_description => Description_2 (
85679 p_application_id => p_application_id
85680 , p_ae_header_id => l_ae_header_id
85681 , p_source_1 => p_source_1
85682 )
85683 );
85684
85685
85686 --
85687 -- call ADRs
85688 -- Bug 4922099
85689 --
85690 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85691 (NVL(l_actual_upg_option, 'N') = 'O') OR
85692 (NVL(l_enc_upg_option, 'N') = 'O')
85693 )
85694 THEN
85695 NULL;
85696 --
85697 --
85698
85699 l_ccid := AcctDerRule_32(
85700 p_application_id => p_application_id
85701 , p_ae_header_id => l_ae_header_id
85702 , p_source_18 => p_source_18
85703 , x_transaction_coa_id => l_adr_transaction_coa_id
85704 , x_accounting_coa_id => l_adr_accounting_coa_id
85705 , x_value_type_code => l_adr_value_type_code
85706 , p_side => 'NA'
85707 );
85708
85709 xla_ae_lines_pkg.set_ccid(
85710 p_code_combination_id => l_ccid
85711 , p_value_type_code => l_adr_value_type_code
85712 , p_transaction_coa_id => l_adr_transaction_coa_id
85713 , p_accounting_coa_id => l_adr_accounting_coa_id
85714 , p_adr_code => 'AP_INVOICE_DIST'
85715 , p_adr_type_code => 'S'
85716 , p_component_type => l_component_type
85717 , p_component_code => l_component_code
85718 , p_component_type_code => l_component_type_code
85719 , p_component_appl_id => l_component_appl_id
85720 , p_amb_context_code => l_amb_context_code
85721 , p_side => 'NA'
85722 );
85723
85724
85725 --
85726 --
85727 END IF;
85728 --
85729 -- Bug 4922099
85730 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
85731 (NVL(l_enc_upg_option, 'N') = 'O')
85732 ) AND
85733 (l_bflow_method_code = 'PRIOR_ENTRY')
85734 )
85735 THEN
85736 IF
85737 --
85738 1 = 2
85739 --
85740 THEN
85741 xla_accounting_err_pkg.build_message
85742 (p_appli_s_name => 'XLA'
85746 ,p_token_2 => 'LINE_TYPE_NAME'
85743 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85744 ,p_token_1 => 'LINE_NUMBER'
85745 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
85747 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
85748 l_component_type
85749 ,l_component_code
85750 ,l_component_type_code
85751 ,l_component_appl_id
85752 ,l_amb_context_code
85753 ,l_entity_code
85754 ,l_event_class_code
85755 )
85756 ,p_token_3 => 'OWNER'
85757 ,p_value_3 => xla_lookups_pkg.get_meaning(
85758 p_lookup_type => 'XLA_OWNER_TYPE'
85759 ,p_lookup_code => l_component_type_code
85760 )
85761 ,p_token_4 => 'PRODUCT_NAME'
85762 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
85763 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
85764 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
85765 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
85766 ,p_ae_header_id => NULL
85767 );
85768
85769 IF (C_LEVEL_ERROR>= g_log_level) THEN
85770 trace
85771 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
85772 ,p_level => C_LEVEL_ERROR
85773 ,p_module => l_log_module);
85774 END IF;
85775 END IF;
85776 END IF;
85777 --
85778 --
85779 ------------------------------------------------------------------------------------------------
85780 -- 4219869 Business Flow
85781 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
85782 -- Prior Entry. Currently, the following code is always generated.
85783 ------------------------------------------------------------------------------------------------
85784 XLA_AE_LINES_PKG.ValidateCurrentLine;
85785
85786 ------------------------------------------------------------------------------------
85787 -- 4219869 Business Flow
85788 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
85789 ------------------------------------------------------------------------------------
85790 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85791
85792 ----------------------------------------------------------------------------------
85793 -- 4219869 Business Flow
85794 -- Update journal entry status -- Need to generate this within IF <condition>
85795 ----------------------------------------------------------------------------------
85796 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85797 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
85798 ,p_balance_type_code => l_balance_type_code
85799 );
85800
85801 -------------------------------------------------------------------------------------------
85802 -- 4262811 - Generate the Accrual Reversal lines
85803 -------------------------------------------------------------------------------------------
85804 BEGIN
85805 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
85806 (g_array_event(p_event_id).array_value_num('header_index'));
85807 IF l_acc_rev_flag IS NULL THEN
85808 l_acc_rev_flag := 'N';
85809 END IF;
85810 EXCEPTION
85811 WHEN OTHERS THEN
85812 l_acc_rev_flag := 'N';
85813 END;
85814 --
85815 IF (l_acc_rev_flag = 'Y') THEN
85816
85817 -- 4645092 ------------------------------------------------------------------------------
85818 -- To allow MPA report to determine if it should generate report process
85819 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
85820 ------------------------------------------------------------------------------------------
85821
85822 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
85823 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
85824 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
85825 -- call ADRs
85826 -- Bug 4922099
85827 --
85828 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
85829 (NVL(l_actual_upg_option, 'N') = 'O') OR
85830 (NVL(l_enc_upg_option, 'N') = 'O')
85831 )
85835 --
85832 THEN
85833 NULL;
85834 --
85836
85837 l_ccid := AcctDerRule_32(
85838 p_application_id => p_application_id
85839 , p_ae_header_id => l_ae_header_id
85840 , p_source_18 => p_source_18
85841 , x_transaction_coa_id => l_adr_transaction_coa_id
85842 , x_accounting_coa_id => l_adr_accounting_coa_id
85843 , x_value_type_code => l_adr_value_type_code
85844 , p_side => 'NA'
85845 );
85846
85847 xla_ae_lines_pkg.set_ccid(
85848 p_code_combination_id => l_ccid
85849 , p_value_type_code => l_adr_value_type_code
85850 , p_transaction_coa_id => l_adr_transaction_coa_id
85851 , p_accounting_coa_id => l_adr_accounting_coa_id
85852 , p_adr_code => 'AP_INVOICE_DIST'
85853 , p_adr_type_code => 'S'
85854 , p_component_type => l_component_type
85855 , p_component_code => l_component_code
85856 , p_component_type_code => l_component_type_code
85857 , p_component_appl_id => l_component_appl_id
85858 , p_amb_context_code => l_amb_context_code
85859 , p_side => 'NA'
85860 );
85861
85862
85863 --
85864 --
85865 END IF;
85866
85867 --
85868 -- Update the line information that should be overwritten
85869 --
85870 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
85871 p_header_num => 1);
85872 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
85873
85874 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
85875
85876 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
85877 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
85878 END IF;
85879
85880 --
85881 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
85882 --
85883 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
85884 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
85885 ELSE
85886 ---------------------------------------------------------------------------------------------------
85887 -- 4262811a Switch Sign
85888 ---------------------------------------------------------------------------------------------------
85889 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
85890 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85891 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85892 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
85893 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85894 -- 5132302
85895 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
85896 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
85897
85898 END IF;
85899
85900 -- 4955764
85901 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
85902 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
85903
85904
85905 XLA_AE_LINES_PKG.ValidateCurrentLine;
85906 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
85907
85908 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
85909 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
85910 ,p_balance_type_code => l_balance_type_code);
85911
85912 END IF;
85913
85914 -----------------------------------------------------------------------------------------
85915 -- 4262811 Multiperiod Accounting
85916 -----------------------------------------------------------------------------------------
85917 -- No MPA option is assigned.
85918
85919
85920 END IF;
85921 END IF;
85922 --
85923
85924 --
85925 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85926 trace
85927 (p_msg => 'END of AcctLineType_154'
85928 ,p_level => C_LEVEL_PROCEDURE
85929 ,p_module => l_log_module);
85930 END IF;
85931 --
85932 EXCEPTION
85933 WHEN xla_exceptions_pkg.application_exception THEN
85934 RAISE;
85935 WHEN OTHERS THEN
85936 xla_exceptions_pkg.raise_message
85937 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_154');
85938 END AcctLineType_154;
85939 --
85940
85941 ---------------------------------------
85942 --
85943 -- PRIVATE FUNCTION
85944 -- AcctLineType_155
85945 --
85946 ---------------------------------------
85947 PROCEDURE AcctLineType_155 (
85948 p_application_id IN NUMBER
85949 ,p_event_id IN NUMBER
85950 ,p_calculate_acctd_flag IN VARCHAR2
85951 ,p_calculate_g_l_flag IN VARCHAR2
85952 ,p_actual_flag IN OUT VARCHAR2
85956 --Invoice Distribution Type
85953 ,p_balance_type_code OUT VARCHAR2
85954 ,p_gain_or_loss_ref OUT VARCHAR2
85955
85957 , p_source_21 IN VARCHAR2
85958 , p_source_21_meaning IN VARCHAR2
85959 --Accounting Reversal Indicator
85960 , p_source_41 IN VARCHAR2
85961 --Distribution Link Type
85962 , p_source_43 IN VARCHAR2
85963 --Allocation to Main Distribution Identifier
85964 , p_source_45 IN NUMBER
85965 --Invoice Identifier
85966 , p_source_46 IN NUMBER
85967 --Invoice Distribution Identifier
85968 , p_source_52 IN NUMBER
85969 --Payables Encumbrance Upgrade Credit Account
85970 , p_source_53 IN NUMBER
85971 --Payables Encumbrance Upgrade Credit Amount
85972 , p_source_54 IN NUMBER
85973 --Invoice Currency Code
85974 , p_source_55 IN VARCHAR2
85975 --Payables Encumbrance Upgrade Credit Base Amount
85976 , p_source_56 IN NUMBER
85977 --Payables Encumbrance Upgrade Debit Account
85978 , p_source_57 IN NUMBER
85979 --Payables Encumbrance Upgrade Debit Amount
85980 , p_source_58 IN NUMBER
85981 --Payables Encumbrance Upgrade Debit Base Amount
85982 , p_source_59 IN NUMBER
85983 --Payables Encumbrance Upgrade Option
85984 , p_source_60 IN VARCHAR2
85985 --Invoice Distribution Amount
85986 , p_source_61 IN NUMBER
85987 --Deferred Accounting End Date
85988 , p_source_65 IN DATE
85989 --Deferred Accounting Option
85990 , p_source_66 IN VARCHAR2
85991 --Deferred Accounting Start Date
85992 , p_source_67 IN DATE
85993 --Override Accounted Amount Indicator
85994 , p_source_68 IN VARCHAR2
85995 , p_source_68_meaning IN VARCHAR2
85996 --Third Party Type
85997 , p_source_71 IN VARCHAR2
85998 --Parent Reversal Identifier
85999 , p_source_72 IN NUMBER
86000 --Invoice Distribution Statistical Amount
86001 , p_source_73 IN NUMBER
86002 --Invoice Distribution Tax Line Identifier
86003 , p_source_74 IN NUMBER
86004 --Invoice Distribution Tax Distribution Identifier from Tax
86005 , p_source_75 IN NUMBER
86006 --Invoice Distribution Summary Tax Line Identifier
86007 , p_source_76 IN NUMBER
86008 --Payables Upgrade Credit Encumbrance Type Identifier
86009 , p_source_77 IN NUMBER
86010 --Payables Upgrade Debit Encumbrance Type Identifier
86011 , p_source_78 IN NUMBER
86012 --Business Flow Accounts Payable Application Identifier
86013 , p_source_79 IN NUMBER
86014 --Business Flow Invoice Distribution Type
86015 , p_source_80 IN VARCHAR2
86016 --Business Flow Invoice Entity Code
86017 , p_source_81 IN VARCHAR2
86018 --Business Flow Invoice Distribution Identifier
86019 , p_source_82 IN NUMBER
86020 --Business Flow Invoice Identifier
86021 , p_source_83 IN NUMBER
86022 --Purchasing Encumbrance Option
86023 , p_source_86 IN VARCHAR2
86024 , p_source_86_meaning IN VARCHAR2
86025 --Invoice Encumbered Option
86026 , p_source_87 IN VARCHAR2
86027 , p_source_87_meaning IN VARCHAR2
86028 --Invoice Distribution Encumbrance Amount
86029 , p_source_143 IN NUMBER
86030 --Invoice Distribution Encumbrance Ledger Amount
86031 , p_source_144 IN NUMBER
86032 )
86033 IS
86034
86035 l_component_type VARCHAR2(80);
86036 l_component_code VARCHAR2(30);
86037 l_component_type_code VARCHAR2(1);
86038 l_component_appl_id INTEGER;
86039 l_amb_context_code VARCHAR2(30);
86040 l_entity_code VARCHAR2(30);
86041 l_event_class_code VARCHAR2(30);
86042 l_ae_header_id NUMBER;
86043 l_event_type_code VARCHAR2(30);
86044 l_line_definition_code VARCHAR2(30);
86045 l_line_definition_owner_code VARCHAR2(1);
86046 --
86047 -- adr variables
86048 l_segment VARCHAR2(30);
86049 l_ccid NUMBER;
86050 l_adr_transaction_coa_id NUMBER;
86051 l_adr_accounting_coa_id NUMBER;
86052 l_adr_flexfield_segment_code VARCHAR2(30);
86053 l_adr_flex_value_set_id NUMBER;
86054 l_adr_value_type_code VARCHAR2(30);
86055 l_adr_value_combination_id NUMBER;
86056 l_adr_value_segment_code VARCHAR2(30);
86057
86058 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
86059 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
86060 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
86061 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
86062
86063 -- 4262811 Variables ------------------------------------------------------------------------------------------
86064 l_entered_amt_idx NUMBER;
86065 l_accted_amt_idx NUMBER;
86066 l_acc_rev_flag VARCHAR2(1);
86067 l_accrual_line_num NUMBER;
86068 l_tmp_amt NUMBER;
86069 l_acc_rev_natural_side_code VARCHAR2(1);
86070
86071 l_num_entries NUMBER;
86072 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
86073 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
86074 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
86075 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
86076 l_recog_line_1 NUMBER;
86077 l_recog_line_2 NUMBER;
86078
86082
86079 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
86080 l_bflow_applied_to_amt NUMBER; -- 5132302
86081 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
86083 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
86084
86085 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
86086 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
86087
86088 ---------------------------------------------------------------------------------------------------------------
86089
86090
86091 --
86092 -- bulk performance
86093 --
86094 l_balance_type_code VARCHAR2(1);
86095 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
86096 l_log_module VARCHAR2(240);
86097
86098 --
86099 -- Upgrade strategy
86100 --
86101 l_actual_upg_option VARCHAR2(1);
86102 l_enc_upg_option VARCHAR2(1);
86103
86104 --
86105 BEGIN
86106 --
86107 IF g_log_enabled THEN
86108 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_155';
86109 END IF;
86110 --
86111 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86112
86113 trace
86114 (p_msg => 'BEGIN of AcctLineType_155'
86115 ,p_level => C_LEVEL_PROCEDURE
86116 ,p_module => l_log_module);
86117
86118 END IF;
86119 --
86120 l_component_type := 'AMB_JLT';
86121 l_component_code := 'AP_INV_PRICE_VAR_INV_ENC';
86122 l_component_type_code := 'S';
86123 l_component_appl_id := 200;
86124 l_amb_context_code := 'DEFAULT';
86125 l_entity_code := 'AP_INVOICES';
86126 l_event_class_code := 'INVOICES';
86127 l_event_type_code := 'INVOICES_ALL';
86128 l_line_definition_owner_code := 'S';
86129 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
86130 --
86131 l_balance_type_code := 'E';
86132 l_segment := NULL;
86133 l_ccid := NULL;
86134 l_adr_transaction_coa_id := NULL;
86135 l_adr_accounting_coa_id := NULL;
86136 l_adr_flexfield_segment_code := NULL;
86137 l_adr_flex_value_set_id := NULL;
86138 l_adr_value_type_code := NULL;
86139 l_adr_value_combination_id := NULL;
86140 l_adr_value_segment_code := NULL;
86141
86142 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
86143 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
86144 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
86145 l_budgetary_control_flag := 'N';
86146
86147 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86148 l_bflow_applied_to_amt := NULL; -- 5132302
86149 l_entered_amt_idx := NULL; -- 4262811
86150 l_accted_amt_idx := NULL; -- 4262811
86151 l_acc_rev_flag := NULL; -- 4262811
86152 l_accrual_line_num := NULL; -- 4262811
86153 l_tmp_amt := NULL; -- 4262811
86154 --
86155
86156 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
86157 l_balance_type_code <> 'B' THEN
86158 IF NVL(p_source_21,'
86159 ') = 'IPV' AND
86160 NVL(p_source_86,'
86161 ') = 'Y' AND
86162 NVL(p_source_87,'
86163 ') = 'Y'
86164 THEN
86165
86166 --
86167 XLA_AE_LINES_PKG.SetNewLine;
86168
86169 p_balance_type_code := l_balance_type_code;
86170 -- set the flag so later we will know whether the gain loss line needs to be created
86171
86172 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
86173 p_actual_flag :='A';
86174 END IF;
86175
86176 --
86177 -- bulk performance
86178 --
86179 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
86180 p_header_num => 0); -- 4262811
86181 --
86182 -- set accounting line options
86183 --
86184 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
86185 p_natural_side_code => 'C'
86186 , p_gain_or_loss_flag => 'N'
86187 , p_gl_transfer_mode_code => 'S'
86188 , p_acct_entry_type_code => 'E'
86189 , p_switch_side_flag => 'Y'
86190 , p_merge_duplicate_code => 'A'
86191 );
86192 --
86193 l_acc_rev_natural_side_code := 'D'; -- 4262811
86194 --
86195 --
86196 -- set accounting line type info
86197 --
86198 xla_ae_lines_pkg.SetAcctLineType
86199 (p_component_type => l_component_type
86200 ,p_event_type_code => l_event_type_code
86201 ,p_line_definition_owner_code => l_line_definition_owner_code
86202 ,p_line_definition_code => l_line_definition_code
86203 ,p_accounting_line_code => l_component_code
86204 ,p_accounting_line_type_code => l_component_type_code
86205 ,p_accounting_line_appl_id => l_component_appl_id
86206 ,p_amb_context_code => l_amb_context_code
86207 ,p_entity_code => l_entity_code
86208 ,p_event_class_code => l_event_class_code);
86209 --
86210 -- set accounting class
86211 --
86212 xla_ae_lines_pkg.SetAcctClass(
86213 p_accounting_class_code => 'IPV'
86217 --
86214 , p_ae_header_id => l_ae_header_id
86215 );
86216
86218 -- set rounding class
86219 --
86220 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
86221 'IPV';
86222
86223 --
86224 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
86225 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
86226 --
86227 -- bulk performance
86228 --
86229 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
86230
86231 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
86232 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
86233
86234 -- 4955764
86235 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86236 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
86237
86238 -- 4458381 Public Sector Enh
86239
86240 --
86241 -- set accounting attributes for the line type
86242 --
86243 l_entered_amt_idx := 24;
86244 l_accted_amt_idx := 26;
86245 l_bflow_applied_to_amt_idx := 7; -- 5132302
86246 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
86247 l_rec_acct_attrs.array_char_value(1) := p_source_41;
86248 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
86249 l_rec_acct_attrs.array_num_value(2) :=
86250 xla_ae_sources_pkg.GetSystemSourceNum(
86251 p_source_code => 'XLA_EVENT_APPL_ID'
86252 , p_source_type_code => 'Y'
86253 , p_source_application_id => 602
86254 );
86255 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
86256 l_rec_acct_attrs.array_char_value(3) := p_source_43;
86257 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
86258 l_rec_acct_attrs.array_char_value(4) :=
86259 xla_ae_sources_pkg.GetSystemSourceChar(
86260 p_source_code => 'XLA_ENTITY_CODE'
86261 , p_source_type_code => 'Y'
86262 , p_source_application_id => 602
86263 );
86264 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
86265 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
86266 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
86267 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
86268 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
86269 l_rec_acct_attrs.array_num_value(7) := p_source_61;
86270 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
86271 l_rec_acct_attrs.array_num_value(8) := p_source_79;
86272 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
86273 l_rec_acct_attrs.array_char_value(9) := p_source_80;
86274 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
86275 l_rec_acct_attrs.array_char_value(10) := p_source_81;
86276 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
86277 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
86278 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
86279 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
86280 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
86281 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
86282 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
86283 l_rec_acct_attrs.array_char_value(14) := p_source_43;
86284 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
86285 l_rec_acct_attrs.array_num_value(15) := p_source_53;
86286 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
86287 l_rec_acct_attrs.array_num_value(16) := p_source_54;
86288 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
86289 l_rec_acct_attrs.array_char_value(17) := p_source_55;
86290 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
86291 l_rec_acct_attrs.array_num_value(18) := p_source_56;
86292 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
86293 l_rec_acct_attrs.array_num_value(19) := p_source_57;
86294 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
86295 l_rec_acct_attrs.array_num_value(20) := p_source_58;
86296 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
86297 l_rec_acct_attrs.array_char_value(21) := p_source_55;
86298 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
86299 l_rec_acct_attrs.array_num_value(22) := p_source_59;
86300 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
86301 l_rec_acct_attrs.array_char_value(23) := p_source_60;
86302 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
86303 l_rec_acct_attrs.array_num_value(24) := p_source_143;
86304 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
86305 l_rec_acct_attrs.array_char_value(25) := p_source_55;
86306 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
86307 l_rec_acct_attrs.array_num_value(26) := p_source_144;
86308 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
86309 l_rec_acct_attrs.array_date_value(27) := p_source_65;
86310 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
86311 l_rec_acct_attrs.array_char_value(28) := p_source_66;
86312 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
86313 l_rec_acct_attrs.array_date_value(29) := p_source_67;
86317 l_rec_acct_attrs.array_char_value(31) := p_source_71;
86314 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
86315 l_rec_acct_attrs.array_char_value(30) := p_source_68;
86316 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
86318 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
86319 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
86320 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
86321 l_rec_acct_attrs.array_char_value(33) := p_source_43;
86322 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
86323 l_rec_acct_attrs.array_num_value(34) := p_source_73;
86324 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
86325 l_rec_acct_attrs.array_num_value(35) := p_source_74;
86326 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
86327 l_rec_acct_attrs.array_num_value(36) := p_source_75;
86328 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
86329 l_rec_acct_attrs.array_num_value(37) := p_source_76;
86330 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
86331 l_rec_acct_attrs.array_num_value(38) := p_source_77;
86332 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
86333 l_rec_acct_attrs.array_num_value(39) := p_source_78;
86334
86335 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
86336 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
86337
86338 ---------------------------------------------------------------------------------------------------------------
86339 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
86340 ---------------------------------------------------------------------------------------------------------------
86341 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
86342
86343 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86344 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86345
86346 IF xla_accounting_cache_pkg.GetValueChar
86347 (p_source_code => 'LEDGER_CATEGORY_CODE'
86348 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
86349 AND l_bflow_method_code = 'PRIOR_ENTRY'
86350 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
86351 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
86352 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
86353 )
86354 THEN
86355 xla_ae_lines_pkg.BflowUpgEntry
86356 (p_business_method_code => l_bflow_method_code
86357 ,p_business_class_code => l_bflow_class_code
86358 ,p_balance_type => l_balance_type_code);
86359 ELSE
86360 NULL;
86361 XLA_AE_LINES_PKG.business_flow_validation(
86362 p_business_method_code => l_bflow_method_code
86363 ,p_business_class_code => l_bflow_class_code
86364 ,p_inherit_description_flag => l_inherit_desc_flag);
86365 END IF;
86366
86367 --
86368 -- call analytical criteria
86369 --
86370 -- Inherited Analytical Criteria for business flow method of Prior Entry.
86371 --
86372 -- call description
86373 --
86374 -- No description or it is inherited.
86375 --
86376 -- call ADRs
86377 -- Bug 4922099
86378 --
86379 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86380 (NVL(l_actual_upg_option, 'N') = 'O') OR
86381 (NVL(l_enc_upg_option, 'N') = 'O')
86382 )
86383 THEN
86384 NULL;
86385 --
86386 --
86387
86388 --
86389 --
86390 END IF;
86391 --
86392 -- Bug 4922099
86393 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
86394 (NVL(l_enc_upg_option, 'N') = 'O')
86395 ) AND
86396 (l_bflow_method_code = 'PRIOR_ENTRY')
86397 )
86398 THEN
86399 IF
86400 --
86401 1 = 1
86402 --
86403 THEN
86404 xla_accounting_err_pkg.build_message
86405 (p_appli_s_name => 'XLA'
86406 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86407 ,p_token_1 => 'LINE_NUMBER'
86408 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
86409 ,p_token_2 => 'LINE_TYPE_NAME'
86410 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
86411 l_component_type
86412 ,l_component_code
86413 ,l_component_type_code
86414 ,l_component_appl_id
86415 ,l_amb_context_code
86416 ,l_entity_code
86420 ,p_value_3 => xla_lookups_pkg.get_meaning(
86417 ,l_event_class_code
86418 )
86419 ,p_token_3 => 'OWNER'
86421 p_lookup_type => 'XLA_OWNER_TYPE'
86422 ,p_lookup_code => l_component_type_code
86423 )
86424 ,p_token_4 => 'PRODUCT_NAME'
86425 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
86426 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
86427 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
86428 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
86429 ,p_ae_header_id => NULL
86430 );
86431
86432 IF (C_LEVEL_ERROR>= g_log_level) THEN
86433 trace
86434 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
86435 ,p_level => C_LEVEL_ERROR
86436 ,p_module => l_log_module);
86437 END IF;
86438 END IF;
86439 END IF;
86440 --
86441 --
86442 ------------------------------------------------------------------------------------------------
86443 -- 4219869 Business Flow
86444 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
86445 -- Prior Entry. Currently, the following code is always generated.
86446 ------------------------------------------------------------------------------------------------
86447 -- No ValidateCurrentLine for business flow method of Prior Entry
86448
86449 ------------------------------------------------------------------------------------
86450 -- 4219869 Business Flow
86451 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
86452 ------------------------------------------------------------------------------------
86453 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86454
86455 ----------------------------------------------------------------------------------
86456 -- 4219869 Business Flow
86457 -- Update journal entry status -- Need to generate this within IF <condition>
86458 ----------------------------------------------------------------------------------
86459 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86460 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
86461 ,p_balance_type_code => l_balance_type_code
86462 );
86463
86464 -------------------------------------------------------------------------------------------
86465 -- 4262811 - Generate the Accrual Reversal lines
86466 -------------------------------------------------------------------------------------------
86467 BEGIN
86468 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
86469 (g_array_event(p_event_id).array_value_num('header_index'));
86470 IF l_acc_rev_flag IS NULL THEN
86471 l_acc_rev_flag := 'N';
86472 END IF;
86473 EXCEPTION
86474 WHEN OTHERS THEN
86475 l_acc_rev_flag := 'N';
86476 END;
86477 --
86478 IF (l_acc_rev_flag = 'Y') THEN
86479
86480 -- 4645092 ------------------------------------------------------------------------------
86481 -- To allow MPA report to determine if it should generate report process
86482 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
86483 ------------------------------------------------------------------------------------------
86484
86485 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
86486 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
86487 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
86488 -- call ADRs
86489 -- Bug 4922099
86490 --
86491 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
86492 (NVL(l_actual_upg_option, 'N') = 'O') OR
86493 (NVL(l_enc_upg_option, 'N') = 'O')
86494 )
86495 THEN
86496 NULL;
86497 --
86498 --
86499
86500 --
86501 --
86502 END IF;
86503
86504 --
86505 -- Update the line information that should be overwritten
86506 --
86507 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
86508 p_header_num => 1);
86509 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
86510
86511 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
86512
86513 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
86514 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
86515 END IF;
86516
86517 --
86518 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
86519 --
86523 ---------------------------------------------------------------------------------------------------
86520 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
86521 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
86522 ELSE
86524 -- 4262811a Switch Sign
86525 ---------------------------------------------------------------------------------------------------
86526 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
86527 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86528 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86529 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
86530 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86531 -- 5132302
86532 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
86533 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
86534
86535 END IF;
86536
86537 -- 4955764
86538 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86539 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
86540
86541
86542 XLA_AE_LINES_PKG.ValidateCurrentLine;
86543 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
86544
86545 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
86546 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
86547 ,p_balance_type_code => l_balance_type_code);
86548
86549 END IF;
86550
86551 -----------------------------------------------------------------------------------------
86552 -- 4262811 Multiperiod Accounting
86553 -----------------------------------------------------------------------------------------
86554 -- No MPA option is assigned.
86555
86556
86557 END IF;
86558 END IF;
86559 --
86560
86561 --
86562 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86563 trace
86564 (p_msg => 'END of AcctLineType_155'
86565 ,p_level => C_LEVEL_PROCEDURE
86566 ,p_module => l_log_module);
86567 END IF;
86568 --
86569 EXCEPTION
86570 WHEN xla_exceptions_pkg.application_exception THEN
86571 RAISE;
86572 WHEN OTHERS THEN
86573 xla_exceptions_pkg.raise_message
86574 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_155');
86575 END AcctLineType_155;
86576 --
86577
86578 ---------------------------------------
86579 --
86580 -- PRIVATE FUNCTION
86581 -- AcctLineType_156
86582 --
86583 ---------------------------------------
86584 PROCEDURE AcctLineType_156 (
86585 p_application_id IN NUMBER
86586 ,p_event_id IN NUMBER
86587 ,p_calculate_acctd_flag IN VARCHAR2
86588 ,p_calculate_g_l_flag IN VARCHAR2
86589 ,p_actual_flag IN OUT VARCHAR2
86590 ,p_balance_type_code OUT VARCHAR2
86591 ,p_gain_or_loss_ref OUT VARCHAR2
86592
86593 --Invoice Distribution Type
86594 , p_source_21 IN VARCHAR2
86595 , p_source_21_meaning IN VARCHAR2
86596 --Accounting Reversal Indicator
86597 , p_source_41 IN VARCHAR2
86598 --Distribution Link Type
86599 , p_source_43 IN VARCHAR2
86600 --Allocation to Main Distribution Identifier
86601 , p_source_45 IN NUMBER
86602 --Invoice Identifier
86603 , p_source_46 IN NUMBER
86604 --Invoice Distribution Identifier
86605 , p_source_52 IN NUMBER
86606 --Payables Encumbrance Upgrade Credit Account
86607 , p_source_53 IN NUMBER
86608 --Payables Encumbrance Upgrade Credit Amount
86609 , p_source_54 IN NUMBER
86610 --Invoice Currency Code
86611 , p_source_55 IN VARCHAR2
86612 --Payables Encumbrance Upgrade Credit Base Amount
86613 , p_source_56 IN NUMBER
86614 --Payables Encumbrance Upgrade Debit Account
86615 , p_source_57 IN NUMBER
86616 --Payables Encumbrance Upgrade Debit Amount
86617 , p_source_58 IN NUMBER
86618 --Payables Encumbrance Upgrade Debit Base Amount
86619 , p_source_59 IN NUMBER
86620 --Payables Encumbrance Upgrade Option
86621 , p_source_60 IN VARCHAR2
86622 --Deferred Accounting End Date
86623 , p_source_65 IN DATE
86624 --Deferred Accounting Option
86625 , p_source_66 IN VARCHAR2
86626 --Deferred Accounting Start Date
86627 , p_source_67 IN DATE
86628 --Override Accounted Amount Indicator
86629 , p_source_68 IN VARCHAR2
86630 , p_source_68_meaning IN VARCHAR2
86631 --Third Party Type
86632 , p_source_71 IN VARCHAR2
86633 --Parent Reversal Identifier
86634 , p_source_72 IN NUMBER
86635 --Invoice Distribution Statistical Amount
86636 , p_source_73 IN NUMBER
86637 --Invoice Distribution Tax Line Identifier
86638 , p_source_74 IN NUMBER
86639 --Invoice Distribution Tax Distribution Identifier from Tax
86640 , p_source_75 IN NUMBER
86641 --Invoice Distribution Summary Tax Line Identifier
86642 , p_source_76 IN NUMBER
86646 , p_source_78 IN NUMBER
86643 --Payables Upgrade Credit Encumbrance Type Identifier
86644 , p_source_77 IN NUMBER
86645 --Payables Upgrade Debit Encumbrance Type Identifier
86647 --Business Flow Accounts Payable Application Identifier
86648 , p_source_79 IN NUMBER
86649 --Business Flow Invoice Distribution Type
86650 , p_source_80 IN VARCHAR2
86651 --Business Flow Invoice Entity Code
86652 , p_source_81 IN VARCHAR2
86653 --Business Flow Invoice Distribution Identifier
86654 , p_source_82 IN NUMBER
86655 --Business Flow Invoice Identifier
86656 , p_source_83 IN NUMBER
86657 --Purchasing Encumbrance Option
86658 , p_source_86 IN VARCHAR2
86659 , p_source_86_meaning IN VARCHAR2
86660 --Invoice Encumbered Option
86661 , p_source_87 IN VARCHAR2
86662 , p_source_87_meaning IN VARCHAR2
86663 --Invoice Distribution Encumbrance Amount
86664 , p_source_143 IN NUMBER
86665 --Invoice Distribution Encumbrance Ledger Amount
86666 , p_source_144 IN NUMBER
86667 )
86668 IS
86669
86670 l_component_type VARCHAR2(80);
86671 l_component_code VARCHAR2(30);
86672 l_component_type_code VARCHAR2(1);
86673 l_component_appl_id INTEGER;
86674 l_amb_context_code VARCHAR2(30);
86675 l_entity_code VARCHAR2(30);
86676 l_event_class_code VARCHAR2(30);
86677 l_ae_header_id NUMBER;
86678 l_event_type_code VARCHAR2(30);
86679 l_line_definition_code VARCHAR2(30);
86680 l_line_definition_owner_code VARCHAR2(1);
86681 --
86682 -- adr variables
86683 l_segment VARCHAR2(30);
86684 l_ccid NUMBER;
86685 l_adr_transaction_coa_id NUMBER;
86686 l_adr_accounting_coa_id NUMBER;
86687 l_adr_flexfield_segment_code VARCHAR2(30);
86688 l_adr_flex_value_set_id NUMBER;
86689 l_adr_value_type_code VARCHAR2(30);
86690 l_adr_value_combination_id NUMBER;
86691 l_adr_value_segment_code VARCHAR2(30);
86692
86693 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
86694 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
86695 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
86696 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
86697
86698 -- 4262811 Variables ------------------------------------------------------------------------------------------
86699 l_entered_amt_idx NUMBER;
86700 l_accted_amt_idx NUMBER;
86701 l_acc_rev_flag VARCHAR2(1);
86702 l_accrual_line_num NUMBER;
86703 l_tmp_amt NUMBER;
86704 l_acc_rev_natural_side_code VARCHAR2(1);
86705
86706 l_num_entries NUMBER;
86707 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
86708 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
86709 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
86710 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
86711 l_recog_line_1 NUMBER;
86712 l_recog_line_2 NUMBER;
86713
86714 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
86715 l_bflow_applied_to_amt NUMBER; -- 5132302
86716 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
86717
86718 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
86719
86720 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
86721 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
86722
86723 ---------------------------------------------------------------------------------------------------------------
86724
86725
86726 --
86727 -- bulk performance
86728 --
86729 l_balance_type_code VARCHAR2(1);
86730 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
86731 l_log_module VARCHAR2(240);
86732
86733 --
86734 -- Upgrade strategy
86735 --
86736 l_actual_upg_option VARCHAR2(1);
86737 l_enc_upg_option VARCHAR2(1);
86738
86739 --
86740 BEGIN
86741 --
86742 IF g_log_enabled THEN
86743 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_156';
86744 END IF;
86745 --
86746 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
86747
86748 trace
86749 (p_msg => 'BEGIN of AcctLineType_156'
86750 ,p_level => C_LEVEL_PROCEDURE
86751 ,p_module => l_log_module);
86752
86753 END IF;
86754 --
86755 l_component_type := 'AMB_JLT';
86756 l_component_code := 'AP_INV_PRICE_VAR_PP_ENC';
86757 l_component_type_code := 'S';
86758 l_component_appl_id := 200;
86759 l_amb_context_code := 'DEFAULT';
86760 l_entity_code := 'AP_INVOICES';
86761 l_event_class_code := 'PREPAYMENTS';
86762 l_event_type_code := 'PREPAYMENTS_ALL';
86763 l_line_definition_owner_code := 'S';
86764 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
86765 --
86766 l_balance_type_code := 'E';
86767 l_segment := NULL;
86768 l_ccid := NULL;
86769 l_adr_transaction_coa_id := NULL;
86770 l_adr_accounting_coa_id := NULL;
86771 l_adr_flexfield_segment_code := NULL;
86772 l_adr_flex_value_set_id := NULL;
86776
86773 l_adr_value_type_code := NULL;
86774 l_adr_value_combination_id := NULL;
86775 l_adr_value_segment_code := NULL;
86777 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
86778 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
86779 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
86780 l_budgetary_control_flag := 'N';
86781
86782 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86783 l_bflow_applied_to_amt := NULL; -- 5132302
86784 l_entered_amt_idx := NULL; -- 4262811
86785 l_accted_amt_idx := NULL; -- 4262811
86786 l_acc_rev_flag := NULL; -- 4262811
86787 l_accrual_line_num := NULL; -- 4262811
86788 l_tmp_amt := NULL; -- 4262811
86789 --
86790
86791 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
86792 l_balance_type_code <> 'B' THEN
86793 IF NVL(p_source_21,'
86794 ') = 'IPV' AND
86795 NVL(p_source_86,'
86796 ') = 'Y' AND
86797 NVL(p_source_87,'
86798 ') = 'Y'
86799 THEN
86800
86801 --
86802 XLA_AE_LINES_PKG.SetNewLine;
86803
86804 p_balance_type_code := l_balance_type_code;
86805 -- set the flag so later we will know whether the gain loss line needs to be created
86806
86807 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
86808 p_actual_flag :='A';
86809 END IF;
86810
86811 --
86812 -- bulk performance
86813 --
86814 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
86815 p_header_num => 0); -- 4262811
86816 --
86817 -- set accounting line options
86818 --
86819 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
86820 p_natural_side_code => 'C'
86821 , p_gain_or_loss_flag => 'N'
86822 , p_gl_transfer_mode_code => 'S'
86823 , p_acct_entry_type_code => 'E'
86824 , p_switch_side_flag => 'Y'
86825 , p_merge_duplicate_code => 'A'
86826 );
86827 --
86828 l_acc_rev_natural_side_code := 'D'; -- 4262811
86829 --
86830 --
86831 -- set accounting line type info
86832 --
86833 xla_ae_lines_pkg.SetAcctLineType
86834 (p_component_type => l_component_type
86835 ,p_event_type_code => l_event_type_code
86836 ,p_line_definition_owner_code => l_line_definition_owner_code
86837 ,p_line_definition_code => l_line_definition_code
86838 ,p_accounting_line_code => l_component_code
86839 ,p_accounting_line_type_code => l_component_type_code
86840 ,p_accounting_line_appl_id => l_component_appl_id
86841 ,p_amb_context_code => l_amb_context_code
86842 ,p_entity_code => l_entity_code
86843 ,p_event_class_code => l_event_class_code);
86844 --
86845 -- set accounting class
86846 --
86847 xla_ae_lines_pkg.SetAcctClass(
86848 p_accounting_class_code => 'IPV'
86849 , p_ae_header_id => l_ae_header_id
86850 );
86851
86852 --
86853 -- set rounding class
86854 --
86855 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
86856 'IPV';
86857
86858 --
86859 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
86860 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
86861 --
86862 -- bulk performance
86863 --
86864 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
86865
86866 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
86867 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
86868
86869 -- 4955764
86870 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
86871 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
86872
86873 -- 4458381 Public Sector Enh
86874
86875 --
86876 -- set accounting attributes for the line type
86877 --
86878 l_entered_amt_idx := 23;
86879 l_accted_amt_idx := 25;
86880 l_bflow_applied_to_amt_idx := NULL; -- 5132302
86881 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
86882 l_rec_acct_attrs.array_char_value(1) := p_source_41;
86883 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
86884 l_rec_acct_attrs.array_num_value(2) :=
86885 xla_ae_sources_pkg.GetSystemSourceNum(
86886 p_source_code => 'XLA_EVENT_APPL_ID'
86887 , p_source_type_code => 'Y'
86888 , p_source_application_id => 602
86889 );
86890 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
86891 l_rec_acct_attrs.array_char_value(3) := p_source_43;
86892 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
86893 l_rec_acct_attrs.array_char_value(4) :=
86894 xla_ae_sources_pkg.GetSystemSourceChar(
86895 p_source_code => 'XLA_ENTITY_CODE'
86896 , p_source_type_code => 'Y'
86897 , p_source_application_id => 602
86898 );
86902 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
86899 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
86900 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
86901 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
86903 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
86904 l_rec_acct_attrs.array_num_value(7) := p_source_79;
86905 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
86906 l_rec_acct_attrs.array_char_value(8) := p_source_80;
86907 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
86908 l_rec_acct_attrs.array_char_value(9) := p_source_81;
86909 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
86910 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
86911 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
86912 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
86913 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
86914 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
86915 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
86916 l_rec_acct_attrs.array_char_value(13) := p_source_43;
86917 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
86918 l_rec_acct_attrs.array_num_value(14) := p_source_53;
86919 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
86920 l_rec_acct_attrs.array_num_value(15) := p_source_54;
86921 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
86922 l_rec_acct_attrs.array_char_value(16) := p_source_55;
86923 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
86924 l_rec_acct_attrs.array_num_value(17) := p_source_56;
86925 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
86926 l_rec_acct_attrs.array_num_value(18) := p_source_57;
86927 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
86928 l_rec_acct_attrs.array_num_value(19) := p_source_58;
86929 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
86930 l_rec_acct_attrs.array_char_value(20) := p_source_55;
86931 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
86932 l_rec_acct_attrs.array_num_value(21) := p_source_59;
86933 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
86934 l_rec_acct_attrs.array_char_value(22) := p_source_60;
86935 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
86936 l_rec_acct_attrs.array_num_value(23) := p_source_143;
86937 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
86938 l_rec_acct_attrs.array_char_value(24) := p_source_55;
86939 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
86940 l_rec_acct_attrs.array_num_value(25) := p_source_144;
86941 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
86942 l_rec_acct_attrs.array_date_value(26) := p_source_65;
86943 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
86944 l_rec_acct_attrs.array_char_value(27) := p_source_66;
86945 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
86946 l_rec_acct_attrs.array_date_value(28) := p_source_67;
86947 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
86948 l_rec_acct_attrs.array_char_value(29) := p_source_68;
86949 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
86950 l_rec_acct_attrs.array_char_value(30) := p_source_71;
86951 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
86952 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
86953 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
86954 l_rec_acct_attrs.array_char_value(32) := p_source_43;
86955 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
86956 l_rec_acct_attrs.array_num_value(33) := p_source_73;
86957 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
86958 l_rec_acct_attrs.array_num_value(34) := p_source_74;
86959 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
86960 l_rec_acct_attrs.array_num_value(35) := p_source_75;
86961 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
86962 l_rec_acct_attrs.array_num_value(36) := p_source_76;
86963 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
86964 l_rec_acct_attrs.array_num_value(37) := p_source_77;
86965 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
86966 l_rec_acct_attrs.array_num_value(38) := p_source_78;
86967
86968 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
86969 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
86970
86971 ---------------------------------------------------------------------------------------------------------------
86972 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
86973 ---------------------------------------------------------------------------------------------------------------
86974 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
86975
86976 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86977 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
86978
86979 IF xla_accounting_cache_pkg.GetValueChar
86980 (p_source_code => 'LEDGER_CATEGORY_CODE'
86981 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
86985 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
86982 AND l_bflow_method_code = 'PRIOR_ENTRY'
86983 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
86984 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
86986 )
86987 THEN
86988 xla_ae_lines_pkg.BflowUpgEntry
86989 (p_business_method_code => l_bflow_method_code
86990 ,p_business_class_code => l_bflow_class_code
86991 ,p_balance_type => l_balance_type_code);
86992 ELSE
86993 NULL;
86994 XLA_AE_LINES_PKG.business_flow_validation(
86995 p_business_method_code => l_bflow_method_code
86996 ,p_business_class_code => l_bflow_class_code
86997 ,p_inherit_description_flag => l_inherit_desc_flag);
86998 END IF;
86999
87000 --
87001 -- call analytical criteria
87002 --
87003 -- Inherited Analytical Criteria for business flow method of Prior Entry.
87004 --
87005 -- call description
87006 --
87007 -- No description or it is inherited.
87008 --
87009 -- call ADRs
87010 -- Bug 4922099
87011 --
87012 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87013 (NVL(l_actual_upg_option, 'N') = 'O') OR
87014 (NVL(l_enc_upg_option, 'N') = 'O')
87015 )
87016 THEN
87017 NULL;
87018 --
87019 --
87020
87021 --
87022 --
87023 END IF;
87024 --
87025 -- Bug 4922099
87026 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87027 (NVL(l_enc_upg_option, 'N') = 'O')
87028 ) AND
87029 (l_bflow_method_code = 'PRIOR_ENTRY')
87030 )
87031 THEN
87032 IF
87033 --
87034 1 = 1
87035 --
87036 THEN
87037 xla_accounting_err_pkg.build_message
87038 (p_appli_s_name => 'XLA'
87039 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87040 ,p_token_1 => 'LINE_NUMBER'
87041 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87042 ,p_token_2 => 'LINE_TYPE_NAME'
87043 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87044 l_component_type
87045 ,l_component_code
87046 ,l_component_type_code
87047 ,l_component_appl_id
87048 ,l_amb_context_code
87049 ,l_entity_code
87050 ,l_event_class_code
87051 )
87052 ,p_token_3 => 'OWNER'
87053 ,p_value_3 => xla_lookups_pkg.get_meaning(
87054 p_lookup_type => 'XLA_OWNER_TYPE'
87055 ,p_lookup_code => l_component_type_code
87056 )
87057 ,p_token_4 => 'PRODUCT_NAME'
87058 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87059 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87060 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87061 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87062 ,p_ae_header_id => NULL
87063 );
87064
87065 IF (C_LEVEL_ERROR>= g_log_level) THEN
87066 trace
87067 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87068 ,p_level => C_LEVEL_ERROR
87069 ,p_module => l_log_module);
87070 END IF;
87071 END IF;
87072 END IF;
87073 --
87074 --
87075 ------------------------------------------------------------------------------------------------
87076 -- 4219869 Business Flow
87077 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87078 -- Prior Entry. Currently, the following code is always generated.
87079 ------------------------------------------------------------------------------------------------
87080 -- No ValidateCurrentLine for business flow method of Prior Entry
87081
87082 ------------------------------------------------------------------------------------
87083 -- 4219869 Business Flow
87084 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87085 ------------------------------------------------------------------------------------
87089 -- 4219869 Business Flow
87086 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87087
87088 ----------------------------------------------------------------------------------
87090 -- Update journal entry status -- Need to generate this within IF <condition>
87091 ----------------------------------------------------------------------------------
87092 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87093 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87094 ,p_balance_type_code => l_balance_type_code
87095 );
87096
87097 -------------------------------------------------------------------------------------------
87098 -- 4262811 - Generate the Accrual Reversal lines
87099 -------------------------------------------------------------------------------------------
87100 BEGIN
87101 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87102 (g_array_event(p_event_id).array_value_num('header_index'));
87103 IF l_acc_rev_flag IS NULL THEN
87104 l_acc_rev_flag := 'N';
87105 END IF;
87106 EXCEPTION
87107 WHEN OTHERS THEN
87108 l_acc_rev_flag := 'N';
87109 END;
87110 --
87111 IF (l_acc_rev_flag = 'Y') THEN
87112
87113 -- 4645092 ------------------------------------------------------------------------------
87114 -- To allow MPA report to determine if it should generate report process
87115 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
87116 ------------------------------------------------------------------------------------------
87117
87118 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
87119 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
87120 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
87121 -- call ADRs
87122 -- Bug 4922099
87123 --
87124 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87125 (NVL(l_actual_upg_option, 'N') = 'O') OR
87126 (NVL(l_enc_upg_option, 'N') = 'O')
87127 )
87128 THEN
87129 NULL;
87130 --
87131 --
87132
87133 --
87134 --
87135 END IF;
87136
87137 --
87138 -- Update the line information that should be overwritten
87139 --
87140 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
87141 p_header_num => 1);
87142 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
87143
87144 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
87145
87146 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
87147 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
87148 END IF;
87149
87150 --
87151 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
87152 --
87153 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
87154 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
87155 ELSE
87156 ---------------------------------------------------------------------------------------------------
87157 -- 4262811a Switch Sign
87158 ---------------------------------------------------------------------------------------------------
87159 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
87160 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87161 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87162 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87163 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87164 -- 5132302
87165 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
87166 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87167
87168 END IF;
87169
87170 -- 4955764
87171 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87172 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
87173
87174
87175 XLA_AE_LINES_PKG.ValidateCurrentLine;
87176 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87177
87178 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87179 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
87180 ,p_balance_type_code => l_balance_type_code);
87181
87182 END IF;
87183
87184 -----------------------------------------------------------------------------------------
87185 -- 4262811 Multiperiod Accounting
87186 -----------------------------------------------------------------------------------------
87187 -- No MPA option is assigned.
87188
87189
87190 END IF;
87191 END IF;
87192 --
87193
87194 --
87195 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87196 trace
87197 (p_msg => 'END of AcctLineType_156'
87198 ,p_level => C_LEVEL_PROCEDURE
87202 EXCEPTION
87199 ,p_module => l_log_module);
87200 END IF;
87201 --
87203 WHEN xla_exceptions_pkg.application_exception THEN
87204 RAISE;
87205 WHEN OTHERS THEN
87206 xla_exceptions_pkg.raise_message
87207 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_156');
87208 END AcctLineType_156;
87209 --
87210
87211 ---------------------------------------
87212 --
87213 -- PRIVATE FUNCTION
87214 -- AcctLineType_157
87215 --
87216 ---------------------------------------
87217 PROCEDURE AcctLineType_157 (
87218 p_application_id IN NUMBER
87219 ,p_event_id IN NUMBER
87220 ,p_calculate_acctd_flag IN VARCHAR2
87221 ,p_calculate_g_l_flag IN VARCHAR2
87222 ,p_actual_flag IN OUT VARCHAR2
87223 ,p_balance_type_code OUT VARCHAR2
87224 ,p_gain_or_loss_ref OUT VARCHAR2
87225
87226 --Invoice Distribution Description
87227 , p_source_1 IN VARCHAR2
87228 --Invoice Distribution Ledger Amount
87229 , p_source_9 IN NUMBER
87230 --Invoice Distribution Account
87231 , p_source_18 IN NUMBER
87232 --Invoice Distribution Type
87233 , p_source_21 IN VARCHAR2
87234 , p_source_21_meaning IN VARCHAR2
87235 --Accounting Reversal Indicator
87236 , p_source_41 IN VARCHAR2
87237 --Distribution Link Type
87238 , p_source_43 IN VARCHAR2
87239 --Allocation to Main Distribution Identifier
87240 , p_source_45 IN NUMBER
87241 --Invoice Identifier
87242 , p_source_46 IN NUMBER
87243 --Invoice Distribution Identifier
87244 , p_source_52 IN NUMBER
87245 --Payables Encumbrance Upgrade Credit Account
87246 , p_source_53 IN NUMBER
87247 --Payables Encumbrance Upgrade Credit Amount
87248 , p_source_54 IN NUMBER
87249 --Invoice Currency Code
87250 , p_source_55 IN VARCHAR2
87251 --Payables Encumbrance Upgrade Credit Base Amount
87252 , p_source_56 IN NUMBER
87253 --Payables Encumbrance Upgrade Debit Account
87254 , p_source_57 IN NUMBER
87255 --Payables Encumbrance Upgrade Debit Amount
87256 , p_source_58 IN NUMBER
87257 --Payables Encumbrance Upgrade Debit Base Amount
87258 , p_source_59 IN NUMBER
87259 --Payables Encumbrance Upgrade Option
87260 , p_source_60 IN VARCHAR2
87261 --Invoice Distribution Amount
87262 , p_source_61 IN NUMBER
87263 --Deferred Accounting End Date
87264 , p_source_65 IN DATE
87265 --Deferred Accounting Option
87266 , p_source_66 IN VARCHAR2
87267 --Deferred Accounting Start Date
87268 , p_source_67 IN DATE
87269 --Override Accounted Amount Indicator
87270 , p_source_68 IN VARCHAR2
87271 , p_source_68_meaning IN VARCHAR2
87272 --Invoice Supplier Identifier
87273 , p_source_69 IN NUMBER
87274 --Invoice Supplier Site Identifier
87275 , p_source_70 IN NUMBER
87276 --Third Party Type
87277 , p_source_71 IN VARCHAR2
87278 --Parent Reversal Identifier
87279 , p_source_72 IN NUMBER
87280 --Invoice Distribution Statistical Amount
87281 , p_source_73 IN NUMBER
87282 --Invoice Distribution Tax Line Identifier
87283 , p_source_74 IN NUMBER
87284 --Invoice Distribution Tax Distribution Identifier from Tax
87285 , p_source_75 IN NUMBER
87286 --Invoice Distribution Summary Tax Line Identifier
87287 , p_source_76 IN NUMBER
87288 --Payables Upgrade Credit Encumbrance Type Identifier
87289 , p_source_77 IN NUMBER
87290 --Payables Upgrade Debit Encumbrance Type Identifier
87291 , p_source_78 IN NUMBER
87292 --Business Flow Accounts Payable Application Identifier
87293 , p_source_79 IN NUMBER
87294 --Business Flow Invoice Distribution Type
87295 , p_source_80 IN VARCHAR2
87296 --Business Flow Invoice Entity Code
87297 , p_source_81 IN VARCHAR2
87298 --Business Flow Invoice Distribution Identifier
87299 , p_source_82 IN NUMBER
87300 --Business Flow Invoice Identifier
87301 , p_source_83 IN NUMBER
87302 --Accrue on Receipt Option
87303 , p_source_84 IN VARCHAR2
87304 , p_source_84_meaning IN VARCHAR2
87305 --Invoice Exchange Date
87306 , p_source_136 IN DATE
87307 --Invoice Exchange Rate
87308 , p_source_137 IN NUMBER
87309 --Invoice Exchange Rate Type
87310 , p_source_138 IN VARCHAR2
87311 )
87312 IS
87313
87314 l_component_type VARCHAR2(80);
87315 l_component_code VARCHAR2(30);
87316 l_component_type_code VARCHAR2(1);
87317 l_component_appl_id INTEGER;
87318 l_amb_context_code VARCHAR2(30);
87319 l_entity_code VARCHAR2(30);
87320 l_event_class_code VARCHAR2(30);
87321 l_ae_header_id NUMBER;
87322 l_event_type_code VARCHAR2(30);
87323 l_line_definition_code VARCHAR2(30);
87324 l_line_definition_owner_code VARCHAR2(1);
87325 --
87326 -- adr variables
87327 l_segment VARCHAR2(30);
87328 l_ccid NUMBER;
87329 l_adr_transaction_coa_id NUMBER;
87330 l_adr_accounting_coa_id NUMBER;
87331 l_adr_flexfield_segment_code VARCHAR2(30);
87332 l_adr_flex_value_set_id NUMBER;
87333 l_adr_value_type_code VARCHAR2(30);
87337 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
87334 l_adr_value_combination_id NUMBER;
87335 l_adr_value_segment_code VARCHAR2(30);
87336
87338 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
87339 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
87340 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
87341
87342 -- 4262811 Variables ------------------------------------------------------------------------------------------
87343 l_entered_amt_idx NUMBER;
87344 l_accted_amt_idx NUMBER;
87345 l_acc_rev_flag VARCHAR2(1);
87346 l_accrual_line_num NUMBER;
87347 l_tmp_amt NUMBER;
87348 l_acc_rev_natural_side_code VARCHAR2(1);
87349
87350 l_num_entries NUMBER;
87351 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
87352 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
87353 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
87354 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
87355 l_recog_line_1 NUMBER;
87356 l_recog_line_2 NUMBER;
87357
87358 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
87359 l_bflow_applied_to_amt NUMBER; -- 5132302
87360 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
87361
87362 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
87363
87364 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
87365 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
87366
87367 ---------------------------------------------------------------------------------------------------------------
87368
87369
87370 --
87371 -- bulk performance
87372 --
87373 l_balance_type_code VARCHAR2(1);
87374 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
87375 l_log_module VARCHAR2(240);
87376
87377 --
87378 -- Upgrade strategy
87379 --
87380 l_actual_upg_option VARCHAR2(1);
87381 l_enc_upg_option VARCHAR2(1);
87382
87383 --
87384 BEGIN
87385 --
87386 IF g_log_enabled THEN
87387 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_157';
87388 END IF;
87389 --
87390 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87391
87392 trace
87393 (p_msg => 'BEGIN of AcctLineType_157'
87394 ,p_level => C_LEVEL_PROCEDURE
87395 ,p_module => l_log_module);
87396
87397 END IF;
87398 --
87399 l_component_type := 'AMB_JLT';
87400 l_component_code := 'AP_INV_PRICE_VAR_PREPAY';
87401 l_component_type_code := 'S';
87402 l_component_appl_id := 200;
87403 l_amb_context_code := 'DEFAULT';
87404 l_entity_code := 'AP_INVOICES';
87405 l_event_class_code := 'PREPAYMENTS';
87406 l_event_type_code := 'PREPAYMENTS_ALL';
87407 l_line_definition_owner_code := 'S';
87408 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
87409 --
87410 l_balance_type_code := 'A';
87411 l_segment := NULL;
87412 l_ccid := NULL;
87413 l_adr_transaction_coa_id := NULL;
87414 l_adr_accounting_coa_id := NULL;
87415 l_adr_flexfield_segment_code := NULL;
87416 l_adr_flex_value_set_id := NULL;
87417 l_adr_value_type_code := NULL;
87418 l_adr_value_combination_id := NULL;
87419 l_adr_value_segment_code := NULL;
87420
87421 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
87422 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
87423 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
87424 l_budgetary_control_flag := 'N';
87425
87426 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87427 l_bflow_applied_to_amt := NULL; -- 5132302
87428 l_entered_amt_idx := NULL; -- 4262811
87429 l_accted_amt_idx := NULL; -- 4262811
87430 l_acc_rev_flag := NULL; -- 4262811
87431 l_accrual_line_num := NULL; -- 4262811
87432 l_tmp_amt := NULL; -- 4262811
87433 --
87434
87435 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
87436 l_balance_type_code <> 'B' THEN
87437 IF NVL(p_source_21,'
87438 ') = 'IPV' AND
87439 NVL(p_source_84,'
87440 ') = 'Y'
87441 THEN
87442
87443 --
87444 XLA_AE_LINES_PKG.SetNewLine;
87445
87446 p_balance_type_code := l_balance_type_code;
87447 -- set the flag so later we will know whether the gain loss line needs to be created
87448
87449 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
87450 p_actual_flag :='A';
87451 END IF;
87452
87453 --
87454 -- bulk performance
87455 --
87456 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
87457 p_header_num => 0); -- 4262811
87458 --
87459 -- set accounting line options
87460 --
87461 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
87462 p_natural_side_code => 'D'
87463 , p_gain_or_loss_flag => 'N'
87464 , p_gl_transfer_mode_code => 'S'
87468 );
87465 , p_acct_entry_type_code => 'A'
87466 , p_switch_side_flag => 'Y'
87467 , p_merge_duplicate_code => 'A'
87469 --
87470 l_acc_rev_natural_side_code := 'C'; -- 4262811
87471 --
87472 --
87473 -- set accounting line type info
87474 --
87475 xla_ae_lines_pkg.SetAcctLineType
87476 (p_component_type => l_component_type
87477 ,p_event_type_code => l_event_type_code
87478 ,p_line_definition_owner_code => l_line_definition_owner_code
87479 ,p_line_definition_code => l_line_definition_code
87480 ,p_accounting_line_code => l_component_code
87481 ,p_accounting_line_type_code => l_component_type_code
87482 ,p_accounting_line_appl_id => l_component_appl_id
87483 ,p_amb_context_code => l_amb_context_code
87484 ,p_entity_code => l_entity_code
87485 ,p_event_class_code => l_event_class_code);
87486 --
87487 -- set accounting class
87488 --
87489 xla_ae_lines_pkg.SetAcctClass(
87490 p_accounting_class_code => 'IPV'
87491 , p_ae_header_id => l_ae_header_id
87492 );
87493
87494 --
87495 -- set rounding class
87496 --
87497 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
87498 'IPV';
87499
87500 --
87501 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
87502 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
87503 --
87504 -- bulk performance
87505 --
87506 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
87507
87508 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
87509 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
87510
87511 -- 4955764
87512 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87513 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
87514
87515 -- 4458381 Public Sector Enh
87516
87517 --
87518 -- set accounting attributes for the line type
87519 --
87520 l_entered_amt_idx := 23;
87521 l_accted_amt_idx := 28;
87522 l_bflow_applied_to_amt_idx := NULL; -- 5132302
87523 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
87524 l_rec_acct_attrs.array_char_value(1) := p_source_41;
87525 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
87526 l_rec_acct_attrs.array_num_value(2) :=
87527 xla_ae_sources_pkg.GetSystemSourceNum(
87528 p_source_code => 'XLA_EVENT_APPL_ID'
87529 , p_source_type_code => 'Y'
87530 , p_source_application_id => 602
87531 );
87532 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
87533 l_rec_acct_attrs.array_char_value(3) := p_source_43;
87534 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
87535 l_rec_acct_attrs.array_char_value(4) :=
87536 xla_ae_sources_pkg.GetSystemSourceChar(
87537 p_source_code => 'XLA_ENTITY_CODE'
87538 , p_source_type_code => 'Y'
87539 , p_source_application_id => 602
87540 );
87541 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
87542 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
87543 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
87544 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
87545 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
87546 l_rec_acct_attrs.array_num_value(7) := p_source_79;
87547 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
87548 l_rec_acct_attrs.array_char_value(8) := p_source_80;
87549 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
87550 l_rec_acct_attrs.array_char_value(9) := p_source_81;
87551 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
87552 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
87553 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
87554 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
87555 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
87556 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
87557 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
87558 l_rec_acct_attrs.array_char_value(13) := p_source_43;
87559 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
87560 l_rec_acct_attrs.array_num_value(14) := p_source_53;
87561 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
87562 l_rec_acct_attrs.array_num_value(15) := p_source_54;
87563 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
87564 l_rec_acct_attrs.array_char_value(16) := p_source_55;
87565 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
87566 l_rec_acct_attrs.array_num_value(17) := p_source_56;
87567 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
87568 l_rec_acct_attrs.array_num_value(18) := p_source_57;
87569 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
87570 l_rec_acct_attrs.array_num_value(19) := p_source_58;
87571 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
87572 l_rec_acct_attrs.array_char_value(20) := p_source_55;
87576 l_rec_acct_attrs.array_char_value(22) := p_source_60;
87573 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
87574 l_rec_acct_attrs.array_num_value(21) := p_source_59;
87575 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
87577 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
87578 l_rec_acct_attrs.array_num_value(23) := p_source_61;
87579 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
87580 l_rec_acct_attrs.array_char_value(24) := p_source_55;
87581 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
87582 l_rec_acct_attrs.array_date_value(25) := p_source_136;
87583 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
87584 l_rec_acct_attrs.array_num_value(26) := p_source_137;
87585 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
87586 l_rec_acct_attrs.array_char_value(27) := p_source_138;
87587 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
87588 l_rec_acct_attrs.array_num_value(28) := p_source_9;
87589 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
87590 l_rec_acct_attrs.array_date_value(29) := p_source_65;
87591 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
87592 l_rec_acct_attrs.array_char_value(30) := p_source_66;
87593 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
87594 l_rec_acct_attrs.array_date_value(31) := p_source_67;
87595 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
87596 l_rec_acct_attrs.array_char_value(32) := p_source_68;
87597 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
87598 l_rec_acct_attrs.array_num_value(33) := p_source_69;
87599 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
87600 l_rec_acct_attrs.array_num_value(34) := p_source_70;
87601 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
87602 l_rec_acct_attrs.array_char_value(35) := p_source_71;
87603 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
87604 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
87605 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
87606 l_rec_acct_attrs.array_char_value(37) := p_source_43;
87607 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
87608 l_rec_acct_attrs.array_num_value(38) := p_source_73;
87609 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
87610 l_rec_acct_attrs.array_num_value(39) := p_source_74;
87611 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
87612 l_rec_acct_attrs.array_num_value(40) := p_source_75;
87613 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
87614 l_rec_acct_attrs.array_num_value(41) := p_source_76;
87615 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
87616 l_rec_acct_attrs.array_num_value(42) := p_source_77;
87617 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
87618 l_rec_acct_attrs.array_num_value(43) := p_source_78;
87619
87620 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
87621 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
87622
87623 ---------------------------------------------------------------------------------------------------------------
87624 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
87625 ---------------------------------------------------------------------------------------------------------------
87626 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
87627
87628 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87629 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
87630
87631 IF xla_accounting_cache_pkg.GetValueChar
87632 (p_source_code => 'LEDGER_CATEGORY_CODE'
87633 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
87634 AND l_bflow_method_code = 'PRIOR_ENTRY'
87635 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
87636 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
87637 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
87638 )
87639 THEN
87640 xla_ae_lines_pkg.BflowUpgEntry
87641 (p_business_method_code => l_bflow_method_code
87642 ,p_business_class_code => l_bflow_class_code
87643 ,p_balance_type => l_balance_type_code);
87644 ELSE
87645 NULL;
87646 -- No business flow processing for business flow method of NONE.
87647 END IF;
87648
87649 --
87650 -- call analytical criteria
87651 --
87652
87653 --
87654 -- call description
87655 --
87656
87657 xla_ae_lines_pkg.SetLineDescription(
87658 p_ae_header_id => l_ae_header_id
87659 ,p_description => Description_2 (
87660 p_application_id => p_application_id
87661 , p_ae_header_id => l_ae_header_id
87662 , p_source_1 => p_source_1
87663 )
87664 );
87665
87666
87667 --
87668 -- call ADRs
87669 -- Bug 4922099
87670 --
87671 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87672 (NVL(l_actual_upg_option, 'N') = 'O') OR
87673 (NVL(l_enc_upg_option, 'N') = 'O')
87674 )
87675 THEN
87679
87676 NULL;
87677 --
87678 --
87680 l_ccid := AcctDerRule_32(
87681 p_application_id => p_application_id
87682 , p_ae_header_id => l_ae_header_id
87683 , p_source_18 => p_source_18
87684 , x_transaction_coa_id => l_adr_transaction_coa_id
87685 , x_accounting_coa_id => l_adr_accounting_coa_id
87686 , x_value_type_code => l_adr_value_type_code
87687 , p_side => 'NA'
87688 );
87689
87690 xla_ae_lines_pkg.set_ccid(
87691 p_code_combination_id => l_ccid
87692 , p_value_type_code => l_adr_value_type_code
87693 , p_transaction_coa_id => l_adr_transaction_coa_id
87694 , p_accounting_coa_id => l_adr_accounting_coa_id
87695 , p_adr_code => 'AP_INVOICE_DIST'
87696 , p_adr_type_code => 'S'
87697 , p_component_type => l_component_type
87698 , p_component_code => l_component_code
87699 , p_component_type_code => l_component_type_code
87700 , p_component_appl_id => l_component_appl_id
87701 , p_amb_context_code => l_amb_context_code
87702 , p_side => 'NA'
87703 );
87704
87705
87706 --
87707 --
87708 END IF;
87709 --
87710 -- Bug 4922099
87711 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
87712 (NVL(l_enc_upg_option, 'N') = 'O')
87713 ) AND
87714 (l_bflow_method_code = 'PRIOR_ENTRY')
87715 )
87716 THEN
87717 IF
87718 --
87719 1 = 2
87720 --
87721 THEN
87722 xla_accounting_err_pkg.build_message
87723 (p_appli_s_name => 'XLA'
87724 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87725 ,p_token_1 => 'LINE_NUMBER'
87726 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
87727 ,p_token_2 => 'LINE_TYPE_NAME'
87728 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
87729 l_component_type
87730 ,l_component_code
87731 ,l_component_type_code
87732 ,l_component_appl_id
87733 ,l_amb_context_code
87734 ,l_entity_code
87735 ,l_event_class_code
87736 )
87737 ,p_token_3 => 'OWNER'
87738 ,p_value_3 => xla_lookups_pkg.get_meaning(
87739 p_lookup_type => 'XLA_OWNER_TYPE'
87740 ,p_lookup_code => l_component_type_code
87741 )
87742 ,p_token_4 => 'PRODUCT_NAME'
87743 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
87744 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
87745 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
87746 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
87747 ,p_ae_header_id => NULL
87748 );
87749
87750 IF (C_LEVEL_ERROR>= g_log_level) THEN
87751 trace
87752 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
87753 ,p_level => C_LEVEL_ERROR
87754 ,p_module => l_log_module);
87755 END IF;
87756 END IF;
87757 END IF;
87758 --
87759 --
87760 ------------------------------------------------------------------------------------------------
87761 -- 4219869 Business Flow
87762 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
87763 -- Prior Entry. Currently, the following code is always generated.
87764 ------------------------------------------------------------------------------------------------
87765 XLA_AE_LINES_PKG.ValidateCurrentLine;
87766
87767 ------------------------------------------------------------------------------------
87768 -- 4219869 Business Flow
87769 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
87770 ------------------------------------------------------------------------------------
87771 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87772
87773 ----------------------------------------------------------------------------------
87774 -- 4219869 Business Flow
87778 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
87775 -- Update journal entry status -- Need to generate this within IF <condition>
87776 ----------------------------------------------------------------------------------
87777 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87779 ,p_balance_type_code => l_balance_type_code
87780 );
87781
87782 -------------------------------------------------------------------------------------------
87783 -- 4262811 - Generate the Accrual Reversal lines
87784 -------------------------------------------------------------------------------------------
87785 BEGIN
87786 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
87787 (g_array_event(p_event_id).array_value_num('header_index'));
87788 IF l_acc_rev_flag IS NULL THEN
87789 l_acc_rev_flag := 'N';
87790 END IF;
87791 EXCEPTION
87792 WHEN OTHERS THEN
87793 l_acc_rev_flag := 'N';
87794 END;
87795 --
87796 IF (l_acc_rev_flag = 'Y') THEN
87797
87798 -- 4645092 ------------------------------------------------------------------------------
87799 -- To allow MPA report to determine if it should generate report process
87800 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
87801 ------------------------------------------------------------------------------------------
87802
87803 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
87804 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
87805 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
87806 -- call ADRs
87807 -- Bug 4922099
87808 --
87809 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
87810 (NVL(l_actual_upg_option, 'N') = 'O') OR
87811 (NVL(l_enc_upg_option, 'N') = 'O')
87812 )
87813 THEN
87814 NULL;
87815 --
87816 --
87817
87818 l_ccid := AcctDerRule_32(
87819 p_application_id => p_application_id
87820 , p_ae_header_id => l_ae_header_id
87821 , p_source_18 => p_source_18
87822 , x_transaction_coa_id => l_adr_transaction_coa_id
87823 , x_accounting_coa_id => l_adr_accounting_coa_id
87824 , x_value_type_code => l_adr_value_type_code
87825 , p_side => 'NA'
87826 );
87827
87828 xla_ae_lines_pkg.set_ccid(
87829 p_code_combination_id => l_ccid
87830 , p_value_type_code => l_adr_value_type_code
87831 , p_transaction_coa_id => l_adr_transaction_coa_id
87832 , p_accounting_coa_id => l_adr_accounting_coa_id
87833 , p_adr_code => 'AP_INVOICE_DIST'
87834 , p_adr_type_code => 'S'
87835 , p_component_type => l_component_type
87836 , p_component_code => l_component_code
87837 , p_component_type_code => l_component_type_code
87838 , p_component_appl_id => l_component_appl_id
87839 , p_amb_context_code => l_amb_context_code
87840 , p_side => 'NA'
87841 );
87842
87843
87844 --
87845 --
87846 END IF;
87847
87848 --
87849 -- Update the line information that should be overwritten
87850 --
87851 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
87852 p_header_num => 1);
87853 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
87854
87855 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
87856
87857 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
87858 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
87859 END IF;
87860
87861 --
87862 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
87863 --
87864 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
87865 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
87866 ELSE
87867 ---------------------------------------------------------------------------------------------------
87868 -- 4262811a Switch Sign
87869 ---------------------------------------------------------------------------------------------------
87870 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
87871 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87872 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87873 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
87874 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87875 -- 5132302
87876 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
87877 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
87878
87879 END IF;
87880
87881 -- 4955764
87885
87882 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
87883 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
87884
87886 XLA_AE_LINES_PKG.ValidateCurrentLine;
87887 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
87888
87889 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
87890 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
87891 ,p_balance_type_code => l_balance_type_code);
87892
87893 END IF;
87894
87895 -----------------------------------------------------------------------------------------
87896 -- 4262811 Multiperiod Accounting
87897 -----------------------------------------------------------------------------------------
87898 -- No MPA option is assigned.
87899
87900
87901 END IF;
87902 END IF;
87903 --
87904
87905 --
87906 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
87907 trace
87908 (p_msg => 'END of AcctLineType_157'
87909 ,p_level => C_LEVEL_PROCEDURE
87910 ,p_module => l_log_module);
87911 END IF;
87912 --
87913 EXCEPTION
87914 WHEN xla_exceptions_pkg.application_exception THEN
87915 RAISE;
87916 WHEN OTHERS THEN
87917 xla_exceptions_pkg.raise_message
87918 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_157');
87919 END AcctLineType_157;
87920 --
87921
87922 ---------------------------------------
87923 --
87924 -- PRIVATE FUNCTION
87925 -- AcctLineType_158
87926 --
87927 ---------------------------------------
87928 PROCEDURE AcctLineType_158 (
87929 p_application_id IN NUMBER
87930 ,p_event_id IN NUMBER
87931 ,p_calculate_acctd_flag IN VARCHAR2
87932 ,p_calculate_g_l_flag IN VARCHAR2
87933 ,p_actual_flag IN OUT VARCHAR2
87934 ,p_balance_type_code OUT VARCHAR2
87935 ,p_gain_or_loss_ref OUT VARCHAR2
87936
87937 --Invoice Distribution Description
87938 , p_source_1 IN VARCHAR2
87939 --Invoice Distribution Ledger Amount
87940 , p_source_9 IN NUMBER
87941 --Invoice Distribution Account
87942 , p_source_18 IN NUMBER
87943 --Invoice Distribution Type
87944 , p_source_21 IN VARCHAR2
87945 , p_source_21_meaning IN VARCHAR2
87946 --Accounting Reversal Indicator
87947 , p_source_41 IN VARCHAR2
87948 --Distribution Link Type
87949 , p_source_43 IN VARCHAR2
87950 --Allocation to Main Distribution Identifier
87951 , p_source_45 IN NUMBER
87952 --Invoice Identifier
87953 , p_source_46 IN NUMBER
87954 --Invoice Distribution Identifier
87955 , p_source_52 IN NUMBER
87956 --Payables Encumbrance Upgrade Credit Account
87957 , p_source_53 IN NUMBER
87958 --Payables Encumbrance Upgrade Credit Amount
87959 , p_source_54 IN NUMBER
87960 --Invoice Currency Code
87961 , p_source_55 IN VARCHAR2
87962 --Payables Encumbrance Upgrade Credit Base Amount
87963 , p_source_56 IN NUMBER
87964 --Payables Encumbrance Upgrade Debit Account
87965 , p_source_57 IN NUMBER
87966 --Payables Encumbrance Upgrade Debit Amount
87967 , p_source_58 IN NUMBER
87968 --Payables Encumbrance Upgrade Debit Base Amount
87969 , p_source_59 IN NUMBER
87970 --Payables Encumbrance Upgrade Option
87971 , p_source_60 IN VARCHAR2
87972 --Invoice Distribution Amount
87973 , p_source_61 IN NUMBER
87974 --Deferred Accounting End Date
87975 , p_source_65 IN DATE
87976 --Deferred Accounting Option
87977 , p_source_66 IN VARCHAR2
87978 --Deferred Accounting Start Date
87979 , p_source_67 IN DATE
87980 --Override Accounted Amount Indicator
87981 , p_source_68 IN VARCHAR2
87982 , p_source_68_meaning IN VARCHAR2
87983 --Invoice Supplier Identifier
87984 , p_source_69 IN NUMBER
87985 --Invoice Supplier Site Identifier
87986 , p_source_70 IN NUMBER
87987 --Third Party Type
87988 , p_source_71 IN VARCHAR2
87989 --Parent Reversal Identifier
87990 , p_source_72 IN NUMBER
87991 --Invoice Distribution Statistical Amount
87992 , p_source_73 IN NUMBER
87993 --Invoice Distribution Tax Line Identifier
87994 , p_source_74 IN NUMBER
87995 --Invoice Distribution Tax Distribution Identifier from Tax
87996 , p_source_75 IN NUMBER
87997 --Invoice Distribution Summary Tax Line Identifier
87998 , p_source_76 IN NUMBER
87999 --Payables Upgrade Credit Encumbrance Type Identifier
88000 , p_source_77 IN NUMBER
88001 --Payables Upgrade Debit Encumbrance Type Identifier
88002 , p_source_78 IN NUMBER
88003 --Business Flow Accounts Payable Application Identifier
88004 , p_source_79 IN NUMBER
88005 --Business Flow Invoice Distribution Type
88006 , p_source_80 IN VARCHAR2
88007 --Business Flow Invoice Entity Code
88008 , p_source_81 IN VARCHAR2
88009 --Business Flow Invoice Distribution Identifier
88010 , p_source_82 IN NUMBER
88011 --Business Flow Invoice Identifier
88012 , p_source_83 IN NUMBER
88013 --Accrue on Receipt Option
88014 , p_source_84 IN VARCHAR2
88015 , p_source_84_meaning IN VARCHAR2
88016 --Invoice Exchange Date
88017 , p_source_136 IN DATE
88018 --Invoice Exchange Rate
88022 )
88019 , p_source_137 IN NUMBER
88020 --Invoice Exchange Rate Type
88021 , p_source_138 IN VARCHAR2
88023 IS
88024
88025 l_component_type VARCHAR2(80);
88026 l_component_code VARCHAR2(30);
88027 l_component_type_code VARCHAR2(1);
88028 l_component_appl_id INTEGER;
88029 l_amb_context_code VARCHAR2(30);
88030 l_entity_code VARCHAR2(30);
88031 l_event_class_code VARCHAR2(30);
88032 l_ae_header_id NUMBER;
88033 l_event_type_code VARCHAR2(30);
88034 l_line_definition_code VARCHAR2(30);
88035 l_line_definition_owner_code VARCHAR2(1);
88036 --
88037 -- adr variables
88038 l_segment VARCHAR2(30);
88039 l_ccid NUMBER;
88040 l_adr_transaction_coa_id NUMBER;
88041 l_adr_accounting_coa_id NUMBER;
88042 l_adr_flexfield_segment_code VARCHAR2(30);
88043 l_adr_flex_value_set_id NUMBER;
88044 l_adr_value_type_code VARCHAR2(30);
88045 l_adr_value_combination_id NUMBER;
88046 l_adr_value_segment_code VARCHAR2(30);
88047
88048 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
88049 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
88050 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
88051 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
88052
88053 -- 4262811 Variables ------------------------------------------------------------------------------------------
88054 l_entered_amt_idx NUMBER;
88055 l_accted_amt_idx NUMBER;
88056 l_acc_rev_flag VARCHAR2(1);
88057 l_accrual_line_num NUMBER;
88058 l_tmp_amt NUMBER;
88059 l_acc_rev_natural_side_code VARCHAR2(1);
88060
88061 l_num_entries NUMBER;
88062 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
88063 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
88064 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
88065 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
88066 l_recog_line_1 NUMBER;
88067 l_recog_line_2 NUMBER;
88068
88069 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
88070 l_bflow_applied_to_amt NUMBER; -- 5132302
88071 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
88072
88073 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
88074
88075 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
88076 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
88077
88078 ---------------------------------------------------------------------------------------------------------------
88079
88080
88081 --
88082 -- bulk performance
88083 --
88084 l_balance_type_code VARCHAR2(1);
88085 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
88086 l_log_module VARCHAR2(240);
88087
88088 --
88089 -- Upgrade strategy
88090 --
88091 l_actual_upg_option VARCHAR2(1);
88092 l_enc_upg_option VARCHAR2(1);
88093
88094 --
88095 BEGIN
88096 --
88097 IF g_log_enabled THEN
88098 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_158';
88099 END IF;
88100 --
88101 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88102
88103 trace
88104 (p_msg => 'BEGIN of AcctLineType_158'
88105 ,p_level => C_LEVEL_PROCEDURE
88106 ,p_module => l_log_module);
88107
88108 END IF;
88109 --
88110 l_component_type := 'AMB_JLT';
88111 l_component_code := 'AP_ITEM_EXPENSE_CM';
88112 l_component_type_code := 'S';
88113 l_component_appl_id := 200;
88114 l_amb_context_code := 'DEFAULT';
88115 l_entity_code := 'AP_INVOICES';
88116 l_event_class_code := 'CREDIT MEMOS';
88117 l_event_type_code := 'CREDIT MEMOS_ALL';
88118 l_line_definition_owner_code := 'S';
88119 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
88120 --
88121 l_balance_type_code := 'A';
88122 l_segment := NULL;
88123 l_ccid := NULL;
88124 l_adr_transaction_coa_id := NULL;
88125 l_adr_accounting_coa_id := NULL;
88126 l_adr_flexfield_segment_code := NULL;
88127 l_adr_flex_value_set_id := NULL;
88128 l_adr_value_type_code := NULL;
88129 l_adr_value_combination_id := NULL;
88130 l_adr_value_segment_code := NULL;
88131
88132 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
88133 l_bflow_class_code := ''; -- 4219869 Business Flow
88134 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
88135 l_budgetary_control_flag := 'N';
88136
88137 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88138 l_bflow_applied_to_amt := NULL; -- 5132302
88139 l_entered_amt_idx := NULL; -- 4262811
88140 l_accted_amt_idx := NULL; -- 4262811
88141 l_acc_rev_flag := NULL; -- 4262811
88142 l_accrual_line_num := NULL; -- 4262811
88143 l_tmp_amt := NULL; -- 4262811
88144 --
88145
88149 ') = 'RETROEXPENSE' OR
88146 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
88147 l_balance_type_code <> 'B' THEN
88148 IF NVL(p_source_21,'
88150 NVL(p_source_21,'
88151 ') = 'ITEM' OR
88152 (NVL(p_source_21,'
88153 ') = 'ERV' AND
88154 NVL(p_source_84,'
88155 ') <> 'Y') OR
88156 (NVL(p_source_21,'
88157 ') = 'IPV' AND
88158 NVL(p_source_84,'
88159 ') <> 'Y')
88160 THEN
88161
88162 --
88163 XLA_AE_LINES_PKG.SetNewLine;
88164
88165 p_balance_type_code := l_balance_type_code;
88166 -- set the flag so later we will know whether the gain loss line needs to be created
88167
88168 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
88169 p_actual_flag :='A';
88170 END IF;
88171
88172 --
88173 -- bulk performance
88174 --
88175 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
88176 p_header_num => 0); -- 4262811
88177 --
88178 -- set accounting line options
88179 --
88180 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
88181 p_natural_side_code => 'D'
88182 , p_gain_or_loss_flag => 'N'
88183 , p_gl_transfer_mode_code => 'S'
88184 , p_acct_entry_type_code => 'A'
88185 , p_switch_side_flag => 'Y'
88186 , p_merge_duplicate_code => 'A'
88187 );
88188 --
88189 l_acc_rev_natural_side_code := 'C'; -- 4262811
88190 --
88191 --
88192 -- set accounting line type info
88193 --
88194 xla_ae_lines_pkg.SetAcctLineType
88195 (p_component_type => l_component_type
88196 ,p_event_type_code => l_event_type_code
88197 ,p_line_definition_owner_code => l_line_definition_owner_code
88198 ,p_line_definition_code => l_line_definition_code
88199 ,p_accounting_line_code => l_component_code
88200 ,p_accounting_line_type_code => l_component_type_code
88201 ,p_accounting_line_appl_id => l_component_appl_id
88202 ,p_amb_context_code => l_amb_context_code
88203 ,p_entity_code => l_entity_code
88204 ,p_event_class_code => l_event_class_code);
88205 --
88206 -- set accounting class
88207 --
88208 xla_ae_lines_pkg.SetAcctClass(
88209 p_accounting_class_code => 'ITEM EXPENSE'
88210 , p_ae_header_id => l_ae_header_id
88211 );
88212
88213 --
88214 -- set rounding class
88215 --
88216 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
88217 'ITEM EXPENSE';
88218
88219 --
88220 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
88221 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
88222 --
88223 -- bulk performance
88224 --
88225 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
88226
88227 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
88228 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
88229
88230 -- 4955764
88231 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88232 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
88233
88234 -- 4458381 Public Sector Enh
88235
88236 --
88237 -- set accounting attributes for the line type
88238 --
88239 l_entered_amt_idx := 23;
88240 l_accted_amt_idx := 28;
88241 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88242 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
88243 l_rec_acct_attrs.array_char_value(1) := p_source_41;
88244 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
88245 l_rec_acct_attrs.array_num_value(2) :=
88246 xla_ae_sources_pkg.GetSystemSourceNum(
88247 p_source_code => 'XLA_EVENT_APPL_ID'
88248 , p_source_type_code => 'Y'
88249 , p_source_application_id => 602
88250 );
88251 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
88252 l_rec_acct_attrs.array_char_value(3) := p_source_43;
88253 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
88254 l_rec_acct_attrs.array_char_value(4) :=
88255 xla_ae_sources_pkg.GetSystemSourceChar(
88256 p_source_code => 'XLA_ENTITY_CODE'
88257 , p_source_type_code => 'Y'
88258 , p_source_application_id => 602
88259 );
88260 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
88261 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
88262 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
88263 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
88264 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
88265 l_rec_acct_attrs.array_num_value(7) := p_source_79;
88266 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
88267 l_rec_acct_attrs.array_char_value(8) := p_source_80;
88268 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
88269 l_rec_acct_attrs.array_char_value(9) := p_source_81;
88270 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
88271 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
88275 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
88272 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
88273 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
88274 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
88276 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
88277 l_rec_acct_attrs.array_char_value(13) := p_source_43;
88278 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
88279 l_rec_acct_attrs.array_num_value(14) := p_source_53;
88280 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
88281 l_rec_acct_attrs.array_num_value(15) := p_source_54;
88282 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
88283 l_rec_acct_attrs.array_char_value(16) := p_source_55;
88284 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
88285 l_rec_acct_attrs.array_num_value(17) := p_source_56;
88286 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
88287 l_rec_acct_attrs.array_num_value(18) := p_source_57;
88288 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
88289 l_rec_acct_attrs.array_num_value(19) := p_source_58;
88290 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
88291 l_rec_acct_attrs.array_char_value(20) := p_source_55;
88292 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
88293 l_rec_acct_attrs.array_num_value(21) := p_source_59;
88294 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
88295 l_rec_acct_attrs.array_char_value(22) := p_source_60;
88296 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
88297 l_rec_acct_attrs.array_num_value(23) := p_source_61;
88298 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
88299 l_rec_acct_attrs.array_char_value(24) := p_source_55;
88300 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
88301 l_rec_acct_attrs.array_date_value(25) := p_source_136;
88302 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
88303 l_rec_acct_attrs.array_num_value(26) := p_source_137;
88304 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
88305 l_rec_acct_attrs.array_char_value(27) := p_source_138;
88306 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
88307 l_rec_acct_attrs.array_num_value(28) := p_source_9;
88308 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
88309 l_rec_acct_attrs.array_date_value(29) := p_source_65;
88310 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
88311 l_rec_acct_attrs.array_char_value(30) := p_source_66;
88312 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
88313 l_rec_acct_attrs.array_date_value(31) := p_source_67;
88314 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
88315 l_rec_acct_attrs.array_char_value(32) := p_source_68;
88316 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
88317 l_rec_acct_attrs.array_num_value(33) := p_source_69;
88318 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
88319 l_rec_acct_attrs.array_num_value(34) := p_source_70;
88320 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
88321 l_rec_acct_attrs.array_char_value(35) := p_source_71;
88322 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
88323 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
88324 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
88325 l_rec_acct_attrs.array_char_value(37) := p_source_43;
88326 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
88327 l_rec_acct_attrs.array_num_value(38) := p_source_73;
88328 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
88329 l_rec_acct_attrs.array_num_value(39) := p_source_74;
88330 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
88331 l_rec_acct_attrs.array_num_value(40) := p_source_75;
88332 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
88333 l_rec_acct_attrs.array_num_value(41) := p_source_76;
88334 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
88335 l_rec_acct_attrs.array_num_value(42) := p_source_77;
88336 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
88337 l_rec_acct_attrs.array_num_value(43) := p_source_78;
88338
88339 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
88340 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
88341
88342 ---------------------------------------------------------------------------------------------------------------
88343 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
88344 ---------------------------------------------------------------------------------------------------------------
88345 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
88346
88347 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88348 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
88349
88350 IF xla_accounting_cache_pkg.GetValueChar
88351 (p_source_code => 'LEDGER_CATEGORY_CODE'
88352 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
88356 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
88353 AND l_bflow_method_code = 'PRIOR_ENTRY'
88354 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
88355 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
88357 )
88358 THEN
88359 xla_ae_lines_pkg.BflowUpgEntry
88360 (p_business_method_code => l_bflow_method_code
88361 ,p_business_class_code => l_bflow_class_code
88362 ,p_balance_type => l_balance_type_code);
88363 ELSE
88364 NULL;
88365 -- No business flow processing for business flow method of NONE.
88366 END IF;
88367
88368 --
88369 -- call analytical criteria
88370 --
88371
88372 --
88373 -- call description
88374 --
88375
88376 xla_ae_lines_pkg.SetLineDescription(
88377 p_ae_header_id => l_ae_header_id
88378 ,p_description => Description_2 (
88379 p_application_id => p_application_id
88380 , p_ae_header_id => l_ae_header_id
88381 , p_source_1 => p_source_1
88382 )
88383 );
88384
88385
88386 --
88387 -- call ADRs
88388 -- Bug 4922099
88389 --
88390 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88391 (NVL(l_actual_upg_option, 'N') = 'O') OR
88392 (NVL(l_enc_upg_option, 'N') = 'O')
88393 )
88394 THEN
88395 NULL;
88396 --
88397 --
88398
88399 l_ccid := AcctDerRule_32(
88400 p_application_id => p_application_id
88401 , p_ae_header_id => l_ae_header_id
88402 , p_source_18 => p_source_18
88403 , x_transaction_coa_id => l_adr_transaction_coa_id
88404 , x_accounting_coa_id => l_adr_accounting_coa_id
88405 , x_value_type_code => l_adr_value_type_code
88406 , p_side => 'NA'
88407 );
88408
88409 xla_ae_lines_pkg.set_ccid(
88410 p_code_combination_id => l_ccid
88411 , p_value_type_code => l_adr_value_type_code
88412 , p_transaction_coa_id => l_adr_transaction_coa_id
88413 , p_accounting_coa_id => l_adr_accounting_coa_id
88414 , p_adr_code => 'AP_INVOICE_DIST'
88415 , p_adr_type_code => 'S'
88416 , p_component_type => l_component_type
88417 , p_component_code => l_component_code
88418 , p_component_type_code => l_component_type_code
88419 , p_component_appl_id => l_component_appl_id
88420 , p_amb_context_code => l_amb_context_code
88421 , p_side => 'NA'
88422 );
88423
88424
88425 --
88426 --
88427 END IF;
88428 --
88429 -- Bug 4922099
88430 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
88431 (NVL(l_enc_upg_option, 'N') = 'O')
88432 ) AND
88433 (l_bflow_method_code = 'PRIOR_ENTRY')
88434 )
88435 THEN
88436 IF
88437 --
88438 1 = 2
88439 --
88440 THEN
88441 xla_accounting_err_pkg.build_message
88442 (p_appli_s_name => 'XLA'
88443 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88444 ,p_token_1 => 'LINE_NUMBER'
88445 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
88446 ,p_token_2 => 'LINE_TYPE_NAME'
88447 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
88448 l_component_type
88449 ,l_component_code
88450 ,l_component_type_code
88451 ,l_component_appl_id
88452 ,l_amb_context_code
88453 ,l_entity_code
88454 ,l_event_class_code
88455 )
88456 ,p_token_3 => 'OWNER'
88457 ,p_value_3 => xla_lookups_pkg.get_meaning(
88458 p_lookup_type => 'XLA_OWNER_TYPE'
88459 ,p_lookup_code => l_component_type_code
88460 )
88461 ,p_token_4 => 'PRODUCT_NAME'
88462 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
88463 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
88464 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
88465 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
88469 IF (C_LEVEL_ERROR>= g_log_level) THEN
88466 ,p_ae_header_id => NULL
88467 );
88468
88470 trace
88471 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
88472 ,p_level => C_LEVEL_ERROR
88473 ,p_module => l_log_module);
88474 END IF;
88475 END IF;
88476 END IF;
88477 --
88478 --
88479 ------------------------------------------------------------------------------------------------
88480 -- 4219869 Business Flow
88481 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
88482 -- Prior Entry. Currently, the following code is always generated.
88483 ------------------------------------------------------------------------------------------------
88484 XLA_AE_LINES_PKG.ValidateCurrentLine;
88485
88486 ------------------------------------------------------------------------------------
88487 -- 4219869 Business Flow
88488 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
88489 ------------------------------------------------------------------------------------
88490 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88491
88492 ----------------------------------------------------------------------------------
88493 -- 4219869 Business Flow
88494 -- Update journal entry status -- Need to generate this within IF <condition>
88495 ----------------------------------------------------------------------------------
88496 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88497 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
88498 ,p_balance_type_code => l_balance_type_code
88499 );
88500
88501 -------------------------------------------------------------------------------------------
88502 -- 4262811 - Generate the Accrual Reversal lines
88503 -------------------------------------------------------------------------------------------
88504 BEGIN
88505 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
88506 (g_array_event(p_event_id).array_value_num('header_index'));
88507 IF l_acc_rev_flag IS NULL THEN
88508 l_acc_rev_flag := 'N';
88509 END IF;
88510 EXCEPTION
88511 WHEN OTHERS THEN
88512 l_acc_rev_flag := 'N';
88513 END;
88514 --
88515 IF (l_acc_rev_flag = 'Y') THEN
88516
88517 -- 4645092 ------------------------------------------------------------------------------
88518 -- To allow MPA report to determine if it should generate report process
88519 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
88520 ------------------------------------------------------------------------------------------
88521
88522 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
88523 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
88524 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
88525 -- call ADRs
88526 -- Bug 4922099
88527 --
88528 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
88529 (NVL(l_actual_upg_option, 'N') = 'O') OR
88530 (NVL(l_enc_upg_option, 'N') = 'O')
88531 )
88532 THEN
88533 NULL;
88534 --
88535 --
88536
88537 l_ccid := AcctDerRule_32(
88538 p_application_id => p_application_id
88539 , p_ae_header_id => l_ae_header_id
88540 , p_source_18 => p_source_18
88541 , x_transaction_coa_id => l_adr_transaction_coa_id
88542 , x_accounting_coa_id => l_adr_accounting_coa_id
88543 , x_value_type_code => l_adr_value_type_code
88544 , p_side => 'NA'
88545 );
88546
88547 xla_ae_lines_pkg.set_ccid(
88548 p_code_combination_id => l_ccid
88549 , p_value_type_code => l_adr_value_type_code
88550 , p_transaction_coa_id => l_adr_transaction_coa_id
88551 , p_accounting_coa_id => l_adr_accounting_coa_id
88552 , p_adr_code => 'AP_INVOICE_DIST'
88553 , p_adr_type_code => 'S'
88554 , p_component_type => l_component_type
88555 , p_component_code => l_component_code
88556 , p_component_type_code => l_component_type_code
88557 , p_component_appl_id => l_component_appl_id
88558 , p_amb_context_code => l_amb_context_code
88559 , p_side => 'NA'
88560 );
88561
88562
88563 --
88564 --
88565 END IF;
88566
88567 --
88568 -- Update the line information that should be overwritten
88569 --
88570 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
88571 p_header_num => 1);
88572 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
88573
88574 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
88575
88576 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
88577 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
88578 END IF;
88579
88580 --
88584 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
88581 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
88582 --
88583 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
88585 ELSE
88586 ---------------------------------------------------------------------------------------------------
88587 -- 4262811a Switch Sign
88588 ---------------------------------------------------------------------------------------------------
88589 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
88590 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88591 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88592 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
88593 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88594 -- 5132302
88595 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
88596 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
88597
88598 END IF;
88599
88600 -- 4955764
88601 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88602 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
88603
88604
88605 XLA_AE_LINES_PKG.ValidateCurrentLine;
88606 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
88607
88608 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
88609 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
88610 ,p_balance_type_code => l_balance_type_code);
88611
88612 END IF;
88613
88614 -----------------------------------------------------------------------------------------
88615 -- 4262811 Multiperiod Accounting
88616 -----------------------------------------------------------------------------------------
88617 -- No MPA option is assigned.
88618
88619
88620 END IF;
88621 END IF;
88622 --
88623
88624 --
88625 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88626 trace
88627 (p_msg => 'END of AcctLineType_158'
88628 ,p_level => C_LEVEL_PROCEDURE
88629 ,p_module => l_log_module);
88630 END IF;
88631 --
88632 EXCEPTION
88633 WHEN xla_exceptions_pkg.application_exception THEN
88634 RAISE;
88635 WHEN OTHERS THEN
88636 xla_exceptions_pkg.raise_message
88637 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_158');
88638 END AcctLineType_158;
88639 --
88640
88641 ---------------------------------------
88642 --
88643 -- PRIVATE FUNCTION
88644 -- AcctLineType_159
88645 --
88646 ---------------------------------------
88647 PROCEDURE AcctLineType_159 (
88648 p_application_id IN NUMBER
88649 ,p_event_id IN NUMBER
88650 ,p_calculate_acctd_flag IN VARCHAR2
88651 ,p_calculate_g_l_flag IN VARCHAR2
88652 ,p_actual_flag IN OUT VARCHAR2
88653 ,p_balance_type_code OUT VARCHAR2
88654 ,p_gain_or_loss_ref OUT VARCHAR2
88655
88656 --Invoice Distribution Type
88657 , p_source_21 IN VARCHAR2
88658 , p_source_21_meaning IN VARCHAR2
88659 --Accounting Reversal Indicator
88660 , p_source_41 IN VARCHAR2
88661 --Distribution Link Type
88662 , p_source_43 IN VARCHAR2
88663 --Allocation to Main Distribution Identifier
88664 , p_source_45 IN NUMBER
88665 --Invoice Identifier
88666 , p_source_46 IN NUMBER
88667 --Invoice Distribution Identifier
88668 , p_source_52 IN NUMBER
88669 --Payables Encumbrance Upgrade Credit Account
88670 , p_source_53 IN NUMBER
88671 --Payables Encumbrance Upgrade Credit Amount
88672 , p_source_54 IN NUMBER
88673 --Invoice Currency Code
88674 , p_source_55 IN VARCHAR2
88675 --Payables Encumbrance Upgrade Credit Base Amount
88676 , p_source_56 IN NUMBER
88677 --Payables Encumbrance Upgrade Debit Account
88678 , p_source_57 IN NUMBER
88679 --Payables Encumbrance Upgrade Debit Amount
88680 , p_source_58 IN NUMBER
88681 --Payables Encumbrance Upgrade Debit Base Amount
88682 , p_source_59 IN NUMBER
88683 --Payables Encumbrance Upgrade Option
88684 , p_source_60 IN VARCHAR2
88685 --Deferred Accounting End Date
88686 , p_source_65 IN DATE
88687 --Deferred Accounting Option
88688 , p_source_66 IN VARCHAR2
88689 --Deferred Accounting Start Date
88690 , p_source_67 IN DATE
88691 --Override Accounted Amount Indicator
88692 , p_source_68 IN VARCHAR2
88693 , p_source_68_meaning IN VARCHAR2
88694 --Third Party Type
88695 , p_source_71 IN VARCHAR2
88696 --Parent Reversal Identifier
88697 , p_source_72 IN NUMBER
88698 --Invoice Distribution Statistical Amount
88699 , p_source_73 IN NUMBER
88700 --Invoice Distribution Tax Line Identifier
88701 , p_source_74 IN NUMBER
88702 --Invoice Distribution Tax Distribution Identifier from Tax
88703 , p_source_75 IN NUMBER
88704 --Invoice Distribution Summary Tax Line Identifier
88705 , p_source_76 IN NUMBER
88709 , p_source_78 IN NUMBER
88706 --Payables Upgrade Credit Encumbrance Type Identifier
88707 , p_source_77 IN NUMBER
88708 --Payables Upgrade Debit Encumbrance Type Identifier
88710 --Business Flow Accounts Payable Application Identifier
88711 , p_source_79 IN NUMBER
88712 --Business Flow Invoice Distribution Type
88713 , p_source_80 IN VARCHAR2
88714 --Business Flow Invoice Entity Code
88715 , p_source_81 IN VARCHAR2
88716 --Business Flow Invoice Distribution Identifier
88717 , p_source_82 IN NUMBER
88718 --Business Flow Invoice Identifier
88719 , p_source_83 IN NUMBER
88720 --Accrue on Receipt Option
88721 , p_source_84 IN VARCHAR2
88722 , p_source_84_meaning IN VARCHAR2
88723 --Purchasing Encumbrance Option
88724 , p_source_86 IN VARCHAR2
88725 , p_source_86_meaning IN VARCHAR2
88726 --Invoice Encumbered Option
88727 , p_source_87 IN VARCHAR2
88728 , p_source_87_meaning IN VARCHAR2
88729 --Invoice Distribution Encumbrance Amount
88730 , p_source_143 IN NUMBER
88731 --Invoice Distribution Encumbrance Ledger Amount
88732 , p_source_144 IN NUMBER
88733 )
88734 IS
88735
88736 l_component_type VARCHAR2(80);
88737 l_component_code VARCHAR2(30);
88738 l_component_type_code VARCHAR2(1);
88739 l_component_appl_id INTEGER;
88740 l_amb_context_code VARCHAR2(30);
88741 l_entity_code VARCHAR2(30);
88742 l_event_class_code VARCHAR2(30);
88743 l_ae_header_id NUMBER;
88744 l_event_type_code VARCHAR2(30);
88745 l_line_definition_code VARCHAR2(30);
88746 l_line_definition_owner_code VARCHAR2(1);
88747 --
88748 -- adr variables
88749 l_segment VARCHAR2(30);
88750 l_ccid NUMBER;
88751 l_adr_transaction_coa_id NUMBER;
88752 l_adr_accounting_coa_id NUMBER;
88753 l_adr_flexfield_segment_code VARCHAR2(30);
88754 l_adr_flex_value_set_id NUMBER;
88755 l_adr_value_type_code VARCHAR2(30);
88756 l_adr_value_combination_id NUMBER;
88757 l_adr_value_segment_code VARCHAR2(30);
88758
88759 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
88760 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
88761 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
88762 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
88763
88764 -- 4262811 Variables ------------------------------------------------------------------------------------------
88765 l_entered_amt_idx NUMBER;
88766 l_accted_amt_idx NUMBER;
88767 l_acc_rev_flag VARCHAR2(1);
88768 l_accrual_line_num NUMBER;
88769 l_tmp_amt NUMBER;
88770 l_acc_rev_natural_side_code VARCHAR2(1);
88771
88772 l_num_entries NUMBER;
88773 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
88774 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
88775 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
88776 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
88777 l_recog_line_1 NUMBER;
88778 l_recog_line_2 NUMBER;
88779
88780 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
88781 l_bflow_applied_to_amt NUMBER; -- 5132302
88782 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
88783
88784 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
88785
88786 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
88787 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
88788
88789 ---------------------------------------------------------------------------------------------------------------
88790
88791
88792 --
88793 -- bulk performance
88794 --
88795 l_balance_type_code VARCHAR2(1);
88796 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
88797 l_log_module VARCHAR2(240);
88798
88799 --
88800 -- Upgrade strategy
88801 --
88802 l_actual_upg_option VARCHAR2(1);
88803 l_enc_upg_option VARCHAR2(1);
88804
88805 --
88806 BEGIN
88807 --
88808 IF g_log_enabled THEN
88809 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_159';
88810 END IF;
88811 --
88812 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
88813
88814 trace
88815 (p_msg => 'BEGIN of AcctLineType_159'
88816 ,p_level => C_LEVEL_PROCEDURE
88817 ,p_module => l_log_module);
88818
88819 END IF;
88820 --
88821 l_component_type := 'AMB_JLT';
88822 l_component_code := 'AP_ITEM_EXPENSE_CM_ENC';
88823 l_component_type_code := 'S';
88824 l_component_appl_id := 200;
88825 l_amb_context_code := 'DEFAULT';
88826 l_entity_code := 'AP_INVOICES';
88827 l_event_class_code := 'CREDIT MEMOS';
88828 l_event_type_code := 'CREDIT MEMOS_ALL';
88829 l_line_definition_owner_code := 'S';
88830 l_line_definition_code := 'ENC_REV_CM_ALL';
88831 --
88832 l_balance_type_code := 'E';
88833 l_segment := NULL;
88834 l_ccid := NULL;
88838 l_adr_flex_value_set_id := NULL;
88835 l_adr_transaction_coa_id := NULL;
88836 l_adr_accounting_coa_id := NULL;
88837 l_adr_flexfield_segment_code := NULL;
88839 l_adr_value_type_code := NULL;
88840 l_adr_value_combination_id := NULL;
88841 l_adr_value_segment_code := NULL;
88842
88843 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
88844 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
88845 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
88846 l_budgetary_control_flag := 'N';
88847
88848 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88849 l_bflow_applied_to_amt := NULL; -- 5132302
88850 l_entered_amt_idx := NULL; -- 4262811
88851 l_accted_amt_idx := NULL; -- 4262811
88852 l_acc_rev_flag := NULL; -- 4262811
88853 l_accrual_line_num := NULL; -- 4262811
88854 l_tmp_amt := NULL; -- 4262811
88855 --
88856
88857 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
88858 l_balance_type_code <> 'B' THEN
88859 IF NVL(p_source_21,'
88860 ') = 'ITEM' AND
88861 NVL(p_source_84,'
88862 ') <> 'Y' AND
88863 NVL(p_source_86,'
88864 ') = 'Y' AND
88865 NVL(p_source_87,'
88866 ') = 'Y'
88867 THEN
88868
88869 --
88870 XLA_AE_LINES_PKG.SetNewLine;
88871
88872 p_balance_type_code := l_balance_type_code;
88873 -- set the flag so later we will know whether the gain loss line needs to be created
88874
88875 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
88876 p_actual_flag :='A';
88877 END IF;
88878
88879 --
88880 -- bulk performance
88881 --
88882 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
88883 p_header_num => 0); -- 4262811
88884 --
88885 -- set accounting line options
88886 --
88887 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
88888 p_natural_side_code => 'C'
88889 , p_gain_or_loss_flag => 'N'
88890 , p_gl_transfer_mode_code => 'S'
88891 , p_acct_entry_type_code => 'E'
88892 , p_switch_side_flag => 'Y'
88893 , p_merge_duplicate_code => 'A'
88894 );
88895 --
88896 l_acc_rev_natural_side_code := 'D'; -- 4262811
88897 --
88898 --
88899 -- set accounting line type info
88900 --
88901 xla_ae_lines_pkg.SetAcctLineType
88902 (p_component_type => l_component_type
88903 ,p_event_type_code => l_event_type_code
88904 ,p_line_definition_owner_code => l_line_definition_owner_code
88905 ,p_line_definition_code => l_line_definition_code
88906 ,p_accounting_line_code => l_component_code
88907 ,p_accounting_line_type_code => l_component_type_code
88908 ,p_accounting_line_appl_id => l_component_appl_id
88909 ,p_amb_context_code => l_amb_context_code
88910 ,p_entity_code => l_entity_code
88911 ,p_event_class_code => l_event_class_code);
88912 --
88913 -- set accounting class
88914 --
88915 xla_ae_lines_pkg.SetAcctClass(
88916 p_accounting_class_code => 'ITEM EXPENSE'
88917 , p_ae_header_id => l_ae_header_id
88918 );
88919
88920 --
88921 -- set rounding class
88922 --
88923 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
88924 'ITEM EXPENSE';
88925
88926 --
88927 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
88928 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
88929 --
88930 -- bulk performance
88931 --
88932 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
88933
88934 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
88935 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
88936
88937 -- 4955764
88938 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
88939 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
88940
88941 -- 4458381 Public Sector Enh
88942
88943 --
88944 -- set accounting attributes for the line type
88945 --
88946 l_entered_amt_idx := 23;
88947 l_accted_amt_idx := 25;
88948 l_bflow_applied_to_amt_idx := NULL; -- 5132302
88949 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
88950 l_rec_acct_attrs.array_char_value(1) := p_source_41;
88951 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
88952 l_rec_acct_attrs.array_num_value(2) :=
88953 xla_ae_sources_pkg.GetSystemSourceNum(
88954 p_source_code => 'XLA_EVENT_APPL_ID'
88955 , p_source_type_code => 'Y'
88956 , p_source_application_id => 602
88957 );
88958 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
88959 l_rec_acct_attrs.array_char_value(3) := p_source_43;
88960 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
88961 l_rec_acct_attrs.array_char_value(4) :=
88962 xla_ae_sources_pkg.GetSystemSourceChar(
88966 );
88963 p_source_code => 'XLA_ENTITY_CODE'
88964 , p_source_type_code => 'Y'
88965 , p_source_application_id => 602
88967 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
88968 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
88969 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
88970 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
88971 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
88972 l_rec_acct_attrs.array_num_value(7) := p_source_79;
88973 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
88974 l_rec_acct_attrs.array_char_value(8) := p_source_80;
88975 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
88976 l_rec_acct_attrs.array_char_value(9) := p_source_81;
88977 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
88978 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
88979 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
88980 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
88981 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
88982 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
88983 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
88984 l_rec_acct_attrs.array_char_value(13) := p_source_43;
88985 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
88986 l_rec_acct_attrs.array_num_value(14) := p_source_53;
88987 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
88988 l_rec_acct_attrs.array_num_value(15) := p_source_54;
88989 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
88990 l_rec_acct_attrs.array_char_value(16) := p_source_55;
88991 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
88992 l_rec_acct_attrs.array_num_value(17) := p_source_56;
88993 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
88994 l_rec_acct_attrs.array_num_value(18) := p_source_57;
88995 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
88996 l_rec_acct_attrs.array_num_value(19) := p_source_58;
88997 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
88998 l_rec_acct_attrs.array_char_value(20) := p_source_55;
88999 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
89000 l_rec_acct_attrs.array_num_value(21) := p_source_59;
89001 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
89002 l_rec_acct_attrs.array_char_value(22) := p_source_60;
89003 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
89004 l_rec_acct_attrs.array_num_value(23) := p_source_143;
89005 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
89006 l_rec_acct_attrs.array_char_value(24) := p_source_55;
89007 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
89008 l_rec_acct_attrs.array_num_value(25) := p_source_144;
89009 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
89010 l_rec_acct_attrs.array_date_value(26) := p_source_65;
89011 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
89012 l_rec_acct_attrs.array_char_value(27) := p_source_66;
89013 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
89014 l_rec_acct_attrs.array_date_value(28) := p_source_67;
89015 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
89016 l_rec_acct_attrs.array_char_value(29) := p_source_68;
89017 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
89018 l_rec_acct_attrs.array_char_value(30) := p_source_71;
89019 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
89020 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
89021 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
89022 l_rec_acct_attrs.array_char_value(32) := p_source_43;
89023 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
89024 l_rec_acct_attrs.array_num_value(33) := p_source_73;
89025 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
89026 l_rec_acct_attrs.array_num_value(34) := p_source_74;
89027 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
89028 l_rec_acct_attrs.array_num_value(35) := p_source_75;
89029 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
89030 l_rec_acct_attrs.array_num_value(36) := p_source_76;
89031 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
89032 l_rec_acct_attrs.array_num_value(37) := p_source_77;
89033 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
89034 l_rec_acct_attrs.array_num_value(38) := p_source_78;
89035
89036 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
89037 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
89038
89039 ---------------------------------------------------------------------------------------------------------------
89040 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
89041 ---------------------------------------------------------------------------------------------------------------
89042 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
89043
89044 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89048 (p_source_code => 'LEDGER_CATEGORY_CODE'
89045 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89046
89047 IF xla_accounting_cache_pkg.GetValueChar
89049 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
89050 AND l_bflow_method_code = 'PRIOR_ENTRY'
89051 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
89052 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
89053 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
89054 )
89055 THEN
89056 xla_ae_lines_pkg.BflowUpgEntry
89057 (p_business_method_code => l_bflow_method_code
89058 ,p_business_class_code => l_bflow_class_code
89059 ,p_balance_type => l_balance_type_code);
89060 ELSE
89061 NULL;
89062 XLA_AE_LINES_PKG.business_flow_validation(
89063 p_business_method_code => l_bflow_method_code
89064 ,p_business_class_code => l_bflow_class_code
89065 ,p_inherit_description_flag => l_inherit_desc_flag);
89066 END IF;
89067
89068 --
89069 -- call analytical criteria
89070 --
89071 -- Inherited Analytical Criteria for business flow method of Prior Entry.
89072 --
89073 -- call description
89074 --
89075 -- No description or it is inherited.
89076 --
89077 -- call ADRs
89078 -- Bug 4922099
89079 --
89080 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89081 (NVL(l_actual_upg_option, 'N') = 'O') OR
89082 (NVL(l_enc_upg_option, 'N') = 'O')
89083 )
89084 THEN
89085 NULL;
89086 --
89087 --
89088
89089 --
89090 --
89091 END IF;
89092 --
89093 -- Bug 4922099
89094 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
89095 (NVL(l_enc_upg_option, 'N') = 'O')
89096 ) AND
89097 (l_bflow_method_code = 'PRIOR_ENTRY')
89098 )
89099 THEN
89100 IF
89101 --
89102 1 = 1
89103 --
89104 THEN
89105 xla_accounting_err_pkg.build_message
89106 (p_appli_s_name => 'XLA'
89107 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89108 ,p_token_1 => 'LINE_NUMBER'
89109 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
89110 ,p_token_2 => 'LINE_TYPE_NAME'
89111 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
89112 l_component_type
89113 ,l_component_code
89114 ,l_component_type_code
89115 ,l_component_appl_id
89116 ,l_amb_context_code
89117 ,l_entity_code
89118 ,l_event_class_code
89119 )
89120 ,p_token_3 => 'OWNER'
89121 ,p_value_3 => xla_lookups_pkg.get_meaning(
89122 p_lookup_type => 'XLA_OWNER_TYPE'
89123 ,p_lookup_code => l_component_type_code
89124 )
89125 ,p_token_4 => 'PRODUCT_NAME'
89126 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
89127 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
89128 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
89129 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
89130 ,p_ae_header_id => NULL
89131 );
89132
89133 IF (C_LEVEL_ERROR>= g_log_level) THEN
89134 trace
89135 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89136 ,p_level => C_LEVEL_ERROR
89137 ,p_module => l_log_module);
89138 END IF;
89139 END IF;
89140 END IF;
89141 --
89142 --
89143 ------------------------------------------------------------------------------------------------
89144 -- 4219869 Business Flow
89145 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
89146 -- Prior Entry. Currently, the following code is always generated.
89147 ------------------------------------------------------------------------------------------------
89148 -- No ValidateCurrentLine for business flow method of Prior Entry
89149
89153 ------------------------------------------------------------------------------------
89150 ------------------------------------------------------------------------------------
89151 -- 4219869 Business Flow
89152 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
89154 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89155
89156 ----------------------------------------------------------------------------------
89157 -- 4219869 Business Flow
89158 -- Update journal entry status -- Need to generate this within IF <condition>
89159 ----------------------------------------------------------------------------------
89160 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89161 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
89162 ,p_balance_type_code => l_balance_type_code
89163 );
89164
89165 -------------------------------------------------------------------------------------------
89166 -- 4262811 - Generate the Accrual Reversal lines
89167 -------------------------------------------------------------------------------------------
89168 BEGIN
89169 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
89170 (g_array_event(p_event_id).array_value_num('header_index'));
89171 IF l_acc_rev_flag IS NULL THEN
89172 l_acc_rev_flag := 'N';
89173 END IF;
89174 EXCEPTION
89175 WHEN OTHERS THEN
89176 l_acc_rev_flag := 'N';
89177 END;
89178 --
89179 IF (l_acc_rev_flag = 'Y') THEN
89180
89181 -- 4645092 ------------------------------------------------------------------------------
89182 -- To allow MPA report to determine if it should generate report process
89183 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
89184 ------------------------------------------------------------------------------------------
89185
89186 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
89187 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
89188 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
89189 -- call ADRs
89190 -- Bug 4922099
89191 --
89192 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89193 (NVL(l_actual_upg_option, 'N') = 'O') OR
89194 (NVL(l_enc_upg_option, 'N') = 'O')
89195 )
89196 THEN
89197 NULL;
89198 --
89199 --
89200
89201 --
89202 --
89203 END IF;
89204
89205 --
89206 -- Update the line information that should be overwritten
89207 --
89208 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
89209 p_header_num => 1);
89210 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
89211
89212 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
89213
89214 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
89215 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
89216 END IF;
89217
89218 --
89219 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
89220 --
89221 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
89222 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
89223 ELSE
89224 ---------------------------------------------------------------------------------------------------
89225 -- 4262811a Switch Sign
89226 ---------------------------------------------------------------------------------------------------
89227 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
89228 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89229 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89230 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89231 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89232 -- 5132302
89233 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
89234 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89235
89236 END IF;
89237
89238 -- 4955764
89239 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89240 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
89241
89242
89243 XLA_AE_LINES_PKG.ValidateCurrentLine;
89244 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89245
89246 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89247 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
89248 ,p_balance_type_code => l_balance_type_code);
89249
89250 END IF;
89251
89252 -----------------------------------------------------------------------------------------
89253 -- 4262811 Multiperiod Accounting
89254 -----------------------------------------------------------------------------------------
89255 -- No MPA option is assigned.
89256
89257
89258 END IF;
89259 END IF;
89263 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89260 --
89261
89262 --
89264 trace
89265 (p_msg => 'END of AcctLineType_159'
89266 ,p_level => C_LEVEL_PROCEDURE
89267 ,p_module => l_log_module);
89268 END IF;
89269 --
89270 EXCEPTION
89271 WHEN xla_exceptions_pkg.application_exception THEN
89272 RAISE;
89273 WHEN OTHERS THEN
89274 xla_exceptions_pkg.raise_message
89275 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_159');
89276 END AcctLineType_159;
89277 --
89278
89279 ---------------------------------------
89280 --
89281 -- PRIVATE FUNCTION
89282 -- AcctLineType_160
89283 --
89284 ---------------------------------------
89285 PROCEDURE AcctLineType_160 (
89286 p_application_id IN NUMBER
89287 ,p_event_id IN NUMBER
89288 ,p_calculate_acctd_flag IN VARCHAR2
89289 ,p_calculate_g_l_flag IN VARCHAR2
89290 ,p_actual_flag IN OUT VARCHAR2
89291 ,p_balance_type_code OUT VARCHAR2
89292 ,p_gain_or_loss_ref OUT VARCHAR2
89293
89294 --Invoice Distribution Description
89295 , p_source_1 IN VARCHAR2
89296 --Invoice Distribution Ledger Amount
89297 , p_source_9 IN NUMBER
89298 --Invoice Distribution Account
89299 , p_source_18 IN NUMBER
89300 --Invoice Distribution Type
89301 , p_source_21 IN VARCHAR2
89302 , p_source_21_meaning IN VARCHAR2
89303 --Accounting Reversal Indicator
89304 , p_source_41 IN VARCHAR2
89305 --Distribution Link Type
89306 , p_source_43 IN VARCHAR2
89307 --Allocation to Main Distribution Identifier
89308 , p_source_45 IN NUMBER
89309 --Invoice Identifier
89310 , p_source_46 IN NUMBER
89311 --Invoice Distribution Identifier
89312 , p_source_52 IN NUMBER
89313 --Payables Encumbrance Upgrade Credit Account
89314 , p_source_53 IN NUMBER
89315 --Payables Encumbrance Upgrade Credit Amount
89316 , p_source_54 IN NUMBER
89317 --Invoice Currency Code
89318 , p_source_55 IN VARCHAR2
89319 --Payables Encumbrance Upgrade Credit Base Amount
89320 , p_source_56 IN NUMBER
89321 --Payables Encumbrance Upgrade Debit Account
89322 , p_source_57 IN NUMBER
89323 --Payables Encumbrance Upgrade Debit Amount
89324 , p_source_58 IN NUMBER
89325 --Payables Encumbrance Upgrade Debit Base Amount
89326 , p_source_59 IN NUMBER
89327 --Payables Encumbrance Upgrade Option
89328 , p_source_60 IN VARCHAR2
89329 --Invoice Distribution Amount
89330 , p_source_61 IN NUMBER
89331 --Deferred Accounting End Date
89332 , p_source_65 IN DATE
89333 --Deferred Accounting Option
89334 , p_source_66 IN VARCHAR2
89335 --Deferred Accounting Start Date
89336 , p_source_67 IN DATE
89337 --Override Accounted Amount Indicator
89338 , p_source_68 IN VARCHAR2
89339 , p_source_68_meaning IN VARCHAR2
89340 --Invoice Supplier Identifier
89341 , p_source_69 IN NUMBER
89342 --Invoice Supplier Site Identifier
89343 , p_source_70 IN NUMBER
89344 --Third Party Type
89345 , p_source_71 IN VARCHAR2
89346 --Parent Reversal Identifier
89347 , p_source_72 IN NUMBER
89348 --Invoice Distribution Tax Line Identifier
89349 , p_source_74 IN NUMBER
89350 --Invoice Distribution Tax Distribution Identifier from Tax
89351 , p_source_75 IN NUMBER
89352 --Invoice Distribution Summary Tax Line Identifier
89353 , p_source_76 IN NUMBER
89354 --Payables Upgrade Credit Encumbrance Type Identifier
89355 , p_source_77 IN NUMBER
89356 --Payables Upgrade Debit Encumbrance Type Identifier
89357 , p_source_78 IN NUMBER
89358 --Business Flow Accounts Payable Application Identifier
89359 , p_source_79 IN NUMBER
89360 --Business Flow Invoice Distribution Type
89361 , p_source_80 IN VARCHAR2
89362 --Business Flow Invoice Entity Code
89363 , p_source_81 IN VARCHAR2
89364 --Business Flow Invoice Distribution Identifier
89365 , p_source_82 IN NUMBER
89366 --Business Flow Invoice Identifier
89367 , p_source_83 IN NUMBER
89368 --Accrue on Receipt Option
89369 , p_source_84 IN VARCHAR2
89370 , p_source_84_meaning IN VARCHAR2
89371 --Invoice Exchange Date
89372 , p_source_136 IN DATE
89373 --Invoice Exchange Rate
89374 , p_source_137 IN NUMBER
89375 --Invoice Exchange Rate Type
89376 , p_source_138 IN VARCHAR2
89377 )
89378 IS
89379
89380 l_component_type VARCHAR2(80);
89381 l_component_code VARCHAR2(30);
89382 l_component_type_code VARCHAR2(1);
89383 l_component_appl_id INTEGER;
89384 l_amb_context_code VARCHAR2(30);
89385 l_entity_code VARCHAR2(30);
89386 l_event_class_code VARCHAR2(30);
89387 l_ae_header_id NUMBER;
89388 l_event_type_code VARCHAR2(30);
89389 l_line_definition_code VARCHAR2(30);
89390 l_line_definition_owner_code VARCHAR2(1);
89391 --
89392 -- adr variables
89393 l_segment VARCHAR2(30);
89394 l_ccid NUMBER;
89395 l_adr_transaction_coa_id NUMBER;
89396 l_adr_accounting_coa_id NUMBER;
89397 l_adr_flexfield_segment_code VARCHAR2(30);
89401 l_adr_value_segment_code VARCHAR2(30);
89398 l_adr_flex_value_set_id NUMBER;
89399 l_adr_value_type_code VARCHAR2(30);
89400 l_adr_value_combination_id NUMBER;
89402
89403 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
89404 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
89405 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
89406 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
89407
89408 -- 4262811 Variables ------------------------------------------------------------------------------------------
89409 l_entered_amt_idx NUMBER;
89410 l_accted_amt_idx NUMBER;
89411 l_acc_rev_flag VARCHAR2(1);
89412 l_accrual_line_num NUMBER;
89413 l_tmp_amt NUMBER;
89414 l_acc_rev_natural_side_code VARCHAR2(1);
89415
89416 l_num_entries NUMBER;
89417 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
89418 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
89419 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
89420 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
89421 l_recog_line_1 NUMBER;
89422 l_recog_line_2 NUMBER;
89423
89424 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
89425 l_bflow_applied_to_amt NUMBER; -- 5132302
89426 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
89427
89428 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
89429
89430 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
89431 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
89432
89433 ---------------------------------------------------------------------------------------------------------------
89434
89435
89436 --
89437 -- bulk performance
89438 --
89439 l_balance_type_code VARCHAR2(1);
89440 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
89441 l_log_module VARCHAR2(240);
89442
89443 --
89444 -- Upgrade strategy
89445 --
89446 l_actual_upg_option VARCHAR2(1);
89447 l_enc_upg_option VARCHAR2(1);
89448
89449 --
89450 BEGIN
89451 --
89452 IF g_log_enabled THEN
89453 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_160';
89454 END IF;
89455 --
89456 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89457
89458 trace
89459 (p_msg => 'BEGIN of AcctLineType_160'
89460 ,p_level => C_LEVEL_PROCEDURE
89461 ,p_module => l_log_module);
89462
89463 END IF;
89464 --
89465 l_component_type := 'AMB_JLT';
89466 l_component_code := 'AP_ITEM_EXPENSE_DM';
89467 l_component_type_code := 'S';
89468 l_component_appl_id := 200;
89469 l_amb_context_code := 'DEFAULT';
89470 l_entity_code := 'AP_INVOICES';
89471 l_event_class_code := 'DEBIT MEMOS';
89472 l_event_type_code := 'DEBIT MEMOS_ALL';
89473 l_line_definition_owner_code := 'S';
89474 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
89475 --
89476 l_balance_type_code := 'A';
89477 l_segment := NULL;
89478 l_ccid := NULL;
89479 l_adr_transaction_coa_id := NULL;
89480 l_adr_accounting_coa_id := NULL;
89481 l_adr_flexfield_segment_code := NULL;
89482 l_adr_flex_value_set_id := NULL;
89483 l_adr_value_type_code := NULL;
89484 l_adr_value_combination_id := NULL;
89485 l_adr_value_segment_code := NULL;
89486
89487 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
89488 l_bflow_class_code := ''; -- 4219869 Business Flow
89489 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
89490 l_budgetary_control_flag := 'N';
89491
89492 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89493 l_bflow_applied_to_amt := NULL; -- 5132302
89494 l_entered_amt_idx := NULL; -- 4262811
89495 l_accted_amt_idx := NULL; -- 4262811
89496 l_acc_rev_flag := NULL; -- 4262811
89497 l_accrual_line_num := NULL; -- 4262811
89498 l_tmp_amt := NULL; -- 4262811
89499 --
89500
89501 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
89502 l_balance_type_code <> 'B' THEN
89503 IF NVL(p_source_21,'
89504 ') = 'RETROEXPENSE' OR
89505 NVL(p_source_21,'
89506 ') = 'ITEM' OR
89507 (NVL(p_source_21,'
89508 ') = 'ERV' AND
89509 NVL(p_source_84,'
89510 ') <> 'Y') OR
89511 (NVL(p_source_21,'
89512 ') = 'IPV' AND
89513 NVL(p_source_84,'
89514 ') <> 'Y')
89515 THEN
89516
89517 --
89518 XLA_AE_LINES_PKG.SetNewLine;
89519
89520 p_balance_type_code := l_balance_type_code;
89521 -- set the flag so later we will know whether the gain loss line needs to be created
89522
89523 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
89524 p_actual_flag :='A';
89525 END IF;
89526
89527 --
89528 -- bulk performance
89529 --
89530 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
89531 p_header_num => 0); -- 4262811
89532 --
89536 p_natural_side_code => 'D'
89533 -- set accounting line options
89534 --
89535 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
89537 , p_gain_or_loss_flag => 'N'
89538 , p_gl_transfer_mode_code => 'S'
89539 , p_acct_entry_type_code => 'A'
89540 , p_switch_side_flag => 'Y'
89541 , p_merge_duplicate_code => 'A'
89542 );
89543 --
89544 l_acc_rev_natural_side_code := 'C'; -- 4262811
89545 --
89546 --
89547 -- set accounting line type info
89548 --
89549 xla_ae_lines_pkg.SetAcctLineType
89550 (p_component_type => l_component_type
89551 ,p_event_type_code => l_event_type_code
89552 ,p_line_definition_owner_code => l_line_definition_owner_code
89553 ,p_line_definition_code => l_line_definition_code
89554 ,p_accounting_line_code => l_component_code
89555 ,p_accounting_line_type_code => l_component_type_code
89556 ,p_accounting_line_appl_id => l_component_appl_id
89557 ,p_amb_context_code => l_amb_context_code
89558 ,p_entity_code => l_entity_code
89559 ,p_event_class_code => l_event_class_code);
89560 --
89561 -- set accounting class
89562 --
89563 xla_ae_lines_pkg.SetAcctClass(
89564 p_accounting_class_code => 'ITEM EXPENSE'
89565 , p_ae_header_id => l_ae_header_id
89566 );
89567
89568 --
89569 -- set rounding class
89570 --
89571 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
89572 'ITEM EXPENSE';
89573
89574 --
89575 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
89576 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
89577 --
89578 -- bulk performance
89579 --
89580 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
89581
89582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
89583 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
89584
89585 -- 4955764
89586 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89587 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
89588
89589 -- 4458381 Public Sector Enh
89590
89591 --
89592 -- set accounting attributes for the line type
89593 --
89594 l_entered_amt_idx := 23;
89595 l_accted_amt_idx := 28;
89596 l_bflow_applied_to_amt_idx := NULL; -- 5132302
89597 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
89598 l_rec_acct_attrs.array_char_value(1) := p_source_41;
89599 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
89600 l_rec_acct_attrs.array_num_value(2) :=
89601 xla_ae_sources_pkg.GetSystemSourceNum(
89602 p_source_code => 'XLA_EVENT_APPL_ID'
89603 , p_source_type_code => 'Y'
89604 , p_source_application_id => 602
89605 );
89606 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
89607 l_rec_acct_attrs.array_char_value(3) := p_source_43;
89608 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
89609 l_rec_acct_attrs.array_char_value(4) :=
89610 xla_ae_sources_pkg.GetSystemSourceChar(
89611 p_source_code => 'XLA_ENTITY_CODE'
89612 , p_source_type_code => 'Y'
89613 , p_source_application_id => 602
89614 );
89615 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
89616 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
89617 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
89618 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
89619 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
89620 l_rec_acct_attrs.array_num_value(7) := p_source_79;
89621 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
89622 l_rec_acct_attrs.array_char_value(8) := p_source_80;
89623 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
89624 l_rec_acct_attrs.array_char_value(9) := p_source_81;
89625 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
89626 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
89627 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
89628 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
89629 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
89630 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
89631 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
89632 l_rec_acct_attrs.array_char_value(13) := p_source_43;
89633 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
89634 l_rec_acct_attrs.array_num_value(14) := p_source_53;
89635 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
89636 l_rec_acct_attrs.array_num_value(15) := p_source_54;
89637 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
89638 l_rec_acct_attrs.array_char_value(16) := p_source_55;
89639 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
89640 l_rec_acct_attrs.array_num_value(17) := p_source_56;
89644 l_rec_acct_attrs.array_num_value(19) := p_source_58;
89641 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
89642 l_rec_acct_attrs.array_num_value(18) := p_source_57;
89643 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
89645 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
89646 l_rec_acct_attrs.array_char_value(20) := p_source_55;
89647 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
89648 l_rec_acct_attrs.array_num_value(21) := p_source_59;
89649 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
89650 l_rec_acct_attrs.array_char_value(22) := p_source_60;
89651 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
89652 l_rec_acct_attrs.array_num_value(23) := p_source_61;
89653 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
89654 l_rec_acct_attrs.array_char_value(24) := p_source_55;
89655 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
89656 l_rec_acct_attrs.array_date_value(25) := p_source_136;
89657 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
89658 l_rec_acct_attrs.array_num_value(26) := p_source_137;
89659 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
89660 l_rec_acct_attrs.array_char_value(27) := p_source_138;
89661 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
89662 l_rec_acct_attrs.array_num_value(28) := p_source_9;
89663 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
89664 l_rec_acct_attrs.array_date_value(29) := p_source_65;
89665 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
89666 l_rec_acct_attrs.array_char_value(30) := p_source_66;
89667 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
89668 l_rec_acct_attrs.array_date_value(31) := p_source_67;
89669 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
89670 l_rec_acct_attrs.array_char_value(32) := p_source_68;
89671 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
89672 l_rec_acct_attrs.array_num_value(33) := p_source_69;
89673 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
89674 l_rec_acct_attrs.array_num_value(34) := p_source_70;
89675 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
89676 l_rec_acct_attrs.array_char_value(35) := p_source_71;
89677 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
89678 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
89679 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
89680 l_rec_acct_attrs.array_char_value(37) := p_source_43;
89681 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
89682 l_rec_acct_attrs.array_num_value(38) := p_source_74;
89683 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
89684 l_rec_acct_attrs.array_num_value(39) := p_source_75;
89685 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
89686 l_rec_acct_attrs.array_num_value(40) := p_source_76;
89687 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
89688 l_rec_acct_attrs.array_num_value(41) := p_source_77;
89689 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
89690 l_rec_acct_attrs.array_num_value(42) := p_source_78;
89691
89692 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
89693 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
89694
89695 ---------------------------------------------------------------------------------------------------------------
89696 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
89697 ---------------------------------------------------------------------------------------------------------------
89698 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
89699
89700 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89701 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
89702
89703 IF xla_accounting_cache_pkg.GetValueChar
89704 (p_source_code => 'LEDGER_CATEGORY_CODE'
89705 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
89706 AND l_bflow_method_code = 'PRIOR_ENTRY'
89707 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
89708 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
89709 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
89710 )
89711 THEN
89712 xla_ae_lines_pkg.BflowUpgEntry
89713 (p_business_method_code => l_bflow_method_code
89714 ,p_business_class_code => l_bflow_class_code
89715 ,p_balance_type => l_balance_type_code);
89716 ELSE
89717 NULL;
89718 -- No business flow processing for business flow method of NONE.
89719 END IF;
89720
89721 --
89722 -- call analytical criteria
89723 --
89724
89725 --
89726 -- call description
89727 --
89728
89729 xla_ae_lines_pkg.SetLineDescription(
89730 p_ae_header_id => l_ae_header_id
89731 ,p_description => Description_2 (
89732 p_application_id => p_application_id
89733 , p_ae_header_id => l_ae_header_id
89734 , p_source_1 => p_source_1
89735 )
89736 );
89740 -- call ADRs
89737
89738
89739 --
89741 -- Bug 4922099
89742 --
89743 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89744 (NVL(l_actual_upg_option, 'N') = 'O') OR
89745 (NVL(l_enc_upg_option, 'N') = 'O')
89746 )
89747 THEN
89748 NULL;
89749 --
89750 --
89751
89752 l_ccid := AcctDerRule_32(
89753 p_application_id => p_application_id
89754 , p_ae_header_id => l_ae_header_id
89755 , p_source_18 => p_source_18
89756 , x_transaction_coa_id => l_adr_transaction_coa_id
89757 , x_accounting_coa_id => l_adr_accounting_coa_id
89758 , x_value_type_code => l_adr_value_type_code
89759 , p_side => 'NA'
89760 );
89761
89762 xla_ae_lines_pkg.set_ccid(
89763 p_code_combination_id => l_ccid
89764 , p_value_type_code => l_adr_value_type_code
89765 , p_transaction_coa_id => l_adr_transaction_coa_id
89766 , p_accounting_coa_id => l_adr_accounting_coa_id
89767 , p_adr_code => 'AP_INVOICE_DIST'
89768 , p_adr_type_code => 'S'
89769 , p_component_type => l_component_type
89770 , p_component_code => l_component_code
89771 , p_component_type_code => l_component_type_code
89772 , p_component_appl_id => l_component_appl_id
89773 , p_amb_context_code => l_amb_context_code
89774 , p_side => 'NA'
89775 );
89776
89777
89778 --
89779 --
89780 END IF;
89781 --
89782 -- Bug 4922099
89783 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
89784 (NVL(l_enc_upg_option, 'N') = 'O')
89785 ) AND
89786 (l_bflow_method_code = 'PRIOR_ENTRY')
89787 )
89788 THEN
89789 IF
89790 --
89791 1 = 2
89792 --
89793 THEN
89794 xla_accounting_err_pkg.build_message
89795 (p_appli_s_name => 'XLA'
89796 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89797 ,p_token_1 => 'LINE_NUMBER'
89798 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
89799 ,p_token_2 => 'LINE_TYPE_NAME'
89800 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
89801 l_component_type
89802 ,l_component_code
89803 ,l_component_type_code
89804 ,l_component_appl_id
89805 ,l_amb_context_code
89806 ,l_entity_code
89807 ,l_event_class_code
89808 )
89809 ,p_token_3 => 'OWNER'
89810 ,p_value_3 => xla_lookups_pkg.get_meaning(
89811 p_lookup_type => 'XLA_OWNER_TYPE'
89812 ,p_lookup_code => l_component_type_code
89813 )
89814 ,p_token_4 => 'PRODUCT_NAME'
89815 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
89816 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
89817 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
89818 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
89819 ,p_ae_header_id => NULL
89820 );
89821
89822 IF (C_LEVEL_ERROR>= g_log_level) THEN
89823 trace
89824 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
89825 ,p_level => C_LEVEL_ERROR
89826 ,p_module => l_log_module);
89827 END IF;
89828 END IF;
89829 END IF;
89830 --
89831 --
89832 ------------------------------------------------------------------------------------------------
89833 -- 4219869 Business Flow
89834 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
89835 -- Prior Entry. Currently, the following code is always generated.
89836 ------------------------------------------------------------------------------------------------
89837 XLA_AE_LINES_PKG.ValidateCurrentLine;
89838
89839 ------------------------------------------------------------------------------------
89840 -- 4219869 Business Flow
89841 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
89845 ----------------------------------------------------------------------------------
89842 ------------------------------------------------------------------------------------
89843 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89844
89846 -- 4219869 Business Flow
89847 -- Update journal entry status -- Need to generate this within IF <condition>
89848 ----------------------------------------------------------------------------------
89849 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89850 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
89851 ,p_balance_type_code => l_balance_type_code
89852 );
89853
89854 -------------------------------------------------------------------------------------------
89855 -- 4262811 - Generate the Accrual Reversal lines
89856 -------------------------------------------------------------------------------------------
89857 BEGIN
89858 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
89859 (g_array_event(p_event_id).array_value_num('header_index'));
89860 IF l_acc_rev_flag IS NULL THEN
89861 l_acc_rev_flag := 'N';
89862 END IF;
89863 EXCEPTION
89864 WHEN OTHERS THEN
89865 l_acc_rev_flag := 'N';
89866 END;
89867 --
89868 IF (l_acc_rev_flag = 'Y') THEN
89869
89870 -- 4645092 ------------------------------------------------------------------------------
89871 -- To allow MPA report to determine if it should generate report process
89872 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
89873 ------------------------------------------------------------------------------------------
89874
89875 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
89876 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
89877 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
89878 -- call ADRs
89879 -- Bug 4922099
89880 --
89881 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
89882 (NVL(l_actual_upg_option, 'N') = 'O') OR
89883 (NVL(l_enc_upg_option, 'N') = 'O')
89884 )
89885 THEN
89886 NULL;
89887 --
89888 --
89889
89890 l_ccid := AcctDerRule_32(
89891 p_application_id => p_application_id
89892 , p_ae_header_id => l_ae_header_id
89893 , p_source_18 => p_source_18
89894 , x_transaction_coa_id => l_adr_transaction_coa_id
89895 , x_accounting_coa_id => l_adr_accounting_coa_id
89896 , x_value_type_code => l_adr_value_type_code
89897 , p_side => 'NA'
89898 );
89899
89900 xla_ae_lines_pkg.set_ccid(
89901 p_code_combination_id => l_ccid
89902 , p_value_type_code => l_adr_value_type_code
89903 , p_transaction_coa_id => l_adr_transaction_coa_id
89904 , p_accounting_coa_id => l_adr_accounting_coa_id
89905 , p_adr_code => 'AP_INVOICE_DIST'
89906 , p_adr_type_code => 'S'
89907 , p_component_type => l_component_type
89908 , p_component_code => l_component_code
89909 , p_component_type_code => l_component_type_code
89910 , p_component_appl_id => l_component_appl_id
89911 , p_amb_context_code => l_amb_context_code
89912 , p_side => 'NA'
89913 );
89914
89915
89916 --
89917 --
89918 END IF;
89919
89920 --
89921 -- Update the line information that should be overwritten
89922 --
89923 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
89924 p_header_num => 1);
89925 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
89926
89927 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
89928
89929 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
89930 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
89931 END IF;
89932
89933 --
89934 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
89935 --
89936 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
89937 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
89938 ELSE
89939 ---------------------------------------------------------------------------------------------------
89940 -- 4262811a Switch Sign
89941 ---------------------------------------------------------------------------------------------------
89942 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
89943 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89945 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
89946 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89947 -- 5132302
89948 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
89949 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
89953 -- 4955764
89950
89951 END IF;
89952
89954 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
89955 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
89956
89957
89958 XLA_AE_LINES_PKG.ValidateCurrentLine;
89959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
89960
89961 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
89962 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
89963 ,p_balance_type_code => l_balance_type_code);
89964
89965 END IF;
89966
89967 -----------------------------------------------------------------------------------------
89968 -- 4262811 Multiperiod Accounting
89969 -----------------------------------------------------------------------------------------
89970 -- No MPA option is assigned.
89971
89972
89973 END IF;
89974 END IF;
89975 --
89976
89977 --
89978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
89979 trace
89980 (p_msg => 'END of AcctLineType_160'
89981 ,p_level => C_LEVEL_PROCEDURE
89982 ,p_module => l_log_module);
89983 END IF;
89984 --
89985 EXCEPTION
89986 WHEN xla_exceptions_pkg.application_exception THEN
89987 RAISE;
89988 WHEN OTHERS THEN
89989 xla_exceptions_pkg.raise_message
89990 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_160');
89991 END AcctLineType_160;
89992 --
89993
89994 ---------------------------------------
89995 --
89996 -- PRIVATE FUNCTION
89997 -- AcctLineType_161
89998 --
89999 ---------------------------------------
90000 PROCEDURE AcctLineType_161 (
90001 p_application_id IN NUMBER
90002 ,p_event_id IN NUMBER
90003 ,p_calculate_acctd_flag IN VARCHAR2
90004 ,p_calculate_g_l_flag IN VARCHAR2
90005 ,p_actual_flag IN OUT VARCHAR2
90006 ,p_balance_type_code OUT VARCHAR2
90007 ,p_gain_or_loss_ref OUT VARCHAR2
90008
90009 --Invoice Distribution Type
90010 , p_source_21 IN VARCHAR2
90011 , p_source_21_meaning IN VARCHAR2
90012 --Accounting Reversal Indicator
90013 , p_source_41 IN VARCHAR2
90014 --Distribution Link Type
90015 , p_source_43 IN VARCHAR2
90016 --Allocation to Main Distribution Identifier
90017 , p_source_45 IN NUMBER
90018 --Invoice Identifier
90019 , p_source_46 IN NUMBER
90020 --Invoice Distribution Identifier
90021 , p_source_52 IN NUMBER
90022 --Payables Encumbrance Upgrade Credit Account
90023 , p_source_53 IN NUMBER
90024 --Payables Encumbrance Upgrade Credit Amount
90025 , p_source_54 IN NUMBER
90026 --Invoice Currency Code
90027 , p_source_55 IN VARCHAR2
90028 --Payables Encumbrance Upgrade Credit Base Amount
90029 , p_source_56 IN NUMBER
90030 --Payables Encumbrance Upgrade Debit Account
90031 , p_source_57 IN NUMBER
90032 --Payables Encumbrance Upgrade Debit Amount
90033 , p_source_58 IN NUMBER
90034 --Payables Encumbrance Upgrade Debit Base Amount
90035 , p_source_59 IN NUMBER
90036 --Payables Encumbrance Upgrade Option
90037 , p_source_60 IN VARCHAR2
90038 --Deferred Accounting End Date
90039 , p_source_65 IN DATE
90040 --Deferred Accounting Option
90041 , p_source_66 IN VARCHAR2
90042 --Deferred Accounting Start Date
90043 , p_source_67 IN DATE
90044 --Override Accounted Amount Indicator
90045 , p_source_68 IN VARCHAR2
90046 , p_source_68_meaning IN VARCHAR2
90047 --Third Party Type
90048 , p_source_71 IN VARCHAR2
90049 --Parent Reversal Identifier
90050 , p_source_72 IN NUMBER
90051 --Invoice Distribution Tax Line Identifier
90052 , p_source_74 IN NUMBER
90053 --Invoice Distribution Tax Distribution Identifier from Tax
90054 , p_source_75 IN NUMBER
90055 --Invoice Distribution Summary Tax Line Identifier
90056 , p_source_76 IN NUMBER
90057 --Payables Upgrade Credit Encumbrance Type Identifier
90058 , p_source_77 IN NUMBER
90059 --Payables Upgrade Debit Encumbrance Type Identifier
90060 , p_source_78 IN NUMBER
90061 --Business Flow Accounts Payable Application Identifier
90062 , p_source_79 IN NUMBER
90063 --Business Flow Invoice Distribution Type
90064 , p_source_80 IN VARCHAR2
90065 --Business Flow Invoice Entity Code
90066 , p_source_81 IN VARCHAR2
90067 --Business Flow Invoice Distribution Identifier
90068 , p_source_82 IN NUMBER
90069 --Business Flow Invoice Identifier
90070 , p_source_83 IN NUMBER
90071 --Accrue on Receipt Option
90072 , p_source_84 IN VARCHAR2
90073 , p_source_84_meaning IN VARCHAR2
90074 --Purchasing Encumbrance Option
90075 , p_source_86 IN VARCHAR2
90076 , p_source_86_meaning IN VARCHAR2
90077 --Invoice Encumbered Option
90078 , p_source_87 IN VARCHAR2
90079 , p_source_87_meaning IN VARCHAR2
90080 --Invoice Distribution Encumbrance Amount
90081 , p_source_143 IN NUMBER
90082 --Invoice Distribution Encumbrance Ledger Amount
90083 , p_source_144 IN NUMBER
90084 )
90085 IS
90086
90087 l_component_type VARCHAR2(80);
90091 l_amb_context_code VARCHAR2(30);
90088 l_component_code VARCHAR2(30);
90089 l_component_type_code VARCHAR2(1);
90090 l_component_appl_id INTEGER;
90092 l_entity_code VARCHAR2(30);
90093 l_event_class_code VARCHAR2(30);
90094 l_ae_header_id NUMBER;
90095 l_event_type_code VARCHAR2(30);
90096 l_line_definition_code VARCHAR2(30);
90097 l_line_definition_owner_code VARCHAR2(1);
90098 --
90099 -- adr variables
90100 l_segment VARCHAR2(30);
90101 l_ccid NUMBER;
90102 l_adr_transaction_coa_id NUMBER;
90103 l_adr_accounting_coa_id NUMBER;
90104 l_adr_flexfield_segment_code VARCHAR2(30);
90105 l_adr_flex_value_set_id NUMBER;
90106 l_adr_value_type_code VARCHAR2(30);
90107 l_adr_value_combination_id NUMBER;
90108 l_adr_value_segment_code VARCHAR2(30);
90109
90110 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
90111 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
90112 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
90113 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
90114
90115 -- 4262811 Variables ------------------------------------------------------------------------------------------
90116 l_entered_amt_idx NUMBER;
90117 l_accted_amt_idx NUMBER;
90118 l_acc_rev_flag VARCHAR2(1);
90119 l_accrual_line_num NUMBER;
90120 l_tmp_amt NUMBER;
90121 l_acc_rev_natural_side_code VARCHAR2(1);
90122
90123 l_num_entries NUMBER;
90124 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
90125 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
90126 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
90127 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
90128 l_recog_line_1 NUMBER;
90129 l_recog_line_2 NUMBER;
90130
90131 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
90132 l_bflow_applied_to_amt NUMBER; -- 5132302
90133 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
90134
90135 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
90136
90137 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
90138 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
90139
90140 ---------------------------------------------------------------------------------------------------------------
90141
90142
90143 --
90144 -- bulk performance
90145 --
90146 l_balance_type_code VARCHAR2(1);
90147 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
90148 l_log_module VARCHAR2(240);
90149
90150 --
90151 -- Upgrade strategy
90152 --
90153 l_actual_upg_option VARCHAR2(1);
90154 l_enc_upg_option VARCHAR2(1);
90155
90156 --
90157 BEGIN
90158 --
90159 IF g_log_enabled THEN
90160 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_161';
90161 END IF;
90162 --
90163 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90164
90165 trace
90166 (p_msg => 'BEGIN of AcctLineType_161'
90167 ,p_level => C_LEVEL_PROCEDURE
90168 ,p_module => l_log_module);
90169
90170 END IF;
90171 --
90172 l_component_type := 'AMB_JLT';
90173 l_component_code := 'AP_ITEM_EXPENSE_DM_ENC';
90174 l_component_type_code := 'S';
90175 l_component_appl_id := 200;
90176 l_amb_context_code := 'DEFAULT';
90177 l_entity_code := 'AP_INVOICES';
90178 l_event_class_code := 'DEBIT MEMOS';
90179 l_event_type_code := 'DEBIT MEMOS_ALL';
90180 l_line_definition_owner_code := 'S';
90181 l_line_definition_code := 'ENC_REV_DM_ALL';
90182 --
90183 l_balance_type_code := 'E';
90184 l_segment := NULL;
90185 l_ccid := NULL;
90186 l_adr_transaction_coa_id := NULL;
90187 l_adr_accounting_coa_id := NULL;
90188 l_adr_flexfield_segment_code := NULL;
90189 l_adr_flex_value_set_id := NULL;
90190 l_adr_value_type_code := NULL;
90191 l_adr_value_combination_id := NULL;
90192 l_adr_value_segment_code := NULL;
90193
90194 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
90195 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
90196 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
90197 l_budgetary_control_flag := 'N';
90198
90199 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90200 l_bflow_applied_to_amt := NULL; -- 5132302
90201 l_entered_amt_idx := NULL; -- 4262811
90202 l_accted_amt_idx := NULL; -- 4262811
90203 l_acc_rev_flag := NULL; -- 4262811
90204 l_accrual_line_num := NULL; -- 4262811
90205 l_tmp_amt := NULL; -- 4262811
90206 --
90207
90208 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
90209 l_balance_type_code <> 'B' THEN
90210 IF NVL(p_source_21,'
90211 ') = 'ITEM' AND
90212 NVL(p_source_84,'
90213 ') <> 'Y' AND
90214 NVL(p_source_86,'
90215 ') = 'Y' AND
90216 NVL(p_source_87,'
90217 ') = 'Y'
90221 XLA_AE_LINES_PKG.SetNewLine;
90218 THEN
90219
90220 --
90222
90223 p_balance_type_code := l_balance_type_code;
90224 -- set the flag so later we will know whether the gain loss line needs to be created
90225
90226 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
90227 p_actual_flag :='A';
90228 END IF;
90229
90230 --
90231 -- bulk performance
90232 --
90233 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
90234 p_header_num => 0); -- 4262811
90235 --
90236 -- set accounting line options
90237 --
90238 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
90239 p_natural_side_code => 'C'
90240 , p_gain_or_loss_flag => 'N'
90241 , p_gl_transfer_mode_code => 'S'
90242 , p_acct_entry_type_code => 'E'
90243 , p_switch_side_flag => 'Y'
90244 , p_merge_duplicate_code => 'A'
90245 );
90246 --
90247 l_acc_rev_natural_side_code := 'D'; -- 4262811
90248 --
90249 --
90250 -- set accounting line type info
90251 --
90252 xla_ae_lines_pkg.SetAcctLineType
90253 (p_component_type => l_component_type
90254 ,p_event_type_code => l_event_type_code
90255 ,p_line_definition_owner_code => l_line_definition_owner_code
90256 ,p_line_definition_code => l_line_definition_code
90257 ,p_accounting_line_code => l_component_code
90258 ,p_accounting_line_type_code => l_component_type_code
90259 ,p_accounting_line_appl_id => l_component_appl_id
90260 ,p_amb_context_code => l_amb_context_code
90261 ,p_entity_code => l_entity_code
90262 ,p_event_class_code => l_event_class_code);
90263 --
90264 -- set accounting class
90265 --
90266 xla_ae_lines_pkg.SetAcctClass(
90267 p_accounting_class_code => 'ITEM EXPENSE'
90268 , p_ae_header_id => l_ae_header_id
90269 );
90270
90271 --
90272 -- set rounding class
90273 --
90274 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
90275 'ITEM EXPENSE';
90276
90277 --
90278 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
90279 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
90280 --
90281 -- bulk performance
90282 --
90283 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90284
90285 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90286 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90287
90288 -- 4955764
90289 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90290 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90291
90292 -- 4458381 Public Sector Enh
90293
90294 --
90295 -- set accounting attributes for the line type
90296 --
90297 l_entered_amt_idx := 23;
90298 l_accted_amt_idx := 25;
90299 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90300 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90301 l_rec_acct_attrs.array_char_value(1) := p_source_41;
90302 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
90303 l_rec_acct_attrs.array_num_value(2) :=
90304 xla_ae_sources_pkg.GetSystemSourceNum(
90305 p_source_code => 'XLA_EVENT_APPL_ID'
90306 , p_source_type_code => 'Y'
90307 , p_source_application_id => 602
90308 );
90309 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
90310 l_rec_acct_attrs.array_char_value(3) := p_source_43;
90311 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
90312 l_rec_acct_attrs.array_char_value(4) :=
90313 xla_ae_sources_pkg.GetSystemSourceChar(
90314 p_source_code => 'XLA_ENTITY_CODE'
90315 , p_source_type_code => 'Y'
90316 , p_source_application_id => 602
90317 );
90318 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
90319 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
90320 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
90321 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
90322 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
90323 l_rec_acct_attrs.array_num_value(7) := p_source_79;
90324 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90325 l_rec_acct_attrs.array_char_value(8) := p_source_80;
90326 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
90327 l_rec_acct_attrs.array_char_value(9) := p_source_81;
90328 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
90329 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
90330 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
90331 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
90332 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
90333 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
90334 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
90338 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
90335 l_rec_acct_attrs.array_char_value(13) := p_source_43;
90336 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
90337 l_rec_acct_attrs.array_num_value(14) := p_source_53;
90339 l_rec_acct_attrs.array_num_value(15) := p_source_54;
90340 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
90341 l_rec_acct_attrs.array_char_value(16) := p_source_55;
90342 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
90343 l_rec_acct_attrs.array_num_value(17) := p_source_56;
90344 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
90345 l_rec_acct_attrs.array_num_value(18) := p_source_57;
90346 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
90347 l_rec_acct_attrs.array_num_value(19) := p_source_58;
90348 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
90349 l_rec_acct_attrs.array_char_value(20) := p_source_55;
90350 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
90351 l_rec_acct_attrs.array_num_value(21) := p_source_59;
90352 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
90353 l_rec_acct_attrs.array_char_value(22) := p_source_60;
90354 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
90355 l_rec_acct_attrs.array_num_value(23) := p_source_143;
90356 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
90357 l_rec_acct_attrs.array_char_value(24) := p_source_55;
90358 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
90359 l_rec_acct_attrs.array_num_value(25) := p_source_144;
90360 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
90361 l_rec_acct_attrs.array_date_value(26) := p_source_65;
90362 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
90363 l_rec_acct_attrs.array_char_value(27) := p_source_66;
90364 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
90365 l_rec_acct_attrs.array_date_value(28) := p_source_67;
90366 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
90367 l_rec_acct_attrs.array_char_value(29) := p_source_68;
90368 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
90369 l_rec_acct_attrs.array_char_value(30) := p_source_71;
90370 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
90371 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
90372 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
90373 l_rec_acct_attrs.array_char_value(32) := p_source_43;
90374 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
90375 l_rec_acct_attrs.array_num_value(33) := p_source_74;
90376 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
90377 l_rec_acct_attrs.array_num_value(34) := p_source_75;
90378 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
90379 l_rec_acct_attrs.array_num_value(35) := p_source_76;
90380 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
90381 l_rec_acct_attrs.array_num_value(36) := p_source_77;
90382 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
90383 l_rec_acct_attrs.array_num_value(37) := p_source_78;
90384
90385 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
90386 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
90387
90388 ---------------------------------------------------------------------------------------------------------------
90389 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
90390 ---------------------------------------------------------------------------------------------------------------
90391 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
90392
90393 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90394 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
90395
90396 IF xla_accounting_cache_pkg.GetValueChar
90397 (p_source_code => 'LEDGER_CATEGORY_CODE'
90398 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
90399 AND l_bflow_method_code = 'PRIOR_ENTRY'
90400 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
90401 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
90402 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
90403 )
90404 THEN
90405 xla_ae_lines_pkg.BflowUpgEntry
90406 (p_business_method_code => l_bflow_method_code
90407 ,p_business_class_code => l_bflow_class_code
90408 ,p_balance_type => l_balance_type_code);
90409 ELSE
90410 NULL;
90411 XLA_AE_LINES_PKG.business_flow_validation(
90412 p_business_method_code => l_bflow_method_code
90413 ,p_business_class_code => l_bflow_class_code
90414 ,p_inherit_description_flag => l_inherit_desc_flag);
90415 END IF;
90416
90417 --
90418 -- call analytical criteria
90419 --
90420 -- Inherited Analytical Criteria for business flow method of Prior Entry.
90421 --
90422 -- call description
90423 --
90424 -- No description or it is inherited.
90425 --
90426 -- call ADRs
90427 -- Bug 4922099
90428 --
90432 )
90429 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90430 (NVL(l_actual_upg_option, 'N') = 'O') OR
90431 (NVL(l_enc_upg_option, 'N') = 'O')
90433 THEN
90434 NULL;
90435 --
90436 --
90437
90438 --
90439 --
90440 END IF;
90441 --
90442 -- Bug 4922099
90443 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
90444 (NVL(l_enc_upg_option, 'N') = 'O')
90445 ) AND
90446 (l_bflow_method_code = 'PRIOR_ENTRY')
90447 )
90448 THEN
90449 IF
90450 --
90451 1 = 1
90452 --
90453 THEN
90454 xla_accounting_err_pkg.build_message
90455 (p_appli_s_name => 'XLA'
90456 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90457 ,p_token_1 => 'LINE_NUMBER'
90458 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
90459 ,p_token_2 => 'LINE_TYPE_NAME'
90460 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
90461 l_component_type
90462 ,l_component_code
90463 ,l_component_type_code
90464 ,l_component_appl_id
90465 ,l_amb_context_code
90466 ,l_entity_code
90467 ,l_event_class_code
90468 )
90469 ,p_token_3 => 'OWNER'
90470 ,p_value_3 => xla_lookups_pkg.get_meaning(
90471 p_lookup_type => 'XLA_OWNER_TYPE'
90472 ,p_lookup_code => l_component_type_code
90473 )
90474 ,p_token_4 => 'PRODUCT_NAME'
90475 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
90476 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
90477 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
90478 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
90479 ,p_ae_header_id => NULL
90480 );
90481
90482 IF (C_LEVEL_ERROR>= g_log_level) THEN
90483 trace
90484 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
90485 ,p_level => C_LEVEL_ERROR
90486 ,p_module => l_log_module);
90487 END IF;
90488 END IF;
90489 END IF;
90490 --
90491 --
90492 ------------------------------------------------------------------------------------------------
90493 -- 4219869 Business Flow
90494 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
90495 -- Prior Entry. Currently, the following code is always generated.
90496 ------------------------------------------------------------------------------------------------
90497 -- No ValidateCurrentLine for business flow method of Prior Entry
90498
90499 ------------------------------------------------------------------------------------
90500 -- 4219869 Business Flow
90501 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
90502 ------------------------------------------------------------------------------------
90503 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90504
90505 ----------------------------------------------------------------------------------
90506 -- 4219869 Business Flow
90507 -- Update journal entry status -- Need to generate this within IF <condition>
90508 ----------------------------------------------------------------------------------
90509 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90510 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
90511 ,p_balance_type_code => l_balance_type_code
90512 );
90513
90514 -------------------------------------------------------------------------------------------
90515 -- 4262811 - Generate the Accrual Reversal lines
90516 -------------------------------------------------------------------------------------------
90517 BEGIN
90518 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
90519 (g_array_event(p_event_id).array_value_num('header_index'));
90520 IF l_acc_rev_flag IS NULL THEN
90521 l_acc_rev_flag := 'N';
90522 END IF;
90523 EXCEPTION
90524 WHEN OTHERS THEN
90525 l_acc_rev_flag := 'N';
90526 END;
90527 --
90531 -- To allow MPA report to determine if it should generate report process
90528 IF (l_acc_rev_flag = 'Y') THEN
90529
90530 -- 4645092 ------------------------------------------------------------------------------
90532 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
90533 ------------------------------------------------------------------------------------------
90534
90535 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
90536 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
90537 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
90538 -- call ADRs
90539 -- Bug 4922099
90540 --
90541 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
90542 (NVL(l_actual_upg_option, 'N') = 'O') OR
90543 (NVL(l_enc_upg_option, 'N') = 'O')
90544 )
90545 THEN
90546 NULL;
90547 --
90548 --
90549
90550 --
90551 --
90552 END IF;
90553
90554 --
90555 -- Update the line information that should be overwritten
90556 --
90557 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
90558 p_header_num => 1);
90559 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
90560
90561 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
90562
90563 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
90564 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
90565 END IF;
90566
90567 --
90568 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
90569 --
90570 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
90571 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
90572 ELSE
90573 ---------------------------------------------------------------------------------------------------
90574 -- 4262811a Switch Sign
90575 ---------------------------------------------------------------------------------------------------
90576 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
90577 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90578 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90579 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
90580 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90581 -- 5132302
90582 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
90583 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
90584
90585 END IF;
90586
90587 -- 4955764
90588 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90589 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
90590
90591
90592 XLA_AE_LINES_PKG.ValidateCurrentLine;
90593 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
90594
90595 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
90596 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
90597 ,p_balance_type_code => l_balance_type_code);
90598
90599 END IF;
90600
90601 -----------------------------------------------------------------------------------------
90602 -- 4262811 Multiperiod Accounting
90603 -----------------------------------------------------------------------------------------
90604 -- No MPA option is assigned.
90605
90606
90607 END IF;
90608 END IF;
90609 --
90610
90611 --
90612 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90613 trace
90614 (p_msg => 'END of AcctLineType_161'
90615 ,p_level => C_LEVEL_PROCEDURE
90616 ,p_module => l_log_module);
90617 END IF;
90618 --
90619 EXCEPTION
90620 WHEN xla_exceptions_pkg.application_exception THEN
90621 RAISE;
90622 WHEN OTHERS THEN
90623 xla_exceptions_pkg.raise_message
90624 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_161');
90625 END AcctLineType_161;
90626 --
90627
90628 ---------------------------------------
90629 --
90630 -- PRIVATE FUNCTION
90631 -- AcctLineType_162
90632 --
90633 ---------------------------------------
90634 PROCEDURE AcctLineType_162 (
90635 p_application_id IN NUMBER
90636 ,p_event_id IN NUMBER
90637 ,p_calculate_acctd_flag IN VARCHAR2
90638 ,p_calculate_g_l_flag IN VARCHAR2
90639 ,p_actual_flag IN OUT VARCHAR2
90640 ,p_balance_type_code OUT VARCHAR2
90641 ,p_gain_or_loss_ref OUT VARCHAR2
90642
90643 --Invoice Distribution Description
90644 , p_source_1 IN VARCHAR2
90645 --Invoice Distribution Ledger Amount
90646 , p_source_9 IN NUMBER
90647 --Invoice Distribution Account
90648 , p_source_18 IN NUMBER
90649 --Invoice Distribution Type
90650 , p_source_21 IN VARCHAR2
90651 , p_source_21_meaning IN VARCHAR2
90652 --Accounting Reversal Indicator
90656 --Allocation to Main Distribution Identifier
90653 , p_source_41 IN VARCHAR2
90654 --Distribution Link Type
90655 , p_source_43 IN VARCHAR2
90657 , p_source_45 IN NUMBER
90658 --Invoice Identifier
90659 , p_source_46 IN NUMBER
90660 --Invoice Distribution Identifier
90661 , p_source_52 IN NUMBER
90662 --Payables Encumbrance Upgrade Credit Account
90663 , p_source_53 IN NUMBER
90664 --Payables Encumbrance Upgrade Credit Amount
90665 , p_source_54 IN NUMBER
90666 --Invoice Currency Code
90667 , p_source_55 IN VARCHAR2
90668 --Payables Encumbrance Upgrade Credit Base Amount
90669 , p_source_56 IN NUMBER
90670 --Payables Encumbrance Upgrade Debit Account
90671 , p_source_57 IN NUMBER
90672 --Payables Encumbrance Upgrade Debit Amount
90673 , p_source_58 IN NUMBER
90674 --Payables Encumbrance Upgrade Debit Base Amount
90675 , p_source_59 IN NUMBER
90676 --Payables Encumbrance Upgrade Option
90677 , p_source_60 IN VARCHAR2
90678 --Invoice Distribution Amount
90679 , p_source_61 IN NUMBER
90680 --Deferred Accounting End Date
90681 , p_source_65 IN DATE
90682 --Deferred Accounting Option
90683 , p_source_66 IN VARCHAR2
90684 --Deferred Accounting Start Date
90685 , p_source_67 IN DATE
90686 --Override Accounted Amount Indicator
90687 , p_source_68 IN VARCHAR2
90688 , p_source_68_meaning IN VARCHAR2
90689 --Invoice Supplier Identifier
90690 , p_source_69 IN NUMBER
90691 --Invoice Supplier Site Identifier
90692 , p_source_70 IN NUMBER
90693 --Third Party Type
90694 , p_source_71 IN VARCHAR2
90695 --Parent Reversal Identifier
90696 , p_source_72 IN NUMBER
90697 --Invoice Distribution Statistical Amount
90698 , p_source_73 IN NUMBER
90699 --Invoice Distribution Tax Line Identifier
90700 , p_source_74 IN NUMBER
90701 --Invoice Distribution Tax Distribution Identifier from Tax
90702 , p_source_75 IN NUMBER
90703 --Invoice Distribution Summary Tax Line Identifier
90704 , p_source_76 IN NUMBER
90705 --Payables Upgrade Credit Encumbrance Type Identifier
90706 , p_source_77 IN NUMBER
90707 --Payables Upgrade Debit Encumbrance Type Identifier
90708 , p_source_78 IN NUMBER
90709 --Business Flow Accounts Payable Application Identifier
90710 , p_source_79 IN NUMBER
90711 --Business Flow Invoice Distribution Type
90712 , p_source_80 IN VARCHAR2
90713 --Business Flow Invoice Entity Code
90714 , p_source_81 IN VARCHAR2
90715 --Business Flow Invoice Distribution Identifier
90716 , p_source_82 IN NUMBER
90717 --Business Flow Invoice Identifier
90718 , p_source_83 IN NUMBER
90719 --Accrue on Receipt Option
90720 , p_source_84 IN VARCHAR2
90721 , p_source_84_meaning IN VARCHAR2
90722 --Invoice Exchange Date
90723 , p_source_136 IN DATE
90724 --Invoice Exchange Rate
90725 , p_source_137 IN NUMBER
90726 --Invoice Exchange Rate Type
90727 , p_source_138 IN VARCHAR2
90728 )
90729 IS
90730
90731 l_component_type VARCHAR2(80);
90732 l_component_code VARCHAR2(30);
90733 l_component_type_code VARCHAR2(1);
90734 l_component_appl_id INTEGER;
90735 l_amb_context_code VARCHAR2(30);
90736 l_entity_code VARCHAR2(30);
90737 l_event_class_code VARCHAR2(30);
90738 l_ae_header_id NUMBER;
90739 l_event_type_code VARCHAR2(30);
90740 l_line_definition_code VARCHAR2(30);
90741 l_line_definition_owner_code VARCHAR2(1);
90742 --
90743 -- adr variables
90744 l_segment VARCHAR2(30);
90745 l_ccid NUMBER;
90746 l_adr_transaction_coa_id NUMBER;
90747 l_adr_accounting_coa_id NUMBER;
90748 l_adr_flexfield_segment_code VARCHAR2(30);
90749 l_adr_flex_value_set_id NUMBER;
90750 l_adr_value_type_code VARCHAR2(30);
90751 l_adr_value_combination_id NUMBER;
90752 l_adr_value_segment_code VARCHAR2(30);
90753
90754 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
90755 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
90756 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
90757 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
90758
90759 -- 4262811 Variables ------------------------------------------------------------------------------------------
90760 l_entered_amt_idx NUMBER;
90761 l_accted_amt_idx NUMBER;
90762 l_acc_rev_flag VARCHAR2(1);
90763 l_accrual_line_num NUMBER;
90764 l_tmp_amt NUMBER;
90765 l_acc_rev_natural_side_code VARCHAR2(1);
90766
90767 l_num_entries NUMBER;
90768 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
90769 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
90770 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
90771 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
90772 l_recog_line_1 NUMBER;
90773 l_recog_line_2 NUMBER;
90774
90775 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
90779 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
90776 l_bflow_applied_to_amt NUMBER; -- 5132302
90777 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
90778
90780
90781 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
90782 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
90783
90784 ---------------------------------------------------------------------------------------------------------------
90785
90786
90787 --
90788 -- bulk performance
90789 --
90790 l_balance_type_code VARCHAR2(1);
90791 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
90792 l_log_module VARCHAR2(240);
90793
90794 --
90795 -- Upgrade strategy
90796 --
90797 l_actual_upg_option VARCHAR2(1);
90798 l_enc_upg_option VARCHAR2(1);
90799
90800 --
90801 BEGIN
90802 --
90803 IF g_log_enabled THEN
90804 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_162';
90805 END IF;
90806 --
90807 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
90808
90809 trace
90810 (p_msg => 'BEGIN of AcctLineType_162'
90811 ,p_level => C_LEVEL_PROCEDURE
90812 ,p_module => l_log_module);
90813
90814 END IF;
90815 --
90816 l_component_type := 'AMB_JLT';
90817 l_component_code := 'AP_ITEM_EXPENSE_INV';
90818 l_component_type_code := 'S';
90819 l_component_appl_id := 200;
90820 l_amb_context_code := 'DEFAULT';
90821 l_entity_code := 'AP_INVOICES';
90822 l_event_class_code := 'INVOICES';
90823 l_event_type_code := 'INVOICES_ALL';
90824 l_line_definition_owner_code := 'S';
90825 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
90826 --
90827 l_balance_type_code := 'A';
90828 l_segment := NULL;
90829 l_ccid := NULL;
90830 l_adr_transaction_coa_id := NULL;
90831 l_adr_accounting_coa_id := NULL;
90832 l_adr_flexfield_segment_code := NULL;
90833 l_adr_flex_value_set_id := NULL;
90834 l_adr_value_type_code := NULL;
90835 l_adr_value_combination_id := NULL;
90836 l_adr_value_segment_code := NULL;
90837
90838 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
90839 l_bflow_class_code := ''; -- 4219869 Business Flow
90840 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
90841 l_budgetary_control_flag := 'N';
90842
90843 l_bflow_applied_to_amt_idx := NULL; -- 5132302
90844 l_bflow_applied_to_amt := NULL; -- 5132302
90845 l_entered_amt_idx := NULL; -- 4262811
90846 l_accted_amt_idx := NULL; -- 4262811
90847 l_acc_rev_flag := NULL; -- 4262811
90848 l_accrual_line_num := NULL; -- 4262811
90849 l_tmp_amt := NULL; -- 4262811
90850 --
90851
90852 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
90853 l_balance_type_code <> 'B' THEN
90854 IF NVL(p_source_21,'
90855 ') = 'RETROEXPENSE' OR
90856 NVL(p_source_21,'
90857 ') = 'ITEM' OR
90858 (NVL(p_source_21,'
90859 ') = 'ERV' AND
90860 NVL(p_source_84,'
90861 ') <> 'Y') OR
90862 (NVL(p_source_21,'
90863 ') = 'IPV' AND
90864 NVL(p_source_84,'
90865 ') <> 'Y')
90866 THEN
90867
90868 --
90869 XLA_AE_LINES_PKG.SetNewLine;
90870
90871 p_balance_type_code := l_balance_type_code;
90872 -- set the flag so later we will know whether the gain loss line needs to be created
90873
90874 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
90875 p_actual_flag :='A';
90876 END IF;
90877
90878 --
90879 -- bulk performance
90880 --
90881 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
90882 p_header_num => 0); -- 4262811
90883 --
90884 -- set accounting line options
90885 --
90886 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
90887 p_natural_side_code => 'D'
90888 , p_gain_or_loss_flag => 'N'
90889 , p_gl_transfer_mode_code => 'S'
90890 , p_acct_entry_type_code => 'A'
90891 , p_switch_side_flag => 'Y'
90892 , p_merge_duplicate_code => 'A'
90893 );
90894 --
90895 l_acc_rev_natural_side_code := 'C'; -- 4262811
90896 --
90897 --
90898 -- set accounting line type info
90899 --
90900 xla_ae_lines_pkg.SetAcctLineType
90901 (p_component_type => l_component_type
90902 ,p_event_type_code => l_event_type_code
90903 ,p_line_definition_owner_code => l_line_definition_owner_code
90904 ,p_line_definition_code => l_line_definition_code
90905 ,p_accounting_line_code => l_component_code
90906 ,p_accounting_line_type_code => l_component_type_code
90907 ,p_accounting_line_appl_id => l_component_appl_id
90908 ,p_amb_context_code => l_amb_context_code
90909 ,p_entity_code => l_entity_code
90910 ,p_event_class_code => l_event_class_code);
90911 --
90912 -- set accounting class
90913 --
90914 xla_ae_lines_pkg.SetAcctClass(
90915 p_accounting_class_code => 'ITEM EXPENSE'
90919 --
90916 , p_ae_header_id => l_ae_header_id
90917 );
90918
90920 -- set rounding class
90921 --
90922 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
90923 'ITEM EXPENSE';
90924
90925 --
90926 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
90927 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
90928 --
90929 -- bulk performance
90930 --
90931 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
90932
90933 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
90934 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
90935
90936 -- 4955764
90937 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
90938 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
90939
90940 -- 4458381 Public Sector Enh
90941
90942 --
90943 -- set accounting attributes for the line type
90944 --
90945 l_entered_amt_idx := 24;
90946 l_accted_amt_idx := 29;
90947 l_bflow_applied_to_amt_idx := 7; -- 5132302
90948 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
90949 l_rec_acct_attrs.array_char_value(1) := p_source_41;
90950 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
90951 l_rec_acct_attrs.array_num_value(2) :=
90952 xla_ae_sources_pkg.GetSystemSourceNum(
90953 p_source_code => 'XLA_EVENT_APPL_ID'
90954 , p_source_type_code => 'Y'
90955 , p_source_application_id => 602
90956 );
90957 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
90958 l_rec_acct_attrs.array_char_value(3) := p_source_43;
90959 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
90960 l_rec_acct_attrs.array_char_value(4) :=
90961 xla_ae_sources_pkg.GetSystemSourceChar(
90962 p_source_code => 'XLA_ENTITY_CODE'
90963 , p_source_type_code => 'Y'
90964 , p_source_application_id => 602
90965 );
90966 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
90967 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
90968 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
90969 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
90970 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
90971 l_rec_acct_attrs.array_num_value(7) := p_source_61;
90972 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
90973 l_rec_acct_attrs.array_num_value(8) := p_source_79;
90974 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
90975 l_rec_acct_attrs.array_char_value(9) := p_source_80;
90976 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
90977 l_rec_acct_attrs.array_char_value(10) := p_source_81;
90978 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
90979 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
90980 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
90981 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
90982 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
90983 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
90984 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
90985 l_rec_acct_attrs.array_char_value(14) := p_source_43;
90986 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
90987 l_rec_acct_attrs.array_num_value(15) := p_source_53;
90988 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
90989 l_rec_acct_attrs.array_num_value(16) := p_source_54;
90990 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
90991 l_rec_acct_attrs.array_char_value(17) := p_source_55;
90992 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
90993 l_rec_acct_attrs.array_num_value(18) := p_source_56;
90994 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
90995 l_rec_acct_attrs.array_num_value(19) := p_source_57;
90996 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
90997 l_rec_acct_attrs.array_num_value(20) := p_source_58;
90998 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
90999 l_rec_acct_attrs.array_char_value(21) := p_source_55;
91000 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
91001 l_rec_acct_attrs.array_num_value(22) := p_source_59;
91002 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
91003 l_rec_acct_attrs.array_char_value(23) := p_source_60;
91004 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
91005 l_rec_acct_attrs.array_num_value(24) := p_source_61;
91006 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
91007 l_rec_acct_attrs.array_char_value(25) := p_source_55;
91008 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
91009 l_rec_acct_attrs.array_date_value(26) := p_source_136;
91010 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
91011 l_rec_acct_attrs.array_num_value(27) := p_source_137;
91012 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
91013 l_rec_acct_attrs.array_char_value(28) := p_source_138;
91017 l_rec_acct_attrs.array_date_value(30) := p_source_65;
91014 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
91015 l_rec_acct_attrs.array_num_value(29) := p_source_9;
91016 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
91018 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
91019 l_rec_acct_attrs.array_char_value(31) := p_source_66;
91020 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
91021 l_rec_acct_attrs.array_date_value(32) := p_source_67;
91022 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
91023 l_rec_acct_attrs.array_char_value(33) := p_source_68;
91024 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
91025 l_rec_acct_attrs.array_num_value(34) := p_source_69;
91026 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
91027 l_rec_acct_attrs.array_num_value(35) := p_source_70;
91028 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
91029 l_rec_acct_attrs.array_char_value(36) := p_source_71;
91030 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
91031 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
91032 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
91033 l_rec_acct_attrs.array_char_value(38) := p_source_43;
91034 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
91035 l_rec_acct_attrs.array_num_value(39) := p_source_73;
91036 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
91037 l_rec_acct_attrs.array_num_value(40) := p_source_74;
91038 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
91039 l_rec_acct_attrs.array_num_value(41) := p_source_75;
91040 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
91041 l_rec_acct_attrs.array_num_value(42) := p_source_76;
91042 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
91043 l_rec_acct_attrs.array_num_value(43) := p_source_77;
91044 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
91045 l_rec_acct_attrs.array_num_value(44) := p_source_78;
91046
91047 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
91048 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
91049
91050 ---------------------------------------------------------------------------------------------------------------
91051 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
91052 ---------------------------------------------------------------------------------------------------------------
91053 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
91054
91055 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91056 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91057
91058 IF xla_accounting_cache_pkg.GetValueChar
91059 (p_source_code => 'LEDGER_CATEGORY_CODE'
91060 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
91061 AND l_bflow_method_code = 'PRIOR_ENTRY'
91062 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
91063 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
91064 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
91065 )
91066 THEN
91067 xla_ae_lines_pkg.BflowUpgEntry
91068 (p_business_method_code => l_bflow_method_code
91069 ,p_business_class_code => l_bflow_class_code
91070 ,p_balance_type => l_balance_type_code);
91071 ELSE
91072 NULL;
91073 -- No business flow processing for business flow method of NONE.
91074 END IF;
91075
91076 --
91077 -- call analytical criteria
91078 --
91079
91080 --
91081 -- call description
91082 --
91083
91084 xla_ae_lines_pkg.SetLineDescription(
91085 p_ae_header_id => l_ae_header_id
91086 ,p_description => Description_2 (
91087 p_application_id => p_application_id
91088 , p_ae_header_id => l_ae_header_id
91089 , p_source_1 => p_source_1
91090 )
91091 );
91092
91093
91094 --
91095 -- call ADRs
91096 -- Bug 4922099
91097 --
91098 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91099 (NVL(l_actual_upg_option, 'N') = 'O') OR
91100 (NVL(l_enc_upg_option, 'N') = 'O')
91101 )
91102 THEN
91103 NULL;
91104 --
91105 --
91106
91107 l_ccid := AcctDerRule_32(
91108 p_application_id => p_application_id
91109 , p_ae_header_id => l_ae_header_id
91110 , p_source_18 => p_source_18
91111 , x_transaction_coa_id => l_adr_transaction_coa_id
91112 , x_accounting_coa_id => l_adr_accounting_coa_id
91113 , x_value_type_code => l_adr_value_type_code
91114 , p_side => 'NA'
91115 );
91116
91117 xla_ae_lines_pkg.set_ccid(
91118 p_code_combination_id => l_ccid
91119 , p_value_type_code => l_adr_value_type_code
91120 , p_transaction_coa_id => l_adr_transaction_coa_id
91121 , p_accounting_coa_id => l_adr_accounting_coa_id
91122 , p_adr_code => 'AP_INVOICE_DIST'
91126 , p_component_type_code => l_component_type_code
91123 , p_adr_type_code => 'S'
91124 , p_component_type => l_component_type
91125 , p_component_code => l_component_code
91127 , p_component_appl_id => l_component_appl_id
91128 , p_amb_context_code => l_amb_context_code
91129 , p_side => 'NA'
91130 );
91131
91132
91133 --
91134 --
91135 END IF;
91136 --
91137 -- Bug 4922099
91138 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
91139 (NVL(l_enc_upg_option, 'N') = 'O')
91140 ) AND
91141 (l_bflow_method_code = 'PRIOR_ENTRY')
91142 )
91143 THEN
91144 IF
91145 --
91146 1 = 2
91147 --
91148 THEN
91149 xla_accounting_err_pkg.build_message
91150 (p_appli_s_name => 'XLA'
91151 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91152 ,p_token_1 => 'LINE_NUMBER'
91153 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
91154 ,p_token_2 => 'LINE_TYPE_NAME'
91155 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
91156 l_component_type
91157 ,l_component_code
91158 ,l_component_type_code
91159 ,l_component_appl_id
91160 ,l_amb_context_code
91161 ,l_entity_code
91162 ,l_event_class_code
91163 )
91164 ,p_token_3 => 'OWNER'
91165 ,p_value_3 => xla_lookups_pkg.get_meaning(
91166 p_lookup_type => 'XLA_OWNER_TYPE'
91167 ,p_lookup_code => l_component_type_code
91168 )
91169 ,p_token_4 => 'PRODUCT_NAME'
91170 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
91171 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
91172 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
91173 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
91174 ,p_ae_header_id => NULL
91175 );
91176
91177 IF (C_LEVEL_ERROR>= g_log_level) THEN
91178 trace
91179 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91180 ,p_level => C_LEVEL_ERROR
91181 ,p_module => l_log_module);
91182 END IF;
91183 END IF;
91184 END IF;
91185 --
91186 --
91187 ------------------------------------------------------------------------------------------------
91188 -- 4219869 Business Flow
91189 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
91190 -- Prior Entry. Currently, the following code is always generated.
91191 ------------------------------------------------------------------------------------------------
91192 XLA_AE_LINES_PKG.ValidateCurrentLine;
91193
91194 ------------------------------------------------------------------------------------
91195 -- 4219869 Business Flow
91196 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
91197 ------------------------------------------------------------------------------------
91198 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91199
91200 ----------------------------------------------------------------------------------
91201 -- 4219869 Business Flow
91202 -- Update journal entry status -- Need to generate this within IF <condition>
91203 ----------------------------------------------------------------------------------
91204 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91205 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
91206 ,p_balance_type_code => l_balance_type_code
91207 );
91208
91209 -------------------------------------------------------------------------------------------
91210 -- 4262811 - Generate the Accrual Reversal lines
91211 -------------------------------------------------------------------------------------------
91212 BEGIN
91213 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
91214 (g_array_event(p_event_id).array_value_num('header_index'));
91215 IF l_acc_rev_flag IS NULL THEN
91216 l_acc_rev_flag := 'N';
91217 END IF;
91221 END;
91218 EXCEPTION
91219 WHEN OTHERS THEN
91220 l_acc_rev_flag := 'N';
91222 --
91223 IF (l_acc_rev_flag = 'Y') THEN
91224
91225 -- 4645092 ------------------------------------------------------------------------------
91226 -- To allow MPA report to determine if it should generate report process
91227 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
91228 ------------------------------------------------------------------------------------------
91229
91230 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
91231 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
91232 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
91233 -- call ADRs
91234 -- Bug 4922099
91235 --
91236 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91237 (NVL(l_actual_upg_option, 'N') = 'O') OR
91238 (NVL(l_enc_upg_option, 'N') = 'O')
91239 )
91240 THEN
91241 NULL;
91242 --
91243 --
91244
91245 l_ccid := AcctDerRule_32(
91246 p_application_id => p_application_id
91247 , p_ae_header_id => l_ae_header_id
91248 , p_source_18 => p_source_18
91249 , x_transaction_coa_id => l_adr_transaction_coa_id
91250 , x_accounting_coa_id => l_adr_accounting_coa_id
91251 , x_value_type_code => l_adr_value_type_code
91252 , p_side => 'NA'
91253 );
91254
91255 xla_ae_lines_pkg.set_ccid(
91256 p_code_combination_id => l_ccid
91257 , p_value_type_code => l_adr_value_type_code
91258 , p_transaction_coa_id => l_adr_transaction_coa_id
91259 , p_accounting_coa_id => l_adr_accounting_coa_id
91260 , p_adr_code => 'AP_INVOICE_DIST'
91261 , p_adr_type_code => 'S'
91262 , p_component_type => l_component_type
91263 , p_component_code => l_component_code
91264 , p_component_type_code => l_component_type_code
91265 , p_component_appl_id => l_component_appl_id
91266 , p_amb_context_code => l_amb_context_code
91267 , p_side => 'NA'
91268 );
91269
91270
91271 --
91272 --
91273 END IF;
91274
91275 --
91276 -- Update the line information that should be overwritten
91277 --
91278 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
91279 p_header_num => 1);
91280 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
91281
91282 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
91283
91284 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
91285 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
91286 END IF;
91287
91288 --
91289 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
91290 --
91291 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
91292 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
91293 ELSE
91294 ---------------------------------------------------------------------------------------------------
91295 -- 4262811a Switch Sign
91296 ---------------------------------------------------------------------------------------------------
91297 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
91298 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91299 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91300 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91301 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91302 -- 5132302
91303 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
91304 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91305
91306 END IF;
91307
91308 -- 4955764
91309 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91310 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
91311
91312
91313 XLA_AE_LINES_PKG.ValidateCurrentLine;
91314 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91315
91316 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91317 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91318 ,p_balance_type_code => l_balance_type_code);
91319
91320 END IF;
91321
91322 -----------------------------------------------------------------------------------------
91323 -- 4262811 Multiperiod Accounting
91324 -----------------------------------------------------------------------------------------
91325 -- No MPA option is assigned.
91326
91327
91328 END IF;
91329 END IF;
91330 --
91331
91332 --
91333 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91334 trace
91335 (p_msg => 'END of AcctLineType_162'
91339 --
91336 ,p_level => C_LEVEL_PROCEDURE
91337 ,p_module => l_log_module);
91338 END IF;
91340 EXCEPTION
91341 WHEN xla_exceptions_pkg.application_exception THEN
91342 RAISE;
91343 WHEN OTHERS THEN
91344 xla_exceptions_pkg.raise_message
91345 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_162');
91346 END AcctLineType_162;
91347 --
91348
91349 ---------------------------------------
91350 --
91351 -- PRIVATE FUNCTION
91352 -- AcctLineType_163
91353 --
91354 ---------------------------------------
91355 PROCEDURE AcctLineType_163 (
91356 p_application_id IN NUMBER
91357 ,p_event_id IN NUMBER
91358 ,p_calculate_acctd_flag IN VARCHAR2
91359 ,p_calculate_g_l_flag IN VARCHAR2
91360 ,p_actual_flag IN OUT VARCHAR2
91361 ,p_balance_type_code OUT VARCHAR2
91362 ,p_gain_or_loss_ref OUT VARCHAR2
91363
91364 --Invoice Distribution Type
91365 , p_source_21 IN VARCHAR2
91366 , p_source_21_meaning IN VARCHAR2
91367 --Accounting Reversal Indicator
91368 , p_source_41 IN VARCHAR2
91369 --Distribution Link Type
91370 , p_source_43 IN VARCHAR2
91371 --Allocation to Main Distribution Identifier
91372 , p_source_45 IN NUMBER
91373 --Invoice Identifier
91374 , p_source_46 IN NUMBER
91375 --Invoice Distribution Identifier
91376 , p_source_52 IN NUMBER
91377 --Payables Encumbrance Upgrade Credit Account
91378 , p_source_53 IN NUMBER
91379 --Payables Encumbrance Upgrade Credit Amount
91380 , p_source_54 IN NUMBER
91381 --Invoice Currency Code
91382 , p_source_55 IN VARCHAR2
91383 --Payables Encumbrance Upgrade Credit Base Amount
91384 , p_source_56 IN NUMBER
91385 --Payables Encumbrance Upgrade Debit Account
91386 , p_source_57 IN NUMBER
91387 --Payables Encumbrance Upgrade Debit Amount
91388 , p_source_58 IN NUMBER
91389 --Payables Encumbrance Upgrade Debit Base Amount
91390 , p_source_59 IN NUMBER
91391 --Payables Encumbrance Upgrade Option
91392 , p_source_60 IN VARCHAR2
91393 --Invoice Distribution Amount
91394 , p_source_61 IN NUMBER
91395 --Deferred Accounting End Date
91396 , p_source_65 IN DATE
91397 --Deferred Accounting Option
91398 , p_source_66 IN VARCHAR2
91399 --Deferred Accounting Start Date
91400 , p_source_67 IN DATE
91401 --Override Accounted Amount Indicator
91402 , p_source_68 IN VARCHAR2
91403 , p_source_68_meaning IN VARCHAR2
91404 --Third Party Type
91405 , p_source_71 IN VARCHAR2
91406 --Parent Reversal Identifier
91407 , p_source_72 IN NUMBER
91408 --Invoice Distribution Statistical Amount
91409 , p_source_73 IN NUMBER
91410 --Invoice Distribution Tax Line Identifier
91411 , p_source_74 IN NUMBER
91412 --Invoice Distribution Tax Distribution Identifier from Tax
91413 , p_source_75 IN NUMBER
91414 --Invoice Distribution Summary Tax Line Identifier
91415 , p_source_76 IN NUMBER
91416 --Payables Upgrade Credit Encumbrance Type Identifier
91417 , p_source_77 IN NUMBER
91418 --Payables Upgrade Debit Encumbrance Type Identifier
91419 , p_source_78 IN NUMBER
91420 --Business Flow Accounts Payable Application Identifier
91421 , p_source_79 IN NUMBER
91422 --Business Flow Invoice Distribution Type
91423 , p_source_80 IN VARCHAR2
91424 --Business Flow Invoice Entity Code
91425 , p_source_81 IN VARCHAR2
91426 --Business Flow Invoice Distribution Identifier
91427 , p_source_82 IN NUMBER
91428 --Business Flow Invoice Identifier
91429 , p_source_83 IN NUMBER
91430 --Accrue on Receipt Option
91431 , p_source_84 IN VARCHAR2
91432 , p_source_84_meaning IN VARCHAR2
91433 --Purchasing Encumbrance Option
91434 , p_source_86 IN VARCHAR2
91435 , p_source_86_meaning IN VARCHAR2
91436 --Invoice Encumbered Option
91437 , p_source_87 IN VARCHAR2
91438 , p_source_87_meaning IN VARCHAR2
91439 --Invoice Distribution Encumbrance Amount
91440 , p_source_143 IN NUMBER
91441 --Invoice Distribution Encumbrance Ledger Amount
91442 , p_source_144 IN NUMBER
91443 --Invoice Type
91444 , p_source_159 IN VARCHAR2
91445 , p_source_159_meaning IN VARCHAR2
91446 )
91447 IS
91448
91449 l_component_type VARCHAR2(80);
91450 l_component_code VARCHAR2(30);
91451 l_component_type_code VARCHAR2(1);
91452 l_component_appl_id INTEGER;
91453 l_amb_context_code VARCHAR2(30);
91454 l_entity_code VARCHAR2(30);
91455 l_event_class_code VARCHAR2(30);
91456 l_ae_header_id NUMBER;
91457 l_event_type_code VARCHAR2(30);
91458 l_line_definition_code VARCHAR2(30);
91459 l_line_definition_owner_code VARCHAR2(1);
91460 --
91461 -- adr variables
91462 l_segment VARCHAR2(30);
91463 l_ccid NUMBER;
91464 l_adr_transaction_coa_id NUMBER;
91465 l_adr_accounting_coa_id NUMBER;
91466 l_adr_flexfield_segment_code VARCHAR2(30);
91467 l_adr_flex_value_set_id NUMBER;
91468 l_adr_value_type_code VARCHAR2(30);
91469 l_adr_value_combination_id NUMBER;
91473 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
91470 l_adr_value_segment_code VARCHAR2(30);
91471
91472 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
91474 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
91475 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
91476
91477 -- 4262811 Variables ------------------------------------------------------------------------------------------
91478 l_entered_amt_idx NUMBER;
91479 l_accted_amt_idx NUMBER;
91480 l_acc_rev_flag VARCHAR2(1);
91481 l_accrual_line_num NUMBER;
91482 l_tmp_amt NUMBER;
91483 l_acc_rev_natural_side_code VARCHAR2(1);
91484
91485 l_num_entries NUMBER;
91486 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
91487 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
91488 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
91489 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
91490 l_recog_line_1 NUMBER;
91491 l_recog_line_2 NUMBER;
91492
91493 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
91494 l_bflow_applied_to_amt NUMBER; -- 5132302
91495 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
91496
91497 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
91498
91499 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
91500 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
91501
91502 ---------------------------------------------------------------------------------------------------------------
91503
91504
91505 --
91506 -- bulk performance
91507 --
91508 l_balance_type_code VARCHAR2(1);
91509 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
91510 l_log_module VARCHAR2(240);
91511
91512 --
91513 -- Upgrade strategy
91514 --
91515 l_actual_upg_option VARCHAR2(1);
91516 l_enc_upg_option VARCHAR2(1);
91517
91518 --
91519 BEGIN
91520 --
91521 IF g_log_enabled THEN
91522 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_163';
91523 END IF;
91524 --
91525 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91526
91527 trace
91528 (p_msg => 'BEGIN of AcctLineType_163'
91529 ,p_level => C_LEVEL_PROCEDURE
91530 ,p_module => l_log_module);
91531
91532 END IF;
91533 --
91534 l_component_type := 'AMB_JLT';
91535 l_component_code := 'AP_ITEM_EXPENSE_INV_ENC';
91536 l_component_type_code := 'S';
91537 l_component_appl_id := 200;
91538 l_amb_context_code := 'DEFAULT';
91539 l_entity_code := 'AP_INVOICES';
91540 l_event_class_code := 'INVOICES';
91541 l_event_type_code := 'INVOICES_ALL';
91542 l_line_definition_owner_code := 'S';
91543 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
91544 --
91545 l_balance_type_code := 'E';
91546 l_segment := NULL;
91547 l_ccid := NULL;
91548 l_adr_transaction_coa_id := NULL;
91549 l_adr_accounting_coa_id := NULL;
91550 l_adr_flexfield_segment_code := NULL;
91551 l_adr_flex_value_set_id := NULL;
91552 l_adr_value_type_code := NULL;
91553 l_adr_value_combination_id := NULL;
91554 l_adr_value_segment_code := NULL;
91555
91556 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
91557 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
91558 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
91559 l_budgetary_control_flag := 'N';
91560
91561 l_bflow_applied_to_amt_idx := NULL; -- 5132302
91562 l_bflow_applied_to_amt := NULL; -- 5132302
91563 l_entered_amt_idx := NULL; -- 4262811
91564 l_accted_amt_idx := NULL; -- 4262811
91565 l_acc_rev_flag := NULL; -- 4262811
91566 l_accrual_line_num := NULL; -- 4262811
91567 l_tmp_amt := NULL; -- 4262811
91568 --
91569
91570 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
91571 l_balance_type_code <> 'B' THEN
91572 IF (NVL(p_source_159,'
91573 ') = 'STANDARD' OR
91574 NVL(p_source_159,'
91575 ') = 'MIXED' OR
91576 NVL(p_source_159,'
91577 ') = 'AWT' OR
91578 NVL(p_source_159,'
91579 ') = 'EXPENSE REPORT') AND
91580 NVL(p_source_21,'
91581 ') = 'ITEM' AND
91582 NVL(p_source_84,'
91583 ') <> 'Y' AND
91584 NVL(p_source_86,'
91585 ') = 'Y' AND
91586 NVL(p_source_87,'
91587 ') = 'Y'
91588 THEN
91589
91590 --
91591 XLA_AE_LINES_PKG.SetNewLine;
91592
91593 p_balance_type_code := l_balance_type_code;
91594 -- set the flag so later we will know whether the gain loss line needs to be created
91595
91596 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
91597 p_actual_flag :='A';
91598 END IF;
91599
91600 --
91601 -- bulk performance
91602 --
91603 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
91604 p_header_num => 0); -- 4262811
91605 --
91606 -- set accounting line options
91610 , p_gain_or_loss_flag => 'N'
91607 --
91608 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
91609 p_natural_side_code => 'C'
91611 , p_gl_transfer_mode_code => 'S'
91612 , p_acct_entry_type_code => 'E'
91613 , p_switch_side_flag => 'Y'
91614 , p_merge_duplicate_code => 'A'
91615 );
91616 --
91617 l_acc_rev_natural_side_code := 'D'; -- 4262811
91618 --
91619 --
91620 -- set accounting line type info
91621 --
91622 xla_ae_lines_pkg.SetAcctLineType
91623 (p_component_type => l_component_type
91624 ,p_event_type_code => l_event_type_code
91625 ,p_line_definition_owner_code => l_line_definition_owner_code
91626 ,p_line_definition_code => l_line_definition_code
91627 ,p_accounting_line_code => l_component_code
91628 ,p_accounting_line_type_code => l_component_type_code
91629 ,p_accounting_line_appl_id => l_component_appl_id
91630 ,p_amb_context_code => l_amb_context_code
91631 ,p_entity_code => l_entity_code
91632 ,p_event_class_code => l_event_class_code);
91633 --
91634 -- set accounting class
91635 --
91636 xla_ae_lines_pkg.SetAcctClass(
91637 p_accounting_class_code => 'ITEM EXPENSE'
91638 , p_ae_header_id => l_ae_header_id
91639 );
91640
91641 --
91642 -- set rounding class
91643 --
91644 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
91645 'ITEM EXPENSE';
91646
91647 --
91648 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
91649 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
91650 --
91651 -- bulk performance
91652 --
91653 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
91654
91655 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
91656 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
91657
91658 -- 4955764
91659 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91660 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
91661
91662 -- 4458381 Public Sector Enh
91663
91664 --
91665 -- set accounting attributes for the line type
91666 --
91667 l_entered_amt_idx := 24;
91668 l_accted_amt_idx := 26;
91669 l_bflow_applied_to_amt_idx := 7; -- 5132302
91670 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
91671 l_rec_acct_attrs.array_char_value(1) := p_source_41;
91672 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
91673 l_rec_acct_attrs.array_num_value(2) :=
91674 xla_ae_sources_pkg.GetSystemSourceNum(
91675 p_source_code => 'XLA_EVENT_APPL_ID'
91676 , p_source_type_code => 'Y'
91677 , p_source_application_id => 602
91678 );
91679 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
91680 l_rec_acct_attrs.array_char_value(3) := p_source_43;
91681 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
91682 l_rec_acct_attrs.array_char_value(4) :=
91683 xla_ae_sources_pkg.GetSystemSourceChar(
91684 p_source_code => 'XLA_ENTITY_CODE'
91685 , p_source_type_code => 'Y'
91686 , p_source_application_id => 602
91687 );
91688 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
91689 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
91690 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
91691 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
91692 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
91693 l_rec_acct_attrs.array_num_value(7) := p_source_61;
91694 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
91695 l_rec_acct_attrs.array_num_value(8) := p_source_79;
91696 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
91697 l_rec_acct_attrs.array_char_value(9) := p_source_80;
91698 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
91699 l_rec_acct_attrs.array_char_value(10) := p_source_81;
91700 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
91701 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
91702 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
91703 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
91704 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
91705 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
91706 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
91707 l_rec_acct_attrs.array_char_value(14) := p_source_43;
91708 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
91709 l_rec_acct_attrs.array_num_value(15) := p_source_53;
91710 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
91711 l_rec_acct_attrs.array_num_value(16) := p_source_54;
91712 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
91713 l_rec_acct_attrs.array_char_value(17) := p_source_55;
91714 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
91718 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
91715 l_rec_acct_attrs.array_num_value(18) := p_source_56;
91716 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
91717 l_rec_acct_attrs.array_num_value(19) := p_source_57;
91719 l_rec_acct_attrs.array_num_value(20) := p_source_58;
91720 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
91721 l_rec_acct_attrs.array_char_value(21) := p_source_55;
91722 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
91723 l_rec_acct_attrs.array_num_value(22) := p_source_59;
91724 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
91725 l_rec_acct_attrs.array_char_value(23) := p_source_60;
91726 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
91727 l_rec_acct_attrs.array_num_value(24) := p_source_143;
91728 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
91729 l_rec_acct_attrs.array_char_value(25) := p_source_55;
91730 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
91731 l_rec_acct_attrs.array_num_value(26) := p_source_144;
91732 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
91733 l_rec_acct_attrs.array_date_value(27) := p_source_65;
91734 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
91735 l_rec_acct_attrs.array_char_value(28) := p_source_66;
91736 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
91737 l_rec_acct_attrs.array_date_value(29) := p_source_67;
91738 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
91739 l_rec_acct_attrs.array_char_value(30) := p_source_68;
91740 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
91741 l_rec_acct_attrs.array_char_value(31) := p_source_71;
91742 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
91743 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
91744 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
91745 l_rec_acct_attrs.array_char_value(33) := p_source_43;
91746 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
91747 l_rec_acct_attrs.array_num_value(34) := p_source_73;
91748 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
91749 l_rec_acct_attrs.array_num_value(35) := p_source_74;
91750 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
91751 l_rec_acct_attrs.array_num_value(36) := p_source_75;
91752 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
91753 l_rec_acct_attrs.array_num_value(37) := p_source_76;
91754 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
91755 l_rec_acct_attrs.array_num_value(38) := p_source_77;
91756 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
91757 l_rec_acct_attrs.array_num_value(39) := p_source_78;
91758
91759 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
91760 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
91761
91762 ---------------------------------------------------------------------------------------------------------------
91763 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
91764 ---------------------------------------------------------------------------------------------------------------
91765 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
91766
91767 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91768 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
91769
91770 IF xla_accounting_cache_pkg.GetValueChar
91771 (p_source_code => 'LEDGER_CATEGORY_CODE'
91772 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
91773 AND l_bflow_method_code = 'PRIOR_ENTRY'
91774 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
91775 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
91776 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
91777 )
91778 THEN
91779 xla_ae_lines_pkg.BflowUpgEntry
91780 (p_business_method_code => l_bflow_method_code
91781 ,p_business_class_code => l_bflow_class_code
91782 ,p_balance_type => l_balance_type_code);
91783 ELSE
91784 NULL;
91785 XLA_AE_LINES_PKG.business_flow_validation(
91786 p_business_method_code => l_bflow_method_code
91787 ,p_business_class_code => l_bflow_class_code
91788 ,p_inherit_description_flag => l_inherit_desc_flag);
91789 END IF;
91790
91791 --
91792 -- call analytical criteria
91793 --
91794 -- Inherited Analytical Criteria for business flow method of Prior Entry.
91795 --
91796 -- call description
91797 --
91798 -- No description or it is inherited.
91799 --
91800 -- call ADRs
91801 -- Bug 4922099
91802 --
91803 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91804 (NVL(l_actual_upg_option, 'N') = 'O') OR
91805 (NVL(l_enc_upg_option, 'N') = 'O')
91806 )
91807 THEN
91808 NULL;
91809 --
91810 --
91811
91812 --
91813 --
91814 END IF;
91815 --
91816 -- Bug 4922099
91820 (l_bflow_method_code = 'PRIOR_ENTRY')
91817 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
91818 (NVL(l_enc_upg_option, 'N') = 'O')
91819 ) AND
91821 )
91822 THEN
91823 IF
91824 --
91825 1 = 1
91826 --
91827 THEN
91828 xla_accounting_err_pkg.build_message
91829 (p_appli_s_name => 'XLA'
91830 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91831 ,p_token_1 => 'LINE_NUMBER'
91832 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
91833 ,p_token_2 => 'LINE_TYPE_NAME'
91834 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
91835 l_component_type
91836 ,l_component_code
91837 ,l_component_type_code
91838 ,l_component_appl_id
91839 ,l_amb_context_code
91840 ,l_entity_code
91841 ,l_event_class_code
91842 )
91843 ,p_token_3 => 'OWNER'
91844 ,p_value_3 => xla_lookups_pkg.get_meaning(
91845 p_lookup_type => 'XLA_OWNER_TYPE'
91846 ,p_lookup_code => l_component_type_code
91847 )
91848 ,p_token_4 => 'PRODUCT_NAME'
91849 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
91850 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
91851 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
91852 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
91853 ,p_ae_header_id => NULL
91854 );
91855
91856 IF (C_LEVEL_ERROR>= g_log_level) THEN
91857 trace
91858 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
91859 ,p_level => C_LEVEL_ERROR
91860 ,p_module => l_log_module);
91861 END IF;
91862 END IF;
91863 END IF;
91864 --
91865 --
91866 ------------------------------------------------------------------------------------------------
91867 -- 4219869 Business Flow
91868 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
91869 -- Prior Entry. Currently, the following code is always generated.
91870 ------------------------------------------------------------------------------------------------
91871 -- No ValidateCurrentLine for business flow method of Prior Entry
91872
91873 ------------------------------------------------------------------------------------
91874 -- 4219869 Business Flow
91875 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
91876 ------------------------------------------------------------------------------------
91877 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91878
91879 ----------------------------------------------------------------------------------
91880 -- 4219869 Business Flow
91881 -- Update journal entry status -- Need to generate this within IF <condition>
91882 ----------------------------------------------------------------------------------
91883 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91884 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
91885 ,p_balance_type_code => l_balance_type_code
91886 );
91887
91888 -------------------------------------------------------------------------------------------
91889 -- 4262811 - Generate the Accrual Reversal lines
91890 -------------------------------------------------------------------------------------------
91891 BEGIN
91892 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
91893 (g_array_event(p_event_id).array_value_num('header_index'));
91894 IF l_acc_rev_flag IS NULL THEN
91895 l_acc_rev_flag := 'N';
91896 END IF;
91897 EXCEPTION
91898 WHEN OTHERS THEN
91899 l_acc_rev_flag := 'N';
91900 END;
91901 --
91902 IF (l_acc_rev_flag = 'Y') THEN
91903
91904 -- 4645092 ------------------------------------------------------------------------------
91905 -- To allow MPA report to determine if it should generate report process
91906 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
91907 ------------------------------------------------------------------------------------------
91908
91912 -- call ADRs
91909 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
91910 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
91911 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
91913 -- Bug 4922099
91914 --
91915 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
91916 (NVL(l_actual_upg_option, 'N') = 'O') OR
91917 (NVL(l_enc_upg_option, 'N') = 'O')
91918 )
91919 THEN
91920 NULL;
91921 --
91922 --
91923
91924 --
91925 --
91926 END IF;
91927
91928 --
91929 -- Update the line information that should be overwritten
91930 --
91931 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
91932 p_header_num => 1);
91933 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
91934
91935 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
91936
91937 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
91938 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
91939 END IF;
91940
91941 --
91942 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
91943 --
91944 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
91945 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
91946 ELSE
91947 ---------------------------------------------------------------------------------------------------
91948 -- 4262811a Switch Sign
91949 ---------------------------------------------------------------------------------------------------
91950 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
91951 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91952 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91953 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
91954 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91955 -- 5132302
91956 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
91957 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
91958
91959 END IF;
91960
91961 -- 4955764
91962 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
91963 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
91964
91965
91966 XLA_AE_LINES_PKG.ValidateCurrentLine;
91967 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
91968
91969 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
91970 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
91971 ,p_balance_type_code => l_balance_type_code);
91972
91973 END IF;
91974
91975 -----------------------------------------------------------------------------------------
91976 -- 4262811 Multiperiod Accounting
91977 -----------------------------------------------------------------------------------------
91978 -- No MPA option is assigned.
91979
91980
91981 END IF;
91982 END IF;
91983 --
91984
91985 --
91986 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
91987 trace
91988 (p_msg => 'END of AcctLineType_163'
91989 ,p_level => C_LEVEL_PROCEDURE
91990 ,p_module => l_log_module);
91991 END IF;
91992 --
91993 EXCEPTION
91994 WHEN xla_exceptions_pkg.application_exception THEN
91995 RAISE;
91996 WHEN OTHERS THEN
91997 xla_exceptions_pkg.raise_message
91998 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_163');
91999 END AcctLineType_163;
92000 --
92001
92002 ---------------------------------------
92003 --
92004 -- PRIVATE FUNCTION
92005 -- AcctLineType_164
92006 --
92007 ---------------------------------------
92008 PROCEDURE AcctLineType_164 (
92009 p_application_id IN NUMBER
92010 ,p_event_id IN NUMBER
92011 ,p_calculate_acctd_flag IN VARCHAR2
92012 ,p_calculate_g_l_flag IN VARCHAR2
92013 ,p_actual_flag IN OUT VARCHAR2
92014 ,p_balance_type_code OUT VARCHAR2
92015 ,p_gain_or_loss_ref OUT VARCHAR2
92016
92017 --Invoice Distribution Type
92018 , p_source_21 IN VARCHAR2
92019 , p_source_21_meaning IN VARCHAR2
92020 --Accounting Reversal Indicator
92021 , p_source_41 IN VARCHAR2
92022 --Distribution Link Type
92023 , p_source_43 IN VARCHAR2
92024 --Allocation to Main Distribution Identifier
92025 , p_source_45 IN NUMBER
92026 --Invoice Identifier
92027 , p_source_46 IN NUMBER
92028 --Invoice Distribution Identifier
92029 , p_source_52 IN NUMBER
92030 --Payables Encumbrance Upgrade Credit Account
92031 , p_source_53 IN NUMBER
92032 --Payables Encumbrance Upgrade Credit Amount
92033 , p_source_54 IN NUMBER
92034 --Invoice Currency Code
92035 , p_source_55 IN VARCHAR2
92039 , p_source_57 IN NUMBER
92036 --Payables Encumbrance Upgrade Credit Base Amount
92037 , p_source_56 IN NUMBER
92038 --Payables Encumbrance Upgrade Debit Account
92040 --Payables Encumbrance Upgrade Debit Amount
92041 , p_source_58 IN NUMBER
92042 --Payables Encumbrance Upgrade Debit Base Amount
92043 , p_source_59 IN NUMBER
92044 --Payables Encumbrance Upgrade Option
92045 , p_source_60 IN VARCHAR2
92046 --Deferred Accounting End Date
92047 , p_source_65 IN DATE
92048 --Deferred Accounting Option
92049 , p_source_66 IN VARCHAR2
92050 --Deferred Accounting Start Date
92051 , p_source_67 IN DATE
92052 --Override Accounted Amount Indicator
92053 , p_source_68 IN VARCHAR2
92054 , p_source_68_meaning IN VARCHAR2
92055 --Third Party Type
92056 , p_source_71 IN VARCHAR2
92057 --Parent Reversal Identifier
92058 , p_source_72 IN NUMBER
92059 --Invoice Distribution Statistical Amount
92060 , p_source_73 IN NUMBER
92061 --Invoice Distribution Tax Line Identifier
92062 , p_source_74 IN NUMBER
92063 --Invoice Distribution Tax Distribution Identifier from Tax
92064 , p_source_75 IN NUMBER
92065 --Invoice Distribution Summary Tax Line Identifier
92066 , p_source_76 IN NUMBER
92067 --Payables Upgrade Credit Encumbrance Type Identifier
92068 , p_source_77 IN NUMBER
92069 --Payables Upgrade Debit Encumbrance Type Identifier
92070 , p_source_78 IN NUMBER
92071 --Business Flow Accounts Payable Application Identifier
92072 , p_source_79 IN NUMBER
92073 --Business Flow Invoice Distribution Type
92074 , p_source_80 IN VARCHAR2
92075 --Business Flow Invoice Entity Code
92076 , p_source_81 IN VARCHAR2
92077 --Business Flow Invoice Distribution Identifier
92078 , p_source_82 IN NUMBER
92079 --Business Flow Invoice Identifier
92080 , p_source_83 IN NUMBER
92081 --Accrue on Receipt Option
92082 , p_source_84 IN VARCHAR2
92083 , p_source_84_meaning IN VARCHAR2
92084 --Purchasing Encumbrance Option
92085 , p_source_86 IN VARCHAR2
92086 , p_source_86_meaning IN VARCHAR2
92087 --Invoice Encumbered Option
92088 , p_source_87 IN VARCHAR2
92089 , p_source_87_meaning IN VARCHAR2
92090 --Invoice Distribution Encumbrance Amount
92091 , p_source_143 IN NUMBER
92092 --Invoice Distribution Encumbrance Ledger Amount
92093 , p_source_144 IN NUMBER
92094 )
92095 IS
92096
92097 l_component_type VARCHAR2(80);
92098 l_component_code VARCHAR2(30);
92099 l_component_type_code VARCHAR2(1);
92100 l_component_appl_id INTEGER;
92101 l_amb_context_code VARCHAR2(30);
92102 l_entity_code VARCHAR2(30);
92103 l_event_class_code VARCHAR2(30);
92104 l_ae_header_id NUMBER;
92105 l_event_type_code VARCHAR2(30);
92106 l_line_definition_code VARCHAR2(30);
92107 l_line_definition_owner_code VARCHAR2(1);
92108 --
92109 -- adr variables
92110 l_segment VARCHAR2(30);
92111 l_ccid NUMBER;
92112 l_adr_transaction_coa_id NUMBER;
92113 l_adr_accounting_coa_id NUMBER;
92114 l_adr_flexfield_segment_code VARCHAR2(30);
92115 l_adr_flex_value_set_id NUMBER;
92116 l_adr_value_type_code VARCHAR2(30);
92117 l_adr_value_combination_id NUMBER;
92118 l_adr_value_segment_code VARCHAR2(30);
92119
92120 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
92121 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
92122 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
92123 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
92124
92125 -- 4262811 Variables ------------------------------------------------------------------------------------------
92126 l_entered_amt_idx NUMBER;
92127 l_accted_amt_idx NUMBER;
92128 l_acc_rev_flag VARCHAR2(1);
92129 l_accrual_line_num NUMBER;
92130 l_tmp_amt NUMBER;
92131 l_acc_rev_natural_side_code VARCHAR2(1);
92132
92133 l_num_entries NUMBER;
92134 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
92135 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
92136 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
92137 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
92138 l_recog_line_1 NUMBER;
92139 l_recog_line_2 NUMBER;
92140
92141 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
92142 l_bflow_applied_to_amt NUMBER; -- 5132302
92143 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
92144
92145 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
92146
92147 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
92148 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
92149
92150 ---------------------------------------------------------------------------------------------------------------
92151
92152
92153 --
92154 -- bulk performance
92155 --
92156 l_balance_type_code VARCHAR2(1);
92160 --
92157 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92158 l_log_module VARCHAR2(240);
92159
92161 -- Upgrade strategy
92162 --
92163 l_actual_upg_option VARCHAR2(1);
92164 l_enc_upg_option VARCHAR2(1);
92165
92166 --
92167 BEGIN
92168 --
92169 IF g_log_enabled THEN
92170 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_164';
92171 END IF;
92172 --
92173 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92174
92175 trace
92176 (p_msg => 'BEGIN of AcctLineType_164'
92177 ,p_level => C_LEVEL_PROCEDURE
92178 ,p_module => l_log_module);
92179
92180 END IF;
92181 --
92182 l_component_type := 'AMB_JLT';
92183 l_component_code := 'AP_ITEM_EXPENSE_PP_ENC';
92184 l_component_type_code := 'S';
92185 l_component_appl_id := 200;
92186 l_amb_context_code := 'DEFAULT';
92187 l_entity_code := 'AP_INVOICES';
92188 l_event_class_code := 'PREPAYMENTS';
92189 l_event_type_code := 'PREPAYMENTS_ALL';
92190 l_line_definition_owner_code := 'S';
92191 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
92192 --
92193 l_balance_type_code := 'E';
92194 l_segment := NULL;
92195 l_ccid := NULL;
92196 l_adr_transaction_coa_id := NULL;
92197 l_adr_accounting_coa_id := NULL;
92198 l_adr_flexfield_segment_code := NULL;
92199 l_adr_flex_value_set_id := NULL;
92200 l_adr_value_type_code := NULL;
92201 l_adr_value_combination_id := NULL;
92202 l_adr_value_segment_code := NULL;
92203
92204 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
92205 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
92206 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92207 l_budgetary_control_flag := 'N';
92208
92209 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92210 l_bflow_applied_to_amt := NULL; -- 5132302
92211 l_entered_amt_idx := NULL; -- 4262811
92212 l_accted_amt_idx := NULL; -- 4262811
92213 l_acc_rev_flag := NULL; -- 4262811
92214 l_accrual_line_num := NULL; -- 4262811
92215 l_tmp_amt := NULL; -- 4262811
92216 --
92217
92218 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92219 l_balance_type_code <> 'B' THEN
92220 IF NVL(p_source_21,'
92221 ') = 'ITEM' AND
92222 NVL(p_source_84,'
92223 ') <> 'Y' AND
92224 NVL(p_source_86,'
92225 ') = 'Y' AND
92226 NVL(p_source_87,'
92227 ') = 'Y'
92228 THEN
92229
92230 --
92231 XLA_AE_LINES_PKG.SetNewLine;
92232
92233 p_balance_type_code := l_balance_type_code;
92234 -- set the flag so later we will know whether the gain loss line needs to be created
92235
92236 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92237 p_actual_flag :='A';
92238 END IF;
92239
92240 --
92241 -- bulk performance
92242 --
92243 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92244 p_header_num => 0); -- 4262811
92245 --
92246 -- set accounting line options
92247 --
92248 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92249 p_natural_side_code => 'C'
92250 , p_gain_or_loss_flag => 'N'
92251 , p_gl_transfer_mode_code => 'S'
92252 , p_acct_entry_type_code => 'E'
92253 , p_switch_side_flag => 'Y'
92254 , p_merge_duplicate_code => 'A'
92255 );
92256 --
92257 l_acc_rev_natural_side_code := 'D'; -- 4262811
92258 --
92259 --
92260 -- set accounting line type info
92261 --
92262 xla_ae_lines_pkg.SetAcctLineType
92263 (p_component_type => l_component_type
92264 ,p_event_type_code => l_event_type_code
92265 ,p_line_definition_owner_code => l_line_definition_owner_code
92266 ,p_line_definition_code => l_line_definition_code
92267 ,p_accounting_line_code => l_component_code
92268 ,p_accounting_line_type_code => l_component_type_code
92269 ,p_accounting_line_appl_id => l_component_appl_id
92270 ,p_amb_context_code => l_amb_context_code
92271 ,p_entity_code => l_entity_code
92272 ,p_event_class_code => l_event_class_code);
92273 --
92274 -- set accounting class
92275 --
92276 xla_ae_lines_pkg.SetAcctClass(
92277 p_accounting_class_code => 'ITEM EXPENSE'
92278 , p_ae_header_id => l_ae_header_id
92279 );
92280
92281 --
92282 -- set rounding class
92283 --
92284 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92285 'ITEM EXPENSE';
92286
92287 --
92288 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92289 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92290 --
92291 -- bulk performance
92292 --
92293 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92294
92298 -- 4955764
92295 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92296 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92297
92299 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92300 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
92301
92302 -- 4458381 Public Sector Enh
92303
92304 --
92305 -- set accounting attributes for the line type
92306 --
92307 l_entered_amt_idx := 23;
92308 l_accted_amt_idx := 25;
92309 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92310 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
92311 l_rec_acct_attrs.array_char_value(1) := p_source_41;
92312 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
92313 l_rec_acct_attrs.array_num_value(2) :=
92314 xla_ae_sources_pkg.GetSystemSourceNum(
92315 p_source_code => 'XLA_EVENT_APPL_ID'
92316 , p_source_type_code => 'Y'
92317 , p_source_application_id => 602
92318 );
92319 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
92320 l_rec_acct_attrs.array_char_value(3) := p_source_43;
92321 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
92322 l_rec_acct_attrs.array_char_value(4) :=
92323 xla_ae_sources_pkg.GetSystemSourceChar(
92324 p_source_code => 'XLA_ENTITY_CODE'
92325 , p_source_type_code => 'Y'
92326 , p_source_application_id => 602
92327 );
92328 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
92329 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
92330 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
92331 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
92332 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
92333 l_rec_acct_attrs.array_num_value(7) := p_source_79;
92334 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
92335 l_rec_acct_attrs.array_char_value(8) := p_source_80;
92336 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
92337 l_rec_acct_attrs.array_char_value(9) := p_source_81;
92338 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
92339 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
92340 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
92341 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
92342 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
92343 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
92344 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
92345 l_rec_acct_attrs.array_char_value(13) := p_source_43;
92346 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
92347 l_rec_acct_attrs.array_num_value(14) := p_source_53;
92348 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
92349 l_rec_acct_attrs.array_num_value(15) := p_source_54;
92350 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
92351 l_rec_acct_attrs.array_char_value(16) := p_source_55;
92352 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
92353 l_rec_acct_attrs.array_num_value(17) := p_source_56;
92354 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
92355 l_rec_acct_attrs.array_num_value(18) := p_source_57;
92356 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
92357 l_rec_acct_attrs.array_num_value(19) := p_source_58;
92358 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
92359 l_rec_acct_attrs.array_char_value(20) := p_source_55;
92360 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
92361 l_rec_acct_attrs.array_num_value(21) := p_source_59;
92362 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
92363 l_rec_acct_attrs.array_char_value(22) := p_source_60;
92364 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
92365 l_rec_acct_attrs.array_num_value(23) := p_source_143;
92366 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
92367 l_rec_acct_attrs.array_char_value(24) := p_source_55;
92368 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
92369 l_rec_acct_attrs.array_num_value(25) := p_source_144;
92370 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
92371 l_rec_acct_attrs.array_date_value(26) := p_source_65;
92372 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
92373 l_rec_acct_attrs.array_char_value(27) := p_source_66;
92374 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
92375 l_rec_acct_attrs.array_date_value(28) := p_source_67;
92376 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
92377 l_rec_acct_attrs.array_char_value(29) := p_source_68;
92378 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
92379 l_rec_acct_attrs.array_char_value(30) := p_source_71;
92380 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
92381 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
92382 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
92383 l_rec_acct_attrs.array_char_value(32) := p_source_43;
92384 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
92385 l_rec_acct_attrs.array_num_value(33) := p_source_73;
92389 l_rec_acct_attrs.array_num_value(35) := p_source_75;
92386 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
92387 l_rec_acct_attrs.array_num_value(34) := p_source_74;
92388 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
92390 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
92391 l_rec_acct_attrs.array_num_value(36) := p_source_76;
92392 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
92393 l_rec_acct_attrs.array_num_value(37) := p_source_77;
92394 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
92395 l_rec_acct_attrs.array_num_value(38) := p_source_78;
92396
92397 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
92398 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
92399
92400 ---------------------------------------------------------------------------------------------------------------
92401 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
92402 ---------------------------------------------------------------------------------------------------------------
92403 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
92404
92405 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92406 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92407
92408 IF xla_accounting_cache_pkg.GetValueChar
92409 (p_source_code => 'LEDGER_CATEGORY_CODE'
92410 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
92411 AND l_bflow_method_code = 'PRIOR_ENTRY'
92412 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
92413 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
92414 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
92415 )
92416 THEN
92417 xla_ae_lines_pkg.BflowUpgEntry
92418 (p_business_method_code => l_bflow_method_code
92419 ,p_business_class_code => l_bflow_class_code
92420 ,p_balance_type => l_balance_type_code);
92421 ELSE
92422 NULL;
92423 XLA_AE_LINES_PKG.business_flow_validation(
92424 p_business_method_code => l_bflow_method_code
92425 ,p_business_class_code => l_bflow_class_code
92426 ,p_inherit_description_flag => l_inherit_desc_flag);
92427 END IF;
92428
92429 --
92430 -- call analytical criteria
92431 --
92432 -- Inherited Analytical Criteria for business flow method of Prior Entry.
92433 --
92434 -- call description
92435 --
92436 -- No description or it is inherited.
92437 --
92438 -- call ADRs
92439 -- Bug 4922099
92440 --
92441 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92442 (NVL(l_actual_upg_option, 'N') = 'O') OR
92443 (NVL(l_enc_upg_option, 'N') = 'O')
92444 )
92445 THEN
92446 NULL;
92447 --
92448 --
92449
92450 --
92451 --
92452 END IF;
92453 --
92454 -- Bug 4922099
92455 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
92456 (NVL(l_enc_upg_option, 'N') = 'O')
92457 ) AND
92458 (l_bflow_method_code = 'PRIOR_ENTRY')
92459 )
92460 THEN
92461 IF
92462 --
92463 1 = 1
92464 --
92465 THEN
92466 xla_accounting_err_pkg.build_message
92467 (p_appli_s_name => 'XLA'
92468 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92469 ,p_token_1 => 'LINE_NUMBER'
92470 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
92471 ,p_token_2 => 'LINE_TYPE_NAME'
92472 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
92473 l_component_type
92474 ,l_component_code
92475 ,l_component_type_code
92476 ,l_component_appl_id
92477 ,l_amb_context_code
92478 ,l_entity_code
92479 ,l_event_class_code
92480 )
92481 ,p_token_3 => 'OWNER'
92482 ,p_value_3 => xla_lookups_pkg.get_meaning(
92483 p_lookup_type => 'XLA_OWNER_TYPE'
92484 ,p_lookup_code => l_component_type_code
92485 )
92486 ,p_token_4 => 'PRODUCT_NAME'
92490 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
92487 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
92488 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
92489 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
92491 ,p_ae_header_id => NULL
92492 );
92493
92494 IF (C_LEVEL_ERROR>= g_log_level) THEN
92495 trace
92496 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
92497 ,p_level => C_LEVEL_ERROR
92498 ,p_module => l_log_module);
92499 END IF;
92500 END IF;
92501 END IF;
92502 --
92503 --
92504 ------------------------------------------------------------------------------------------------
92505 -- 4219869 Business Flow
92506 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
92507 -- Prior Entry. Currently, the following code is always generated.
92508 ------------------------------------------------------------------------------------------------
92509 -- No ValidateCurrentLine for business flow method of Prior Entry
92510
92511 ------------------------------------------------------------------------------------
92512 -- 4219869 Business Flow
92513 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
92514 ------------------------------------------------------------------------------------
92515 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92516
92517 ----------------------------------------------------------------------------------
92518 -- 4219869 Business Flow
92519 -- Update journal entry status -- Need to generate this within IF <condition>
92520 ----------------------------------------------------------------------------------
92521 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92522 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
92523 ,p_balance_type_code => l_balance_type_code
92524 );
92525
92526 -------------------------------------------------------------------------------------------
92527 -- 4262811 - Generate the Accrual Reversal lines
92528 -------------------------------------------------------------------------------------------
92529 BEGIN
92530 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
92531 (g_array_event(p_event_id).array_value_num('header_index'));
92532 IF l_acc_rev_flag IS NULL THEN
92533 l_acc_rev_flag := 'N';
92534 END IF;
92535 EXCEPTION
92536 WHEN OTHERS THEN
92537 l_acc_rev_flag := 'N';
92538 END;
92539 --
92540 IF (l_acc_rev_flag = 'Y') THEN
92541
92542 -- 4645092 ------------------------------------------------------------------------------
92543 -- To allow MPA report to determine if it should generate report process
92544 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
92545 ------------------------------------------------------------------------------------------
92546
92547 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
92548 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
92549 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
92550 -- call ADRs
92551 -- Bug 4922099
92552 --
92553 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
92554 (NVL(l_actual_upg_option, 'N') = 'O') OR
92555 (NVL(l_enc_upg_option, 'N') = 'O')
92556 )
92557 THEN
92558 NULL;
92559 --
92560 --
92561
92562 --
92563 --
92564 END IF;
92565
92566 --
92567 -- Update the line information that should be overwritten
92568 --
92569 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
92570 p_header_num => 1);
92571 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
92572
92573 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
92574
92575 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
92576 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
92577 END IF;
92578
92579 --
92580 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
92581 --
92582 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
92583 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
92584 ELSE
92585 ---------------------------------------------------------------------------------------------------
92586 -- 4262811a Switch Sign
92587 ---------------------------------------------------------------------------------------------------
92588 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
92589 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92593 -- 5132302
92590 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92591 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
92592 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92594 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
92595 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
92596
92597 END IF;
92598
92599 -- 4955764
92600 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92601 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
92602
92603
92604 XLA_AE_LINES_PKG.ValidateCurrentLine;
92605 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
92606
92607 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
92608 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
92609 ,p_balance_type_code => l_balance_type_code);
92610
92611 END IF;
92612
92613 -----------------------------------------------------------------------------------------
92614 -- 4262811 Multiperiod Accounting
92615 -----------------------------------------------------------------------------------------
92616 -- No MPA option is assigned.
92617
92618
92619 END IF;
92620 END IF;
92621 --
92622
92623 --
92624 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92625 trace
92626 (p_msg => 'END of AcctLineType_164'
92627 ,p_level => C_LEVEL_PROCEDURE
92628 ,p_module => l_log_module);
92629 END IF;
92630 --
92631 EXCEPTION
92632 WHEN xla_exceptions_pkg.application_exception THEN
92633 RAISE;
92634 WHEN OTHERS THEN
92635 xla_exceptions_pkg.raise_message
92636 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_164');
92637 END AcctLineType_164;
92638 --
92639
92640 ---------------------------------------
92641 --
92642 -- PRIVATE FUNCTION
92643 -- AcctLineType_165
92644 --
92645 ---------------------------------------
92646 PROCEDURE AcctLineType_165 (
92647 p_application_id IN NUMBER
92648 ,p_event_id IN NUMBER
92649 ,p_calculate_acctd_flag IN VARCHAR2
92650 ,p_calculate_g_l_flag IN VARCHAR2
92651 ,p_actual_flag IN OUT VARCHAR2
92652 ,p_balance_type_code OUT VARCHAR2
92653 ,p_gain_or_loss_ref OUT VARCHAR2
92654
92655 --Accounting Reversal Indicator
92656 , p_source_41 IN VARCHAR2
92657 --Distribution Link Type
92658 , p_source_43 IN VARCHAR2
92659 --Override Accounted Amount Indicator
92660 , p_source_68 IN VARCHAR2
92661 , p_source_68_meaning IN VARCHAR2
92662 --Third Party Type
92663 , p_source_71 IN VARCHAR2
92664 --Invoice Distribution Tax Line Identifier
92665 , p_source_74 IN NUMBER
92666 --Invoice Distribution Summary Tax Line Identifier
92667 , p_source_76 IN NUMBER
92668 --Business Flow Accounts Payable Application Identifier
92669 , p_source_79 IN NUMBER
92670 --Business Flow Invoice Distribution Type
92671 , p_source_80 IN VARCHAR2
92672 --Business Flow Invoice Entity Code
92673 , p_source_81 IN VARCHAR2
92674 --Business Flow Invoice Distribution Identifier
92675 , p_source_82 IN NUMBER
92676 --Business Flow Invoice Identifier
92677 , p_source_83 IN NUMBER
92678 --When to Account for Payment Option
92679 , p_source_89 IN VARCHAR2
92680 --Payment Distribution Type
92681 , p_source_90 IN VARCHAR2
92682 , p_source_90_meaning IN VARCHAR2
92683 --Payment Distribution Amount
92684 , p_source_91 IN NUMBER
92685 --Payment Distribution Identifier
92686 , p_source_96 IN NUMBER
92687 --Payment Distribution Reversed Identifier
92688 , p_source_104 IN NUMBER
92689 --Payment Currency Code
92690 , p_source_106 IN VARCHAR2
92691 --Payment Distribution (Invoice Rate) Ledger Amount
92692 , p_source_109 IN NUMBER
92693 --Payment Type
92694 , p_source_115 IN VARCHAR2
92695 , p_source_115_meaning IN VARCHAR2
92696 --Invoice Type Paid
92697 , p_source_158 IN VARCHAR2
92698 , p_source_158_meaning IN VARCHAR2
92699 --Withholding at Payment Indicator
92700 , p_source_160 IN VARCHAR2
92701 , p_source_160_meaning IN VARCHAR2
92702 )
92703 IS
92704
92705 l_component_type VARCHAR2(80);
92706 l_component_code VARCHAR2(30);
92707 l_component_type_code VARCHAR2(1);
92708 l_component_appl_id INTEGER;
92709 l_amb_context_code VARCHAR2(30);
92710 l_entity_code VARCHAR2(30);
92711 l_event_class_code VARCHAR2(30);
92712 l_ae_header_id NUMBER;
92713 l_event_type_code VARCHAR2(30);
92714 l_line_definition_code VARCHAR2(30);
92715 l_line_definition_owner_code VARCHAR2(1);
92716 --
92717 -- adr variables
92718 l_segment VARCHAR2(30);
92719 l_ccid NUMBER;
92720 l_adr_transaction_coa_id NUMBER;
92721 l_adr_accounting_coa_id NUMBER;
92722 l_adr_flexfield_segment_code VARCHAR2(30);
92723 l_adr_flex_value_set_id NUMBER;
92727
92724 l_adr_value_type_code VARCHAR2(30);
92725 l_adr_value_combination_id NUMBER;
92726 l_adr_value_segment_code VARCHAR2(30);
92728 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
92729 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
92730 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
92731 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
92732
92733 -- 4262811 Variables ------------------------------------------------------------------------------------------
92734 l_entered_amt_idx NUMBER;
92735 l_accted_amt_idx NUMBER;
92736 l_acc_rev_flag VARCHAR2(1);
92737 l_accrual_line_num NUMBER;
92738 l_tmp_amt NUMBER;
92739 l_acc_rev_natural_side_code VARCHAR2(1);
92740
92741 l_num_entries NUMBER;
92742 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
92743 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
92744 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
92745 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
92746 l_recog_line_1 NUMBER;
92747 l_recog_line_2 NUMBER;
92748
92749 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
92750 l_bflow_applied_to_amt NUMBER; -- 5132302
92751 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
92752
92753 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
92754
92755 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
92756 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
92757
92758 ---------------------------------------------------------------------------------------------------------------
92759
92760
92761 --
92762 -- bulk performance
92763 --
92764 l_balance_type_code VARCHAR2(1);
92765 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
92766 l_log_module VARCHAR2(240);
92767
92768 --
92769 -- Upgrade strategy
92770 --
92771 l_actual_upg_option VARCHAR2(1);
92772 l_enc_upg_option VARCHAR2(1);
92773
92774 --
92775 BEGIN
92776 --
92777 IF g_log_enabled THEN
92778 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_165';
92779 END IF;
92780 --
92781 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
92782
92783 trace
92784 (p_msg => 'BEGIN of AcctLineType_165'
92785 ,p_level => C_LEVEL_PROCEDURE
92786 ,p_module => l_log_module);
92787
92788 END IF;
92789 --
92790 l_component_type := 'AMB_JLT';
92791 l_component_code := 'AP_LIAB_AWT_CLEAR';
92792 l_component_type_code := 'S';
92793 l_component_appl_id := 200;
92794 l_amb_context_code := 'DEFAULT';
92795 l_entity_code := 'AP_PAYMENTS';
92796 l_event_class_code := 'RECONCILED PAYMENTS';
92797 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
92798 l_line_definition_owner_code := 'S';
92799 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
92800 --
92801 l_balance_type_code := 'A';
92802 l_segment := NULL;
92803 l_ccid := NULL;
92804 l_adr_transaction_coa_id := NULL;
92805 l_adr_accounting_coa_id := NULL;
92806 l_adr_flexfield_segment_code := NULL;
92807 l_adr_flex_value_set_id := NULL;
92808 l_adr_value_type_code := NULL;
92809 l_adr_value_combination_id := NULL;
92810 l_adr_value_segment_code := NULL;
92811
92812 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
92813 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
92814 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
92815 l_budgetary_control_flag := 'N';
92816
92817 l_bflow_applied_to_amt_idx := NULL; -- 5132302
92818 l_bflow_applied_to_amt := NULL; -- 5132302
92819 l_entered_amt_idx := NULL; -- 4262811
92820 l_accted_amt_idx := NULL; -- 4262811
92821 l_acc_rev_flag := NULL; -- 4262811
92822 l_accrual_line_num := NULL; -- 4262811
92823 l_tmp_amt := NULL; -- 4262811
92824 --
92825
92826 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
92827 l_balance_type_code <> 'B' THEN
92828 IF NVL(p_source_89,'
92829 ') = 'CLEAR_CLEAR' AND
92830 NVL(p_source_158,'
92831 ') <> 'INTEREST' AND
92832 NVL(p_source_90,'
92833 ') = 'AWT' AND
92834 NVL(p_source_160,'
92835 ') = 'Y' AND
92836 NVL(p_source_115,'
92837 ') <> 'R'
92838 THEN
92839
92840 --
92841 XLA_AE_LINES_PKG.SetNewLine;
92842
92843 p_balance_type_code := l_balance_type_code;
92844 -- set the flag so later we will know whether the gain loss line needs to be created
92845
92846 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
92847 p_actual_flag :='A';
92848 END IF;
92849
92850 --
92851 -- bulk performance
92852 --
92853 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
92854 p_header_num => 0); -- 4262811
92855 --
92856 -- set accounting line options
92857 --
92861 , p_gl_transfer_mode_code => 'S'
92858 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
92859 p_natural_side_code => 'D'
92860 , p_gain_or_loss_flag => 'N'
92862 , p_acct_entry_type_code => 'A'
92863 , p_switch_side_flag => 'Y'
92864 , p_merge_duplicate_code => 'A'
92865 );
92866 --
92867 l_acc_rev_natural_side_code := 'C'; -- 4262811
92868 --
92869 --
92870 -- set accounting line type info
92871 --
92872 xla_ae_lines_pkg.SetAcctLineType
92873 (p_component_type => l_component_type
92874 ,p_event_type_code => l_event_type_code
92875 ,p_line_definition_owner_code => l_line_definition_owner_code
92876 ,p_line_definition_code => l_line_definition_code
92877 ,p_accounting_line_code => l_component_code
92878 ,p_accounting_line_type_code => l_component_type_code
92879 ,p_accounting_line_appl_id => l_component_appl_id
92880 ,p_amb_context_code => l_amb_context_code
92881 ,p_entity_code => l_entity_code
92882 ,p_event_class_code => l_event_class_code);
92883 --
92884 -- set accounting class
92885 --
92886 xla_ae_lines_pkg.SetAcctClass(
92887 p_accounting_class_code => 'LIABILITY'
92888 , p_ae_header_id => l_ae_header_id
92889 );
92890
92891 --
92892 -- set rounding class
92893 --
92894 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
92895 'LIABILITY';
92896
92897 --
92898 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
92899 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
92900 --
92901 -- bulk performance
92902 --
92903 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
92904
92905 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
92906 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
92907
92908 -- 4955764
92909 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
92910 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
92911
92912 -- 4458381 Public Sector Enh
92913
92914 --
92915 -- set accounting attributes for the line type
92916 --
92917 l_entered_amt_idx := 10;
92918 l_accted_amt_idx := 12;
92919 l_bflow_applied_to_amt_idx := 2; -- 5132302
92920 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
92921 l_rec_acct_attrs.array_char_value(1) := p_source_41;
92922 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
92923 l_rec_acct_attrs.array_num_value(2) := p_source_91;
92924 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
92925 l_rec_acct_attrs.array_num_value(3) := p_source_79;
92926 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
92927 l_rec_acct_attrs.array_char_value(4) := p_source_80;
92928 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
92929 l_rec_acct_attrs.array_char_value(5) := p_source_81;
92930 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
92931 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
92932 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
92933 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
92934 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
92935 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
92936 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
92937 l_rec_acct_attrs.array_char_value(9) := p_source_43;
92938 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
92939 l_rec_acct_attrs.array_num_value(10) := p_source_91;
92940 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
92941 l_rec_acct_attrs.array_char_value(11) := p_source_106;
92942 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
92943 l_rec_acct_attrs.array_num_value(12) := p_source_109;
92944 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
92945 l_rec_acct_attrs.array_char_value(13) := p_source_68;
92946 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
92947 l_rec_acct_attrs.array_char_value(14) := p_source_71;
92948 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
92949 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
92950 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
92951 l_rec_acct_attrs.array_char_value(16) := p_source_43;
92952 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
92953 l_rec_acct_attrs.array_num_value(17) := p_source_74;
92954 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
92955 l_rec_acct_attrs.array_num_value(18) := p_source_74;
92956 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
92957 l_rec_acct_attrs.array_num_value(19) := p_source_76;
92958
92959 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
92960 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
92961
92965 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
92962 ---------------------------------------------------------------------------------------------------------------
92963 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
92964 ---------------------------------------------------------------------------------------------------------------
92966
92967 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92968 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
92969
92970 IF xla_accounting_cache_pkg.GetValueChar
92971 (p_source_code => 'LEDGER_CATEGORY_CODE'
92972 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
92973 AND l_bflow_method_code = 'PRIOR_ENTRY'
92974 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
92975 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
92976 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
92977 )
92978 THEN
92979 xla_ae_lines_pkg.BflowUpgEntry
92980 (p_business_method_code => l_bflow_method_code
92981 ,p_business_class_code => l_bflow_class_code
92982 ,p_balance_type => l_balance_type_code);
92983 ELSE
92984 NULL;
92985 XLA_AE_LINES_PKG.business_flow_validation(
92986 p_business_method_code => l_bflow_method_code
92987 ,p_business_class_code => l_bflow_class_code
92988 ,p_inherit_description_flag => l_inherit_desc_flag);
92989 END IF;
92990
92991 --
92992 -- call analytical criteria
92993 --
92994 -- Inherited Analytical Criteria for business flow method of Prior Entry.
92995 --
92996 -- call description
92997 --
92998 -- No description or it is inherited.
92999 --
93000 -- call ADRs
93001 -- Bug 4922099
93002 --
93003 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93004 (NVL(l_actual_upg_option, 'N') = 'O') OR
93005 (NVL(l_enc_upg_option, 'N') = 'O')
93006 )
93007 THEN
93008 NULL;
93009 --
93010 --
93011
93012 --
93013 --
93014 END IF;
93015 --
93016 -- Bug 4922099
93017 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93018 (NVL(l_enc_upg_option, 'N') = 'O')
93019 ) AND
93020 (l_bflow_method_code = 'PRIOR_ENTRY')
93021 )
93022 THEN
93023 IF
93024 --
93025 1 = 1
93026 --
93027 THEN
93028 xla_accounting_err_pkg.build_message
93029 (p_appli_s_name => 'XLA'
93030 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93031 ,p_token_1 => 'LINE_NUMBER'
93032 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
93033 ,p_token_2 => 'LINE_TYPE_NAME'
93034 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
93035 l_component_type
93036 ,l_component_code
93037 ,l_component_type_code
93038 ,l_component_appl_id
93039 ,l_amb_context_code
93040 ,l_entity_code
93041 ,l_event_class_code
93042 )
93043 ,p_token_3 => 'OWNER'
93044 ,p_value_3 => xla_lookups_pkg.get_meaning(
93045 p_lookup_type => 'XLA_OWNER_TYPE'
93046 ,p_lookup_code => l_component_type_code
93047 )
93048 ,p_token_4 => 'PRODUCT_NAME'
93049 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
93050 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
93051 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
93052 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
93053 ,p_ae_header_id => NULL
93054 );
93055
93056 IF (C_LEVEL_ERROR>= g_log_level) THEN
93057 trace
93058 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93059 ,p_level => C_LEVEL_ERROR
93060 ,p_module => l_log_module);
93061 END IF;
93065 --
93062 END IF;
93063 END IF;
93064 --
93066 ------------------------------------------------------------------------------------------------
93067 -- 4219869 Business Flow
93068 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
93069 -- Prior Entry. Currently, the following code is always generated.
93070 ------------------------------------------------------------------------------------------------
93071 -- No ValidateCurrentLine for business flow method of Prior Entry
93072
93073 ------------------------------------------------------------------------------------
93074 -- 4219869 Business Flow
93075 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
93076 ------------------------------------------------------------------------------------
93077 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93078
93079 ----------------------------------------------------------------------------------
93080 -- 4219869 Business Flow
93081 -- Update journal entry status -- Need to generate this within IF <condition>
93082 ----------------------------------------------------------------------------------
93083 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93084 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
93085 ,p_balance_type_code => l_balance_type_code
93086 );
93087
93088 -------------------------------------------------------------------------------------------
93089 -- 4262811 - Generate the Accrual Reversal lines
93090 -------------------------------------------------------------------------------------------
93091 BEGIN
93092 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
93093 (g_array_event(p_event_id).array_value_num('header_index'));
93094 IF l_acc_rev_flag IS NULL THEN
93095 l_acc_rev_flag := 'N';
93096 END IF;
93097 EXCEPTION
93098 WHEN OTHERS THEN
93099 l_acc_rev_flag := 'N';
93100 END;
93101 --
93102 IF (l_acc_rev_flag = 'Y') THEN
93103
93104 -- 4645092 ------------------------------------------------------------------------------
93105 -- To allow MPA report to determine if it should generate report process
93106 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
93107 ------------------------------------------------------------------------------------------
93108
93109 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
93110 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
93111 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
93112 -- call ADRs
93113 -- Bug 4922099
93114 --
93115 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93116 (NVL(l_actual_upg_option, 'N') = 'O') OR
93117 (NVL(l_enc_upg_option, 'N') = 'O')
93118 )
93119 THEN
93120 NULL;
93121 --
93122 --
93123
93124 --
93125 --
93126 END IF;
93127
93128 --
93129 -- Update the line information that should be overwritten
93130 --
93131 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
93132 p_header_num => 1);
93133 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
93134
93135 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
93136
93137 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
93138 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
93139 END IF;
93140
93141 --
93142 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
93143 --
93144 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
93145 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
93146 ELSE
93147 ---------------------------------------------------------------------------------------------------
93148 -- 4262811a Switch Sign
93149 ---------------------------------------------------------------------------------------------------
93150 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
93151 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93152 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93153 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93154 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93155 -- 5132302
93156 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93157 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93158
93159 END IF;
93160
93161 -- 4955764
93162 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93163 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93164
93165
93166 XLA_AE_LINES_PKG.ValidateCurrentLine;
93170 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93167 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93168
93169 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93171 ,p_balance_type_code => l_balance_type_code);
93172
93173 END IF;
93174
93175 -----------------------------------------------------------------------------------------
93176 -- 4262811 Multiperiod Accounting
93177 -----------------------------------------------------------------------------------------
93178 -- No MPA option is assigned.
93179
93180
93181 END IF;
93182 END IF;
93183 --
93184
93185 --
93186 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93187 trace
93188 (p_msg => 'END of AcctLineType_165'
93189 ,p_level => C_LEVEL_PROCEDURE
93190 ,p_module => l_log_module);
93191 END IF;
93192 --
93193 EXCEPTION
93194 WHEN xla_exceptions_pkg.application_exception THEN
93195 RAISE;
93196 WHEN OTHERS THEN
93197 xla_exceptions_pkg.raise_message
93198 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_165');
93199 END AcctLineType_165;
93200 --
93201
93202 ---------------------------------------
93203 --
93204 -- PRIVATE FUNCTION
93205 -- AcctLineType_166
93206 --
93207 ---------------------------------------
93208 PROCEDURE AcctLineType_166 (
93209 p_application_id IN NUMBER
93210 ,p_event_id IN NUMBER
93211 ,p_calculate_acctd_flag IN VARCHAR2
93212 ,p_calculate_g_l_flag IN VARCHAR2
93213 ,p_actual_flag IN OUT VARCHAR2
93214 ,p_balance_type_code OUT VARCHAR2
93215 ,p_gain_or_loss_ref OUT VARCHAR2
93216
93217 --Accounting Reversal Indicator
93218 , p_source_41 IN VARCHAR2
93219 --Distribution Link Type
93220 , p_source_43 IN VARCHAR2
93221 --Override Accounted Amount Indicator
93222 , p_source_68 IN VARCHAR2
93223 , p_source_68_meaning IN VARCHAR2
93224 --Third Party Type
93225 , p_source_71 IN VARCHAR2
93226 --Invoice Distribution Tax Line Identifier
93227 , p_source_74 IN NUMBER
93228 --Invoice Distribution Tax Distribution Identifier from Tax
93229 , p_source_75 IN NUMBER
93230 --Invoice Distribution Summary Tax Line Identifier
93231 , p_source_76 IN NUMBER
93232 --Business Flow Accounts Payable Application Identifier
93233 , p_source_79 IN NUMBER
93234 --Business Flow Invoice Distribution Type
93235 , p_source_80 IN VARCHAR2
93236 --Business Flow Invoice Entity Code
93237 , p_source_81 IN VARCHAR2
93238 --Business Flow Invoice Distribution Identifier
93239 , p_source_82 IN NUMBER
93240 --Business Flow Invoice Identifier
93241 , p_source_83 IN NUMBER
93242 --When to Account for Payment Option
93243 , p_source_89 IN VARCHAR2
93244 --Payment Distribution Type
93245 , p_source_90 IN VARCHAR2
93246 , p_source_90_meaning IN VARCHAR2
93247 --Payment Distribution Amount
93248 , p_source_91 IN NUMBER
93249 --Payment Distribution Identifier
93250 , p_source_96 IN NUMBER
93251 --Payment Distribution Reversed Identifier
93252 , p_source_104 IN NUMBER
93253 --Payment Currency Code
93254 , p_source_106 IN VARCHAR2
93255 --Payment Distribution (Invoice Rate) Ledger Amount
93256 , p_source_109 IN NUMBER
93257 --Payment Type
93258 , p_source_115 IN VARCHAR2
93259 , p_source_115_meaning IN VARCHAR2
93260 --Payment Processing Type
93261 , p_source_116 IN VARCHAR2
93262 --Invoice Distribution Amount of the Payment Distribution
93263 , p_source_117 IN NUMBER
93264 --Invoice Type Paid
93265 , p_source_158 IN VARCHAR2
93266 , p_source_158_meaning IN VARCHAR2
93267 --Withholding at Payment Indicator
93268 , p_source_160 IN VARCHAR2
93269 , p_source_160_meaning IN VARCHAR2
93270 )
93271 IS
93272
93273 l_component_type VARCHAR2(80);
93274 l_component_code VARCHAR2(30);
93275 l_component_type_code VARCHAR2(1);
93276 l_component_appl_id INTEGER;
93277 l_amb_context_code VARCHAR2(30);
93278 l_entity_code VARCHAR2(30);
93279 l_event_class_code VARCHAR2(30);
93280 l_ae_header_id NUMBER;
93281 l_event_type_code VARCHAR2(30);
93282 l_line_definition_code VARCHAR2(30);
93283 l_line_definition_owner_code VARCHAR2(1);
93284 --
93285 -- adr variables
93286 l_segment VARCHAR2(30);
93287 l_ccid NUMBER;
93288 l_adr_transaction_coa_id NUMBER;
93289 l_adr_accounting_coa_id NUMBER;
93290 l_adr_flexfield_segment_code VARCHAR2(30);
93291 l_adr_flex_value_set_id NUMBER;
93292 l_adr_value_type_code VARCHAR2(30);
93293 l_adr_value_combination_id NUMBER;
93294 l_adr_value_segment_code VARCHAR2(30);
93295
93296 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93297 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93298 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93299 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93300
93301 -- 4262811 Variables ------------------------------------------------------------------------------------------
93302 l_entered_amt_idx NUMBER;
93306 l_tmp_amt NUMBER;
93303 l_accted_amt_idx NUMBER;
93304 l_acc_rev_flag VARCHAR2(1);
93305 l_accrual_line_num NUMBER;
93307 l_acc_rev_natural_side_code VARCHAR2(1);
93308
93309 l_num_entries NUMBER;
93310 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93311 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93312 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93313 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93314 l_recog_line_1 NUMBER;
93315 l_recog_line_2 NUMBER;
93316
93317 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93318 l_bflow_applied_to_amt NUMBER; -- 5132302
93319 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93320
93321 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
93322
93323 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
93324 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
93325
93326 ---------------------------------------------------------------------------------------------------------------
93327
93328
93329 --
93330 -- bulk performance
93331 --
93332 l_balance_type_code VARCHAR2(1);
93333 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
93334 l_log_module VARCHAR2(240);
93335
93336 --
93337 -- Upgrade strategy
93338 --
93339 l_actual_upg_option VARCHAR2(1);
93340 l_enc_upg_option VARCHAR2(1);
93341
93342 --
93343 BEGIN
93344 --
93345 IF g_log_enabled THEN
93346 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_166';
93347 END IF;
93348 --
93349 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93350
93351 trace
93352 (p_msg => 'BEGIN of AcctLineType_166'
93353 ,p_level => C_LEVEL_PROCEDURE
93354 ,p_module => l_log_module);
93355
93356 END IF;
93357 --
93358 l_component_type := 'AMB_JLT';
93359 l_component_code := 'AP_LIAB_AWT_PMT';
93360 l_component_type_code := 'S';
93361 l_component_appl_id := 200;
93362 l_amb_context_code := 'DEFAULT';
93363 l_entity_code := 'AP_PAYMENTS';
93364 l_event_class_code := 'PAYMENTS';
93365 l_event_type_code := 'PAYMENTS_ALL';
93366 l_line_definition_owner_code := 'S';
93367 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
93368 --
93369 l_balance_type_code := 'A';
93370 l_segment := NULL;
93371 l_ccid := NULL;
93372 l_adr_transaction_coa_id := NULL;
93373 l_adr_accounting_coa_id := NULL;
93374 l_adr_flexfield_segment_code := NULL;
93375 l_adr_flex_value_set_id := NULL;
93376 l_adr_value_type_code := NULL;
93377 l_adr_value_combination_id := NULL;
93378 l_adr_value_segment_code := NULL;
93379
93380 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
93381 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
93382 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
93383 l_budgetary_control_flag := 'N';
93384
93385 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93386 l_bflow_applied_to_amt := NULL; -- 5132302
93387 l_entered_amt_idx := NULL; -- 4262811
93388 l_accted_amt_idx := NULL; -- 4262811
93389 l_acc_rev_flag := NULL; -- 4262811
93390 l_accrual_line_num := NULL; -- 4262811
93391 l_tmp_amt := NULL; -- 4262811
93392 --
93393
93394 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
93395 l_balance_type_code <> 'B' THEN
93396 IF NVL(p_source_89,'
93397 ') <> 'CLEAR_CLEAR' AND
93398 NVL(p_source_158,'
93399 ') <> 'INTEREST' AND
93400 NVL(p_source_90,'
93401 ') = 'AWT' AND
93402 NVL(p_source_160,'
93403 ') = 'Y' AND
93404 NVL(p_source_115,'
93405 ') <> 'R' AND
93406 NVL(p_source_116,'
93407 ') <> 'PAYMENTCARD'
93408 THEN
93409
93410 --
93411 XLA_AE_LINES_PKG.SetNewLine;
93412
93413 p_balance_type_code := l_balance_type_code;
93414 -- set the flag so later we will know whether the gain loss line needs to be created
93415
93416 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
93417 p_actual_flag :='A';
93418 END IF;
93419
93420 --
93421 -- bulk performance
93422 --
93423 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
93424 p_header_num => 0); -- 4262811
93425 --
93426 -- set accounting line options
93427 --
93428 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
93429 p_natural_side_code => 'D'
93430 , p_gain_or_loss_flag => 'N'
93431 , p_gl_transfer_mode_code => 'S'
93432 , p_acct_entry_type_code => 'A'
93433 , p_switch_side_flag => 'Y'
93434 , p_merge_duplicate_code => 'A'
93435 );
93436 --
93437 l_acc_rev_natural_side_code := 'C'; -- 4262811
93438 --
93439 --
93440 -- set accounting line type info
93441 --
93445 ,p_line_definition_owner_code => l_line_definition_owner_code
93442 xla_ae_lines_pkg.SetAcctLineType
93443 (p_component_type => l_component_type
93444 ,p_event_type_code => l_event_type_code
93446 ,p_line_definition_code => l_line_definition_code
93447 ,p_accounting_line_code => l_component_code
93448 ,p_accounting_line_type_code => l_component_type_code
93449 ,p_accounting_line_appl_id => l_component_appl_id
93450 ,p_amb_context_code => l_amb_context_code
93451 ,p_entity_code => l_entity_code
93452 ,p_event_class_code => l_event_class_code);
93453 --
93454 -- set accounting class
93455 --
93456 xla_ae_lines_pkg.SetAcctClass(
93457 p_accounting_class_code => 'LIABILITY'
93458 , p_ae_header_id => l_ae_header_id
93459 );
93460
93461 --
93462 -- set rounding class
93463 --
93464 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
93465 'LIABILITY';
93466
93467 --
93468 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
93469 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
93470 --
93471 -- bulk performance
93472 --
93473 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
93474
93475 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
93476 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
93477
93478 -- 4955764
93479 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93480 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
93481
93482 -- 4458381 Public Sector Enh
93483
93484 --
93485 -- set accounting attributes for the line type
93486 --
93487 l_entered_amt_idx := 10;
93488 l_accted_amt_idx := 12;
93489 l_bflow_applied_to_amt_idx := 2; -- 5132302
93490 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
93491 l_rec_acct_attrs.array_char_value(1) := p_source_41;
93492 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
93493 l_rec_acct_attrs.array_num_value(2) := p_source_117;
93494 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
93495 l_rec_acct_attrs.array_num_value(3) := p_source_79;
93496 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
93497 l_rec_acct_attrs.array_char_value(4) := p_source_80;
93498 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
93499 l_rec_acct_attrs.array_char_value(5) := p_source_81;
93500 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
93501 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
93502 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
93503 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
93504 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
93505 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
93506 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
93507 l_rec_acct_attrs.array_char_value(9) := p_source_43;
93508 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
93509 l_rec_acct_attrs.array_num_value(10) := p_source_91;
93510 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
93511 l_rec_acct_attrs.array_char_value(11) := p_source_106;
93512 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
93513 l_rec_acct_attrs.array_num_value(12) := p_source_109;
93514 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
93515 l_rec_acct_attrs.array_char_value(13) := p_source_68;
93516 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
93517 l_rec_acct_attrs.array_char_value(14) := p_source_71;
93518 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
93519 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
93520 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
93521 l_rec_acct_attrs.array_char_value(16) := p_source_43;
93522 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
93523 l_rec_acct_attrs.array_num_value(17) := p_source_74;
93524 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
93525 l_rec_acct_attrs.array_num_value(18) := p_source_75;
93526 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
93527 l_rec_acct_attrs.array_num_value(19) := p_source_76;
93528
93529 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
93530 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
93531
93532 ---------------------------------------------------------------------------------------------------------------
93533 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
93534 ---------------------------------------------------------------------------------------------------------------
93535 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
93536
93537 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93538 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
93539
93543 AND l_bflow_method_code = 'PRIOR_ENTRY'
93540 IF xla_accounting_cache_pkg.GetValueChar
93541 (p_source_code => 'LEDGER_CATEGORY_CODE'
93542 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
93544 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
93545 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
93546 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
93547 )
93548 THEN
93549 xla_ae_lines_pkg.BflowUpgEntry
93550 (p_business_method_code => l_bflow_method_code
93551 ,p_business_class_code => l_bflow_class_code
93552 ,p_balance_type => l_balance_type_code);
93553 ELSE
93554 NULL;
93555 XLA_AE_LINES_PKG.business_flow_validation(
93556 p_business_method_code => l_bflow_method_code
93557 ,p_business_class_code => l_bflow_class_code
93558 ,p_inherit_description_flag => l_inherit_desc_flag);
93559 END IF;
93560
93561 --
93562 -- call analytical criteria
93563 --
93564 -- Inherited Analytical Criteria for business flow method of Prior Entry.
93565 --
93566 -- call description
93567 --
93568 -- No description or it is inherited.
93569 --
93570 -- call ADRs
93571 -- Bug 4922099
93572 --
93573 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93574 (NVL(l_actual_upg_option, 'N') = 'O') OR
93575 (NVL(l_enc_upg_option, 'N') = 'O')
93576 )
93577 THEN
93578 NULL;
93579 --
93580 --
93581
93582 --
93583 --
93584 END IF;
93585 --
93586 -- Bug 4922099
93587 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
93588 (NVL(l_enc_upg_option, 'N') = 'O')
93589 ) AND
93590 (l_bflow_method_code = 'PRIOR_ENTRY')
93591 )
93592 THEN
93593 IF
93594 --
93595 1 = 1
93596 --
93597 THEN
93598 xla_accounting_err_pkg.build_message
93599 (p_appli_s_name => 'XLA'
93600 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93601 ,p_token_1 => 'LINE_NUMBER'
93602 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
93603 ,p_token_2 => 'LINE_TYPE_NAME'
93604 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
93605 l_component_type
93606 ,l_component_code
93607 ,l_component_type_code
93608 ,l_component_appl_id
93609 ,l_amb_context_code
93610 ,l_entity_code
93611 ,l_event_class_code
93612 )
93613 ,p_token_3 => 'OWNER'
93614 ,p_value_3 => xla_lookups_pkg.get_meaning(
93615 p_lookup_type => 'XLA_OWNER_TYPE'
93616 ,p_lookup_code => l_component_type_code
93617 )
93618 ,p_token_4 => 'PRODUCT_NAME'
93619 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
93620 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
93621 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
93622 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
93623 ,p_ae_header_id => NULL
93624 );
93625
93626 IF (C_LEVEL_ERROR>= g_log_level) THEN
93627 trace
93628 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
93629 ,p_level => C_LEVEL_ERROR
93630 ,p_module => l_log_module);
93631 END IF;
93632 END IF;
93633 END IF;
93634 --
93635 --
93636 ------------------------------------------------------------------------------------------------
93637 -- 4219869 Business Flow
93638 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
93639 -- Prior Entry. Currently, the following code is always generated.
93640 ------------------------------------------------------------------------------------------------
93641 -- No ValidateCurrentLine for business flow method of Prior Entry
93642
93643 ------------------------------------------------------------------------------------
93647 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93644 -- 4219869 Business Flow
93645 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
93646 ------------------------------------------------------------------------------------
93648
93649 ----------------------------------------------------------------------------------
93650 -- 4219869 Business Flow
93651 -- Update journal entry status -- Need to generate this within IF <condition>
93652 ----------------------------------------------------------------------------------
93653 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93654 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
93655 ,p_balance_type_code => l_balance_type_code
93656 );
93657
93658 -------------------------------------------------------------------------------------------
93659 -- 4262811 - Generate the Accrual Reversal lines
93660 -------------------------------------------------------------------------------------------
93661 BEGIN
93662 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
93663 (g_array_event(p_event_id).array_value_num('header_index'));
93664 IF l_acc_rev_flag IS NULL THEN
93665 l_acc_rev_flag := 'N';
93666 END IF;
93667 EXCEPTION
93668 WHEN OTHERS THEN
93669 l_acc_rev_flag := 'N';
93670 END;
93671 --
93672 IF (l_acc_rev_flag = 'Y') THEN
93673
93674 -- 4645092 ------------------------------------------------------------------------------
93675 -- To allow MPA report to determine if it should generate report process
93676 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
93677 ------------------------------------------------------------------------------------------
93678
93679 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
93680 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
93681 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
93682 -- call ADRs
93683 -- Bug 4922099
93684 --
93685 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
93686 (NVL(l_actual_upg_option, 'N') = 'O') OR
93687 (NVL(l_enc_upg_option, 'N') = 'O')
93688 )
93689 THEN
93690 NULL;
93691 --
93692 --
93693
93694 --
93695 --
93696 END IF;
93697
93698 --
93699 -- Update the line information that should be overwritten
93700 --
93701 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
93702 p_header_num => 1);
93703 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
93704
93705 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
93706
93707 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
93708 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
93709 END IF;
93710
93711 --
93712 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
93713 --
93714 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
93715 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
93716 ELSE
93717 ---------------------------------------------------------------------------------------------------
93718 -- 4262811a Switch Sign
93719 ---------------------------------------------------------------------------------------------------
93720 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
93721 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93722 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93723 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
93724 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93725 -- 5132302
93726 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
93727 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
93728
93729 END IF;
93730
93731 -- 4955764
93732 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
93733 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
93734
93735
93736 XLA_AE_LINES_PKG.ValidateCurrentLine;
93737 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
93738
93739 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
93740 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
93741 ,p_balance_type_code => l_balance_type_code);
93742
93743 END IF;
93744
93745 -----------------------------------------------------------------------------------------
93746 -- 4262811 Multiperiod Accounting
93747 -----------------------------------------------------------------------------------------
93748 -- No MPA option is assigned.
93749
93750
93751 END IF;
93752 END IF;
93753 --
93754
93755 --
93759 ,p_level => C_LEVEL_PROCEDURE
93756 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93757 trace
93758 (p_msg => 'END of AcctLineType_166'
93760 ,p_module => l_log_module);
93761 END IF;
93762 --
93763 EXCEPTION
93764 WHEN xla_exceptions_pkg.application_exception THEN
93765 RAISE;
93766 WHEN OTHERS THEN
93767 xla_exceptions_pkg.raise_message
93768 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_166');
93769 END AcctLineType_166;
93770 --
93771
93772 ---------------------------------------
93773 --
93774 -- PRIVATE FUNCTION
93775 -- AcctLineType_167
93776 --
93777 ---------------------------------------
93778 PROCEDURE AcctLineType_167 (
93779 p_application_id IN NUMBER
93780 ,p_event_id IN NUMBER
93781 ,p_calculate_acctd_flag IN VARCHAR2
93782 ,p_calculate_g_l_flag IN VARCHAR2
93783 ,p_actual_flag IN OUT VARCHAR2
93784 ,p_balance_type_code OUT VARCHAR2
93785 ,p_gain_or_loss_ref OUT VARCHAR2
93786
93787 --Accounting Reversal Indicator
93788 , p_source_41 IN VARCHAR2
93789 --Distribution Link Type
93790 , p_source_43 IN VARCHAR2
93791 --Override Accounted Amount Indicator
93792 , p_source_68 IN VARCHAR2
93793 , p_source_68_meaning IN VARCHAR2
93794 --Third Party Type
93795 , p_source_71 IN VARCHAR2
93796 --Invoice Distribution Tax Line Identifier
93797 , p_source_74 IN NUMBER
93798 --Invoice Distribution Summary Tax Line Identifier
93799 , p_source_76 IN NUMBER
93800 --Business Flow Accounts Payable Application Identifier
93801 , p_source_79 IN NUMBER
93802 --Business Flow Invoice Distribution Type
93803 , p_source_80 IN VARCHAR2
93804 --Business Flow Invoice Entity Code
93805 , p_source_81 IN VARCHAR2
93806 --Business Flow Invoice Distribution Identifier
93807 , p_source_82 IN NUMBER
93808 --Business Flow Invoice Identifier
93809 , p_source_83 IN NUMBER
93810 --When to Account for Payment Option
93811 , p_source_89 IN VARCHAR2
93812 --Payment Distribution Type
93813 , p_source_90 IN VARCHAR2
93814 , p_source_90_meaning IN VARCHAR2
93815 --Payment Distribution Amount
93816 , p_source_91 IN NUMBER
93817 --Payment Distribution Identifier
93818 , p_source_96 IN NUMBER
93819 --Payment Distribution Reversed Identifier
93820 , p_source_104 IN NUMBER
93821 --Payment Currency Code
93822 , p_source_106 IN VARCHAR2
93823 --Payment Distribution (Invoice Rate) Ledger Amount
93824 , p_source_109 IN NUMBER
93825 --Invoice Type Paid
93826 , p_source_158 IN VARCHAR2
93827 , p_source_158_meaning IN VARCHAR2
93828 )
93829 IS
93830
93831 l_component_type VARCHAR2(80);
93832 l_component_code VARCHAR2(30);
93833 l_component_type_code VARCHAR2(1);
93834 l_component_appl_id INTEGER;
93835 l_amb_context_code VARCHAR2(30);
93836 l_entity_code VARCHAR2(30);
93837 l_event_class_code VARCHAR2(30);
93838 l_ae_header_id NUMBER;
93839 l_event_type_code VARCHAR2(30);
93840 l_line_definition_code VARCHAR2(30);
93841 l_line_definition_owner_code VARCHAR2(1);
93842 --
93843 -- adr variables
93844 l_segment VARCHAR2(30);
93845 l_ccid NUMBER;
93846 l_adr_transaction_coa_id NUMBER;
93847 l_adr_accounting_coa_id NUMBER;
93848 l_adr_flexfield_segment_code VARCHAR2(30);
93849 l_adr_flex_value_set_id NUMBER;
93850 l_adr_value_type_code VARCHAR2(30);
93851 l_adr_value_combination_id NUMBER;
93852 l_adr_value_segment_code VARCHAR2(30);
93853
93854 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
93855 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
93856 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
93857 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
93858
93859 -- 4262811 Variables ------------------------------------------------------------------------------------------
93860 l_entered_amt_idx NUMBER;
93861 l_accted_amt_idx NUMBER;
93862 l_acc_rev_flag VARCHAR2(1);
93863 l_accrual_line_num NUMBER;
93864 l_tmp_amt NUMBER;
93865 l_acc_rev_natural_side_code VARCHAR2(1);
93866
93867 l_num_entries NUMBER;
93868 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
93869 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
93870 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
93871 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
93872 l_recog_line_1 NUMBER;
93873 l_recog_line_2 NUMBER;
93874
93875 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
93876 l_bflow_applied_to_amt NUMBER; -- 5132302
93877 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
93878
93879 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
93880
93881 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
93882 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
93886
93883
93884 ---------------------------------------------------------------------------------------------------------------
93885
93887 --
93888 -- bulk performance
93889 --
93890 l_balance_type_code VARCHAR2(1);
93891 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
93892 l_log_module VARCHAR2(240);
93893
93894 --
93895 -- Upgrade strategy
93896 --
93897 l_actual_upg_option VARCHAR2(1);
93898 l_enc_upg_option VARCHAR2(1);
93899
93900 --
93901 BEGIN
93902 --
93903 IF g_log_enabled THEN
93904 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_167';
93905 END IF;
93906 --
93907 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
93908
93909 trace
93910 (p_msg => 'BEGIN of AcctLineType_167'
93911 ,p_level => C_LEVEL_PROCEDURE
93912 ,p_module => l_log_module);
93913
93914 END IF;
93915 --
93916 l_component_type := 'AMB_JLT';
93917 l_component_code := 'AP_LIAB_CLEAR';
93918 l_component_type_code := 'S';
93919 l_component_appl_id := 200;
93920 l_amb_context_code := 'DEFAULT';
93921 l_entity_code := 'AP_PAYMENTS';
93922 l_event_class_code := 'RECONCILED PAYMENTS';
93923 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
93924 l_line_definition_owner_code := 'S';
93925 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
93926 --
93927 l_balance_type_code := 'A';
93928 l_segment := NULL;
93929 l_ccid := NULL;
93930 l_adr_transaction_coa_id := NULL;
93931 l_adr_accounting_coa_id := NULL;
93932 l_adr_flexfield_segment_code := NULL;
93933 l_adr_flex_value_set_id := NULL;
93934 l_adr_value_type_code := NULL;
93935 l_adr_value_combination_id := NULL;
93936 l_adr_value_segment_code := NULL;
93937
93938 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
93939 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
93940 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
93941 l_budgetary_control_flag := 'N';
93942
93943 l_bflow_applied_to_amt_idx := NULL; -- 5132302
93944 l_bflow_applied_to_amt := NULL; -- 5132302
93945 l_entered_amt_idx := NULL; -- 4262811
93946 l_accted_amt_idx := NULL; -- 4262811
93947 l_acc_rev_flag := NULL; -- 4262811
93948 l_accrual_line_num := NULL; -- 4262811
93949 l_tmp_amt := NULL; -- 4262811
93950 --
93951
93952 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
93953 l_balance_type_code <> 'B' THEN
93954 IF NVL(p_source_89,'
93955 ') = 'CLEAR_CLEAR' AND
93956 NVL(p_source_158,'
93957 ') <> 'INTEREST' AND
93958 (NVL(p_source_90,'
93959 ') = 'ROUNDING' OR
93960 NVL(p_source_90,'
93961 ') = 'CASH' OR
93962 NVL(p_source_90,'
93963 ') = 'DISCOUNT')
93964 THEN
93965
93966 --
93967 XLA_AE_LINES_PKG.SetNewLine;
93968
93969 p_balance_type_code := l_balance_type_code;
93970 -- set the flag so later we will know whether the gain loss line needs to be created
93971
93972 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
93973 p_actual_flag :='A';
93974 END IF;
93975
93976 --
93977 -- bulk performance
93978 --
93979 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
93980 p_header_num => 0); -- 4262811
93981 --
93982 -- set accounting line options
93983 --
93984 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
93985 p_natural_side_code => 'D'
93986 , p_gain_or_loss_flag => 'N'
93987 , p_gl_transfer_mode_code => 'S'
93988 , p_acct_entry_type_code => 'A'
93989 , p_switch_side_flag => 'Y'
93990 , p_merge_duplicate_code => 'A'
93991 );
93992 --
93993 l_acc_rev_natural_side_code := 'C'; -- 4262811
93994 --
93995 --
93996 -- set accounting line type info
93997 --
93998 xla_ae_lines_pkg.SetAcctLineType
93999 (p_component_type => l_component_type
94000 ,p_event_type_code => l_event_type_code
94001 ,p_line_definition_owner_code => l_line_definition_owner_code
94002 ,p_line_definition_code => l_line_definition_code
94003 ,p_accounting_line_code => l_component_code
94004 ,p_accounting_line_type_code => l_component_type_code
94005 ,p_accounting_line_appl_id => l_component_appl_id
94006 ,p_amb_context_code => l_amb_context_code
94007 ,p_entity_code => l_entity_code
94008 ,p_event_class_code => l_event_class_code);
94009 --
94010 -- set accounting class
94011 --
94012 xla_ae_lines_pkg.SetAcctClass(
94013 p_accounting_class_code => 'LIABILITY'
94014 , p_ae_header_id => l_ae_header_id
94015 );
94016
94017 --
94018 -- set rounding class
94019 --
94020 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
94021 'LIABILITY';
94022
94023 --
94024 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
94028 --
94025 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
94026 --
94027 -- bulk performance
94029 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
94030
94031 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
94032 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
94033
94034 -- 4955764
94035 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94036 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
94037
94038 -- 4458381 Public Sector Enh
94039
94040 --
94041 -- set accounting attributes for the line type
94042 --
94043 l_entered_amt_idx := 10;
94044 l_accted_amt_idx := 12;
94045 l_bflow_applied_to_amt_idx := 2; -- 5132302
94046 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
94047 l_rec_acct_attrs.array_char_value(1) := p_source_41;
94048 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
94049 l_rec_acct_attrs.array_num_value(2) := p_source_91;
94050 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
94051 l_rec_acct_attrs.array_num_value(3) := p_source_79;
94052 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
94053 l_rec_acct_attrs.array_char_value(4) := p_source_80;
94054 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
94055 l_rec_acct_attrs.array_char_value(5) := p_source_81;
94056 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
94057 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
94058 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
94059 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
94060 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
94061 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
94062 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
94063 l_rec_acct_attrs.array_char_value(9) := p_source_43;
94064 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
94065 l_rec_acct_attrs.array_num_value(10) := p_source_91;
94066 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
94067 l_rec_acct_attrs.array_char_value(11) := p_source_106;
94068 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
94069 l_rec_acct_attrs.array_num_value(12) := p_source_109;
94070 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
94071 l_rec_acct_attrs.array_char_value(13) := p_source_68;
94072 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
94073 l_rec_acct_attrs.array_char_value(14) := p_source_71;
94074 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
94075 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
94076 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
94077 l_rec_acct_attrs.array_char_value(16) := p_source_43;
94078 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
94079 l_rec_acct_attrs.array_num_value(17) := p_source_74;
94080 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
94081 l_rec_acct_attrs.array_num_value(18) := p_source_74;
94082 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
94083 l_rec_acct_attrs.array_num_value(19) := p_source_76;
94084
94085 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
94086 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
94087
94088 ---------------------------------------------------------------------------------------------------------------
94089 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
94090 ---------------------------------------------------------------------------------------------------------------
94091 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
94092
94093 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94094 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94095
94096 IF xla_accounting_cache_pkg.GetValueChar
94097 (p_source_code => 'LEDGER_CATEGORY_CODE'
94098 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
94099 AND l_bflow_method_code = 'PRIOR_ENTRY'
94100 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
94101 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
94102 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
94103 )
94104 THEN
94105 xla_ae_lines_pkg.BflowUpgEntry
94106 (p_business_method_code => l_bflow_method_code
94107 ,p_business_class_code => l_bflow_class_code
94108 ,p_balance_type => l_balance_type_code);
94109 ELSE
94110 NULL;
94111 XLA_AE_LINES_PKG.business_flow_validation(
94112 p_business_method_code => l_bflow_method_code
94113 ,p_business_class_code => l_bflow_class_code
94114 ,p_inherit_description_flag => l_inherit_desc_flag);
94115 END IF;
94116
94117 --
94118 -- call analytical criteria
94119 --
94123 --
94120 -- Inherited Analytical Criteria for business flow method of Prior Entry.
94121 --
94122 -- call description
94124 -- No description or it is inherited.
94125 --
94126 -- call ADRs
94127 -- Bug 4922099
94128 --
94129 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94130 (NVL(l_actual_upg_option, 'N') = 'O') OR
94131 (NVL(l_enc_upg_option, 'N') = 'O')
94132 )
94133 THEN
94134 NULL;
94135 --
94136 --
94137
94138 --
94139 --
94140 END IF;
94141 --
94142 -- Bug 4922099
94143 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
94144 (NVL(l_enc_upg_option, 'N') = 'O')
94145 ) AND
94146 (l_bflow_method_code = 'PRIOR_ENTRY')
94147 )
94148 THEN
94149 IF
94150 --
94151 1 = 1
94152 --
94153 THEN
94154 xla_accounting_err_pkg.build_message
94155 (p_appli_s_name => 'XLA'
94156 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94157 ,p_token_1 => 'LINE_NUMBER'
94158 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
94159 ,p_token_2 => 'LINE_TYPE_NAME'
94160 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
94161 l_component_type
94162 ,l_component_code
94163 ,l_component_type_code
94164 ,l_component_appl_id
94165 ,l_amb_context_code
94166 ,l_entity_code
94167 ,l_event_class_code
94168 )
94169 ,p_token_3 => 'OWNER'
94170 ,p_value_3 => xla_lookups_pkg.get_meaning(
94171 p_lookup_type => 'XLA_OWNER_TYPE'
94172 ,p_lookup_code => l_component_type_code
94173 )
94174 ,p_token_4 => 'PRODUCT_NAME'
94175 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
94176 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
94177 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
94178 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
94179 ,p_ae_header_id => NULL
94180 );
94181
94182 IF (C_LEVEL_ERROR>= g_log_level) THEN
94183 trace
94184 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94185 ,p_level => C_LEVEL_ERROR
94186 ,p_module => l_log_module);
94187 END IF;
94188 END IF;
94189 END IF;
94190 --
94191 --
94192 ------------------------------------------------------------------------------------------------
94193 -- 4219869 Business Flow
94194 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
94195 -- Prior Entry. Currently, the following code is always generated.
94196 ------------------------------------------------------------------------------------------------
94197 -- No ValidateCurrentLine for business flow method of Prior Entry
94198
94199 ------------------------------------------------------------------------------------
94200 -- 4219869 Business Flow
94201 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
94202 ------------------------------------------------------------------------------------
94203 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94204
94205 ----------------------------------------------------------------------------------
94206 -- 4219869 Business Flow
94207 -- Update journal entry status -- Need to generate this within IF <condition>
94208 ----------------------------------------------------------------------------------
94209 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94210 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
94211 ,p_balance_type_code => l_balance_type_code
94212 );
94213
94214 -------------------------------------------------------------------------------------------
94215 -- 4262811 - Generate the Accrual Reversal lines
94216 -------------------------------------------------------------------------------------------
94217 BEGIN
94218 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
94219 (g_array_event(p_event_id).array_value_num('header_index'));
94220 IF l_acc_rev_flag IS NULL THEN
94221 l_acc_rev_flag := 'N';
94222 END IF;
94226 END;
94223 EXCEPTION
94224 WHEN OTHERS THEN
94225 l_acc_rev_flag := 'N';
94227 --
94228 IF (l_acc_rev_flag = 'Y') THEN
94229
94230 -- 4645092 ------------------------------------------------------------------------------
94231 -- To allow MPA report to determine if it should generate report process
94232 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
94233 ------------------------------------------------------------------------------------------
94234
94235 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
94236 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
94237 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
94238 -- call ADRs
94239 -- Bug 4922099
94240 --
94241 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94242 (NVL(l_actual_upg_option, 'N') = 'O') OR
94243 (NVL(l_enc_upg_option, 'N') = 'O')
94244 )
94245 THEN
94246 NULL;
94247 --
94248 --
94249
94250 --
94251 --
94252 END IF;
94253
94254 --
94255 -- Update the line information that should be overwritten
94256 --
94257 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
94258 p_header_num => 1);
94259 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
94260
94261 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
94262
94263 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
94264 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
94265 END IF;
94266
94267 --
94268 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
94269 --
94270 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
94271 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
94272 ELSE
94273 ---------------------------------------------------------------------------------------------------
94274 -- 4262811a Switch Sign
94275 ---------------------------------------------------------------------------------------------------
94276 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
94277 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94278 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94279 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94280 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94281 -- 5132302
94282 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
94283 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94284
94285 END IF;
94286
94287 -- 4955764
94288 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94289 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
94290
94291
94292 XLA_AE_LINES_PKG.ValidateCurrentLine;
94293 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94294
94295 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94296 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
94297 ,p_balance_type_code => l_balance_type_code);
94298
94299 END IF;
94300
94301 -----------------------------------------------------------------------------------------
94302 -- 4262811 Multiperiod Accounting
94303 -----------------------------------------------------------------------------------------
94304 -- No MPA option is assigned.
94305
94306
94307 END IF;
94308 END IF;
94309 --
94310
94311 --
94312 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94313 trace
94314 (p_msg => 'END of AcctLineType_167'
94315 ,p_level => C_LEVEL_PROCEDURE
94316 ,p_module => l_log_module);
94317 END IF;
94318 --
94319 EXCEPTION
94320 WHEN xla_exceptions_pkg.application_exception THEN
94321 RAISE;
94322 WHEN OTHERS THEN
94323 xla_exceptions_pkg.raise_message
94324 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_167');
94325 END AcctLineType_167;
94326 --
94327
94328 ---------------------------------------
94329 --
94330 -- PRIVATE FUNCTION
94331 -- AcctLineType_168
94332 --
94333 ---------------------------------------
94334 PROCEDURE AcctLineType_168 (
94335 p_application_id IN NUMBER
94336 ,p_event_id IN NUMBER
94337 ,p_calculate_acctd_flag IN VARCHAR2
94338 ,p_calculate_g_l_flag IN VARCHAR2
94339 ,p_actual_flag IN OUT VARCHAR2
94340 ,p_balance_type_code OUT VARCHAR2
94341 ,p_gain_or_loss_ref OUT VARCHAR2
94342
94343 --Invoice Distribution Description
94344 , p_source_1 IN VARCHAR2
94345 --Automatic Offsets Value
94346 , p_source_3 IN VARCHAR2
94350 --Invoice Liability Account
94347 , p_source_3_meaning IN VARCHAR2
94348 --Invoice Distribution Ledger Amount
94349 , p_source_9 IN NUMBER
94351 , p_source_22 IN NUMBER
94352 --Accounting Reversal Indicator
94353 , p_source_41 IN VARCHAR2
94354 --Distribution Link Type
94355 , p_source_43 IN VARCHAR2
94356 --Allocation to Main Distribution Identifier
94357 , p_source_45 IN NUMBER
94358 --Invoice Identifier
94359 , p_source_46 IN NUMBER
94360 --Invoice Distribution Identifier
94361 , p_source_52 IN NUMBER
94362 --Payables Encumbrance Upgrade Credit Account
94363 , p_source_53 IN NUMBER
94364 --Payables Encumbrance Upgrade Credit Amount
94365 , p_source_54 IN NUMBER
94366 --Invoice Currency Code
94367 , p_source_55 IN VARCHAR2
94368 --Payables Encumbrance Upgrade Credit Base Amount
94369 , p_source_56 IN NUMBER
94370 --Payables Encumbrance Upgrade Debit Account
94371 , p_source_57 IN NUMBER
94372 --Payables Encumbrance Upgrade Debit Amount
94373 , p_source_58 IN NUMBER
94374 --Payables Encumbrance Upgrade Debit Base Amount
94375 , p_source_59 IN NUMBER
94376 --Payables Encumbrance Upgrade Option
94377 , p_source_60 IN VARCHAR2
94378 --Invoice Distribution Amount
94379 , p_source_61 IN NUMBER
94380 --Deferred Accounting End Date
94381 , p_source_65 IN DATE
94382 --Deferred Accounting Option
94383 , p_source_66 IN VARCHAR2
94384 --Deferred Accounting Start Date
94385 , p_source_67 IN DATE
94386 --Override Accounted Amount Indicator
94387 , p_source_68 IN VARCHAR2
94388 , p_source_68_meaning IN VARCHAR2
94389 --Invoice Supplier Identifier
94390 , p_source_69 IN NUMBER
94391 --Invoice Supplier Site Identifier
94392 , p_source_70 IN NUMBER
94393 --Third Party Type
94394 , p_source_71 IN VARCHAR2
94395 --Parent Reversal Identifier
94396 , p_source_72 IN NUMBER
94397 --Invoice Distribution Statistical Amount
94398 , p_source_73 IN NUMBER
94399 --Invoice Distribution Tax Line Identifier
94400 , p_source_74 IN NUMBER
94401 --Invoice Distribution Tax Distribution Identifier from Tax
94402 , p_source_75 IN NUMBER
94403 --Invoice Distribution Summary Tax Line Identifier
94404 , p_source_76 IN NUMBER
94405 --Payables Upgrade Credit Encumbrance Type Identifier
94406 , p_source_77 IN NUMBER
94407 --Payables Upgrade Debit Encumbrance Type Identifier
94408 , p_source_78 IN NUMBER
94409 --Business Flow Accounts Payable Application Identifier
94410 , p_source_79 IN NUMBER
94411 --Business Flow Invoice Distribution Type
94412 , p_source_80 IN VARCHAR2
94413 --Business Flow Invoice Entity Code
94414 , p_source_81 IN VARCHAR2
94415 --Business Flow Invoice Distribution Identifier
94416 , p_source_82 IN NUMBER
94417 --Business Flow Invoice Identifier
94418 , p_source_83 IN NUMBER
94419 --Self-Assessed Tax Flag
94420 , p_source_135 IN VARCHAR2
94421 , p_source_135_meaning IN VARCHAR2
94422 --Invoice Exchange Date
94423 , p_source_136 IN DATE
94424 --Invoice Exchange Rate
94425 , p_source_137 IN NUMBER
94426 --Invoice Exchange Rate Type
94427 , p_source_138 IN VARCHAR2
94428 )
94429 IS
94430
94431 l_component_type VARCHAR2(80);
94432 l_component_code VARCHAR2(30);
94433 l_component_type_code VARCHAR2(1);
94434 l_component_appl_id INTEGER;
94435 l_amb_context_code VARCHAR2(30);
94436 l_entity_code VARCHAR2(30);
94437 l_event_class_code VARCHAR2(30);
94438 l_ae_header_id NUMBER;
94439 l_event_type_code VARCHAR2(30);
94440 l_line_definition_code VARCHAR2(30);
94441 l_line_definition_owner_code VARCHAR2(1);
94442 --
94443 -- adr variables
94444 l_segment VARCHAR2(30);
94445 l_ccid NUMBER;
94446 l_adr_transaction_coa_id NUMBER;
94447 l_adr_accounting_coa_id NUMBER;
94448 l_adr_flexfield_segment_code VARCHAR2(30);
94449 l_adr_flex_value_set_id NUMBER;
94450 l_adr_value_type_code VARCHAR2(30);
94451 l_adr_value_combination_id NUMBER;
94452 l_adr_value_segment_code VARCHAR2(30);
94453
94454 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
94455 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
94456 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
94457 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
94458
94459 -- 4262811 Variables ------------------------------------------------------------------------------------------
94460 l_entered_amt_idx NUMBER;
94461 l_accted_amt_idx NUMBER;
94462 l_acc_rev_flag VARCHAR2(1);
94463 l_accrual_line_num NUMBER;
94464 l_tmp_amt NUMBER;
94465 l_acc_rev_natural_side_code VARCHAR2(1);
94466
94467 l_num_entries NUMBER;
94468 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
94469 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
94470 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
94474
94471 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
94472 l_recog_line_1 NUMBER;
94473 l_recog_line_2 NUMBER;
94475 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
94476 l_bflow_applied_to_amt NUMBER; -- 5132302
94477 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
94478
94479 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
94480
94481 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
94482 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
94483
94484 ---------------------------------------------------------------------------------------------------------------
94485
94486
94487 --
94488 -- bulk performance
94489 --
94490 l_balance_type_code VARCHAR2(1);
94491 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
94492 l_log_module VARCHAR2(240);
94493
94494 --
94495 -- Upgrade strategy
94496 --
94497 l_actual_upg_option VARCHAR2(1);
94498 l_enc_upg_option VARCHAR2(1);
94499
94500 --
94501 BEGIN
94502 --
94503 IF g_log_enabled THEN
94504 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_168';
94505 END IF;
94506 --
94507 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
94508
94509 trace
94510 (p_msg => 'BEGIN of AcctLineType_168'
94511 ,p_level => C_LEVEL_PROCEDURE
94512 ,p_module => l_log_module);
94513
94514 END IF;
94515 --
94516 l_component_type := 'AMB_JLT';
94517 l_component_code := 'AP_LIAB_CM';
94518 l_component_type_code := 'S';
94519 l_component_appl_id := 200;
94520 l_amb_context_code := 'DEFAULT';
94521 l_entity_code := 'AP_INVOICES';
94522 l_event_class_code := 'CREDIT MEMOS';
94523 l_event_type_code := 'CREDIT MEMOS_ALL';
94524 l_line_definition_owner_code := 'S';
94525 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
94526 --
94527 l_balance_type_code := 'A';
94528 l_segment := NULL;
94529 l_ccid := NULL;
94530 l_adr_transaction_coa_id := NULL;
94531 l_adr_accounting_coa_id := NULL;
94532 l_adr_flexfield_segment_code := NULL;
94533 l_adr_flex_value_set_id := NULL;
94534 l_adr_value_type_code := NULL;
94535 l_adr_value_combination_id := NULL;
94536 l_adr_value_segment_code := NULL;
94537
94538 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
94539 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
94540 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
94541 l_budgetary_control_flag := 'N';
94542
94543 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94544 l_bflow_applied_to_amt := NULL; -- 5132302
94545 l_entered_amt_idx := NULL; -- 4262811
94546 l_accted_amt_idx := NULL; -- 4262811
94547 l_acc_rev_flag := NULL; -- 4262811
94548 l_accrual_line_num := NULL; -- 4262811
94549 l_tmp_amt := NULL; -- 4262811
94550 --
94551
94552 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
94553 l_balance_type_code <> 'B' THEN
94554 IF (NVL(p_source_3,'
94555 ') <> 'BALANCING_SEGMENT' AND
94556 NVL(p_source_3,'
94557 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
94558 NVL(p_source_135,'
94559 ') <> 'Y'
94560 THEN
94561
94562 --
94563 XLA_AE_LINES_PKG.SetNewLine;
94564
94565 p_balance_type_code := l_balance_type_code;
94566 -- set the flag so later we will know whether the gain loss line needs to be created
94567
94568 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
94569 p_actual_flag :='A';
94570 END IF;
94571
94572 --
94573 -- bulk performance
94574 --
94575 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
94576 p_header_num => 0); -- 4262811
94577 --
94578 -- set accounting line options
94579 --
94580 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
94581 p_natural_side_code => 'C'
94582 , p_gain_or_loss_flag => 'N'
94583 , p_gl_transfer_mode_code => 'S'
94584 , p_acct_entry_type_code => 'A'
94585 , p_switch_side_flag => 'Y'
94586 , p_merge_duplicate_code => 'A'
94587 );
94588 --
94589 l_acc_rev_natural_side_code := 'D'; -- 4262811
94590 --
94591 --
94592 -- set accounting line type info
94593 --
94594 xla_ae_lines_pkg.SetAcctLineType
94595 (p_component_type => l_component_type
94596 ,p_event_type_code => l_event_type_code
94597 ,p_line_definition_owner_code => l_line_definition_owner_code
94598 ,p_line_definition_code => l_line_definition_code
94599 ,p_accounting_line_code => l_component_code
94600 ,p_accounting_line_type_code => l_component_type_code
94601 ,p_accounting_line_appl_id => l_component_appl_id
94602 ,p_amb_context_code => l_amb_context_code
94603 ,p_entity_code => l_entity_code
94607 --
94604 ,p_event_class_code => l_event_class_code);
94605 --
94606 -- set accounting class
94608 xla_ae_lines_pkg.SetAcctClass(
94609 p_accounting_class_code => 'LIABILITY'
94610 , p_ae_header_id => l_ae_header_id
94611 );
94612
94613 --
94614 -- set rounding class
94615 --
94616 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
94617 'LIABILITY';
94618
94619 --
94620 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
94621 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
94622 --
94623 -- bulk performance
94624 --
94625 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
94626
94627 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
94628 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
94629
94630 -- 4955764
94631 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
94632 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
94633
94634 -- 4458381 Public Sector Enh
94635
94636 --
94637 -- set accounting attributes for the line type
94638 --
94639 l_entered_amt_idx := 23;
94640 l_accted_amt_idx := 28;
94641 l_bflow_applied_to_amt_idx := NULL; -- 5132302
94642 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
94643 l_rec_acct_attrs.array_char_value(1) := p_source_41;
94644 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
94645 l_rec_acct_attrs.array_num_value(2) :=
94646 xla_ae_sources_pkg.GetSystemSourceNum(
94647 p_source_code => 'XLA_EVENT_APPL_ID'
94648 , p_source_type_code => 'Y'
94649 , p_source_application_id => 602
94650 );
94651 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
94652 l_rec_acct_attrs.array_char_value(3) := p_source_43;
94653 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
94654 l_rec_acct_attrs.array_char_value(4) :=
94655 xla_ae_sources_pkg.GetSystemSourceChar(
94656 p_source_code => 'XLA_ENTITY_CODE'
94657 , p_source_type_code => 'Y'
94658 , p_source_application_id => 602
94659 );
94660 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
94661 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
94662 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
94663 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
94664 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
94665 l_rec_acct_attrs.array_num_value(7) := p_source_79;
94666 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
94667 l_rec_acct_attrs.array_char_value(8) := p_source_80;
94668 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
94669 l_rec_acct_attrs.array_char_value(9) := p_source_81;
94670 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
94671 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
94672 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
94673 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
94674 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
94675 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
94676 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
94677 l_rec_acct_attrs.array_char_value(13) := p_source_43;
94678 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
94679 l_rec_acct_attrs.array_num_value(14) := p_source_53;
94680 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
94681 l_rec_acct_attrs.array_num_value(15) := p_source_54;
94682 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
94683 l_rec_acct_attrs.array_char_value(16) := p_source_55;
94684 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
94685 l_rec_acct_attrs.array_num_value(17) := p_source_56;
94686 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
94687 l_rec_acct_attrs.array_num_value(18) := p_source_57;
94688 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
94689 l_rec_acct_attrs.array_num_value(19) := p_source_58;
94690 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
94691 l_rec_acct_attrs.array_char_value(20) := p_source_55;
94692 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
94693 l_rec_acct_attrs.array_num_value(21) := p_source_59;
94694 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
94695 l_rec_acct_attrs.array_char_value(22) := p_source_60;
94696 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
94697 l_rec_acct_attrs.array_num_value(23) := p_source_61;
94698 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
94699 l_rec_acct_attrs.array_char_value(24) := p_source_55;
94700 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
94701 l_rec_acct_attrs.array_date_value(25) := p_source_136;
94702 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
94703 l_rec_acct_attrs.array_num_value(26) := p_source_137;
94704 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
94708 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
94705 l_rec_acct_attrs.array_char_value(27) := p_source_138;
94706 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
94707 l_rec_acct_attrs.array_num_value(28) := p_source_9;
94709 l_rec_acct_attrs.array_date_value(29) := p_source_65;
94710 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
94711 l_rec_acct_attrs.array_char_value(30) := p_source_66;
94712 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
94713 l_rec_acct_attrs.array_date_value(31) := p_source_67;
94714 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
94715 l_rec_acct_attrs.array_char_value(32) := p_source_68;
94716 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
94717 l_rec_acct_attrs.array_num_value(33) := p_source_69;
94718 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
94719 l_rec_acct_attrs.array_num_value(34) := p_source_70;
94720 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
94721 l_rec_acct_attrs.array_char_value(35) := p_source_71;
94722 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
94723 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
94724 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
94725 l_rec_acct_attrs.array_char_value(37) := p_source_43;
94726 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
94727 l_rec_acct_attrs.array_num_value(38) := p_source_73;
94728 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
94729 l_rec_acct_attrs.array_num_value(39) := p_source_74;
94730 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
94731 l_rec_acct_attrs.array_num_value(40) := p_source_75;
94732 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
94733 l_rec_acct_attrs.array_num_value(41) := p_source_76;
94734 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
94735 l_rec_acct_attrs.array_num_value(42) := p_source_77;
94736 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
94737 l_rec_acct_attrs.array_num_value(43) := p_source_78;
94738
94739 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
94740 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
94741
94742 ---------------------------------------------------------------------------------------------------------------
94743 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
94744 ---------------------------------------------------------------------------------------------------------------
94745 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
94746
94747 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94748 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
94749
94750 IF xla_accounting_cache_pkg.GetValueChar
94751 (p_source_code => 'LEDGER_CATEGORY_CODE'
94752 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
94753 AND l_bflow_method_code = 'PRIOR_ENTRY'
94754 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
94755 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
94756 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
94757 )
94758 THEN
94759 xla_ae_lines_pkg.BflowUpgEntry
94760 (p_business_method_code => l_bflow_method_code
94761 ,p_business_class_code => l_bflow_class_code
94762 ,p_balance_type => l_balance_type_code);
94763 ELSE
94764 NULL;
94765 -- No business flow processing for business flow method of NONE.
94766 END IF;
94767
94768 --
94769 -- call analytical criteria
94770 --
94771
94772 --
94773 -- call description
94774 --
94775
94776 xla_ae_lines_pkg.SetLineDescription(
94777 p_ae_header_id => l_ae_header_id
94778 ,p_description => Description_2 (
94779 p_application_id => p_application_id
94780 , p_ae_header_id => l_ae_header_id
94781 , p_source_1 => p_source_1
94782 )
94783 );
94784
94785
94786 --
94787 -- call ADRs
94788 -- Bug 4922099
94789 --
94790 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94791 (NVL(l_actual_upg_option, 'N') = 'O') OR
94792 (NVL(l_enc_upg_option, 'N') = 'O')
94793 )
94794 THEN
94795 NULL;
94796 --
94797 --
94798
94799 l_ccid := AcctDerRule_33(
94800 p_application_id => p_application_id
94801 , p_ae_header_id => l_ae_header_id
94802 , p_source_22 => p_source_22
94803 , x_transaction_coa_id => l_adr_transaction_coa_id
94804 , x_accounting_coa_id => l_adr_accounting_coa_id
94805 , x_value_type_code => l_adr_value_type_code
94806 , p_side => 'NA'
94807 );
94808
94809 xla_ae_lines_pkg.set_ccid(
94810 p_code_combination_id => l_ccid
94811 , p_value_type_code => l_adr_value_type_code
94812 , p_transaction_coa_id => l_adr_transaction_coa_id
94813 , p_accounting_coa_id => l_adr_accounting_coa_id
94814 , p_adr_code => 'AP_LIAB'
94815 , p_adr_type_code => 'S'
94816 , p_component_type => l_component_type
94820 , p_amb_context_code => l_amb_context_code
94817 , p_component_code => l_component_code
94818 , p_component_type_code => l_component_type_code
94819 , p_component_appl_id => l_component_appl_id
94821 , p_side => 'NA'
94822 );
94823
94824
94825 --
94826 --
94827 END IF;
94828 --
94829 -- Bug 4922099
94830 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
94831 (NVL(l_enc_upg_option, 'N') = 'O')
94832 ) AND
94833 (l_bflow_method_code = 'PRIOR_ENTRY')
94834 )
94835 THEN
94836 IF
94837 --
94838 1 = 2
94839 --
94840 THEN
94841 xla_accounting_err_pkg.build_message
94842 (p_appli_s_name => 'XLA'
94843 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94844 ,p_token_1 => 'LINE_NUMBER'
94845 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
94846 ,p_token_2 => 'LINE_TYPE_NAME'
94847 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
94848 l_component_type
94849 ,l_component_code
94850 ,l_component_type_code
94851 ,l_component_appl_id
94852 ,l_amb_context_code
94853 ,l_entity_code
94854 ,l_event_class_code
94855 )
94856 ,p_token_3 => 'OWNER'
94857 ,p_value_3 => xla_lookups_pkg.get_meaning(
94858 p_lookup_type => 'XLA_OWNER_TYPE'
94859 ,p_lookup_code => l_component_type_code
94860 )
94861 ,p_token_4 => 'PRODUCT_NAME'
94862 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
94863 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
94864 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
94865 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
94866 ,p_ae_header_id => NULL
94867 );
94868
94869 IF (C_LEVEL_ERROR>= g_log_level) THEN
94870 trace
94871 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
94872 ,p_level => C_LEVEL_ERROR
94873 ,p_module => l_log_module);
94874 END IF;
94875 END IF;
94876 END IF;
94877 --
94878 --
94879 ------------------------------------------------------------------------------------------------
94880 -- 4219869 Business Flow
94881 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
94882 -- Prior Entry. Currently, the following code is always generated.
94883 ------------------------------------------------------------------------------------------------
94884 XLA_AE_LINES_PKG.ValidateCurrentLine;
94885
94886 ------------------------------------------------------------------------------------
94887 -- 4219869 Business Flow
94888 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
94889 ------------------------------------------------------------------------------------
94890 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
94891
94892 ----------------------------------------------------------------------------------
94893 -- 4219869 Business Flow
94894 -- Update journal entry status -- Need to generate this within IF <condition>
94895 ----------------------------------------------------------------------------------
94896 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
94897 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
94898 ,p_balance_type_code => l_balance_type_code
94899 );
94900
94901 -------------------------------------------------------------------------------------------
94902 -- 4262811 - Generate the Accrual Reversal lines
94903 -------------------------------------------------------------------------------------------
94904 BEGIN
94905 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
94906 (g_array_event(p_event_id).array_value_num('header_index'));
94907 IF l_acc_rev_flag IS NULL THEN
94908 l_acc_rev_flag := 'N';
94909 END IF;
94910 EXCEPTION
94911 WHEN OTHERS THEN
94912 l_acc_rev_flag := 'N';
94913 END;
94914 --
94918 -- To allow MPA report to determine if it should generate report process
94915 IF (l_acc_rev_flag = 'Y') THEN
94916
94917 -- 4645092 ------------------------------------------------------------------------------
94919 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
94920 ------------------------------------------------------------------------------------------
94921
94922 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
94923 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
94924 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
94925 -- call ADRs
94926 -- Bug 4922099
94927 --
94928 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
94929 (NVL(l_actual_upg_option, 'N') = 'O') OR
94930 (NVL(l_enc_upg_option, 'N') = 'O')
94931 )
94932 THEN
94933 NULL;
94934 --
94935 --
94936
94937 l_ccid := AcctDerRule_33(
94938 p_application_id => p_application_id
94939 , p_ae_header_id => l_ae_header_id
94940 , p_source_22 => p_source_22
94941 , x_transaction_coa_id => l_adr_transaction_coa_id
94942 , x_accounting_coa_id => l_adr_accounting_coa_id
94943 , x_value_type_code => l_adr_value_type_code
94944 , p_side => 'NA'
94945 );
94946
94947 xla_ae_lines_pkg.set_ccid(
94948 p_code_combination_id => l_ccid
94949 , p_value_type_code => l_adr_value_type_code
94950 , p_transaction_coa_id => l_adr_transaction_coa_id
94951 , p_accounting_coa_id => l_adr_accounting_coa_id
94952 , p_adr_code => 'AP_LIAB'
94953 , p_adr_type_code => 'S'
94954 , p_component_type => l_component_type
94955 , p_component_code => l_component_code
94956 , p_component_type_code => l_component_type_code
94957 , p_component_appl_id => l_component_appl_id
94958 , p_amb_context_code => l_amb_context_code
94959 , p_side => 'NA'
94960 );
94961
94962
94963 --
94964 --
94965 END IF;
94966
94967 --
94968 -- Update the line information that should be overwritten
94969 --
94970 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
94971 p_header_num => 1);
94972 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
94973
94974 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
94975
94976 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
94977 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
94978 END IF;
94979
94980 --
94981 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
94982 --
94983 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
94984 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
94985 ELSE
94986 ---------------------------------------------------------------------------------------------------
94987 -- 4262811a Switch Sign
94988 ---------------------------------------------------------------------------------------------------
94989 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
94990 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94991 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94992 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
94993 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94994 -- 5132302
94995 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
94996 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
94997
94998 END IF;
94999
95000 -- 4955764
95001 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95002 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
95003
95004
95005 XLA_AE_LINES_PKG.ValidateCurrentLine;
95006 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95007
95008 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95009 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
95010 ,p_balance_type_code => l_balance_type_code);
95011
95012 END IF;
95013
95014 -----------------------------------------------------------------------------------------
95015 -- 4262811 Multiperiod Accounting
95016 -----------------------------------------------------------------------------------------
95017 -- No MPA option is assigned.
95018
95019
95020 END IF;
95021 END IF;
95022 --
95023
95024 --
95025 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95026 trace
95027 (p_msg => 'END of AcctLineType_168'
95028 ,p_level => C_LEVEL_PROCEDURE
95032 EXCEPTION
95029 ,p_module => l_log_module);
95030 END IF;
95031 --
95033 WHEN xla_exceptions_pkg.application_exception THEN
95034 RAISE;
95035 WHEN OTHERS THEN
95036 xla_exceptions_pkg.raise_message
95037 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_168');
95038 END AcctLineType_168;
95039 --
95040
95041 ---------------------------------------
95042 --
95043 -- PRIVATE FUNCTION
95044 -- AcctLineType_169
95045 --
95046 ---------------------------------------
95047 PROCEDURE AcctLineType_169 (
95048 p_application_id IN NUMBER
95049 ,p_event_id IN NUMBER
95050 ,p_calculate_acctd_flag IN VARCHAR2
95051 ,p_calculate_g_l_flag IN VARCHAR2
95052 ,p_actual_flag IN OUT VARCHAR2
95053 ,p_balance_type_code OUT VARCHAR2
95054 ,p_gain_or_loss_ref OUT VARCHAR2
95055
95056 --Invoice Distribution Description
95057 , p_source_1 IN VARCHAR2
95058 --Automatic Offsets Value
95059 , p_source_3 IN VARCHAR2
95060 , p_source_3_meaning IN VARCHAR2
95061 --Invoice Distribution Ledger Amount
95062 , p_source_9 IN NUMBER
95063 --Invoice Liability Account
95064 , p_source_22 IN NUMBER
95065 --Accounting Reversal Indicator
95066 , p_source_41 IN VARCHAR2
95067 --Distribution Link Type
95068 , p_source_43 IN VARCHAR2
95069 --Allocation to Main Distribution Identifier
95070 , p_source_45 IN NUMBER
95071 --Invoice Identifier
95072 , p_source_46 IN NUMBER
95073 --Invoice Distribution Identifier
95074 , p_source_52 IN NUMBER
95075 --Payables Encumbrance Upgrade Credit Account
95076 , p_source_53 IN NUMBER
95077 --Payables Encumbrance Upgrade Credit Amount
95078 , p_source_54 IN NUMBER
95079 --Invoice Currency Code
95080 , p_source_55 IN VARCHAR2
95081 --Payables Encumbrance Upgrade Credit Base Amount
95082 , p_source_56 IN NUMBER
95083 --Payables Encumbrance Upgrade Debit Account
95084 , p_source_57 IN NUMBER
95085 --Payables Encumbrance Upgrade Debit Amount
95086 , p_source_58 IN NUMBER
95087 --Payables Encumbrance Upgrade Debit Base Amount
95088 , p_source_59 IN NUMBER
95089 --Payables Encumbrance Upgrade Option
95090 , p_source_60 IN VARCHAR2
95091 --Invoice Distribution Amount
95092 , p_source_61 IN NUMBER
95093 --Deferred Accounting End Date
95094 , p_source_65 IN DATE
95095 --Deferred Accounting Option
95096 , p_source_66 IN VARCHAR2
95097 --Deferred Accounting Start Date
95098 , p_source_67 IN DATE
95099 --Override Accounted Amount Indicator
95100 , p_source_68 IN VARCHAR2
95101 , p_source_68_meaning IN VARCHAR2
95102 --Invoice Supplier Identifier
95103 , p_source_69 IN NUMBER
95104 --Invoice Supplier Site Identifier
95105 , p_source_70 IN NUMBER
95106 --Third Party Type
95107 , p_source_71 IN VARCHAR2
95108 --Parent Reversal Identifier
95109 , p_source_72 IN NUMBER
95110 --Invoice Distribution Statistical Amount
95111 , p_source_73 IN NUMBER
95112 --Invoice Distribution Tax Line Identifier
95113 , p_source_74 IN NUMBER
95114 --Invoice Distribution Tax Distribution Identifier from Tax
95115 , p_source_75 IN NUMBER
95116 --Invoice Distribution Summary Tax Line Identifier
95117 , p_source_76 IN NUMBER
95118 --Payables Upgrade Credit Encumbrance Type Identifier
95119 , p_source_77 IN NUMBER
95120 --Payables Upgrade Debit Encumbrance Type Identifier
95121 , p_source_78 IN NUMBER
95122 --Business Flow Accounts Payable Application Identifier
95123 , p_source_79 IN NUMBER
95124 --Business Flow Invoice Distribution Type
95125 , p_source_80 IN VARCHAR2
95126 --Business Flow Invoice Entity Code
95127 , p_source_81 IN VARCHAR2
95128 --Business Flow Invoice Distribution Identifier
95129 , p_source_82 IN NUMBER
95130 --Business Flow Invoice Identifier
95131 , p_source_83 IN NUMBER
95132 --Self-Assessed Tax Flag
95133 , p_source_135 IN VARCHAR2
95134 , p_source_135_meaning IN VARCHAR2
95135 --Invoice Exchange Date
95136 , p_source_136 IN DATE
95137 --Invoice Exchange Rate
95138 , p_source_137 IN NUMBER
95139 --Invoice Exchange Rate Type
95140 , p_source_138 IN VARCHAR2
95141 )
95142 IS
95143
95144 l_component_type VARCHAR2(80);
95145 l_component_code VARCHAR2(30);
95146 l_component_type_code VARCHAR2(1);
95147 l_component_appl_id INTEGER;
95148 l_amb_context_code VARCHAR2(30);
95149 l_entity_code VARCHAR2(30);
95150 l_event_class_code VARCHAR2(30);
95151 l_ae_header_id NUMBER;
95152 l_event_type_code VARCHAR2(30);
95153 l_line_definition_code VARCHAR2(30);
95154 l_line_definition_owner_code VARCHAR2(1);
95155 --
95156 -- adr variables
95157 l_segment VARCHAR2(30);
95158 l_ccid NUMBER;
95159 l_adr_transaction_coa_id NUMBER;
95160 l_adr_accounting_coa_id NUMBER;
95161 l_adr_flexfield_segment_code VARCHAR2(30);
95162 l_adr_flex_value_set_id NUMBER;
95163 l_adr_value_type_code VARCHAR2(30);
95167 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
95164 l_adr_value_combination_id NUMBER;
95165 l_adr_value_segment_code VARCHAR2(30);
95166
95168 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
95169 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
95170 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
95171
95172 -- 4262811 Variables ------------------------------------------------------------------------------------------
95173 l_entered_amt_idx NUMBER;
95174 l_accted_amt_idx NUMBER;
95175 l_acc_rev_flag VARCHAR2(1);
95176 l_accrual_line_num NUMBER;
95177 l_tmp_amt NUMBER;
95178 l_acc_rev_natural_side_code VARCHAR2(1);
95179
95180 l_num_entries NUMBER;
95181 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
95182 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
95183 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
95184 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
95185 l_recog_line_1 NUMBER;
95186 l_recog_line_2 NUMBER;
95187
95188 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
95189 l_bflow_applied_to_amt NUMBER; -- 5132302
95190 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
95191
95192 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
95193
95194 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
95195 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
95196
95197 ---------------------------------------------------------------------------------------------------------------
95198
95199
95200 --
95201 -- bulk performance
95202 --
95203 l_balance_type_code VARCHAR2(1);
95204 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
95205 l_log_module VARCHAR2(240);
95206
95207 --
95208 -- Upgrade strategy
95209 --
95210 l_actual_upg_option VARCHAR2(1);
95211 l_enc_upg_option VARCHAR2(1);
95212
95213 --
95214 BEGIN
95215 --
95216 IF g_log_enabled THEN
95217 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_169';
95218 END IF;
95219 --
95220 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95221
95222 trace
95223 (p_msg => 'BEGIN of AcctLineType_169'
95224 ,p_level => C_LEVEL_PROCEDURE
95225 ,p_module => l_log_module);
95226
95227 END IF;
95228 --
95229 l_component_type := 'AMB_JLT';
95230 l_component_code := 'AP_LIAB_CM_AOS_AS';
95231 l_component_type_code := 'S';
95232 l_component_appl_id := 200;
95233 l_amb_context_code := 'DEFAULT';
95234 l_entity_code := 'AP_INVOICES';
95235 l_event_class_code := 'CREDIT MEMOS';
95236 l_event_type_code := 'CREDIT MEMOS_ALL';
95237 l_line_definition_owner_code := 'S';
95238 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
95239 --
95240 l_balance_type_code := 'A';
95241 l_segment := NULL;
95242 l_ccid := NULL;
95243 l_adr_transaction_coa_id := NULL;
95244 l_adr_accounting_coa_id := NULL;
95245 l_adr_flexfield_segment_code := NULL;
95246 l_adr_flex_value_set_id := NULL;
95247 l_adr_value_type_code := NULL;
95248 l_adr_value_combination_id := NULL;
95249 l_adr_value_segment_code := NULL;
95250
95251 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
95252 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
95253 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
95254 l_budgetary_control_flag := 'N';
95255
95256 l_bflow_applied_to_amt_idx := NULL; -- 5132302
95257 l_bflow_applied_to_amt := NULL; -- 5132302
95258 l_entered_amt_idx := NULL; -- 4262811
95259 l_accted_amt_idx := NULL; -- 4262811
95260 l_acc_rev_flag := NULL; -- 4262811
95261 l_accrual_line_num := NULL; -- 4262811
95262 l_tmp_amt := NULL; -- 4262811
95263 --
95264
95265 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
95266 l_balance_type_code <> 'B' THEN
95267 IF NVL(p_source_3,'
95268 ') = 'ACCOUNT_SEGMENT_VALUE' AND
95269 NVL(p_source_135,'
95270 ') <> 'Y'
95271 THEN
95272
95273 --
95274 XLA_AE_LINES_PKG.SetNewLine;
95275
95276 p_balance_type_code := l_balance_type_code;
95277 -- set the flag so later we will know whether the gain loss line needs to be created
95278
95279 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
95280 p_actual_flag :='A';
95281 END IF;
95282
95283 --
95284 -- bulk performance
95285 --
95286 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
95287 p_header_num => 0); -- 4262811
95288 --
95289 -- set accounting line options
95290 --
95291 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
95292 p_natural_side_code => 'C'
95293 , p_gain_or_loss_flag => 'N'
95294 , p_gl_transfer_mode_code => 'S'
95298 );
95295 , p_acct_entry_type_code => 'A'
95296 , p_switch_side_flag => 'Y'
95297 , p_merge_duplicate_code => 'A'
95299 --
95300 l_acc_rev_natural_side_code := 'D'; -- 4262811
95301 --
95302 --
95303 -- set accounting line type info
95304 --
95305 xla_ae_lines_pkg.SetAcctLineType
95306 (p_component_type => l_component_type
95307 ,p_event_type_code => l_event_type_code
95308 ,p_line_definition_owner_code => l_line_definition_owner_code
95309 ,p_line_definition_code => l_line_definition_code
95310 ,p_accounting_line_code => l_component_code
95311 ,p_accounting_line_type_code => l_component_type_code
95312 ,p_accounting_line_appl_id => l_component_appl_id
95313 ,p_amb_context_code => l_amb_context_code
95314 ,p_entity_code => l_entity_code
95315 ,p_event_class_code => l_event_class_code);
95316 --
95317 -- set accounting class
95318 --
95319 xla_ae_lines_pkg.SetAcctClass(
95320 p_accounting_class_code => 'LIABILITY'
95321 , p_ae_header_id => l_ae_header_id
95322 );
95323
95324 --
95325 -- set rounding class
95326 --
95327 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
95328 'LIABILITY';
95329
95330 --
95331 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
95332 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
95333 --
95334 -- bulk performance
95335 --
95336 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
95337
95338 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
95339 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
95340
95341 -- 4955764
95342 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95343 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
95344
95345 -- 4458381 Public Sector Enh
95346
95347 --
95348 -- set accounting attributes for the line type
95349 --
95350 l_entered_amt_idx := 23;
95351 l_accted_amt_idx := 28;
95352 l_bflow_applied_to_amt_idx := NULL; -- 5132302
95353 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
95354 l_rec_acct_attrs.array_char_value(1) := p_source_41;
95355 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
95356 l_rec_acct_attrs.array_num_value(2) :=
95357 xla_ae_sources_pkg.GetSystemSourceNum(
95358 p_source_code => 'XLA_EVENT_APPL_ID'
95359 , p_source_type_code => 'Y'
95360 , p_source_application_id => 602
95361 );
95362 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
95363 l_rec_acct_attrs.array_char_value(3) := p_source_43;
95364 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
95365 l_rec_acct_attrs.array_char_value(4) :=
95366 xla_ae_sources_pkg.GetSystemSourceChar(
95367 p_source_code => 'XLA_ENTITY_CODE'
95368 , p_source_type_code => 'Y'
95369 , p_source_application_id => 602
95370 );
95371 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
95372 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
95373 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
95374 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
95375 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
95376 l_rec_acct_attrs.array_num_value(7) := p_source_79;
95377 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
95378 l_rec_acct_attrs.array_char_value(8) := p_source_80;
95379 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
95380 l_rec_acct_attrs.array_char_value(9) := p_source_81;
95381 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
95382 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
95383 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
95384 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
95385 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
95386 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
95387 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
95388 l_rec_acct_attrs.array_char_value(13) := p_source_43;
95389 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
95390 l_rec_acct_attrs.array_num_value(14) := p_source_53;
95391 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
95392 l_rec_acct_attrs.array_num_value(15) := p_source_54;
95393 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
95394 l_rec_acct_attrs.array_char_value(16) := p_source_55;
95395 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
95396 l_rec_acct_attrs.array_num_value(17) := p_source_56;
95397 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
95398 l_rec_acct_attrs.array_num_value(18) := p_source_57;
95399 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
95400 l_rec_acct_attrs.array_num_value(19) := p_source_58;
95404 l_rec_acct_attrs.array_num_value(21) := p_source_59;
95401 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
95402 l_rec_acct_attrs.array_char_value(20) := p_source_55;
95403 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
95405 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
95406 l_rec_acct_attrs.array_char_value(22) := p_source_60;
95407 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
95408 l_rec_acct_attrs.array_num_value(23) := p_source_61;
95409 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
95410 l_rec_acct_attrs.array_char_value(24) := p_source_55;
95411 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
95412 l_rec_acct_attrs.array_date_value(25) := p_source_136;
95413 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
95414 l_rec_acct_attrs.array_num_value(26) := p_source_137;
95415 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
95416 l_rec_acct_attrs.array_char_value(27) := p_source_138;
95417 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
95418 l_rec_acct_attrs.array_num_value(28) := p_source_9;
95419 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
95420 l_rec_acct_attrs.array_date_value(29) := p_source_65;
95421 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
95422 l_rec_acct_attrs.array_char_value(30) := p_source_66;
95423 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
95424 l_rec_acct_attrs.array_date_value(31) := p_source_67;
95425 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
95426 l_rec_acct_attrs.array_char_value(32) := p_source_68;
95427 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
95428 l_rec_acct_attrs.array_num_value(33) := p_source_69;
95429 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
95430 l_rec_acct_attrs.array_num_value(34) := p_source_70;
95431 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
95432 l_rec_acct_attrs.array_char_value(35) := p_source_71;
95433 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
95434 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
95435 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
95436 l_rec_acct_attrs.array_char_value(37) := p_source_43;
95437 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
95438 l_rec_acct_attrs.array_num_value(38) := p_source_73;
95439 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
95440 l_rec_acct_attrs.array_num_value(39) := p_source_74;
95441 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
95442 l_rec_acct_attrs.array_num_value(40) := p_source_75;
95443 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
95444 l_rec_acct_attrs.array_num_value(41) := p_source_76;
95445 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
95446 l_rec_acct_attrs.array_num_value(42) := p_source_77;
95447 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
95448 l_rec_acct_attrs.array_num_value(43) := p_source_78;
95449
95450 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
95451 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
95452
95453 ---------------------------------------------------------------------------------------------------------------
95454 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
95455 ---------------------------------------------------------------------------------------------------------------
95456 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
95457
95458 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95459 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
95460
95461 IF xla_accounting_cache_pkg.GetValueChar
95462 (p_source_code => 'LEDGER_CATEGORY_CODE'
95463 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
95464 AND l_bflow_method_code = 'PRIOR_ENTRY'
95465 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
95466 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
95467 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
95468 )
95469 THEN
95470 xla_ae_lines_pkg.BflowUpgEntry
95471 (p_business_method_code => l_bflow_method_code
95472 ,p_business_class_code => l_bflow_class_code
95473 ,p_balance_type => l_balance_type_code);
95474 ELSE
95475 NULL;
95476 XLA_AE_LINES_PKG.business_flow_validation(
95477 p_business_method_code => l_bflow_method_code
95478 ,p_business_class_code => l_bflow_class_code
95479 ,p_inherit_description_flag => l_inherit_desc_flag);
95480 END IF;
95481
95482 --
95483 -- call analytical criteria
95484 --
95485
95486 --
95487 -- call description
95488 --
95489
95490 xla_ae_lines_pkg.SetLineDescription(
95491 p_ae_header_id => l_ae_header_id
95492 ,p_description => Description_2 (
95493 p_application_id => p_application_id
95494 , p_ae_header_id => l_ae_header_id
95495 , p_source_1 => p_source_1
95496 )
95497 );
95498
95499
95500 --
95504 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95501 -- call ADRs
95502 -- Bug 4922099
95503 --
95505 (NVL(l_actual_upg_option, 'N') = 'O') OR
95506 (NVL(l_enc_upg_option, 'N') = 'O')
95507 )
95508 THEN
95509 NULL;
95510 --
95511 --
95512
95513 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
95514 p_code_combination_id => TO_NUMBER(C_NUM)
95515 , p_value_type_code => NULL
95516 , p_transaction_coa_id => null
95517 , p_accounting_coa_id => null
95518 , p_adr_code => NULL
95519 , p_adr_type_code => NULL
95520 , p_component_type => l_component_type
95521 , p_component_code => l_component_code
95522 , p_component_type_code => l_component_type_code
95523 , p_component_appl_id => l_component_appl_id
95524 , p_amb_context_code => l_amb_context_code
95525 , p_side => NULL
95526 );
95527
95528
95529 -- initialise segments
95530 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95531 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95532 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95533 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95534 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95535 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95536 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95537 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95538 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95539 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95540 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95541 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95542 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95543 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95544 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95545 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95546 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95547 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95548 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95549 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95550 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95551 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95552 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95553 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95554 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95555 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95556 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95557 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95558 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95559 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95560 --
95561
95562 --
95563
95564
95565 l_segment := AcctDerRule_14(
95566 p_application_id => p_application_id
95567 , p_ae_header_id => l_ae_header_id
95568 , p_source_22 => p_source_22
95569 , x_transaction_coa_id => l_adr_transaction_coa_id
95570 , x_accounting_coa_id => l_adr_accounting_coa_id
95571 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95572 , x_flex_value_set_id => l_adr_flex_value_set_id
95573 , x_value_type_code => l_adr_value_type_code
95574 , x_value_combination_id => l_adr_value_combination_id
95575 , x_value_segment_code => l_adr_value_segment_code
95576 , p_side => 'NA'
95577 , p_override_seg_flag => 'Y'
95578 );
95579
95580 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95581
95582 xla_ae_lines_pkg.set_segment(
95583 p_to_segment_code => 'GL_ACCOUNT'
95584 , p_segment_value => l_segment
95585 , p_from_segment_code => l_adr_value_segment_code
95586 , p_from_combination_id => l_adr_value_combination_id
95587 , p_value_type_code => l_adr_value_type_code
95588 , p_transaction_coa_id => l_adr_transaction_coa_id
95589 , p_accounting_coa_id => l_adr_accounting_coa_id
95590 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95591 , p_flex_value_set_id => l_adr_flex_value_set_id
95592 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
95593 , p_adr_type_code => 'S'
95594 , p_component_type => l_component_type
95595 , p_component_code => l_component_code
95599 , p_entity_code => 'AP_INVOICES'
95596 , p_component_type_code => l_component_type_code
95597 , p_component_appl_id => l_component_appl_id
95598 , p_amb_context_code => l_amb_context_code
95600 , p_event_class_code => 'CREDIT MEMOS'
95601 , p_side => 'NA'
95602 );
95603
95604 END IF;
95605
95606 --
95607 --
95608 END IF;
95609 --
95610 -- Bug 4922099
95611 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
95612 (NVL(l_enc_upg_option, 'N') = 'O')
95613 ) AND
95614 (l_bflow_method_code = 'PRIOR_ENTRY')
95615 )
95616 THEN
95617 IF
95618 --
95619 1 = 2
95620 --
95621 THEN
95622 xla_accounting_err_pkg.build_message
95623 (p_appli_s_name => 'XLA'
95624 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95625 ,p_token_1 => 'LINE_NUMBER'
95626 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
95627 ,p_token_2 => 'LINE_TYPE_NAME'
95628 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
95629 l_component_type
95630 ,l_component_code
95631 ,l_component_type_code
95632 ,l_component_appl_id
95633 ,l_amb_context_code
95634 ,l_entity_code
95635 ,l_event_class_code
95636 )
95637 ,p_token_3 => 'OWNER'
95638 ,p_value_3 => xla_lookups_pkg.get_meaning(
95639 p_lookup_type => 'XLA_OWNER_TYPE'
95640 ,p_lookup_code => l_component_type_code
95641 )
95642 ,p_token_4 => 'PRODUCT_NAME'
95643 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
95644 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
95645 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
95646 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
95647 ,p_ae_header_id => NULL
95648 );
95649
95650 IF (C_LEVEL_ERROR>= g_log_level) THEN
95651 trace
95652 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
95653 ,p_level => C_LEVEL_ERROR
95654 ,p_module => l_log_module);
95655 END IF;
95656 END IF;
95657 END IF;
95658 --
95659 --
95660 ------------------------------------------------------------------------------------------------
95661 -- 4219869 Business Flow
95662 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
95663 -- Prior Entry. Currently, the following code is always generated.
95664 ------------------------------------------------------------------------------------------------
95665 XLA_AE_LINES_PKG.ValidateCurrentLine;
95666
95667 ------------------------------------------------------------------------------------
95668 -- 4219869 Business Flow
95669 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
95670 ------------------------------------------------------------------------------------
95671 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95672
95673 ----------------------------------------------------------------------------------
95674 -- 4219869 Business Flow
95675 -- Update journal entry status -- Need to generate this within IF <condition>
95676 ----------------------------------------------------------------------------------
95677 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95678 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
95679 ,p_balance_type_code => l_balance_type_code
95680 );
95681
95682 -------------------------------------------------------------------------------------------
95683 -- 4262811 - Generate the Accrual Reversal lines
95684 -------------------------------------------------------------------------------------------
95685 BEGIN
95686 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
95687 (g_array_event(p_event_id).array_value_num('header_index'));
95688 IF l_acc_rev_flag IS NULL THEN
95689 l_acc_rev_flag := 'N';
95690 END IF;
95691 EXCEPTION
95692 WHEN OTHERS THEN
95696 IF (l_acc_rev_flag = 'Y') THEN
95693 l_acc_rev_flag := 'N';
95694 END;
95695 --
95697
95698 -- 4645092 ------------------------------------------------------------------------------
95699 -- To allow MPA report to determine if it should generate report process
95700 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
95701 ------------------------------------------------------------------------------------------
95702
95703 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
95704 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
95705 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
95706 -- call ADRs
95707 -- Bug 4922099
95708 --
95709 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
95710 (NVL(l_actual_upg_option, 'N') = 'O') OR
95711 (NVL(l_enc_upg_option, 'N') = 'O')
95712 )
95713 THEN
95714 NULL;
95715 --
95716 --
95717
95718 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
95719 p_code_combination_id => TO_NUMBER(C_NUM)
95720 , p_value_type_code => NULL
95721 , p_transaction_coa_id => null
95722 , p_accounting_coa_id => null
95723 , p_adr_code => NULL
95724 , p_adr_type_code => NULL
95725 , p_component_type => l_component_type
95726 , p_component_code => l_component_code
95727 , p_component_type_code => l_component_type_code
95728 , p_component_appl_id => l_component_appl_id
95729 , p_amb_context_code => l_amb_context_code
95730 , p_side => NULL
95731 );
95732
95733
95734 -- initialise segments
95735 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95736 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95737 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95738 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95739 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95740 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95741 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95742 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95743 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95744 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95745 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95746 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95747 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95748 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95749 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95750 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95751 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95752 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95753 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95754 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95755 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95756 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95757 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95758 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95759 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95760 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95761 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95762 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95763 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95764 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
95765 --
95766
95767 --
95768
95769
95770 l_segment := AcctDerRule_14(
95771 p_application_id => p_application_id
95772 , p_ae_header_id => l_ae_header_id
95773 , p_source_22 => p_source_22
95774 , x_transaction_coa_id => l_adr_transaction_coa_id
95775 , x_accounting_coa_id => l_adr_accounting_coa_id
95776 , x_flexfield_segment_code => l_adr_flexfield_segment_code
95777 , x_flex_value_set_id => l_adr_flex_value_set_id
95778 , x_value_type_code => l_adr_value_type_code
95779 , x_value_combination_id => l_adr_value_combination_id
95780 , x_value_segment_code => l_adr_value_segment_code
95781 , p_side => 'NA'
95782 , p_override_seg_flag => 'Y'
95783 );
95784
95785 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
95786
95787 xla_ae_lines_pkg.set_segment(
95788 p_to_segment_code => 'GL_ACCOUNT'
95789 , p_segment_value => l_segment
95793 , p_transaction_coa_id => l_adr_transaction_coa_id
95790 , p_from_segment_code => l_adr_value_segment_code
95791 , p_from_combination_id => l_adr_value_combination_id
95792 , p_value_type_code => l_adr_value_type_code
95794 , p_accounting_coa_id => l_adr_accounting_coa_id
95795 , p_flexfield_segment_code => l_adr_flexfield_segment_code
95796 , p_flex_value_set_id => l_adr_flex_value_set_id
95797 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
95798 , p_adr_type_code => 'S'
95799 , p_component_type => l_component_type
95800 , p_component_code => l_component_code
95801 , p_component_type_code => l_component_type_code
95802 , p_component_appl_id => l_component_appl_id
95803 , p_amb_context_code => l_amb_context_code
95804 , p_entity_code => 'AP_INVOICES'
95805 , p_event_class_code => 'CREDIT MEMOS'
95806 , p_side => 'NA'
95807 );
95808
95809 END IF;
95810
95811 --
95812 --
95813 END IF;
95814
95815 --
95816 -- Update the line information that should be overwritten
95817 --
95818 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
95819 p_header_num => 1);
95820 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
95821
95822 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
95823
95824 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
95825 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
95826 END IF;
95827
95828 --
95829 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
95830 --
95831 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
95832 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
95833 ELSE
95834 ---------------------------------------------------------------------------------------------------
95835 -- 4262811a Switch Sign
95836 ---------------------------------------------------------------------------------------------------
95837 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
95838 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95839 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95840 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
95841 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95842 -- 5132302
95843 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
95844 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
95845
95846 END IF;
95847
95848 -- 4955764
95849 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
95850 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
95851
95852
95853 XLA_AE_LINES_PKG.ValidateCurrentLine;
95854 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
95855
95856 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
95857 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
95858 ,p_balance_type_code => l_balance_type_code);
95859
95860 END IF;
95861
95862 -----------------------------------------------------------------------------------------
95863 -- 4262811 Multiperiod Accounting
95864 -----------------------------------------------------------------------------------------
95865 -- No MPA option is assigned.
95866
95867
95868 END IF;
95869 END IF;
95870 --
95871
95872 --
95873 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
95874 trace
95875 (p_msg => 'END of AcctLineType_169'
95876 ,p_level => C_LEVEL_PROCEDURE
95877 ,p_module => l_log_module);
95878 END IF;
95879 --
95880 EXCEPTION
95881 WHEN xla_exceptions_pkg.application_exception THEN
95882 RAISE;
95883 WHEN OTHERS THEN
95884 xla_exceptions_pkg.raise_message
95885 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_169');
95886 END AcctLineType_169;
95887 --
95888
95889 ---------------------------------------
95890 --
95891 -- PRIVATE FUNCTION
95892 -- AcctLineType_170
95893 --
95894 ---------------------------------------
95895 PROCEDURE AcctLineType_170 (
95896 p_application_id IN NUMBER
95897 ,p_event_id IN NUMBER
95898 ,p_calculate_acctd_flag IN VARCHAR2
95899 ,p_calculate_g_l_flag IN VARCHAR2
95900 ,p_actual_flag IN OUT VARCHAR2
95901 ,p_balance_type_code OUT VARCHAR2
95902 ,p_gain_or_loss_ref OUT VARCHAR2
95903
95904 --Invoice Distribution Description
95905 , p_source_1 IN VARCHAR2
95906 --Automatic Offsets Value
95907 , p_source_3 IN VARCHAR2
95908 , p_source_3_meaning IN VARCHAR2
95912 , p_source_22 IN NUMBER
95909 --Invoice Distribution Ledger Amount
95910 , p_source_9 IN NUMBER
95911 --Invoice Liability Account
95913 --Accounting Reversal Indicator
95914 , p_source_41 IN VARCHAR2
95915 --Distribution Link Type
95916 , p_source_43 IN VARCHAR2
95917 --Allocation to Main Distribution Identifier
95918 , p_source_45 IN NUMBER
95919 --Invoice Identifier
95920 , p_source_46 IN NUMBER
95921 --Invoice Distribution Identifier
95922 , p_source_52 IN NUMBER
95923 --Payables Encumbrance Upgrade Credit Account
95924 , p_source_53 IN NUMBER
95925 --Payables Encumbrance Upgrade Credit Amount
95926 , p_source_54 IN NUMBER
95927 --Invoice Currency Code
95928 , p_source_55 IN VARCHAR2
95929 --Payables Encumbrance Upgrade Credit Base Amount
95930 , p_source_56 IN NUMBER
95931 --Payables Encumbrance Upgrade Debit Account
95932 , p_source_57 IN NUMBER
95933 --Payables Encumbrance Upgrade Debit Amount
95934 , p_source_58 IN NUMBER
95935 --Payables Encumbrance Upgrade Debit Base Amount
95936 , p_source_59 IN NUMBER
95937 --Payables Encumbrance Upgrade Option
95938 , p_source_60 IN VARCHAR2
95939 --Invoice Distribution Amount
95940 , p_source_61 IN NUMBER
95941 --Deferred Accounting End Date
95942 , p_source_65 IN DATE
95943 --Deferred Accounting Option
95944 , p_source_66 IN VARCHAR2
95945 --Deferred Accounting Start Date
95946 , p_source_67 IN DATE
95947 --Override Accounted Amount Indicator
95948 , p_source_68 IN VARCHAR2
95949 , p_source_68_meaning IN VARCHAR2
95950 --Invoice Supplier Identifier
95951 , p_source_69 IN NUMBER
95952 --Invoice Supplier Site Identifier
95953 , p_source_70 IN NUMBER
95954 --Third Party Type
95955 , p_source_71 IN VARCHAR2
95956 --Parent Reversal Identifier
95957 , p_source_72 IN NUMBER
95958 --Invoice Distribution Statistical Amount
95959 , p_source_73 IN NUMBER
95960 --Invoice Distribution Tax Line Identifier
95961 , p_source_74 IN NUMBER
95962 --Invoice Distribution Tax Distribution Identifier from Tax
95963 , p_source_75 IN NUMBER
95964 --Invoice Distribution Summary Tax Line Identifier
95965 , p_source_76 IN NUMBER
95966 --Payables Upgrade Credit Encumbrance Type Identifier
95967 , p_source_77 IN NUMBER
95968 --Payables Upgrade Debit Encumbrance Type Identifier
95969 , p_source_78 IN NUMBER
95970 --Business Flow Accounts Payable Application Identifier
95971 , p_source_79 IN NUMBER
95972 --Business Flow Invoice Distribution Type
95973 , p_source_80 IN VARCHAR2
95974 --Business Flow Invoice Entity Code
95975 , p_source_81 IN VARCHAR2
95976 --Business Flow Invoice Distribution Identifier
95977 , p_source_82 IN NUMBER
95978 --Business Flow Invoice Identifier
95979 , p_source_83 IN NUMBER
95980 --Self-Assessed Tax Flag
95981 , p_source_135 IN VARCHAR2
95982 , p_source_135_meaning IN VARCHAR2
95983 --Invoice Exchange Date
95984 , p_source_136 IN DATE
95985 --Invoice Exchange Rate
95986 , p_source_137 IN NUMBER
95987 --Invoice Exchange Rate Type
95988 , p_source_138 IN VARCHAR2
95989 )
95990 IS
95991
95992 l_component_type VARCHAR2(80);
95993 l_component_code VARCHAR2(30);
95994 l_component_type_code VARCHAR2(1);
95995 l_component_appl_id INTEGER;
95996 l_amb_context_code VARCHAR2(30);
95997 l_entity_code VARCHAR2(30);
95998 l_event_class_code VARCHAR2(30);
95999 l_ae_header_id NUMBER;
96000 l_event_type_code VARCHAR2(30);
96001 l_line_definition_code VARCHAR2(30);
96002 l_line_definition_owner_code VARCHAR2(1);
96003 --
96004 -- adr variables
96005 l_segment VARCHAR2(30);
96006 l_ccid NUMBER;
96007 l_adr_transaction_coa_id NUMBER;
96008 l_adr_accounting_coa_id NUMBER;
96009 l_adr_flexfield_segment_code VARCHAR2(30);
96010 l_adr_flex_value_set_id NUMBER;
96011 l_adr_value_type_code VARCHAR2(30);
96012 l_adr_value_combination_id NUMBER;
96013 l_adr_value_segment_code VARCHAR2(30);
96014
96015 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
96016 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
96017 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
96018 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
96019
96020 -- 4262811 Variables ------------------------------------------------------------------------------------------
96021 l_entered_amt_idx NUMBER;
96022 l_accted_amt_idx NUMBER;
96023 l_acc_rev_flag VARCHAR2(1);
96024 l_accrual_line_num NUMBER;
96025 l_tmp_amt NUMBER;
96026 l_acc_rev_natural_side_code VARCHAR2(1);
96027
96028 l_num_entries NUMBER;
96029 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
96030 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
96031 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
96032 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
96033 l_recog_line_1 NUMBER;
96034 l_recog_line_2 NUMBER;
96035
96039
96036 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
96037 l_bflow_applied_to_amt NUMBER; -- 5132302
96038 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
96040 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
96041
96042 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
96043 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
96044
96045 ---------------------------------------------------------------------------------------------------------------
96046
96047
96048 --
96049 -- bulk performance
96050 --
96051 l_balance_type_code VARCHAR2(1);
96052 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
96053 l_log_module VARCHAR2(240);
96054
96055 --
96056 -- Upgrade strategy
96057 --
96058 l_actual_upg_option VARCHAR2(1);
96059 l_enc_upg_option VARCHAR2(1);
96060
96061 --
96062 BEGIN
96063 --
96064 IF g_log_enabled THEN
96065 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_170';
96066 END IF;
96067 --
96068 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96069
96070 trace
96071 (p_msg => 'BEGIN of AcctLineType_170'
96072 ,p_level => C_LEVEL_PROCEDURE
96073 ,p_module => l_log_module);
96074
96075 END IF;
96076 --
96077 l_component_type := 'AMB_JLT';
96078 l_component_code := 'AP_LIAB_CM_AOS_BS';
96079 l_component_type_code := 'S';
96080 l_component_appl_id := 200;
96081 l_amb_context_code := 'DEFAULT';
96082 l_entity_code := 'AP_INVOICES';
96083 l_event_class_code := 'CREDIT MEMOS';
96084 l_event_type_code := 'CREDIT MEMOS_ALL';
96085 l_line_definition_owner_code := 'S';
96086 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
96087 --
96088 l_balance_type_code := 'A';
96089 l_segment := NULL;
96090 l_ccid := NULL;
96091 l_adr_transaction_coa_id := NULL;
96092 l_adr_accounting_coa_id := NULL;
96093 l_adr_flexfield_segment_code := NULL;
96094 l_adr_flex_value_set_id := NULL;
96095 l_adr_value_type_code := NULL;
96096 l_adr_value_combination_id := NULL;
96097 l_adr_value_segment_code := NULL;
96098
96099 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
96100 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
96101 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
96102 l_budgetary_control_flag := 'N';
96103
96104 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96105 l_bflow_applied_to_amt := NULL; -- 5132302
96106 l_entered_amt_idx := NULL; -- 4262811
96107 l_accted_amt_idx := NULL; -- 4262811
96108 l_acc_rev_flag := NULL; -- 4262811
96109 l_accrual_line_num := NULL; -- 4262811
96110 l_tmp_amt := NULL; -- 4262811
96111 --
96112
96113 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
96114 l_balance_type_code <> 'B' THEN
96115 IF NVL(p_source_3,'
96116 ') = 'BALANCING_SEGMENT' AND
96117 NVL(p_source_135,'
96118 ') <> 'Y'
96119 THEN
96120
96121 --
96122 XLA_AE_LINES_PKG.SetNewLine;
96123
96124 p_balance_type_code := l_balance_type_code;
96125 -- set the flag so later we will know whether the gain loss line needs to be created
96126
96127 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
96128 p_actual_flag :='A';
96129 END IF;
96130
96131 --
96132 -- bulk performance
96133 --
96134 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
96135 p_header_num => 0); -- 4262811
96136 --
96137 -- set accounting line options
96138 --
96139 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
96140 p_natural_side_code => 'C'
96141 , p_gain_or_loss_flag => 'N'
96142 , p_gl_transfer_mode_code => 'S'
96143 , p_acct_entry_type_code => 'A'
96144 , p_switch_side_flag => 'Y'
96145 , p_merge_duplicate_code => 'A'
96146 );
96147 --
96148 l_acc_rev_natural_side_code := 'D'; -- 4262811
96149 --
96150 --
96151 -- set accounting line type info
96152 --
96153 xla_ae_lines_pkg.SetAcctLineType
96154 (p_component_type => l_component_type
96155 ,p_event_type_code => l_event_type_code
96156 ,p_line_definition_owner_code => l_line_definition_owner_code
96157 ,p_line_definition_code => l_line_definition_code
96158 ,p_accounting_line_code => l_component_code
96159 ,p_accounting_line_type_code => l_component_type_code
96160 ,p_accounting_line_appl_id => l_component_appl_id
96161 ,p_amb_context_code => l_amb_context_code
96162 ,p_entity_code => l_entity_code
96163 ,p_event_class_code => l_event_class_code);
96164 --
96165 -- set accounting class
96166 --
96167 xla_ae_lines_pkg.SetAcctClass(
96171
96168 p_accounting_class_code => 'LIABILITY'
96169 , p_ae_header_id => l_ae_header_id
96170 );
96172 --
96173 -- set rounding class
96174 --
96175 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
96176 'LIABILITY';
96177
96178 --
96179 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
96180 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
96181 --
96182 -- bulk performance
96183 --
96184 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
96185
96186 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
96187 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
96188
96189 -- 4955764
96190 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96191 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
96192
96193 -- 4458381 Public Sector Enh
96194
96195 --
96196 -- set accounting attributes for the line type
96197 --
96198 l_entered_amt_idx := 23;
96199 l_accted_amt_idx := 28;
96200 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96201 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
96202 l_rec_acct_attrs.array_char_value(1) := p_source_41;
96203 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
96204 l_rec_acct_attrs.array_num_value(2) :=
96205 xla_ae_sources_pkg.GetSystemSourceNum(
96206 p_source_code => 'XLA_EVENT_APPL_ID'
96207 , p_source_type_code => 'Y'
96208 , p_source_application_id => 602
96209 );
96210 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
96211 l_rec_acct_attrs.array_char_value(3) := p_source_43;
96212 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
96213 l_rec_acct_attrs.array_char_value(4) :=
96214 xla_ae_sources_pkg.GetSystemSourceChar(
96215 p_source_code => 'XLA_ENTITY_CODE'
96216 , p_source_type_code => 'Y'
96217 , p_source_application_id => 602
96218 );
96219 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
96220 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
96221 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
96222 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
96223 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
96224 l_rec_acct_attrs.array_num_value(7) := p_source_79;
96225 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
96226 l_rec_acct_attrs.array_char_value(8) := p_source_80;
96227 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
96228 l_rec_acct_attrs.array_char_value(9) := p_source_81;
96229 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
96230 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
96231 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
96232 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
96233 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
96234 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
96235 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
96236 l_rec_acct_attrs.array_char_value(13) := p_source_43;
96237 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
96238 l_rec_acct_attrs.array_num_value(14) := p_source_53;
96239 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
96240 l_rec_acct_attrs.array_num_value(15) := p_source_54;
96241 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
96242 l_rec_acct_attrs.array_char_value(16) := p_source_55;
96243 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
96244 l_rec_acct_attrs.array_num_value(17) := p_source_56;
96245 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
96246 l_rec_acct_attrs.array_num_value(18) := p_source_57;
96247 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
96248 l_rec_acct_attrs.array_num_value(19) := p_source_58;
96249 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
96250 l_rec_acct_attrs.array_char_value(20) := p_source_55;
96251 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
96252 l_rec_acct_attrs.array_num_value(21) := p_source_59;
96253 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
96254 l_rec_acct_attrs.array_char_value(22) := p_source_60;
96255 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
96256 l_rec_acct_attrs.array_num_value(23) := p_source_61;
96257 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
96258 l_rec_acct_attrs.array_char_value(24) := p_source_55;
96259 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
96260 l_rec_acct_attrs.array_date_value(25) := p_source_136;
96261 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
96262 l_rec_acct_attrs.array_num_value(26) := p_source_137;
96263 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
96264 l_rec_acct_attrs.array_char_value(27) := p_source_138;
96265 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
96269 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
96266 l_rec_acct_attrs.array_num_value(28) := p_source_9;
96267 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
96268 l_rec_acct_attrs.array_date_value(29) := p_source_65;
96270 l_rec_acct_attrs.array_char_value(30) := p_source_66;
96271 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
96272 l_rec_acct_attrs.array_date_value(31) := p_source_67;
96273 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
96274 l_rec_acct_attrs.array_char_value(32) := p_source_68;
96275 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
96276 l_rec_acct_attrs.array_num_value(33) := p_source_69;
96277 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
96278 l_rec_acct_attrs.array_num_value(34) := p_source_70;
96279 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
96280 l_rec_acct_attrs.array_char_value(35) := p_source_71;
96281 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
96282 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
96283 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
96284 l_rec_acct_attrs.array_char_value(37) := p_source_43;
96285 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
96286 l_rec_acct_attrs.array_num_value(38) := p_source_73;
96287 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
96288 l_rec_acct_attrs.array_num_value(39) := p_source_74;
96289 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
96290 l_rec_acct_attrs.array_num_value(40) := p_source_75;
96291 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
96292 l_rec_acct_attrs.array_num_value(41) := p_source_76;
96293 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
96294 l_rec_acct_attrs.array_num_value(42) := p_source_77;
96295 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
96296 l_rec_acct_attrs.array_num_value(43) := p_source_78;
96297
96298 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
96299 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
96300
96301 ---------------------------------------------------------------------------------------------------------------
96302 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
96303 ---------------------------------------------------------------------------------------------------------------
96304 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
96305
96306 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96307 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
96308
96309 IF xla_accounting_cache_pkg.GetValueChar
96310 (p_source_code => 'LEDGER_CATEGORY_CODE'
96311 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
96312 AND l_bflow_method_code = 'PRIOR_ENTRY'
96313 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
96314 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
96315 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
96316 )
96317 THEN
96318 xla_ae_lines_pkg.BflowUpgEntry
96319 (p_business_method_code => l_bflow_method_code
96320 ,p_business_class_code => l_bflow_class_code
96321 ,p_balance_type => l_balance_type_code);
96322 ELSE
96323 NULL;
96324 XLA_AE_LINES_PKG.business_flow_validation(
96325 p_business_method_code => l_bflow_method_code
96326 ,p_business_class_code => l_bflow_class_code
96327 ,p_inherit_description_flag => l_inherit_desc_flag);
96328 END IF;
96329
96330 --
96331 -- call analytical criteria
96332 --
96333
96334 --
96335 -- call description
96336 --
96337
96338 xla_ae_lines_pkg.SetLineDescription(
96339 p_ae_header_id => l_ae_header_id
96340 ,p_description => Description_2 (
96341 p_application_id => p_application_id
96342 , p_ae_header_id => l_ae_header_id
96343 , p_source_1 => p_source_1
96344 )
96345 );
96346
96347
96348 --
96349 -- call ADRs
96350 -- Bug 4922099
96351 --
96352 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96353 (NVL(l_actual_upg_option, 'N') = 'O') OR
96354 (NVL(l_enc_upg_option, 'N') = 'O')
96355 )
96356 THEN
96357 NULL;
96358 --
96359 --
96360
96361 l_ccid := AcctDerRule_33(
96362 p_application_id => p_application_id
96363 , p_ae_header_id => l_ae_header_id
96364 , p_source_22 => p_source_22
96365 , x_transaction_coa_id => l_adr_transaction_coa_id
96366 , x_accounting_coa_id => l_adr_accounting_coa_id
96367 , x_value_type_code => l_adr_value_type_code
96368 , p_side => 'NA'
96369 );
96370
96371 xla_ae_lines_pkg.set_ccid(
96372 p_code_combination_id => l_ccid
96373 , p_value_type_code => l_adr_value_type_code
96374 , p_transaction_coa_id => l_adr_transaction_coa_id
96378 , p_component_type => l_component_type
96375 , p_accounting_coa_id => l_adr_accounting_coa_id
96376 , p_adr_code => 'AP_LIAB'
96377 , p_adr_type_code => 'S'
96379 , p_component_code => l_component_code
96380 , p_component_type_code => l_component_type_code
96381 , p_component_appl_id => l_component_appl_id
96382 , p_amb_context_code => l_amb_context_code
96383 , p_side => 'NA'
96384 );
96385
96386
96387 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
96388 p_to_segment_code => 'GL_BALANCING'
96389 , p_segment_value => C_CHAR
96390 , p_from_segment_code => NULL
96391 , p_from_combination_id => NULL
96392 , p_value_type_code => NULL
96393 , p_transaction_coa_id => null
96394 , p_accounting_coa_id => null
96395 , p_flexfield_segment_code => NULL
96396 , p_flex_value_set_id => NULL
96397 , p_adr_code => NULL
96398 , p_adr_type_code => NULL
96399 , p_component_type => l_component_type
96400 , p_component_code => l_component_code
96401 , p_component_type_code => l_component_type_code
96402 , p_component_appl_id => l_component_appl_id
96403 , p_amb_context_code => l_amb_context_code
96404 , p_entity_code => 'AP_INVOICES'
96405 , p_event_class_code => 'CREDIT MEMOS'
96406 , p_side => 'NA'
96407 );
96408 --
96409
96410
96411 --
96412 --
96413 END IF;
96414 --
96415 -- Bug 4922099
96416 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
96417 (NVL(l_enc_upg_option, 'N') = 'O')
96418 ) AND
96419 (l_bflow_method_code = 'PRIOR_ENTRY')
96420 )
96421 THEN
96422 IF
96423 --
96424 1 = 2
96425 --
96426 THEN
96427 xla_accounting_err_pkg.build_message
96428 (p_appli_s_name => 'XLA'
96429 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96430 ,p_token_1 => 'LINE_NUMBER'
96431 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
96432 ,p_token_2 => 'LINE_TYPE_NAME'
96433 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
96434 l_component_type
96435 ,l_component_code
96436 ,l_component_type_code
96437 ,l_component_appl_id
96438 ,l_amb_context_code
96439 ,l_entity_code
96440 ,l_event_class_code
96441 )
96442 ,p_token_3 => 'OWNER'
96443 ,p_value_3 => xla_lookups_pkg.get_meaning(
96444 p_lookup_type => 'XLA_OWNER_TYPE'
96445 ,p_lookup_code => l_component_type_code
96446 )
96447 ,p_token_4 => 'PRODUCT_NAME'
96448 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
96449 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
96450 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
96451 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
96452 ,p_ae_header_id => NULL
96453 );
96454
96455 IF (C_LEVEL_ERROR>= g_log_level) THEN
96456 trace
96457 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
96458 ,p_level => C_LEVEL_ERROR
96459 ,p_module => l_log_module);
96460 END IF;
96461 END IF;
96462 END IF;
96463 --
96464 --
96465 ------------------------------------------------------------------------------------------------
96466 -- 4219869 Business Flow
96467 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
96468 -- Prior Entry. Currently, the following code is always generated.
96469 ------------------------------------------------------------------------------------------------
96470 XLA_AE_LINES_PKG.ValidateCurrentLine;
96471
96472 ------------------------------------------------------------------------------------
96473 -- 4219869 Business Flow
96474 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
96475 ------------------------------------------------------------------------------------
96479 -- 4219869 Business Flow
96476 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96477
96478 ----------------------------------------------------------------------------------
96480 -- Update journal entry status -- Need to generate this within IF <condition>
96481 ----------------------------------------------------------------------------------
96482 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96483 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
96484 ,p_balance_type_code => l_balance_type_code
96485 );
96486
96487 -------------------------------------------------------------------------------------------
96488 -- 4262811 - Generate the Accrual Reversal lines
96489 -------------------------------------------------------------------------------------------
96490 BEGIN
96491 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
96492 (g_array_event(p_event_id).array_value_num('header_index'));
96493 IF l_acc_rev_flag IS NULL THEN
96494 l_acc_rev_flag := 'N';
96495 END IF;
96496 EXCEPTION
96497 WHEN OTHERS THEN
96498 l_acc_rev_flag := 'N';
96499 END;
96500 --
96501 IF (l_acc_rev_flag = 'Y') THEN
96502
96503 -- 4645092 ------------------------------------------------------------------------------
96504 -- To allow MPA report to determine if it should generate report process
96505 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
96506 ------------------------------------------------------------------------------------------
96507
96508 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
96509 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
96510 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
96511 -- call ADRs
96512 -- Bug 4922099
96513 --
96514 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
96515 (NVL(l_actual_upg_option, 'N') = 'O') OR
96516 (NVL(l_enc_upg_option, 'N') = 'O')
96517 )
96518 THEN
96519 NULL;
96520 --
96521 --
96522
96523 l_ccid := AcctDerRule_33(
96524 p_application_id => p_application_id
96525 , p_ae_header_id => l_ae_header_id
96526 , p_source_22 => p_source_22
96527 , x_transaction_coa_id => l_adr_transaction_coa_id
96528 , x_accounting_coa_id => l_adr_accounting_coa_id
96529 , x_value_type_code => l_adr_value_type_code
96530 , p_side => 'NA'
96531 );
96532
96533 xla_ae_lines_pkg.set_ccid(
96534 p_code_combination_id => l_ccid
96535 , p_value_type_code => l_adr_value_type_code
96536 , p_transaction_coa_id => l_adr_transaction_coa_id
96537 , p_accounting_coa_id => l_adr_accounting_coa_id
96538 , p_adr_code => 'AP_LIAB'
96539 , p_adr_type_code => 'S'
96540 , p_component_type => l_component_type
96541 , p_component_code => l_component_code
96542 , p_component_type_code => l_component_type_code
96543 , p_component_appl_id => l_component_appl_id
96544 , p_amb_context_code => l_amb_context_code
96545 , p_side => 'NA'
96546 );
96547
96548
96549 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
96550 p_to_segment_code => 'GL_BALANCING'
96551 , p_segment_value => C_CHAR
96552 , p_from_segment_code => NULL
96553 , p_from_combination_id => NULL
96554 , p_value_type_code => NULL
96555 , p_transaction_coa_id => null
96556 , p_accounting_coa_id => null
96557 , p_flexfield_segment_code => NULL
96558 , p_flex_value_set_id => NULL
96559 , p_adr_code => NULL
96560 , p_adr_type_code => NULL
96561 , p_component_type => l_component_type
96562 , p_component_code => l_component_code
96563 , p_component_type_code => l_component_type_code
96564 , p_component_appl_id => l_component_appl_id
96565 , p_amb_context_code => l_amb_context_code
96566 , p_entity_code => 'AP_INVOICES'
96567 , p_event_class_code => 'CREDIT MEMOS'
96568 , p_side => 'NA'
96569 );
96570 --
96571
96572
96573 --
96574 --
96575 END IF;
96576
96577 --
96578 -- Update the line information that should be overwritten
96579 --
96580 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
96581 p_header_num => 1);
96582 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
96583
96584 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
96585
96586 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
96587 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
96588 END IF;
96589
96590 --
96591 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
96592 --
96593 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
96597 -- 4262811a Switch Sign
96594 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
96595 ELSE
96596 ---------------------------------------------------------------------------------------------------
96598 ---------------------------------------------------------------------------------------------------
96599 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
96600 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96601 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96602 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
96603 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96604 -- 5132302
96605 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
96606 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
96607
96608 END IF;
96609
96610 -- 4955764
96611 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96612 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
96613
96614
96615 XLA_AE_LINES_PKG.ValidateCurrentLine;
96616 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
96617
96618 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
96619 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
96620 ,p_balance_type_code => l_balance_type_code);
96621
96622 END IF;
96623
96624 -----------------------------------------------------------------------------------------
96625 -- 4262811 Multiperiod Accounting
96626 -----------------------------------------------------------------------------------------
96627 -- No MPA option is assigned.
96628
96629
96630 END IF;
96631 END IF;
96632 --
96633
96634 --
96635 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96636 trace
96637 (p_msg => 'END of AcctLineType_170'
96638 ,p_level => C_LEVEL_PROCEDURE
96639 ,p_module => l_log_module);
96640 END IF;
96641 --
96642 EXCEPTION
96643 WHEN xla_exceptions_pkg.application_exception THEN
96644 RAISE;
96645 WHEN OTHERS THEN
96646 xla_exceptions_pkg.raise_message
96647 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_170');
96648 END AcctLineType_170;
96649 --
96650
96651 ---------------------------------------
96652 --
96653 -- PRIVATE FUNCTION
96654 -- AcctLineType_171
96655 --
96656 ---------------------------------------
96657 PROCEDURE AcctLineType_171 (
96658 p_application_id IN NUMBER
96659 ,p_event_id IN NUMBER
96660 ,p_calculate_acctd_flag IN VARCHAR2
96661 ,p_calculate_g_l_flag IN VARCHAR2
96662 ,p_actual_flag IN OUT VARCHAR2
96663 ,p_balance_type_code OUT VARCHAR2
96664 ,p_gain_or_loss_ref OUT VARCHAR2
96665
96666 --Invoice Distribution Description
96667 , p_source_1 IN VARCHAR2
96668 --Automatic Offsets Value
96669 , p_source_3 IN VARCHAR2
96670 , p_source_3_meaning IN VARCHAR2
96671 --Invoice Distribution Ledger Amount
96672 , p_source_9 IN NUMBER
96673 --Invoice Liability Account
96674 , p_source_22 IN NUMBER
96675 --Accounting Reversal Indicator
96676 , p_source_41 IN VARCHAR2
96677 --Distribution Link Type
96678 , p_source_43 IN VARCHAR2
96679 --Allocation to Main Distribution Identifier
96680 , p_source_45 IN NUMBER
96681 --Invoice Identifier
96682 , p_source_46 IN NUMBER
96683 --Invoice Distribution Identifier
96684 , p_source_52 IN NUMBER
96685 --Payables Encumbrance Upgrade Credit Account
96686 , p_source_53 IN NUMBER
96687 --Payables Encumbrance Upgrade Credit Amount
96688 , p_source_54 IN NUMBER
96689 --Invoice Currency Code
96690 , p_source_55 IN VARCHAR2
96691 --Payables Encumbrance Upgrade Credit Base Amount
96692 , p_source_56 IN NUMBER
96693 --Payables Encumbrance Upgrade Debit Account
96694 , p_source_57 IN NUMBER
96695 --Payables Encumbrance Upgrade Debit Amount
96696 , p_source_58 IN NUMBER
96697 --Payables Encumbrance Upgrade Debit Base Amount
96698 , p_source_59 IN NUMBER
96699 --Payables Encumbrance Upgrade Option
96700 , p_source_60 IN VARCHAR2
96701 --Invoice Distribution Amount
96702 , p_source_61 IN NUMBER
96703 --Deferred Accounting End Date
96704 , p_source_65 IN DATE
96705 --Deferred Accounting Option
96706 , p_source_66 IN VARCHAR2
96707 --Deferred Accounting Start Date
96708 , p_source_67 IN DATE
96709 --Override Accounted Amount Indicator
96710 , p_source_68 IN VARCHAR2
96711 , p_source_68_meaning IN VARCHAR2
96712 --Invoice Supplier Identifier
96713 , p_source_69 IN NUMBER
96714 --Invoice Supplier Site Identifier
96715 , p_source_70 IN NUMBER
96716 --Third Party Type
96717 , p_source_71 IN VARCHAR2
96718 --Parent Reversal Identifier
96719 , p_source_72 IN NUMBER
96720 --Invoice Distribution Tax Line Identifier
96721 , p_source_74 IN NUMBER
96725 , p_source_76 IN NUMBER
96722 --Invoice Distribution Tax Distribution Identifier from Tax
96723 , p_source_75 IN NUMBER
96724 --Invoice Distribution Summary Tax Line Identifier
96726 --Payables Upgrade Credit Encumbrance Type Identifier
96727 , p_source_77 IN NUMBER
96728 --Payables Upgrade Debit Encumbrance Type Identifier
96729 , p_source_78 IN NUMBER
96730 --Business Flow Accounts Payable Application Identifier
96731 , p_source_79 IN NUMBER
96732 --Business Flow Invoice Distribution Type
96733 , p_source_80 IN VARCHAR2
96734 --Business Flow Invoice Entity Code
96735 , p_source_81 IN VARCHAR2
96736 --Business Flow Invoice Distribution Identifier
96737 , p_source_82 IN NUMBER
96738 --Business Flow Invoice Identifier
96739 , p_source_83 IN NUMBER
96740 --Self-Assessed Tax Flag
96741 , p_source_135 IN VARCHAR2
96742 , p_source_135_meaning IN VARCHAR2
96743 --Invoice Exchange Date
96744 , p_source_136 IN DATE
96745 --Invoice Exchange Rate
96746 , p_source_137 IN NUMBER
96747 --Invoice Exchange Rate Type
96748 , p_source_138 IN VARCHAR2
96749 )
96750 IS
96751
96752 l_component_type VARCHAR2(80);
96753 l_component_code VARCHAR2(30);
96754 l_component_type_code VARCHAR2(1);
96755 l_component_appl_id INTEGER;
96756 l_amb_context_code VARCHAR2(30);
96757 l_entity_code VARCHAR2(30);
96758 l_event_class_code VARCHAR2(30);
96759 l_ae_header_id NUMBER;
96760 l_event_type_code VARCHAR2(30);
96761 l_line_definition_code VARCHAR2(30);
96762 l_line_definition_owner_code VARCHAR2(1);
96763 --
96764 -- adr variables
96765 l_segment VARCHAR2(30);
96766 l_ccid NUMBER;
96767 l_adr_transaction_coa_id NUMBER;
96768 l_adr_accounting_coa_id NUMBER;
96769 l_adr_flexfield_segment_code VARCHAR2(30);
96770 l_adr_flex_value_set_id NUMBER;
96771 l_adr_value_type_code VARCHAR2(30);
96772 l_adr_value_combination_id NUMBER;
96773 l_adr_value_segment_code VARCHAR2(30);
96774
96775 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
96776 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
96777 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
96778 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
96779
96780 -- 4262811 Variables ------------------------------------------------------------------------------------------
96781 l_entered_amt_idx NUMBER;
96782 l_accted_amt_idx NUMBER;
96783 l_acc_rev_flag VARCHAR2(1);
96784 l_accrual_line_num NUMBER;
96785 l_tmp_amt NUMBER;
96786 l_acc_rev_natural_side_code VARCHAR2(1);
96787
96788 l_num_entries NUMBER;
96789 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
96790 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
96791 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
96792 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
96793 l_recog_line_1 NUMBER;
96794 l_recog_line_2 NUMBER;
96795
96796 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
96797 l_bflow_applied_to_amt NUMBER; -- 5132302
96798 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
96799
96800 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
96801
96802 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
96803 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
96804
96805 ---------------------------------------------------------------------------------------------------------------
96806
96807
96808 --
96809 -- bulk performance
96810 --
96811 l_balance_type_code VARCHAR2(1);
96812 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
96813 l_log_module VARCHAR2(240);
96814
96815 --
96816 -- Upgrade strategy
96817 --
96818 l_actual_upg_option VARCHAR2(1);
96819 l_enc_upg_option VARCHAR2(1);
96820
96821 --
96822 BEGIN
96823 --
96824 IF g_log_enabled THEN
96825 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_171';
96826 END IF;
96827 --
96828 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
96829
96830 trace
96831 (p_msg => 'BEGIN of AcctLineType_171'
96832 ,p_level => C_LEVEL_PROCEDURE
96833 ,p_module => l_log_module);
96834
96835 END IF;
96836 --
96837 l_component_type := 'AMB_JLT';
96838 l_component_code := 'AP_LIAB_DM';
96839 l_component_type_code := 'S';
96840 l_component_appl_id := 200;
96841 l_amb_context_code := 'DEFAULT';
96842 l_entity_code := 'AP_INVOICES';
96843 l_event_class_code := 'DEBIT MEMOS';
96844 l_event_type_code := 'DEBIT MEMOS_ALL';
96845 l_line_definition_owner_code := 'S';
96846 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
96847 --
96848 l_balance_type_code := 'A';
96849 l_segment := NULL;
96853 l_adr_flexfield_segment_code := NULL;
96850 l_ccid := NULL;
96851 l_adr_transaction_coa_id := NULL;
96852 l_adr_accounting_coa_id := NULL;
96854 l_adr_flex_value_set_id := NULL;
96855 l_adr_value_type_code := NULL;
96856 l_adr_value_combination_id := NULL;
96857 l_adr_value_segment_code := NULL;
96858
96859 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
96860 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
96861 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
96862 l_budgetary_control_flag := 'N';
96863
96864 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96865 l_bflow_applied_to_amt := NULL; -- 5132302
96866 l_entered_amt_idx := NULL; -- 4262811
96867 l_accted_amt_idx := NULL; -- 4262811
96868 l_acc_rev_flag := NULL; -- 4262811
96869 l_accrual_line_num := NULL; -- 4262811
96870 l_tmp_amt := NULL; -- 4262811
96871 --
96872
96873 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
96874 l_balance_type_code <> 'B' THEN
96875 IF (NVL(p_source_3,'
96876 ') <> 'BALANCING_SEGMENT' AND
96877 NVL(p_source_3,'
96878 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
96879 NVL(p_source_135,'
96880 ') <> 'Y'
96881 THEN
96882
96883 --
96884 XLA_AE_LINES_PKG.SetNewLine;
96885
96886 p_balance_type_code := l_balance_type_code;
96887 -- set the flag so later we will know whether the gain loss line needs to be created
96888
96889 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
96890 p_actual_flag :='A';
96891 END IF;
96892
96893 --
96894 -- bulk performance
96895 --
96896 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
96897 p_header_num => 0); -- 4262811
96898 --
96899 -- set accounting line options
96900 --
96901 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
96902 p_natural_side_code => 'C'
96903 , p_gain_or_loss_flag => 'N'
96904 , p_gl_transfer_mode_code => 'S'
96905 , p_acct_entry_type_code => 'A'
96906 , p_switch_side_flag => 'Y'
96907 , p_merge_duplicate_code => 'A'
96908 );
96909 --
96910 l_acc_rev_natural_side_code := 'D'; -- 4262811
96911 --
96912 --
96913 -- set accounting line type info
96914 --
96915 xla_ae_lines_pkg.SetAcctLineType
96916 (p_component_type => l_component_type
96917 ,p_event_type_code => l_event_type_code
96918 ,p_line_definition_owner_code => l_line_definition_owner_code
96919 ,p_line_definition_code => l_line_definition_code
96920 ,p_accounting_line_code => l_component_code
96921 ,p_accounting_line_type_code => l_component_type_code
96922 ,p_accounting_line_appl_id => l_component_appl_id
96923 ,p_amb_context_code => l_amb_context_code
96924 ,p_entity_code => l_entity_code
96925 ,p_event_class_code => l_event_class_code);
96926 --
96927 -- set accounting class
96928 --
96929 xla_ae_lines_pkg.SetAcctClass(
96930 p_accounting_class_code => 'LIABILITY'
96931 , p_ae_header_id => l_ae_header_id
96932 );
96933
96934 --
96935 -- set rounding class
96936 --
96937 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
96938 'LIABILITY';
96939
96940 --
96941 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
96942 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
96943 --
96944 -- bulk performance
96945 --
96946 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
96947
96948 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
96949 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
96950
96951 -- 4955764
96952 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
96953 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
96954
96955 -- 4458381 Public Sector Enh
96956
96957 --
96958 -- set accounting attributes for the line type
96959 --
96960 l_entered_amt_idx := 23;
96961 l_accted_amt_idx := 28;
96962 l_bflow_applied_to_amt_idx := NULL; -- 5132302
96963 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
96964 l_rec_acct_attrs.array_char_value(1) := p_source_41;
96965 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
96966 l_rec_acct_attrs.array_num_value(2) :=
96967 xla_ae_sources_pkg.GetSystemSourceNum(
96968 p_source_code => 'XLA_EVENT_APPL_ID'
96969 , p_source_type_code => 'Y'
96970 , p_source_application_id => 602
96971 );
96972 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
96973 l_rec_acct_attrs.array_char_value(3) := p_source_43;
96974 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
96978 , p_source_type_code => 'Y'
96975 l_rec_acct_attrs.array_char_value(4) :=
96976 xla_ae_sources_pkg.GetSystemSourceChar(
96977 p_source_code => 'XLA_ENTITY_CODE'
96979 , p_source_application_id => 602
96980 );
96981 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
96982 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
96983 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
96984 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
96985 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
96986 l_rec_acct_attrs.array_num_value(7) := p_source_79;
96987 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
96988 l_rec_acct_attrs.array_char_value(8) := p_source_80;
96989 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
96990 l_rec_acct_attrs.array_char_value(9) := p_source_81;
96991 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
96992 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
96993 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
96994 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
96995 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
96996 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
96997 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
96998 l_rec_acct_attrs.array_char_value(13) := p_source_43;
96999 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
97000 l_rec_acct_attrs.array_num_value(14) := p_source_53;
97001 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
97002 l_rec_acct_attrs.array_num_value(15) := p_source_54;
97003 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
97004 l_rec_acct_attrs.array_char_value(16) := p_source_55;
97005 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
97006 l_rec_acct_attrs.array_num_value(17) := p_source_56;
97007 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
97008 l_rec_acct_attrs.array_num_value(18) := p_source_57;
97009 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
97010 l_rec_acct_attrs.array_num_value(19) := p_source_58;
97011 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
97012 l_rec_acct_attrs.array_char_value(20) := p_source_55;
97013 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
97014 l_rec_acct_attrs.array_num_value(21) := p_source_59;
97015 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
97016 l_rec_acct_attrs.array_char_value(22) := p_source_60;
97017 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
97018 l_rec_acct_attrs.array_num_value(23) := p_source_61;
97019 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
97020 l_rec_acct_attrs.array_char_value(24) := p_source_55;
97021 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
97022 l_rec_acct_attrs.array_date_value(25) := p_source_136;
97023 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
97024 l_rec_acct_attrs.array_num_value(26) := p_source_137;
97025 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
97026 l_rec_acct_attrs.array_char_value(27) := p_source_138;
97027 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
97028 l_rec_acct_attrs.array_num_value(28) := p_source_9;
97029 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
97030 l_rec_acct_attrs.array_date_value(29) := p_source_65;
97031 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
97032 l_rec_acct_attrs.array_char_value(30) := p_source_66;
97033 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
97034 l_rec_acct_attrs.array_date_value(31) := p_source_67;
97035 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
97036 l_rec_acct_attrs.array_char_value(32) := p_source_68;
97037 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
97038 l_rec_acct_attrs.array_num_value(33) := p_source_69;
97039 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
97040 l_rec_acct_attrs.array_num_value(34) := p_source_70;
97041 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
97042 l_rec_acct_attrs.array_char_value(35) := p_source_71;
97043 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
97044 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
97045 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
97046 l_rec_acct_attrs.array_char_value(37) := p_source_43;
97047 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
97048 l_rec_acct_attrs.array_num_value(38) := p_source_74;
97049 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
97050 l_rec_acct_attrs.array_num_value(39) := p_source_75;
97051 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
97052 l_rec_acct_attrs.array_num_value(40) := p_source_76;
97053 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
97054 l_rec_acct_attrs.array_num_value(41) := p_source_77;
97055 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
97056 l_rec_acct_attrs.array_num_value(42) := p_source_78;
97057
97058 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
97059 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
97060
97064 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
97061 ---------------------------------------------------------------------------------------------------------------
97062 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
97063 ---------------------------------------------------------------------------------------------------------------
97065
97066 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97067 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97068
97069 IF xla_accounting_cache_pkg.GetValueChar
97070 (p_source_code => 'LEDGER_CATEGORY_CODE'
97071 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
97072 AND l_bflow_method_code = 'PRIOR_ENTRY'
97073 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
97074 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
97075 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
97076 )
97077 THEN
97078 xla_ae_lines_pkg.BflowUpgEntry
97079 (p_business_method_code => l_bflow_method_code
97080 ,p_business_class_code => l_bflow_class_code
97081 ,p_balance_type => l_balance_type_code);
97082 ELSE
97083 NULL;
97084 -- No business flow processing for business flow method of NONE.
97085 END IF;
97086
97087 --
97088 -- call analytical criteria
97089 --
97090
97091 --
97092 -- call description
97093 --
97094
97095 xla_ae_lines_pkg.SetLineDescription(
97096 p_ae_header_id => l_ae_header_id
97097 ,p_description => Description_2 (
97098 p_application_id => p_application_id
97099 , p_ae_header_id => l_ae_header_id
97100 , p_source_1 => p_source_1
97101 )
97102 );
97103
97104
97105 --
97106 -- call ADRs
97107 -- Bug 4922099
97108 --
97109 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97110 (NVL(l_actual_upg_option, 'N') = 'O') OR
97111 (NVL(l_enc_upg_option, 'N') = 'O')
97112 )
97113 THEN
97114 NULL;
97115 --
97116 --
97117
97118 l_ccid := AcctDerRule_33(
97119 p_application_id => p_application_id
97120 , p_ae_header_id => l_ae_header_id
97121 , p_source_22 => p_source_22
97122 , x_transaction_coa_id => l_adr_transaction_coa_id
97123 , x_accounting_coa_id => l_adr_accounting_coa_id
97124 , x_value_type_code => l_adr_value_type_code
97125 , p_side => 'NA'
97126 );
97127
97128 xla_ae_lines_pkg.set_ccid(
97129 p_code_combination_id => l_ccid
97130 , p_value_type_code => l_adr_value_type_code
97131 , p_transaction_coa_id => l_adr_transaction_coa_id
97132 , p_accounting_coa_id => l_adr_accounting_coa_id
97133 , p_adr_code => 'AP_LIAB'
97134 , p_adr_type_code => 'S'
97135 , p_component_type => l_component_type
97136 , p_component_code => l_component_code
97137 , p_component_type_code => l_component_type_code
97138 , p_component_appl_id => l_component_appl_id
97139 , p_amb_context_code => l_amb_context_code
97140 , p_side => 'NA'
97141 );
97142
97143
97144 --
97145 --
97146 END IF;
97147 --
97148 -- Bug 4922099
97149 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
97150 (NVL(l_enc_upg_option, 'N') = 'O')
97151 ) AND
97152 (l_bflow_method_code = 'PRIOR_ENTRY')
97153 )
97154 THEN
97155 IF
97156 --
97157 1 = 2
97158 --
97159 THEN
97160 xla_accounting_err_pkg.build_message
97161 (p_appli_s_name => 'XLA'
97162 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97163 ,p_token_1 => 'LINE_NUMBER'
97164 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
97165 ,p_token_2 => 'LINE_TYPE_NAME'
97166 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
97167 l_component_type
97168 ,l_component_code
97169 ,l_component_type_code
97170 ,l_component_appl_id
97171 ,l_amb_context_code
97172 ,l_entity_code
97173 ,l_event_class_code
97174 )
97175 ,p_token_3 => 'OWNER'
97176 ,p_value_3 => xla_lookups_pkg.get_meaning(
97177 p_lookup_type => 'XLA_OWNER_TYPE'
97181 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
97178 ,p_lookup_code => l_component_type_code
97179 )
97180 ,p_token_4 => 'PRODUCT_NAME'
97182 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
97183 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
97184 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
97185 ,p_ae_header_id => NULL
97186 );
97187
97188 IF (C_LEVEL_ERROR>= g_log_level) THEN
97189 trace
97190 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97191 ,p_level => C_LEVEL_ERROR
97192 ,p_module => l_log_module);
97193 END IF;
97194 END IF;
97195 END IF;
97196 --
97197 --
97198 ------------------------------------------------------------------------------------------------
97199 -- 4219869 Business Flow
97200 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
97201 -- Prior Entry. Currently, the following code is always generated.
97202 ------------------------------------------------------------------------------------------------
97203 XLA_AE_LINES_PKG.ValidateCurrentLine;
97204
97205 ------------------------------------------------------------------------------------
97206 -- 4219869 Business Flow
97207 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
97208 ------------------------------------------------------------------------------------
97209 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97210
97211 ----------------------------------------------------------------------------------
97212 -- 4219869 Business Flow
97213 -- Update journal entry status -- Need to generate this within IF <condition>
97214 ----------------------------------------------------------------------------------
97215 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97216 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
97217 ,p_balance_type_code => l_balance_type_code
97218 );
97219
97220 -------------------------------------------------------------------------------------------
97221 -- 4262811 - Generate the Accrual Reversal lines
97222 -------------------------------------------------------------------------------------------
97223 BEGIN
97224 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
97225 (g_array_event(p_event_id).array_value_num('header_index'));
97226 IF l_acc_rev_flag IS NULL THEN
97227 l_acc_rev_flag := 'N';
97228 END IF;
97229 EXCEPTION
97230 WHEN OTHERS THEN
97231 l_acc_rev_flag := 'N';
97232 END;
97233 --
97234 IF (l_acc_rev_flag = 'Y') THEN
97235
97236 -- 4645092 ------------------------------------------------------------------------------
97237 -- To allow MPA report to determine if it should generate report process
97238 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
97239 ------------------------------------------------------------------------------------------
97240
97241 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
97242 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
97243 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
97244 -- call ADRs
97245 -- Bug 4922099
97246 --
97247 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97248 (NVL(l_actual_upg_option, 'N') = 'O') OR
97249 (NVL(l_enc_upg_option, 'N') = 'O')
97250 )
97251 THEN
97252 NULL;
97253 --
97254 --
97255
97256 l_ccid := AcctDerRule_33(
97257 p_application_id => p_application_id
97258 , p_ae_header_id => l_ae_header_id
97259 , p_source_22 => p_source_22
97260 , x_transaction_coa_id => l_adr_transaction_coa_id
97261 , x_accounting_coa_id => l_adr_accounting_coa_id
97262 , x_value_type_code => l_adr_value_type_code
97263 , p_side => 'NA'
97264 );
97265
97266 xla_ae_lines_pkg.set_ccid(
97267 p_code_combination_id => l_ccid
97268 , p_value_type_code => l_adr_value_type_code
97269 , p_transaction_coa_id => l_adr_transaction_coa_id
97270 , p_accounting_coa_id => l_adr_accounting_coa_id
97271 , p_adr_code => 'AP_LIAB'
97272 , p_adr_type_code => 'S'
97273 , p_component_type => l_component_type
97274 , p_component_code => l_component_code
97275 , p_component_type_code => l_component_type_code
97276 , p_component_appl_id => l_component_appl_id
97277 , p_amb_context_code => l_amb_context_code
97278 , p_side => 'NA'
97279 );
97280
97281
97282 --
97283 --
97284 END IF;
97285
97286 --
97290 p_header_num => 1);
97287 -- Update the line information that should be overwritten
97288 --
97289 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
97291 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
97292
97293 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
97294
97295 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
97296 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
97297 END IF;
97298
97299 --
97300 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
97301 --
97302 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
97303 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
97304 ELSE
97305 ---------------------------------------------------------------------------------------------------
97306 -- 4262811a Switch Sign
97307 ---------------------------------------------------------------------------------------------------
97308 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
97309 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97310 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97311 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
97312 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97313 -- 5132302
97314 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
97315 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
97316
97317 END IF;
97318
97319 -- 4955764
97320 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97321 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
97322
97323
97324 XLA_AE_LINES_PKG.ValidateCurrentLine;
97325 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97326
97327 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97328 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
97329 ,p_balance_type_code => l_balance_type_code);
97330
97331 END IF;
97332
97333 -----------------------------------------------------------------------------------------
97334 -- 4262811 Multiperiod Accounting
97335 -----------------------------------------------------------------------------------------
97336 -- No MPA option is assigned.
97337
97338
97339 END IF;
97340 END IF;
97341 --
97342
97343 --
97344 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97345 trace
97346 (p_msg => 'END of AcctLineType_171'
97347 ,p_level => C_LEVEL_PROCEDURE
97348 ,p_module => l_log_module);
97349 END IF;
97350 --
97351 EXCEPTION
97352 WHEN xla_exceptions_pkg.application_exception THEN
97353 RAISE;
97354 WHEN OTHERS THEN
97355 xla_exceptions_pkg.raise_message
97356 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_171');
97357 END AcctLineType_171;
97358 --
97359
97360 ---------------------------------------
97361 --
97362 -- PRIVATE FUNCTION
97363 -- AcctLineType_172
97364 --
97365 ---------------------------------------
97366 PROCEDURE AcctLineType_172 (
97367 p_application_id IN NUMBER
97368 ,p_event_id IN NUMBER
97369 ,p_calculate_acctd_flag IN VARCHAR2
97370 ,p_calculate_g_l_flag IN VARCHAR2
97371 ,p_actual_flag IN OUT VARCHAR2
97372 ,p_balance_type_code OUT VARCHAR2
97373 ,p_gain_or_loss_ref OUT VARCHAR2
97374
97375 --Invoice Distribution Description
97376 , p_source_1 IN VARCHAR2
97377 --Automatic Offsets Value
97378 , p_source_3 IN VARCHAR2
97379 , p_source_3_meaning IN VARCHAR2
97380 --Invoice Distribution Ledger Amount
97381 , p_source_9 IN NUMBER
97382 --Invoice Liability Account
97383 , p_source_22 IN NUMBER
97384 --Accounting Reversal Indicator
97385 , p_source_41 IN VARCHAR2
97386 --Distribution Link Type
97387 , p_source_43 IN VARCHAR2
97388 --Allocation to Main Distribution Identifier
97389 , p_source_45 IN NUMBER
97390 --Invoice Identifier
97391 , p_source_46 IN NUMBER
97392 --Invoice Distribution Identifier
97393 , p_source_52 IN NUMBER
97394 --Payables Encumbrance Upgrade Credit Account
97395 , p_source_53 IN NUMBER
97396 --Payables Encumbrance Upgrade Credit Amount
97397 , p_source_54 IN NUMBER
97398 --Invoice Currency Code
97399 , p_source_55 IN VARCHAR2
97400 --Payables Encumbrance Upgrade Credit Base Amount
97401 , p_source_56 IN NUMBER
97402 --Payables Encumbrance Upgrade Debit Account
97403 , p_source_57 IN NUMBER
97404 --Payables Encumbrance Upgrade Debit Amount
97405 , p_source_58 IN NUMBER
97406 --Payables Encumbrance Upgrade Debit Base Amount
97407 , p_source_59 IN NUMBER
97408 --Payables Encumbrance Upgrade Option
97412 --Deferred Accounting End Date
97409 , p_source_60 IN VARCHAR2
97410 --Invoice Distribution Amount
97411 , p_source_61 IN NUMBER
97413 , p_source_65 IN DATE
97414 --Deferred Accounting Option
97415 , p_source_66 IN VARCHAR2
97416 --Deferred Accounting Start Date
97417 , p_source_67 IN DATE
97418 --Override Accounted Amount Indicator
97419 , p_source_68 IN VARCHAR2
97420 , p_source_68_meaning IN VARCHAR2
97421 --Invoice Supplier Identifier
97422 , p_source_69 IN NUMBER
97423 --Invoice Supplier Site Identifier
97424 , p_source_70 IN NUMBER
97425 --Third Party Type
97426 , p_source_71 IN VARCHAR2
97427 --Parent Reversal Identifier
97428 , p_source_72 IN NUMBER
97429 --Invoice Distribution Tax Line Identifier
97430 , p_source_74 IN NUMBER
97431 --Invoice Distribution Tax Distribution Identifier from Tax
97432 , p_source_75 IN NUMBER
97433 --Invoice Distribution Summary Tax Line Identifier
97434 , p_source_76 IN NUMBER
97435 --Payables Upgrade Credit Encumbrance Type Identifier
97436 , p_source_77 IN NUMBER
97437 --Payables Upgrade Debit Encumbrance Type Identifier
97438 , p_source_78 IN NUMBER
97439 --Business Flow Accounts Payable Application Identifier
97440 , p_source_79 IN NUMBER
97441 --Business Flow Invoice Distribution Type
97442 , p_source_80 IN VARCHAR2
97443 --Business Flow Invoice Entity Code
97444 , p_source_81 IN VARCHAR2
97445 --Business Flow Invoice Distribution Identifier
97446 , p_source_82 IN NUMBER
97447 --Business Flow Invoice Identifier
97448 , p_source_83 IN NUMBER
97449 --Self-Assessed Tax Flag
97450 , p_source_135 IN VARCHAR2
97451 , p_source_135_meaning IN VARCHAR2
97452 --Invoice Exchange Date
97453 , p_source_136 IN DATE
97454 --Invoice Exchange Rate
97455 , p_source_137 IN NUMBER
97456 --Invoice Exchange Rate Type
97457 , p_source_138 IN VARCHAR2
97458 )
97459 IS
97460
97461 l_component_type VARCHAR2(80);
97462 l_component_code VARCHAR2(30);
97463 l_component_type_code VARCHAR2(1);
97464 l_component_appl_id INTEGER;
97465 l_amb_context_code VARCHAR2(30);
97466 l_entity_code VARCHAR2(30);
97467 l_event_class_code VARCHAR2(30);
97468 l_ae_header_id NUMBER;
97469 l_event_type_code VARCHAR2(30);
97470 l_line_definition_code VARCHAR2(30);
97471 l_line_definition_owner_code VARCHAR2(1);
97472 --
97473 -- adr variables
97474 l_segment VARCHAR2(30);
97475 l_ccid NUMBER;
97476 l_adr_transaction_coa_id NUMBER;
97477 l_adr_accounting_coa_id NUMBER;
97478 l_adr_flexfield_segment_code VARCHAR2(30);
97479 l_adr_flex_value_set_id NUMBER;
97480 l_adr_value_type_code VARCHAR2(30);
97481 l_adr_value_combination_id NUMBER;
97482 l_adr_value_segment_code VARCHAR2(30);
97483
97484 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
97485 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
97486 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
97487 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
97488
97489 -- 4262811 Variables ------------------------------------------------------------------------------------------
97490 l_entered_amt_idx NUMBER;
97491 l_accted_amt_idx NUMBER;
97492 l_acc_rev_flag VARCHAR2(1);
97493 l_accrual_line_num NUMBER;
97494 l_tmp_amt NUMBER;
97495 l_acc_rev_natural_side_code VARCHAR2(1);
97496
97497 l_num_entries NUMBER;
97498 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
97499 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
97500 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
97501 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
97502 l_recog_line_1 NUMBER;
97503 l_recog_line_2 NUMBER;
97504
97505 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
97506 l_bflow_applied_to_amt NUMBER; -- 5132302
97507 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
97508
97509 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
97510
97511 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
97512 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
97513
97514 ---------------------------------------------------------------------------------------------------------------
97515
97516
97517 --
97518 -- bulk performance
97519 --
97520 l_balance_type_code VARCHAR2(1);
97521 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
97522 l_log_module VARCHAR2(240);
97523
97524 --
97525 -- Upgrade strategy
97526 --
97527 l_actual_upg_option VARCHAR2(1);
97528 l_enc_upg_option VARCHAR2(1);
97529
97530 --
97531 BEGIN
97532 --
97533 IF g_log_enabled THEN
97534 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_172';
97535 END IF;
97536 --
97540 (p_msg => 'BEGIN of AcctLineType_172'
97537 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
97538
97539 trace
97541 ,p_level => C_LEVEL_PROCEDURE
97542 ,p_module => l_log_module);
97543
97544 END IF;
97545 --
97546 l_component_type := 'AMB_JLT';
97547 l_component_code := 'AP_LIAB_DM_AOS_AS';
97548 l_component_type_code := 'S';
97549 l_component_appl_id := 200;
97550 l_amb_context_code := 'DEFAULT';
97551 l_entity_code := 'AP_INVOICES';
97552 l_event_class_code := 'DEBIT MEMOS';
97553 l_event_type_code := 'DEBIT MEMOS_ALL';
97554 l_line_definition_owner_code := 'S';
97555 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
97556 --
97557 l_balance_type_code := 'A';
97558 l_segment := NULL;
97559 l_ccid := NULL;
97560 l_adr_transaction_coa_id := NULL;
97561 l_adr_accounting_coa_id := NULL;
97562 l_adr_flexfield_segment_code := NULL;
97563 l_adr_flex_value_set_id := NULL;
97564 l_adr_value_type_code := NULL;
97565 l_adr_value_combination_id := NULL;
97566 l_adr_value_segment_code := NULL;
97567
97568 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
97569 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
97570 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
97571 l_budgetary_control_flag := 'N';
97572
97573 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97574 l_bflow_applied_to_amt := NULL; -- 5132302
97575 l_entered_amt_idx := NULL; -- 4262811
97576 l_accted_amt_idx := NULL; -- 4262811
97577 l_acc_rev_flag := NULL; -- 4262811
97578 l_accrual_line_num := NULL; -- 4262811
97579 l_tmp_amt := NULL; -- 4262811
97580 --
97581
97582 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
97583 l_balance_type_code <> 'B' THEN
97584 IF NVL(p_source_3,'
97585 ') = 'ACCOUNT_SEGMENT_VALUE' AND
97586 NVL(p_source_135,'
97587 ') <> 'Y'
97588 THEN
97589
97590 --
97591 XLA_AE_LINES_PKG.SetNewLine;
97592
97593 p_balance_type_code := l_balance_type_code;
97594 -- set the flag so later we will know whether the gain loss line needs to be created
97595
97596 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
97597 p_actual_flag :='A';
97598 END IF;
97599
97600 --
97601 -- bulk performance
97602 --
97603 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
97604 p_header_num => 0); -- 4262811
97605 --
97606 -- set accounting line options
97607 --
97608 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
97609 p_natural_side_code => 'C'
97610 , p_gain_or_loss_flag => 'N'
97611 , p_gl_transfer_mode_code => 'S'
97612 , p_acct_entry_type_code => 'A'
97613 , p_switch_side_flag => 'Y'
97614 , p_merge_duplicate_code => 'A'
97615 );
97616 --
97617 l_acc_rev_natural_side_code := 'D'; -- 4262811
97618 --
97619 --
97620 -- set accounting line type info
97621 --
97622 xla_ae_lines_pkg.SetAcctLineType
97623 (p_component_type => l_component_type
97624 ,p_event_type_code => l_event_type_code
97625 ,p_line_definition_owner_code => l_line_definition_owner_code
97626 ,p_line_definition_code => l_line_definition_code
97627 ,p_accounting_line_code => l_component_code
97628 ,p_accounting_line_type_code => l_component_type_code
97629 ,p_accounting_line_appl_id => l_component_appl_id
97630 ,p_amb_context_code => l_amb_context_code
97631 ,p_entity_code => l_entity_code
97632 ,p_event_class_code => l_event_class_code);
97633 --
97634 -- set accounting class
97635 --
97636 xla_ae_lines_pkg.SetAcctClass(
97637 p_accounting_class_code => 'LIABILITY'
97638 , p_ae_header_id => l_ae_header_id
97639 );
97640
97641 --
97642 -- set rounding class
97643 --
97644 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
97645 'LIABILITY';
97646
97647 --
97648 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
97649 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
97650 --
97651 -- bulk performance
97652 --
97653 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
97654
97655 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
97656 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
97657
97658 -- 4955764
97659 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
97660 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
97661
97662 -- 4458381 Public Sector Enh
97663
97664 --
97668 l_accted_amt_idx := 28;
97665 -- set accounting attributes for the line type
97666 --
97667 l_entered_amt_idx := 23;
97669 l_bflow_applied_to_amt_idx := NULL; -- 5132302
97670 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
97671 l_rec_acct_attrs.array_char_value(1) := p_source_41;
97672 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
97673 l_rec_acct_attrs.array_num_value(2) :=
97674 xla_ae_sources_pkg.GetSystemSourceNum(
97675 p_source_code => 'XLA_EVENT_APPL_ID'
97676 , p_source_type_code => 'Y'
97677 , p_source_application_id => 602
97678 );
97679 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
97680 l_rec_acct_attrs.array_char_value(3) := p_source_43;
97681 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
97682 l_rec_acct_attrs.array_char_value(4) :=
97683 xla_ae_sources_pkg.GetSystemSourceChar(
97684 p_source_code => 'XLA_ENTITY_CODE'
97685 , p_source_type_code => 'Y'
97686 , p_source_application_id => 602
97687 );
97688 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
97689 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
97690 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
97691 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
97692 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
97693 l_rec_acct_attrs.array_num_value(7) := p_source_79;
97694 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
97695 l_rec_acct_attrs.array_char_value(8) := p_source_80;
97696 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
97697 l_rec_acct_attrs.array_char_value(9) := p_source_81;
97698 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
97699 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
97700 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
97701 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
97702 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
97703 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
97704 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
97705 l_rec_acct_attrs.array_char_value(13) := p_source_43;
97706 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
97707 l_rec_acct_attrs.array_num_value(14) := p_source_53;
97708 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
97709 l_rec_acct_attrs.array_num_value(15) := p_source_54;
97710 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
97711 l_rec_acct_attrs.array_char_value(16) := p_source_55;
97712 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
97713 l_rec_acct_attrs.array_num_value(17) := p_source_56;
97714 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
97715 l_rec_acct_attrs.array_num_value(18) := p_source_57;
97716 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
97717 l_rec_acct_attrs.array_num_value(19) := p_source_58;
97718 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
97719 l_rec_acct_attrs.array_char_value(20) := p_source_55;
97720 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
97721 l_rec_acct_attrs.array_num_value(21) := p_source_59;
97722 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
97723 l_rec_acct_attrs.array_char_value(22) := p_source_60;
97724 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
97725 l_rec_acct_attrs.array_num_value(23) := p_source_61;
97726 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
97727 l_rec_acct_attrs.array_char_value(24) := p_source_55;
97728 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
97729 l_rec_acct_attrs.array_date_value(25) := p_source_136;
97730 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
97731 l_rec_acct_attrs.array_num_value(26) := p_source_137;
97732 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
97733 l_rec_acct_attrs.array_char_value(27) := p_source_138;
97734 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
97735 l_rec_acct_attrs.array_num_value(28) := p_source_9;
97736 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
97737 l_rec_acct_attrs.array_date_value(29) := p_source_65;
97738 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
97739 l_rec_acct_attrs.array_char_value(30) := p_source_66;
97740 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
97741 l_rec_acct_attrs.array_date_value(31) := p_source_67;
97742 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
97743 l_rec_acct_attrs.array_char_value(32) := p_source_68;
97744 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
97745 l_rec_acct_attrs.array_num_value(33) := p_source_69;
97746 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
97747 l_rec_acct_attrs.array_num_value(34) := p_source_70;
97748 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
97749 l_rec_acct_attrs.array_char_value(35) := p_source_71;
97750 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
97751 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
97752 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
97756 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
97753 l_rec_acct_attrs.array_char_value(37) := p_source_43;
97754 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
97755 l_rec_acct_attrs.array_num_value(38) := p_source_74;
97757 l_rec_acct_attrs.array_num_value(39) := p_source_75;
97758 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
97759 l_rec_acct_attrs.array_num_value(40) := p_source_76;
97760 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
97761 l_rec_acct_attrs.array_num_value(41) := p_source_77;
97762 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
97763 l_rec_acct_attrs.array_num_value(42) := p_source_78;
97764
97765 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
97766 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
97767
97768 ---------------------------------------------------------------------------------------------------------------
97769 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
97770 ---------------------------------------------------------------------------------------------------------------
97771 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
97772
97773 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97774 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
97775
97776 IF xla_accounting_cache_pkg.GetValueChar
97777 (p_source_code => 'LEDGER_CATEGORY_CODE'
97778 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
97779 AND l_bflow_method_code = 'PRIOR_ENTRY'
97780 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
97781 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
97782 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
97783 )
97784 THEN
97785 xla_ae_lines_pkg.BflowUpgEntry
97786 (p_business_method_code => l_bflow_method_code
97787 ,p_business_class_code => l_bflow_class_code
97788 ,p_balance_type => l_balance_type_code);
97789 ELSE
97790 NULL;
97791 XLA_AE_LINES_PKG.business_flow_validation(
97792 p_business_method_code => l_bflow_method_code
97793 ,p_business_class_code => l_bflow_class_code
97794 ,p_inherit_description_flag => l_inherit_desc_flag);
97795 END IF;
97796
97797 --
97798 -- call analytical criteria
97799 --
97800
97801 --
97802 -- call description
97803 --
97804
97805 xla_ae_lines_pkg.SetLineDescription(
97806 p_ae_header_id => l_ae_header_id
97807 ,p_description => Description_2 (
97808 p_application_id => p_application_id
97809 , p_ae_header_id => l_ae_header_id
97810 , p_source_1 => p_source_1
97811 )
97812 );
97813
97814
97815 --
97816 -- call ADRs
97817 -- Bug 4922099
97818 --
97819 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
97820 (NVL(l_actual_upg_option, 'N') = 'O') OR
97821 (NVL(l_enc_upg_option, 'N') = 'O')
97822 )
97823 THEN
97824 NULL;
97825 --
97826 --
97827
97828 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
97829 p_code_combination_id => TO_NUMBER(C_NUM)
97830 , p_value_type_code => NULL
97831 , p_transaction_coa_id => null
97832 , p_accounting_coa_id => null
97833 , p_adr_code => NULL
97834 , p_adr_type_code => NULL
97835 , p_component_type => l_component_type
97836 , p_component_code => l_component_code
97837 , p_component_type_code => l_component_type_code
97838 , p_component_appl_id => l_component_appl_id
97839 , p_amb_context_code => l_amb_context_code
97840 , p_side => NULL
97841 );
97842
97843
97844 -- initialise segments
97845 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97846 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97847 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97848 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97849 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97850 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97851 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97852 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97853 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97854 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97855 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97856 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97857 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97858 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97859 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97863 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97860 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97861 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97862 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97864 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97865 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97866 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97867 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97868 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97869 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97870 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97871 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97872 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97873 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97874 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
97875 --
97876
97877 --
97878
97879
97880 l_segment := AcctDerRule_14(
97881 p_application_id => p_application_id
97882 , p_ae_header_id => l_ae_header_id
97883 , p_source_22 => p_source_22
97884 , x_transaction_coa_id => l_adr_transaction_coa_id
97885 , x_accounting_coa_id => l_adr_accounting_coa_id
97886 , x_flexfield_segment_code => l_adr_flexfield_segment_code
97887 , x_flex_value_set_id => l_adr_flex_value_set_id
97888 , x_value_type_code => l_adr_value_type_code
97889 , x_value_combination_id => l_adr_value_combination_id
97890 , x_value_segment_code => l_adr_value_segment_code
97891 , p_side => 'NA'
97892 , p_override_seg_flag => 'Y'
97893 );
97894
97895 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
97896
97897 xla_ae_lines_pkg.set_segment(
97898 p_to_segment_code => 'GL_ACCOUNT'
97899 , p_segment_value => l_segment
97900 , p_from_segment_code => l_adr_value_segment_code
97901 , p_from_combination_id => l_adr_value_combination_id
97902 , p_value_type_code => l_adr_value_type_code
97903 , p_transaction_coa_id => l_adr_transaction_coa_id
97904 , p_accounting_coa_id => l_adr_accounting_coa_id
97905 , p_flexfield_segment_code => l_adr_flexfield_segment_code
97906 , p_flex_value_set_id => l_adr_flex_value_set_id
97907 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
97908 , p_adr_type_code => 'S'
97909 , p_component_type => l_component_type
97910 , p_component_code => l_component_code
97911 , p_component_type_code => l_component_type_code
97912 , p_component_appl_id => l_component_appl_id
97913 , p_amb_context_code => l_amb_context_code
97914 , p_entity_code => 'AP_INVOICES'
97915 , p_event_class_code => 'DEBIT MEMOS'
97916 , p_side => 'NA'
97917 );
97918
97919 END IF;
97920
97921 --
97922 --
97923 END IF;
97924 --
97925 -- Bug 4922099
97926 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
97927 (NVL(l_enc_upg_option, 'N') = 'O')
97928 ) AND
97929 (l_bflow_method_code = 'PRIOR_ENTRY')
97930 )
97931 THEN
97932 IF
97933 --
97934 1 = 2
97935 --
97936 THEN
97937 xla_accounting_err_pkg.build_message
97938 (p_appli_s_name => 'XLA'
97939 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97940 ,p_token_1 => 'LINE_NUMBER'
97941 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
97942 ,p_token_2 => 'LINE_TYPE_NAME'
97943 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
97944 l_component_type
97945 ,l_component_code
97946 ,l_component_type_code
97947 ,l_component_appl_id
97948 ,l_amb_context_code
97949 ,l_entity_code
97950 ,l_event_class_code
97951 )
97952 ,p_token_3 => 'OWNER'
97953 ,p_value_3 => xla_lookups_pkg.get_meaning(
97954 p_lookup_type => 'XLA_OWNER_TYPE'
97958 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
97955 ,p_lookup_code => l_component_type_code
97956 )
97957 ,p_token_4 => 'PRODUCT_NAME'
97959 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
97960 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
97961 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
97962 ,p_ae_header_id => NULL
97963 );
97964
97965 IF (C_LEVEL_ERROR>= g_log_level) THEN
97966 trace
97967 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
97968 ,p_level => C_LEVEL_ERROR
97969 ,p_module => l_log_module);
97970 END IF;
97971 END IF;
97972 END IF;
97973 --
97974 --
97975 ------------------------------------------------------------------------------------------------
97976 -- 4219869 Business Flow
97977 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
97978 -- Prior Entry. Currently, the following code is always generated.
97979 ------------------------------------------------------------------------------------------------
97980 XLA_AE_LINES_PKG.ValidateCurrentLine;
97981
97982 ------------------------------------------------------------------------------------
97983 -- 4219869 Business Flow
97984 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
97985 ------------------------------------------------------------------------------------
97986 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
97987
97988 ----------------------------------------------------------------------------------
97989 -- 4219869 Business Flow
97990 -- Update journal entry status -- Need to generate this within IF <condition>
97991 ----------------------------------------------------------------------------------
97992 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
97993 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
97994 ,p_balance_type_code => l_balance_type_code
97995 );
97996
97997 -------------------------------------------------------------------------------------------
97998 -- 4262811 - Generate the Accrual Reversal lines
97999 -------------------------------------------------------------------------------------------
98000 BEGIN
98001 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
98002 (g_array_event(p_event_id).array_value_num('header_index'));
98003 IF l_acc_rev_flag IS NULL THEN
98004 l_acc_rev_flag := 'N';
98005 END IF;
98006 EXCEPTION
98007 WHEN OTHERS THEN
98008 l_acc_rev_flag := 'N';
98009 END;
98010 --
98011 IF (l_acc_rev_flag = 'Y') THEN
98012
98013 -- 4645092 ------------------------------------------------------------------------------
98014 -- To allow MPA report to determine if it should generate report process
98015 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
98016 ------------------------------------------------------------------------------------------
98017
98018 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
98019 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
98020 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
98021 -- call ADRs
98022 -- Bug 4922099
98023 --
98024 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98025 (NVL(l_actual_upg_option, 'N') = 'O') OR
98026 (NVL(l_enc_upg_option, 'N') = 'O')
98027 )
98028 THEN
98029 NULL;
98030 --
98031 --
98032
98033 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
98034 p_code_combination_id => TO_NUMBER(C_NUM)
98035 , p_value_type_code => NULL
98036 , p_transaction_coa_id => null
98037 , p_accounting_coa_id => null
98038 , p_adr_code => NULL
98039 , p_adr_type_code => NULL
98040 , p_component_type => l_component_type
98041 , p_component_code => l_component_code
98042 , p_component_type_code => l_component_type_code
98043 , p_component_appl_id => l_component_appl_id
98044 , p_amb_context_code => l_amb_context_code
98045 , p_side => NULL
98046 );
98047
98048
98049 -- initialise segments
98050 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98051 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98052 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98053 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98054 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98055 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98056 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98057 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98061 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98058 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98059 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98060 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98062 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98063 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98064 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98065 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98066 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98067 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98068 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98069 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98070 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98071 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98072 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98073 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98074 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98075 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98076 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98077 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98078 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98079 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
98080 --
98081
98082 --
98083
98084
98085 l_segment := AcctDerRule_14(
98086 p_application_id => p_application_id
98087 , p_ae_header_id => l_ae_header_id
98088 , p_source_22 => p_source_22
98089 , x_transaction_coa_id => l_adr_transaction_coa_id
98090 , x_accounting_coa_id => l_adr_accounting_coa_id
98091 , x_flexfield_segment_code => l_adr_flexfield_segment_code
98092 , x_flex_value_set_id => l_adr_flex_value_set_id
98093 , x_value_type_code => l_adr_value_type_code
98094 , x_value_combination_id => l_adr_value_combination_id
98095 , x_value_segment_code => l_adr_value_segment_code
98096 , p_side => 'NA'
98097 , p_override_seg_flag => 'Y'
98098 );
98099
98100 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
98101
98102 xla_ae_lines_pkg.set_segment(
98103 p_to_segment_code => 'GL_ACCOUNT'
98104 , p_segment_value => l_segment
98105 , p_from_segment_code => l_adr_value_segment_code
98106 , p_from_combination_id => l_adr_value_combination_id
98107 , p_value_type_code => l_adr_value_type_code
98108 , p_transaction_coa_id => l_adr_transaction_coa_id
98109 , p_accounting_coa_id => l_adr_accounting_coa_id
98110 , p_flexfield_segment_code => l_adr_flexfield_segment_code
98111 , p_flex_value_set_id => l_adr_flex_value_set_id
98112 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
98113 , p_adr_type_code => 'S'
98114 , p_component_type => l_component_type
98115 , p_component_code => l_component_code
98116 , p_component_type_code => l_component_type_code
98117 , p_component_appl_id => l_component_appl_id
98118 , p_amb_context_code => l_amb_context_code
98119 , p_entity_code => 'AP_INVOICES'
98120 , p_event_class_code => 'DEBIT MEMOS'
98121 , p_side => 'NA'
98122 );
98123
98124 END IF;
98125
98126 --
98127 --
98128 END IF;
98129
98130 --
98131 -- Update the line information that should be overwritten
98132 --
98133 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
98134 p_header_num => 1);
98135 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98136
98137 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98138
98139 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98140 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98141 END IF;
98142
98143 --
98144 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98145 --
98146 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98147 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98148 ELSE
98149 ---------------------------------------------------------------------------------------------------
98150 -- 4262811a Switch Sign
98151 ---------------------------------------------------------------------------------------------------
98152 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98156 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98153 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98154 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98155 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98157 -- 5132302
98158 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98159 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98160
98161 END IF;
98162
98163 -- 4955764
98164 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98165 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98166
98167
98168 XLA_AE_LINES_PKG.ValidateCurrentLine;
98169 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98170
98171 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98172 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98173 ,p_balance_type_code => l_balance_type_code);
98174
98175 END IF;
98176
98177 -----------------------------------------------------------------------------------------
98178 -- 4262811 Multiperiod Accounting
98179 -----------------------------------------------------------------------------------------
98180 -- No MPA option is assigned.
98181
98182
98183 END IF;
98184 END IF;
98185 --
98186
98187 --
98188 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98189 trace
98190 (p_msg => 'END of AcctLineType_172'
98191 ,p_level => C_LEVEL_PROCEDURE
98192 ,p_module => l_log_module);
98193 END IF;
98194 --
98195 EXCEPTION
98196 WHEN xla_exceptions_pkg.application_exception THEN
98197 RAISE;
98198 WHEN OTHERS THEN
98199 xla_exceptions_pkg.raise_message
98200 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_172');
98201 END AcctLineType_172;
98202 --
98203
98204 ---------------------------------------
98205 --
98206 -- PRIVATE FUNCTION
98207 -- AcctLineType_173
98208 --
98209 ---------------------------------------
98210 PROCEDURE AcctLineType_173 (
98211 p_application_id IN NUMBER
98212 ,p_event_id IN NUMBER
98213 ,p_calculate_acctd_flag IN VARCHAR2
98214 ,p_calculate_g_l_flag IN VARCHAR2
98215 ,p_actual_flag IN OUT VARCHAR2
98216 ,p_balance_type_code OUT VARCHAR2
98217 ,p_gain_or_loss_ref OUT VARCHAR2
98218
98219 --Invoice Distribution Description
98220 , p_source_1 IN VARCHAR2
98221 --Automatic Offsets Value
98222 , p_source_3 IN VARCHAR2
98223 , p_source_3_meaning IN VARCHAR2
98224 --Invoice Distribution Ledger Amount
98225 , p_source_9 IN NUMBER
98226 --Invoice Liability Account
98227 , p_source_22 IN NUMBER
98228 --Accounting Reversal Indicator
98229 , p_source_41 IN VARCHAR2
98230 --Distribution Link Type
98231 , p_source_43 IN VARCHAR2
98232 --Allocation to Main Distribution Identifier
98233 , p_source_45 IN NUMBER
98234 --Invoice Identifier
98235 , p_source_46 IN NUMBER
98236 --Invoice Distribution Identifier
98237 , p_source_52 IN NUMBER
98238 --Payables Encumbrance Upgrade Credit Account
98239 , p_source_53 IN NUMBER
98240 --Payables Encumbrance Upgrade Credit Amount
98241 , p_source_54 IN NUMBER
98242 --Invoice Currency Code
98243 , p_source_55 IN VARCHAR2
98244 --Payables Encumbrance Upgrade Credit Base Amount
98245 , p_source_56 IN NUMBER
98246 --Payables Encumbrance Upgrade Debit Account
98247 , p_source_57 IN NUMBER
98248 --Payables Encumbrance Upgrade Debit Amount
98249 , p_source_58 IN NUMBER
98250 --Payables Encumbrance Upgrade Debit Base Amount
98251 , p_source_59 IN NUMBER
98252 --Payables Encumbrance Upgrade Option
98253 , p_source_60 IN VARCHAR2
98254 --Invoice Distribution Amount
98255 , p_source_61 IN NUMBER
98256 --Deferred Accounting End Date
98257 , p_source_65 IN DATE
98258 --Deferred Accounting Option
98259 , p_source_66 IN VARCHAR2
98260 --Deferred Accounting Start Date
98261 , p_source_67 IN DATE
98262 --Override Accounted Amount Indicator
98263 , p_source_68 IN VARCHAR2
98264 , p_source_68_meaning IN VARCHAR2
98265 --Invoice Supplier Identifier
98266 , p_source_69 IN NUMBER
98267 --Invoice Supplier Site Identifier
98268 , p_source_70 IN NUMBER
98269 --Third Party Type
98270 , p_source_71 IN VARCHAR2
98271 --Parent Reversal Identifier
98272 , p_source_72 IN NUMBER
98273 --Invoice Distribution Tax Line Identifier
98274 , p_source_74 IN NUMBER
98275 --Invoice Distribution Tax Distribution Identifier from Tax
98276 , p_source_75 IN NUMBER
98277 --Invoice Distribution Summary Tax Line Identifier
98278 , p_source_76 IN NUMBER
98279 --Payables Upgrade Credit Encumbrance Type Identifier
98280 , p_source_77 IN NUMBER
98281 --Payables Upgrade Debit Encumbrance Type Identifier
98285 --Business Flow Invoice Distribution Type
98282 , p_source_78 IN NUMBER
98283 --Business Flow Accounts Payable Application Identifier
98284 , p_source_79 IN NUMBER
98286 , p_source_80 IN VARCHAR2
98287 --Business Flow Invoice Entity Code
98288 , p_source_81 IN VARCHAR2
98289 --Business Flow Invoice Distribution Identifier
98290 , p_source_82 IN NUMBER
98291 --Business Flow Invoice Identifier
98292 , p_source_83 IN NUMBER
98293 --Self-Assessed Tax Flag
98294 , p_source_135 IN VARCHAR2
98295 , p_source_135_meaning IN VARCHAR2
98296 --Invoice Exchange Date
98297 , p_source_136 IN DATE
98298 --Invoice Exchange Rate
98299 , p_source_137 IN NUMBER
98300 --Invoice Exchange Rate Type
98301 , p_source_138 IN VARCHAR2
98302 )
98303 IS
98304
98305 l_component_type VARCHAR2(80);
98306 l_component_code VARCHAR2(30);
98307 l_component_type_code VARCHAR2(1);
98308 l_component_appl_id INTEGER;
98309 l_amb_context_code VARCHAR2(30);
98310 l_entity_code VARCHAR2(30);
98311 l_event_class_code VARCHAR2(30);
98312 l_ae_header_id NUMBER;
98313 l_event_type_code VARCHAR2(30);
98314 l_line_definition_code VARCHAR2(30);
98315 l_line_definition_owner_code VARCHAR2(1);
98316 --
98317 -- adr variables
98318 l_segment VARCHAR2(30);
98319 l_ccid NUMBER;
98320 l_adr_transaction_coa_id NUMBER;
98321 l_adr_accounting_coa_id NUMBER;
98322 l_adr_flexfield_segment_code VARCHAR2(30);
98323 l_adr_flex_value_set_id NUMBER;
98324 l_adr_value_type_code VARCHAR2(30);
98325 l_adr_value_combination_id NUMBER;
98326 l_adr_value_segment_code VARCHAR2(30);
98327
98328 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
98329 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
98330 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
98331 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
98332
98333 -- 4262811 Variables ------------------------------------------------------------------------------------------
98334 l_entered_amt_idx NUMBER;
98335 l_accted_amt_idx NUMBER;
98336 l_acc_rev_flag VARCHAR2(1);
98337 l_accrual_line_num NUMBER;
98338 l_tmp_amt NUMBER;
98339 l_acc_rev_natural_side_code VARCHAR2(1);
98340
98341 l_num_entries NUMBER;
98342 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
98343 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
98344 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
98345 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
98346 l_recog_line_1 NUMBER;
98347 l_recog_line_2 NUMBER;
98348
98349 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
98350 l_bflow_applied_to_amt NUMBER; -- 5132302
98351 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
98352
98353 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
98354
98355 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
98356 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
98357
98358 ---------------------------------------------------------------------------------------------------------------
98359
98360
98361 --
98362 -- bulk performance
98363 --
98364 l_balance_type_code VARCHAR2(1);
98365 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
98366 l_log_module VARCHAR2(240);
98367
98368 --
98369 -- Upgrade strategy
98370 --
98371 l_actual_upg_option VARCHAR2(1);
98372 l_enc_upg_option VARCHAR2(1);
98373
98374 --
98375 BEGIN
98376 --
98377 IF g_log_enabled THEN
98378 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_173';
98379 END IF;
98380 --
98381 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98382
98383 trace
98384 (p_msg => 'BEGIN of AcctLineType_173'
98385 ,p_level => C_LEVEL_PROCEDURE
98386 ,p_module => l_log_module);
98387
98388 END IF;
98389 --
98390 l_component_type := 'AMB_JLT';
98391 l_component_code := 'AP_LIAB_DM_AOS_BS';
98392 l_component_type_code := 'S';
98393 l_component_appl_id := 200;
98394 l_amb_context_code := 'DEFAULT';
98395 l_entity_code := 'AP_INVOICES';
98396 l_event_class_code := 'DEBIT MEMOS';
98397 l_event_type_code := 'DEBIT MEMOS_ALL';
98398 l_line_definition_owner_code := 'S';
98399 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
98400 --
98401 l_balance_type_code := 'A';
98402 l_segment := NULL;
98403 l_ccid := NULL;
98404 l_adr_transaction_coa_id := NULL;
98405 l_adr_accounting_coa_id := NULL;
98406 l_adr_flexfield_segment_code := NULL;
98407 l_adr_flex_value_set_id := NULL;
98408 l_adr_value_type_code := NULL;
98409 l_adr_value_combination_id := NULL;
98410 l_adr_value_segment_code := NULL;
98414 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
98411
98412 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
98413 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
98415 l_budgetary_control_flag := 'N';
98416
98417 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98418 l_bflow_applied_to_amt := NULL; -- 5132302
98419 l_entered_amt_idx := NULL; -- 4262811
98420 l_accted_amt_idx := NULL; -- 4262811
98421 l_acc_rev_flag := NULL; -- 4262811
98422 l_accrual_line_num := NULL; -- 4262811
98423 l_tmp_amt := NULL; -- 4262811
98424 --
98425
98426 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
98427 l_balance_type_code <> 'B' THEN
98428 IF NVL(p_source_3,'
98429 ') = 'BALANCING_SEGMENT' AND
98430 NVL(p_source_135,'
98431 ') <> 'Y'
98432 THEN
98433
98434 --
98435 XLA_AE_LINES_PKG.SetNewLine;
98436
98437 p_balance_type_code := l_balance_type_code;
98438 -- set the flag so later we will know whether the gain loss line needs to be created
98439
98440 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
98441 p_actual_flag :='A';
98442 END IF;
98443
98444 --
98445 -- bulk performance
98446 --
98447 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
98448 p_header_num => 0); -- 4262811
98449 --
98450 -- set accounting line options
98451 --
98452 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
98453 p_natural_side_code => 'C'
98454 , p_gain_or_loss_flag => 'N'
98455 , p_gl_transfer_mode_code => 'S'
98456 , p_acct_entry_type_code => 'A'
98457 , p_switch_side_flag => 'Y'
98458 , p_merge_duplicate_code => 'A'
98459 );
98460 --
98461 l_acc_rev_natural_side_code := 'D'; -- 4262811
98462 --
98463 --
98464 -- set accounting line type info
98465 --
98466 xla_ae_lines_pkg.SetAcctLineType
98467 (p_component_type => l_component_type
98468 ,p_event_type_code => l_event_type_code
98469 ,p_line_definition_owner_code => l_line_definition_owner_code
98470 ,p_line_definition_code => l_line_definition_code
98471 ,p_accounting_line_code => l_component_code
98472 ,p_accounting_line_type_code => l_component_type_code
98473 ,p_accounting_line_appl_id => l_component_appl_id
98474 ,p_amb_context_code => l_amb_context_code
98475 ,p_entity_code => l_entity_code
98476 ,p_event_class_code => l_event_class_code);
98477 --
98478 -- set accounting class
98479 --
98480 xla_ae_lines_pkg.SetAcctClass(
98481 p_accounting_class_code => 'LIABILITY'
98482 , p_ae_header_id => l_ae_header_id
98483 );
98484
98485 --
98486 -- set rounding class
98487 --
98488 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
98489 'LIABILITY';
98490
98491 --
98492 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
98493 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
98494 --
98495 -- bulk performance
98496 --
98497 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
98498
98499 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
98500 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
98501
98502 -- 4955764
98503 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98504 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
98505
98506 -- 4458381 Public Sector Enh
98507
98508 --
98509 -- set accounting attributes for the line type
98510 --
98511 l_entered_amt_idx := 23;
98512 l_accted_amt_idx := 28;
98513 l_bflow_applied_to_amt_idx := NULL; -- 5132302
98514 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
98515 l_rec_acct_attrs.array_char_value(1) := p_source_41;
98516 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
98517 l_rec_acct_attrs.array_num_value(2) :=
98518 xla_ae_sources_pkg.GetSystemSourceNum(
98519 p_source_code => 'XLA_EVENT_APPL_ID'
98520 , p_source_type_code => 'Y'
98521 , p_source_application_id => 602
98522 );
98523 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
98524 l_rec_acct_attrs.array_char_value(3) := p_source_43;
98525 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
98526 l_rec_acct_attrs.array_char_value(4) :=
98527 xla_ae_sources_pkg.GetSystemSourceChar(
98528 p_source_code => 'XLA_ENTITY_CODE'
98529 , p_source_type_code => 'Y'
98530 , p_source_application_id => 602
98531 );
98532 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
98533 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
98537 l_rec_acct_attrs.array_num_value(7) := p_source_79;
98534 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
98535 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
98536 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
98538 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
98539 l_rec_acct_attrs.array_char_value(8) := p_source_80;
98540 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
98541 l_rec_acct_attrs.array_char_value(9) := p_source_81;
98542 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
98543 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
98544 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
98545 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
98546 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
98547 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
98548 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
98549 l_rec_acct_attrs.array_char_value(13) := p_source_43;
98550 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
98551 l_rec_acct_attrs.array_num_value(14) := p_source_53;
98552 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
98553 l_rec_acct_attrs.array_num_value(15) := p_source_54;
98554 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
98555 l_rec_acct_attrs.array_char_value(16) := p_source_55;
98556 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
98557 l_rec_acct_attrs.array_num_value(17) := p_source_56;
98558 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
98559 l_rec_acct_attrs.array_num_value(18) := p_source_57;
98560 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
98561 l_rec_acct_attrs.array_num_value(19) := p_source_58;
98562 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
98563 l_rec_acct_attrs.array_char_value(20) := p_source_55;
98564 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
98565 l_rec_acct_attrs.array_num_value(21) := p_source_59;
98566 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
98567 l_rec_acct_attrs.array_char_value(22) := p_source_60;
98568 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
98569 l_rec_acct_attrs.array_num_value(23) := p_source_61;
98570 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
98571 l_rec_acct_attrs.array_char_value(24) := p_source_55;
98572 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
98573 l_rec_acct_attrs.array_date_value(25) := p_source_136;
98574 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
98575 l_rec_acct_attrs.array_num_value(26) := p_source_137;
98576 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
98577 l_rec_acct_attrs.array_char_value(27) := p_source_138;
98578 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
98579 l_rec_acct_attrs.array_num_value(28) := p_source_9;
98580 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
98581 l_rec_acct_attrs.array_date_value(29) := p_source_65;
98582 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
98583 l_rec_acct_attrs.array_char_value(30) := p_source_66;
98584 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
98585 l_rec_acct_attrs.array_date_value(31) := p_source_67;
98586 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
98587 l_rec_acct_attrs.array_char_value(32) := p_source_68;
98588 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
98589 l_rec_acct_attrs.array_num_value(33) := p_source_69;
98590 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
98591 l_rec_acct_attrs.array_num_value(34) := p_source_70;
98592 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
98593 l_rec_acct_attrs.array_char_value(35) := p_source_71;
98594 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
98595 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
98596 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
98597 l_rec_acct_attrs.array_char_value(37) := p_source_43;
98598 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
98599 l_rec_acct_attrs.array_num_value(38) := p_source_74;
98600 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
98601 l_rec_acct_attrs.array_num_value(39) := p_source_75;
98602 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
98603 l_rec_acct_attrs.array_num_value(40) := p_source_76;
98604 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
98605 l_rec_acct_attrs.array_num_value(41) := p_source_77;
98606 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
98607 l_rec_acct_attrs.array_num_value(42) := p_source_78;
98608
98609 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
98610 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
98611
98612 ---------------------------------------------------------------------------------------------------------------
98613 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
98614 ---------------------------------------------------------------------------------------------------------------
98615 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
98616
98620 IF xla_accounting_cache_pkg.GetValueChar
98617 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98618 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
98619
98621 (p_source_code => 'LEDGER_CATEGORY_CODE'
98622 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
98623 AND l_bflow_method_code = 'PRIOR_ENTRY'
98624 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
98625 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
98626 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
98627 )
98628 THEN
98629 xla_ae_lines_pkg.BflowUpgEntry
98630 (p_business_method_code => l_bflow_method_code
98631 ,p_business_class_code => l_bflow_class_code
98632 ,p_balance_type => l_balance_type_code);
98633 ELSE
98634 NULL;
98635 XLA_AE_LINES_PKG.business_flow_validation(
98636 p_business_method_code => l_bflow_method_code
98637 ,p_business_class_code => l_bflow_class_code
98638 ,p_inherit_description_flag => l_inherit_desc_flag);
98639 END IF;
98640
98641 --
98642 -- call analytical criteria
98643 --
98644
98645 --
98646 -- call description
98647 --
98648
98649 xla_ae_lines_pkg.SetLineDescription(
98650 p_ae_header_id => l_ae_header_id
98651 ,p_description => Description_2 (
98652 p_application_id => p_application_id
98653 , p_ae_header_id => l_ae_header_id
98654 , p_source_1 => p_source_1
98655 )
98656 );
98657
98658
98659 --
98660 -- call ADRs
98661 -- Bug 4922099
98662 --
98663 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98664 (NVL(l_actual_upg_option, 'N') = 'O') OR
98665 (NVL(l_enc_upg_option, 'N') = 'O')
98666 )
98667 THEN
98668 NULL;
98669 --
98670 --
98671
98672 l_ccid := AcctDerRule_33(
98673 p_application_id => p_application_id
98674 , p_ae_header_id => l_ae_header_id
98675 , p_source_22 => p_source_22
98676 , x_transaction_coa_id => l_adr_transaction_coa_id
98677 , x_accounting_coa_id => l_adr_accounting_coa_id
98678 , x_value_type_code => l_adr_value_type_code
98679 , p_side => 'NA'
98680 );
98681
98682 xla_ae_lines_pkg.set_ccid(
98683 p_code_combination_id => l_ccid
98684 , p_value_type_code => l_adr_value_type_code
98685 , p_transaction_coa_id => l_adr_transaction_coa_id
98686 , p_accounting_coa_id => l_adr_accounting_coa_id
98687 , p_adr_code => 'AP_LIAB'
98688 , p_adr_type_code => 'S'
98689 , p_component_type => l_component_type
98690 , p_component_code => l_component_code
98691 , p_component_type_code => l_component_type_code
98692 , p_component_appl_id => l_component_appl_id
98693 , p_amb_context_code => l_amb_context_code
98694 , p_side => 'NA'
98695 );
98696
98697
98698 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
98699 p_to_segment_code => 'GL_BALANCING'
98700 , p_segment_value => C_CHAR
98701 , p_from_segment_code => NULL
98702 , p_from_combination_id => NULL
98703 , p_value_type_code => NULL
98704 , p_transaction_coa_id => null
98705 , p_accounting_coa_id => null
98706 , p_flexfield_segment_code => NULL
98707 , p_flex_value_set_id => NULL
98708 , p_adr_code => NULL
98709 , p_adr_type_code => NULL
98710 , p_component_type => l_component_type
98711 , p_component_code => l_component_code
98712 , p_component_type_code => l_component_type_code
98713 , p_component_appl_id => l_component_appl_id
98714 , p_amb_context_code => l_amb_context_code
98715 , p_entity_code => 'AP_INVOICES'
98716 , p_event_class_code => 'DEBIT MEMOS'
98717 , p_side => 'NA'
98718 );
98719 --
98720
98721
98722 --
98723 --
98724 END IF;
98725 --
98726 -- Bug 4922099
98727 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
98728 (NVL(l_enc_upg_option, 'N') = 'O')
98729 ) AND
98730 (l_bflow_method_code = 'PRIOR_ENTRY')
98731 )
98732 THEN
98733 IF
98734 --
98735 1 = 2
98736 --
98737 THEN
98738 xla_accounting_err_pkg.build_message
98739 (p_appli_s_name => 'XLA'
98740 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98741 ,p_token_1 => 'LINE_NUMBER'
98742 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
98743 ,p_token_2 => 'LINE_TYPE_NAME'
98744 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
98748 ,l_component_appl_id
98745 l_component_type
98746 ,l_component_code
98747 ,l_component_type_code
98749 ,l_amb_context_code
98750 ,l_entity_code
98751 ,l_event_class_code
98752 )
98753 ,p_token_3 => 'OWNER'
98754 ,p_value_3 => xla_lookups_pkg.get_meaning(
98755 p_lookup_type => 'XLA_OWNER_TYPE'
98756 ,p_lookup_code => l_component_type_code
98757 )
98758 ,p_token_4 => 'PRODUCT_NAME'
98759 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
98760 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
98761 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
98762 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
98763 ,p_ae_header_id => NULL
98764 );
98765
98766 IF (C_LEVEL_ERROR>= g_log_level) THEN
98767 trace
98768 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
98769 ,p_level => C_LEVEL_ERROR
98770 ,p_module => l_log_module);
98771 END IF;
98772 END IF;
98773 END IF;
98774 --
98775 --
98776 ------------------------------------------------------------------------------------------------
98777 -- 4219869 Business Flow
98778 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
98779 -- Prior Entry. Currently, the following code is always generated.
98780 ------------------------------------------------------------------------------------------------
98781 XLA_AE_LINES_PKG.ValidateCurrentLine;
98782
98783 ------------------------------------------------------------------------------------
98784 -- 4219869 Business Flow
98785 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
98786 ------------------------------------------------------------------------------------
98787 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98788
98789 ----------------------------------------------------------------------------------
98790 -- 4219869 Business Flow
98791 -- Update journal entry status -- Need to generate this within IF <condition>
98792 ----------------------------------------------------------------------------------
98793 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98794 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
98795 ,p_balance_type_code => l_balance_type_code
98796 );
98797
98798 -------------------------------------------------------------------------------------------
98799 -- 4262811 - Generate the Accrual Reversal lines
98800 -------------------------------------------------------------------------------------------
98801 BEGIN
98802 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
98803 (g_array_event(p_event_id).array_value_num('header_index'));
98804 IF l_acc_rev_flag IS NULL THEN
98805 l_acc_rev_flag := 'N';
98806 END IF;
98807 EXCEPTION
98808 WHEN OTHERS THEN
98809 l_acc_rev_flag := 'N';
98810 END;
98811 --
98812 IF (l_acc_rev_flag = 'Y') THEN
98813
98814 -- 4645092 ------------------------------------------------------------------------------
98815 -- To allow MPA report to determine if it should generate report process
98816 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
98817 ------------------------------------------------------------------------------------------
98818
98819 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
98820 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
98821 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
98822 -- call ADRs
98823 -- Bug 4922099
98824 --
98825 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
98826 (NVL(l_actual_upg_option, 'N') = 'O') OR
98827 (NVL(l_enc_upg_option, 'N') = 'O')
98828 )
98829 THEN
98830 NULL;
98831 --
98832 --
98833
98834 l_ccid := AcctDerRule_33(
98835 p_application_id => p_application_id
98836 , p_ae_header_id => l_ae_header_id
98837 , p_source_22 => p_source_22
98838 , x_transaction_coa_id => l_adr_transaction_coa_id
98839 , x_accounting_coa_id => l_adr_accounting_coa_id
98840 , x_value_type_code => l_adr_value_type_code
98841 , p_side => 'NA'
98842 );
98843
98844 xla_ae_lines_pkg.set_ccid(
98848 , p_accounting_coa_id => l_adr_accounting_coa_id
98845 p_code_combination_id => l_ccid
98846 , p_value_type_code => l_adr_value_type_code
98847 , p_transaction_coa_id => l_adr_transaction_coa_id
98849 , p_adr_code => 'AP_LIAB'
98850 , p_adr_type_code => 'S'
98851 , p_component_type => l_component_type
98852 , p_component_code => l_component_code
98853 , p_component_type_code => l_component_type_code
98854 , p_component_appl_id => l_component_appl_id
98855 , p_amb_context_code => l_amb_context_code
98856 , p_side => 'NA'
98857 );
98858
98859
98860 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
98861 p_to_segment_code => 'GL_BALANCING'
98862 , p_segment_value => C_CHAR
98863 , p_from_segment_code => NULL
98864 , p_from_combination_id => NULL
98865 , p_value_type_code => NULL
98866 , p_transaction_coa_id => null
98867 , p_accounting_coa_id => null
98868 , p_flexfield_segment_code => NULL
98869 , p_flex_value_set_id => NULL
98870 , p_adr_code => NULL
98871 , p_adr_type_code => NULL
98872 , p_component_type => l_component_type
98873 , p_component_code => l_component_code
98874 , p_component_type_code => l_component_type_code
98875 , p_component_appl_id => l_component_appl_id
98876 , p_amb_context_code => l_amb_context_code
98877 , p_entity_code => 'AP_INVOICES'
98878 , p_event_class_code => 'DEBIT MEMOS'
98879 , p_side => 'NA'
98880 );
98881 --
98882
98883
98884 --
98885 --
98886 END IF;
98887
98888 --
98889 -- Update the line information that should be overwritten
98890 --
98891 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
98892 p_header_num => 1);
98893 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
98894
98895 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
98896
98897 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
98898 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
98899 END IF;
98900
98901 --
98902 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
98903 --
98904 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
98905 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
98906 ELSE
98907 ---------------------------------------------------------------------------------------------------
98908 -- 4262811a Switch Sign
98909 ---------------------------------------------------------------------------------------------------
98910 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
98911 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98912 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98913 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
98914 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98915 -- 5132302
98916 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
98917 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
98918
98919 END IF;
98920
98921 -- 4955764
98922 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
98923 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
98924
98925
98926 XLA_AE_LINES_PKG.ValidateCurrentLine;
98927 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
98928
98929 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
98930 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
98931 ,p_balance_type_code => l_balance_type_code);
98932
98933 END IF;
98934
98935 -----------------------------------------------------------------------------------------
98936 -- 4262811 Multiperiod Accounting
98937 -----------------------------------------------------------------------------------------
98938 -- No MPA option is assigned.
98939
98940
98941 END IF;
98942 END IF;
98943 --
98944
98945 --
98946 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
98947 trace
98948 (p_msg => 'END of AcctLineType_173'
98949 ,p_level => C_LEVEL_PROCEDURE
98950 ,p_module => l_log_module);
98951 END IF;
98952 --
98953 EXCEPTION
98954 WHEN xla_exceptions_pkg.application_exception THEN
98955 RAISE;
98956 WHEN OTHERS THEN
98957 xla_exceptions_pkg.raise_message
98958 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_173');
98959 END AcctLineType_173;
98960 --
98961
98965 -- AcctLineType_174
98962 ---------------------------------------
98963 --
98964 -- PRIVATE FUNCTION
98966 --
98967 ---------------------------------------
98968 PROCEDURE AcctLineType_174 (
98969 p_application_id IN NUMBER
98970 ,p_event_id IN NUMBER
98971 ,p_calculate_acctd_flag IN VARCHAR2
98972 ,p_calculate_g_l_flag IN VARCHAR2
98973 ,p_actual_flag IN OUT VARCHAR2
98974 ,p_balance_type_code OUT VARCHAR2
98975 ,p_gain_or_loss_ref OUT VARCHAR2
98976
98977 --Invoice Distribution Description
98978 , p_source_1 IN VARCHAR2
98979 --Automatic Offsets Value
98980 , p_source_3 IN VARCHAR2
98981 , p_source_3_meaning IN VARCHAR2
98982 --Invoice Distribution Ledger Amount
98983 , p_source_9 IN NUMBER
98984 --Invoice Liability Account
98985 , p_source_22 IN NUMBER
98986 --Accounting Reversal Indicator
98987 , p_source_41 IN VARCHAR2
98988 --Distribution Link Type
98989 , p_source_43 IN VARCHAR2
98990 --Allocation to Main Distribution Identifier
98991 , p_source_45 IN NUMBER
98992 --Invoice Identifier
98993 , p_source_46 IN NUMBER
98994 --Invoice Distribution Identifier
98995 , p_source_52 IN NUMBER
98996 --Payables Encumbrance Upgrade Credit Account
98997 , p_source_53 IN NUMBER
98998 --Payables Encumbrance Upgrade Credit Amount
98999 , p_source_54 IN NUMBER
99000 --Invoice Currency Code
99001 , p_source_55 IN VARCHAR2
99002 --Payables Encumbrance Upgrade Credit Base Amount
99003 , p_source_56 IN NUMBER
99004 --Payables Encumbrance Upgrade Debit Account
99005 , p_source_57 IN NUMBER
99006 --Payables Encumbrance Upgrade Debit Amount
99007 , p_source_58 IN NUMBER
99008 --Payables Encumbrance Upgrade Debit Base Amount
99009 , p_source_59 IN NUMBER
99010 --Payables Encumbrance Upgrade Option
99011 , p_source_60 IN VARCHAR2
99012 --Invoice Distribution Amount
99013 , p_source_61 IN NUMBER
99014 --Deferred Accounting End Date
99015 , p_source_65 IN DATE
99016 --Deferred Accounting Option
99017 , p_source_66 IN VARCHAR2
99018 --Deferred Accounting Start Date
99019 , p_source_67 IN DATE
99020 --Override Accounted Amount Indicator
99021 , p_source_68 IN VARCHAR2
99022 , p_source_68_meaning IN VARCHAR2
99023 --Invoice Supplier Identifier
99024 , p_source_69 IN NUMBER
99025 --Invoice Supplier Site Identifier
99026 , p_source_70 IN NUMBER
99027 --Third Party Type
99028 , p_source_71 IN VARCHAR2
99029 --Parent Reversal Identifier
99030 , p_source_72 IN NUMBER
99031 --Invoice Distribution Statistical Amount
99032 , p_source_73 IN NUMBER
99033 --Invoice Distribution Tax Line Identifier
99034 , p_source_74 IN NUMBER
99035 --Invoice Distribution Tax Distribution Identifier from Tax
99036 , p_source_75 IN NUMBER
99037 --Invoice Distribution Summary Tax Line Identifier
99038 , p_source_76 IN NUMBER
99039 --Payables Upgrade Credit Encumbrance Type Identifier
99040 , p_source_77 IN NUMBER
99041 --Payables Upgrade Debit Encumbrance Type Identifier
99042 , p_source_78 IN NUMBER
99043 --Business Flow Accounts Payable Application Identifier
99044 , p_source_79 IN NUMBER
99045 --Business Flow Invoice Distribution Type
99046 , p_source_80 IN VARCHAR2
99047 --Business Flow Invoice Entity Code
99048 , p_source_81 IN VARCHAR2
99049 --Business Flow Invoice Distribution Identifier
99050 , p_source_82 IN NUMBER
99051 --Business Flow Invoice Identifier
99052 , p_source_83 IN NUMBER
99053 --Self-Assessed Tax Flag
99054 , p_source_135 IN VARCHAR2
99055 , p_source_135_meaning IN VARCHAR2
99056 --Invoice Exchange Date
99057 , p_source_136 IN DATE
99058 --Invoice Exchange Rate
99059 , p_source_137 IN NUMBER
99060 --Invoice Exchange Rate Type
99061 , p_source_138 IN VARCHAR2
99062 --Invoice Type
99063 , p_source_159 IN VARCHAR2
99064 , p_source_159_meaning IN VARCHAR2
99065 )
99066 IS
99067
99068 l_component_type VARCHAR2(80);
99069 l_component_code VARCHAR2(30);
99070 l_component_type_code VARCHAR2(1);
99071 l_component_appl_id INTEGER;
99072 l_amb_context_code VARCHAR2(30);
99073 l_entity_code VARCHAR2(30);
99074 l_event_class_code VARCHAR2(30);
99075 l_ae_header_id NUMBER;
99076 l_event_type_code VARCHAR2(30);
99077 l_line_definition_code VARCHAR2(30);
99078 l_line_definition_owner_code VARCHAR2(1);
99079 --
99080 -- adr variables
99081 l_segment VARCHAR2(30);
99082 l_ccid NUMBER;
99083 l_adr_transaction_coa_id NUMBER;
99084 l_adr_accounting_coa_id NUMBER;
99085 l_adr_flexfield_segment_code VARCHAR2(30);
99086 l_adr_flex_value_set_id NUMBER;
99087 l_adr_value_type_code VARCHAR2(30);
99088 l_adr_value_combination_id NUMBER;
99089 l_adr_value_segment_code VARCHAR2(30);
99090
99091 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
99092 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
99096 -- 4262811 Variables ------------------------------------------------------------------------------------------
99093 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
99094 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
99095
99097 l_entered_amt_idx NUMBER;
99098 l_accted_amt_idx NUMBER;
99099 l_acc_rev_flag VARCHAR2(1);
99100 l_accrual_line_num NUMBER;
99101 l_tmp_amt NUMBER;
99102 l_acc_rev_natural_side_code VARCHAR2(1);
99103
99104 l_num_entries NUMBER;
99105 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
99106 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
99107 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
99108 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
99109 l_recog_line_1 NUMBER;
99110 l_recog_line_2 NUMBER;
99111
99112 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
99113 l_bflow_applied_to_amt NUMBER; -- 5132302
99114 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
99115
99116 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
99117
99118 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
99119 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
99120
99121 ---------------------------------------------------------------------------------------------------------------
99122
99123
99124 --
99125 -- bulk performance
99126 --
99127 l_balance_type_code VARCHAR2(1);
99128 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
99129 l_log_module VARCHAR2(240);
99130
99131 --
99132 -- Upgrade strategy
99133 --
99134 l_actual_upg_option VARCHAR2(1);
99135 l_enc_upg_option VARCHAR2(1);
99136
99137 --
99138 BEGIN
99139 --
99140 IF g_log_enabled THEN
99141 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_174';
99142 END IF;
99143 --
99144 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99145
99146 trace
99147 (p_msg => 'BEGIN of AcctLineType_174'
99148 ,p_level => C_LEVEL_PROCEDURE
99149 ,p_module => l_log_module);
99150
99151 END IF;
99152 --
99153 l_component_type := 'AMB_JLT';
99154 l_component_code := 'AP_LIAB_INV';
99155 l_component_type_code := 'S';
99156 l_component_appl_id := 200;
99157 l_amb_context_code := 'DEFAULT';
99158 l_entity_code := 'AP_INVOICES';
99159 l_event_class_code := 'INVOICES';
99160 l_event_type_code := 'INVOICES_ALL';
99161 l_line_definition_owner_code := 'S';
99162 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
99163 --
99164 l_balance_type_code := 'A';
99165 l_segment := NULL;
99166 l_ccid := NULL;
99167 l_adr_transaction_coa_id := NULL;
99168 l_adr_accounting_coa_id := NULL;
99169 l_adr_flexfield_segment_code := NULL;
99170 l_adr_flex_value_set_id := NULL;
99171 l_adr_value_type_code := NULL;
99172 l_adr_value_combination_id := NULL;
99173 l_adr_value_segment_code := NULL;
99174
99175 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
99176 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
99177 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
99178 l_budgetary_control_flag := 'N';
99179
99180 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99181 l_bflow_applied_to_amt := NULL; -- 5132302
99182 l_entered_amt_idx := NULL; -- 4262811
99183 l_accted_amt_idx := NULL; -- 4262811
99184 l_acc_rev_flag := NULL; -- 4262811
99185 l_accrual_line_num := NULL; -- 4262811
99186 l_tmp_amt := NULL; -- 4262811
99187 --
99188
99189 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
99190 l_balance_type_code <> 'B' THEN
99191 IF (NVL(p_source_3,'
99192 ') <> 'BALANCING_SEGMENT' AND
99193 NVL(p_source_3,'
99194 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
99195 (NVL(p_source_159,'
99196 ') = 'STANDARD' OR
99197 NVL(p_source_159,'
99198 ') = 'MIXED' OR
99199 NVL(p_source_159,'
99200 ') = 'AWT' OR
99201 NVL(p_source_159,'
99202 ') = 'PO PRICE ADJUST' OR
99203 NVL(p_source_159,'
99204 ') = 'EXPENSE REPORT' OR
99205 NVL(p_source_159,'
99206 ') = 'PAYMENT REQUEST' OR
99207 NVL(p_source_159,'
99208 ') = 'RETAINAGE RELEASE') AND
99209 NVL(p_source_135,'
99210 ') <> 'Y'
99211 THEN
99212
99213 --
99214 XLA_AE_LINES_PKG.SetNewLine;
99215
99216 p_balance_type_code := l_balance_type_code;
99217 -- set the flag so later we will know whether the gain loss line needs to be created
99218
99219 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
99220 p_actual_flag :='A';
99221 END IF;
99222
99223 --
99224 -- bulk performance
99225 --
99226 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
99227 p_header_num => 0); -- 4262811
99228 --
99232 p_natural_side_code => 'C'
99229 -- set accounting line options
99230 --
99231 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
99233 , p_gain_or_loss_flag => 'N'
99234 , p_gl_transfer_mode_code => 'S'
99235 , p_acct_entry_type_code => 'A'
99236 , p_switch_side_flag => 'Y'
99237 , p_merge_duplicate_code => 'A'
99238 );
99239 --
99240 l_acc_rev_natural_side_code := 'D'; -- 4262811
99241 --
99242 --
99243 -- set accounting line type info
99244 --
99245 xla_ae_lines_pkg.SetAcctLineType
99246 (p_component_type => l_component_type
99247 ,p_event_type_code => l_event_type_code
99248 ,p_line_definition_owner_code => l_line_definition_owner_code
99249 ,p_line_definition_code => l_line_definition_code
99250 ,p_accounting_line_code => l_component_code
99251 ,p_accounting_line_type_code => l_component_type_code
99252 ,p_accounting_line_appl_id => l_component_appl_id
99253 ,p_amb_context_code => l_amb_context_code
99254 ,p_entity_code => l_entity_code
99255 ,p_event_class_code => l_event_class_code);
99256 --
99257 -- set accounting class
99258 --
99259 xla_ae_lines_pkg.SetAcctClass(
99260 p_accounting_class_code => 'LIABILITY'
99261 , p_ae_header_id => l_ae_header_id
99262 );
99263
99264 --
99265 -- set rounding class
99266 --
99267 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
99268 'LIABILITY';
99269
99270 --
99271 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
99272 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
99273 --
99274 -- bulk performance
99275 --
99276 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
99277
99278 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
99279 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
99280
99281 -- 4955764
99282 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99283 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
99284
99285 -- 4458381 Public Sector Enh
99286
99287 --
99288 -- set accounting attributes for the line type
99289 --
99290 l_entered_amt_idx := 24;
99291 l_accted_amt_idx := 29;
99292 l_bflow_applied_to_amt_idx := 7; -- 5132302
99293 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
99294 l_rec_acct_attrs.array_char_value(1) := p_source_41;
99295 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
99296 l_rec_acct_attrs.array_num_value(2) :=
99297 xla_ae_sources_pkg.GetSystemSourceNum(
99298 p_source_code => 'XLA_EVENT_APPL_ID'
99299 , p_source_type_code => 'Y'
99300 , p_source_application_id => 602
99301 );
99302 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
99303 l_rec_acct_attrs.array_char_value(3) := p_source_43;
99304 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
99305 l_rec_acct_attrs.array_char_value(4) :=
99306 xla_ae_sources_pkg.GetSystemSourceChar(
99307 p_source_code => 'XLA_ENTITY_CODE'
99308 , p_source_type_code => 'Y'
99309 , p_source_application_id => 602
99310 );
99311 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
99312 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
99313 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
99314 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
99315 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
99316 l_rec_acct_attrs.array_num_value(7) := p_source_61;
99317 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
99318 l_rec_acct_attrs.array_num_value(8) := p_source_79;
99319 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
99320 l_rec_acct_attrs.array_char_value(9) := p_source_80;
99321 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
99322 l_rec_acct_attrs.array_char_value(10) := p_source_81;
99323 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
99324 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
99325 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
99326 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
99327 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
99328 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
99329 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
99330 l_rec_acct_attrs.array_char_value(14) := p_source_43;
99331 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
99332 l_rec_acct_attrs.array_num_value(15) := p_source_53;
99333 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
99334 l_rec_acct_attrs.array_num_value(16) := p_source_54;
99335 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
99336 l_rec_acct_attrs.array_char_value(17) := p_source_55;
99337 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
99338 l_rec_acct_attrs.array_num_value(18) := p_source_56;
99342 l_rec_acct_attrs.array_num_value(20) := p_source_58;
99339 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
99340 l_rec_acct_attrs.array_num_value(19) := p_source_57;
99341 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
99343 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
99344 l_rec_acct_attrs.array_char_value(21) := p_source_55;
99345 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
99346 l_rec_acct_attrs.array_num_value(22) := p_source_59;
99347 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
99348 l_rec_acct_attrs.array_char_value(23) := p_source_60;
99349 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
99350 l_rec_acct_attrs.array_num_value(24) := p_source_61;
99351 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
99352 l_rec_acct_attrs.array_char_value(25) := p_source_55;
99353 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
99354 l_rec_acct_attrs.array_date_value(26) := p_source_136;
99355 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
99356 l_rec_acct_attrs.array_num_value(27) := p_source_137;
99357 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
99358 l_rec_acct_attrs.array_char_value(28) := p_source_138;
99359 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
99360 l_rec_acct_attrs.array_num_value(29) := p_source_9;
99361 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
99362 l_rec_acct_attrs.array_date_value(30) := p_source_65;
99363 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
99364 l_rec_acct_attrs.array_char_value(31) := p_source_66;
99365 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
99366 l_rec_acct_attrs.array_date_value(32) := p_source_67;
99367 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
99368 l_rec_acct_attrs.array_char_value(33) := p_source_68;
99369 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
99370 l_rec_acct_attrs.array_num_value(34) := p_source_69;
99371 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
99372 l_rec_acct_attrs.array_num_value(35) := p_source_70;
99373 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
99374 l_rec_acct_attrs.array_char_value(36) := p_source_71;
99375 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
99376 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
99377 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
99378 l_rec_acct_attrs.array_char_value(38) := p_source_43;
99379 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
99380 l_rec_acct_attrs.array_num_value(39) := p_source_73;
99381 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
99382 l_rec_acct_attrs.array_num_value(40) := p_source_74;
99383 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
99384 l_rec_acct_attrs.array_num_value(41) := p_source_75;
99385 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
99386 l_rec_acct_attrs.array_num_value(42) := p_source_76;
99387 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
99388 l_rec_acct_attrs.array_num_value(43) := p_source_77;
99389 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
99390 l_rec_acct_attrs.array_num_value(44) := p_source_78;
99391
99392 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
99393 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
99394
99395 ---------------------------------------------------------------------------------------------------------------
99396 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
99397 ---------------------------------------------------------------------------------------------------------------
99398 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
99399
99400 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99401 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
99402
99403 IF xla_accounting_cache_pkg.GetValueChar
99404 (p_source_code => 'LEDGER_CATEGORY_CODE'
99405 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
99406 AND l_bflow_method_code = 'PRIOR_ENTRY'
99407 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
99408 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
99409 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
99410 )
99411 THEN
99412 xla_ae_lines_pkg.BflowUpgEntry
99413 (p_business_method_code => l_bflow_method_code
99414 ,p_business_class_code => l_bflow_class_code
99415 ,p_balance_type => l_balance_type_code);
99416 ELSE
99417 NULL;
99418 -- No business flow processing for business flow method of NONE.
99419 END IF;
99420
99421 --
99422 -- call analytical criteria
99423 --
99424
99425 --
99426 -- call description
99427 --
99428
99429 xla_ae_lines_pkg.SetLineDescription(
99430 p_ae_header_id => l_ae_header_id
99431 ,p_description => Description_2 (
99432 p_application_id => p_application_id
99433 , p_ae_header_id => l_ae_header_id
99437
99434 , p_source_1 => p_source_1
99435 )
99436 );
99438
99439 --
99440 -- call ADRs
99441 -- Bug 4922099
99442 --
99443 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99444 (NVL(l_actual_upg_option, 'N') = 'O') OR
99445 (NVL(l_enc_upg_option, 'N') = 'O')
99446 )
99447 THEN
99448 NULL;
99449 --
99450 --
99451
99452 l_ccid := AcctDerRule_33(
99453 p_application_id => p_application_id
99454 , p_ae_header_id => l_ae_header_id
99455 , p_source_22 => p_source_22
99456 , x_transaction_coa_id => l_adr_transaction_coa_id
99457 , x_accounting_coa_id => l_adr_accounting_coa_id
99458 , x_value_type_code => l_adr_value_type_code
99459 , p_side => 'NA'
99460 );
99461
99462 xla_ae_lines_pkg.set_ccid(
99463 p_code_combination_id => l_ccid
99464 , p_value_type_code => l_adr_value_type_code
99465 , p_transaction_coa_id => l_adr_transaction_coa_id
99466 , p_accounting_coa_id => l_adr_accounting_coa_id
99467 , p_adr_code => 'AP_LIAB'
99468 , p_adr_type_code => 'S'
99469 , p_component_type => l_component_type
99470 , p_component_code => l_component_code
99471 , p_component_type_code => l_component_type_code
99472 , p_component_appl_id => l_component_appl_id
99473 , p_amb_context_code => l_amb_context_code
99474 , p_side => 'NA'
99475 );
99476
99477
99478 --
99479 --
99480 END IF;
99481 --
99482 -- Bug 4922099
99483 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
99484 (NVL(l_enc_upg_option, 'N') = 'O')
99485 ) AND
99486 (l_bflow_method_code = 'PRIOR_ENTRY')
99487 )
99488 THEN
99489 IF
99490 --
99491 1 = 2
99492 --
99493 THEN
99494 xla_accounting_err_pkg.build_message
99495 (p_appli_s_name => 'XLA'
99496 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99497 ,p_token_1 => 'LINE_NUMBER'
99498 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
99499 ,p_token_2 => 'LINE_TYPE_NAME'
99500 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
99501 l_component_type
99502 ,l_component_code
99503 ,l_component_type_code
99504 ,l_component_appl_id
99505 ,l_amb_context_code
99506 ,l_entity_code
99507 ,l_event_class_code
99508 )
99509 ,p_token_3 => 'OWNER'
99510 ,p_value_3 => xla_lookups_pkg.get_meaning(
99511 p_lookup_type => 'XLA_OWNER_TYPE'
99512 ,p_lookup_code => l_component_type_code
99513 )
99514 ,p_token_4 => 'PRODUCT_NAME'
99515 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
99516 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
99517 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
99518 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
99519 ,p_ae_header_id => NULL
99520 );
99521
99522 IF (C_LEVEL_ERROR>= g_log_level) THEN
99523 trace
99524 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
99525 ,p_level => C_LEVEL_ERROR
99526 ,p_module => l_log_module);
99527 END IF;
99528 END IF;
99529 END IF;
99530 --
99531 --
99532 ------------------------------------------------------------------------------------------------
99533 -- 4219869 Business Flow
99534 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
99535 -- Prior Entry. Currently, the following code is always generated.
99536 ------------------------------------------------------------------------------------------------
99537 XLA_AE_LINES_PKG.ValidateCurrentLine;
99538
99539 ------------------------------------------------------------------------------------
99540 -- 4219869 Business Flow
99541 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
99542 ------------------------------------------------------------------------------------
99546 -- 4219869 Business Flow
99543 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99544
99545 ----------------------------------------------------------------------------------
99547 -- Update journal entry status -- Need to generate this within IF <condition>
99548 ----------------------------------------------------------------------------------
99549 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99550 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
99551 ,p_balance_type_code => l_balance_type_code
99552 );
99553
99554 -------------------------------------------------------------------------------------------
99555 -- 4262811 - Generate the Accrual Reversal lines
99556 -------------------------------------------------------------------------------------------
99557 BEGIN
99558 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
99559 (g_array_event(p_event_id).array_value_num('header_index'));
99560 IF l_acc_rev_flag IS NULL THEN
99561 l_acc_rev_flag := 'N';
99562 END IF;
99563 EXCEPTION
99564 WHEN OTHERS THEN
99565 l_acc_rev_flag := 'N';
99566 END;
99567 --
99568 IF (l_acc_rev_flag = 'Y') THEN
99569
99570 -- 4645092 ------------------------------------------------------------------------------
99571 -- To allow MPA report to determine if it should generate report process
99572 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
99573 ------------------------------------------------------------------------------------------
99574
99575 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
99576 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
99577 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
99578 -- call ADRs
99579 -- Bug 4922099
99580 --
99581 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
99582 (NVL(l_actual_upg_option, 'N') = 'O') OR
99583 (NVL(l_enc_upg_option, 'N') = 'O')
99584 )
99585 THEN
99586 NULL;
99587 --
99588 --
99589
99590 l_ccid := AcctDerRule_33(
99591 p_application_id => p_application_id
99592 , p_ae_header_id => l_ae_header_id
99593 , p_source_22 => p_source_22
99594 , x_transaction_coa_id => l_adr_transaction_coa_id
99595 , x_accounting_coa_id => l_adr_accounting_coa_id
99596 , x_value_type_code => l_adr_value_type_code
99597 , p_side => 'NA'
99598 );
99599
99600 xla_ae_lines_pkg.set_ccid(
99601 p_code_combination_id => l_ccid
99602 , p_value_type_code => l_adr_value_type_code
99603 , p_transaction_coa_id => l_adr_transaction_coa_id
99604 , p_accounting_coa_id => l_adr_accounting_coa_id
99605 , p_adr_code => 'AP_LIAB'
99606 , p_adr_type_code => 'S'
99607 , p_component_type => l_component_type
99608 , p_component_code => l_component_code
99609 , p_component_type_code => l_component_type_code
99610 , p_component_appl_id => l_component_appl_id
99611 , p_amb_context_code => l_amb_context_code
99612 , p_side => 'NA'
99613 );
99614
99615
99616 --
99617 --
99618 END IF;
99619
99620 --
99621 -- Update the line information that should be overwritten
99622 --
99623 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
99624 p_header_num => 1);
99625 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
99626
99627 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
99628
99629 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
99630 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
99631 END IF;
99632
99633 --
99634 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
99635 --
99636 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
99637 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
99638 ELSE
99639 ---------------------------------------------------------------------------------------------------
99640 -- 4262811a Switch Sign
99641 ---------------------------------------------------------------------------------------------------
99642 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
99643 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99644 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99645 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
99646 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99647 -- 5132302
99648 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
99652
99649 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
99650
99651 END IF;
99653 -- 4955764
99654 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
99655 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
99656
99657
99658 XLA_AE_LINES_PKG.ValidateCurrentLine;
99659 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
99660
99661 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
99662 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
99663 ,p_balance_type_code => l_balance_type_code);
99664
99665 END IF;
99666
99667 -----------------------------------------------------------------------------------------
99668 -- 4262811 Multiperiod Accounting
99669 -----------------------------------------------------------------------------------------
99670 -- No MPA option is assigned.
99671
99672
99673 END IF;
99674 END IF;
99675 --
99676
99677 --
99678 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99679 trace
99680 (p_msg => 'END of AcctLineType_174'
99681 ,p_level => C_LEVEL_PROCEDURE
99682 ,p_module => l_log_module);
99683 END IF;
99684 --
99685 EXCEPTION
99686 WHEN xla_exceptions_pkg.application_exception THEN
99687 RAISE;
99688 WHEN OTHERS THEN
99689 xla_exceptions_pkg.raise_message
99690 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_174');
99691 END AcctLineType_174;
99692 --
99693
99694 ---------------------------------------
99695 --
99696 -- PRIVATE FUNCTION
99697 -- AcctLineType_175
99698 --
99699 ---------------------------------------
99700 PROCEDURE AcctLineType_175 (
99701 p_application_id IN NUMBER
99702 ,p_event_id IN NUMBER
99703 ,p_calculate_acctd_flag IN VARCHAR2
99704 ,p_calculate_g_l_flag IN VARCHAR2
99705 ,p_actual_flag IN OUT VARCHAR2
99706 ,p_balance_type_code OUT VARCHAR2
99707 ,p_gain_or_loss_ref OUT VARCHAR2
99708
99709 --Invoice Distribution Description
99710 , p_source_1 IN VARCHAR2
99711 --Automatic Offsets Value
99712 , p_source_3 IN VARCHAR2
99713 , p_source_3_meaning IN VARCHAR2
99714 --Invoice Distribution Ledger Amount
99715 , p_source_9 IN NUMBER
99716 --Invoice Liability Account
99717 , p_source_22 IN NUMBER
99718 --Accounting Reversal Indicator
99719 , p_source_41 IN VARCHAR2
99720 --Distribution Link Type
99721 , p_source_43 IN VARCHAR2
99722 --Allocation to Main Distribution Identifier
99723 , p_source_45 IN NUMBER
99724 --Invoice Identifier
99725 , p_source_46 IN NUMBER
99726 --Invoice Distribution Identifier
99727 , p_source_52 IN NUMBER
99728 --Payables Encumbrance Upgrade Credit Account
99729 , p_source_53 IN NUMBER
99730 --Payables Encumbrance Upgrade Credit Amount
99731 , p_source_54 IN NUMBER
99732 --Invoice Currency Code
99733 , p_source_55 IN VARCHAR2
99734 --Payables Encumbrance Upgrade Credit Base Amount
99735 , p_source_56 IN NUMBER
99736 --Payables Encumbrance Upgrade Debit Account
99737 , p_source_57 IN NUMBER
99738 --Payables Encumbrance Upgrade Debit Amount
99739 , p_source_58 IN NUMBER
99740 --Payables Encumbrance Upgrade Debit Base Amount
99741 , p_source_59 IN NUMBER
99742 --Payables Encumbrance Upgrade Option
99743 , p_source_60 IN VARCHAR2
99744 --Invoice Distribution Amount
99745 , p_source_61 IN NUMBER
99746 --Deferred Accounting End Date
99747 , p_source_65 IN DATE
99748 --Deferred Accounting Option
99749 , p_source_66 IN VARCHAR2
99750 --Deferred Accounting Start Date
99751 , p_source_67 IN DATE
99752 --Override Accounted Amount Indicator
99753 , p_source_68 IN VARCHAR2
99754 , p_source_68_meaning IN VARCHAR2
99755 --Invoice Supplier Identifier
99756 , p_source_69 IN NUMBER
99757 --Invoice Supplier Site Identifier
99758 , p_source_70 IN NUMBER
99759 --Third Party Type
99760 , p_source_71 IN VARCHAR2
99761 --Parent Reversal Identifier
99762 , p_source_72 IN NUMBER
99763 --Invoice Distribution Statistical Amount
99764 , p_source_73 IN NUMBER
99765 --Invoice Distribution Tax Line Identifier
99766 , p_source_74 IN NUMBER
99767 --Invoice Distribution Tax Distribution Identifier from Tax
99768 , p_source_75 IN NUMBER
99769 --Invoice Distribution Summary Tax Line Identifier
99770 , p_source_76 IN NUMBER
99771 --Payables Upgrade Credit Encumbrance Type Identifier
99772 , p_source_77 IN NUMBER
99773 --Payables Upgrade Debit Encumbrance Type Identifier
99774 , p_source_78 IN NUMBER
99775 --Business Flow Accounts Payable Application Identifier
99776 , p_source_79 IN NUMBER
99777 --Business Flow Invoice Distribution Type
99778 , p_source_80 IN VARCHAR2
99779 --Business Flow Invoice Entity Code
99780 , p_source_81 IN VARCHAR2
99781 --Business Flow Invoice Distribution Identifier
99782 , p_source_82 IN NUMBER
99783 --Business Flow Invoice Identifier
99787 , p_source_135_meaning IN VARCHAR2
99784 , p_source_83 IN NUMBER
99785 --Self-Assessed Tax Flag
99786 , p_source_135 IN VARCHAR2
99788 --Invoice Exchange Date
99789 , p_source_136 IN DATE
99790 --Invoice Exchange Rate
99791 , p_source_137 IN NUMBER
99792 --Invoice Exchange Rate Type
99793 , p_source_138 IN VARCHAR2
99794 --Invoice Type
99795 , p_source_159 IN VARCHAR2
99796 , p_source_159_meaning IN VARCHAR2
99797 )
99798 IS
99799
99800 l_component_type VARCHAR2(80);
99801 l_component_code VARCHAR2(30);
99802 l_component_type_code VARCHAR2(1);
99803 l_component_appl_id INTEGER;
99804 l_amb_context_code VARCHAR2(30);
99805 l_entity_code VARCHAR2(30);
99806 l_event_class_code VARCHAR2(30);
99807 l_ae_header_id NUMBER;
99808 l_event_type_code VARCHAR2(30);
99809 l_line_definition_code VARCHAR2(30);
99810 l_line_definition_owner_code VARCHAR2(1);
99811 --
99812 -- adr variables
99813 l_segment VARCHAR2(30);
99814 l_ccid NUMBER;
99815 l_adr_transaction_coa_id NUMBER;
99816 l_adr_accounting_coa_id NUMBER;
99817 l_adr_flexfield_segment_code VARCHAR2(30);
99818 l_adr_flex_value_set_id NUMBER;
99819 l_adr_value_type_code VARCHAR2(30);
99820 l_adr_value_combination_id NUMBER;
99821 l_adr_value_segment_code VARCHAR2(30);
99822
99823 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
99824 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
99825 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
99826 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
99827
99828 -- 4262811 Variables ------------------------------------------------------------------------------------------
99829 l_entered_amt_idx NUMBER;
99830 l_accted_amt_idx NUMBER;
99831 l_acc_rev_flag VARCHAR2(1);
99832 l_accrual_line_num NUMBER;
99833 l_tmp_amt NUMBER;
99834 l_acc_rev_natural_side_code VARCHAR2(1);
99835
99836 l_num_entries NUMBER;
99837 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
99838 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
99839 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
99840 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
99841 l_recog_line_1 NUMBER;
99842 l_recog_line_2 NUMBER;
99843
99844 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
99845 l_bflow_applied_to_amt NUMBER; -- 5132302
99846 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
99847
99848 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
99849
99850 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
99851 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
99852
99853 ---------------------------------------------------------------------------------------------------------------
99854
99855
99856 --
99857 -- bulk performance
99858 --
99859 l_balance_type_code VARCHAR2(1);
99860 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
99861 l_log_module VARCHAR2(240);
99862
99863 --
99864 -- Upgrade strategy
99865 --
99866 l_actual_upg_option VARCHAR2(1);
99867 l_enc_upg_option VARCHAR2(1);
99868
99869 --
99870 BEGIN
99871 --
99872 IF g_log_enabled THEN
99873 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_175';
99874 END IF;
99875 --
99876 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
99877
99878 trace
99879 (p_msg => 'BEGIN of AcctLineType_175'
99880 ,p_level => C_LEVEL_PROCEDURE
99881 ,p_module => l_log_module);
99882
99883 END IF;
99884 --
99885 l_component_type := 'AMB_JLT';
99886 l_component_code := 'AP_LIAB_INV_AOS_AS';
99887 l_component_type_code := 'S';
99888 l_component_appl_id := 200;
99889 l_amb_context_code := 'DEFAULT';
99890 l_entity_code := 'AP_INVOICES';
99891 l_event_class_code := 'INVOICES';
99892 l_event_type_code := 'INVOICES_ALL';
99893 l_line_definition_owner_code := 'S';
99894 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
99895 --
99896 l_balance_type_code := 'A';
99897 l_segment := NULL;
99898 l_ccid := NULL;
99899 l_adr_transaction_coa_id := NULL;
99900 l_adr_accounting_coa_id := NULL;
99901 l_adr_flexfield_segment_code := NULL;
99902 l_adr_flex_value_set_id := NULL;
99903 l_adr_value_type_code := NULL;
99904 l_adr_value_combination_id := NULL;
99905 l_adr_value_segment_code := NULL;
99906
99907 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
99908 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
99909 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
99910 l_budgetary_control_flag := 'N';
99911
99912 l_bflow_applied_to_amt_idx := NULL; -- 5132302
99913 l_bflow_applied_to_amt := NULL; -- 5132302
99917 l_accrual_line_num := NULL; -- 4262811
99914 l_entered_amt_idx := NULL; -- 4262811
99915 l_accted_amt_idx := NULL; -- 4262811
99916 l_acc_rev_flag := NULL; -- 4262811
99918 l_tmp_amt := NULL; -- 4262811
99919 --
99920
99921 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
99922 l_balance_type_code <> 'B' THEN
99923 IF NVL(p_source_3,'
99924 ') = 'ACCOUNT_SEGMENT_VALUE' AND
99925 (NVL(p_source_159,'
99926 ') = 'STANDARD' OR
99927 NVL(p_source_159,'
99928 ') = 'MIXED' OR
99929 NVL(p_source_159,'
99930 ') = 'AWT' OR
99931 NVL(p_source_159,'
99932 ') = 'PO PRICE ADJUST' OR
99933 NVL(p_source_159,'
99934 ') = 'EXPENSE REPORT' OR
99935 NVL(p_source_159,'
99936 ') = 'PAYMENT REQUEST' OR
99937 NVL(p_source_159,'
99938 ') = 'RETAINAGE RELEASE') AND
99939 NVL(p_source_135,'
99940 ') <> 'Y'
99941 THEN
99942
99943 --
99944 XLA_AE_LINES_PKG.SetNewLine;
99945
99946 p_balance_type_code := l_balance_type_code;
99947 -- set the flag so later we will know whether the gain loss line needs to be created
99948
99949 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
99950 p_actual_flag :='A';
99951 END IF;
99952
99953 --
99954 -- bulk performance
99955 --
99956 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
99957 p_header_num => 0); -- 4262811
99958 --
99959 -- set accounting line options
99960 --
99961 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
99962 p_natural_side_code => 'C'
99963 , p_gain_or_loss_flag => 'N'
99964 , p_gl_transfer_mode_code => 'S'
99965 , p_acct_entry_type_code => 'A'
99966 , p_switch_side_flag => 'Y'
99967 , p_merge_duplicate_code => 'A'
99968 );
99969 --
99970 l_acc_rev_natural_side_code := 'D'; -- 4262811
99971 --
99972 --
99973 -- set accounting line type info
99974 --
99975 xla_ae_lines_pkg.SetAcctLineType
99976 (p_component_type => l_component_type
99977 ,p_event_type_code => l_event_type_code
99978 ,p_line_definition_owner_code => l_line_definition_owner_code
99979 ,p_line_definition_code => l_line_definition_code
99980 ,p_accounting_line_code => l_component_code
99981 ,p_accounting_line_type_code => l_component_type_code
99982 ,p_accounting_line_appl_id => l_component_appl_id
99983 ,p_amb_context_code => l_amb_context_code
99984 ,p_entity_code => l_entity_code
99985 ,p_event_class_code => l_event_class_code);
99986 --
99987 -- set accounting class
99988 --
99989 xla_ae_lines_pkg.SetAcctClass(
99990 p_accounting_class_code => 'LIABILITY'
99991 , p_ae_header_id => l_ae_header_id
99992 );
99993
99994 --
99995 -- set rounding class
99996 --
99997 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
99998 'LIABILITY';
99999
100000 --
100001 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100002 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100003 --
100004 -- bulk performance
100005 --
100006 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100007
100008 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100009 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100010
100011 -- 4955764
100012 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100013 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100014
100015 -- 4458381 Public Sector Enh
100016
100017 --
100018 -- set accounting attributes for the line type
100019 --
100020 l_entered_amt_idx := 24;
100021 l_accted_amt_idx := 29;
100022 l_bflow_applied_to_amt_idx := 7; -- 5132302
100023 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100024 l_rec_acct_attrs.array_char_value(1) := p_source_41;
100025 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
100026 l_rec_acct_attrs.array_num_value(2) :=
100027 xla_ae_sources_pkg.GetSystemSourceNum(
100028 p_source_code => 'XLA_EVENT_APPL_ID'
100029 , p_source_type_code => 'Y'
100030 , p_source_application_id => 602
100031 );
100032 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
100033 l_rec_acct_attrs.array_char_value(3) := p_source_43;
100034 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
100035 l_rec_acct_attrs.array_char_value(4) :=
100036 xla_ae_sources_pkg.GetSystemSourceChar(
100037 p_source_code => 'XLA_ENTITY_CODE'
100038 , p_source_type_code => 'Y'
100039 , p_source_application_id => 602
100040 );
100041 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
100042 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
100043 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
100047 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
100044 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
100045 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
100046 l_rec_acct_attrs.array_num_value(7) := p_source_61;
100048 l_rec_acct_attrs.array_num_value(8) := p_source_79;
100049 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100050 l_rec_acct_attrs.array_char_value(9) := p_source_80;
100051 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
100052 l_rec_acct_attrs.array_char_value(10) := p_source_81;
100053 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
100054 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
100055 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100056 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
100057 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
100058 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
100059 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
100060 l_rec_acct_attrs.array_char_value(14) := p_source_43;
100061 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
100062 l_rec_acct_attrs.array_num_value(15) := p_source_53;
100063 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
100064 l_rec_acct_attrs.array_num_value(16) := p_source_54;
100065 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
100066 l_rec_acct_attrs.array_char_value(17) := p_source_55;
100067 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
100068 l_rec_acct_attrs.array_num_value(18) := p_source_56;
100069 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
100070 l_rec_acct_attrs.array_num_value(19) := p_source_57;
100071 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
100072 l_rec_acct_attrs.array_num_value(20) := p_source_58;
100073 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
100074 l_rec_acct_attrs.array_char_value(21) := p_source_55;
100075 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
100076 l_rec_acct_attrs.array_num_value(22) := p_source_59;
100077 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
100078 l_rec_acct_attrs.array_char_value(23) := p_source_60;
100079 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
100080 l_rec_acct_attrs.array_num_value(24) := p_source_61;
100081 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
100082 l_rec_acct_attrs.array_char_value(25) := p_source_55;
100083 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
100084 l_rec_acct_attrs.array_date_value(26) := p_source_136;
100085 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
100086 l_rec_acct_attrs.array_num_value(27) := p_source_137;
100087 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
100088 l_rec_acct_attrs.array_char_value(28) := p_source_138;
100089 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
100090 l_rec_acct_attrs.array_num_value(29) := p_source_9;
100091 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
100092 l_rec_acct_attrs.array_date_value(30) := p_source_65;
100093 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
100094 l_rec_acct_attrs.array_char_value(31) := p_source_66;
100095 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
100096 l_rec_acct_attrs.array_date_value(32) := p_source_67;
100097 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
100098 l_rec_acct_attrs.array_char_value(33) := p_source_68;
100099 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
100100 l_rec_acct_attrs.array_num_value(34) := p_source_69;
100101 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
100102 l_rec_acct_attrs.array_num_value(35) := p_source_70;
100103 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
100104 l_rec_acct_attrs.array_char_value(36) := p_source_71;
100105 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
100106 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
100107 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
100108 l_rec_acct_attrs.array_char_value(38) := p_source_43;
100109 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
100110 l_rec_acct_attrs.array_num_value(39) := p_source_73;
100111 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
100112 l_rec_acct_attrs.array_num_value(40) := p_source_74;
100113 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
100114 l_rec_acct_attrs.array_num_value(41) := p_source_75;
100115 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
100116 l_rec_acct_attrs.array_num_value(42) := p_source_76;
100117 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
100118 l_rec_acct_attrs.array_num_value(43) := p_source_77;
100119 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
100120 l_rec_acct_attrs.array_num_value(44) := p_source_78;
100121
100122 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
100123 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
100124
100125 ---------------------------------------------------------------------------------------------------------------
100126 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
100130 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100127 ---------------------------------------------------------------------------------------------------------------
100128 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
100129
100131 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100132
100133 IF xla_accounting_cache_pkg.GetValueChar
100134 (p_source_code => 'LEDGER_CATEGORY_CODE'
100135 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
100136 AND l_bflow_method_code = 'PRIOR_ENTRY'
100137 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
100138 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
100139 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
100140 )
100141 THEN
100142 xla_ae_lines_pkg.BflowUpgEntry
100143 (p_business_method_code => l_bflow_method_code
100144 ,p_business_class_code => l_bflow_class_code
100145 ,p_balance_type => l_balance_type_code);
100146 ELSE
100147 NULL;
100148 XLA_AE_LINES_PKG.business_flow_validation(
100149 p_business_method_code => l_bflow_method_code
100150 ,p_business_class_code => l_bflow_class_code
100151 ,p_inherit_description_flag => l_inherit_desc_flag);
100152 END IF;
100153
100154 --
100155 -- call analytical criteria
100156 --
100157
100158 --
100159 -- call description
100160 --
100161
100162 xla_ae_lines_pkg.SetLineDescription(
100163 p_ae_header_id => l_ae_header_id
100164 ,p_description => Description_2 (
100165 p_application_id => p_application_id
100166 , p_ae_header_id => l_ae_header_id
100167 , p_source_1 => p_source_1
100168 )
100169 );
100170
100171
100172 --
100173 -- call ADRs
100174 -- Bug 4922099
100175 --
100176 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100177 (NVL(l_actual_upg_option, 'N') = 'O') OR
100178 (NVL(l_enc_upg_option, 'N') = 'O')
100179 )
100180 THEN
100181 NULL;
100182 --
100183 --
100184
100185 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
100186 p_code_combination_id => TO_NUMBER(C_NUM)
100187 , p_value_type_code => NULL
100188 , p_transaction_coa_id => null
100189 , p_accounting_coa_id => null
100190 , p_adr_code => NULL
100191 , p_adr_type_code => NULL
100192 , p_component_type => l_component_type
100193 , p_component_code => l_component_code
100194 , p_component_type_code => l_component_type_code
100195 , p_component_appl_id => l_component_appl_id
100196 , p_amb_context_code => l_amb_context_code
100197 , p_side => NULL
100198 );
100199
100200
100201 -- initialise segments
100202 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100203 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100204 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100205 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100206 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100207 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100208 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100209 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100210 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100211 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100212 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100213 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100214 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100215 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100216 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100217 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100218 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100219 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100220 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100221 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100222 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100223 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100224 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100225 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100226 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100227 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100228 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100229 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100233
100230 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100231 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100232 --
100234 --
100235
100236
100237 l_segment := AcctDerRule_14(
100238 p_application_id => p_application_id
100239 , p_ae_header_id => l_ae_header_id
100240 , p_source_22 => p_source_22
100241 , x_transaction_coa_id => l_adr_transaction_coa_id
100242 , x_accounting_coa_id => l_adr_accounting_coa_id
100243 , x_flexfield_segment_code => l_adr_flexfield_segment_code
100244 , x_flex_value_set_id => l_adr_flex_value_set_id
100245 , x_value_type_code => l_adr_value_type_code
100246 , x_value_combination_id => l_adr_value_combination_id
100247 , x_value_segment_code => l_adr_value_segment_code
100248 , p_side => 'NA'
100249 , p_override_seg_flag => 'Y'
100250 );
100251
100252 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
100253
100254 xla_ae_lines_pkg.set_segment(
100255 p_to_segment_code => 'GL_ACCOUNT'
100256 , p_segment_value => l_segment
100257 , p_from_segment_code => l_adr_value_segment_code
100258 , p_from_combination_id => l_adr_value_combination_id
100259 , p_value_type_code => l_adr_value_type_code
100260 , p_transaction_coa_id => l_adr_transaction_coa_id
100261 , p_accounting_coa_id => l_adr_accounting_coa_id
100262 , p_flexfield_segment_code => l_adr_flexfield_segment_code
100263 , p_flex_value_set_id => l_adr_flex_value_set_id
100264 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
100265 , p_adr_type_code => 'S'
100266 , p_component_type => l_component_type
100267 , p_component_code => l_component_code
100268 , p_component_type_code => l_component_type_code
100269 , p_component_appl_id => l_component_appl_id
100270 , p_amb_context_code => l_amb_context_code
100271 , p_entity_code => 'AP_INVOICES'
100272 , p_event_class_code => 'INVOICES'
100273 , p_side => 'NA'
100274 );
100275
100276 END IF;
100277
100278 --
100279 --
100280 END IF;
100281 --
100282 -- Bug 4922099
100283 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
100284 (NVL(l_enc_upg_option, 'N') = 'O')
100285 ) AND
100286 (l_bflow_method_code = 'PRIOR_ENTRY')
100287 )
100288 THEN
100289 IF
100290 --
100291 1 = 2
100292 --
100293 THEN
100294 xla_accounting_err_pkg.build_message
100295 (p_appli_s_name => 'XLA'
100296 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100297 ,p_token_1 => 'LINE_NUMBER'
100298 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
100299 ,p_token_2 => 'LINE_TYPE_NAME'
100300 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
100301 l_component_type
100302 ,l_component_code
100303 ,l_component_type_code
100304 ,l_component_appl_id
100305 ,l_amb_context_code
100306 ,l_entity_code
100307 ,l_event_class_code
100308 )
100309 ,p_token_3 => 'OWNER'
100310 ,p_value_3 => xla_lookups_pkg.get_meaning(
100311 p_lookup_type => 'XLA_OWNER_TYPE'
100312 ,p_lookup_code => l_component_type_code
100313 )
100314 ,p_token_4 => 'PRODUCT_NAME'
100315 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
100316 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
100317 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
100318 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
100319 ,p_ae_header_id => NULL
100320 );
100321
100322 IF (C_LEVEL_ERROR>= g_log_level) THEN
100323 trace
100324 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
100325 ,p_level => C_LEVEL_ERROR
100329 END IF;
100326 ,p_module => l_log_module);
100327 END IF;
100328 END IF;
100330 --
100331 --
100332 ------------------------------------------------------------------------------------------------
100333 -- 4219869 Business Flow
100334 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
100335 -- Prior Entry. Currently, the following code is always generated.
100336 ------------------------------------------------------------------------------------------------
100337 XLA_AE_LINES_PKG.ValidateCurrentLine;
100338
100339 ------------------------------------------------------------------------------------
100340 -- 4219869 Business Flow
100341 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
100342 ------------------------------------------------------------------------------------
100343 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100344
100345 ----------------------------------------------------------------------------------
100346 -- 4219869 Business Flow
100347 -- Update journal entry status -- Need to generate this within IF <condition>
100348 ----------------------------------------------------------------------------------
100349 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100350 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
100351 ,p_balance_type_code => l_balance_type_code
100352 );
100353
100354 -------------------------------------------------------------------------------------------
100355 -- 4262811 - Generate the Accrual Reversal lines
100356 -------------------------------------------------------------------------------------------
100357 BEGIN
100358 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
100359 (g_array_event(p_event_id).array_value_num('header_index'));
100360 IF l_acc_rev_flag IS NULL THEN
100361 l_acc_rev_flag := 'N';
100362 END IF;
100363 EXCEPTION
100364 WHEN OTHERS THEN
100365 l_acc_rev_flag := 'N';
100366 END;
100367 --
100368 IF (l_acc_rev_flag = 'Y') THEN
100369
100370 -- 4645092 ------------------------------------------------------------------------------
100371 -- To allow MPA report to determine if it should generate report process
100372 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
100373 ------------------------------------------------------------------------------------------
100374
100375 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
100376 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
100377 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
100378 -- call ADRs
100379 -- Bug 4922099
100380 --
100381 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
100382 (NVL(l_actual_upg_option, 'N') = 'O') OR
100383 (NVL(l_enc_upg_option, 'N') = 'O')
100384 )
100385 THEN
100386 NULL;
100387 --
100388 --
100389
100390 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
100391 p_code_combination_id => TO_NUMBER(C_NUM)
100392 , p_value_type_code => NULL
100393 , p_transaction_coa_id => null
100394 , p_accounting_coa_id => null
100395 , p_adr_code => NULL
100396 , p_adr_type_code => NULL
100397 , p_component_type => l_component_type
100398 , p_component_code => l_component_code
100399 , p_component_type_code => l_component_type_code
100400 , p_component_appl_id => l_component_appl_id
100401 , p_amb_context_code => l_amb_context_code
100402 , p_side => NULL
100403 );
100404
100405
100406 -- initialise segments
100407 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100408 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100409 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100410 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100411 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100412 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100413 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100414 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100415 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100416 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100417 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100418 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100419 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100420 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100421 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100422 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100423 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100424 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100425 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100429 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100426 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100427 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100428 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100430 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100431 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100432 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100433 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100434 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100435 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100436 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
100437 --
100438
100439 --
100440
100441
100442 l_segment := AcctDerRule_14(
100443 p_application_id => p_application_id
100444 , p_ae_header_id => l_ae_header_id
100445 , p_source_22 => p_source_22
100446 , x_transaction_coa_id => l_adr_transaction_coa_id
100447 , x_accounting_coa_id => l_adr_accounting_coa_id
100448 , x_flexfield_segment_code => l_adr_flexfield_segment_code
100449 , x_flex_value_set_id => l_adr_flex_value_set_id
100450 , x_value_type_code => l_adr_value_type_code
100451 , x_value_combination_id => l_adr_value_combination_id
100452 , x_value_segment_code => l_adr_value_segment_code
100453 , p_side => 'NA'
100454 , p_override_seg_flag => 'Y'
100455 );
100456
100457 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
100458
100459 xla_ae_lines_pkg.set_segment(
100460 p_to_segment_code => 'GL_ACCOUNT'
100461 , p_segment_value => l_segment
100462 , p_from_segment_code => l_adr_value_segment_code
100463 , p_from_combination_id => l_adr_value_combination_id
100464 , p_value_type_code => l_adr_value_type_code
100465 , p_transaction_coa_id => l_adr_transaction_coa_id
100466 , p_accounting_coa_id => l_adr_accounting_coa_id
100467 , p_flexfield_segment_code => l_adr_flexfield_segment_code
100468 , p_flex_value_set_id => l_adr_flex_value_set_id
100469 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
100470 , p_adr_type_code => 'S'
100471 , p_component_type => l_component_type
100472 , p_component_code => l_component_code
100473 , p_component_type_code => l_component_type_code
100474 , p_component_appl_id => l_component_appl_id
100475 , p_amb_context_code => l_amb_context_code
100476 , p_entity_code => 'AP_INVOICES'
100477 , p_event_class_code => 'INVOICES'
100478 , p_side => 'NA'
100479 );
100480
100481 END IF;
100482
100483 --
100484 --
100485 END IF;
100486
100487 --
100488 -- Update the line information that should be overwritten
100489 --
100490 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
100491 p_header_num => 1);
100492 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
100493
100494 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
100495
100496 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
100497 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
100498 END IF;
100499
100500 --
100501 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
100502 --
100503 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
100504 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
100505 ELSE
100506 ---------------------------------------------------------------------------------------------------
100507 -- 4262811a Switch Sign
100508 ---------------------------------------------------------------------------------------------------
100509 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
100510 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100511 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100512 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
100513 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100514 -- 5132302
100515 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
100516 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
100517
100518 END IF;
100519
100520 -- 4955764
100521 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100522 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
100523
100524
100528 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
100525 XLA_AE_LINES_PKG.ValidateCurrentLine;
100526 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
100527
100529 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
100530 ,p_balance_type_code => l_balance_type_code);
100531
100532 END IF;
100533
100534 -----------------------------------------------------------------------------------------
100535 -- 4262811 Multiperiod Accounting
100536 -----------------------------------------------------------------------------------------
100537 -- No MPA option is assigned.
100538
100539
100540 END IF;
100541 END IF;
100542 --
100543
100544 --
100545 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100546 trace
100547 (p_msg => 'END of AcctLineType_175'
100548 ,p_level => C_LEVEL_PROCEDURE
100549 ,p_module => l_log_module);
100550 END IF;
100551 --
100552 EXCEPTION
100553 WHEN xla_exceptions_pkg.application_exception THEN
100554 RAISE;
100555 WHEN OTHERS THEN
100556 xla_exceptions_pkg.raise_message
100557 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_175');
100558 END AcctLineType_175;
100559 --
100560
100561 ---------------------------------------
100562 --
100563 -- PRIVATE FUNCTION
100564 -- AcctLineType_176
100565 --
100566 ---------------------------------------
100567 PROCEDURE AcctLineType_176 (
100568 p_application_id IN NUMBER
100569 ,p_event_id IN NUMBER
100570 ,p_calculate_acctd_flag IN VARCHAR2
100571 ,p_calculate_g_l_flag IN VARCHAR2
100572 ,p_actual_flag IN OUT VARCHAR2
100573 ,p_balance_type_code OUT VARCHAR2
100574 ,p_gain_or_loss_ref OUT VARCHAR2
100575
100576 --Invoice Distribution Description
100577 , p_source_1 IN VARCHAR2
100578 --Automatic Offsets Value
100579 , p_source_3 IN VARCHAR2
100580 , p_source_3_meaning IN VARCHAR2
100581 --Invoice Distribution Ledger Amount
100582 , p_source_9 IN NUMBER
100583 --Invoice Liability Account
100584 , p_source_22 IN NUMBER
100585 --Accounting Reversal Indicator
100586 , p_source_41 IN VARCHAR2
100587 --Distribution Link Type
100588 , p_source_43 IN VARCHAR2
100589 --Allocation to Main Distribution Identifier
100590 , p_source_45 IN NUMBER
100591 --Invoice Identifier
100592 , p_source_46 IN NUMBER
100593 --Invoice Distribution Identifier
100594 , p_source_52 IN NUMBER
100595 --Payables Encumbrance Upgrade Credit Account
100596 , p_source_53 IN NUMBER
100597 --Payables Encumbrance Upgrade Credit Amount
100598 , p_source_54 IN NUMBER
100599 --Invoice Currency Code
100600 , p_source_55 IN VARCHAR2
100601 --Payables Encumbrance Upgrade Credit Base Amount
100602 , p_source_56 IN NUMBER
100603 --Payables Encumbrance Upgrade Debit Account
100604 , p_source_57 IN NUMBER
100605 --Payables Encumbrance Upgrade Debit Amount
100606 , p_source_58 IN NUMBER
100607 --Payables Encumbrance Upgrade Debit Base Amount
100608 , p_source_59 IN NUMBER
100609 --Payables Encumbrance Upgrade Option
100610 , p_source_60 IN VARCHAR2
100611 --Invoice Distribution Amount
100612 , p_source_61 IN NUMBER
100613 --Deferred Accounting End Date
100614 , p_source_65 IN DATE
100615 --Deferred Accounting Option
100616 , p_source_66 IN VARCHAR2
100617 --Deferred Accounting Start Date
100618 , p_source_67 IN DATE
100619 --Override Accounted Amount Indicator
100620 , p_source_68 IN VARCHAR2
100621 , p_source_68_meaning IN VARCHAR2
100622 --Invoice Supplier Identifier
100623 , p_source_69 IN NUMBER
100624 --Invoice Supplier Site Identifier
100625 , p_source_70 IN NUMBER
100626 --Third Party Type
100627 , p_source_71 IN VARCHAR2
100628 --Parent Reversal Identifier
100629 , p_source_72 IN NUMBER
100630 --Invoice Distribution Statistical Amount
100631 , p_source_73 IN NUMBER
100632 --Invoice Distribution Tax Line Identifier
100633 , p_source_74 IN NUMBER
100634 --Invoice Distribution Tax Distribution Identifier from Tax
100635 , p_source_75 IN NUMBER
100636 --Invoice Distribution Summary Tax Line Identifier
100637 , p_source_76 IN NUMBER
100638 --Payables Upgrade Credit Encumbrance Type Identifier
100639 , p_source_77 IN NUMBER
100640 --Payables Upgrade Debit Encumbrance Type Identifier
100641 , p_source_78 IN NUMBER
100642 --Business Flow Accounts Payable Application Identifier
100643 , p_source_79 IN NUMBER
100644 --Business Flow Invoice Distribution Type
100645 , p_source_80 IN VARCHAR2
100646 --Business Flow Invoice Entity Code
100647 , p_source_81 IN VARCHAR2
100648 --Business Flow Invoice Distribution Identifier
100649 , p_source_82 IN NUMBER
100650 --Business Flow Invoice Identifier
100651 , p_source_83 IN NUMBER
100652 --Self-Assessed Tax Flag
100653 , p_source_135 IN VARCHAR2
100654 , p_source_135_meaning IN VARCHAR2
100655 --Invoice Exchange Date
100656 , p_source_136 IN DATE
100657 --Invoice Exchange Rate
100658 , p_source_137 IN NUMBER
100659 --Invoice Exchange Rate Type
100660 , p_source_138 IN VARCHAR2
100661 --Invoice Type
100662 , p_source_159 IN VARCHAR2
100663 , p_source_159_meaning IN VARCHAR2
100667 l_component_type VARCHAR2(80);
100664 )
100665 IS
100666
100668 l_component_code VARCHAR2(30);
100669 l_component_type_code VARCHAR2(1);
100670 l_component_appl_id INTEGER;
100671 l_amb_context_code VARCHAR2(30);
100672 l_entity_code VARCHAR2(30);
100673 l_event_class_code VARCHAR2(30);
100674 l_ae_header_id NUMBER;
100675 l_event_type_code VARCHAR2(30);
100676 l_line_definition_code VARCHAR2(30);
100677 l_line_definition_owner_code VARCHAR2(1);
100678 --
100679 -- adr variables
100680 l_segment VARCHAR2(30);
100681 l_ccid NUMBER;
100682 l_adr_transaction_coa_id NUMBER;
100683 l_adr_accounting_coa_id NUMBER;
100684 l_adr_flexfield_segment_code VARCHAR2(30);
100685 l_adr_flex_value_set_id NUMBER;
100686 l_adr_value_type_code VARCHAR2(30);
100687 l_adr_value_combination_id NUMBER;
100688 l_adr_value_segment_code VARCHAR2(30);
100689
100690 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
100691 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
100692 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
100693 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
100694
100695 -- 4262811 Variables ------------------------------------------------------------------------------------------
100696 l_entered_amt_idx NUMBER;
100697 l_accted_amt_idx NUMBER;
100698 l_acc_rev_flag VARCHAR2(1);
100699 l_accrual_line_num NUMBER;
100700 l_tmp_amt NUMBER;
100701 l_acc_rev_natural_side_code VARCHAR2(1);
100702
100703 l_num_entries NUMBER;
100704 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
100705 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
100706 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
100707 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
100708 l_recog_line_1 NUMBER;
100709 l_recog_line_2 NUMBER;
100710
100711 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
100712 l_bflow_applied_to_amt NUMBER; -- 5132302
100713 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
100714
100715 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
100716
100717 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
100718 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
100719
100720 ---------------------------------------------------------------------------------------------------------------
100721
100722
100723 --
100724 -- bulk performance
100725 --
100726 l_balance_type_code VARCHAR2(1);
100727 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
100728 l_log_module VARCHAR2(240);
100729
100730 --
100731 -- Upgrade strategy
100732 --
100733 l_actual_upg_option VARCHAR2(1);
100734 l_enc_upg_option VARCHAR2(1);
100735
100736 --
100737 BEGIN
100738 --
100739 IF g_log_enabled THEN
100740 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_176';
100741 END IF;
100742 --
100743 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
100744
100745 trace
100746 (p_msg => 'BEGIN of AcctLineType_176'
100747 ,p_level => C_LEVEL_PROCEDURE
100748 ,p_module => l_log_module);
100749
100750 END IF;
100751 --
100752 l_component_type := 'AMB_JLT';
100753 l_component_code := 'AP_LIAB_INV_AOS_BS';
100754 l_component_type_code := 'S';
100755 l_component_appl_id := 200;
100756 l_amb_context_code := 'DEFAULT';
100757 l_entity_code := 'AP_INVOICES';
100758 l_event_class_code := 'INVOICES';
100759 l_event_type_code := 'INVOICES_ALL';
100760 l_line_definition_owner_code := 'S';
100761 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
100762 --
100763 l_balance_type_code := 'A';
100764 l_segment := NULL;
100765 l_ccid := NULL;
100766 l_adr_transaction_coa_id := NULL;
100767 l_adr_accounting_coa_id := NULL;
100768 l_adr_flexfield_segment_code := NULL;
100769 l_adr_flex_value_set_id := NULL;
100770 l_adr_value_type_code := NULL;
100771 l_adr_value_combination_id := NULL;
100772 l_adr_value_segment_code := NULL;
100773
100774 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
100775 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
100776 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
100777 l_budgetary_control_flag := 'N';
100778
100779 l_bflow_applied_to_amt_idx := NULL; -- 5132302
100780 l_bflow_applied_to_amt := NULL; -- 5132302
100781 l_entered_amt_idx := NULL; -- 4262811
100782 l_accted_amt_idx := NULL; -- 4262811
100783 l_acc_rev_flag := NULL; -- 4262811
100784 l_accrual_line_num := NULL; -- 4262811
100785 l_tmp_amt := NULL; -- 4262811
100786 --
100787
100788 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
100789 l_balance_type_code <> 'B' THEN
100793 ') = 'STANDARD' OR
100790 IF NVL(p_source_3,'
100791 ') = 'BALANCING_SEGMENT' AND
100792 (NVL(p_source_159,'
100794 NVL(p_source_159,'
100795 ') = 'MIXED' OR
100796 NVL(p_source_159,'
100797 ') = 'AWT' OR
100798 NVL(p_source_159,'
100799 ') = 'PO PRICE ADJUST' OR
100800 NVL(p_source_159,'
100801 ') = 'EXPENSE REPORT' OR
100802 NVL(p_source_159,'
100803 ') = 'PAYMENT REQUEST' OR
100804 NVL(p_source_159,'
100805 ') = 'RETAINAGE RELEASE') AND
100806 NVL(p_source_135,'
100807 ') <> 'Y'
100808 THEN
100809
100810 --
100811 XLA_AE_LINES_PKG.SetNewLine;
100812
100813 p_balance_type_code := l_balance_type_code;
100814 -- set the flag so later we will know whether the gain loss line needs to be created
100815
100816 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
100817 p_actual_flag :='A';
100818 END IF;
100819
100820 --
100821 -- bulk performance
100822 --
100823 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
100824 p_header_num => 0); -- 4262811
100825 --
100826 -- set accounting line options
100827 --
100828 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
100829 p_natural_side_code => 'C'
100830 , p_gain_or_loss_flag => 'N'
100831 , p_gl_transfer_mode_code => 'S'
100832 , p_acct_entry_type_code => 'A'
100833 , p_switch_side_flag => 'Y'
100834 , p_merge_duplicate_code => 'A'
100835 );
100836 --
100837 l_acc_rev_natural_side_code := 'D'; -- 4262811
100838 --
100839 --
100840 -- set accounting line type info
100841 --
100842 xla_ae_lines_pkg.SetAcctLineType
100843 (p_component_type => l_component_type
100844 ,p_event_type_code => l_event_type_code
100845 ,p_line_definition_owner_code => l_line_definition_owner_code
100846 ,p_line_definition_code => l_line_definition_code
100847 ,p_accounting_line_code => l_component_code
100848 ,p_accounting_line_type_code => l_component_type_code
100849 ,p_accounting_line_appl_id => l_component_appl_id
100850 ,p_amb_context_code => l_amb_context_code
100851 ,p_entity_code => l_entity_code
100852 ,p_event_class_code => l_event_class_code);
100853 --
100854 -- set accounting class
100855 --
100856 xla_ae_lines_pkg.SetAcctClass(
100857 p_accounting_class_code => 'LIABILITY'
100858 , p_ae_header_id => l_ae_header_id
100859 );
100860
100861 --
100862 -- set rounding class
100863 --
100864 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
100865 'LIABILITY';
100866
100867 --
100868 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
100869 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
100870 --
100871 -- bulk performance
100872 --
100873 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
100874
100875 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
100876 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
100877
100878 -- 4955764
100879 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
100880 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
100881
100882 -- 4458381 Public Sector Enh
100883
100884 --
100885 -- set accounting attributes for the line type
100886 --
100887 l_entered_amt_idx := 24;
100888 l_accted_amt_idx := 29;
100889 l_bflow_applied_to_amt_idx := 7; -- 5132302
100890 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
100891 l_rec_acct_attrs.array_char_value(1) := p_source_41;
100892 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
100893 l_rec_acct_attrs.array_num_value(2) :=
100894 xla_ae_sources_pkg.GetSystemSourceNum(
100895 p_source_code => 'XLA_EVENT_APPL_ID'
100896 , p_source_type_code => 'Y'
100897 , p_source_application_id => 602
100898 );
100899 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
100900 l_rec_acct_attrs.array_char_value(3) := p_source_43;
100901 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
100902 l_rec_acct_attrs.array_char_value(4) :=
100903 xla_ae_sources_pkg.GetSystemSourceChar(
100904 p_source_code => 'XLA_ENTITY_CODE'
100905 , p_source_type_code => 'Y'
100906 , p_source_application_id => 602
100907 );
100908 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
100909 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
100910 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
100911 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
100912 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
100913 l_rec_acct_attrs.array_num_value(7) := p_source_61;
100914 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
100915 l_rec_acct_attrs.array_num_value(8) := p_source_79;
100916 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
100917 l_rec_acct_attrs.array_char_value(9) := p_source_80;
100921 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
100918 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
100919 l_rec_acct_attrs.array_char_value(10) := p_source_81;
100920 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
100922 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
100923 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
100924 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
100925 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
100926 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
100927 l_rec_acct_attrs.array_char_value(14) := p_source_43;
100928 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
100929 l_rec_acct_attrs.array_num_value(15) := p_source_53;
100930 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
100931 l_rec_acct_attrs.array_num_value(16) := p_source_54;
100932 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
100933 l_rec_acct_attrs.array_char_value(17) := p_source_55;
100934 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
100935 l_rec_acct_attrs.array_num_value(18) := p_source_56;
100936 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
100937 l_rec_acct_attrs.array_num_value(19) := p_source_57;
100938 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
100939 l_rec_acct_attrs.array_num_value(20) := p_source_58;
100940 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
100941 l_rec_acct_attrs.array_char_value(21) := p_source_55;
100942 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
100943 l_rec_acct_attrs.array_num_value(22) := p_source_59;
100944 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
100945 l_rec_acct_attrs.array_char_value(23) := p_source_60;
100946 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
100947 l_rec_acct_attrs.array_num_value(24) := p_source_61;
100948 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
100949 l_rec_acct_attrs.array_char_value(25) := p_source_55;
100950 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
100951 l_rec_acct_attrs.array_date_value(26) := p_source_136;
100952 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
100953 l_rec_acct_attrs.array_num_value(27) := p_source_137;
100954 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
100955 l_rec_acct_attrs.array_char_value(28) := p_source_138;
100956 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
100957 l_rec_acct_attrs.array_num_value(29) := p_source_9;
100958 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
100959 l_rec_acct_attrs.array_date_value(30) := p_source_65;
100960 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
100961 l_rec_acct_attrs.array_char_value(31) := p_source_66;
100962 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
100963 l_rec_acct_attrs.array_date_value(32) := p_source_67;
100964 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
100965 l_rec_acct_attrs.array_char_value(33) := p_source_68;
100966 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
100967 l_rec_acct_attrs.array_num_value(34) := p_source_69;
100968 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
100969 l_rec_acct_attrs.array_num_value(35) := p_source_70;
100970 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
100971 l_rec_acct_attrs.array_char_value(36) := p_source_71;
100972 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
100973 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
100974 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
100975 l_rec_acct_attrs.array_char_value(38) := p_source_43;
100976 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
100977 l_rec_acct_attrs.array_num_value(39) := p_source_73;
100978 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
100979 l_rec_acct_attrs.array_num_value(40) := p_source_74;
100980 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
100981 l_rec_acct_attrs.array_num_value(41) := p_source_75;
100982 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
100983 l_rec_acct_attrs.array_num_value(42) := p_source_76;
100984 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
100985 l_rec_acct_attrs.array_num_value(43) := p_source_77;
100986 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
100987 l_rec_acct_attrs.array_num_value(44) := p_source_78;
100988
100989 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
100990 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
100991
100992 ---------------------------------------------------------------------------------------------------------------
100993 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
100994 ---------------------------------------------------------------------------------------------------------------
100995 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
100996
100997 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101001 (p_source_code => 'LEDGER_CATEGORY_CODE'
100998 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
100999
101000 IF xla_accounting_cache_pkg.GetValueChar
101002 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101003 AND l_bflow_method_code = 'PRIOR_ENTRY'
101004 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101005 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101006 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101007 )
101008 THEN
101009 xla_ae_lines_pkg.BflowUpgEntry
101010 (p_business_method_code => l_bflow_method_code
101011 ,p_business_class_code => l_bflow_class_code
101012 ,p_balance_type => l_balance_type_code);
101013 ELSE
101014 NULL;
101015 XLA_AE_LINES_PKG.business_flow_validation(
101016 p_business_method_code => l_bflow_method_code
101017 ,p_business_class_code => l_bflow_class_code
101018 ,p_inherit_description_flag => l_inherit_desc_flag);
101019 END IF;
101020
101021 --
101022 -- call analytical criteria
101023 --
101024
101025 --
101026 -- call description
101027 --
101028
101029 xla_ae_lines_pkg.SetLineDescription(
101030 p_ae_header_id => l_ae_header_id
101031 ,p_description => Description_2 (
101032 p_application_id => p_application_id
101033 , p_ae_header_id => l_ae_header_id
101034 , p_source_1 => p_source_1
101035 )
101036 );
101037
101038
101039 --
101040 -- call ADRs
101041 -- Bug 4922099
101042 --
101043 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101044 (NVL(l_actual_upg_option, 'N') = 'O') OR
101045 (NVL(l_enc_upg_option, 'N') = 'O')
101046 )
101047 THEN
101048 NULL;
101049 --
101050 --
101051
101052 l_ccid := AcctDerRule_33(
101053 p_application_id => p_application_id
101054 , p_ae_header_id => l_ae_header_id
101055 , p_source_22 => p_source_22
101056 , x_transaction_coa_id => l_adr_transaction_coa_id
101057 , x_accounting_coa_id => l_adr_accounting_coa_id
101058 , x_value_type_code => l_adr_value_type_code
101059 , p_side => 'NA'
101060 );
101061
101062 xla_ae_lines_pkg.set_ccid(
101063 p_code_combination_id => l_ccid
101064 , p_value_type_code => l_adr_value_type_code
101065 , p_transaction_coa_id => l_adr_transaction_coa_id
101066 , p_accounting_coa_id => l_adr_accounting_coa_id
101067 , p_adr_code => 'AP_LIAB'
101068 , p_adr_type_code => 'S'
101069 , p_component_type => l_component_type
101070 , p_component_code => l_component_code
101071 , p_component_type_code => l_component_type_code
101072 , p_component_appl_id => l_component_appl_id
101073 , p_amb_context_code => l_amb_context_code
101074 , p_side => 'NA'
101075 );
101076
101077
101078 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
101079 p_to_segment_code => 'GL_BALANCING'
101080 , p_segment_value => C_CHAR
101081 , p_from_segment_code => NULL
101082 , p_from_combination_id => NULL
101083 , p_value_type_code => NULL
101084 , p_transaction_coa_id => null
101085 , p_accounting_coa_id => null
101086 , p_flexfield_segment_code => NULL
101087 , p_flex_value_set_id => NULL
101088 , p_adr_code => NULL
101089 , p_adr_type_code => NULL
101090 , p_component_type => l_component_type
101091 , p_component_code => l_component_code
101092 , p_component_type_code => l_component_type_code
101093 , p_component_appl_id => l_component_appl_id
101094 , p_amb_context_code => l_amb_context_code
101095 , p_entity_code => 'AP_INVOICES'
101096 , p_event_class_code => 'INVOICES'
101097 , p_side => 'NA'
101098 );
101099 --
101100
101101
101102 --
101103 --
101104 END IF;
101105 --
101106 -- Bug 4922099
101107 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101108 (NVL(l_enc_upg_option, 'N') = 'O')
101109 ) AND
101110 (l_bflow_method_code = 'PRIOR_ENTRY')
101111 )
101112 THEN
101113 IF
101114 --
101115 1 = 2
101116 --
101117 THEN
101118 xla_accounting_err_pkg.build_message
101119 (p_appli_s_name => 'XLA'
101120 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101121 ,p_token_1 => 'LINE_NUMBER'
101122 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101123 ,p_token_2 => 'LINE_TYPE_NAME'
101124 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101125 l_component_type
101129 ,l_amb_context_code
101126 ,l_component_code
101127 ,l_component_type_code
101128 ,l_component_appl_id
101130 ,l_entity_code
101131 ,l_event_class_code
101132 )
101133 ,p_token_3 => 'OWNER'
101134 ,p_value_3 => xla_lookups_pkg.get_meaning(
101135 p_lookup_type => 'XLA_OWNER_TYPE'
101136 ,p_lookup_code => l_component_type_code
101137 )
101138 ,p_token_4 => 'PRODUCT_NAME'
101139 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101140 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101141 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101142 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101143 ,p_ae_header_id => NULL
101144 );
101145
101146 IF (C_LEVEL_ERROR>= g_log_level) THEN
101147 trace
101148 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101149 ,p_level => C_LEVEL_ERROR
101150 ,p_module => l_log_module);
101151 END IF;
101152 END IF;
101153 END IF;
101154 --
101155 --
101156 ------------------------------------------------------------------------------------------------
101157 -- 4219869 Business Flow
101158 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101159 -- Prior Entry. Currently, the following code is always generated.
101160 ------------------------------------------------------------------------------------------------
101161 XLA_AE_LINES_PKG.ValidateCurrentLine;
101162
101163 ------------------------------------------------------------------------------------
101164 -- 4219869 Business Flow
101165 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101166 ------------------------------------------------------------------------------------
101167 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101168
101169 ----------------------------------------------------------------------------------
101170 -- 4219869 Business Flow
101171 -- Update journal entry status -- Need to generate this within IF <condition>
101172 ----------------------------------------------------------------------------------
101173 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101174 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101175 ,p_balance_type_code => l_balance_type_code
101176 );
101177
101178 -------------------------------------------------------------------------------------------
101179 -- 4262811 - Generate the Accrual Reversal lines
101180 -------------------------------------------------------------------------------------------
101181 BEGIN
101182 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101183 (g_array_event(p_event_id).array_value_num('header_index'));
101184 IF l_acc_rev_flag IS NULL THEN
101185 l_acc_rev_flag := 'N';
101186 END IF;
101187 EXCEPTION
101188 WHEN OTHERS THEN
101189 l_acc_rev_flag := 'N';
101190 END;
101191 --
101192 IF (l_acc_rev_flag = 'Y') THEN
101193
101194 -- 4645092 ------------------------------------------------------------------------------
101195 -- To allow MPA report to determine if it should generate report process
101196 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101197 ------------------------------------------------------------------------------------------
101198
101199 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101200 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101201 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101202 -- call ADRs
101203 -- Bug 4922099
101204 --
101205 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101206 (NVL(l_actual_upg_option, 'N') = 'O') OR
101207 (NVL(l_enc_upg_option, 'N') = 'O')
101208 )
101209 THEN
101210 NULL;
101211 --
101212 --
101213
101214 l_ccid := AcctDerRule_33(
101215 p_application_id => p_application_id
101216 , p_ae_header_id => l_ae_header_id
101217 , p_source_22 => p_source_22
101218 , x_transaction_coa_id => l_adr_transaction_coa_id
101219 , x_accounting_coa_id => l_adr_accounting_coa_id
101220 , x_value_type_code => l_adr_value_type_code
101221 , p_side => 'NA'
101222 );
101223
101224 xla_ae_lines_pkg.set_ccid(
101228 , p_accounting_coa_id => l_adr_accounting_coa_id
101225 p_code_combination_id => l_ccid
101226 , p_value_type_code => l_adr_value_type_code
101227 , p_transaction_coa_id => l_adr_transaction_coa_id
101229 , p_adr_code => 'AP_LIAB'
101230 , p_adr_type_code => 'S'
101231 , p_component_type => l_component_type
101232 , p_component_code => l_component_code
101233 , p_component_type_code => l_component_type_code
101234 , p_component_appl_id => l_component_appl_id
101235 , p_amb_context_code => l_amb_context_code
101236 , p_side => 'NA'
101237 );
101238
101239
101240 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
101241 p_to_segment_code => 'GL_BALANCING'
101242 , p_segment_value => C_CHAR
101243 , p_from_segment_code => NULL
101244 , p_from_combination_id => NULL
101245 , p_value_type_code => NULL
101246 , p_transaction_coa_id => null
101247 , p_accounting_coa_id => null
101248 , p_flexfield_segment_code => NULL
101249 , p_flex_value_set_id => NULL
101250 , p_adr_code => NULL
101251 , p_adr_type_code => NULL
101252 , p_component_type => l_component_type
101253 , p_component_code => l_component_code
101254 , p_component_type_code => l_component_type_code
101255 , p_component_appl_id => l_component_appl_id
101256 , p_amb_context_code => l_amb_context_code
101257 , p_entity_code => 'AP_INVOICES'
101258 , p_event_class_code => 'INVOICES'
101259 , p_side => 'NA'
101260 );
101261 --
101262
101263
101264 --
101265 --
101266 END IF;
101267
101268 --
101269 -- Update the line information that should be overwritten
101270 --
101271 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101272 p_header_num => 1);
101273 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101274
101275 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101276
101277 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101278 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101279 END IF;
101280
101281 --
101282 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
101283 --
101284 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
101285 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
101286 ELSE
101287 ---------------------------------------------------------------------------------------------------
101288 -- 4262811a Switch Sign
101289 ---------------------------------------------------------------------------------------------------
101290 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
101291 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101292 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101293 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101294 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101295 -- 5132302
101296 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
101297 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101298
101299 END IF;
101300
101301 -- 4955764
101302 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101303 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
101304
101305
101306 XLA_AE_LINES_PKG.ValidateCurrentLine;
101307 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101308
101309 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101310 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
101311 ,p_balance_type_code => l_balance_type_code);
101312
101313 END IF;
101314
101315 -----------------------------------------------------------------------------------------
101316 -- 4262811 Multiperiod Accounting
101317 -----------------------------------------------------------------------------------------
101318 -- No MPA option is assigned.
101319
101320
101321 END IF;
101322 END IF;
101323 --
101324
101325 --
101326 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101327 trace
101328 (p_msg => 'END of AcctLineType_176'
101329 ,p_level => C_LEVEL_PROCEDURE
101330 ,p_module => l_log_module);
101331 END IF;
101332 --
101333 EXCEPTION
101334 WHEN xla_exceptions_pkg.application_exception THEN
101335 RAISE;
101336 WHEN OTHERS THEN
101337 xla_exceptions_pkg.raise_message
101338 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_176');
101339 END AcctLineType_176;
101340 --
101341
101342 ---------------------------------------
101343 --
101344 -- PRIVATE FUNCTION
101345 -- AcctLineType_177
101349 p_application_id IN NUMBER
101346 --
101347 ---------------------------------------
101348 PROCEDURE AcctLineType_177 (
101350 ,p_event_id IN NUMBER
101351 ,p_calculate_acctd_flag IN VARCHAR2
101352 ,p_calculate_g_l_flag IN VARCHAR2
101353 ,p_actual_flag IN OUT VARCHAR2
101354 ,p_balance_type_code OUT VARCHAR2
101355 ,p_gain_or_loss_ref OUT VARCHAR2
101356
101357 --Accounting Reversal Indicator
101358 , p_source_41 IN VARCHAR2
101359 --Distribution Link Type
101360 , p_source_43 IN VARCHAR2
101361 --Override Accounted Amount Indicator
101362 , p_source_68 IN VARCHAR2
101363 , p_source_68_meaning IN VARCHAR2
101364 --Third Party Type
101365 , p_source_71 IN VARCHAR2
101366 --Invoice Distribution Tax Line Identifier
101367 , p_source_74 IN NUMBER
101368 --Invoice Distribution Tax Distribution Identifier from Tax
101369 , p_source_75 IN NUMBER
101370 --Invoice Distribution Summary Tax Line Identifier
101371 , p_source_76 IN NUMBER
101372 --Business Flow Accounts Payable Application Identifier
101373 , p_source_79 IN NUMBER
101374 --Business Flow Invoice Distribution Type
101375 , p_source_80 IN VARCHAR2
101376 --Business Flow Invoice Entity Code
101377 , p_source_81 IN VARCHAR2
101378 --Business Flow Invoice Distribution Identifier
101379 , p_source_82 IN NUMBER
101380 --Business Flow Invoice Identifier
101381 , p_source_83 IN NUMBER
101382 --When to Account for Payment Option
101383 , p_source_89 IN VARCHAR2
101384 --Payment Distribution Type
101385 , p_source_90 IN VARCHAR2
101386 , p_source_90_meaning IN VARCHAR2
101387 --Payment Distribution Amount
101388 , p_source_91 IN NUMBER
101389 --Payment Distribution Identifier
101390 , p_source_96 IN NUMBER
101391 --Payment Distribution Reversed Identifier
101392 , p_source_104 IN NUMBER
101393 --Payment Currency Code
101394 , p_source_106 IN VARCHAR2
101395 --Payment Distribution (Invoice Rate) Ledger Amount
101396 , p_source_109 IN NUMBER
101397 --Payment Type
101398 , p_source_115 IN VARCHAR2
101399 , p_source_115_meaning IN VARCHAR2
101400 --Invoice Distribution Amount of the Payment Distribution
101401 , p_source_117 IN NUMBER
101402 --Invoice Type Paid
101403 , p_source_158 IN VARCHAR2
101404 , p_source_158_meaning IN VARCHAR2
101405 )
101406 IS
101407
101408 l_component_type VARCHAR2(80);
101409 l_component_code VARCHAR2(30);
101410 l_component_type_code VARCHAR2(1);
101411 l_component_appl_id INTEGER;
101412 l_amb_context_code VARCHAR2(30);
101413 l_entity_code VARCHAR2(30);
101414 l_event_class_code VARCHAR2(30);
101415 l_ae_header_id NUMBER;
101416 l_event_type_code VARCHAR2(30);
101417 l_line_definition_code VARCHAR2(30);
101418 l_line_definition_owner_code VARCHAR2(1);
101419 --
101420 -- adr variables
101421 l_segment VARCHAR2(30);
101422 l_ccid NUMBER;
101423 l_adr_transaction_coa_id NUMBER;
101424 l_adr_accounting_coa_id NUMBER;
101425 l_adr_flexfield_segment_code VARCHAR2(30);
101426 l_adr_flex_value_set_id NUMBER;
101427 l_adr_value_type_code VARCHAR2(30);
101428 l_adr_value_combination_id NUMBER;
101429 l_adr_value_segment_code VARCHAR2(30);
101430
101431 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
101432 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
101433 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
101434 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
101435
101436 -- 4262811 Variables ------------------------------------------------------------------------------------------
101437 l_entered_amt_idx NUMBER;
101438 l_accted_amt_idx NUMBER;
101439 l_acc_rev_flag VARCHAR2(1);
101440 l_accrual_line_num NUMBER;
101441 l_tmp_amt NUMBER;
101442 l_acc_rev_natural_side_code VARCHAR2(1);
101443
101444 l_num_entries NUMBER;
101445 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
101446 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
101447 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
101448 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
101449 l_recog_line_1 NUMBER;
101450 l_recog_line_2 NUMBER;
101451
101452 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
101453 l_bflow_applied_to_amt NUMBER; -- 5132302
101454 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
101455
101456 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
101457
101458 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
101459 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
101460
101461 ---------------------------------------------------------------------------------------------------------------
101462
101463
101464 --
101465 -- bulk performance
101466 --
101467 l_balance_type_code VARCHAR2(1);
101468 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
101472 -- Upgrade strategy
101469 l_log_module VARCHAR2(240);
101470
101471 --
101473 --
101474 l_actual_upg_option VARCHAR2(1);
101475 l_enc_upg_option VARCHAR2(1);
101476
101477 --
101478 BEGIN
101479 --
101480 IF g_log_enabled THEN
101481 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_177';
101482 END IF;
101483 --
101484 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101485
101486 trace
101487 (p_msg => 'BEGIN of AcctLineType_177'
101488 ,p_level => C_LEVEL_PROCEDURE
101489 ,p_module => l_log_module);
101490
101491 END IF;
101492 --
101493 l_component_type := 'AMB_JLT';
101494 l_component_code := 'AP_LIAB_PMT';
101495 l_component_type_code := 'S';
101496 l_component_appl_id := 200;
101497 l_amb_context_code := 'DEFAULT';
101498 l_entity_code := 'AP_PAYMENTS';
101499 l_event_class_code := 'PAYMENTS';
101500 l_event_type_code := 'PAYMENTS_ALL';
101501 l_line_definition_owner_code := 'S';
101502 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
101503 --
101504 l_balance_type_code := 'A';
101505 l_segment := NULL;
101506 l_ccid := NULL;
101507 l_adr_transaction_coa_id := NULL;
101508 l_adr_accounting_coa_id := NULL;
101509 l_adr_flexfield_segment_code := NULL;
101510 l_adr_flex_value_set_id := NULL;
101511 l_adr_value_type_code := NULL;
101512 l_adr_value_combination_id := NULL;
101513 l_adr_value_segment_code := NULL;
101514
101515 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
101516 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
101517 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
101518 l_budgetary_control_flag := 'N';
101519
101520 l_bflow_applied_to_amt_idx := NULL; -- 5132302
101521 l_bflow_applied_to_amt := NULL; -- 5132302
101522 l_entered_amt_idx := NULL; -- 4262811
101523 l_accted_amt_idx := NULL; -- 4262811
101524 l_acc_rev_flag := NULL; -- 4262811
101525 l_accrual_line_num := NULL; -- 4262811
101526 l_tmp_amt := NULL; -- 4262811
101527 --
101528
101529 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
101530 l_balance_type_code <> 'B' THEN
101531 IF NVL(p_source_89,'
101532 ') <> 'CLEAR_CLEAR' AND
101533 NVL(p_source_158,'
101534 ') <> 'INTEREST' AND
101535 (NVL(p_source_90,'
101536 ') = 'ROUNDING' OR
101537 NVL(p_source_90,'
101538 ') = 'CASH' OR
101539 NVL(p_source_90,'
101540 ') = 'DISCOUNT') AND
101541 NVL(p_source_115,'
101542 ') <> 'R'
101543 THEN
101544
101545 --
101546 XLA_AE_LINES_PKG.SetNewLine;
101547
101548 p_balance_type_code := l_balance_type_code;
101549 -- set the flag so later we will know whether the gain loss line needs to be created
101550
101551 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
101552 p_actual_flag :='A';
101553 END IF;
101554
101555 --
101556 -- bulk performance
101557 --
101558 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
101559 p_header_num => 0); -- 4262811
101560 --
101561 -- set accounting line options
101562 --
101563 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
101564 p_natural_side_code => 'D'
101565 , p_gain_or_loss_flag => 'N'
101566 , p_gl_transfer_mode_code => 'S'
101567 , p_acct_entry_type_code => 'A'
101568 , p_switch_side_flag => 'Y'
101569 , p_merge_duplicate_code => 'A'
101570 );
101571 --
101572 l_acc_rev_natural_side_code := 'C'; -- 4262811
101573 --
101574 --
101575 -- set accounting line type info
101576 --
101577 xla_ae_lines_pkg.SetAcctLineType
101578 (p_component_type => l_component_type
101579 ,p_event_type_code => l_event_type_code
101580 ,p_line_definition_owner_code => l_line_definition_owner_code
101581 ,p_line_definition_code => l_line_definition_code
101582 ,p_accounting_line_code => l_component_code
101583 ,p_accounting_line_type_code => l_component_type_code
101584 ,p_accounting_line_appl_id => l_component_appl_id
101585 ,p_amb_context_code => l_amb_context_code
101586 ,p_entity_code => l_entity_code
101587 ,p_event_class_code => l_event_class_code);
101588 --
101589 -- set accounting class
101590 --
101591 xla_ae_lines_pkg.SetAcctClass(
101592 p_accounting_class_code => 'LIABILITY'
101593 , p_ae_header_id => l_ae_header_id
101594 );
101595
101596 --
101597 -- set rounding class
101598 --
101599 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
101600 'LIABILITY';
101601
101602 --
101603 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
101604 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
101605 --
101606 -- bulk performance
101607 --
101608 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
101609
101613 -- 4955764
101610 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
101611 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
101612
101614 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101615 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
101616
101617 -- 4458381 Public Sector Enh
101618
101619 --
101620 -- set accounting attributes for the line type
101621 --
101622 l_entered_amt_idx := 10;
101623 l_accted_amt_idx := 12;
101624 l_bflow_applied_to_amt_idx := 2; -- 5132302
101625 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
101626 l_rec_acct_attrs.array_char_value(1) := p_source_41;
101627 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
101628 l_rec_acct_attrs.array_num_value(2) := p_source_117;
101629 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
101630 l_rec_acct_attrs.array_num_value(3) := p_source_79;
101631 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
101632 l_rec_acct_attrs.array_char_value(4) := p_source_80;
101633 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
101634 l_rec_acct_attrs.array_char_value(5) := p_source_81;
101635 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
101636 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
101637 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
101638 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
101639 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
101640 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
101641 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
101642 l_rec_acct_attrs.array_char_value(9) := p_source_43;
101643 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
101644 l_rec_acct_attrs.array_num_value(10) := p_source_91;
101645 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
101646 l_rec_acct_attrs.array_char_value(11) := p_source_106;
101647 l_rec_acct_attrs.array_acct_attr_code(12) := 'LEDGER_AMOUNT';
101648 l_rec_acct_attrs.array_num_value(12) := p_source_109;
101649 l_rec_acct_attrs.array_acct_attr_code(13) := 'OVERRIDE_ACCTD_AMT_FLAG';
101650 l_rec_acct_attrs.array_char_value(13) := p_source_68;
101651 l_rec_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
101652 l_rec_acct_attrs.array_char_value(14) := p_source_71;
101653 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
101654 l_rec_acct_attrs.array_num_value(15) := to_char(p_source_104);
101655 l_rec_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
101656 l_rec_acct_attrs.array_char_value(16) := p_source_43;
101657 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
101658 l_rec_acct_attrs.array_num_value(17) := p_source_74;
101659 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
101660 l_rec_acct_attrs.array_num_value(18) := p_source_75;
101661 l_rec_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
101662 l_rec_acct_attrs.array_num_value(19) := p_source_76;
101663
101664 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
101665 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
101666
101667 ---------------------------------------------------------------------------------------------------------------
101668 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
101669 ---------------------------------------------------------------------------------------------------------------
101670 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
101671
101672 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101673 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
101674
101675 IF xla_accounting_cache_pkg.GetValueChar
101676 (p_source_code => 'LEDGER_CATEGORY_CODE'
101677 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
101678 AND l_bflow_method_code = 'PRIOR_ENTRY'
101679 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
101680 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
101681 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
101682 )
101683 THEN
101684 xla_ae_lines_pkg.BflowUpgEntry
101685 (p_business_method_code => l_bflow_method_code
101686 ,p_business_class_code => l_bflow_class_code
101687 ,p_balance_type => l_balance_type_code);
101688 ELSE
101689 NULL;
101690 XLA_AE_LINES_PKG.business_flow_validation(
101691 p_business_method_code => l_bflow_method_code
101692 ,p_business_class_code => l_bflow_class_code
101693 ,p_inherit_description_flag => l_inherit_desc_flag);
101694 END IF;
101695
101696 --
101697 -- call analytical criteria
101698 --
101699 -- Inherited Analytical Criteria for business flow method of Prior Entry.
101700 --
101701 -- call description
101702 --
101703 -- No description or it is inherited.
101704 --
101705 -- call ADRs
101709 (NVL(l_actual_upg_option, 'N') = 'O') OR
101706 -- Bug 4922099
101707 --
101708 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101710 (NVL(l_enc_upg_option, 'N') = 'O')
101711 )
101712 THEN
101713 NULL;
101714 --
101715 --
101716
101717 --
101718 --
101719 END IF;
101720 --
101721 -- Bug 4922099
101722 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
101723 (NVL(l_enc_upg_option, 'N') = 'O')
101724 ) AND
101725 (l_bflow_method_code = 'PRIOR_ENTRY')
101726 )
101727 THEN
101728 IF
101729 --
101730 1 = 1
101731 --
101732 THEN
101733 xla_accounting_err_pkg.build_message
101734 (p_appli_s_name => 'XLA'
101735 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101736 ,p_token_1 => 'LINE_NUMBER'
101737 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
101738 ,p_token_2 => 'LINE_TYPE_NAME'
101739 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
101740 l_component_type
101741 ,l_component_code
101742 ,l_component_type_code
101743 ,l_component_appl_id
101744 ,l_amb_context_code
101745 ,l_entity_code
101746 ,l_event_class_code
101747 )
101748 ,p_token_3 => 'OWNER'
101749 ,p_value_3 => xla_lookups_pkg.get_meaning(
101750 p_lookup_type => 'XLA_OWNER_TYPE'
101751 ,p_lookup_code => l_component_type_code
101752 )
101753 ,p_token_4 => 'PRODUCT_NAME'
101754 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
101755 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
101756 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
101757 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
101758 ,p_ae_header_id => NULL
101759 );
101760
101761 IF (C_LEVEL_ERROR>= g_log_level) THEN
101762 trace
101763 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
101764 ,p_level => C_LEVEL_ERROR
101765 ,p_module => l_log_module);
101766 END IF;
101767 END IF;
101768 END IF;
101769 --
101770 --
101771 ------------------------------------------------------------------------------------------------
101772 -- 4219869 Business Flow
101773 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
101774 -- Prior Entry. Currently, the following code is always generated.
101775 ------------------------------------------------------------------------------------------------
101776 -- No ValidateCurrentLine for business flow method of Prior Entry
101777
101778 ------------------------------------------------------------------------------------
101779 -- 4219869 Business Flow
101780 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
101781 ------------------------------------------------------------------------------------
101782 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101783
101784 ----------------------------------------------------------------------------------
101785 -- 4219869 Business Flow
101786 -- Update journal entry status -- Need to generate this within IF <condition>
101787 ----------------------------------------------------------------------------------
101788 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101789 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
101790 ,p_balance_type_code => l_balance_type_code
101791 );
101792
101793 -------------------------------------------------------------------------------------------
101794 -- 4262811 - Generate the Accrual Reversal lines
101795 -------------------------------------------------------------------------------------------
101796 BEGIN
101797 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
101798 (g_array_event(p_event_id).array_value_num('header_index'));
101799 IF l_acc_rev_flag IS NULL THEN
101800 l_acc_rev_flag := 'N';
101801 END IF;
101802 EXCEPTION
101803 WHEN OTHERS THEN
101804 l_acc_rev_flag := 'N';
101805 END;
101806 --
101810 -- To allow MPA report to determine if it should generate report process
101807 IF (l_acc_rev_flag = 'Y') THEN
101808
101809 -- 4645092 ------------------------------------------------------------------------------
101811 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
101812 ------------------------------------------------------------------------------------------
101813
101814 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
101815 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
101816 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
101817 -- call ADRs
101818 -- Bug 4922099
101819 --
101820 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
101821 (NVL(l_actual_upg_option, 'N') = 'O') OR
101822 (NVL(l_enc_upg_option, 'N') = 'O')
101823 )
101824 THEN
101825 NULL;
101826 --
101827 --
101828
101829 --
101830 --
101831 END IF;
101832
101833 --
101834 -- Update the line information that should be overwritten
101835 --
101836 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
101837 p_header_num => 1);
101838 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
101839
101840 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
101841
101842 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
101843 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
101844 END IF;
101845
101846 --
101847 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
101848 --
101849 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
101850 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
101851 ELSE
101852 ---------------------------------------------------------------------------------------------------
101853 -- 4262811a Switch Sign
101854 ---------------------------------------------------------------------------------------------------
101855 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
101856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101858 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
101859 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101860 -- 5132302
101861 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
101862 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
101863
101864 END IF;
101865
101866 -- 4955764
101867 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
101868 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
101869
101870
101871 XLA_AE_LINES_PKG.ValidateCurrentLine;
101872 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
101873
101874 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
101875 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
101876 ,p_balance_type_code => l_balance_type_code);
101877
101878 END IF;
101879
101880 -----------------------------------------------------------------------------------------
101881 -- 4262811 Multiperiod Accounting
101882 -----------------------------------------------------------------------------------------
101883 -- No MPA option is assigned.
101884
101885
101886 END IF;
101887 END IF;
101888 --
101889
101890 --
101891 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
101892 trace
101893 (p_msg => 'END of AcctLineType_177'
101894 ,p_level => C_LEVEL_PROCEDURE
101895 ,p_module => l_log_module);
101896 END IF;
101897 --
101898 EXCEPTION
101899 WHEN xla_exceptions_pkg.application_exception THEN
101900 RAISE;
101901 WHEN OTHERS THEN
101902 xla_exceptions_pkg.raise_message
101903 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_177');
101904 END AcctLineType_177;
101905 --
101906
101907 ---------------------------------------
101908 --
101909 -- PRIVATE FUNCTION
101910 -- AcctLineType_178
101911 --
101912 ---------------------------------------
101913 PROCEDURE AcctLineType_178 (
101914 p_application_id IN NUMBER
101915 ,p_event_id IN NUMBER
101916 ,p_calculate_acctd_flag IN VARCHAR2
101917 ,p_calculate_g_l_flag IN VARCHAR2
101918 ,p_actual_flag IN OUT VARCHAR2
101919 ,p_balance_type_code OUT VARCHAR2
101920 ,p_gain_or_loss_ref OUT VARCHAR2
101921
101922 --Invoice Distribution Description
101923 , p_source_1 IN VARCHAR2
101924 --Automatic Offsets Value
101925 , p_source_3 IN VARCHAR2
101926 , p_source_3_meaning IN VARCHAR2
101927 --Invoice Distribution Ledger Amount
101928 , p_source_9 IN NUMBER
101929 --Invoice Liability Account
101930 , p_source_22 IN NUMBER
101934 , p_source_43 IN VARCHAR2
101931 --Accounting Reversal Indicator
101932 , p_source_41 IN VARCHAR2
101933 --Distribution Link Type
101935 --Allocation to Main Distribution Identifier
101936 , p_source_45 IN NUMBER
101937 --Invoice Identifier
101938 , p_source_46 IN NUMBER
101939 --Invoice Distribution Identifier
101940 , p_source_52 IN NUMBER
101941 --Payables Encumbrance Upgrade Credit Account
101942 , p_source_53 IN NUMBER
101943 --Payables Encumbrance Upgrade Credit Amount
101944 , p_source_54 IN NUMBER
101945 --Invoice Currency Code
101946 , p_source_55 IN VARCHAR2
101947 --Payables Encumbrance Upgrade Credit Base Amount
101948 , p_source_56 IN NUMBER
101949 --Payables Encumbrance Upgrade Debit Account
101950 , p_source_57 IN NUMBER
101951 --Payables Encumbrance Upgrade Debit Amount
101952 , p_source_58 IN NUMBER
101953 --Payables Encumbrance Upgrade Debit Base Amount
101954 , p_source_59 IN NUMBER
101955 --Payables Encumbrance Upgrade Option
101956 , p_source_60 IN VARCHAR2
101957 --Invoice Distribution Amount
101958 , p_source_61 IN NUMBER
101959 --Deferred Accounting End Date
101960 , p_source_65 IN DATE
101961 --Deferred Accounting Option
101962 , p_source_66 IN VARCHAR2
101963 --Deferred Accounting Start Date
101964 , p_source_67 IN DATE
101965 --Override Accounted Amount Indicator
101966 , p_source_68 IN VARCHAR2
101967 , p_source_68_meaning IN VARCHAR2
101968 --Invoice Supplier Identifier
101969 , p_source_69 IN NUMBER
101970 --Invoice Supplier Site Identifier
101971 , p_source_70 IN NUMBER
101972 --Third Party Type
101973 , p_source_71 IN VARCHAR2
101974 --Parent Reversal Identifier
101975 , p_source_72 IN NUMBER
101976 --Invoice Distribution Statistical Amount
101977 , p_source_73 IN NUMBER
101978 --Invoice Distribution Tax Line Identifier
101979 , p_source_74 IN NUMBER
101980 --Invoice Distribution Tax Distribution Identifier from Tax
101981 , p_source_75 IN NUMBER
101982 --Invoice Distribution Summary Tax Line Identifier
101983 , p_source_76 IN NUMBER
101984 --Payables Upgrade Credit Encumbrance Type Identifier
101985 , p_source_77 IN NUMBER
101986 --Payables Upgrade Debit Encumbrance Type Identifier
101987 , p_source_78 IN NUMBER
101988 --Business Flow Accounts Payable Application Identifier
101989 , p_source_79 IN NUMBER
101990 --Business Flow Invoice Distribution Type
101991 , p_source_80 IN VARCHAR2
101992 --Business Flow Invoice Entity Code
101993 , p_source_81 IN VARCHAR2
101994 --Business Flow Invoice Distribution Identifier
101995 , p_source_82 IN NUMBER
101996 --Business Flow Invoice Identifier
101997 , p_source_83 IN NUMBER
101998 --Self-Assessed Tax Flag
101999 , p_source_135 IN VARCHAR2
102000 , p_source_135_meaning IN VARCHAR2
102001 --Invoice Exchange Date
102002 , p_source_136 IN DATE
102003 --Invoice Exchange Rate
102004 , p_source_137 IN NUMBER
102005 --Invoice Exchange Rate Type
102006 , p_source_138 IN VARCHAR2
102007 )
102008 IS
102009
102010 l_component_type VARCHAR2(80);
102011 l_component_code VARCHAR2(30);
102012 l_component_type_code VARCHAR2(1);
102013 l_component_appl_id INTEGER;
102014 l_amb_context_code VARCHAR2(30);
102015 l_entity_code VARCHAR2(30);
102016 l_event_class_code VARCHAR2(30);
102017 l_ae_header_id NUMBER;
102018 l_event_type_code VARCHAR2(30);
102019 l_line_definition_code VARCHAR2(30);
102020 l_line_definition_owner_code VARCHAR2(1);
102021 --
102022 -- adr variables
102023 l_segment VARCHAR2(30);
102024 l_ccid NUMBER;
102025 l_adr_transaction_coa_id NUMBER;
102026 l_adr_accounting_coa_id NUMBER;
102027 l_adr_flexfield_segment_code VARCHAR2(30);
102028 l_adr_flex_value_set_id NUMBER;
102029 l_adr_value_type_code VARCHAR2(30);
102030 l_adr_value_combination_id NUMBER;
102031 l_adr_value_segment_code VARCHAR2(30);
102032
102033 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102034 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102035 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102036 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102037
102038 -- 4262811 Variables ------------------------------------------------------------------------------------------
102039 l_entered_amt_idx NUMBER;
102040 l_accted_amt_idx NUMBER;
102041 l_acc_rev_flag VARCHAR2(1);
102042 l_accrual_line_num NUMBER;
102043 l_tmp_amt NUMBER;
102044 l_acc_rev_natural_side_code VARCHAR2(1);
102045
102046 l_num_entries NUMBER;
102047 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102048 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102049 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102050 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102051 l_recog_line_1 NUMBER;
102052 l_recog_line_2 NUMBER;
102053
102054 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102058 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102055 l_bflow_applied_to_amt NUMBER; -- 5132302
102056 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102057
102059
102060 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102061 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102062
102063 ---------------------------------------------------------------------------------------------------------------
102064
102065
102066 --
102067 -- bulk performance
102068 --
102069 l_balance_type_code VARCHAR2(1);
102070 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102071 l_log_module VARCHAR2(240);
102072
102073 --
102074 -- Upgrade strategy
102075 --
102076 l_actual_upg_option VARCHAR2(1);
102077 l_enc_upg_option VARCHAR2(1);
102078
102079 --
102080 BEGIN
102081 --
102082 IF g_log_enabled THEN
102083 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_178';
102084 END IF;
102085 --
102086 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102087
102088 trace
102089 (p_msg => 'BEGIN of AcctLineType_178'
102090 ,p_level => C_LEVEL_PROCEDURE
102091 ,p_module => l_log_module);
102092
102093 END IF;
102094 --
102095 l_component_type := 'AMB_JLT';
102096 l_component_code := 'AP_LIAB_PREPAY';
102097 l_component_type_code := 'S';
102098 l_component_appl_id := 200;
102099 l_amb_context_code := 'DEFAULT';
102100 l_entity_code := 'AP_INVOICES';
102101 l_event_class_code := 'PREPAYMENTS';
102102 l_event_type_code := 'PREPAYMENTS_ALL';
102103 l_line_definition_owner_code := 'S';
102104 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
102105 --
102106 l_balance_type_code := 'A';
102107 l_segment := NULL;
102108 l_ccid := NULL;
102109 l_adr_transaction_coa_id := NULL;
102110 l_adr_accounting_coa_id := NULL;
102111 l_adr_flexfield_segment_code := NULL;
102112 l_adr_flex_value_set_id := NULL;
102113 l_adr_value_type_code := NULL;
102114 l_adr_value_combination_id := NULL;
102115 l_adr_value_segment_code := NULL;
102116
102117 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
102118 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
102119 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102120 l_budgetary_control_flag := 'N';
102121
102122 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102123 l_bflow_applied_to_amt := NULL; -- 5132302
102124 l_entered_amt_idx := NULL; -- 4262811
102125 l_accted_amt_idx := NULL; -- 4262811
102126 l_acc_rev_flag := NULL; -- 4262811
102127 l_accrual_line_num := NULL; -- 4262811
102128 l_tmp_amt := NULL; -- 4262811
102129 --
102130
102131 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
102132 l_balance_type_code <> 'B' THEN
102133 IF (NVL(p_source_3,'
102134 ') <> 'BALANCING_SEGMENT' AND
102135 NVL(p_source_3,'
102136 ') <> 'ACCOUNT_SEGMENT_VALUE') AND
102137 NVL(p_source_135,'
102138 ') <> 'Y'
102139 THEN
102140
102141 --
102142 XLA_AE_LINES_PKG.SetNewLine;
102143
102144 p_balance_type_code := l_balance_type_code;
102145 -- set the flag so later we will know whether the gain loss line needs to be created
102146
102147 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
102148 p_actual_flag :='A';
102149 END IF;
102150
102151 --
102152 -- bulk performance
102153 --
102154 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
102155 p_header_num => 0); -- 4262811
102156 --
102157 -- set accounting line options
102158 --
102159 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
102160 p_natural_side_code => 'C'
102161 , p_gain_or_loss_flag => 'N'
102162 , p_gl_transfer_mode_code => 'S'
102163 , p_acct_entry_type_code => 'A'
102164 , p_switch_side_flag => 'Y'
102165 , p_merge_duplicate_code => 'A'
102166 );
102167 --
102168 l_acc_rev_natural_side_code := 'D'; -- 4262811
102169 --
102170 --
102171 -- set accounting line type info
102172 --
102173 xla_ae_lines_pkg.SetAcctLineType
102174 (p_component_type => l_component_type
102175 ,p_event_type_code => l_event_type_code
102176 ,p_line_definition_owner_code => l_line_definition_owner_code
102177 ,p_line_definition_code => l_line_definition_code
102178 ,p_accounting_line_code => l_component_code
102179 ,p_accounting_line_type_code => l_component_type_code
102180 ,p_accounting_line_appl_id => l_component_appl_id
102181 ,p_amb_context_code => l_amb_context_code
102182 ,p_entity_code => l_entity_code
102183 ,p_event_class_code => l_event_class_code);
102184 --
102185 -- set accounting class
102186 --
102187 xla_ae_lines_pkg.SetAcctClass(
102188 p_accounting_class_code => 'LIABILITY'
102189 , p_ae_header_id => l_ae_header_id
102190 );
102191
102195 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
102192 --
102193 -- set rounding class
102194 --
102196 'LIABILITY';
102197
102198 --
102199 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
102200 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
102201 --
102202 -- bulk performance
102203 --
102204 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
102205
102206 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
102207 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
102208
102209 -- 4955764
102210 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102211 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
102212
102213 -- 4458381 Public Sector Enh
102214
102215 --
102216 -- set accounting attributes for the line type
102217 --
102218 l_entered_amt_idx := 23;
102219 l_accted_amt_idx := 28;
102220 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102221 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
102222 l_rec_acct_attrs.array_char_value(1) := p_source_41;
102223 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
102224 l_rec_acct_attrs.array_num_value(2) :=
102225 xla_ae_sources_pkg.GetSystemSourceNum(
102226 p_source_code => 'XLA_EVENT_APPL_ID'
102227 , p_source_type_code => 'Y'
102228 , p_source_application_id => 602
102229 );
102230 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
102231 l_rec_acct_attrs.array_char_value(3) := p_source_43;
102232 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
102233 l_rec_acct_attrs.array_char_value(4) :=
102234 xla_ae_sources_pkg.GetSystemSourceChar(
102235 p_source_code => 'XLA_ENTITY_CODE'
102236 , p_source_type_code => 'Y'
102237 , p_source_application_id => 602
102238 );
102239 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
102240 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
102241 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
102242 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
102243 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
102244 l_rec_acct_attrs.array_num_value(7) := p_source_79;
102245 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
102246 l_rec_acct_attrs.array_char_value(8) := p_source_80;
102247 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
102248 l_rec_acct_attrs.array_char_value(9) := p_source_81;
102249 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
102250 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
102251 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
102252 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
102253 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
102254 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
102255 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
102256 l_rec_acct_attrs.array_char_value(13) := p_source_43;
102257 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
102258 l_rec_acct_attrs.array_num_value(14) := p_source_53;
102259 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
102260 l_rec_acct_attrs.array_num_value(15) := p_source_54;
102261 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
102262 l_rec_acct_attrs.array_char_value(16) := p_source_55;
102263 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
102264 l_rec_acct_attrs.array_num_value(17) := p_source_56;
102265 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
102266 l_rec_acct_attrs.array_num_value(18) := p_source_57;
102267 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
102268 l_rec_acct_attrs.array_num_value(19) := p_source_58;
102269 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
102270 l_rec_acct_attrs.array_char_value(20) := p_source_55;
102271 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
102272 l_rec_acct_attrs.array_num_value(21) := p_source_59;
102273 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
102274 l_rec_acct_attrs.array_char_value(22) := p_source_60;
102275 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
102276 l_rec_acct_attrs.array_num_value(23) := p_source_61;
102277 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
102278 l_rec_acct_attrs.array_char_value(24) := p_source_55;
102279 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
102280 l_rec_acct_attrs.array_date_value(25) := p_source_136;
102281 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
102282 l_rec_acct_attrs.array_num_value(26) := p_source_137;
102283 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
102284 l_rec_acct_attrs.array_char_value(27) := p_source_138;
102285 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
102286 l_rec_acct_attrs.array_num_value(28) := p_source_9;
102290 l_rec_acct_attrs.array_char_value(30) := p_source_66;
102287 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
102288 l_rec_acct_attrs.array_date_value(29) := p_source_65;
102289 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
102291 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
102292 l_rec_acct_attrs.array_date_value(31) := p_source_67;
102293 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
102294 l_rec_acct_attrs.array_char_value(32) := p_source_68;
102295 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
102296 l_rec_acct_attrs.array_num_value(33) := p_source_69;
102297 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
102298 l_rec_acct_attrs.array_num_value(34) := p_source_70;
102299 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
102300 l_rec_acct_attrs.array_char_value(35) := p_source_71;
102301 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
102302 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
102303 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
102304 l_rec_acct_attrs.array_char_value(37) := p_source_43;
102305 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
102306 l_rec_acct_attrs.array_num_value(38) := p_source_73;
102307 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
102308 l_rec_acct_attrs.array_num_value(39) := p_source_74;
102309 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
102310 l_rec_acct_attrs.array_num_value(40) := p_source_75;
102311 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
102312 l_rec_acct_attrs.array_num_value(41) := p_source_76;
102313 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
102314 l_rec_acct_attrs.array_num_value(42) := p_source_77;
102315 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
102316 l_rec_acct_attrs.array_num_value(43) := p_source_78;
102317
102318 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
102319 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
102320
102321 ---------------------------------------------------------------------------------------------------------------
102322 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
102323 ---------------------------------------------------------------------------------------------------------------
102324 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
102325
102326 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102327 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
102328
102329 IF xla_accounting_cache_pkg.GetValueChar
102330 (p_source_code => 'LEDGER_CATEGORY_CODE'
102331 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
102332 AND l_bflow_method_code = 'PRIOR_ENTRY'
102333 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
102334 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
102335 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
102336 )
102337 THEN
102338 xla_ae_lines_pkg.BflowUpgEntry
102339 (p_business_method_code => l_bflow_method_code
102340 ,p_business_class_code => l_bflow_class_code
102341 ,p_balance_type => l_balance_type_code);
102342 ELSE
102343 NULL;
102344 -- No business flow processing for business flow method of NONE.
102345 END IF;
102346
102347 --
102348 -- call analytical criteria
102349 --
102350
102351 --
102352 -- call description
102353 --
102354
102355 xla_ae_lines_pkg.SetLineDescription(
102356 p_ae_header_id => l_ae_header_id
102357 ,p_description => Description_2 (
102358 p_application_id => p_application_id
102359 , p_ae_header_id => l_ae_header_id
102360 , p_source_1 => p_source_1
102361 )
102362 );
102363
102364
102365 --
102366 -- call ADRs
102367 -- Bug 4922099
102368 --
102369 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102370 (NVL(l_actual_upg_option, 'N') = 'O') OR
102371 (NVL(l_enc_upg_option, 'N') = 'O')
102372 )
102373 THEN
102374 NULL;
102375 --
102376 --
102377
102378 l_ccid := AcctDerRule_33(
102379 p_application_id => p_application_id
102380 , p_ae_header_id => l_ae_header_id
102381 , p_source_22 => p_source_22
102382 , x_transaction_coa_id => l_adr_transaction_coa_id
102383 , x_accounting_coa_id => l_adr_accounting_coa_id
102384 , x_value_type_code => l_adr_value_type_code
102385 , p_side => 'NA'
102386 );
102387
102388 xla_ae_lines_pkg.set_ccid(
102389 p_code_combination_id => l_ccid
102390 , p_value_type_code => l_adr_value_type_code
102391 , p_transaction_coa_id => l_adr_transaction_coa_id
102392 , p_accounting_coa_id => l_adr_accounting_coa_id
102393 , p_adr_code => 'AP_LIAB'
102394 , p_adr_type_code => 'S'
102395 , p_component_type => l_component_type
102396 , p_component_code => l_component_code
102400 , p_side => 'NA'
102397 , p_component_type_code => l_component_type_code
102398 , p_component_appl_id => l_component_appl_id
102399 , p_amb_context_code => l_amb_context_code
102401 );
102402
102403
102404 --
102405 --
102406 END IF;
102407 --
102408 -- Bug 4922099
102409 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
102410 (NVL(l_enc_upg_option, 'N') = 'O')
102411 ) AND
102412 (l_bflow_method_code = 'PRIOR_ENTRY')
102413 )
102414 THEN
102415 IF
102416 --
102417 1 = 2
102418 --
102419 THEN
102420 xla_accounting_err_pkg.build_message
102421 (p_appli_s_name => 'XLA'
102422 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102423 ,p_token_1 => 'LINE_NUMBER'
102424 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
102425 ,p_token_2 => 'LINE_TYPE_NAME'
102426 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
102427 l_component_type
102428 ,l_component_code
102429 ,l_component_type_code
102430 ,l_component_appl_id
102431 ,l_amb_context_code
102432 ,l_entity_code
102433 ,l_event_class_code
102434 )
102435 ,p_token_3 => 'OWNER'
102436 ,p_value_3 => xla_lookups_pkg.get_meaning(
102437 p_lookup_type => 'XLA_OWNER_TYPE'
102438 ,p_lookup_code => l_component_type_code
102439 )
102440 ,p_token_4 => 'PRODUCT_NAME'
102441 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
102442 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
102443 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
102444 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
102445 ,p_ae_header_id => NULL
102446 );
102447
102448 IF (C_LEVEL_ERROR>= g_log_level) THEN
102449 trace
102450 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
102451 ,p_level => C_LEVEL_ERROR
102452 ,p_module => l_log_module);
102453 END IF;
102454 END IF;
102455 END IF;
102456 --
102457 --
102458 ------------------------------------------------------------------------------------------------
102459 -- 4219869 Business Flow
102460 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
102461 -- Prior Entry. Currently, the following code is always generated.
102462 ------------------------------------------------------------------------------------------------
102463 XLA_AE_LINES_PKG.ValidateCurrentLine;
102464
102465 ------------------------------------------------------------------------------------
102466 -- 4219869 Business Flow
102467 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
102468 ------------------------------------------------------------------------------------
102469 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102470
102471 ----------------------------------------------------------------------------------
102472 -- 4219869 Business Flow
102473 -- Update journal entry status -- Need to generate this within IF <condition>
102474 ----------------------------------------------------------------------------------
102475 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102476 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
102477 ,p_balance_type_code => l_balance_type_code
102478 );
102479
102480 -------------------------------------------------------------------------------------------
102481 -- 4262811 - Generate the Accrual Reversal lines
102482 -------------------------------------------------------------------------------------------
102483 BEGIN
102484 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
102485 (g_array_event(p_event_id).array_value_num('header_index'));
102486 IF l_acc_rev_flag IS NULL THEN
102487 l_acc_rev_flag := 'N';
102488 END IF;
102489 EXCEPTION
102490 WHEN OTHERS THEN
102491 l_acc_rev_flag := 'N';
102492 END;
102493 --
102494 IF (l_acc_rev_flag = 'Y') THEN
102495
102496 -- 4645092 ------------------------------------------------------------------------------
102500
102497 -- To allow MPA report to determine if it should generate report process
102498 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
102499 ------------------------------------------------------------------------------------------
102501 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
102502 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
102503 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
102504 -- call ADRs
102505 -- Bug 4922099
102506 --
102507 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
102508 (NVL(l_actual_upg_option, 'N') = 'O') OR
102509 (NVL(l_enc_upg_option, 'N') = 'O')
102510 )
102511 THEN
102512 NULL;
102513 --
102514 --
102515
102516 l_ccid := AcctDerRule_33(
102517 p_application_id => p_application_id
102518 , p_ae_header_id => l_ae_header_id
102519 , p_source_22 => p_source_22
102520 , x_transaction_coa_id => l_adr_transaction_coa_id
102521 , x_accounting_coa_id => l_adr_accounting_coa_id
102522 , x_value_type_code => l_adr_value_type_code
102523 , p_side => 'NA'
102524 );
102525
102526 xla_ae_lines_pkg.set_ccid(
102527 p_code_combination_id => l_ccid
102528 , p_value_type_code => l_adr_value_type_code
102529 , p_transaction_coa_id => l_adr_transaction_coa_id
102530 , p_accounting_coa_id => l_adr_accounting_coa_id
102531 , p_adr_code => 'AP_LIAB'
102532 , p_adr_type_code => 'S'
102533 , p_component_type => l_component_type
102534 , p_component_code => l_component_code
102535 , p_component_type_code => l_component_type_code
102536 , p_component_appl_id => l_component_appl_id
102537 , p_amb_context_code => l_amb_context_code
102538 , p_side => 'NA'
102539 );
102540
102541
102542 --
102543 --
102544 END IF;
102545
102546 --
102547 -- Update the line information that should be overwritten
102548 --
102549 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
102550 p_header_num => 1);
102551 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
102552
102553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
102554
102555 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
102556 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
102557 END IF;
102558
102559 --
102560 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
102561 --
102562 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
102563 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
102564 ELSE
102565 ---------------------------------------------------------------------------------------------------
102566 -- 4262811a Switch Sign
102567 ---------------------------------------------------------------------------------------------------
102568 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
102569 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102571 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
102572 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102573 -- 5132302
102574 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
102575 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
102576
102577 END IF;
102578
102579 -- 4955764
102580 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102581 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
102582
102583
102584 XLA_AE_LINES_PKG.ValidateCurrentLine;
102585 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
102586
102587 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
102588 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
102589 ,p_balance_type_code => l_balance_type_code);
102590
102591 END IF;
102592
102593 -----------------------------------------------------------------------------------------
102594 -- 4262811 Multiperiod Accounting
102595 -----------------------------------------------------------------------------------------
102596 -- No MPA option is assigned.
102597
102598
102599 END IF;
102600 END IF;
102601 --
102602
102603 --
102604 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102605 trace
102606 (p_msg => 'END of AcctLineType_178'
102607 ,p_level => C_LEVEL_PROCEDURE
102608 ,p_module => l_log_module);
102609 END IF;
102610 --
102611 EXCEPTION
102612 WHEN xla_exceptions_pkg.application_exception THEN
102613 RAISE;
102614 WHEN OTHERS THEN
102615 xla_exceptions_pkg.raise_message
102619
102616 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_178');
102617 END AcctLineType_178;
102618 --
102620 ---------------------------------------
102621 --
102622 -- PRIVATE FUNCTION
102623 -- AcctLineType_179
102624 --
102625 ---------------------------------------
102626 PROCEDURE AcctLineType_179 (
102627 p_application_id IN NUMBER
102628 ,p_event_id IN NUMBER
102629 ,p_calculate_acctd_flag IN VARCHAR2
102630 ,p_calculate_g_l_flag IN VARCHAR2
102631 ,p_actual_flag IN OUT VARCHAR2
102632 ,p_balance_type_code OUT VARCHAR2
102633 ,p_gain_or_loss_ref OUT VARCHAR2
102634
102635 --Invoice Distribution Description
102636 , p_source_1 IN VARCHAR2
102637 --Automatic Offsets Value
102638 , p_source_3 IN VARCHAR2
102639 , p_source_3_meaning IN VARCHAR2
102640 --Invoice Distribution Ledger Amount
102641 , p_source_9 IN NUMBER
102642 --Invoice Liability Account
102643 , p_source_22 IN NUMBER
102644 --Accounting Reversal Indicator
102645 , p_source_41 IN VARCHAR2
102646 --Distribution Link Type
102647 , p_source_43 IN VARCHAR2
102648 --Allocation to Main Distribution Identifier
102649 , p_source_45 IN NUMBER
102650 --Invoice Identifier
102651 , p_source_46 IN NUMBER
102652 --Invoice Distribution Identifier
102653 , p_source_52 IN NUMBER
102654 --Payables Encumbrance Upgrade Credit Account
102655 , p_source_53 IN NUMBER
102656 --Payables Encumbrance Upgrade Credit Amount
102657 , p_source_54 IN NUMBER
102658 --Invoice Currency Code
102659 , p_source_55 IN VARCHAR2
102660 --Payables Encumbrance Upgrade Credit Base Amount
102661 , p_source_56 IN NUMBER
102662 --Payables Encumbrance Upgrade Debit Account
102663 , p_source_57 IN NUMBER
102664 --Payables Encumbrance Upgrade Debit Amount
102665 , p_source_58 IN NUMBER
102666 --Payables Encumbrance Upgrade Debit Base Amount
102667 , p_source_59 IN NUMBER
102668 --Payables Encumbrance Upgrade Option
102669 , p_source_60 IN VARCHAR2
102670 --Invoice Distribution Amount
102671 , p_source_61 IN NUMBER
102672 --Deferred Accounting End Date
102673 , p_source_65 IN DATE
102674 --Deferred Accounting Option
102675 , p_source_66 IN VARCHAR2
102676 --Deferred Accounting Start Date
102677 , p_source_67 IN DATE
102678 --Override Accounted Amount Indicator
102679 , p_source_68 IN VARCHAR2
102680 , p_source_68_meaning IN VARCHAR2
102681 --Invoice Supplier Identifier
102682 , p_source_69 IN NUMBER
102683 --Invoice Supplier Site Identifier
102684 , p_source_70 IN NUMBER
102685 --Third Party Type
102686 , p_source_71 IN VARCHAR2
102687 --Parent Reversal Identifier
102688 , p_source_72 IN NUMBER
102689 --Invoice Distribution Statistical Amount
102690 , p_source_73 IN NUMBER
102691 --Invoice Distribution Tax Line Identifier
102692 , p_source_74 IN NUMBER
102693 --Invoice Distribution Tax Distribution Identifier from Tax
102694 , p_source_75 IN NUMBER
102695 --Invoice Distribution Summary Tax Line Identifier
102696 , p_source_76 IN NUMBER
102697 --Payables Upgrade Credit Encumbrance Type Identifier
102698 , p_source_77 IN NUMBER
102699 --Payables Upgrade Debit Encumbrance Type Identifier
102700 , p_source_78 IN NUMBER
102701 --Business Flow Accounts Payable Application Identifier
102702 , p_source_79 IN NUMBER
102703 --Business Flow Invoice Distribution Type
102704 , p_source_80 IN VARCHAR2
102705 --Business Flow Invoice Entity Code
102706 , p_source_81 IN VARCHAR2
102707 --Business Flow Invoice Distribution Identifier
102708 , p_source_82 IN NUMBER
102709 --Business Flow Invoice Identifier
102710 , p_source_83 IN NUMBER
102711 --Self-Assessed Tax Flag
102712 , p_source_135 IN VARCHAR2
102713 , p_source_135_meaning IN VARCHAR2
102714 --Invoice Exchange Date
102715 , p_source_136 IN DATE
102716 --Invoice Exchange Rate
102717 , p_source_137 IN NUMBER
102718 --Invoice Exchange Rate Type
102719 , p_source_138 IN VARCHAR2
102720 )
102721 IS
102722
102723 l_component_type VARCHAR2(80);
102724 l_component_code VARCHAR2(30);
102725 l_component_type_code VARCHAR2(1);
102726 l_component_appl_id INTEGER;
102727 l_amb_context_code VARCHAR2(30);
102728 l_entity_code VARCHAR2(30);
102729 l_event_class_code VARCHAR2(30);
102730 l_ae_header_id NUMBER;
102731 l_event_type_code VARCHAR2(30);
102732 l_line_definition_code VARCHAR2(30);
102733 l_line_definition_owner_code VARCHAR2(1);
102734 --
102735 -- adr variables
102736 l_segment VARCHAR2(30);
102737 l_ccid NUMBER;
102738 l_adr_transaction_coa_id NUMBER;
102739 l_adr_accounting_coa_id NUMBER;
102740 l_adr_flexfield_segment_code VARCHAR2(30);
102741 l_adr_flex_value_set_id NUMBER;
102742 l_adr_value_type_code VARCHAR2(30);
102743 l_adr_value_combination_id NUMBER;
102744 l_adr_value_segment_code VARCHAR2(30);
102745
102746 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
102747 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
102748 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
102752 l_entered_amt_idx NUMBER;
102749 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
102750
102751 -- 4262811 Variables ------------------------------------------------------------------------------------------
102753 l_accted_amt_idx NUMBER;
102754 l_acc_rev_flag VARCHAR2(1);
102755 l_accrual_line_num NUMBER;
102756 l_tmp_amt NUMBER;
102757 l_acc_rev_natural_side_code VARCHAR2(1);
102758
102759 l_num_entries NUMBER;
102760 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
102761 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
102762 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
102763 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
102764 l_recog_line_1 NUMBER;
102765 l_recog_line_2 NUMBER;
102766
102767 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
102768 l_bflow_applied_to_amt NUMBER; -- 5132302
102769 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
102770
102771 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
102772
102773 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
102774 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
102775
102776 ---------------------------------------------------------------------------------------------------------------
102777
102778
102779 --
102780 -- bulk performance
102781 --
102782 l_balance_type_code VARCHAR2(1);
102783 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
102784 l_log_module VARCHAR2(240);
102785
102786 --
102787 -- Upgrade strategy
102788 --
102789 l_actual_upg_option VARCHAR2(1);
102790 l_enc_upg_option VARCHAR2(1);
102791
102792 --
102793 BEGIN
102794 --
102795 IF g_log_enabled THEN
102796 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_179';
102797 END IF;
102798 --
102799 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
102800
102801 trace
102802 (p_msg => 'BEGIN of AcctLineType_179'
102803 ,p_level => C_LEVEL_PROCEDURE
102804 ,p_module => l_log_module);
102805
102806 END IF;
102807 --
102808 l_component_type := 'AMB_JLT';
102809 l_component_code := 'AP_LIAB_PREPAY_AOS_AS';
102810 l_component_type_code := 'S';
102811 l_component_appl_id := 200;
102812 l_amb_context_code := 'DEFAULT';
102813 l_entity_code := 'AP_INVOICES';
102814 l_event_class_code := 'PREPAYMENTS';
102815 l_event_type_code := 'PREPAYMENTS_ALL';
102816 l_line_definition_owner_code := 'S';
102817 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
102818 --
102819 l_balance_type_code := 'A';
102820 l_segment := NULL;
102821 l_ccid := NULL;
102822 l_adr_transaction_coa_id := NULL;
102823 l_adr_accounting_coa_id := NULL;
102824 l_adr_flexfield_segment_code := NULL;
102825 l_adr_flex_value_set_id := NULL;
102826 l_adr_value_type_code := NULL;
102827 l_adr_value_combination_id := NULL;
102828 l_adr_value_segment_code := NULL;
102829
102830 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
102831 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
102832 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
102833 l_budgetary_control_flag := 'N';
102834
102835 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102836 l_bflow_applied_to_amt := NULL; -- 5132302
102837 l_entered_amt_idx := NULL; -- 4262811
102838 l_accted_amt_idx := NULL; -- 4262811
102839 l_acc_rev_flag := NULL; -- 4262811
102840 l_accrual_line_num := NULL; -- 4262811
102841 l_tmp_amt := NULL; -- 4262811
102842 --
102843
102844 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
102845 l_balance_type_code <> 'B' THEN
102846 IF NVL(p_source_3,'
102847 ') = 'ACCOUNT_SEGMENT_VALUE' AND
102848 NVL(p_source_135,'
102849 ') <> 'Y'
102850 THEN
102851
102852 --
102853 XLA_AE_LINES_PKG.SetNewLine;
102854
102855 p_balance_type_code := l_balance_type_code;
102856 -- set the flag so later we will know whether the gain loss line needs to be created
102857
102858 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
102859 p_actual_flag :='A';
102860 END IF;
102861
102862 --
102863 -- bulk performance
102864 --
102865 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
102866 p_header_num => 0); -- 4262811
102867 --
102868 -- set accounting line options
102869 --
102870 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
102871 p_natural_side_code => 'C'
102872 , p_gain_or_loss_flag => 'N'
102873 , p_gl_transfer_mode_code => 'S'
102874 , p_acct_entry_type_code => 'A'
102875 , p_switch_side_flag => 'Y'
102876 , p_merge_duplicate_code => 'A'
102877 );
102878 --
102882 -- set accounting line type info
102879 l_acc_rev_natural_side_code := 'D'; -- 4262811
102880 --
102881 --
102883 --
102884 xla_ae_lines_pkg.SetAcctLineType
102885 (p_component_type => l_component_type
102886 ,p_event_type_code => l_event_type_code
102887 ,p_line_definition_owner_code => l_line_definition_owner_code
102888 ,p_line_definition_code => l_line_definition_code
102889 ,p_accounting_line_code => l_component_code
102890 ,p_accounting_line_type_code => l_component_type_code
102891 ,p_accounting_line_appl_id => l_component_appl_id
102892 ,p_amb_context_code => l_amb_context_code
102893 ,p_entity_code => l_entity_code
102894 ,p_event_class_code => l_event_class_code);
102895 --
102896 -- set accounting class
102897 --
102898 xla_ae_lines_pkg.SetAcctClass(
102899 p_accounting_class_code => 'LIABILITY'
102900 , p_ae_header_id => l_ae_header_id
102901 );
102902
102903 --
102904 -- set rounding class
102905 --
102906 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
102907 'LIABILITY';
102908
102909 --
102910 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
102911 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
102912 --
102913 -- bulk performance
102914 --
102915 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
102916
102917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
102918 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
102919
102920 -- 4955764
102921 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
102922 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
102923
102924 -- 4458381 Public Sector Enh
102925
102926 --
102927 -- set accounting attributes for the line type
102928 --
102929 l_entered_amt_idx := 23;
102930 l_accted_amt_idx := 28;
102931 l_bflow_applied_to_amt_idx := NULL; -- 5132302
102932 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
102933 l_rec_acct_attrs.array_char_value(1) := p_source_41;
102934 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
102935 l_rec_acct_attrs.array_num_value(2) :=
102936 xla_ae_sources_pkg.GetSystemSourceNum(
102937 p_source_code => 'XLA_EVENT_APPL_ID'
102938 , p_source_type_code => 'Y'
102939 , p_source_application_id => 602
102940 );
102941 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
102942 l_rec_acct_attrs.array_char_value(3) := p_source_43;
102943 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
102944 l_rec_acct_attrs.array_char_value(4) :=
102945 xla_ae_sources_pkg.GetSystemSourceChar(
102946 p_source_code => 'XLA_ENTITY_CODE'
102947 , p_source_type_code => 'Y'
102948 , p_source_application_id => 602
102949 );
102950 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
102951 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
102952 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
102953 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
102954 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
102955 l_rec_acct_attrs.array_num_value(7) := p_source_79;
102956 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
102957 l_rec_acct_attrs.array_char_value(8) := p_source_80;
102958 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
102959 l_rec_acct_attrs.array_char_value(9) := p_source_81;
102960 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
102961 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
102962 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
102963 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
102964 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
102965 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
102966 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
102967 l_rec_acct_attrs.array_char_value(13) := p_source_43;
102968 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
102969 l_rec_acct_attrs.array_num_value(14) := p_source_53;
102970 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
102971 l_rec_acct_attrs.array_num_value(15) := p_source_54;
102972 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
102973 l_rec_acct_attrs.array_char_value(16) := p_source_55;
102974 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
102975 l_rec_acct_attrs.array_num_value(17) := p_source_56;
102976 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
102977 l_rec_acct_attrs.array_num_value(18) := p_source_57;
102978 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
102979 l_rec_acct_attrs.array_num_value(19) := p_source_58;
102980 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
102981 l_rec_acct_attrs.array_char_value(20) := p_source_55;
102982 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
102986 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
102983 l_rec_acct_attrs.array_num_value(21) := p_source_59;
102984 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
102985 l_rec_acct_attrs.array_char_value(22) := p_source_60;
102987 l_rec_acct_attrs.array_num_value(23) := p_source_61;
102988 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
102989 l_rec_acct_attrs.array_char_value(24) := p_source_55;
102990 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
102991 l_rec_acct_attrs.array_date_value(25) := p_source_136;
102992 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
102993 l_rec_acct_attrs.array_num_value(26) := p_source_137;
102994 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
102995 l_rec_acct_attrs.array_char_value(27) := p_source_138;
102996 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
102997 l_rec_acct_attrs.array_num_value(28) := p_source_9;
102998 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
102999 l_rec_acct_attrs.array_date_value(29) := p_source_65;
103000 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103001 l_rec_acct_attrs.array_char_value(30) := p_source_66;
103002 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103003 l_rec_acct_attrs.array_date_value(31) := p_source_67;
103004 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103005 l_rec_acct_attrs.array_char_value(32) := p_source_68;
103006 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103007 l_rec_acct_attrs.array_num_value(33) := p_source_69;
103008 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103009 l_rec_acct_attrs.array_num_value(34) := p_source_70;
103010 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103011 l_rec_acct_attrs.array_char_value(35) := p_source_71;
103012 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103013 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
103014 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103015 l_rec_acct_attrs.array_char_value(37) := p_source_43;
103016 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
103017 l_rec_acct_attrs.array_num_value(38) := p_source_73;
103018 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
103019 l_rec_acct_attrs.array_num_value(39) := p_source_74;
103020 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
103021 l_rec_acct_attrs.array_num_value(40) := p_source_75;
103022 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
103023 l_rec_acct_attrs.array_num_value(41) := p_source_76;
103024 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
103025 l_rec_acct_attrs.array_num_value(42) := p_source_77;
103026 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
103027 l_rec_acct_attrs.array_num_value(43) := p_source_78;
103028
103029 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103030 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103031
103032 ---------------------------------------------------------------------------------------------------------------
103033 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103034 ---------------------------------------------------------------------------------------------------------------
103035 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103036
103037 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103038 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103039
103040 IF xla_accounting_cache_pkg.GetValueChar
103041 (p_source_code => 'LEDGER_CATEGORY_CODE'
103042 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103043 AND l_bflow_method_code = 'PRIOR_ENTRY'
103044 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103045 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103046 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103047 )
103048 THEN
103049 xla_ae_lines_pkg.BflowUpgEntry
103050 (p_business_method_code => l_bflow_method_code
103051 ,p_business_class_code => l_bflow_class_code
103052 ,p_balance_type => l_balance_type_code);
103053 ELSE
103054 NULL;
103055 XLA_AE_LINES_PKG.business_flow_validation(
103056 p_business_method_code => l_bflow_method_code
103057 ,p_business_class_code => l_bflow_class_code
103058 ,p_inherit_description_flag => l_inherit_desc_flag);
103059 END IF;
103060
103061 --
103062 -- call analytical criteria
103063 --
103064
103065 --
103066 -- call description
103067 --
103068
103069 xla_ae_lines_pkg.SetLineDescription(
103070 p_ae_header_id => l_ae_header_id
103071 ,p_description => Description_2 (
103072 p_application_id => p_application_id
103073 , p_ae_header_id => l_ae_header_id
103074 , p_source_1 => p_source_1
103075 )
103076 );
103077
103078
103079 --
103080 -- call ADRs
103081 -- Bug 4922099
103082 --
103083 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103087 THEN
103084 (NVL(l_actual_upg_option, 'N') = 'O') OR
103085 (NVL(l_enc_upg_option, 'N') = 'O')
103086 )
103088 NULL;
103089 --
103090 --
103091
103092 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
103093 p_code_combination_id => TO_NUMBER(C_NUM)
103094 , p_value_type_code => NULL
103095 , p_transaction_coa_id => null
103096 , p_accounting_coa_id => null
103097 , p_adr_code => NULL
103098 , p_adr_type_code => NULL
103099 , p_component_type => l_component_type
103100 , p_component_code => l_component_code
103101 , p_component_type_code => l_component_type_code
103102 , p_component_appl_id => l_component_appl_id
103103 , p_amb_context_code => l_amb_context_code
103104 , p_side => NULL
103105 );
103106
103107
103108 -- initialise segments
103109 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103110 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103111 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103112 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103113 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103114 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103115 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103116 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103117 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103118 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103119 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103120 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103121 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103122 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103123 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103124 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103125 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103126 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103127 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103128 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103129 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103130 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103131 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103132 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103133 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103134 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103135 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103136 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103137 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103138 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103139 --
103140
103141 --
103142
103143
103144 l_segment := AcctDerRule_14(
103145 p_application_id => p_application_id
103146 , p_ae_header_id => l_ae_header_id
103147 , p_source_22 => p_source_22
103148 , x_transaction_coa_id => l_adr_transaction_coa_id
103149 , x_accounting_coa_id => l_adr_accounting_coa_id
103150 , x_flexfield_segment_code => l_adr_flexfield_segment_code
103151 , x_flex_value_set_id => l_adr_flex_value_set_id
103152 , x_value_type_code => l_adr_value_type_code
103153 , x_value_combination_id => l_adr_value_combination_id
103154 , x_value_segment_code => l_adr_value_segment_code
103155 , p_side => 'NA'
103156 , p_override_seg_flag => 'Y'
103157 );
103158
103159 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
103160
103161 xla_ae_lines_pkg.set_segment(
103162 p_to_segment_code => 'GL_ACCOUNT'
103163 , p_segment_value => l_segment
103164 , p_from_segment_code => l_adr_value_segment_code
103165 , p_from_combination_id => l_adr_value_combination_id
103166 , p_value_type_code => l_adr_value_type_code
103167 , p_transaction_coa_id => l_adr_transaction_coa_id
103168 , p_accounting_coa_id => l_adr_accounting_coa_id
103169 , p_flexfield_segment_code => l_adr_flexfield_segment_code
103170 , p_flex_value_set_id => l_adr_flex_value_set_id
103171 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
103172 , p_adr_type_code => 'S'
103173 , p_component_type => l_component_type
103174 , p_component_code => l_component_code
103175 , p_component_type_code => l_component_type_code
103176 , p_component_appl_id => l_component_appl_id
103177 , p_amb_context_code => l_amb_context_code
103181 );
103178 , p_entity_code => 'AP_INVOICES'
103179 , p_event_class_code => 'PREPAYMENTS'
103180 , p_side => 'NA'
103182
103183 END IF;
103184
103185 --
103186 --
103187 END IF;
103188 --
103189 -- Bug 4922099
103190 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103191 (NVL(l_enc_upg_option, 'N') = 'O')
103192 ) AND
103193 (l_bflow_method_code = 'PRIOR_ENTRY')
103194 )
103195 THEN
103196 IF
103197 --
103198 1 = 2
103199 --
103200 THEN
103201 xla_accounting_err_pkg.build_message
103202 (p_appli_s_name => 'XLA'
103203 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103204 ,p_token_1 => 'LINE_NUMBER'
103205 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
103206 ,p_token_2 => 'LINE_TYPE_NAME'
103207 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
103208 l_component_type
103209 ,l_component_code
103210 ,l_component_type_code
103211 ,l_component_appl_id
103212 ,l_amb_context_code
103213 ,l_entity_code
103214 ,l_event_class_code
103215 )
103216 ,p_token_3 => 'OWNER'
103217 ,p_value_3 => xla_lookups_pkg.get_meaning(
103218 p_lookup_type => 'XLA_OWNER_TYPE'
103219 ,p_lookup_code => l_component_type_code
103220 )
103221 ,p_token_4 => 'PRODUCT_NAME'
103222 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
103223 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
103224 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
103225 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
103226 ,p_ae_header_id => NULL
103227 );
103228
103229 IF (C_LEVEL_ERROR>= g_log_level) THEN
103230 trace
103231 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
103232 ,p_level => C_LEVEL_ERROR
103233 ,p_module => l_log_module);
103234 END IF;
103235 END IF;
103236 END IF;
103237 --
103238 --
103239 ------------------------------------------------------------------------------------------------
103240 -- 4219869 Business Flow
103241 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
103242 -- Prior Entry. Currently, the following code is always generated.
103243 ------------------------------------------------------------------------------------------------
103244 XLA_AE_LINES_PKG.ValidateCurrentLine;
103245
103246 ------------------------------------------------------------------------------------
103247 -- 4219869 Business Flow
103248 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
103249 ------------------------------------------------------------------------------------
103250 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103251
103252 ----------------------------------------------------------------------------------
103253 -- 4219869 Business Flow
103254 -- Update journal entry status -- Need to generate this within IF <condition>
103255 ----------------------------------------------------------------------------------
103256 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103257 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
103258 ,p_balance_type_code => l_balance_type_code
103259 );
103260
103261 -------------------------------------------------------------------------------------------
103262 -- 4262811 - Generate the Accrual Reversal lines
103263 -------------------------------------------------------------------------------------------
103264 BEGIN
103265 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
103266 (g_array_event(p_event_id).array_value_num('header_index'));
103267 IF l_acc_rev_flag IS NULL THEN
103268 l_acc_rev_flag := 'N';
103269 END IF;
103270 EXCEPTION
103271 WHEN OTHERS THEN
103272 l_acc_rev_flag := 'N';
103273 END;
103274 --
103275 IF (l_acc_rev_flag = 'Y') THEN
103276
103280 ------------------------------------------------------------------------------------------
103277 -- 4645092 ------------------------------------------------------------------------------
103278 -- To allow MPA report to determine if it should generate report process
103279 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
103281
103282 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
103283 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
103284 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
103285 -- call ADRs
103286 -- Bug 4922099
103287 --
103288 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103289 (NVL(l_actual_upg_option, 'N') = 'O') OR
103290 (NVL(l_enc_upg_option, 'N') = 'O')
103291 )
103292 THEN
103293 NULL;
103294 --
103295 --
103296
103297 xla_ae_lines_pkg.Set_Ccid( -- replaced SetCcid
103298 p_code_combination_id => TO_NUMBER(C_NUM)
103299 , p_value_type_code => NULL
103300 , p_transaction_coa_id => null
103301 , p_accounting_coa_id => null
103302 , p_adr_code => NULL
103303 , p_adr_type_code => NULL
103304 , p_component_type => l_component_type
103305 , p_component_code => l_component_code
103306 , p_component_type_code => l_component_type_code
103307 , p_component_appl_id => l_component_appl_id
103308 , p_amb_context_code => l_amb_context_code
103309 , p_side => NULL
103310 );
103311
103312
103313 -- initialise segments
103314 XLA_AE_LINES_PKG.g_rec_lines.array_segment1(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103315 XLA_AE_LINES_PKG.g_rec_lines.array_segment2(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103316 XLA_AE_LINES_PKG.g_rec_lines.array_segment3(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103317 XLA_AE_LINES_PKG.g_rec_lines.array_segment4(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103318 XLA_AE_LINES_PKG.g_rec_lines.array_segment5(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103319 XLA_AE_LINES_PKG.g_rec_lines.array_segment6(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103320 XLA_AE_LINES_PKG.g_rec_lines.array_segment7(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103321 XLA_AE_LINES_PKG.g_rec_lines.array_segment8(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103322 XLA_AE_LINES_PKG.g_rec_lines.array_segment9(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103323 XLA_AE_LINES_PKG.g_rec_lines.array_segment10(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103324 XLA_AE_LINES_PKG.g_rec_lines.array_segment11(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103325 XLA_AE_LINES_PKG.g_rec_lines.array_segment12(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103326 XLA_AE_LINES_PKG.g_rec_lines.array_segment13(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103327 XLA_AE_LINES_PKG.g_rec_lines.array_segment14(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103328 XLA_AE_LINES_PKG.g_rec_lines.array_segment15(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103329 XLA_AE_LINES_PKG.g_rec_lines.array_segment16(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103330 XLA_AE_LINES_PKG.g_rec_lines.array_segment17(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103331 XLA_AE_LINES_PKG.g_rec_lines.array_segment18(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103332 XLA_AE_LINES_PKG.g_rec_lines.array_segment19(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103333 XLA_AE_LINES_PKG.g_rec_lines.array_segment20(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103334 XLA_AE_LINES_PKG.g_rec_lines.array_segment21(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103335 XLA_AE_LINES_PKG.g_rec_lines.array_segment22(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103336 XLA_AE_LINES_PKG.g_rec_lines.array_segment23(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103337 XLA_AE_LINES_PKG.g_rec_lines.array_segment24(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103338 XLA_AE_LINES_PKG.g_rec_lines.array_segment25(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103339 XLA_AE_LINES_PKG.g_rec_lines.array_segment26(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103340 XLA_AE_LINES_PKG.g_rec_lines.array_segment27(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103341 XLA_AE_LINES_PKG.g_rec_lines.array_segment28(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103342 XLA_AE_LINES_PKG.g_rec_lines.array_segment29(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103343 XLA_AE_LINES_PKG.g_rec_lines.array_segment30(XLA_AE_LINES_PKG.g_LineNumber) := C_CHAR;
103344 --
103345
103346 --
103347
103348
103349 l_segment := AcctDerRule_14(
103350 p_application_id => p_application_id
103351 , p_ae_header_id => l_ae_header_id
103352 , p_source_22 => p_source_22
103353 , x_transaction_coa_id => l_adr_transaction_coa_id
103354 , x_accounting_coa_id => l_adr_accounting_coa_id
103355 , x_flexfield_segment_code => l_adr_flexfield_segment_code
103356 , x_flex_value_set_id => l_adr_flex_value_set_id
103357 , x_value_type_code => l_adr_value_type_code
103358 , x_value_combination_id => l_adr_value_combination_id
103359 , x_value_segment_code => l_adr_value_segment_code
103360 , p_side => 'NA'
103361 , p_override_seg_flag => 'Y'
103362 );
103363
103364 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
103365
103366 xla_ae_lines_pkg.set_segment(
103367 p_to_segment_code => 'GL_ACCOUNT'
103368 , p_segment_value => l_segment
103369 , p_from_segment_code => l_adr_value_segment_code
103370 , p_from_combination_id => l_adr_value_combination_id
103371 , p_value_type_code => l_adr_value_type_code
103372 , p_transaction_coa_id => l_adr_transaction_coa_id
103376 , p_adr_code => 'AP_LIAB_NAT_ACCT_SEG'
103373 , p_accounting_coa_id => l_adr_accounting_coa_id
103374 , p_flexfield_segment_code => l_adr_flexfield_segment_code
103375 , p_flex_value_set_id => l_adr_flex_value_set_id
103377 , p_adr_type_code => 'S'
103378 , p_component_type => l_component_type
103379 , p_component_code => l_component_code
103380 , p_component_type_code => l_component_type_code
103381 , p_component_appl_id => l_component_appl_id
103382 , p_amb_context_code => l_amb_context_code
103383 , p_entity_code => 'AP_INVOICES'
103384 , p_event_class_code => 'PREPAYMENTS'
103385 , p_side => 'NA'
103386 );
103387
103388 END IF;
103389
103390 --
103391 --
103392 END IF;
103393
103394 --
103395 -- Update the line information that should be overwritten
103396 --
103397 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
103398 p_header_num => 1);
103399 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
103400
103401 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
103402
103403 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
103404 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
103405 END IF;
103406
103407 --
103408 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
103409 --
103410 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
103411 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
103412 ELSE
103413 ---------------------------------------------------------------------------------------------------
103414 -- 4262811a Switch Sign
103415 ---------------------------------------------------------------------------------------------------
103416 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
103417 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103418 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103419 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
103420 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103421 -- 5132302
103422 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
103423 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
103424
103425 END IF;
103426
103427 -- 4955764
103428 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103429 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
103430
103431
103432 XLA_AE_LINES_PKG.ValidateCurrentLine;
103433 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
103434
103435 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
103436 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
103437 ,p_balance_type_code => l_balance_type_code);
103438
103439 END IF;
103440
103441 -----------------------------------------------------------------------------------------
103442 -- 4262811 Multiperiod Accounting
103443 -----------------------------------------------------------------------------------------
103444 -- No MPA option is assigned.
103445
103446
103447 END IF;
103448 END IF;
103449 --
103450
103451 --
103452 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103453 trace
103454 (p_msg => 'END of AcctLineType_179'
103455 ,p_level => C_LEVEL_PROCEDURE
103456 ,p_module => l_log_module);
103457 END IF;
103458 --
103459 EXCEPTION
103460 WHEN xla_exceptions_pkg.application_exception THEN
103461 RAISE;
103462 WHEN OTHERS THEN
103463 xla_exceptions_pkg.raise_message
103464 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_179');
103465 END AcctLineType_179;
103466 --
103467
103468 ---------------------------------------
103469 --
103470 -- PRIVATE FUNCTION
103471 -- AcctLineType_180
103472 --
103473 ---------------------------------------
103474 PROCEDURE AcctLineType_180 (
103475 p_application_id IN NUMBER
103476 ,p_event_id IN NUMBER
103477 ,p_calculate_acctd_flag IN VARCHAR2
103478 ,p_calculate_g_l_flag IN VARCHAR2
103479 ,p_actual_flag IN OUT VARCHAR2
103480 ,p_balance_type_code OUT VARCHAR2
103481 ,p_gain_or_loss_ref OUT VARCHAR2
103482
103483 --Invoice Distribution Description
103484 , p_source_1 IN VARCHAR2
103485 --Automatic Offsets Value
103486 , p_source_3 IN VARCHAR2
103487 , p_source_3_meaning IN VARCHAR2
103488 --Invoice Distribution Ledger Amount
103489 , p_source_9 IN NUMBER
103490 --Invoice Liability Account
103491 , p_source_22 IN NUMBER
103492 --Accounting Reversal Indicator
103496 --Allocation to Main Distribution Identifier
103493 , p_source_41 IN VARCHAR2
103494 --Distribution Link Type
103495 , p_source_43 IN VARCHAR2
103497 , p_source_45 IN NUMBER
103498 --Invoice Identifier
103499 , p_source_46 IN NUMBER
103500 --Invoice Distribution Identifier
103501 , p_source_52 IN NUMBER
103502 --Payables Encumbrance Upgrade Credit Account
103503 , p_source_53 IN NUMBER
103504 --Payables Encumbrance Upgrade Credit Amount
103505 , p_source_54 IN NUMBER
103506 --Invoice Currency Code
103507 , p_source_55 IN VARCHAR2
103508 --Payables Encumbrance Upgrade Credit Base Amount
103509 , p_source_56 IN NUMBER
103510 --Payables Encumbrance Upgrade Debit Account
103511 , p_source_57 IN NUMBER
103512 --Payables Encumbrance Upgrade Debit Amount
103513 , p_source_58 IN NUMBER
103514 --Payables Encumbrance Upgrade Debit Base Amount
103515 , p_source_59 IN NUMBER
103516 --Payables Encumbrance Upgrade Option
103517 , p_source_60 IN VARCHAR2
103518 --Invoice Distribution Amount
103519 , p_source_61 IN NUMBER
103520 --Deferred Accounting End Date
103521 , p_source_65 IN DATE
103522 --Deferred Accounting Option
103523 , p_source_66 IN VARCHAR2
103524 --Deferred Accounting Start Date
103525 , p_source_67 IN DATE
103526 --Override Accounted Amount Indicator
103527 , p_source_68 IN VARCHAR2
103528 , p_source_68_meaning IN VARCHAR2
103529 --Invoice Supplier Identifier
103530 , p_source_69 IN NUMBER
103531 --Invoice Supplier Site Identifier
103532 , p_source_70 IN NUMBER
103533 --Third Party Type
103534 , p_source_71 IN VARCHAR2
103535 --Parent Reversal Identifier
103536 , p_source_72 IN NUMBER
103537 --Invoice Distribution Statistical Amount
103538 , p_source_73 IN NUMBER
103539 --Invoice Distribution Tax Line Identifier
103540 , p_source_74 IN NUMBER
103541 --Invoice Distribution Tax Distribution Identifier from Tax
103542 , p_source_75 IN NUMBER
103543 --Invoice Distribution Summary Tax Line Identifier
103544 , p_source_76 IN NUMBER
103545 --Payables Upgrade Credit Encumbrance Type Identifier
103546 , p_source_77 IN NUMBER
103547 --Payables Upgrade Debit Encumbrance Type Identifier
103548 , p_source_78 IN NUMBER
103549 --Business Flow Accounts Payable Application Identifier
103550 , p_source_79 IN NUMBER
103551 --Business Flow Invoice Distribution Type
103552 , p_source_80 IN VARCHAR2
103553 --Business Flow Invoice Entity Code
103554 , p_source_81 IN VARCHAR2
103555 --Business Flow Invoice Distribution Identifier
103556 , p_source_82 IN NUMBER
103557 --Business Flow Invoice Identifier
103558 , p_source_83 IN NUMBER
103559 --Self-Assessed Tax Flag
103560 , p_source_135 IN VARCHAR2
103561 , p_source_135_meaning IN VARCHAR2
103562 --Invoice Exchange Date
103563 , p_source_136 IN DATE
103564 --Invoice Exchange Rate
103565 , p_source_137 IN NUMBER
103566 --Invoice Exchange Rate Type
103567 , p_source_138 IN VARCHAR2
103568 )
103569 IS
103570
103571 l_component_type VARCHAR2(80);
103572 l_component_code VARCHAR2(30);
103573 l_component_type_code VARCHAR2(1);
103574 l_component_appl_id INTEGER;
103575 l_amb_context_code VARCHAR2(30);
103576 l_entity_code VARCHAR2(30);
103577 l_event_class_code VARCHAR2(30);
103578 l_ae_header_id NUMBER;
103579 l_event_type_code VARCHAR2(30);
103580 l_line_definition_code VARCHAR2(30);
103581 l_line_definition_owner_code VARCHAR2(1);
103582 --
103583 -- adr variables
103584 l_segment VARCHAR2(30);
103585 l_ccid NUMBER;
103586 l_adr_transaction_coa_id NUMBER;
103587 l_adr_accounting_coa_id NUMBER;
103588 l_adr_flexfield_segment_code VARCHAR2(30);
103589 l_adr_flex_value_set_id NUMBER;
103590 l_adr_value_type_code VARCHAR2(30);
103591 l_adr_value_combination_id NUMBER;
103592 l_adr_value_segment_code VARCHAR2(30);
103593
103594 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
103595 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
103596 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
103597 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
103598
103599 -- 4262811 Variables ------------------------------------------------------------------------------------------
103600 l_entered_amt_idx NUMBER;
103601 l_accted_amt_idx NUMBER;
103602 l_acc_rev_flag VARCHAR2(1);
103603 l_accrual_line_num NUMBER;
103604 l_tmp_amt NUMBER;
103605 l_acc_rev_natural_side_code VARCHAR2(1);
103606
103607 l_num_entries NUMBER;
103608 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
103609 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
103610 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
103611 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
103612 l_recog_line_1 NUMBER;
103613 l_recog_line_2 NUMBER;
103614
103615 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
103619 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
103616 l_bflow_applied_to_amt NUMBER; -- 5132302
103617 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
103618
103620
103621 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
103622 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
103623
103624 ---------------------------------------------------------------------------------------------------------------
103625
103626
103627 --
103628 -- bulk performance
103629 --
103630 l_balance_type_code VARCHAR2(1);
103631 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
103632 l_log_module VARCHAR2(240);
103633
103634 --
103635 -- Upgrade strategy
103636 --
103637 l_actual_upg_option VARCHAR2(1);
103638 l_enc_upg_option VARCHAR2(1);
103639
103640 --
103641 BEGIN
103642 --
103643 IF g_log_enabled THEN
103644 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_180';
103645 END IF;
103646 --
103647 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
103648
103649 trace
103650 (p_msg => 'BEGIN of AcctLineType_180'
103651 ,p_level => C_LEVEL_PROCEDURE
103652 ,p_module => l_log_module);
103653
103654 END IF;
103655 --
103656 l_component_type := 'AMB_JLT';
103657 l_component_code := 'AP_LIAB_PREPAY_AOS_BS';
103658 l_component_type_code := 'S';
103659 l_component_appl_id := 200;
103660 l_amb_context_code := 'DEFAULT';
103661 l_entity_code := 'AP_INVOICES';
103662 l_event_class_code := 'PREPAYMENTS';
103663 l_event_type_code := 'PREPAYMENTS_ALL';
103664 l_line_definition_owner_code := 'S';
103665 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
103666 --
103667 l_balance_type_code := 'A';
103668 l_segment := NULL;
103669 l_ccid := NULL;
103670 l_adr_transaction_coa_id := NULL;
103671 l_adr_accounting_coa_id := NULL;
103672 l_adr_flexfield_segment_code := NULL;
103673 l_adr_flex_value_set_id := NULL;
103674 l_adr_value_type_code := NULL;
103675 l_adr_value_combination_id := NULL;
103676 l_adr_value_segment_code := NULL;
103677
103678 l_bflow_method_code := 'SAME_ENTRY'; -- 4219869 Business Flow
103679 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
103680 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
103681 l_budgetary_control_flag := 'N';
103682
103683 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103684 l_bflow_applied_to_amt := NULL; -- 5132302
103685 l_entered_amt_idx := NULL; -- 4262811
103686 l_accted_amt_idx := NULL; -- 4262811
103687 l_acc_rev_flag := NULL; -- 4262811
103688 l_accrual_line_num := NULL; -- 4262811
103689 l_tmp_amt := NULL; -- 4262811
103690 --
103691
103692 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
103693 l_balance_type_code <> 'B' THEN
103694 IF NVL(p_source_3,'
103695 ') = 'BALANCING_SEGMENT' AND
103696 NVL(p_source_135,'
103697 ') <> 'Y'
103698 THEN
103699
103700 --
103701 XLA_AE_LINES_PKG.SetNewLine;
103702
103703 p_balance_type_code := l_balance_type_code;
103704 -- set the flag so later we will know whether the gain loss line needs to be created
103705
103706 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
103707 p_actual_flag :='A';
103708 END IF;
103709
103710 --
103711 -- bulk performance
103712 --
103713 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
103714 p_header_num => 0); -- 4262811
103715 --
103716 -- set accounting line options
103717 --
103718 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
103719 p_natural_side_code => 'C'
103720 , p_gain_or_loss_flag => 'N'
103721 , p_gl_transfer_mode_code => 'S'
103722 , p_acct_entry_type_code => 'A'
103723 , p_switch_side_flag => 'Y'
103724 , p_merge_duplicate_code => 'A'
103725 );
103726 --
103727 l_acc_rev_natural_side_code := 'D'; -- 4262811
103728 --
103729 --
103730 -- set accounting line type info
103731 --
103732 xla_ae_lines_pkg.SetAcctLineType
103733 (p_component_type => l_component_type
103734 ,p_event_type_code => l_event_type_code
103735 ,p_line_definition_owner_code => l_line_definition_owner_code
103736 ,p_line_definition_code => l_line_definition_code
103737 ,p_accounting_line_code => l_component_code
103738 ,p_accounting_line_type_code => l_component_type_code
103739 ,p_accounting_line_appl_id => l_component_appl_id
103740 ,p_amb_context_code => l_amb_context_code
103741 ,p_entity_code => l_entity_code
103742 ,p_event_class_code => l_event_class_code);
103743 --
103744 -- set accounting class
103745 --
103746 xla_ae_lines_pkg.SetAcctClass(
103747 p_accounting_class_code => 'LIABILITY'
103748 , p_ae_header_id => l_ae_header_id
103749 );
103753 --
103750
103751 --
103752 -- set rounding class
103754 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
103755 'LIABILITY';
103756
103757 --
103758 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
103759 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
103760 --
103761 -- bulk performance
103762 --
103763 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
103764
103765 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
103766 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
103767
103768 -- 4955764
103769 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
103770 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
103771
103772 -- 4458381 Public Sector Enh
103773
103774 --
103775 -- set accounting attributes for the line type
103776 --
103777 l_entered_amt_idx := 23;
103778 l_accted_amt_idx := 28;
103779 l_bflow_applied_to_amt_idx := NULL; -- 5132302
103780 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
103781 l_rec_acct_attrs.array_char_value(1) := p_source_41;
103782 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
103783 l_rec_acct_attrs.array_num_value(2) :=
103784 xla_ae_sources_pkg.GetSystemSourceNum(
103785 p_source_code => 'XLA_EVENT_APPL_ID'
103786 , p_source_type_code => 'Y'
103787 , p_source_application_id => 602
103788 );
103789 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
103790 l_rec_acct_attrs.array_char_value(3) := p_source_43;
103791 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
103792 l_rec_acct_attrs.array_char_value(4) :=
103793 xla_ae_sources_pkg.GetSystemSourceChar(
103794 p_source_code => 'XLA_ENTITY_CODE'
103795 , p_source_type_code => 'Y'
103796 , p_source_application_id => 602
103797 );
103798 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
103799 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
103800 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
103801 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
103802 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
103803 l_rec_acct_attrs.array_num_value(7) := p_source_79;
103804 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
103805 l_rec_acct_attrs.array_char_value(8) := p_source_80;
103806 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
103807 l_rec_acct_attrs.array_char_value(9) := p_source_81;
103808 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
103809 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
103810 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
103811 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
103812 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
103813 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
103814 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
103815 l_rec_acct_attrs.array_char_value(13) := p_source_43;
103816 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
103817 l_rec_acct_attrs.array_num_value(14) := p_source_53;
103818 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
103819 l_rec_acct_attrs.array_num_value(15) := p_source_54;
103820 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
103821 l_rec_acct_attrs.array_char_value(16) := p_source_55;
103822 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
103823 l_rec_acct_attrs.array_num_value(17) := p_source_56;
103824 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
103825 l_rec_acct_attrs.array_num_value(18) := p_source_57;
103826 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
103827 l_rec_acct_attrs.array_num_value(19) := p_source_58;
103828 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
103829 l_rec_acct_attrs.array_char_value(20) := p_source_55;
103830 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
103831 l_rec_acct_attrs.array_num_value(21) := p_source_59;
103832 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
103833 l_rec_acct_attrs.array_char_value(22) := p_source_60;
103834 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
103835 l_rec_acct_attrs.array_num_value(23) := p_source_61;
103836 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
103837 l_rec_acct_attrs.array_char_value(24) := p_source_55;
103838 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
103839 l_rec_acct_attrs.array_date_value(25) := p_source_136;
103840 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
103841 l_rec_acct_attrs.array_num_value(26) := p_source_137;
103842 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
103843 l_rec_acct_attrs.array_char_value(27) := p_source_138;
103844 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
103845 l_rec_acct_attrs.array_num_value(28) := p_source_9;
103846 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
103847 l_rec_acct_attrs.array_date_value(29) := p_source_65;
103851 l_rec_acct_attrs.array_date_value(31) := p_source_67;
103848 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
103849 l_rec_acct_attrs.array_char_value(30) := p_source_66;
103850 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
103852 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
103853 l_rec_acct_attrs.array_char_value(32) := p_source_68;
103854 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
103855 l_rec_acct_attrs.array_num_value(33) := p_source_69;
103856 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
103857 l_rec_acct_attrs.array_num_value(34) := p_source_70;
103858 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
103859 l_rec_acct_attrs.array_char_value(35) := p_source_71;
103860 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
103861 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
103862 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
103863 l_rec_acct_attrs.array_char_value(37) := p_source_43;
103864 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
103865 l_rec_acct_attrs.array_num_value(38) := p_source_73;
103866 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
103867 l_rec_acct_attrs.array_num_value(39) := p_source_74;
103868 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
103869 l_rec_acct_attrs.array_num_value(40) := p_source_75;
103870 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
103871 l_rec_acct_attrs.array_num_value(41) := p_source_76;
103872 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
103873 l_rec_acct_attrs.array_num_value(42) := p_source_77;
103874 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
103875 l_rec_acct_attrs.array_num_value(43) := p_source_78;
103876
103877 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
103878 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
103879
103880 ---------------------------------------------------------------------------------------------------------------
103881 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
103882 ---------------------------------------------------------------------------------------------------------------
103883 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
103884
103885 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103886 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
103887
103888 IF xla_accounting_cache_pkg.GetValueChar
103889 (p_source_code => 'LEDGER_CATEGORY_CODE'
103890 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
103891 AND l_bflow_method_code = 'PRIOR_ENTRY'
103892 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
103893 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
103894 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
103895 )
103896 THEN
103897 xla_ae_lines_pkg.BflowUpgEntry
103898 (p_business_method_code => l_bflow_method_code
103899 ,p_business_class_code => l_bflow_class_code
103900 ,p_balance_type => l_balance_type_code);
103901 ELSE
103902 NULL;
103903 XLA_AE_LINES_PKG.business_flow_validation(
103904 p_business_method_code => l_bflow_method_code
103905 ,p_business_class_code => l_bflow_class_code
103906 ,p_inherit_description_flag => l_inherit_desc_flag);
103907 END IF;
103908
103909 --
103910 -- call analytical criteria
103911 --
103912
103913 --
103914 -- call description
103915 --
103916
103917 xla_ae_lines_pkg.SetLineDescription(
103918 p_ae_header_id => l_ae_header_id
103919 ,p_description => Description_2 (
103920 p_application_id => p_application_id
103921 , p_ae_header_id => l_ae_header_id
103922 , p_source_1 => p_source_1
103923 )
103924 );
103925
103926
103927 --
103928 -- call ADRs
103929 -- Bug 4922099
103930 --
103931 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
103932 (NVL(l_actual_upg_option, 'N') = 'O') OR
103933 (NVL(l_enc_upg_option, 'N') = 'O')
103934 )
103935 THEN
103936 NULL;
103937 --
103938 --
103939
103940 l_ccid := AcctDerRule_33(
103941 p_application_id => p_application_id
103942 , p_ae_header_id => l_ae_header_id
103943 , p_source_22 => p_source_22
103944 , x_transaction_coa_id => l_adr_transaction_coa_id
103945 , x_accounting_coa_id => l_adr_accounting_coa_id
103946 , x_value_type_code => l_adr_value_type_code
103947 , p_side => 'NA'
103948 );
103949
103950 xla_ae_lines_pkg.set_ccid(
103951 p_code_combination_id => l_ccid
103952 , p_value_type_code => l_adr_value_type_code
103953 , p_transaction_coa_id => l_adr_transaction_coa_id
103954 , p_accounting_coa_id => l_adr_accounting_coa_id
103955 , p_adr_code => 'AP_LIAB'
103956 , p_adr_type_code => 'S'
103957 , p_component_type => l_component_type
103958 , p_component_code => l_component_code
103962 , p_side => 'NA'
103959 , p_component_type_code => l_component_type_code
103960 , p_component_appl_id => l_component_appl_id
103961 , p_amb_context_code => l_amb_context_code
103963 );
103964
103965
103966 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
103967 p_to_segment_code => 'GL_BALANCING'
103968 , p_segment_value => C_CHAR
103969 , p_from_segment_code => NULL
103970 , p_from_combination_id => NULL
103971 , p_value_type_code => NULL
103972 , p_transaction_coa_id => null
103973 , p_accounting_coa_id => null
103974 , p_flexfield_segment_code => NULL
103975 , p_flex_value_set_id => NULL
103976 , p_adr_code => NULL
103977 , p_adr_type_code => NULL
103978 , p_component_type => l_component_type
103979 , p_component_code => l_component_code
103980 , p_component_type_code => l_component_type_code
103981 , p_component_appl_id => l_component_appl_id
103982 , p_amb_context_code => l_amb_context_code
103983 , p_entity_code => 'AP_INVOICES'
103984 , p_event_class_code => 'PREPAYMENTS'
103985 , p_side => 'NA'
103986 );
103987 --
103988
103989
103990 --
103991 --
103992 END IF;
103993 --
103994 -- Bug 4922099
103995 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
103996 (NVL(l_enc_upg_option, 'N') = 'O')
103997 ) AND
103998 (l_bflow_method_code = 'PRIOR_ENTRY')
103999 )
104000 THEN
104001 IF
104002 --
104003 1 = 2
104004 --
104005 THEN
104006 xla_accounting_err_pkg.build_message
104007 (p_appli_s_name => 'XLA'
104008 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104009 ,p_token_1 => 'LINE_NUMBER'
104010 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
104011 ,p_token_2 => 'LINE_TYPE_NAME'
104012 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
104013 l_component_type
104014 ,l_component_code
104015 ,l_component_type_code
104016 ,l_component_appl_id
104017 ,l_amb_context_code
104018 ,l_entity_code
104019 ,l_event_class_code
104020 )
104021 ,p_token_3 => 'OWNER'
104022 ,p_value_3 => xla_lookups_pkg.get_meaning(
104023 p_lookup_type => 'XLA_OWNER_TYPE'
104024 ,p_lookup_code => l_component_type_code
104025 )
104026 ,p_token_4 => 'PRODUCT_NAME'
104027 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104028 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104029 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104030 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104031 ,p_ae_header_id => NULL
104032 );
104033
104034 IF (C_LEVEL_ERROR>= g_log_level) THEN
104035 trace
104036 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104037 ,p_level => C_LEVEL_ERROR
104038 ,p_module => l_log_module);
104039 END IF;
104040 END IF;
104041 END IF;
104042 --
104043 --
104044 ------------------------------------------------------------------------------------------------
104045 -- 4219869 Business Flow
104046 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104047 -- Prior Entry. Currently, the following code is always generated.
104048 ------------------------------------------------------------------------------------------------
104049 XLA_AE_LINES_PKG.ValidateCurrentLine;
104050
104051 ------------------------------------------------------------------------------------
104052 -- 4219869 Business Flow
104053 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104054 ------------------------------------------------------------------------------------
104055 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104056
104057 ----------------------------------------------------------------------------------
104058 -- 4219869 Business Flow
104059 -- Update journal entry status -- Need to generate this within IF <condition>
104063 ,p_balance_type_code => l_balance_type_code
104060 ----------------------------------------------------------------------------------
104061 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104062 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104064 );
104065
104066 -------------------------------------------------------------------------------------------
104067 -- 4262811 - Generate the Accrual Reversal lines
104068 -------------------------------------------------------------------------------------------
104069 BEGIN
104070 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104071 (g_array_event(p_event_id).array_value_num('header_index'));
104072 IF l_acc_rev_flag IS NULL THEN
104073 l_acc_rev_flag := 'N';
104074 END IF;
104075 EXCEPTION
104076 WHEN OTHERS THEN
104077 l_acc_rev_flag := 'N';
104078 END;
104079 --
104080 IF (l_acc_rev_flag = 'Y') THEN
104081
104082 -- 4645092 ------------------------------------------------------------------------------
104083 -- To allow MPA report to determine if it should generate report process
104084 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104085 ------------------------------------------------------------------------------------------
104086
104087 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104088 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104089 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104090 -- call ADRs
104091 -- Bug 4922099
104092 --
104093 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104094 (NVL(l_actual_upg_option, 'N') = 'O') OR
104095 (NVL(l_enc_upg_option, 'N') = 'O')
104096 )
104097 THEN
104098 NULL;
104099 --
104100 --
104101
104102 l_ccid := AcctDerRule_33(
104103 p_application_id => p_application_id
104104 , p_ae_header_id => l_ae_header_id
104105 , p_source_22 => p_source_22
104106 , x_transaction_coa_id => l_adr_transaction_coa_id
104107 , x_accounting_coa_id => l_adr_accounting_coa_id
104108 , x_value_type_code => l_adr_value_type_code
104109 , p_side => 'NA'
104110 );
104111
104112 xla_ae_lines_pkg.set_ccid(
104113 p_code_combination_id => l_ccid
104114 , p_value_type_code => l_adr_value_type_code
104115 , p_transaction_coa_id => l_adr_transaction_coa_id
104116 , p_accounting_coa_id => l_adr_accounting_coa_id
104117 , p_adr_code => 'AP_LIAB'
104118 , p_adr_type_code => 'S'
104119 , p_component_type => l_component_type
104120 , p_component_code => l_component_code
104121 , p_component_type_code => l_component_type_code
104122 , p_component_appl_id => l_component_appl_id
104123 , p_amb_context_code => l_amb_context_code
104124 , p_side => 'NA'
104125 );
104126
104127
104128 xla_ae_lines_pkg.Set_Segment( -- replaced SetSegment
104129 p_to_segment_code => 'GL_BALANCING'
104130 , p_segment_value => C_CHAR
104131 , p_from_segment_code => NULL
104132 , p_from_combination_id => NULL
104133 , p_value_type_code => NULL
104134 , p_transaction_coa_id => null
104135 , p_accounting_coa_id => null
104136 , p_flexfield_segment_code => NULL
104137 , p_flex_value_set_id => NULL
104138 , p_adr_code => NULL
104139 , p_adr_type_code => NULL
104140 , p_component_type => l_component_type
104141 , p_component_code => l_component_code
104142 , p_component_type_code => l_component_type_code
104143 , p_component_appl_id => l_component_appl_id
104144 , p_amb_context_code => l_amb_context_code
104145 , p_entity_code => 'AP_INVOICES'
104146 , p_event_class_code => 'PREPAYMENTS'
104147 , p_side => 'NA'
104148 );
104149 --
104150
104151
104152 --
104153 --
104154 END IF;
104155
104156 --
104157 -- Update the line information that should be overwritten
104158 --
104159 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104160 p_header_num => 1);
104161 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104162
104163 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104164
104165 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104166 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104167 END IF;
104168
104169 --
104170 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104171 --
104172 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104173 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104174 ELSE
104175 ---------------------------------------------------------------------------------------------------
104176 -- 4262811a Switch Sign
104180 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104177 ---------------------------------------------------------------------------------------------------
104178 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104179 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104181 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104182 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104183 -- 5132302
104184 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104185 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104186
104187 END IF;
104188
104189 -- 4955764
104190 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104191 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104192
104193
104194 XLA_AE_LINES_PKG.ValidateCurrentLine;
104195 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104196
104197 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104198 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104199 ,p_balance_type_code => l_balance_type_code);
104200
104201 END IF;
104202
104203 -----------------------------------------------------------------------------------------
104204 -- 4262811 Multiperiod Accounting
104205 -----------------------------------------------------------------------------------------
104206 -- No MPA option is assigned.
104207
104208
104209 END IF;
104210 END IF;
104211 --
104212
104213 --
104214 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104215 trace
104216 (p_msg => 'END of AcctLineType_180'
104217 ,p_level => C_LEVEL_PROCEDURE
104218 ,p_module => l_log_module);
104219 END IF;
104220 --
104221 EXCEPTION
104222 WHEN xla_exceptions_pkg.application_exception THEN
104223 RAISE;
104224 WHEN OTHERS THEN
104225 xla_exceptions_pkg.raise_message
104226 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_180');
104227 END AcctLineType_180;
104228 --
104229
104230 ---------------------------------------
104231 --
104232 -- PRIVATE FUNCTION
104233 -- AcctLineType_181
104234 --
104235 ---------------------------------------
104236 PROCEDURE AcctLineType_181 (
104237 p_application_id IN NUMBER
104238 ,p_event_id IN NUMBER
104239 ,p_calculate_acctd_flag IN VARCHAR2
104240 ,p_calculate_g_l_flag IN VARCHAR2
104241 ,p_actual_flag IN OUT VARCHAR2
104242 ,p_balance_type_code OUT VARCHAR2
104243 ,p_gain_or_loss_ref OUT VARCHAR2
104244
104245 --Accounting Reversal Indicator
104246 , p_source_41 IN VARCHAR2
104247 --Distribution Link Type
104248 , p_source_43 IN VARCHAR2
104249 --Invoice Identifier
104250 , p_source_46 IN NUMBER
104251 --Payables Encumbrance Upgrade Credit Account
104252 , p_source_53 IN NUMBER
104253 --Payables Encumbrance Upgrade Credit Amount
104254 , p_source_54 IN NUMBER
104255 --Invoice Currency Code
104256 , p_source_55 IN VARCHAR2
104257 --Payables Encumbrance Upgrade Credit Base Amount
104258 , p_source_56 IN NUMBER
104259 --Payables Encumbrance Upgrade Debit Account
104260 , p_source_57 IN NUMBER
104261 --Payables Encumbrance Upgrade Debit Amount
104262 , p_source_58 IN NUMBER
104263 --Payables Encumbrance Upgrade Debit Base Amount
104264 , p_source_59 IN NUMBER
104265 --Payables Encumbrance Upgrade Option
104266 , p_source_60 IN VARCHAR2
104267 --Deferred Accounting End Date
104268 , p_source_65 IN DATE
104269 --Deferred Accounting Option
104270 , p_source_66 IN VARCHAR2
104271 --Deferred Accounting Start Date
104272 , p_source_67 IN DATE
104273 --Override Accounted Amount Indicator
104274 , p_source_68 IN VARCHAR2
104275 , p_source_68_meaning IN VARCHAR2
104276 --Third Party Type
104277 , p_source_71 IN VARCHAR2
104278 --Invoice Distribution Tax Line Identifier
104279 , p_source_74 IN NUMBER
104280 --Invoice Distribution Tax Distribution Identifier from Tax
104281 , p_source_75 IN NUMBER
104282 --Invoice Distribution Summary Tax Line Identifier
104283 , p_source_76 IN NUMBER
104284 --Payables Upgrade Credit Encumbrance Type Identifier
104285 , p_source_77 IN NUMBER
104286 --Payables Upgrade Debit Encumbrance Type Identifier
104287 , p_source_78 IN NUMBER
104288 --Business Flow Accounts Payable Application Identifier
104289 , p_source_79 IN NUMBER
104290 --Prepayment Distribution Type
104291 , p_source_118 IN VARCHAR2
104292 --Prepayment Application Distribution Identifier
104293 , p_source_120 IN NUMBER
104294 --Upgrade Encumbrance Credit Account Class
104295 , p_source_125 IN VARCHAR2
104296 --Upgrade Encumbrance Debit Account Class
104297 , p_source_126 IN VARCHAR2
104298 --Prepayment Distribution Amount
104299 , p_source_127 IN NUMBER
104300 --Identifier of the Prepayment Application Reversed
104301 , p_source_129 IN NUMBER
104305 , p_source_133 IN NUMBER
104302 --Business Flow Recipient Invoice Distribution Identifier
104303 , p_source_132 IN NUMBER
104304 --Business Flow Recipient Invoice Identifier
104306 --Prepayment Distribution (Invoice Rate) Ledger Amount
104307 , p_source_134 IN NUMBER
104308 --Business Flow Prepayment Invoice Distribution Type
104309 , p_source_139 IN VARCHAR2
104310 --Business Flow Prepayment Invoice Entity Code
104311 , p_source_140 IN VARCHAR2
104312 )
104313 IS
104314
104315 l_component_type VARCHAR2(80);
104316 l_component_code VARCHAR2(30);
104317 l_component_type_code VARCHAR2(1);
104318 l_component_appl_id INTEGER;
104319 l_amb_context_code VARCHAR2(30);
104320 l_entity_code VARCHAR2(30);
104321 l_event_class_code VARCHAR2(30);
104322 l_ae_header_id NUMBER;
104323 l_event_type_code VARCHAR2(30);
104324 l_line_definition_code VARCHAR2(30);
104325 l_line_definition_owner_code VARCHAR2(1);
104326 --
104327 -- adr variables
104328 l_segment VARCHAR2(30);
104329 l_ccid NUMBER;
104330 l_adr_transaction_coa_id NUMBER;
104331 l_adr_accounting_coa_id NUMBER;
104332 l_adr_flexfield_segment_code VARCHAR2(30);
104333 l_adr_flex_value_set_id NUMBER;
104334 l_adr_value_type_code VARCHAR2(30);
104335 l_adr_value_combination_id NUMBER;
104336 l_adr_value_segment_code VARCHAR2(30);
104337
104338 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
104339 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
104340 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
104341 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
104342
104343 -- 4262811 Variables ------------------------------------------------------------------------------------------
104344 l_entered_amt_idx NUMBER;
104345 l_accted_amt_idx NUMBER;
104346 l_acc_rev_flag VARCHAR2(1);
104347 l_accrual_line_num NUMBER;
104348 l_tmp_amt NUMBER;
104349 l_acc_rev_natural_side_code VARCHAR2(1);
104350
104351 l_num_entries NUMBER;
104352 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
104353 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
104354 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
104355 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
104356 l_recog_line_1 NUMBER;
104357 l_recog_line_2 NUMBER;
104358
104359 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
104360 l_bflow_applied_to_amt NUMBER; -- 5132302
104361 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
104362
104363 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
104364
104365 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
104366 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
104367
104368 ---------------------------------------------------------------------------------------------------------------
104369
104370
104371 --
104372 -- bulk performance
104373 --
104374 l_balance_type_code VARCHAR2(1);
104375 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
104376 l_log_module VARCHAR2(240);
104377
104378 --
104379 -- Upgrade strategy
104380 --
104381 l_actual_upg_option VARCHAR2(1);
104382 l_enc_upg_option VARCHAR2(1);
104383
104384 --
104385 BEGIN
104386 --
104387 IF g_log_enabled THEN
104388 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_181';
104389 END IF;
104390 --
104391 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104392
104393 trace
104394 (p_msg => 'BEGIN of AcctLineType_181'
104395 ,p_level => C_LEVEL_PROCEDURE
104396 ,p_module => l_log_module);
104397
104398 END IF;
104399 --
104400 l_component_type := 'AMB_JLT';
104401 l_component_code := 'AP_LIAB_PREPAY_APP';
104402 l_component_type_code := 'S';
104403 l_component_appl_id := 200;
104404 l_amb_context_code := 'DEFAULT';
104405 l_entity_code := 'AP_INVOICES';
104406 l_event_class_code := 'PREPAYMENT APPLICATIONS';
104407 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
104408 l_line_definition_owner_code := 'S';
104409 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
104410 --
104411 l_balance_type_code := 'A';
104412 l_segment := NULL;
104413 l_ccid := NULL;
104414 l_adr_transaction_coa_id := NULL;
104415 l_adr_accounting_coa_id := NULL;
104416 l_adr_flexfield_segment_code := NULL;
104417 l_adr_flex_value_set_id := NULL;
104418 l_adr_value_type_code := NULL;
104419 l_adr_value_combination_id := NULL;
104420 l_adr_value_segment_code := NULL;
104421
104422 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
104423 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
104424 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
104425 l_budgetary_control_flag := 'N';
104426
104430 l_accted_amt_idx := NULL; -- 4262811
104427 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104428 l_bflow_applied_to_amt := NULL; -- 5132302
104429 l_entered_amt_idx := NULL; -- 4262811
104431 l_acc_rev_flag := NULL; -- 4262811
104432 l_accrual_line_num := NULL; -- 4262811
104433 l_tmp_amt := NULL; -- 4262811
104434 --
104435
104436 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
104437 l_balance_type_code <> 'B' THEN
104438 IF NVL(p_source_118,'
104439 ') = 'PREPAY APPL' OR
104440 NVL(p_source_118,'
104441 ') = 'FINAL PAYMENT ROUNDING' OR
104442 NVL(p_source_118,'
104443 ') = 'PREPAY APPL REC TAX' OR
104444 NVL(p_source_118,'
104445 ') = 'PREPAY APPL NONREC TAX'
104446 THEN
104447
104448 --
104449 XLA_AE_LINES_PKG.SetNewLine;
104450
104451 p_balance_type_code := l_balance_type_code;
104452 -- set the flag so later we will know whether the gain loss line needs to be created
104453
104454 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
104455 p_actual_flag :='A';
104456 END IF;
104457
104458 --
104459 -- bulk performance
104460 --
104461 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
104462 p_header_num => 0); -- 4262811
104463 --
104464 -- set accounting line options
104465 --
104466 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
104467 p_natural_side_code => 'C'
104468 , p_gain_or_loss_flag => 'N'
104469 , p_gl_transfer_mode_code => 'S'
104470 , p_acct_entry_type_code => 'A'
104471 , p_switch_side_flag => 'Y'
104472 , p_merge_duplicate_code => 'A'
104473 );
104474 --
104475 l_acc_rev_natural_side_code := 'D'; -- 4262811
104476 --
104477 --
104478 -- set accounting line type info
104479 --
104480 xla_ae_lines_pkg.SetAcctLineType
104481 (p_component_type => l_component_type
104482 ,p_event_type_code => l_event_type_code
104483 ,p_line_definition_owner_code => l_line_definition_owner_code
104484 ,p_line_definition_code => l_line_definition_code
104485 ,p_accounting_line_code => l_component_code
104486 ,p_accounting_line_type_code => l_component_type_code
104487 ,p_accounting_line_appl_id => l_component_appl_id
104488 ,p_amb_context_code => l_amb_context_code
104489 ,p_entity_code => l_entity_code
104490 ,p_event_class_code => l_event_class_code);
104491 --
104492 -- set accounting class
104493 --
104494 xla_ae_lines_pkg.SetAcctClass(
104495 p_accounting_class_code => 'LIABILITY'
104496 , p_ae_header_id => l_ae_header_id
104497 );
104498
104499 --
104500 -- set rounding class
104501 --
104502 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
104503 'LIABILITY';
104504
104505 --
104506 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
104507 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
104508 --
104509 -- bulk performance
104510 --
104511 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
104512
104513 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
104514 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
104515
104516 -- 4955764
104517 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104518 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
104519
104520 -- 4458381 Public Sector Enh
104521
104522 --
104523 -- set accounting attributes for the line type
104524 --
104525 l_entered_amt_idx := 25;
104526 l_accted_amt_idx := 27;
104527 l_bflow_applied_to_amt_idx := NULL; -- 5132302
104528 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
104529 l_rec_acct_attrs.array_char_value(1) := p_source_41;
104530 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
104531 l_rec_acct_attrs.array_num_value(2) :=
104532 xla_ae_sources_pkg.GetSystemSourceNum(
104533 p_source_code => 'XLA_EVENT_APPL_ID'
104534 , p_source_type_code => 'Y'
104535 , p_source_application_id => 602
104536 );
104537 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
104538 l_rec_acct_attrs.array_char_value(3) := p_source_43;
104539 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
104540 l_rec_acct_attrs.array_char_value(4) :=
104541 xla_ae_sources_pkg.GetSystemSourceChar(
104542 p_source_code => 'XLA_ENTITY_CODE'
104543 , p_source_type_code => 'Y'
104544 , p_source_application_id => 602
104545 );
104546 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
104547 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
104548 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
104549 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
104550 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
104554 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
104551 l_rec_acct_attrs.array_num_value(7) := p_source_79;
104552 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
104553 l_rec_acct_attrs.array_char_value(8) := p_source_139;
104555 l_rec_acct_attrs.array_char_value(9) := p_source_140;
104556 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
104557 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_132);
104558 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
104559 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_133);
104560 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
104561 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
104562 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
104563 l_rec_acct_attrs.array_char_value(13) := p_source_43;
104564 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
104565 l_rec_acct_attrs.array_char_value(14) := p_source_125;
104566 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
104567 l_rec_acct_attrs.array_num_value(15) := p_source_53;
104568 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
104569 l_rec_acct_attrs.array_num_value(16) := p_source_54;
104570 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
104571 l_rec_acct_attrs.array_char_value(17) := p_source_55;
104572 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
104573 l_rec_acct_attrs.array_num_value(18) := p_source_56;
104574 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
104575 l_rec_acct_attrs.array_char_value(19) := p_source_126;
104576 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
104577 l_rec_acct_attrs.array_num_value(20) := p_source_57;
104578 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
104579 l_rec_acct_attrs.array_num_value(21) := p_source_58;
104580 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
104581 l_rec_acct_attrs.array_char_value(22) := p_source_55;
104582 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
104583 l_rec_acct_attrs.array_num_value(23) := p_source_59;
104584 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
104585 l_rec_acct_attrs.array_char_value(24) := p_source_60;
104586 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
104587 l_rec_acct_attrs.array_num_value(25) := p_source_127;
104588 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
104589 l_rec_acct_attrs.array_char_value(26) := p_source_55;
104590 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
104591 l_rec_acct_attrs.array_num_value(27) := p_source_134;
104592 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
104593 l_rec_acct_attrs.array_date_value(28) := p_source_65;
104594 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
104595 l_rec_acct_attrs.array_char_value(29) := p_source_66;
104596 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
104597 l_rec_acct_attrs.array_date_value(30) := p_source_67;
104598 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
104599 l_rec_acct_attrs.array_char_value(31) := p_source_68;
104600 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
104601 l_rec_acct_attrs.array_char_value(32) := p_source_71;
104602 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
104603 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_129);
104604 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
104605 l_rec_acct_attrs.array_char_value(34) := p_source_43;
104606 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
104607 l_rec_acct_attrs.array_num_value(35) := p_source_74;
104608 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
104609 l_rec_acct_attrs.array_num_value(36) := p_source_75;
104610 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
104611 l_rec_acct_attrs.array_num_value(37) := p_source_76;
104612 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
104613 l_rec_acct_attrs.array_num_value(38) := p_source_77;
104614 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
104615 l_rec_acct_attrs.array_num_value(39) := p_source_78;
104616
104617 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
104618 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
104619
104620 ---------------------------------------------------------------------------------------------------------------
104621 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
104622 ---------------------------------------------------------------------------------------------------------------
104623 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
104624
104625 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104626 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
104627
104628 IF xla_accounting_cache_pkg.GetValueChar
104629 (p_source_code => 'LEDGER_CATEGORY_CODE'
104630 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
104631 AND l_bflow_method_code = 'PRIOR_ENTRY'
104632 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
104636 THEN
104633 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
104634 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
104635 )
104637 xla_ae_lines_pkg.BflowUpgEntry
104638 (p_business_method_code => l_bflow_method_code
104639 ,p_business_class_code => l_bflow_class_code
104640 ,p_balance_type => l_balance_type_code);
104641 ELSE
104642 NULL;
104643 XLA_AE_LINES_PKG.business_flow_validation(
104644 p_business_method_code => l_bflow_method_code
104645 ,p_business_class_code => l_bflow_class_code
104646 ,p_inherit_description_flag => l_inherit_desc_flag);
104647 END IF;
104648
104649 --
104650 -- call analytical criteria
104651 --
104652 -- Inherited Analytical Criteria for business flow method of Prior Entry.
104653 --
104654 -- call description
104655 --
104656 -- No description or it is inherited.
104657 --
104658 -- call ADRs
104659 -- Bug 4922099
104660 --
104661 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104662 (NVL(l_actual_upg_option, 'N') = 'O') OR
104663 (NVL(l_enc_upg_option, 'N') = 'O')
104664 )
104665 THEN
104666 NULL;
104667 --
104668 --
104669
104670 --
104671 --
104672 END IF;
104673 --
104674 -- Bug 4922099
104675 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
104676 (NVL(l_enc_upg_option, 'N') = 'O')
104677 ) AND
104678 (l_bflow_method_code = 'PRIOR_ENTRY')
104679 )
104680 THEN
104681 IF
104682 --
104683 1 = 1
104684 --
104685 THEN
104686 xla_accounting_err_pkg.build_message
104687 (p_appli_s_name => 'XLA'
104688 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104689 ,p_token_1 => 'LINE_NUMBER'
104690 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
104691 ,p_token_2 => 'LINE_TYPE_NAME'
104692 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
104693 l_component_type
104694 ,l_component_code
104695 ,l_component_type_code
104696 ,l_component_appl_id
104697 ,l_amb_context_code
104698 ,l_entity_code
104699 ,l_event_class_code
104700 )
104701 ,p_token_3 => 'OWNER'
104702 ,p_value_3 => xla_lookups_pkg.get_meaning(
104703 p_lookup_type => 'XLA_OWNER_TYPE'
104704 ,p_lookup_code => l_component_type_code
104705 )
104706 ,p_token_4 => 'PRODUCT_NAME'
104707 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
104708 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
104709 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
104710 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
104711 ,p_ae_header_id => NULL
104712 );
104713
104714 IF (C_LEVEL_ERROR>= g_log_level) THEN
104715 trace
104716 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
104717 ,p_level => C_LEVEL_ERROR
104718 ,p_module => l_log_module);
104719 END IF;
104720 END IF;
104721 END IF;
104722 --
104723 --
104724 ------------------------------------------------------------------------------------------------
104725 -- 4219869 Business Flow
104726 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
104727 -- Prior Entry. Currently, the following code is always generated.
104728 ------------------------------------------------------------------------------------------------
104729 -- No ValidateCurrentLine for business flow method of Prior Entry
104730
104731 ------------------------------------------------------------------------------------
104732 -- 4219869 Business Flow
104733 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
104734 ------------------------------------------------------------------------------------
104735 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104736
104737 ----------------------------------------------------------------------------------
104738 -- 4219869 Business Flow
104739 -- Update journal entry status -- Need to generate this within IF <condition>
104743 ,p_balance_type_code => l_balance_type_code
104740 ----------------------------------------------------------------------------------
104741 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104742 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
104744 );
104745
104746 -------------------------------------------------------------------------------------------
104747 -- 4262811 - Generate the Accrual Reversal lines
104748 -------------------------------------------------------------------------------------------
104749 BEGIN
104750 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
104751 (g_array_event(p_event_id).array_value_num('header_index'));
104752 IF l_acc_rev_flag IS NULL THEN
104753 l_acc_rev_flag := 'N';
104754 END IF;
104755 EXCEPTION
104756 WHEN OTHERS THEN
104757 l_acc_rev_flag := 'N';
104758 END;
104759 --
104760 IF (l_acc_rev_flag = 'Y') THEN
104761
104762 -- 4645092 ------------------------------------------------------------------------------
104763 -- To allow MPA report to determine if it should generate report process
104764 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
104765 ------------------------------------------------------------------------------------------
104766
104767 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
104768 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
104769 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
104770 -- call ADRs
104771 -- Bug 4922099
104772 --
104773 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
104774 (NVL(l_actual_upg_option, 'N') = 'O') OR
104775 (NVL(l_enc_upg_option, 'N') = 'O')
104776 )
104777 THEN
104778 NULL;
104779 --
104780 --
104781
104782 --
104783 --
104784 END IF;
104785
104786 --
104787 -- Update the line information that should be overwritten
104788 --
104789 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
104790 p_header_num => 1);
104791 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
104792
104793 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
104794
104795 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
104796 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
104797 END IF;
104798
104799 --
104800 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
104801 --
104802 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
104803 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
104804 ELSE
104805 ---------------------------------------------------------------------------------------------------
104806 -- 4262811a Switch Sign
104807 ---------------------------------------------------------------------------------------------------
104808 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
104809 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104810 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104811 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
104812 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104813 -- 5132302
104814 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
104815 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
104816
104817 END IF;
104818
104819 -- 4955764
104820 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
104821 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
104822
104823
104824 XLA_AE_LINES_PKG.ValidateCurrentLine;
104825 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
104826
104827 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
104828 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
104829 ,p_balance_type_code => l_balance_type_code);
104830
104831 END IF;
104832
104833 -----------------------------------------------------------------------------------------
104834 -- 4262811 Multiperiod Accounting
104835 -----------------------------------------------------------------------------------------
104836 -- No MPA option is assigned.
104837
104838
104839 END IF;
104840 END IF;
104841 --
104842
104843 --
104844 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104845 trace
104846 (p_msg => 'END of AcctLineType_181'
104847 ,p_level => C_LEVEL_PROCEDURE
104848 ,p_module => l_log_module);
104849 END IF;
104850 --
104851 EXCEPTION
104852 WHEN xla_exceptions_pkg.application_exception THEN
104853 RAISE;
104854 WHEN OTHERS THEN
104855 xla_exceptions_pkg.raise_message
104856 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_181');
104860 ---------------------------------------
104857 END AcctLineType_181;
104858 --
104859
104861 --
104862 -- PRIVATE FUNCTION
104863 -- AcctLineType_182
104864 --
104865 ---------------------------------------
104866 PROCEDURE AcctLineType_182 (
104867 p_application_id IN NUMBER
104868 ,p_event_id IN NUMBER
104869 ,p_calculate_acctd_flag IN VARCHAR2
104870 ,p_calculate_g_l_flag IN VARCHAR2
104871 ,p_actual_flag IN OUT VARCHAR2
104872 ,p_balance_type_code OUT VARCHAR2
104873 ,p_gain_or_loss_ref OUT VARCHAR2
104874
104875 --Accounting Reversal Indicator
104876 , p_source_41 IN VARCHAR2
104877 --Distribution Link Type
104878 , p_source_43 IN VARCHAR2
104879 --Override Accounted Amount Indicator
104880 , p_source_68 IN VARCHAR2
104881 , p_source_68_meaning IN VARCHAR2
104882 --Third Party Type
104883 , p_source_71 IN VARCHAR2
104884 --Invoice Distribution Tax Line Identifier
104885 , p_source_74 IN NUMBER
104886 --Invoice Distribution Tax Distribution Identifier from Tax
104887 , p_source_75 IN NUMBER
104888 --Invoice Distribution Summary Tax Line Identifier
104889 , p_source_76 IN NUMBER
104890 --Business Flow Accounts Payable Application Identifier
104891 , p_source_79 IN NUMBER
104892 --Business Flow Invoice Distribution Type
104893 , p_source_80 IN VARCHAR2
104894 --Business Flow Invoice Entity Code
104895 , p_source_81 IN VARCHAR2
104896 --Business Flow Invoice Distribution Identifier
104897 , p_source_82 IN NUMBER
104898 --Business Flow Invoice Identifier
104899 , p_source_83 IN NUMBER
104900 --When to Account for Payment Option
104901 , p_source_89 IN VARCHAR2
104902 --Payment Distribution Type
104903 , p_source_90 IN VARCHAR2
104904 , p_source_90_meaning IN VARCHAR2
104905 --Payment Distribution Amount
104906 , p_source_91 IN NUMBER
104907 --Payment Distribution Identifier
104908 , p_source_96 IN NUMBER
104909 --Payment Distribution Reversed Identifier
104910 , p_source_104 IN NUMBER
104911 --Payment Currency Code
104912 , p_source_106 IN VARCHAR2
104913 --Payment Distribution (Invoice Rate) Ledger Amount
104914 , p_source_109 IN NUMBER
104915 --Payment Type
104916 , p_source_115 IN VARCHAR2
104917 , p_source_115_meaning IN VARCHAR2
104918 )
104919 IS
104920
104921 l_component_type VARCHAR2(80);
104922 l_component_code VARCHAR2(30);
104923 l_component_type_code VARCHAR2(1);
104924 l_component_appl_id INTEGER;
104925 l_amb_context_code VARCHAR2(30);
104926 l_entity_code VARCHAR2(30);
104927 l_event_class_code VARCHAR2(30);
104928 l_ae_header_id NUMBER;
104929 l_event_type_code VARCHAR2(30);
104930 l_line_definition_code VARCHAR2(30);
104931 l_line_definition_owner_code VARCHAR2(1);
104932 --
104933 -- adr variables
104934 l_segment VARCHAR2(30);
104935 l_ccid NUMBER;
104936 l_adr_transaction_coa_id NUMBER;
104937 l_adr_accounting_coa_id NUMBER;
104938 l_adr_flexfield_segment_code VARCHAR2(30);
104939 l_adr_flex_value_set_id NUMBER;
104940 l_adr_value_type_code VARCHAR2(30);
104941 l_adr_value_combination_id NUMBER;
104942 l_adr_value_segment_code VARCHAR2(30);
104943
104944 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
104945 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
104946 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
104947 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
104948
104949 -- 4262811 Variables ------------------------------------------------------------------------------------------
104950 l_entered_amt_idx NUMBER;
104951 l_accted_amt_idx NUMBER;
104952 l_acc_rev_flag VARCHAR2(1);
104953 l_accrual_line_num NUMBER;
104954 l_tmp_amt NUMBER;
104955 l_acc_rev_natural_side_code VARCHAR2(1);
104956
104957 l_num_entries NUMBER;
104958 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
104959 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
104960 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
104961 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
104962 l_recog_line_1 NUMBER;
104963 l_recog_line_2 NUMBER;
104964
104965 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
104966 l_bflow_applied_to_amt NUMBER; -- 5132302
104967 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
104968
104969 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
104970
104971 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
104972 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
104973
104974 ---------------------------------------------------------------------------------------------------------------
104975
104976
104977 --
104978 -- bulk performance
104979 --
104980 l_balance_type_code VARCHAR2(1);
104981 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
104985 -- Upgrade strategy
104982 l_log_module VARCHAR2(240);
104983
104984 --
104986 --
104987 l_actual_upg_option VARCHAR2(1);
104988 l_enc_upg_option VARCHAR2(1);
104989
104990 --
104991 BEGIN
104992 --
104993 IF g_log_enabled THEN
104994 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_182';
104995 END IF;
104996 --
104997 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
104998
104999 trace
105000 (p_msg => 'BEGIN of AcctLineType_182'
105001 ,p_level => C_LEVEL_PROCEDURE
105002 ,p_module => l_log_module);
105003
105004 END IF;
105005 --
105006 l_component_type := 'AMB_JLT';
105007 l_component_code := 'AP_LIAB_REF';
105008 l_component_type_code := 'S';
105009 l_component_appl_id := 200;
105010 l_amb_context_code := 'DEFAULT';
105011 l_entity_code := 'AP_PAYMENTS';
105012 l_event_class_code := 'REFUNDS';
105013 l_event_type_code := 'REFUNDS_ALL';
105014 l_line_definition_owner_code := 'S';
105015 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
105016 --
105017 l_balance_type_code := 'A';
105018 l_segment := NULL;
105019 l_ccid := NULL;
105020 l_adr_transaction_coa_id := NULL;
105021 l_adr_accounting_coa_id := NULL;
105022 l_adr_flexfield_segment_code := NULL;
105023 l_adr_flex_value_set_id := NULL;
105024 l_adr_value_type_code := NULL;
105025 l_adr_value_combination_id := NULL;
105026 l_adr_value_segment_code := NULL;
105027
105028 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
105029 l_bflow_class_code := 'AP_LIAB'; -- 4219869 Business Flow
105030 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105031 l_budgetary_control_flag := 'N';
105032
105033 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105034 l_bflow_applied_to_amt := NULL; -- 5132302
105035 l_entered_amt_idx := NULL; -- 4262811
105036 l_accted_amt_idx := NULL; -- 4262811
105037 l_acc_rev_flag := NULL; -- 4262811
105038 l_accrual_line_num := NULL; -- 4262811
105039 l_tmp_amt := NULL; -- 4262811
105040 --
105041
105042 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105043 l_balance_type_code <> 'B' THEN
105044 IF NVL(p_source_89,'
105045 ') <> 'CLEAR_CLEAR' AND
105046 (NVL(p_source_90,'
105047 ') = 'ROUNDING' OR
105048 NVL(p_source_90,'
105049 ') = 'CASH' OR
105050 NVL(p_source_90,'
105051 ') = 'DISCOUNT') AND
105052 NVL(p_source_115,'
105053 ') = 'R'
105054 THEN
105055
105056 --
105057 XLA_AE_LINES_PKG.SetNewLine;
105058
105059 p_balance_type_code := l_balance_type_code;
105060 -- set the flag so later we will know whether the gain loss line needs to be created
105061
105062 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
105063 p_actual_flag :='A';
105064 END IF;
105065
105066 --
105067 -- bulk performance
105068 --
105069 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105070 p_header_num => 0); -- 4262811
105071 --
105072 -- set accounting line options
105073 --
105074 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105075 p_natural_side_code => 'D'
105076 , p_gain_or_loss_flag => 'N'
105077 , p_gl_transfer_mode_code => 'S'
105078 , p_acct_entry_type_code => 'A'
105079 , p_switch_side_flag => 'Y'
105080 , p_merge_duplicate_code => 'A'
105081 );
105082 --
105083 l_acc_rev_natural_side_code := 'C'; -- 4262811
105084 --
105085 --
105086 -- set accounting line type info
105087 --
105088 xla_ae_lines_pkg.SetAcctLineType
105089 (p_component_type => l_component_type
105090 ,p_event_type_code => l_event_type_code
105091 ,p_line_definition_owner_code => l_line_definition_owner_code
105092 ,p_line_definition_code => l_line_definition_code
105093 ,p_accounting_line_code => l_component_code
105094 ,p_accounting_line_type_code => l_component_type_code
105095 ,p_accounting_line_appl_id => l_component_appl_id
105096 ,p_amb_context_code => l_amb_context_code
105097 ,p_entity_code => l_entity_code
105098 ,p_event_class_code => l_event_class_code);
105099 --
105100 -- set accounting class
105101 --
105102 xla_ae_lines_pkg.SetAcctClass(
105103 p_accounting_class_code => 'LIABILITY'
105104 , p_ae_header_id => l_ae_header_id
105105 );
105106
105107 --
105108 -- set rounding class
105109 --
105110 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105111 'LIABILITY';
105112
105113 --
105114 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105115 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105116 --
105117 -- bulk performance
105118 --
105122 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105119 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105120
105121 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105123
105124 -- 4955764
105125 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105126 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105127
105128 -- 4458381 Public Sector Enh
105129
105130 --
105131 -- set accounting attributes for the line type
105132 --
105133 l_entered_amt_idx := 9;
105134 l_accted_amt_idx := 11;
105135 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105136 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105137 l_rec_acct_attrs.array_char_value(1) := p_source_41;
105138 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
105139 l_rec_acct_attrs.array_num_value(2) := p_source_79;
105140 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105141 l_rec_acct_attrs.array_char_value(3) := p_source_80;
105142 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
105143 l_rec_acct_attrs.array_char_value(4) := p_source_81;
105144 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
105145 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
105146 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105147 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
105148 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
105149 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
105150 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
105151 l_rec_acct_attrs.array_char_value(8) := p_source_43;
105152 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
105153 l_rec_acct_attrs.array_num_value(9) := p_source_91;
105154 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
105155 l_rec_acct_attrs.array_char_value(10) := p_source_106;
105156 l_rec_acct_attrs.array_acct_attr_code(11) := 'LEDGER_AMOUNT';
105157 l_rec_acct_attrs.array_num_value(11) := p_source_109;
105158 l_rec_acct_attrs.array_acct_attr_code(12) := 'OVERRIDE_ACCTD_AMT_FLAG';
105159 l_rec_acct_attrs.array_char_value(12) := p_source_68;
105160 l_rec_acct_attrs.array_acct_attr_code(13) := 'PARTY_TYPE';
105161 l_rec_acct_attrs.array_char_value(13) := p_source_71;
105162 l_rec_acct_attrs.array_acct_attr_code(14) := 'REVERSED_DISTRIBUTION_ID1';
105163 l_rec_acct_attrs.array_num_value(14) := to_char(p_source_104);
105164 l_rec_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_TYPE';
105165 l_rec_acct_attrs.array_char_value(15) := p_source_43;
105166 l_rec_acct_attrs.array_acct_attr_code(16) := 'TAX_LINE_REF_ID';
105167 l_rec_acct_attrs.array_num_value(16) := p_source_74;
105168 l_rec_acct_attrs.array_acct_attr_code(17) := 'TAX_REC_NREC_DIST_REF_ID';
105169 l_rec_acct_attrs.array_num_value(17) := p_source_75;
105170 l_rec_acct_attrs.array_acct_attr_code(18) := 'TAX_SUMMARY_LINE_REF_ID';
105171 l_rec_acct_attrs.array_num_value(18) := p_source_76;
105172
105173 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
105174 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
105175
105176 ---------------------------------------------------------------------------------------------------------------
105177 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
105178 ---------------------------------------------------------------------------------------------------------------
105179 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
105180
105181 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105182 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105183
105184 IF xla_accounting_cache_pkg.GetValueChar
105185 (p_source_code => 'LEDGER_CATEGORY_CODE'
105186 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
105187 AND l_bflow_method_code = 'PRIOR_ENTRY'
105188 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
105189 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
105190 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
105191 )
105192 THEN
105193 xla_ae_lines_pkg.BflowUpgEntry
105194 (p_business_method_code => l_bflow_method_code
105195 ,p_business_class_code => l_bflow_class_code
105196 ,p_balance_type => l_balance_type_code);
105197 ELSE
105198 NULL;
105199 XLA_AE_LINES_PKG.business_flow_validation(
105200 p_business_method_code => l_bflow_method_code
105201 ,p_business_class_code => l_bflow_class_code
105202 ,p_inherit_description_flag => l_inherit_desc_flag);
105203 END IF;
105204
105205 --
105206 -- call analytical criteria
105207 --
105208 -- Inherited Analytical Criteria for business flow method of Prior Entry.
105209 --
105210 -- call description
105211 --
105212 -- No description or it is inherited.
105213 --
105214 -- call ADRs
105215 -- Bug 4922099
105216 --
105217 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105221 THEN
105218 (NVL(l_actual_upg_option, 'N') = 'O') OR
105219 (NVL(l_enc_upg_option, 'N') = 'O')
105220 )
105222 NULL;
105223 --
105224 --
105225
105226 --
105227 --
105228 END IF;
105229 --
105230 -- Bug 4922099
105231 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
105232 (NVL(l_enc_upg_option, 'N') = 'O')
105233 ) AND
105234 (l_bflow_method_code = 'PRIOR_ENTRY')
105235 )
105236 THEN
105237 IF
105238 --
105239 1 = 1
105240 --
105241 THEN
105242 xla_accounting_err_pkg.build_message
105243 (p_appli_s_name => 'XLA'
105244 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105245 ,p_token_1 => 'LINE_NUMBER'
105246 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
105247 ,p_token_2 => 'LINE_TYPE_NAME'
105248 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
105249 l_component_type
105250 ,l_component_code
105251 ,l_component_type_code
105252 ,l_component_appl_id
105253 ,l_amb_context_code
105254 ,l_entity_code
105255 ,l_event_class_code
105256 )
105257 ,p_token_3 => 'OWNER'
105258 ,p_value_3 => xla_lookups_pkg.get_meaning(
105259 p_lookup_type => 'XLA_OWNER_TYPE'
105260 ,p_lookup_code => l_component_type_code
105261 )
105262 ,p_token_4 => 'PRODUCT_NAME'
105263 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
105264 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
105265 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
105266 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
105267 ,p_ae_header_id => NULL
105268 );
105269
105270 IF (C_LEVEL_ERROR>= g_log_level) THEN
105271 trace
105272 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105273 ,p_level => C_LEVEL_ERROR
105274 ,p_module => l_log_module);
105275 END IF;
105276 END IF;
105277 END IF;
105278 --
105279 --
105280 ------------------------------------------------------------------------------------------------
105281 -- 4219869 Business Flow
105282 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
105283 -- Prior Entry. Currently, the following code is always generated.
105284 ------------------------------------------------------------------------------------------------
105285 -- No ValidateCurrentLine for business flow method of Prior Entry
105286
105287 ------------------------------------------------------------------------------------
105288 -- 4219869 Business Flow
105289 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
105290 ------------------------------------------------------------------------------------
105291 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105292
105293 ----------------------------------------------------------------------------------
105294 -- 4219869 Business Flow
105295 -- Update journal entry status -- Need to generate this within IF <condition>
105296 ----------------------------------------------------------------------------------
105297 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105298 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
105299 ,p_balance_type_code => l_balance_type_code
105300 );
105301
105302 -------------------------------------------------------------------------------------------
105303 -- 4262811 - Generate the Accrual Reversal lines
105304 -------------------------------------------------------------------------------------------
105305 BEGIN
105306 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
105307 (g_array_event(p_event_id).array_value_num('header_index'));
105308 IF l_acc_rev_flag IS NULL THEN
105309 l_acc_rev_flag := 'N';
105310 END IF;
105311 EXCEPTION
105312 WHEN OTHERS THEN
105313 l_acc_rev_flag := 'N';
105314 END;
105315 --
105316 IF (l_acc_rev_flag = 'Y') THEN
105317
105318 -- 4645092 ------------------------------------------------------------------------------
105322
105319 -- To allow MPA report to determine if it should generate report process
105320 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
105321 ------------------------------------------------------------------------------------------
105323 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
105324 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
105325 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
105326 -- call ADRs
105327 -- Bug 4922099
105328 --
105329 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105330 (NVL(l_actual_upg_option, 'N') = 'O') OR
105331 (NVL(l_enc_upg_option, 'N') = 'O')
105332 )
105333 THEN
105334 NULL;
105335 --
105336 --
105337
105338 --
105339 --
105340 END IF;
105341
105342 --
105343 -- Update the line information that should be overwritten
105344 --
105345 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
105346 p_header_num => 1);
105347 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
105348
105349 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
105350
105351 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
105352 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
105353 END IF;
105354
105355 --
105356 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
105357 --
105358 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
105359 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
105360 ELSE
105361 ---------------------------------------------------------------------------------------------------
105362 -- 4262811a Switch Sign
105363 ---------------------------------------------------------------------------------------------------
105364 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
105365 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105366 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105367 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
105368 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105369 -- 5132302
105370 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
105371 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
105372
105373 END IF;
105374
105375 -- 4955764
105376 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105377 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
105378
105379
105380 XLA_AE_LINES_PKG.ValidateCurrentLine;
105381 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
105382
105383 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
105384 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
105385 ,p_balance_type_code => l_balance_type_code);
105386
105387 END IF;
105388
105389 -----------------------------------------------------------------------------------------
105390 -- 4262811 Multiperiod Accounting
105391 -----------------------------------------------------------------------------------------
105392 -- No MPA option is assigned.
105393
105394
105395 END IF;
105396 END IF;
105397 --
105398
105399 --
105400 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105401 trace
105402 (p_msg => 'END of AcctLineType_182'
105403 ,p_level => C_LEVEL_PROCEDURE
105404 ,p_module => l_log_module);
105405 END IF;
105406 --
105407 EXCEPTION
105408 WHEN xla_exceptions_pkg.application_exception THEN
105409 RAISE;
105410 WHEN OTHERS THEN
105411 xla_exceptions_pkg.raise_message
105412 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_182');
105413 END AcctLineType_182;
105414 --
105415
105416 ---------------------------------------
105417 --
105418 -- PRIVATE FUNCTION
105419 -- AcctLineType_183
105420 --
105421 ---------------------------------------
105422 PROCEDURE AcctLineType_183 (
105423 p_application_id IN NUMBER
105424 ,p_event_id IN NUMBER
105425 ,p_calculate_acctd_flag IN VARCHAR2
105426 ,p_calculate_g_l_flag IN VARCHAR2
105427 ,p_actual_flag IN OUT VARCHAR2
105428 ,p_balance_type_code OUT VARCHAR2
105429 ,p_gain_or_loss_ref OUT VARCHAR2
105430
105431 --Automatic Offsets Value
105432 , p_source_3 IN VARCHAR2
105433 , p_source_3_meaning IN VARCHAR2
105434 --Invoice Distribution Account
105435 , p_source_18 IN NUMBER
105436 --Internal Realized Loss Account
105437 , p_source_26 IN NUMBER
105438 --Bank Loss Account
105439 , p_source_27 IN NUMBER
105440 --Accounting Reversal Indicator
105441 , p_source_41 IN VARCHAR2
105442 --Distribution Link Type
105443 , p_source_43 IN VARCHAR2
105447 --Third Party Type
105444 --Override Accounted Amount Indicator
105445 , p_source_68 IN VARCHAR2
105446 , p_source_68_meaning IN VARCHAR2
105448 , p_source_71 IN VARCHAR2
105449 --Invoice Distribution Tax Line Identifier
105450 , p_source_74 IN NUMBER
105451 --Invoice Distribution Summary Tax Line Identifier
105452 , p_source_76 IN NUMBER
105453 --Business Flow Accounts Payable Application Identifier
105454 , p_source_79 IN NUMBER
105455 --When to Account for Payment Option
105456 , p_source_89 IN VARCHAR2
105457 --Payment Distribution Type
105458 , p_source_90 IN VARCHAR2
105459 , p_source_90_meaning IN VARCHAR2
105460 --Payment Distribution Amount
105461 , p_source_91 IN NUMBER
105462 --Business Flow Payment Distribution Type
105463 , p_source_92 IN VARCHAR2
105464 --Business Flow Payment Entity Code
105465 , p_source_93 IN VARCHAR2
105466 --Business Flow Payment Distribution Identifier
105467 , p_source_94 IN NUMBER
105468 --Business Flow Payment Identifier
105469 , p_source_95 IN NUMBER
105470 --Payment Distribution Identifier
105471 , p_source_96 IN NUMBER
105472 --Cleared Exchange Date
105473 , p_source_98 IN DATE
105474 --Cleared Exchange Rate
105475 , p_source_99 IN NUMBER
105476 --Cleared Exchange Rate Type
105477 , p_source_100 IN VARCHAR2
105478 --Payment Supplier Identifier
105479 , p_source_102 IN NUMBER
105480 --Payment Supplier Site Identifier
105481 , p_source_103 IN NUMBER
105482 --Payment Distribution Reversed Identifier
105483 , p_source_104 IN NUMBER
105484 --Payment Currency Code
105485 , p_source_106 IN VARCHAR2
105486 --Gain or Loss Indicator between Invoice and Clearing
105487 , p_source_146 IN VARCHAR2
105488 --Invoice/Clearing Ledger Amount Difference
105489 , p_source_147 IN NUMBER
105490 )
105491 IS
105492
105493 l_component_type VARCHAR2(80);
105494 l_component_code VARCHAR2(30);
105495 l_component_type_code VARCHAR2(1);
105496 l_component_appl_id INTEGER;
105497 l_amb_context_code VARCHAR2(30);
105498 l_entity_code VARCHAR2(30);
105499 l_event_class_code VARCHAR2(30);
105500 l_ae_header_id NUMBER;
105501 l_event_type_code VARCHAR2(30);
105502 l_line_definition_code VARCHAR2(30);
105503 l_line_definition_owner_code VARCHAR2(1);
105504 --
105505 -- adr variables
105506 l_segment VARCHAR2(30);
105507 l_ccid NUMBER;
105508 l_adr_transaction_coa_id NUMBER;
105509 l_adr_accounting_coa_id NUMBER;
105510 l_adr_flexfield_segment_code VARCHAR2(30);
105511 l_adr_flex_value_set_id NUMBER;
105512 l_adr_value_type_code VARCHAR2(30);
105513 l_adr_value_combination_id NUMBER;
105514 l_adr_value_segment_code VARCHAR2(30);
105515
105516 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
105517 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
105518 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
105519 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
105520
105521 -- 4262811 Variables ------------------------------------------------------------------------------------------
105522 l_entered_amt_idx NUMBER;
105523 l_accted_amt_idx NUMBER;
105524 l_acc_rev_flag VARCHAR2(1);
105525 l_accrual_line_num NUMBER;
105526 l_tmp_amt NUMBER;
105527 l_acc_rev_natural_side_code VARCHAR2(1);
105528
105529 l_num_entries NUMBER;
105530 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
105531 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
105532 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
105533 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
105534 l_recog_line_1 NUMBER;
105535 l_recog_line_2 NUMBER;
105536
105537 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
105538 l_bflow_applied_to_amt NUMBER; -- 5132302
105539 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
105540
105541 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
105542
105543 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
105544 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
105545
105546 ---------------------------------------------------------------------------------------------------------------
105547
105548
105549 --
105550 -- bulk performance
105551 --
105552 l_balance_type_code VARCHAR2(1);
105553 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
105554 l_log_module VARCHAR2(240);
105555
105556 --
105557 -- Upgrade strategy
105558 --
105559 l_actual_upg_option VARCHAR2(1);
105560 l_enc_upg_option VARCHAR2(1);
105561
105562 --
105563 BEGIN
105564 --
105565 IF g_log_enabled THEN
105566 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_183';
105567 END IF;
105568 --
105569 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105570
105571 trace
105575
105572 (p_msg => 'BEGIN of AcctLineType_183'
105573 ,p_level => C_LEVEL_PROCEDURE
105574 ,p_module => l_log_module);
105576 END IF;
105577 --
105578 l_component_type := 'AMB_JLT';
105579 l_component_code := 'AP_LOSS_INV_CLEAR';
105580 l_component_type_code := 'S';
105581 l_component_appl_id := 200;
105582 l_amb_context_code := 'DEFAULT';
105583 l_entity_code := 'AP_PAYMENTS';
105584 l_event_class_code := 'RECONCILED PAYMENTS';
105585 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
105586 l_line_definition_owner_code := 'S';
105587 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
105588 --
105589 l_balance_type_code := 'A';
105590 l_segment := NULL;
105591 l_ccid := NULL;
105592 l_adr_transaction_coa_id := NULL;
105593 l_adr_accounting_coa_id := NULL;
105594 l_adr_flexfield_segment_code := NULL;
105595 l_adr_flex_value_set_id := NULL;
105596 l_adr_value_type_code := NULL;
105597 l_adr_value_combination_id := NULL;
105598 l_adr_value_segment_code := NULL;
105599
105600 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
105601 l_bflow_class_code := ''; -- 4219869 Business Flow
105602 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
105603 l_budgetary_control_flag := 'N';
105604
105605 l_bflow_applied_to_amt_idx := NULL; -- 5132302
105606 l_bflow_applied_to_amt := NULL; -- 5132302
105607 l_entered_amt_idx := NULL; -- 4262811
105608 l_accted_amt_idx := NULL; -- 4262811
105609 l_acc_rev_flag := NULL; -- 4262811
105610 l_accrual_line_num := NULL; -- 4262811
105611 l_tmp_amt := NULL; -- 4262811
105612 --
105613 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
105614 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
105615 return;
105616 END IF;
105617
105618 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
105619 l_balance_type_code <> 'B' THEN
105620 IF (NVL(p_source_89,'
105621 ') = 'CLEAR_CLEAR' OR
105622 NVL(p_source_89,'
105623 ') = 'ALWAYS_CLEAR') AND
105624 NVL(p_source_146,'
105625 ') = 'LOSS' AND
105626 NVL(p_source_90,'
105627 ') <> 'EXCHANGE RATE VARIANCE' AND
105628 NVL(p_source_90,'
105629 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
105630 NVL(p_source_90,'
105631 ') <> 'BANK CHARGE' AND
105632 NVL(p_source_90,'
105633 ') <> 'BANK ERROR' AND
105634 NVL(p_source_90,'
105635 ') <> 'AWT'
105636 THEN
105637
105638 --
105639 XLA_AE_LINES_PKG.SetNewLine;
105640
105641 p_balance_type_code := l_balance_type_code;
105642 -- set the flag so later we will know whether the gain loss line needs to be created
105643
105644 IF(l_balance_type_code = 'A' ) THEN
105645 p_actual_flag :='G';
105646 END IF;
105647
105648 --
105649 -- bulk performance
105650 --
105651 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
105652 p_header_num => 0); -- 4262811
105653 --
105654 -- set accounting line options
105655 --
105656 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
105657 p_natural_side_code => 'C'
105658 , p_gain_or_loss_flag => 'Y'
105659 , p_gl_transfer_mode_code => 'S'
105660 , p_acct_entry_type_code => 'A'
105661 , p_switch_side_flag => 'Y'
105662 , p_merge_duplicate_code => 'A'
105663 );
105664 --
105665 l_acc_rev_natural_side_code := 'D'; -- 4262811
105666 --
105667 --
105668 -- set accounting line type info
105669 --
105670 xla_ae_lines_pkg.SetAcctLineType
105671 (p_component_type => l_component_type
105672 ,p_event_type_code => l_event_type_code
105673 ,p_line_definition_owner_code => l_line_definition_owner_code
105674 ,p_line_definition_code => l_line_definition_code
105675 ,p_accounting_line_code => l_component_code
105676 ,p_accounting_line_type_code => l_component_type_code
105677 ,p_accounting_line_appl_id => l_component_appl_id
105678 ,p_amb_context_code => l_amb_context_code
105679 ,p_entity_code => l_entity_code
105680 ,p_event_class_code => l_event_class_code);
105681 --
105682 -- set accounting class
105683 --
105684 xla_ae_lines_pkg.SetAcctClass(
105685 p_accounting_class_code => 'LOSS'
105686 , p_ae_header_id => l_ae_header_id
105687 );
105688
105689 --
105690 -- set rounding class
105691 --
105692 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
105693 'LOSS';
105694
105695 --
105696 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
105697 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
105698 --
105699 -- bulk performance
105700 --
105704 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
105701 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
105702
105703 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
105705
105706 -- 4955764
105707 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
105708 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
105709
105710 -- 4458381 Public Sector Enh
105711
105712 --
105713 -- set accounting attributes for the line type
105714 --
105715 l_entered_amt_idx := 10;
105716 l_accted_amt_idx := 15;
105717 l_bflow_applied_to_amt_idx := 2; -- 5132302
105718 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
105719 l_rec_acct_attrs.array_char_value(1) := p_source_41;
105720 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
105721 l_rec_acct_attrs.array_num_value(2) := p_source_91;
105722 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
105723 l_rec_acct_attrs.array_num_value(3) := p_source_79;
105724 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
105725 l_rec_acct_attrs.array_char_value(4) := p_source_92;
105726 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
105727 l_rec_acct_attrs.array_char_value(5) := p_source_93;
105728 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
105729 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
105730 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
105731 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
105732 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
105733 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
105734 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
105735 l_rec_acct_attrs.array_char_value(9) := p_source_43;
105736 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
105737 l_rec_acct_attrs.array_num_value(10) := p_source_91;
105738 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
105739 l_rec_acct_attrs.array_char_value(11) := p_source_106;
105740 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
105741 l_rec_acct_attrs.array_date_value(12) := p_source_98;
105742 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
105743 l_rec_acct_attrs.array_num_value(13) := p_source_99;
105744 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
105745 l_rec_acct_attrs.array_char_value(14) := p_source_100;
105746 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
105747 l_rec_acct_attrs.array_num_value(15) := p_source_147;
105748 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
105749 l_rec_acct_attrs.array_char_value(16) := p_source_68;
105750 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
105751 l_rec_acct_attrs.array_num_value(17) := p_source_102;
105752 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
105753 l_rec_acct_attrs.array_num_value(18) := p_source_103;
105754 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
105755 l_rec_acct_attrs.array_char_value(19) := p_source_71;
105756 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
105757 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
105758 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
105759 l_rec_acct_attrs.array_char_value(21) := p_source_43;
105760 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
105761 l_rec_acct_attrs.array_num_value(22) := p_source_74;
105762 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
105763 l_rec_acct_attrs.array_num_value(23) := p_source_74;
105764 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
105765 l_rec_acct_attrs.array_num_value(24) := p_source_76;
105766
105767 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
105768 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
105769
105770 ---------------------------------------------------------------------------------------------------------------
105771 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
105772 ---------------------------------------------------------------------------------------------------------------
105773 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
105774
105775 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105776 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
105777
105778 IF xla_accounting_cache_pkg.GetValueChar
105779 (p_source_code => 'LEDGER_CATEGORY_CODE'
105780 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
105781 AND l_bflow_method_code = 'PRIOR_ENTRY'
105782 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
105783 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
105784 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
105785 )
105786 THEN
105787 xla_ae_lines_pkg.BflowUpgEntry
105788 (p_business_method_code => l_bflow_method_code
105789 ,p_business_class_code => l_bflow_class_code
105790 ,p_balance_type => l_balance_type_code);
105791 ELSE
105792 NULL;
105796 --
105793 -- No business flow processing for business flow method of NONE.
105794 END IF;
105795
105797 -- call analytical criteria
105798 --
105799
105800 --
105801 -- call description
105802 --
105803 -- No description or it is inherited.
105804 --
105805 -- call ADRs
105806 -- Bug 4922099
105807 --
105808 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
105809 (NVL(l_actual_upg_option, 'N') = 'O') OR
105810 (NVL(l_enc_upg_option, 'N') = 'O')
105811 )
105812 THEN
105813 NULL;
105814 --
105815 --
105816
105817 l_ccid := AcctDerRule_38(
105818 p_application_id => p_application_id
105819 , p_ae_header_id => l_ae_header_id
105820 , p_source_3 => p_source_3
105821 , p_source_3_meaning => p_source_3_meaning
105822 , p_source_18 => p_source_18
105823 , p_source_26 => p_source_26
105824 , p_source_27 => p_source_27
105825 , x_transaction_coa_id => l_adr_transaction_coa_id
105826 , x_accounting_coa_id => l_adr_accounting_coa_id
105827 , x_value_type_code => l_adr_value_type_code
105828 , p_side => 'NA'
105829 );
105830
105831 xla_ae_lines_pkg.set_ccid(
105832 p_code_combination_id => l_ccid
105833 , p_value_type_code => l_adr_value_type_code
105834 , p_transaction_coa_id => l_adr_transaction_coa_id
105835 , p_accounting_coa_id => l_adr_accounting_coa_id
105836 , p_adr_code => 'AP_REAL_LOSS'
105837 , p_adr_type_code => 'S'
105838 , p_component_type => l_component_type
105839 , p_component_code => l_component_code
105840 , p_component_type_code => l_component_type_code
105841 , p_component_appl_id => l_component_appl_id
105842 , p_amb_context_code => l_amb_context_code
105843 , p_side => 'NA'
105844 );
105845
105846
105847 l_segment := AcctDerRule_21(
105848 p_application_id => p_application_id
105849 , p_ae_header_id => l_ae_header_id
105850 , p_source_3 => p_source_3
105851 , p_source_3_meaning => p_source_3_meaning
105852 , p_source_18 => p_source_18
105853 , x_transaction_coa_id => l_adr_transaction_coa_id
105854 , x_accounting_coa_id => l_adr_accounting_coa_id
105855 , x_flexfield_segment_code => l_adr_flexfield_segment_code
105856 , x_flex_value_set_id => l_adr_flex_value_set_id
105857 , x_value_type_code => l_adr_value_type_code
105858 , x_value_combination_id => l_adr_value_combination_id
105859 , x_value_segment_code => l_adr_value_segment_code
105860 , p_side => 'NA'
105861 , p_override_seg_flag => 'Y'
105862 );
105863
105864 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
105865
105866 xla_ae_lines_pkg.set_segment(
105867 p_to_segment_code => 'GL_BALANCING'
105868 , p_segment_value => l_segment
105869 , p_from_segment_code => l_adr_value_segment_code
105870 , p_from_combination_id => l_adr_value_combination_id
105871 , p_value_type_code => l_adr_value_type_code
105872 , p_transaction_coa_id => l_adr_transaction_coa_id
105873 , p_accounting_coa_id => l_adr_accounting_coa_id
105874 , p_flexfield_segment_code => l_adr_flexfield_segment_code
105875 , p_flex_value_set_id => l_adr_flex_value_set_id
105876 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
105877 , p_adr_type_code => 'S'
105878 , p_component_type => l_component_type
105879 , p_component_code => l_component_code
105880 , p_component_type_code => l_component_type_code
105881 , p_component_appl_id => l_component_appl_id
105882 , p_amb_context_code => l_amb_context_code
105883 , p_entity_code => 'AP_PAYMENTS'
105884 , p_event_class_code => 'RECONCILED PAYMENTS'
105885 , p_side => 'NA'
105886 );
105887
105888 END IF;
105889
105890 l_segment := AcctDerRule_17(
105891 p_application_id => p_application_id
105892 , p_ae_header_id => l_ae_header_id
105893 , p_source_3 => p_source_3
105894 , p_source_3_meaning => p_source_3_meaning
105895 , p_source_26 => p_source_26
105896 , p_source_27 => p_source_27
105897 , x_transaction_coa_id => l_adr_transaction_coa_id
105898 , x_accounting_coa_id => l_adr_accounting_coa_id
105899 , x_flexfield_segment_code => l_adr_flexfield_segment_code
105900 , x_flex_value_set_id => l_adr_flex_value_set_id
105901 , x_value_type_code => l_adr_value_type_code
105902 , x_value_combination_id => l_adr_value_combination_id
105903 , x_value_segment_code => l_adr_value_segment_code
105904 , p_side => 'NA'
105905 , p_override_seg_flag => 'Y'
105906 );
105907
105908 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
105909
105910 xla_ae_lines_pkg.set_segment(
105911 p_to_segment_code => 'GL_ACCOUNT'
105912 , p_segment_value => l_segment
105913 , p_from_segment_code => l_adr_value_segment_code
105917 , p_accounting_coa_id => l_adr_accounting_coa_id
105914 , p_from_combination_id => l_adr_value_combination_id
105915 , p_value_type_code => l_adr_value_type_code
105916 , p_transaction_coa_id => l_adr_transaction_coa_id
105918 , p_flexfield_segment_code => l_adr_flexfield_segment_code
105919 , p_flex_value_set_id => l_adr_flex_value_set_id
105920 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
105921 , p_adr_type_code => 'S'
105922 , p_component_type => l_component_type
105923 , p_component_code => l_component_code
105924 , p_component_type_code => l_component_type_code
105925 , p_component_appl_id => l_component_appl_id
105926 , p_amb_context_code => l_amb_context_code
105927 , p_entity_code => 'AP_PAYMENTS'
105928 , p_event_class_code => 'RECONCILED PAYMENTS'
105929 , p_side => 'NA'
105930 );
105931
105932 END IF;
105933
105934 --
105935 --
105936 END IF;
105937 --
105938 -- Bug 4922099
105939 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
105940 (NVL(l_enc_upg_option, 'N') = 'O')
105941 ) AND
105942 (l_bflow_method_code = 'PRIOR_ENTRY')
105943 )
105944 THEN
105945 IF
105946 --
105947 1 = 2
105948 --
105949 THEN
105950 xla_accounting_err_pkg.build_message
105951 (p_appli_s_name => 'XLA'
105952 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105953 ,p_token_1 => 'LINE_NUMBER'
105954 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
105955 ,p_token_2 => 'LINE_TYPE_NAME'
105956 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
105957 l_component_type
105958 ,l_component_code
105959 ,l_component_type_code
105960 ,l_component_appl_id
105961 ,l_amb_context_code
105962 ,l_entity_code
105963 ,l_event_class_code
105964 )
105965 ,p_token_3 => 'OWNER'
105966 ,p_value_3 => xla_lookups_pkg.get_meaning(
105967 p_lookup_type => 'XLA_OWNER_TYPE'
105968 ,p_lookup_code => l_component_type_code
105969 )
105970 ,p_token_4 => 'PRODUCT_NAME'
105971 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
105972 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
105973 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
105974 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
105975 ,p_ae_header_id => NULL
105976 );
105977
105978 IF (C_LEVEL_ERROR>= g_log_level) THEN
105979 trace
105980 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
105981 ,p_level => C_LEVEL_ERROR
105982 ,p_module => l_log_module);
105983 END IF;
105984 END IF;
105985 END IF;
105986 --
105987 --
105988 ------------------------------------------------------------------------------------------------
105989 -- 4219869 Business Flow
105990 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
105991 -- Prior Entry. Currently, the following code is always generated.
105992 ------------------------------------------------------------------------------------------------
105993 XLA_AE_LINES_PKG.ValidateCurrentLine;
105994
105995 ------------------------------------------------------------------------------------
105996 -- 4219869 Business Flow
105997 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
105998 ------------------------------------------------------------------------------------
105999 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106000
106001 ----------------------------------------------------------------------------------
106002 -- 4219869 Business Flow
106003 -- Update journal entry status -- Need to generate this within IF <condition>
106004 ----------------------------------------------------------------------------------
106005 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106006 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106007 ,p_balance_type_code => l_balance_type_code
106008 );
106009
106010 -------------------------------------------------------------------------------------------
106014 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106011 -- 4262811 - Generate the Accrual Reversal lines
106012 -------------------------------------------------------------------------------------------
106013 BEGIN
106015 (g_array_event(p_event_id).array_value_num('header_index'));
106016 IF l_acc_rev_flag IS NULL THEN
106017 l_acc_rev_flag := 'N';
106018 END IF;
106019 EXCEPTION
106020 WHEN OTHERS THEN
106021 l_acc_rev_flag := 'N';
106022 END;
106023 --
106024 IF (l_acc_rev_flag = 'Y') THEN
106025
106026 -- 4645092 ------------------------------------------------------------------------------
106027 -- To allow MPA report to determine if it should generate report process
106028 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106029 ------------------------------------------------------------------------------------------
106030
106031 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106032 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106033 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106034 -- call ADRs
106035 -- Bug 4922099
106036 --
106037 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106038 (NVL(l_actual_upg_option, 'N') = 'O') OR
106039 (NVL(l_enc_upg_option, 'N') = 'O')
106040 )
106041 THEN
106042 NULL;
106043 --
106044 --
106045
106046 l_ccid := AcctDerRule_38(
106047 p_application_id => p_application_id
106048 , p_ae_header_id => l_ae_header_id
106049 , p_source_3 => p_source_3
106050 , p_source_3_meaning => p_source_3_meaning
106051 , p_source_18 => p_source_18
106052 , p_source_26 => p_source_26
106053 , p_source_27 => p_source_27
106054 , x_transaction_coa_id => l_adr_transaction_coa_id
106055 , x_accounting_coa_id => l_adr_accounting_coa_id
106056 , x_value_type_code => l_adr_value_type_code
106057 , p_side => 'NA'
106058 );
106059
106060 xla_ae_lines_pkg.set_ccid(
106061 p_code_combination_id => l_ccid
106062 , p_value_type_code => l_adr_value_type_code
106063 , p_transaction_coa_id => l_adr_transaction_coa_id
106064 , p_accounting_coa_id => l_adr_accounting_coa_id
106065 , p_adr_code => 'AP_REAL_LOSS'
106066 , p_adr_type_code => 'S'
106067 , p_component_type => l_component_type
106068 , p_component_code => l_component_code
106069 , p_component_type_code => l_component_type_code
106070 , p_component_appl_id => l_component_appl_id
106071 , p_amb_context_code => l_amb_context_code
106072 , p_side => 'NA'
106073 );
106074
106075
106076 l_segment := AcctDerRule_21(
106077 p_application_id => p_application_id
106078 , p_ae_header_id => l_ae_header_id
106079 , p_source_3 => p_source_3
106080 , p_source_3_meaning => p_source_3_meaning
106081 , p_source_18 => p_source_18
106082 , x_transaction_coa_id => l_adr_transaction_coa_id
106083 , x_accounting_coa_id => l_adr_accounting_coa_id
106084 , x_flexfield_segment_code => l_adr_flexfield_segment_code
106085 , x_flex_value_set_id => l_adr_flex_value_set_id
106086 , x_value_type_code => l_adr_value_type_code
106087 , x_value_combination_id => l_adr_value_combination_id
106088 , x_value_segment_code => l_adr_value_segment_code
106089 , p_side => 'NA'
106090 , p_override_seg_flag => 'Y'
106091 );
106092
106093 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
106094
106095 xla_ae_lines_pkg.set_segment(
106096 p_to_segment_code => 'GL_BALANCING'
106097 , p_segment_value => l_segment
106098 , p_from_segment_code => l_adr_value_segment_code
106099 , p_from_combination_id => l_adr_value_combination_id
106100 , p_value_type_code => l_adr_value_type_code
106101 , p_transaction_coa_id => l_adr_transaction_coa_id
106102 , p_accounting_coa_id => l_adr_accounting_coa_id
106103 , p_flexfield_segment_code => l_adr_flexfield_segment_code
106104 , p_flex_value_set_id => l_adr_flex_value_set_id
106105 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
106106 , p_adr_type_code => 'S'
106107 , p_component_type => l_component_type
106108 , p_component_code => l_component_code
106109 , p_component_type_code => l_component_type_code
106110 , p_component_appl_id => l_component_appl_id
106111 , p_amb_context_code => l_amb_context_code
106112 , p_entity_code => 'AP_PAYMENTS'
106113 , p_event_class_code => 'RECONCILED PAYMENTS'
106114 , p_side => 'NA'
106115 );
106116
106117 END IF;
106118
106119 l_segment := AcctDerRule_17(
106120 p_application_id => p_application_id
106121 , p_ae_header_id => l_ae_header_id
106122 , p_source_3 => p_source_3
106123 , p_source_3_meaning => p_source_3_meaning
106124 , p_source_26 => p_source_26
106125 , p_source_27 => p_source_27
106126 , x_transaction_coa_id => l_adr_transaction_coa_id
106130 , x_value_type_code => l_adr_value_type_code
106127 , x_accounting_coa_id => l_adr_accounting_coa_id
106128 , x_flexfield_segment_code => l_adr_flexfield_segment_code
106129 , x_flex_value_set_id => l_adr_flex_value_set_id
106131 , x_value_combination_id => l_adr_value_combination_id
106132 , x_value_segment_code => l_adr_value_segment_code
106133 , p_side => 'NA'
106134 , p_override_seg_flag => 'Y'
106135 );
106136
106137 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
106138
106139 xla_ae_lines_pkg.set_segment(
106140 p_to_segment_code => 'GL_ACCOUNT'
106141 , p_segment_value => l_segment
106142 , p_from_segment_code => l_adr_value_segment_code
106143 , p_from_combination_id => l_adr_value_combination_id
106144 , p_value_type_code => l_adr_value_type_code
106145 , p_transaction_coa_id => l_adr_transaction_coa_id
106146 , p_accounting_coa_id => l_adr_accounting_coa_id
106147 , p_flexfield_segment_code => l_adr_flexfield_segment_code
106148 , p_flex_value_set_id => l_adr_flex_value_set_id
106149 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
106150 , p_adr_type_code => 'S'
106151 , p_component_type => l_component_type
106152 , p_component_code => l_component_code
106153 , p_component_type_code => l_component_type_code
106154 , p_component_appl_id => l_component_appl_id
106155 , p_amb_context_code => l_amb_context_code
106156 , p_entity_code => 'AP_PAYMENTS'
106157 , p_event_class_code => 'RECONCILED PAYMENTS'
106158 , p_side => 'NA'
106159 );
106160
106161 END IF;
106162
106163 --
106164 --
106165 END IF;
106166
106167 --
106168 -- Update the line information that should be overwritten
106169 --
106170 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
106171 p_header_num => 1);
106172 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
106173
106174 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
106175
106176 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
106177 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
106178 END IF;
106179
106180 --
106181 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
106182 --
106183 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
106184 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
106185 ELSE
106186 ---------------------------------------------------------------------------------------------------
106187 -- 4262811a Switch Sign
106188 ---------------------------------------------------------------------------------------------------
106189 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
106190 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106191 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106192 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
106193 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106194 -- 5132302
106195 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
106196 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
106197
106198 END IF;
106199
106200 -- 4955764
106201 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106202 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
106203
106204
106205 XLA_AE_LINES_PKG.ValidateCurrentLine;
106206 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106207
106208 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106209 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
106210 ,p_balance_type_code => l_balance_type_code);
106211
106212 END IF;
106213
106214 -----------------------------------------------------------------------------------------
106215 -- 4262811 Multiperiod Accounting
106216 -----------------------------------------------------------------------------------------
106217 -- No MPA option is assigned.
106218
106219
106220 END IF;
106221 END IF;
106222 --
106223
106224 --
106225 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106226 trace
106227 (p_msg => 'END of AcctLineType_183'
106228 ,p_level => C_LEVEL_PROCEDURE
106229 ,p_module => l_log_module);
106230 END IF;
106231 --
106232 EXCEPTION
106233 WHEN xla_exceptions_pkg.application_exception THEN
106234 RAISE;
106235 WHEN OTHERS THEN
106236 xla_exceptions_pkg.raise_message
106240
106237 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_183');
106238 END AcctLineType_183;
106239 --
106241 ---------------------------------------
106242 --
106243 -- PRIVATE FUNCTION
106244 -- AcctLineType_184
106245 --
106246 ---------------------------------------
106247 PROCEDURE AcctLineType_184 (
106248 p_application_id IN NUMBER
106249 ,p_event_id IN NUMBER
106250 ,p_calculate_acctd_flag IN VARCHAR2
106251 ,p_calculate_g_l_flag IN VARCHAR2
106252 ,p_actual_flag IN OUT VARCHAR2
106253 ,p_balance_type_code OUT VARCHAR2
106254 ,p_gain_or_loss_ref OUT VARCHAR2
106255
106256 --Automatic Offsets Value
106257 , p_source_3 IN VARCHAR2
106258 , p_source_3_meaning IN VARCHAR2
106259 --Invoice Distribution Account
106260 , p_source_18 IN NUMBER
106261 --Internal Realized Loss Account
106262 , p_source_26 IN NUMBER
106263 --Bank Loss Account
106264 , p_source_27 IN NUMBER
106265 --Accounting Reversal Indicator
106266 , p_source_41 IN VARCHAR2
106267 --Distribution Link Type
106268 , p_source_43 IN VARCHAR2
106269 --Override Accounted Amount Indicator
106270 , p_source_68 IN VARCHAR2
106271 , p_source_68_meaning IN VARCHAR2
106272 --Third Party Type
106273 , p_source_71 IN VARCHAR2
106274 --Invoice Distribution Tax Line Identifier
106275 , p_source_74 IN NUMBER
106276 --Invoice Distribution Summary Tax Line Identifier
106277 , p_source_76 IN NUMBER
106278 --Business Flow Accounts Payable Application Identifier
106279 , p_source_79 IN NUMBER
106280 --When to Account for Payment Option
106281 , p_source_89 IN VARCHAR2
106282 --Payment Distribution Type
106283 , p_source_90 IN VARCHAR2
106284 , p_source_90_meaning IN VARCHAR2
106285 --Payment Distribution Amount
106286 , p_source_91 IN NUMBER
106287 --Business Flow Payment Distribution Type
106288 , p_source_92 IN VARCHAR2
106289 --Business Flow Payment Entity Code
106290 , p_source_93 IN VARCHAR2
106291 --Business Flow Payment Distribution Identifier
106292 , p_source_94 IN NUMBER
106293 --Business Flow Payment Identifier
106294 , p_source_95 IN NUMBER
106295 --Payment Distribution Identifier
106296 , p_source_96 IN NUMBER
106297 --Cleared Exchange Date
106298 , p_source_98 IN DATE
106299 --Cleared Exchange Rate
106300 , p_source_99 IN NUMBER
106301 --Cleared Exchange Rate Type
106302 , p_source_100 IN VARCHAR2
106303 --Payment Supplier Identifier
106304 , p_source_102 IN NUMBER
106305 --Payment Supplier Site Identifier
106306 , p_source_103 IN NUMBER
106307 --Payment Distribution Reversed Identifier
106308 , p_source_104 IN NUMBER
106309 --Payment Currency Code
106310 , p_source_106 IN VARCHAR2
106311 --Payment Maturity Date
106312 , p_source_107 IN DATE
106313 --Gain or Loss Indicator between Maturity and Clearing
106314 , p_source_151 IN VARCHAR2
106315 --Maturity/Clearing Ledger Amount Difference
106316 , p_source_152 IN NUMBER
106317 )
106318 IS
106319
106320 l_component_type VARCHAR2(80);
106321 l_component_code VARCHAR2(30);
106322 l_component_type_code VARCHAR2(1);
106323 l_component_appl_id INTEGER;
106324 l_amb_context_code VARCHAR2(30);
106325 l_entity_code VARCHAR2(30);
106326 l_event_class_code VARCHAR2(30);
106327 l_ae_header_id NUMBER;
106328 l_event_type_code VARCHAR2(30);
106329 l_line_definition_code VARCHAR2(30);
106330 l_line_definition_owner_code VARCHAR2(1);
106331 --
106332 -- adr variables
106333 l_segment VARCHAR2(30);
106334 l_ccid NUMBER;
106335 l_adr_transaction_coa_id NUMBER;
106336 l_adr_accounting_coa_id NUMBER;
106337 l_adr_flexfield_segment_code VARCHAR2(30);
106338 l_adr_flex_value_set_id NUMBER;
106339 l_adr_value_type_code VARCHAR2(30);
106340 l_adr_value_combination_id NUMBER;
106341 l_adr_value_segment_code VARCHAR2(30);
106342
106343 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
106344 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
106345 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
106346 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
106347
106348 -- 4262811 Variables ------------------------------------------------------------------------------------------
106349 l_entered_amt_idx NUMBER;
106350 l_accted_amt_idx NUMBER;
106351 l_acc_rev_flag VARCHAR2(1);
106352 l_accrual_line_num NUMBER;
106353 l_tmp_amt NUMBER;
106354 l_acc_rev_natural_side_code VARCHAR2(1);
106355
106356 l_num_entries NUMBER;
106357 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
106358 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
106359 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
106360 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
106361 l_recog_line_1 NUMBER;
106362 l_recog_line_2 NUMBER;
106363
106364 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
106368 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
106365 l_bflow_applied_to_amt NUMBER; -- 5132302
106366 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
106367
106369
106370 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
106371 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
106372
106373 ---------------------------------------------------------------------------------------------------------------
106374
106375
106376 --
106377 -- bulk performance
106378 --
106379 l_balance_type_code VARCHAR2(1);
106380 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
106381 l_log_module VARCHAR2(240);
106382
106383 --
106384 -- Upgrade strategy
106385 --
106386 l_actual_upg_option VARCHAR2(1);
106387 l_enc_upg_option VARCHAR2(1);
106388
106389 --
106390 BEGIN
106391 --
106392 IF g_log_enabled THEN
106393 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_184';
106394 END IF;
106395 --
106396 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
106397
106398 trace
106399 (p_msg => 'BEGIN of AcctLineType_184'
106400 ,p_level => C_LEVEL_PROCEDURE
106401 ,p_module => l_log_module);
106402
106403 END IF;
106404 --
106405 l_component_type := 'AMB_JLT';
106406 l_component_code := 'AP_LOSS_MAT_CLEAR';
106407 l_component_type_code := 'S';
106408 l_component_appl_id := 200;
106409 l_amb_context_code := 'DEFAULT';
106410 l_entity_code := 'AP_PAYMENTS';
106411 l_event_class_code := 'RECONCILED PAYMENTS';
106412 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
106413 l_line_definition_owner_code := 'S';
106414 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
106415 --
106416 l_balance_type_code := 'A';
106417 l_segment := NULL;
106418 l_ccid := NULL;
106419 l_adr_transaction_coa_id := NULL;
106420 l_adr_accounting_coa_id := NULL;
106421 l_adr_flexfield_segment_code := NULL;
106422 l_adr_flex_value_set_id := NULL;
106423 l_adr_value_type_code := NULL;
106424 l_adr_value_combination_id := NULL;
106425 l_adr_value_segment_code := NULL;
106426
106427 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
106428 l_bflow_class_code := ''; -- 4219869 Business Flow
106429 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
106430 l_budgetary_control_flag := 'N';
106431
106432 l_bflow_applied_to_amt_idx := NULL; -- 5132302
106433 l_bflow_applied_to_amt := NULL; -- 5132302
106434 l_entered_amt_idx := NULL; -- 4262811
106435 l_accted_amt_idx := NULL; -- 4262811
106436 l_acc_rev_flag := NULL; -- 4262811
106437 l_accrual_line_num := NULL; -- 4262811
106438 l_tmp_amt := NULL; -- 4262811
106439 --
106440 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
106441 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
106442 return;
106443 END IF;
106444
106445 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
106446 l_balance_type_code <> 'B' THEN
106447 IF NVL(p_source_89,'
106448 ') = 'ALWAYS_ALWAYS' AND
106449 p_source_107 IS NOT NULL AND
106450 NVL(p_source_151,'
106451 ') = 'LOSS' AND
106452 NVL(p_source_90,'
106453 ') <> 'EXCHANGE RATE VARIANCE' AND
106454 NVL(p_source_90,'
106455 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
106456 NVL(p_source_90,'
106457 ') <> 'BANK CHARGE' AND
106458 NVL(p_source_90,'
106459 ') <> 'BANK ERROR'
106460 THEN
106461
106462 --
106463 XLA_AE_LINES_PKG.SetNewLine;
106464
106465 p_balance_type_code := l_balance_type_code;
106466 -- set the flag so later we will know whether the gain loss line needs to be created
106467
106468 IF(l_balance_type_code = 'A' ) THEN
106469 p_actual_flag :='G';
106470 END IF;
106471
106472 --
106473 -- bulk performance
106474 --
106475 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
106476 p_header_num => 0); -- 4262811
106477 --
106478 -- set accounting line options
106479 --
106480 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
106481 p_natural_side_code => 'C'
106482 , p_gain_or_loss_flag => 'Y'
106483 , p_gl_transfer_mode_code => 'S'
106484 , p_acct_entry_type_code => 'A'
106485 , p_switch_side_flag => 'Y'
106486 , p_merge_duplicate_code => 'A'
106487 );
106488 --
106489 l_acc_rev_natural_side_code := 'D'; -- 4262811
106490 --
106491 --
106492 -- set accounting line type info
106493 --
106494 xla_ae_lines_pkg.SetAcctLineType
106495 (p_component_type => l_component_type
106496 ,p_event_type_code => l_event_type_code
106497 ,p_line_definition_owner_code => l_line_definition_owner_code
106498 ,p_line_definition_code => l_line_definition_code
106499 ,p_accounting_line_code => l_component_code
106503 ,p_entity_code => l_entity_code
106500 ,p_accounting_line_type_code => l_component_type_code
106501 ,p_accounting_line_appl_id => l_component_appl_id
106502 ,p_amb_context_code => l_amb_context_code
106504 ,p_event_class_code => l_event_class_code);
106505 --
106506 -- set accounting class
106507 --
106508 xla_ae_lines_pkg.SetAcctClass(
106509 p_accounting_class_code => 'LOSS'
106510 , p_ae_header_id => l_ae_header_id
106511 );
106512
106513 --
106514 -- set rounding class
106515 --
106516 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
106517 'LOSS';
106518
106519 --
106520 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
106521 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
106522 --
106523 -- bulk performance
106524 --
106525 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
106526
106527 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
106528 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
106529
106530 -- 4955764
106531 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
106532 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
106533
106534 -- 4458381 Public Sector Enh
106535
106536 --
106537 -- set accounting attributes for the line type
106538 --
106539 l_entered_amt_idx := 10;
106540 l_accted_amt_idx := 15;
106541 l_bflow_applied_to_amt_idx := 2; -- 5132302
106542 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
106543 l_rec_acct_attrs.array_char_value(1) := p_source_41;
106544 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
106545 l_rec_acct_attrs.array_num_value(2) := p_source_91;
106546 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
106547 l_rec_acct_attrs.array_num_value(3) := p_source_79;
106548 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
106549 l_rec_acct_attrs.array_char_value(4) := p_source_92;
106550 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
106551 l_rec_acct_attrs.array_char_value(5) := p_source_93;
106552 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
106553 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
106554 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
106555 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
106556 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
106557 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
106558 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
106559 l_rec_acct_attrs.array_char_value(9) := p_source_43;
106560 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
106561 l_rec_acct_attrs.array_num_value(10) := p_source_91;
106562 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
106563 l_rec_acct_attrs.array_char_value(11) := p_source_106;
106564 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
106565 l_rec_acct_attrs.array_date_value(12) := p_source_98;
106566 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
106567 l_rec_acct_attrs.array_num_value(13) := p_source_99;
106568 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
106569 l_rec_acct_attrs.array_char_value(14) := p_source_100;
106570 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
106571 l_rec_acct_attrs.array_num_value(15) := p_source_152;
106572 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
106573 l_rec_acct_attrs.array_char_value(16) := p_source_68;
106574 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
106575 l_rec_acct_attrs.array_num_value(17) := p_source_102;
106576 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
106577 l_rec_acct_attrs.array_num_value(18) := p_source_103;
106578 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
106579 l_rec_acct_attrs.array_char_value(19) := p_source_71;
106580 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
106581 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
106582 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
106583 l_rec_acct_attrs.array_char_value(21) := p_source_43;
106584 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
106585 l_rec_acct_attrs.array_num_value(22) := p_source_74;
106586 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
106587 l_rec_acct_attrs.array_num_value(23) := p_source_74;
106588 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
106589 l_rec_acct_attrs.array_num_value(24) := p_source_76;
106590
106591 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
106592 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
106593
106594 ---------------------------------------------------------------------------------------------------------------
106595 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
106596 ---------------------------------------------------------------------------------------------------------------
106597 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
106601
106598
106599 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106600 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
106602 IF xla_accounting_cache_pkg.GetValueChar
106603 (p_source_code => 'LEDGER_CATEGORY_CODE'
106604 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
106605 AND l_bflow_method_code = 'PRIOR_ENTRY'
106606 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
106607 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
106608 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
106609 )
106610 THEN
106611 xla_ae_lines_pkg.BflowUpgEntry
106612 (p_business_method_code => l_bflow_method_code
106613 ,p_business_class_code => l_bflow_class_code
106614 ,p_balance_type => l_balance_type_code);
106615 ELSE
106616 NULL;
106617 -- No business flow processing for business flow method of NONE.
106618 END IF;
106619
106620 --
106621 -- call analytical criteria
106622 --
106623
106624 --
106625 -- call description
106626 --
106627 -- No description or it is inherited.
106628 --
106629 -- call ADRs
106630 -- Bug 4922099
106631 --
106632 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106633 (NVL(l_actual_upg_option, 'N') = 'O') OR
106634 (NVL(l_enc_upg_option, 'N') = 'O')
106635 )
106636 THEN
106637 NULL;
106638 --
106639 --
106640
106641 l_ccid := AcctDerRule_38(
106642 p_application_id => p_application_id
106643 , p_ae_header_id => l_ae_header_id
106644 , p_source_3 => p_source_3
106645 , p_source_3_meaning => p_source_3_meaning
106646 , p_source_18 => p_source_18
106647 , p_source_26 => p_source_26
106648 , p_source_27 => p_source_27
106649 , x_transaction_coa_id => l_adr_transaction_coa_id
106650 , x_accounting_coa_id => l_adr_accounting_coa_id
106651 , x_value_type_code => l_adr_value_type_code
106652 , p_side => 'NA'
106653 );
106654
106655 xla_ae_lines_pkg.set_ccid(
106656 p_code_combination_id => l_ccid
106657 , p_value_type_code => l_adr_value_type_code
106658 , p_transaction_coa_id => l_adr_transaction_coa_id
106659 , p_accounting_coa_id => l_adr_accounting_coa_id
106660 , p_adr_code => 'AP_REAL_LOSS'
106661 , p_adr_type_code => 'S'
106662 , p_component_type => l_component_type
106663 , p_component_code => l_component_code
106664 , p_component_type_code => l_component_type_code
106665 , p_component_appl_id => l_component_appl_id
106666 , p_amb_context_code => l_amb_context_code
106667 , p_side => 'NA'
106668 );
106669
106670
106671 l_segment := AcctDerRule_21(
106672 p_application_id => p_application_id
106673 , p_ae_header_id => l_ae_header_id
106674 , p_source_3 => p_source_3
106675 , p_source_3_meaning => p_source_3_meaning
106676 , p_source_18 => p_source_18
106677 , x_transaction_coa_id => l_adr_transaction_coa_id
106678 , x_accounting_coa_id => l_adr_accounting_coa_id
106679 , x_flexfield_segment_code => l_adr_flexfield_segment_code
106680 , x_flex_value_set_id => l_adr_flex_value_set_id
106681 , x_value_type_code => l_adr_value_type_code
106682 , x_value_combination_id => l_adr_value_combination_id
106683 , x_value_segment_code => l_adr_value_segment_code
106684 , p_side => 'NA'
106685 , p_override_seg_flag => 'Y'
106686 );
106687
106688 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
106689
106690 xla_ae_lines_pkg.set_segment(
106691 p_to_segment_code => 'GL_BALANCING'
106692 , p_segment_value => l_segment
106693 , p_from_segment_code => l_adr_value_segment_code
106694 , p_from_combination_id => l_adr_value_combination_id
106695 , p_value_type_code => l_adr_value_type_code
106696 , p_transaction_coa_id => l_adr_transaction_coa_id
106697 , p_accounting_coa_id => l_adr_accounting_coa_id
106698 , p_flexfield_segment_code => l_adr_flexfield_segment_code
106699 , p_flex_value_set_id => l_adr_flex_value_set_id
106700 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
106701 , p_adr_type_code => 'S'
106702 , p_component_type => l_component_type
106703 , p_component_code => l_component_code
106704 , p_component_type_code => l_component_type_code
106705 , p_component_appl_id => l_component_appl_id
106706 , p_amb_context_code => l_amb_context_code
106707 , p_entity_code => 'AP_PAYMENTS'
106708 , p_event_class_code => 'RECONCILED PAYMENTS'
106709 , p_side => 'NA'
106710 );
106711
106712 END IF;
106713
106714 l_segment := AcctDerRule_17(
106715 p_application_id => p_application_id
106716 , p_ae_header_id => l_ae_header_id
106717 , p_source_3 => p_source_3
106718 , p_source_3_meaning => p_source_3_meaning
106719 , p_source_26 => p_source_26
106720 , p_source_27 => p_source_27
106724 , x_flex_value_set_id => l_adr_flex_value_set_id
106721 , x_transaction_coa_id => l_adr_transaction_coa_id
106722 , x_accounting_coa_id => l_adr_accounting_coa_id
106723 , x_flexfield_segment_code => l_adr_flexfield_segment_code
106725 , x_value_type_code => l_adr_value_type_code
106726 , x_value_combination_id => l_adr_value_combination_id
106727 , x_value_segment_code => l_adr_value_segment_code
106728 , p_side => 'NA'
106729 , p_override_seg_flag => 'Y'
106730 );
106731
106732 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
106733
106734 xla_ae_lines_pkg.set_segment(
106735 p_to_segment_code => 'GL_ACCOUNT'
106736 , p_segment_value => l_segment
106737 , p_from_segment_code => l_adr_value_segment_code
106738 , p_from_combination_id => l_adr_value_combination_id
106739 , p_value_type_code => l_adr_value_type_code
106740 , p_transaction_coa_id => l_adr_transaction_coa_id
106741 , p_accounting_coa_id => l_adr_accounting_coa_id
106742 , p_flexfield_segment_code => l_adr_flexfield_segment_code
106743 , p_flex_value_set_id => l_adr_flex_value_set_id
106744 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
106745 , p_adr_type_code => 'S'
106746 , p_component_type => l_component_type
106747 , p_component_code => l_component_code
106748 , p_component_type_code => l_component_type_code
106749 , p_component_appl_id => l_component_appl_id
106750 , p_amb_context_code => l_amb_context_code
106751 , p_entity_code => 'AP_PAYMENTS'
106752 , p_event_class_code => 'RECONCILED PAYMENTS'
106753 , p_side => 'NA'
106754 );
106755
106756 END IF;
106757
106758 --
106759 --
106760 END IF;
106761 --
106762 -- Bug 4922099
106763 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
106764 (NVL(l_enc_upg_option, 'N') = 'O')
106765 ) AND
106766 (l_bflow_method_code = 'PRIOR_ENTRY')
106767 )
106768 THEN
106769 IF
106770 --
106771 1 = 2
106772 --
106773 THEN
106774 xla_accounting_err_pkg.build_message
106775 (p_appli_s_name => 'XLA'
106776 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106777 ,p_token_1 => 'LINE_NUMBER'
106778 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
106779 ,p_token_2 => 'LINE_TYPE_NAME'
106780 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
106781 l_component_type
106782 ,l_component_code
106783 ,l_component_type_code
106784 ,l_component_appl_id
106785 ,l_amb_context_code
106786 ,l_entity_code
106787 ,l_event_class_code
106788 )
106789 ,p_token_3 => 'OWNER'
106790 ,p_value_3 => xla_lookups_pkg.get_meaning(
106791 p_lookup_type => 'XLA_OWNER_TYPE'
106792 ,p_lookup_code => l_component_type_code
106793 )
106794 ,p_token_4 => 'PRODUCT_NAME'
106795 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
106796 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
106797 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
106798 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
106799 ,p_ae_header_id => NULL
106800 );
106801
106802 IF (C_LEVEL_ERROR>= g_log_level) THEN
106803 trace
106804 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
106805 ,p_level => C_LEVEL_ERROR
106806 ,p_module => l_log_module);
106807 END IF;
106808 END IF;
106809 END IF;
106810 --
106811 --
106812 ------------------------------------------------------------------------------------------------
106813 -- 4219869 Business Flow
106814 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
106815 -- Prior Entry. Currently, the following code is always generated.
106816 ------------------------------------------------------------------------------------------------
106817 XLA_AE_LINES_PKG.ValidateCurrentLine;
106818
106822 ------------------------------------------------------------------------------------
106819 ------------------------------------------------------------------------------------
106820 -- 4219869 Business Flow
106821 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
106823 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
106824
106825 ----------------------------------------------------------------------------------
106826 -- 4219869 Business Flow
106827 -- Update journal entry status -- Need to generate this within IF <condition>
106828 ----------------------------------------------------------------------------------
106829 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
106830 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
106831 ,p_balance_type_code => l_balance_type_code
106832 );
106833
106834 -------------------------------------------------------------------------------------------
106835 -- 4262811 - Generate the Accrual Reversal lines
106836 -------------------------------------------------------------------------------------------
106837 BEGIN
106838 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
106839 (g_array_event(p_event_id).array_value_num('header_index'));
106840 IF l_acc_rev_flag IS NULL THEN
106841 l_acc_rev_flag := 'N';
106842 END IF;
106843 EXCEPTION
106844 WHEN OTHERS THEN
106845 l_acc_rev_flag := 'N';
106846 END;
106847 --
106848 IF (l_acc_rev_flag = 'Y') THEN
106849
106850 -- 4645092 ------------------------------------------------------------------------------
106851 -- To allow MPA report to determine if it should generate report process
106852 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
106853 ------------------------------------------------------------------------------------------
106854
106855 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
106856 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
106857 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
106858 -- call ADRs
106859 -- Bug 4922099
106860 --
106861 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
106862 (NVL(l_actual_upg_option, 'N') = 'O') OR
106863 (NVL(l_enc_upg_option, 'N') = 'O')
106864 )
106865 THEN
106866 NULL;
106867 --
106868 --
106869
106870 l_ccid := AcctDerRule_38(
106871 p_application_id => p_application_id
106872 , p_ae_header_id => l_ae_header_id
106873 , p_source_3 => p_source_3
106874 , p_source_3_meaning => p_source_3_meaning
106875 , p_source_18 => p_source_18
106876 , p_source_26 => p_source_26
106877 , p_source_27 => p_source_27
106878 , x_transaction_coa_id => l_adr_transaction_coa_id
106879 , x_accounting_coa_id => l_adr_accounting_coa_id
106880 , x_value_type_code => l_adr_value_type_code
106881 , p_side => 'NA'
106882 );
106883
106884 xla_ae_lines_pkg.set_ccid(
106885 p_code_combination_id => l_ccid
106886 , p_value_type_code => l_adr_value_type_code
106887 , p_transaction_coa_id => l_adr_transaction_coa_id
106888 , p_accounting_coa_id => l_adr_accounting_coa_id
106889 , p_adr_code => 'AP_REAL_LOSS'
106890 , p_adr_type_code => 'S'
106891 , p_component_type => l_component_type
106892 , p_component_code => l_component_code
106893 , p_component_type_code => l_component_type_code
106894 , p_component_appl_id => l_component_appl_id
106895 , p_amb_context_code => l_amb_context_code
106896 , p_side => 'NA'
106897 );
106898
106899
106900 l_segment := AcctDerRule_21(
106901 p_application_id => p_application_id
106902 , p_ae_header_id => l_ae_header_id
106903 , p_source_3 => p_source_3
106904 , p_source_3_meaning => p_source_3_meaning
106905 , p_source_18 => p_source_18
106906 , x_transaction_coa_id => l_adr_transaction_coa_id
106907 , x_accounting_coa_id => l_adr_accounting_coa_id
106908 , x_flexfield_segment_code => l_adr_flexfield_segment_code
106909 , x_flex_value_set_id => l_adr_flex_value_set_id
106910 , x_value_type_code => l_adr_value_type_code
106911 , x_value_combination_id => l_adr_value_combination_id
106912 , x_value_segment_code => l_adr_value_segment_code
106913 , p_side => 'NA'
106914 , p_override_seg_flag => 'Y'
106915 );
106916
106917 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
106918
106919 xla_ae_lines_pkg.set_segment(
106920 p_to_segment_code => 'GL_BALANCING'
106921 , p_segment_value => l_segment
106922 , p_from_segment_code => l_adr_value_segment_code
106923 , p_from_combination_id => l_adr_value_combination_id
106924 , p_value_type_code => l_adr_value_type_code
106925 , p_transaction_coa_id => l_adr_transaction_coa_id
106926 , p_accounting_coa_id => l_adr_accounting_coa_id
106927 , p_flexfield_segment_code => l_adr_flexfield_segment_code
106928 , p_flex_value_set_id => l_adr_flex_value_set_id
106932 , p_component_code => l_component_code
106929 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
106930 , p_adr_type_code => 'S'
106931 , p_component_type => l_component_type
106933 , p_component_type_code => l_component_type_code
106934 , p_component_appl_id => l_component_appl_id
106935 , p_amb_context_code => l_amb_context_code
106936 , p_entity_code => 'AP_PAYMENTS'
106937 , p_event_class_code => 'RECONCILED PAYMENTS'
106938 , p_side => 'NA'
106939 );
106940
106941 END IF;
106942
106943 l_segment := AcctDerRule_17(
106944 p_application_id => p_application_id
106945 , p_ae_header_id => l_ae_header_id
106946 , p_source_3 => p_source_3
106947 , p_source_3_meaning => p_source_3_meaning
106948 , p_source_26 => p_source_26
106949 , p_source_27 => p_source_27
106950 , x_transaction_coa_id => l_adr_transaction_coa_id
106951 , x_accounting_coa_id => l_adr_accounting_coa_id
106952 , x_flexfield_segment_code => l_adr_flexfield_segment_code
106953 , x_flex_value_set_id => l_adr_flex_value_set_id
106954 , x_value_type_code => l_adr_value_type_code
106955 , x_value_combination_id => l_adr_value_combination_id
106956 , x_value_segment_code => l_adr_value_segment_code
106957 , p_side => 'NA'
106958 , p_override_seg_flag => 'Y'
106959 );
106960
106961 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
106962
106963 xla_ae_lines_pkg.set_segment(
106964 p_to_segment_code => 'GL_ACCOUNT'
106965 , p_segment_value => l_segment
106966 , p_from_segment_code => l_adr_value_segment_code
106967 , p_from_combination_id => l_adr_value_combination_id
106968 , p_value_type_code => l_adr_value_type_code
106969 , p_transaction_coa_id => l_adr_transaction_coa_id
106970 , p_accounting_coa_id => l_adr_accounting_coa_id
106971 , p_flexfield_segment_code => l_adr_flexfield_segment_code
106972 , p_flex_value_set_id => l_adr_flex_value_set_id
106973 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
106974 , p_adr_type_code => 'S'
106975 , p_component_type => l_component_type
106976 , p_component_code => l_component_code
106977 , p_component_type_code => l_component_type_code
106978 , p_component_appl_id => l_component_appl_id
106979 , p_amb_context_code => l_amb_context_code
106980 , p_entity_code => 'AP_PAYMENTS'
106981 , p_event_class_code => 'RECONCILED PAYMENTS'
106982 , p_side => 'NA'
106983 );
106984
106985 END IF;
106986
106987 --
106988 --
106989 END IF;
106990
106991 --
106992 -- Update the line information that should be overwritten
106993 --
106994 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
106995 p_header_num => 1);
106996 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
106997
106998 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
106999
107000 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
107001 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
107002 END IF;
107003
107004 --
107005 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107006 --
107007 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107008 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107009 ELSE
107010 ---------------------------------------------------------------------------------------------------
107011 -- 4262811a Switch Sign
107012 ---------------------------------------------------------------------------------------------------
107013 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107014 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107015 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107016 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107017 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107018 -- 5132302
107019 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107020 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107021
107022 END IF;
107023
107024 -- 4955764
107025 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107026 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107027
107028
107029 XLA_AE_LINES_PKG.ValidateCurrentLine;
107030 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107031
107032 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107036 END IF;
107033 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107034 ,p_balance_type_code => l_balance_type_code);
107035
107037
107038 -----------------------------------------------------------------------------------------
107039 -- 4262811 Multiperiod Accounting
107040 -----------------------------------------------------------------------------------------
107041 -- No MPA option is assigned.
107042
107043
107044 END IF;
107045 END IF;
107046 --
107047
107048 --
107049 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107050 trace
107051 (p_msg => 'END of AcctLineType_184'
107052 ,p_level => C_LEVEL_PROCEDURE
107053 ,p_module => l_log_module);
107054 END IF;
107055 --
107056 EXCEPTION
107057 WHEN xla_exceptions_pkg.application_exception THEN
107058 RAISE;
107059 WHEN OTHERS THEN
107060 xla_exceptions_pkg.raise_message
107061 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_184');
107062 END AcctLineType_184;
107063 --
107064
107065 ---------------------------------------
107066 --
107067 -- PRIVATE FUNCTION
107068 -- AcctLineType_185
107069 --
107070 ---------------------------------------
107071 PROCEDURE AcctLineType_185 (
107072 p_application_id IN NUMBER
107073 ,p_event_id IN NUMBER
107074 ,p_calculate_acctd_flag IN VARCHAR2
107075 ,p_calculate_g_l_flag IN VARCHAR2
107076 ,p_actual_flag IN OUT VARCHAR2
107077 ,p_balance_type_code OUT VARCHAR2
107078 ,p_gain_or_loss_ref OUT VARCHAR2
107079
107080 --Automatic Offsets Value
107081 , p_source_3 IN VARCHAR2
107082 , p_source_3_meaning IN VARCHAR2
107083 --Invoice Distribution Account
107084 , p_source_18 IN NUMBER
107085 --Internal Realized Loss Account
107086 , p_source_26 IN NUMBER
107087 --Bank Loss Account
107088 , p_source_27 IN NUMBER
107089 --Accounting Reversal Indicator
107090 , p_source_41 IN VARCHAR2
107091 --Distribution Link Type
107092 , p_source_43 IN VARCHAR2
107093 --Override Accounted Amount Indicator
107094 , p_source_68 IN VARCHAR2
107095 , p_source_68_meaning IN VARCHAR2
107096 --Third Party Type
107097 , p_source_71 IN VARCHAR2
107098 --Invoice Distribution Tax Line Identifier
107099 , p_source_74 IN NUMBER
107100 --Invoice Distribution Tax Distribution Identifier from Tax
107101 , p_source_75 IN NUMBER
107102 --Invoice Distribution Summary Tax Line Identifier
107103 , p_source_76 IN NUMBER
107104 --Business Flow Accounts Payable Application Identifier
107105 , p_source_79 IN NUMBER
107106 --Business Flow Invoice Distribution Type
107107 , p_source_80 IN VARCHAR2
107108 --Business Flow Invoice Entity Code
107109 , p_source_81 IN VARCHAR2
107110 --Business Flow Invoice Distribution Identifier
107111 , p_source_82 IN NUMBER
107112 --Business Flow Invoice Identifier
107113 , p_source_83 IN NUMBER
107114 --When to Account for Payment Option
107115 , p_source_89 IN VARCHAR2
107116 --Payment Distribution Type
107117 , p_source_90 IN VARCHAR2
107118 , p_source_90_meaning IN VARCHAR2
107119 --Payment Distribution Amount
107120 , p_source_91 IN NUMBER
107121 --Payment Distribution Identifier
107122 , p_source_96 IN NUMBER
107123 --Payment Supplier Identifier
107124 , p_source_102 IN NUMBER
107125 --Payment Supplier Site Identifier
107126 , p_source_103 IN NUMBER
107127 --Payment Distribution Reversed Identifier
107128 , p_source_104 IN NUMBER
107129 --Payment Currency Code
107130 , p_source_106 IN VARCHAR2
107131 --Payment Exchange Date
107132 , p_source_110 IN DATE
107133 --Payment Exchange Rate
107134 , p_source_111 IN NUMBER
107135 --Payment Exchange Rate Type
107136 , p_source_112 IN VARCHAR2
107137 --Payment Type
107138 , p_source_115 IN VARCHAR2
107139 , p_source_115_meaning IN VARCHAR2
107140 --Invoice Distribution Amount of the Payment Distribution
107141 , p_source_117 IN NUMBER
107142 --Invoice/Payment Ledger Amount Difference
107143 , p_source_148 IN NUMBER
107144 --Gain or Loss Indicator between Invoice and Payment
107145 , p_source_153 IN VARCHAR2
107146 )
107147 IS
107148
107149 l_component_type VARCHAR2(80);
107150 l_component_code VARCHAR2(30);
107151 l_component_type_code VARCHAR2(1);
107152 l_component_appl_id INTEGER;
107153 l_amb_context_code VARCHAR2(30);
107154 l_entity_code VARCHAR2(30);
107155 l_event_class_code VARCHAR2(30);
107156 l_ae_header_id NUMBER;
107157 l_event_type_code VARCHAR2(30);
107158 l_line_definition_code VARCHAR2(30);
107159 l_line_definition_owner_code VARCHAR2(1);
107160 --
107161 -- adr variables
107162 l_segment VARCHAR2(30);
107163 l_ccid NUMBER;
107164 l_adr_transaction_coa_id NUMBER;
107165 l_adr_accounting_coa_id NUMBER;
107166 l_adr_flexfield_segment_code VARCHAR2(30);
107167 l_adr_flex_value_set_id NUMBER;
107168 l_adr_value_type_code VARCHAR2(30);
107169 l_adr_value_combination_id NUMBER;
107170 l_adr_value_segment_code VARCHAR2(30);
107174 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
107171
107172 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
107173 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
107175 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
107176
107177 -- 4262811 Variables ------------------------------------------------------------------------------------------
107178 l_entered_amt_idx NUMBER;
107179 l_accted_amt_idx NUMBER;
107180 l_acc_rev_flag VARCHAR2(1);
107181 l_accrual_line_num NUMBER;
107182 l_tmp_amt NUMBER;
107183 l_acc_rev_natural_side_code VARCHAR2(1);
107184
107185 l_num_entries NUMBER;
107186 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
107187 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
107188 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
107189 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
107190 l_recog_line_1 NUMBER;
107191 l_recog_line_2 NUMBER;
107192
107193 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
107194 l_bflow_applied_to_amt NUMBER; -- 5132302
107195 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
107196
107197 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
107198
107199 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
107200 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
107201
107202 ---------------------------------------------------------------------------------------------------------------
107203
107204
107205 --
107206 -- bulk performance
107207 --
107208 l_balance_type_code VARCHAR2(1);
107209 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
107210 l_log_module VARCHAR2(240);
107211
107212 --
107213 -- Upgrade strategy
107214 --
107215 l_actual_upg_option VARCHAR2(1);
107216 l_enc_upg_option VARCHAR2(1);
107217
107218 --
107219 BEGIN
107220 --
107221 IF g_log_enabled THEN
107222 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_185';
107223 END IF;
107224 --
107225 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107226
107227 trace
107228 (p_msg => 'BEGIN of AcctLineType_185'
107229 ,p_level => C_LEVEL_PROCEDURE
107230 ,p_module => l_log_module);
107231
107232 END IF;
107233 --
107234 l_component_type := 'AMB_JLT';
107235 l_component_code := 'AP_LOSS_PMT';
107236 l_component_type_code := 'S';
107237 l_component_appl_id := 200;
107238 l_amb_context_code := 'DEFAULT';
107239 l_entity_code := 'AP_PAYMENTS';
107240 l_event_class_code := 'PAYMENTS';
107241 l_event_type_code := 'PAYMENTS_ALL';
107242 l_line_definition_owner_code := 'S';
107243 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
107244 --
107245 l_balance_type_code := 'A';
107246 l_segment := NULL;
107247 l_ccid := NULL;
107248 l_adr_transaction_coa_id := NULL;
107249 l_adr_accounting_coa_id := NULL;
107250 l_adr_flexfield_segment_code := NULL;
107251 l_adr_flex_value_set_id := NULL;
107252 l_adr_value_type_code := NULL;
107253 l_adr_value_combination_id := NULL;
107254 l_adr_value_segment_code := NULL;
107255
107256 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
107257 l_bflow_class_code := ''; -- 4219869 Business Flow
107258 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
107259 l_budgetary_control_flag := 'N';
107260
107261 l_bflow_applied_to_amt_idx := NULL; -- 5132302
107262 l_bflow_applied_to_amt := NULL; -- 5132302
107263 l_entered_amt_idx := NULL; -- 4262811
107264 l_accted_amt_idx := NULL; -- 4262811
107265 l_acc_rev_flag := NULL; -- 4262811
107266 l_accrual_line_num := NULL; -- 4262811
107267 l_tmp_amt := NULL; -- 4262811
107268 --
107269 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
107270 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
107271 return;
107272 END IF;
107273
107274 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
107275 l_balance_type_code <> 'B' THEN
107276 IF (NVL(p_source_89,'
107277 ') <> 'CLEAR_CLEAR' AND
107278 NVL(p_source_89,'
107279 ') <> 'ALWAYS_CLEAR') AND
107280 NVL(p_source_153,'
107281 ') = 'LOSS' AND
107282 NVL(p_source_90,'
107283 ') <> 'EXCHANGE RATE VARIANCE' AND
107284 NVL(p_source_90,'
107285 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
107286 NVL(p_source_90,'
107287 ') <> 'BANK CHARGE' AND
107288 NVL(p_source_90,'
107289 ') <> 'BANK ERROR' AND
107290 NVL(p_source_90,'
107291 ') <> 'AWT' AND
107292 NVL(p_source_115,'
107293 ') <> 'R'
107294 THEN
107295
107296 --
107297 XLA_AE_LINES_PKG.SetNewLine;
107298
107299 p_balance_type_code := l_balance_type_code;
107300 -- set the flag so later we will know whether the gain loss line needs to be created
107301
107305
107302 IF(l_balance_type_code = 'A' ) THEN
107303 p_actual_flag :='G';
107304 END IF;
107306 --
107307 -- bulk performance
107308 --
107309 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
107310 p_header_num => 0); -- 4262811
107311 --
107312 -- set accounting line options
107313 --
107314 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
107315 p_natural_side_code => 'C'
107316 , p_gain_or_loss_flag => 'Y'
107317 , p_gl_transfer_mode_code => 'S'
107318 , p_acct_entry_type_code => 'A'
107319 , p_switch_side_flag => 'Y'
107320 , p_merge_duplicate_code => 'A'
107321 );
107322 --
107323 l_acc_rev_natural_side_code := 'D'; -- 4262811
107324 --
107325 --
107326 -- set accounting line type info
107327 --
107328 xla_ae_lines_pkg.SetAcctLineType
107329 (p_component_type => l_component_type
107330 ,p_event_type_code => l_event_type_code
107331 ,p_line_definition_owner_code => l_line_definition_owner_code
107332 ,p_line_definition_code => l_line_definition_code
107333 ,p_accounting_line_code => l_component_code
107334 ,p_accounting_line_type_code => l_component_type_code
107335 ,p_accounting_line_appl_id => l_component_appl_id
107336 ,p_amb_context_code => l_amb_context_code
107337 ,p_entity_code => l_entity_code
107338 ,p_event_class_code => l_event_class_code);
107339 --
107340 -- set accounting class
107341 --
107342 xla_ae_lines_pkg.SetAcctClass(
107343 p_accounting_class_code => 'LOSS'
107344 , p_ae_header_id => l_ae_header_id
107345 );
107346
107347 --
107348 -- set rounding class
107349 --
107350 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
107351 'LOSS';
107352
107353 --
107354 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
107355 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
107356 --
107357 -- bulk performance
107358 --
107359 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
107360
107361 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
107362 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
107363
107364 -- 4955764
107365 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107366 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
107367
107368 -- 4458381 Public Sector Enh
107369
107370 --
107371 -- set accounting attributes for the line type
107372 --
107373 l_entered_amt_idx := 10;
107374 l_accted_amt_idx := 15;
107375 l_bflow_applied_to_amt_idx := 2; -- 5132302
107376 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
107377 l_rec_acct_attrs.array_char_value(1) := p_source_41;
107378 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
107379 l_rec_acct_attrs.array_num_value(2) := p_source_117;
107380 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
107381 l_rec_acct_attrs.array_num_value(3) := p_source_79;
107382 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
107383 l_rec_acct_attrs.array_char_value(4) := p_source_80;
107384 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
107385 l_rec_acct_attrs.array_char_value(5) := p_source_81;
107386 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
107387 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
107388 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
107389 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
107390 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
107391 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
107392 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
107393 l_rec_acct_attrs.array_char_value(9) := p_source_43;
107394 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
107395 l_rec_acct_attrs.array_num_value(10) := p_source_91;
107396 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
107397 l_rec_acct_attrs.array_char_value(11) := p_source_106;
107398 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
107399 l_rec_acct_attrs.array_date_value(12) := p_source_110;
107400 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
107401 l_rec_acct_attrs.array_num_value(13) := p_source_111;
107402 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
107403 l_rec_acct_attrs.array_char_value(14) := p_source_112;
107404 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
107405 l_rec_acct_attrs.array_num_value(15) := p_source_148;
107406 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
107407 l_rec_acct_attrs.array_char_value(16) := p_source_68;
107408 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
107409 l_rec_acct_attrs.array_num_value(17) := p_source_102;
107410 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
107411 l_rec_acct_attrs.array_num_value(18) := p_source_103;
107415 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
107412 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
107413 l_rec_acct_attrs.array_char_value(19) := p_source_71;
107414 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
107416 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
107417 l_rec_acct_attrs.array_char_value(21) := p_source_43;
107418 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
107419 l_rec_acct_attrs.array_num_value(22) := p_source_74;
107420 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
107421 l_rec_acct_attrs.array_num_value(23) := p_source_75;
107422 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
107423 l_rec_acct_attrs.array_num_value(24) := p_source_76;
107424
107425 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
107426 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
107427
107428 ---------------------------------------------------------------------------------------------------------------
107429 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
107430 ---------------------------------------------------------------------------------------------------------------
107431 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
107432
107433 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107434 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
107435
107436 IF xla_accounting_cache_pkg.GetValueChar
107437 (p_source_code => 'LEDGER_CATEGORY_CODE'
107438 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
107439 AND l_bflow_method_code = 'PRIOR_ENTRY'
107440 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
107441 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
107442 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
107443 )
107444 THEN
107445 xla_ae_lines_pkg.BflowUpgEntry
107446 (p_business_method_code => l_bflow_method_code
107447 ,p_business_class_code => l_bflow_class_code
107448 ,p_balance_type => l_balance_type_code);
107449 ELSE
107450 NULL;
107451 -- No business flow processing for business flow method of NONE.
107452 END IF;
107453
107454 --
107455 -- call analytical criteria
107456 --
107457
107458 --
107459 -- call description
107460 --
107461 -- No description or it is inherited.
107462 --
107463 -- call ADRs
107464 -- Bug 4922099
107465 --
107466 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107467 (NVL(l_actual_upg_option, 'N') = 'O') OR
107468 (NVL(l_enc_upg_option, 'N') = 'O')
107469 )
107470 THEN
107471 NULL;
107472 --
107473 --
107474
107475 l_ccid := AcctDerRule_38(
107476 p_application_id => p_application_id
107477 , p_ae_header_id => l_ae_header_id
107478 , p_source_3 => p_source_3
107479 , p_source_3_meaning => p_source_3_meaning
107480 , p_source_18 => p_source_18
107481 , p_source_26 => p_source_26
107482 , p_source_27 => p_source_27
107483 , x_transaction_coa_id => l_adr_transaction_coa_id
107484 , x_accounting_coa_id => l_adr_accounting_coa_id
107485 , x_value_type_code => l_adr_value_type_code
107486 , p_side => 'NA'
107487 );
107488
107489 xla_ae_lines_pkg.set_ccid(
107490 p_code_combination_id => l_ccid
107491 , p_value_type_code => l_adr_value_type_code
107492 , p_transaction_coa_id => l_adr_transaction_coa_id
107493 , p_accounting_coa_id => l_adr_accounting_coa_id
107494 , p_adr_code => 'AP_REAL_LOSS'
107495 , p_adr_type_code => 'S'
107496 , p_component_type => l_component_type
107497 , p_component_code => l_component_code
107498 , p_component_type_code => l_component_type_code
107499 , p_component_appl_id => l_component_appl_id
107500 , p_amb_context_code => l_amb_context_code
107501 , p_side => 'NA'
107502 );
107503
107504
107505 l_segment := AcctDerRule_21(
107506 p_application_id => p_application_id
107507 , p_ae_header_id => l_ae_header_id
107508 , p_source_3 => p_source_3
107509 , p_source_3_meaning => p_source_3_meaning
107510 , p_source_18 => p_source_18
107511 , x_transaction_coa_id => l_adr_transaction_coa_id
107512 , x_accounting_coa_id => l_adr_accounting_coa_id
107513 , x_flexfield_segment_code => l_adr_flexfield_segment_code
107514 , x_flex_value_set_id => l_adr_flex_value_set_id
107515 , x_value_type_code => l_adr_value_type_code
107516 , x_value_combination_id => l_adr_value_combination_id
107517 , x_value_segment_code => l_adr_value_segment_code
107518 , p_side => 'NA'
107519 , p_override_seg_flag => 'Y'
107520 );
107521
107522 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
107523
107524 xla_ae_lines_pkg.set_segment(
107525 p_to_segment_code => 'GL_BALANCING'
107526 , p_segment_value => l_segment
107530 , p_transaction_coa_id => l_adr_transaction_coa_id
107527 , p_from_segment_code => l_adr_value_segment_code
107528 , p_from_combination_id => l_adr_value_combination_id
107529 , p_value_type_code => l_adr_value_type_code
107531 , p_accounting_coa_id => l_adr_accounting_coa_id
107532 , p_flexfield_segment_code => l_adr_flexfield_segment_code
107533 , p_flex_value_set_id => l_adr_flex_value_set_id
107534 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
107535 , p_adr_type_code => 'S'
107536 , p_component_type => l_component_type
107537 , p_component_code => l_component_code
107538 , p_component_type_code => l_component_type_code
107539 , p_component_appl_id => l_component_appl_id
107540 , p_amb_context_code => l_amb_context_code
107541 , p_entity_code => 'AP_PAYMENTS'
107542 , p_event_class_code => 'PAYMENTS'
107543 , p_side => 'NA'
107544 );
107545
107546 END IF;
107547
107548 l_segment := AcctDerRule_17(
107549 p_application_id => p_application_id
107550 , p_ae_header_id => l_ae_header_id
107551 , p_source_3 => p_source_3
107552 , p_source_3_meaning => p_source_3_meaning
107553 , p_source_26 => p_source_26
107554 , p_source_27 => p_source_27
107555 , x_transaction_coa_id => l_adr_transaction_coa_id
107556 , x_accounting_coa_id => l_adr_accounting_coa_id
107557 , x_flexfield_segment_code => l_adr_flexfield_segment_code
107558 , x_flex_value_set_id => l_adr_flex_value_set_id
107559 , x_value_type_code => l_adr_value_type_code
107560 , x_value_combination_id => l_adr_value_combination_id
107561 , x_value_segment_code => l_adr_value_segment_code
107562 , p_side => 'NA'
107563 , p_override_seg_flag => 'Y'
107564 );
107565
107566 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
107567
107568 xla_ae_lines_pkg.set_segment(
107569 p_to_segment_code => 'GL_ACCOUNT'
107570 , p_segment_value => l_segment
107571 , p_from_segment_code => l_adr_value_segment_code
107572 , p_from_combination_id => l_adr_value_combination_id
107573 , p_value_type_code => l_adr_value_type_code
107574 , p_transaction_coa_id => l_adr_transaction_coa_id
107575 , p_accounting_coa_id => l_adr_accounting_coa_id
107576 , p_flexfield_segment_code => l_adr_flexfield_segment_code
107577 , p_flex_value_set_id => l_adr_flex_value_set_id
107578 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
107579 , p_adr_type_code => 'S'
107580 , p_component_type => l_component_type
107581 , p_component_code => l_component_code
107582 , p_component_type_code => l_component_type_code
107583 , p_component_appl_id => l_component_appl_id
107584 , p_amb_context_code => l_amb_context_code
107585 , p_entity_code => 'AP_PAYMENTS'
107586 , p_event_class_code => 'PAYMENTS'
107587 , p_side => 'NA'
107588 );
107589
107590 END IF;
107591
107592 --
107593 --
107594 END IF;
107595 --
107596 -- Bug 4922099
107597 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
107598 (NVL(l_enc_upg_option, 'N') = 'O')
107599 ) AND
107600 (l_bflow_method_code = 'PRIOR_ENTRY')
107601 )
107602 THEN
107603 IF
107604 --
107605 1 = 2
107606 --
107607 THEN
107608 xla_accounting_err_pkg.build_message
107609 (p_appli_s_name => 'XLA'
107610 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107611 ,p_token_1 => 'LINE_NUMBER'
107612 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
107613 ,p_token_2 => 'LINE_TYPE_NAME'
107614 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
107615 l_component_type
107616 ,l_component_code
107617 ,l_component_type_code
107618 ,l_component_appl_id
107619 ,l_amb_context_code
107620 ,l_entity_code
107621 ,l_event_class_code
107622 )
107623 ,p_token_3 => 'OWNER'
107624 ,p_value_3 => xla_lookups_pkg.get_meaning(
107625 p_lookup_type => 'XLA_OWNER_TYPE'
107626 ,p_lookup_code => l_component_type_code
107630 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
107627 )
107628 ,p_token_4 => 'PRODUCT_NAME'
107629 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
107631 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
107632 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
107633 ,p_ae_header_id => NULL
107634 );
107635
107636 IF (C_LEVEL_ERROR>= g_log_level) THEN
107637 trace
107638 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
107639 ,p_level => C_LEVEL_ERROR
107640 ,p_module => l_log_module);
107641 END IF;
107642 END IF;
107643 END IF;
107644 --
107645 --
107646 ------------------------------------------------------------------------------------------------
107647 -- 4219869 Business Flow
107648 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
107649 -- Prior Entry. Currently, the following code is always generated.
107650 ------------------------------------------------------------------------------------------------
107651 XLA_AE_LINES_PKG.ValidateCurrentLine;
107652
107653 ------------------------------------------------------------------------------------
107654 -- 4219869 Business Flow
107655 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
107656 ------------------------------------------------------------------------------------
107657 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107658
107659 ----------------------------------------------------------------------------------
107660 -- 4219869 Business Flow
107661 -- Update journal entry status -- Need to generate this within IF <condition>
107662 ----------------------------------------------------------------------------------
107663 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107664 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
107665 ,p_balance_type_code => l_balance_type_code
107666 );
107667
107668 -------------------------------------------------------------------------------------------
107669 -- 4262811 - Generate the Accrual Reversal lines
107670 -------------------------------------------------------------------------------------------
107671 BEGIN
107672 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
107673 (g_array_event(p_event_id).array_value_num('header_index'));
107674 IF l_acc_rev_flag IS NULL THEN
107675 l_acc_rev_flag := 'N';
107676 END IF;
107677 EXCEPTION
107678 WHEN OTHERS THEN
107679 l_acc_rev_flag := 'N';
107680 END;
107681 --
107682 IF (l_acc_rev_flag = 'Y') THEN
107683
107684 -- 4645092 ------------------------------------------------------------------------------
107685 -- To allow MPA report to determine if it should generate report process
107686 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
107687 ------------------------------------------------------------------------------------------
107688
107689 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
107690 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
107691 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
107692 -- call ADRs
107693 -- Bug 4922099
107694 --
107695 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
107696 (NVL(l_actual_upg_option, 'N') = 'O') OR
107697 (NVL(l_enc_upg_option, 'N') = 'O')
107698 )
107699 THEN
107700 NULL;
107701 --
107702 --
107703
107704 l_ccid := AcctDerRule_38(
107705 p_application_id => p_application_id
107706 , p_ae_header_id => l_ae_header_id
107707 , p_source_3 => p_source_3
107708 , p_source_3_meaning => p_source_3_meaning
107709 , p_source_18 => p_source_18
107710 , p_source_26 => p_source_26
107711 , p_source_27 => p_source_27
107712 , x_transaction_coa_id => l_adr_transaction_coa_id
107713 , x_accounting_coa_id => l_adr_accounting_coa_id
107714 , x_value_type_code => l_adr_value_type_code
107715 , p_side => 'NA'
107716 );
107717
107718 xla_ae_lines_pkg.set_ccid(
107719 p_code_combination_id => l_ccid
107720 , p_value_type_code => l_adr_value_type_code
107721 , p_transaction_coa_id => l_adr_transaction_coa_id
107722 , p_accounting_coa_id => l_adr_accounting_coa_id
107723 , p_adr_code => 'AP_REAL_LOSS'
107724 , p_adr_type_code => 'S'
107725 , p_component_type => l_component_type
107726 , p_component_code => l_component_code
107727 , p_component_type_code => l_component_type_code
107728 , p_component_appl_id => l_component_appl_id
107729 , p_amb_context_code => l_amb_context_code
107730 , p_side => 'NA'
107731 );
107732
107733
107734 l_segment := AcctDerRule_21(
107738 , p_source_3_meaning => p_source_3_meaning
107735 p_application_id => p_application_id
107736 , p_ae_header_id => l_ae_header_id
107737 , p_source_3 => p_source_3
107739 , p_source_18 => p_source_18
107740 , x_transaction_coa_id => l_adr_transaction_coa_id
107741 , x_accounting_coa_id => l_adr_accounting_coa_id
107742 , x_flexfield_segment_code => l_adr_flexfield_segment_code
107743 , x_flex_value_set_id => l_adr_flex_value_set_id
107744 , x_value_type_code => l_adr_value_type_code
107745 , x_value_combination_id => l_adr_value_combination_id
107746 , x_value_segment_code => l_adr_value_segment_code
107747 , p_side => 'NA'
107748 , p_override_seg_flag => 'Y'
107749 );
107750
107751 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
107752
107753 xla_ae_lines_pkg.set_segment(
107754 p_to_segment_code => 'GL_BALANCING'
107755 , p_segment_value => l_segment
107756 , p_from_segment_code => l_adr_value_segment_code
107757 , p_from_combination_id => l_adr_value_combination_id
107758 , p_value_type_code => l_adr_value_type_code
107759 , p_transaction_coa_id => l_adr_transaction_coa_id
107760 , p_accounting_coa_id => l_adr_accounting_coa_id
107761 , p_flexfield_segment_code => l_adr_flexfield_segment_code
107762 , p_flex_value_set_id => l_adr_flex_value_set_id
107763 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
107764 , p_adr_type_code => 'S'
107765 , p_component_type => l_component_type
107766 , p_component_code => l_component_code
107767 , p_component_type_code => l_component_type_code
107768 , p_component_appl_id => l_component_appl_id
107769 , p_amb_context_code => l_amb_context_code
107770 , p_entity_code => 'AP_PAYMENTS'
107771 , p_event_class_code => 'PAYMENTS'
107772 , p_side => 'NA'
107773 );
107774
107775 END IF;
107776
107777 l_segment := AcctDerRule_17(
107778 p_application_id => p_application_id
107779 , p_ae_header_id => l_ae_header_id
107780 , p_source_3 => p_source_3
107781 , p_source_3_meaning => p_source_3_meaning
107782 , p_source_26 => p_source_26
107783 , p_source_27 => p_source_27
107784 , x_transaction_coa_id => l_adr_transaction_coa_id
107785 , x_accounting_coa_id => l_adr_accounting_coa_id
107786 , x_flexfield_segment_code => l_adr_flexfield_segment_code
107787 , x_flex_value_set_id => l_adr_flex_value_set_id
107788 , x_value_type_code => l_adr_value_type_code
107789 , x_value_combination_id => l_adr_value_combination_id
107790 , x_value_segment_code => l_adr_value_segment_code
107791 , p_side => 'NA'
107792 , p_override_seg_flag => 'Y'
107793 );
107794
107795 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
107796
107797 xla_ae_lines_pkg.set_segment(
107798 p_to_segment_code => 'GL_ACCOUNT'
107799 , p_segment_value => l_segment
107800 , p_from_segment_code => l_adr_value_segment_code
107801 , p_from_combination_id => l_adr_value_combination_id
107802 , p_value_type_code => l_adr_value_type_code
107803 , p_transaction_coa_id => l_adr_transaction_coa_id
107804 , p_accounting_coa_id => l_adr_accounting_coa_id
107805 , p_flexfield_segment_code => l_adr_flexfield_segment_code
107806 , p_flex_value_set_id => l_adr_flex_value_set_id
107807 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
107808 , p_adr_type_code => 'S'
107809 , p_component_type => l_component_type
107810 , p_component_code => l_component_code
107811 , p_component_type_code => l_component_type_code
107812 , p_component_appl_id => l_component_appl_id
107813 , p_amb_context_code => l_amb_context_code
107814 , p_entity_code => 'AP_PAYMENTS'
107815 , p_event_class_code => 'PAYMENTS'
107816 , p_side => 'NA'
107817 );
107818
107819 END IF;
107820
107821 --
107822 --
107823 END IF;
107824
107825 --
107826 -- Update the line information that should be overwritten
107827 --
107828 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
107829 p_header_num => 1);
107830 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
107831
107832 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
107833
107834 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
107835 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
107836 END IF;
107837
107838 --
107839 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
107840 --
107841 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
107842 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
107843 ELSE
107847 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
107844 ---------------------------------------------------------------------------------------------------
107845 -- 4262811a Switch Sign
107846 ---------------------------------------------------------------------------------------------------
107848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107850 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
107851 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107852 -- 5132302
107853 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
107854 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
107855
107856 END IF;
107857
107858 -- 4955764
107859 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
107860 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
107861
107862
107863 XLA_AE_LINES_PKG.ValidateCurrentLine;
107864 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
107865
107866 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
107867 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
107868 ,p_balance_type_code => l_balance_type_code);
107869
107870 END IF;
107871
107872 -----------------------------------------------------------------------------------------
107873 -- 4262811 Multiperiod Accounting
107874 -----------------------------------------------------------------------------------------
107875 -- No MPA option is assigned.
107876
107877
107878 END IF;
107879 END IF;
107880 --
107881
107882 --
107883 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
107884 trace
107885 (p_msg => 'END of AcctLineType_185'
107886 ,p_level => C_LEVEL_PROCEDURE
107887 ,p_module => l_log_module);
107888 END IF;
107889 --
107890 EXCEPTION
107891 WHEN xla_exceptions_pkg.application_exception THEN
107892 RAISE;
107893 WHEN OTHERS THEN
107894 xla_exceptions_pkg.raise_message
107895 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_185');
107896 END AcctLineType_185;
107897 --
107898
107899 ---------------------------------------
107900 --
107901 -- PRIVATE FUNCTION
107902 -- AcctLineType_186
107903 --
107904 ---------------------------------------
107905 PROCEDURE AcctLineType_186 (
107906 p_application_id IN NUMBER
107907 ,p_event_id IN NUMBER
107908 ,p_calculate_acctd_flag IN VARCHAR2
107909 ,p_calculate_g_l_flag IN VARCHAR2
107910 ,p_actual_flag IN OUT VARCHAR2
107911 ,p_balance_type_code OUT VARCHAR2
107912 ,p_gain_or_loss_ref OUT VARCHAR2
107913
107914 --Automatic Offsets Value
107915 , p_source_3 IN VARCHAR2
107916 , p_source_3_meaning IN VARCHAR2
107917 --Invoice Distribution Account
107918 , p_source_18 IN NUMBER
107919 --Internal Realized Loss Account
107920 , p_source_26 IN NUMBER
107921 --Bank Loss Account
107922 , p_source_27 IN NUMBER
107923 --Accounting Reversal Indicator
107924 , p_source_41 IN VARCHAR2
107925 --Distribution Link Type
107926 , p_source_43 IN VARCHAR2
107927 --Override Accounted Amount Indicator
107928 , p_source_68 IN VARCHAR2
107929 , p_source_68_meaning IN VARCHAR2
107930 --Third Party Type
107931 , p_source_71 IN VARCHAR2
107932 --Invoice Distribution Tax Line Identifier
107933 , p_source_74 IN NUMBER
107934 --Invoice Distribution Summary Tax Line Identifier
107935 , p_source_76 IN NUMBER
107936 --Business Flow Accounts Payable Application Identifier
107937 , p_source_79 IN NUMBER
107938 --When to Account for Payment Option
107939 , p_source_89 IN VARCHAR2
107940 --Payment Distribution Type
107941 , p_source_90 IN VARCHAR2
107942 , p_source_90_meaning IN VARCHAR2
107943 --Payment Distribution Amount
107944 , p_source_91 IN NUMBER
107945 --Business Flow Payment Distribution Type
107946 , p_source_92 IN VARCHAR2
107947 --Business Flow Payment Entity Code
107948 , p_source_93 IN VARCHAR2
107949 --Business Flow Payment Distribution Identifier
107950 , p_source_94 IN NUMBER
107951 --Business Flow Payment Identifier
107952 , p_source_95 IN NUMBER
107953 --Payment Distribution Identifier
107954 , p_source_96 IN NUMBER
107955 --Cleared Exchange Date
107956 , p_source_98 IN DATE
107957 --Cleared Exchange Rate
107958 , p_source_99 IN NUMBER
107959 --Cleared Exchange Rate Type
107960 , p_source_100 IN VARCHAR2
107961 --Payment Supplier Identifier
107962 , p_source_102 IN NUMBER
107963 --Payment Supplier Site Identifier
107964 , p_source_103 IN NUMBER
107965 --Payment Distribution Reversed Identifier
107966 , p_source_104 IN NUMBER
107967 --Payment Currency Code
107968 , p_source_106 IN VARCHAR2
107969 --Payment Maturity Date
107970 , p_source_107 IN DATE
107971 --Gain or Loss Indicator between Payment and Clearing
107972 , p_source_154 IN VARCHAR2
107973 --Payment/Clearing Ledger Amount Difference
107977
107974 , p_source_155 IN NUMBER
107975 )
107976 IS
107978 l_component_type VARCHAR2(80);
107979 l_component_code VARCHAR2(30);
107980 l_component_type_code VARCHAR2(1);
107981 l_component_appl_id INTEGER;
107982 l_amb_context_code VARCHAR2(30);
107983 l_entity_code VARCHAR2(30);
107984 l_event_class_code VARCHAR2(30);
107985 l_ae_header_id NUMBER;
107986 l_event_type_code VARCHAR2(30);
107987 l_line_definition_code VARCHAR2(30);
107988 l_line_definition_owner_code VARCHAR2(1);
107989 --
107990 -- adr variables
107991 l_segment VARCHAR2(30);
107992 l_ccid NUMBER;
107993 l_adr_transaction_coa_id NUMBER;
107994 l_adr_accounting_coa_id NUMBER;
107995 l_adr_flexfield_segment_code VARCHAR2(30);
107996 l_adr_flex_value_set_id NUMBER;
107997 l_adr_value_type_code VARCHAR2(30);
107998 l_adr_value_combination_id NUMBER;
107999 l_adr_value_segment_code VARCHAR2(30);
108000
108001 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
108002 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
108003 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
108004 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
108005
108006 -- 4262811 Variables ------------------------------------------------------------------------------------------
108007 l_entered_amt_idx NUMBER;
108008 l_accted_amt_idx NUMBER;
108009 l_acc_rev_flag VARCHAR2(1);
108010 l_accrual_line_num NUMBER;
108011 l_tmp_amt NUMBER;
108012 l_acc_rev_natural_side_code VARCHAR2(1);
108013
108014 l_num_entries NUMBER;
108015 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
108016 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
108017 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
108018 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
108019 l_recog_line_1 NUMBER;
108020 l_recog_line_2 NUMBER;
108021
108022 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
108023 l_bflow_applied_to_amt NUMBER; -- 5132302
108024 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
108025
108026 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
108027
108028 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
108029 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
108030
108031 ---------------------------------------------------------------------------------------------------------------
108032
108033
108034 --
108035 -- bulk performance
108036 --
108037 l_balance_type_code VARCHAR2(1);
108038 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
108039 l_log_module VARCHAR2(240);
108040
108041 --
108042 -- Upgrade strategy
108043 --
108044 l_actual_upg_option VARCHAR2(1);
108045 l_enc_upg_option VARCHAR2(1);
108046
108047 --
108048 BEGIN
108049 --
108050 IF g_log_enabled THEN
108051 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_186';
108052 END IF;
108053 --
108054 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108055
108056 trace
108057 (p_msg => 'BEGIN of AcctLineType_186'
108058 ,p_level => C_LEVEL_PROCEDURE
108059 ,p_module => l_log_module);
108060
108061 END IF;
108062 --
108063 l_component_type := 'AMB_JLT';
108064 l_component_code := 'AP_LOSS_PMT_CLEAR';
108065 l_component_type_code := 'S';
108066 l_component_appl_id := 200;
108067 l_amb_context_code := 'DEFAULT';
108068 l_entity_code := 'AP_PAYMENTS';
108069 l_event_class_code := 'RECONCILED PAYMENTS';
108070 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
108071 l_line_definition_owner_code := 'S';
108072 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
108073 --
108074 l_balance_type_code := 'A';
108075 l_segment := NULL;
108076 l_ccid := NULL;
108077 l_adr_transaction_coa_id := NULL;
108078 l_adr_accounting_coa_id := NULL;
108079 l_adr_flexfield_segment_code := NULL;
108080 l_adr_flex_value_set_id := NULL;
108081 l_adr_value_type_code := NULL;
108082 l_adr_value_combination_id := NULL;
108083 l_adr_value_segment_code := NULL;
108084
108085 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108086 l_bflow_class_code := ''; -- 4219869 Business Flow
108087 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108088 l_budgetary_control_flag := 'N';
108089
108090 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108091 l_bflow_applied_to_amt := NULL; -- 5132302
108092 l_entered_amt_idx := NULL; -- 4262811
108093 l_accted_amt_idx := NULL; -- 4262811
108094 l_acc_rev_flag := NULL; -- 4262811
108095 l_accrual_line_num := NULL; -- 4262811
108096 l_tmp_amt := NULL; -- 4262811
108097 --
108098 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
108102
108099 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
108100 return;
108101 END IF;
108103 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108104 l_balance_type_code <> 'B' THEN
108105 IF NVL(p_source_89,'
108106 ') = 'ALWAYS_ALWAYS' AND
108107 p_source_107 IS NULL AND
108108 NVL(p_source_154,'
108109 ') = 'LOSS' AND
108110 NVL(p_source_90,'
108111 ') <> 'EXCHANGE RATE VARIANCE' AND
108112 NVL(p_source_90,'
108113 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
108114 NVL(p_source_90,'
108115 ') <> 'BANK CHARGE' AND
108116 NVL(p_source_90,'
108117 ') <> 'BANK ERROR' AND
108118 NVL(p_source_90,'
108119 ') <> 'AWT'
108120 THEN
108121
108122 --
108123 XLA_AE_LINES_PKG.SetNewLine;
108124
108125 p_balance_type_code := l_balance_type_code;
108126 -- set the flag so later we will know whether the gain loss line needs to be created
108127
108128 IF(l_balance_type_code = 'A' ) THEN
108129 p_actual_flag :='G';
108130 END IF;
108131
108132 --
108133 -- bulk performance
108134 --
108135 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108136 p_header_num => 0); -- 4262811
108137 --
108138 -- set accounting line options
108139 --
108140 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108141 p_natural_side_code => 'C'
108142 , p_gain_or_loss_flag => 'Y'
108143 , p_gl_transfer_mode_code => 'S'
108144 , p_acct_entry_type_code => 'A'
108145 , p_switch_side_flag => 'Y'
108146 , p_merge_duplicate_code => 'A'
108147 );
108148 --
108149 l_acc_rev_natural_side_code := 'D'; -- 4262811
108150 --
108151 --
108152 -- set accounting line type info
108153 --
108154 xla_ae_lines_pkg.SetAcctLineType
108155 (p_component_type => l_component_type
108156 ,p_event_type_code => l_event_type_code
108157 ,p_line_definition_owner_code => l_line_definition_owner_code
108158 ,p_line_definition_code => l_line_definition_code
108159 ,p_accounting_line_code => l_component_code
108160 ,p_accounting_line_type_code => l_component_type_code
108161 ,p_accounting_line_appl_id => l_component_appl_id
108162 ,p_amb_context_code => l_amb_context_code
108163 ,p_entity_code => l_entity_code
108164 ,p_event_class_code => l_event_class_code);
108165 --
108166 -- set accounting class
108167 --
108168 xla_ae_lines_pkg.SetAcctClass(
108169 p_accounting_class_code => 'LOSS'
108170 , p_ae_header_id => l_ae_header_id
108171 );
108172
108173 --
108174 -- set rounding class
108175 --
108176 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
108177 'LOSS';
108178
108179 --
108180 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
108181 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
108182 --
108183 -- bulk performance
108184 --
108185 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
108186
108187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
108188 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
108189
108190 -- 4955764
108191 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108192 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
108193
108194 -- 4458381 Public Sector Enh
108195
108196 --
108197 -- set accounting attributes for the line type
108198 --
108199 l_entered_amt_idx := 10;
108200 l_accted_amt_idx := 15;
108201 l_bflow_applied_to_amt_idx := 2; -- 5132302
108202 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
108203 l_rec_acct_attrs.array_char_value(1) := p_source_41;
108204 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
108205 l_rec_acct_attrs.array_num_value(2) := p_source_91;
108206 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
108207 l_rec_acct_attrs.array_num_value(3) := p_source_79;
108208 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
108209 l_rec_acct_attrs.array_char_value(4) := p_source_92;
108210 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
108211 l_rec_acct_attrs.array_char_value(5) := p_source_93;
108212 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
108213 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
108214 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
108215 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
108216 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
108217 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
108218 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
108219 l_rec_acct_attrs.array_char_value(9) := p_source_43;
108220 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
108221 l_rec_acct_attrs.array_num_value(10) := p_source_91;
108225 l_rec_acct_attrs.array_date_value(12) := p_source_98;
108222 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
108223 l_rec_acct_attrs.array_char_value(11) := p_source_106;
108224 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
108226 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
108227 l_rec_acct_attrs.array_num_value(13) := p_source_99;
108228 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
108229 l_rec_acct_attrs.array_char_value(14) := p_source_100;
108230 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
108231 l_rec_acct_attrs.array_num_value(15) := p_source_155;
108232 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
108233 l_rec_acct_attrs.array_char_value(16) := p_source_68;
108234 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
108235 l_rec_acct_attrs.array_num_value(17) := p_source_102;
108236 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
108237 l_rec_acct_attrs.array_num_value(18) := p_source_103;
108238 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
108239 l_rec_acct_attrs.array_char_value(19) := p_source_71;
108240 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
108241 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
108242 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
108243 l_rec_acct_attrs.array_char_value(21) := p_source_43;
108244 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
108245 l_rec_acct_attrs.array_num_value(22) := p_source_74;
108246 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
108247 l_rec_acct_attrs.array_num_value(23) := p_source_74;
108248 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
108249 l_rec_acct_attrs.array_num_value(24) := p_source_76;
108250
108251 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
108252 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
108253
108254 ---------------------------------------------------------------------------------------------------------------
108255 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
108256 ---------------------------------------------------------------------------------------------------------------
108257 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
108258
108259 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108260 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
108261
108262 IF xla_accounting_cache_pkg.GetValueChar
108263 (p_source_code => 'LEDGER_CATEGORY_CODE'
108264 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
108265 AND l_bflow_method_code = 'PRIOR_ENTRY'
108266 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
108267 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
108268 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
108269 )
108270 THEN
108271 xla_ae_lines_pkg.BflowUpgEntry
108272 (p_business_method_code => l_bflow_method_code
108273 ,p_business_class_code => l_bflow_class_code
108274 ,p_balance_type => l_balance_type_code);
108275 ELSE
108276 NULL;
108277 -- No business flow processing for business flow method of NONE.
108278 END IF;
108279
108280 --
108281 -- call analytical criteria
108282 --
108283
108284 --
108285 -- call description
108286 --
108287 -- No description or it is inherited.
108288 --
108289 -- call ADRs
108290 -- Bug 4922099
108291 --
108292 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108293 (NVL(l_actual_upg_option, 'N') = 'O') OR
108294 (NVL(l_enc_upg_option, 'N') = 'O')
108295 )
108296 THEN
108297 NULL;
108298 --
108299 --
108300
108301 l_ccid := AcctDerRule_38(
108302 p_application_id => p_application_id
108303 , p_ae_header_id => l_ae_header_id
108304 , p_source_3 => p_source_3
108305 , p_source_3_meaning => p_source_3_meaning
108306 , p_source_18 => p_source_18
108307 , p_source_26 => p_source_26
108308 , p_source_27 => p_source_27
108309 , x_transaction_coa_id => l_adr_transaction_coa_id
108310 , x_accounting_coa_id => l_adr_accounting_coa_id
108311 , x_value_type_code => l_adr_value_type_code
108312 , p_side => 'NA'
108313 );
108314
108315 xla_ae_lines_pkg.set_ccid(
108316 p_code_combination_id => l_ccid
108317 , p_value_type_code => l_adr_value_type_code
108318 , p_transaction_coa_id => l_adr_transaction_coa_id
108319 , p_accounting_coa_id => l_adr_accounting_coa_id
108320 , p_adr_code => 'AP_REAL_LOSS'
108321 , p_adr_type_code => 'S'
108322 , p_component_type => l_component_type
108323 , p_component_code => l_component_code
108324 , p_component_type_code => l_component_type_code
108325 , p_component_appl_id => l_component_appl_id
108326 , p_amb_context_code => l_amb_context_code
108327 , p_side => 'NA'
108328 );
108329
108333 , p_ae_header_id => l_ae_header_id
108330
108331 l_segment := AcctDerRule_21(
108332 p_application_id => p_application_id
108334 , p_source_3 => p_source_3
108335 , p_source_3_meaning => p_source_3_meaning
108336 , p_source_18 => p_source_18
108337 , x_transaction_coa_id => l_adr_transaction_coa_id
108338 , x_accounting_coa_id => l_adr_accounting_coa_id
108339 , x_flexfield_segment_code => l_adr_flexfield_segment_code
108340 , x_flex_value_set_id => l_adr_flex_value_set_id
108341 , x_value_type_code => l_adr_value_type_code
108342 , x_value_combination_id => l_adr_value_combination_id
108343 , x_value_segment_code => l_adr_value_segment_code
108344 , p_side => 'NA'
108345 , p_override_seg_flag => 'Y'
108346 );
108347
108348 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
108349
108350 xla_ae_lines_pkg.set_segment(
108351 p_to_segment_code => 'GL_BALANCING'
108352 , p_segment_value => l_segment
108353 , p_from_segment_code => l_adr_value_segment_code
108354 , p_from_combination_id => l_adr_value_combination_id
108355 , p_value_type_code => l_adr_value_type_code
108356 , p_transaction_coa_id => l_adr_transaction_coa_id
108357 , p_accounting_coa_id => l_adr_accounting_coa_id
108358 , p_flexfield_segment_code => l_adr_flexfield_segment_code
108359 , p_flex_value_set_id => l_adr_flex_value_set_id
108360 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
108361 , p_adr_type_code => 'S'
108362 , p_component_type => l_component_type
108363 , p_component_code => l_component_code
108364 , p_component_type_code => l_component_type_code
108365 , p_component_appl_id => l_component_appl_id
108366 , p_amb_context_code => l_amb_context_code
108367 , p_entity_code => 'AP_PAYMENTS'
108368 , p_event_class_code => 'RECONCILED PAYMENTS'
108369 , p_side => 'NA'
108370 );
108371
108372 END IF;
108373
108374 l_segment := AcctDerRule_17(
108375 p_application_id => p_application_id
108376 , p_ae_header_id => l_ae_header_id
108377 , p_source_3 => p_source_3
108378 , p_source_3_meaning => p_source_3_meaning
108379 , p_source_26 => p_source_26
108380 , p_source_27 => p_source_27
108381 , x_transaction_coa_id => l_adr_transaction_coa_id
108382 , x_accounting_coa_id => l_adr_accounting_coa_id
108383 , x_flexfield_segment_code => l_adr_flexfield_segment_code
108384 , x_flex_value_set_id => l_adr_flex_value_set_id
108385 , x_value_type_code => l_adr_value_type_code
108386 , x_value_combination_id => l_adr_value_combination_id
108387 , x_value_segment_code => l_adr_value_segment_code
108388 , p_side => 'NA'
108389 , p_override_seg_flag => 'Y'
108390 );
108391
108392 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
108393
108394 xla_ae_lines_pkg.set_segment(
108395 p_to_segment_code => 'GL_ACCOUNT'
108396 , p_segment_value => l_segment
108397 , p_from_segment_code => l_adr_value_segment_code
108398 , p_from_combination_id => l_adr_value_combination_id
108399 , p_value_type_code => l_adr_value_type_code
108400 , p_transaction_coa_id => l_adr_transaction_coa_id
108401 , p_accounting_coa_id => l_adr_accounting_coa_id
108402 , p_flexfield_segment_code => l_adr_flexfield_segment_code
108403 , p_flex_value_set_id => l_adr_flex_value_set_id
108404 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
108405 , p_adr_type_code => 'S'
108406 , p_component_type => l_component_type
108407 , p_component_code => l_component_code
108408 , p_component_type_code => l_component_type_code
108409 , p_component_appl_id => l_component_appl_id
108410 , p_amb_context_code => l_amb_context_code
108411 , p_entity_code => 'AP_PAYMENTS'
108412 , p_event_class_code => 'RECONCILED PAYMENTS'
108413 , p_side => 'NA'
108414 );
108415
108416 END IF;
108417
108418 --
108419 --
108420 END IF;
108421 --
108422 -- Bug 4922099
108423 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
108424 (NVL(l_enc_upg_option, 'N') = 'O')
108425 ) AND
108426 (l_bflow_method_code = 'PRIOR_ENTRY')
108427 )
108428 THEN
108429 IF
108430 --
108431 1 = 2
108432 --
108433 THEN
108434 xla_accounting_err_pkg.build_message
108435 (p_appli_s_name => 'XLA'
108436 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108437 ,p_token_1 => 'LINE_NUMBER'
108438 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
108439 ,p_token_2 => 'LINE_TYPE_NAME'
108440 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
108444 ,l_component_appl_id
108441 l_component_type
108442 ,l_component_code
108443 ,l_component_type_code
108445 ,l_amb_context_code
108446 ,l_entity_code
108447 ,l_event_class_code
108448 )
108449 ,p_token_3 => 'OWNER'
108450 ,p_value_3 => xla_lookups_pkg.get_meaning(
108451 p_lookup_type => 'XLA_OWNER_TYPE'
108452 ,p_lookup_code => l_component_type_code
108453 )
108454 ,p_token_4 => 'PRODUCT_NAME'
108455 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
108456 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
108457 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
108458 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
108459 ,p_ae_header_id => NULL
108460 );
108461
108462 IF (C_LEVEL_ERROR>= g_log_level) THEN
108463 trace
108464 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
108465 ,p_level => C_LEVEL_ERROR
108466 ,p_module => l_log_module);
108467 END IF;
108468 END IF;
108469 END IF;
108470 --
108471 --
108472 ------------------------------------------------------------------------------------------------
108473 -- 4219869 Business Flow
108474 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
108475 -- Prior Entry. Currently, the following code is always generated.
108476 ------------------------------------------------------------------------------------------------
108477 XLA_AE_LINES_PKG.ValidateCurrentLine;
108478
108479 ------------------------------------------------------------------------------------
108480 -- 4219869 Business Flow
108481 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
108482 ------------------------------------------------------------------------------------
108483 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108484
108485 ----------------------------------------------------------------------------------
108486 -- 4219869 Business Flow
108487 -- Update journal entry status -- Need to generate this within IF <condition>
108488 ----------------------------------------------------------------------------------
108489 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108490 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
108491 ,p_balance_type_code => l_balance_type_code
108492 );
108493
108494 -------------------------------------------------------------------------------------------
108495 -- 4262811 - Generate the Accrual Reversal lines
108496 -------------------------------------------------------------------------------------------
108497 BEGIN
108498 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
108499 (g_array_event(p_event_id).array_value_num('header_index'));
108500 IF l_acc_rev_flag IS NULL THEN
108501 l_acc_rev_flag := 'N';
108502 END IF;
108503 EXCEPTION
108504 WHEN OTHERS THEN
108505 l_acc_rev_flag := 'N';
108506 END;
108507 --
108508 IF (l_acc_rev_flag = 'Y') THEN
108509
108510 -- 4645092 ------------------------------------------------------------------------------
108511 -- To allow MPA report to determine if it should generate report process
108512 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
108513 ------------------------------------------------------------------------------------------
108514
108515 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
108516 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
108517 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
108518 -- call ADRs
108519 -- Bug 4922099
108520 --
108521 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
108522 (NVL(l_actual_upg_option, 'N') = 'O') OR
108523 (NVL(l_enc_upg_option, 'N') = 'O')
108524 )
108525 THEN
108526 NULL;
108527 --
108528 --
108529
108530 l_ccid := AcctDerRule_38(
108531 p_application_id => p_application_id
108532 , p_ae_header_id => l_ae_header_id
108533 , p_source_3 => p_source_3
108534 , p_source_3_meaning => p_source_3_meaning
108535 , p_source_18 => p_source_18
108536 , p_source_26 => p_source_26
108537 , p_source_27 => p_source_27
108541 , p_side => 'NA'
108538 , x_transaction_coa_id => l_adr_transaction_coa_id
108539 , x_accounting_coa_id => l_adr_accounting_coa_id
108540 , x_value_type_code => l_adr_value_type_code
108542 );
108543
108544 xla_ae_lines_pkg.set_ccid(
108545 p_code_combination_id => l_ccid
108546 , p_value_type_code => l_adr_value_type_code
108547 , p_transaction_coa_id => l_adr_transaction_coa_id
108548 , p_accounting_coa_id => l_adr_accounting_coa_id
108549 , p_adr_code => 'AP_REAL_LOSS'
108550 , p_adr_type_code => 'S'
108551 , p_component_type => l_component_type
108552 , p_component_code => l_component_code
108553 , p_component_type_code => l_component_type_code
108554 , p_component_appl_id => l_component_appl_id
108555 , p_amb_context_code => l_amb_context_code
108556 , p_side => 'NA'
108557 );
108558
108559
108560 l_segment := AcctDerRule_21(
108561 p_application_id => p_application_id
108562 , p_ae_header_id => l_ae_header_id
108563 , p_source_3 => p_source_3
108564 , p_source_3_meaning => p_source_3_meaning
108565 , p_source_18 => p_source_18
108566 , x_transaction_coa_id => l_adr_transaction_coa_id
108567 , x_accounting_coa_id => l_adr_accounting_coa_id
108568 , x_flexfield_segment_code => l_adr_flexfield_segment_code
108569 , x_flex_value_set_id => l_adr_flex_value_set_id
108570 , x_value_type_code => l_adr_value_type_code
108571 , x_value_combination_id => l_adr_value_combination_id
108572 , x_value_segment_code => l_adr_value_segment_code
108573 , p_side => 'NA'
108574 , p_override_seg_flag => 'Y'
108575 );
108576
108577 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
108578
108579 xla_ae_lines_pkg.set_segment(
108580 p_to_segment_code => 'GL_BALANCING'
108581 , p_segment_value => l_segment
108582 , p_from_segment_code => l_adr_value_segment_code
108583 , p_from_combination_id => l_adr_value_combination_id
108584 , p_value_type_code => l_adr_value_type_code
108585 , p_transaction_coa_id => l_adr_transaction_coa_id
108586 , p_accounting_coa_id => l_adr_accounting_coa_id
108587 , p_flexfield_segment_code => l_adr_flexfield_segment_code
108588 , p_flex_value_set_id => l_adr_flex_value_set_id
108589 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
108590 , p_adr_type_code => 'S'
108591 , p_component_type => l_component_type
108592 , p_component_code => l_component_code
108593 , p_component_type_code => l_component_type_code
108594 , p_component_appl_id => l_component_appl_id
108595 , p_amb_context_code => l_amb_context_code
108596 , p_entity_code => 'AP_PAYMENTS'
108597 , p_event_class_code => 'RECONCILED PAYMENTS'
108598 , p_side => 'NA'
108599 );
108600
108601 END IF;
108602
108603 l_segment := AcctDerRule_17(
108604 p_application_id => p_application_id
108605 , p_ae_header_id => l_ae_header_id
108606 , p_source_3 => p_source_3
108607 , p_source_3_meaning => p_source_3_meaning
108608 , p_source_26 => p_source_26
108609 , p_source_27 => p_source_27
108610 , x_transaction_coa_id => l_adr_transaction_coa_id
108611 , x_accounting_coa_id => l_adr_accounting_coa_id
108612 , x_flexfield_segment_code => l_adr_flexfield_segment_code
108613 , x_flex_value_set_id => l_adr_flex_value_set_id
108614 , x_value_type_code => l_adr_value_type_code
108615 , x_value_combination_id => l_adr_value_combination_id
108616 , x_value_segment_code => l_adr_value_segment_code
108617 , p_side => 'NA'
108618 , p_override_seg_flag => 'Y'
108619 );
108620
108621 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
108622
108623 xla_ae_lines_pkg.set_segment(
108624 p_to_segment_code => 'GL_ACCOUNT'
108625 , p_segment_value => l_segment
108626 , p_from_segment_code => l_adr_value_segment_code
108627 , p_from_combination_id => l_adr_value_combination_id
108628 , p_value_type_code => l_adr_value_type_code
108629 , p_transaction_coa_id => l_adr_transaction_coa_id
108630 , p_accounting_coa_id => l_adr_accounting_coa_id
108631 , p_flexfield_segment_code => l_adr_flexfield_segment_code
108632 , p_flex_value_set_id => l_adr_flex_value_set_id
108633 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
108634 , p_adr_type_code => 'S'
108635 , p_component_type => l_component_type
108636 , p_component_code => l_component_code
108637 , p_component_type_code => l_component_type_code
108638 , p_component_appl_id => l_component_appl_id
108639 , p_amb_context_code => l_amb_context_code
108640 , p_entity_code => 'AP_PAYMENTS'
108641 , p_event_class_code => 'RECONCILED PAYMENTS'
108642 , p_side => 'NA'
108643 );
108644
108645 END IF;
108646
108647 --
108648 --
108649 END IF;
108650
108651 --
108655 p_header_num => 1);
108652 -- Update the line information that should be overwritten
108653 --
108654 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
108656 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
108657
108658 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
108659
108660 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
108661 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
108662 END IF;
108663
108664 --
108665 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
108666 --
108667 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
108668 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
108669 ELSE
108670 ---------------------------------------------------------------------------------------------------
108671 -- 4262811a Switch Sign
108672 ---------------------------------------------------------------------------------------------------
108673 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
108674 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108675 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108676 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
108677 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108678 -- 5132302
108679 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
108680 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
108681
108682 END IF;
108683
108684 -- 4955764
108685 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
108686 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
108687
108688
108689 XLA_AE_LINES_PKG.ValidateCurrentLine;
108690 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
108691
108692 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
108693 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
108694 ,p_balance_type_code => l_balance_type_code);
108695
108696 END IF;
108697
108698 -----------------------------------------------------------------------------------------
108699 -- 4262811 Multiperiod Accounting
108700 -----------------------------------------------------------------------------------------
108701 -- No MPA option is assigned.
108702
108703
108704 END IF;
108705 END IF;
108706 --
108707
108708 --
108709 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108710 trace
108711 (p_msg => 'END of AcctLineType_186'
108712 ,p_level => C_LEVEL_PROCEDURE
108713 ,p_module => l_log_module);
108714 END IF;
108715 --
108716 EXCEPTION
108717 WHEN xla_exceptions_pkg.application_exception THEN
108718 RAISE;
108719 WHEN OTHERS THEN
108720 xla_exceptions_pkg.raise_message
108721 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_186');
108722 END AcctLineType_186;
108723 --
108724
108725 ---------------------------------------
108726 --
108727 -- PRIVATE FUNCTION
108728 -- AcctLineType_187
108729 --
108730 ---------------------------------------
108731 PROCEDURE AcctLineType_187 (
108732 p_application_id IN NUMBER
108733 ,p_event_id IN NUMBER
108734 ,p_calculate_acctd_flag IN VARCHAR2
108735 ,p_calculate_g_l_flag IN VARCHAR2
108736 ,p_actual_flag IN OUT VARCHAR2
108737 ,p_balance_type_code OUT VARCHAR2
108738 ,p_gain_or_loss_ref OUT VARCHAR2
108739
108740 --Automatic Offsets Value
108741 , p_source_3 IN VARCHAR2
108742 , p_source_3_meaning IN VARCHAR2
108743 --Invoice Distribution Account
108744 , p_source_18 IN NUMBER
108745 --Internal Realized Loss Account
108746 , p_source_26 IN NUMBER
108747 --Bank Loss Account
108748 , p_source_27 IN NUMBER
108749 --Accounting Reversal Indicator
108750 , p_source_41 IN VARCHAR2
108751 --Distribution Link Type
108752 , p_source_43 IN VARCHAR2
108753 --Override Accounted Amount Indicator
108754 , p_source_68 IN VARCHAR2
108755 , p_source_68_meaning IN VARCHAR2
108756 --Third Party Type
108757 , p_source_71 IN VARCHAR2
108758 --Business Flow Accounts Payable Application Identifier
108759 , p_source_79 IN NUMBER
108760 --When to Account for Payment Option
108761 , p_source_89 IN VARCHAR2
108762 --Payment Distribution Type
108763 , p_source_90 IN VARCHAR2
108764 , p_source_90_meaning IN VARCHAR2
108765 --Payment Distribution Amount
108766 , p_source_91 IN NUMBER
108767 --Business Flow Payment Distribution Type
108768 , p_source_92 IN VARCHAR2
108769 --Business Flow Payment Entity Code
108770 , p_source_93 IN VARCHAR2
108771 --Business Flow Payment Distribution Identifier
108772 , p_source_94 IN NUMBER
108773 --Business Flow Payment Identifier
108777 --Payment Supplier Identifier
108774 , p_source_95 IN NUMBER
108775 --Payment Distribution Identifier
108776 , p_source_96 IN NUMBER
108778 , p_source_102 IN NUMBER
108779 --Payment Supplier Site Identifier
108780 , p_source_103 IN NUMBER
108781 --Payment Distribution Reversed Identifier
108782 , p_source_104 IN NUMBER
108783 --Payment Currency Code
108784 , p_source_106 IN VARCHAR2
108785 --Payment Maturity Date
108786 , p_source_107 IN DATE
108787 --Payment Exchange Date
108788 , p_source_110 IN DATE
108789 --Payment Exchange Rate
108790 , p_source_111 IN NUMBER
108791 --Payment Exchange Rate Type
108792 , p_source_112 IN VARCHAR2
108793 --Payment/Maturity Ledger Amount Difference
108794 , p_source_149 IN NUMBER
108795 --Gain or Loss Indicator between Payment and Maturity
108796 , p_source_156 IN VARCHAR2
108797 )
108798 IS
108799
108800 l_component_type VARCHAR2(80);
108801 l_component_code VARCHAR2(30);
108802 l_component_type_code VARCHAR2(1);
108803 l_component_appl_id INTEGER;
108804 l_amb_context_code VARCHAR2(30);
108805 l_entity_code VARCHAR2(30);
108806 l_event_class_code VARCHAR2(30);
108807 l_ae_header_id NUMBER;
108808 l_event_type_code VARCHAR2(30);
108809 l_line_definition_code VARCHAR2(30);
108810 l_line_definition_owner_code VARCHAR2(1);
108811 --
108812 -- adr variables
108813 l_segment VARCHAR2(30);
108814 l_ccid NUMBER;
108815 l_adr_transaction_coa_id NUMBER;
108816 l_adr_accounting_coa_id NUMBER;
108817 l_adr_flexfield_segment_code VARCHAR2(30);
108818 l_adr_flex_value_set_id NUMBER;
108819 l_adr_value_type_code VARCHAR2(30);
108820 l_adr_value_combination_id NUMBER;
108821 l_adr_value_segment_code VARCHAR2(30);
108822
108823 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
108824 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
108825 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
108826 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
108827
108828 -- 4262811 Variables ------------------------------------------------------------------------------------------
108829 l_entered_amt_idx NUMBER;
108830 l_accted_amt_idx NUMBER;
108831 l_acc_rev_flag VARCHAR2(1);
108832 l_accrual_line_num NUMBER;
108833 l_tmp_amt NUMBER;
108834 l_acc_rev_natural_side_code VARCHAR2(1);
108835
108836 l_num_entries NUMBER;
108837 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
108838 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
108839 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
108840 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
108841 l_recog_line_1 NUMBER;
108842 l_recog_line_2 NUMBER;
108843
108844 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
108845 l_bflow_applied_to_amt NUMBER; -- 5132302
108846 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
108847
108848 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
108849
108850 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
108851 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
108852
108853 ---------------------------------------------------------------------------------------------------------------
108854
108855
108856 --
108857 -- bulk performance
108858 --
108859 l_balance_type_code VARCHAR2(1);
108860 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
108861 l_log_module VARCHAR2(240);
108862
108863 --
108864 -- Upgrade strategy
108865 --
108866 l_actual_upg_option VARCHAR2(1);
108867 l_enc_upg_option VARCHAR2(1);
108868
108869 --
108870 BEGIN
108871 --
108872 IF g_log_enabled THEN
108873 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_187';
108874 END IF;
108875 --
108876 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
108877
108878 trace
108879 (p_msg => 'BEGIN of AcctLineType_187'
108880 ,p_level => C_LEVEL_PROCEDURE
108881 ,p_module => l_log_module);
108882
108883 END IF;
108884 --
108885 l_component_type := 'AMB_JLT';
108886 l_component_code := 'AP_LOSS_PMT_MAT';
108887 l_component_type_code := 'S';
108888 l_component_appl_id := 200;
108889 l_amb_context_code := 'DEFAULT';
108890 l_entity_code := 'AP_PAYMENTS';
108891 l_event_class_code := 'FUTURE DATED PAYMENTS';
108892 l_event_type_code := 'FUTURE DATED PAYMENTS_ALL';
108893 l_line_definition_owner_code := 'S';
108894 l_line_definition_code := 'ACCRUAL_FUTURE DATED PAYMENTS1';
108895 --
108896 l_balance_type_code := 'A';
108897 l_segment := NULL;
108898 l_ccid := NULL;
108899 l_adr_transaction_coa_id := NULL;
108900 l_adr_accounting_coa_id := NULL;
108901 l_adr_flexfield_segment_code := NULL;
108902 l_adr_flex_value_set_id := NULL;
108903 l_adr_value_type_code := NULL;
108907 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
108904 l_adr_value_combination_id := NULL;
108905 l_adr_value_segment_code := NULL;
108906
108908 l_bflow_class_code := ''; -- 4219869 Business Flow
108909 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
108910 l_budgetary_control_flag := 'N';
108911
108912 l_bflow_applied_to_amt_idx := NULL; -- 5132302
108913 l_bflow_applied_to_amt := NULL; -- 5132302
108914 l_entered_amt_idx := NULL; -- 4262811
108915 l_accted_amt_idx := NULL; -- 4262811
108916 l_acc_rev_flag := NULL; -- 4262811
108917 l_accrual_line_num := NULL; -- 4262811
108918 l_tmp_amt := NULL; -- 4262811
108919 --
108920 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
108921 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
108922 return;
108923 END IF;
108924
108925 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
108926 l_balance_type_code <> 'B' THEN
108927 IF (NVL(p_source_89,'
108928 ') = 'ALWAYS_ALWAYS' OR
108929 NVL(p_source_89,'
108930 ') = 'ISSUE_ISSUE') AND
108931 p_source_107 IS NOT NULL AND
108932 NVL(p_source_156,'
108933 ') = 'LOSS' AND
108934 NVL(p_source_90,'
108935 ') <> 'EXCHANGE RATE VARIANCE' AND
108936 NVL(p_source_90,'
108937 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
108938 NVL(p_source_90,'
108939 ') <> 'BANK CHARGE' AND
108940 NVL(p_source_90,'
108941 ') <> 'BANK ERROR' AND
108942 NVL(p_source_90,'
108943 ') <> 'AWT'
108944 THEN
108945
108946 --
108947 XLA_AE_LINES_PKG.SetNewLine;
108948
108949 p_balance_type_code := l_balance_type_code;
108950 -- set the flag so later we will know whether the gain loss line needs to be created
108951
108952 IF(l_balance_type_code = 'A' ) THEN
108953 p_actual_flag :='G';
108954 END IF;
108955
108956 --
108957 -- bulk performance
108958 --
108959 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
108960 p_header_num => 0); -- 4262811
108961 --
108962 -- set accounting line options
108963 --
108964 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
108965 p_natural_side_code => 'C'
108966 , p_gain_or_loss_flag => 'Y'
108967 , p_gl_transfer_mode_code => 'S'
108968 , p_acct_entry_type_code => 'A'
108969 , p_switch_side_flag => 'Y'
108970 , p_merge_duplicate_code => 'A'
108971 );
108972 --
108973 l_acc_rev_natural_side_code := 'D'; -- 4262811
108974 --
108975 --
108976 -- set accounting line type info
108977 --
108978 xla_ae_lines_pkg.SetAcctLineType
108979 (p_component_type => l_component_type
108980 ,p_event_type_code => l_event_type_code
108981 ,p_line_definition_owner_code => l_line_definition_owner_code
108982 ,p_line_definition_code => l_line_definition_code
108983 ,p_accounting_line_code => l_component_code
108984 ,p_accounting_line_type_code => l_component_type_code
108985 ,p_accounting_line_appl_id => l_component_appl_id
108986 ,p_amb_context_code => l_amb_context_code
108987 ,p_entity_code => l_entity_code
108988 ,p_event_class_code => l_event_class_code);
108989 --
108990 -- set accounting class
108991 --
108992 xla_ae_lines_pkg.SetAcctClass(
108993 p_accounting_class_code => 'LOSS'
108994 , p_ae_header_id => l_ae_header_id
108995 );
108996
108997 --
108998 -- set rounding class
108999 --
109000 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
109001 'LOSS';
109002
109003 --
109004 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
109005 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
109006 --
109007 -- bulk performance
109008 --
109009 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
109010
109011 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
109012 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
109013
109014 -- 4955764
109015 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109016 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
109017
109018 -- 4458381 Public Sector Enh
109019
109020 --
109021 -- set accounting attributes for the line type
109022 --
109023 l_entered_amt_idx := 9;
109024 l_accted_amt_idx := 14;
109025 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109026 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
109027 l_rec_acct_attrs.array_char_value(1) := p_source_41;
109028 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
109029 l_rec_acct_attrs.array_num_value(2) := p_source_79;
109030 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
109034 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
109031 l_rec_acct_attrs.array_char_value(3) := p_source_92;
109032 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
109033 l_rec_acct_attrs.array_char_value(4) := p_source_93;
109035 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_94);
109036 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
109037 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_95);
109038 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
109039 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
109040 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
109041 l_rec_acct_attrs.array_char_value(8) := p_source_43;
109042 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
109043 l_rec_acct_attrs.array_num_value(9) := p_source_91;
109044 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
109045 l_rec_acct_attrs.array_char_value(10) := p_source_106;
109046 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
109047 l_rec_acct_attrs.array_date_value(11) := p_source_110;
109048 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
109049 l_rec_acct_attrs.array_num_value(12) := p_source_111;
109050 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
109051 l_rec_acct_attrs.array_char_value(13) := p_source_112;
109052 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
109053 l_rec_acct_attrs.array_num_value(14) := p_source_149;
109054 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
109055 l_rec_acct_attrs.array_char_value(15) := p_source_68;
109056 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
109057 l_rec_acct_attrs.array_num_value(16) := p_source_102;
109058 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
109059 l_rec_acct_attrs.array_num_value(17) := p_source_103;
109060 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
109061 l_rec_acct_attrs.array_char_value(18) := p_source_71;
109062 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
109063 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
109064 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
109065 l_rec_acct_attrs.array_char_value(20) := p_source_43;
109066
109067 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
109068 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
109069
109070 ---------------------------------------------------------------------------------------------------------------
109071 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
109072 ---------------------------------------------------------------------------------------------------------------
109073 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
109074
109075 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109076 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109077
109078 IF xla_accounting_cache_pkg.GetValueChar
109079 (p_source_code => 'LEDGER_CATEGORY_CODE'
109080 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
109081 AND l_bflow_method_code = 'PRIOR_ENTRY'
109082 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
109083 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
109084 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
109085 )
109086 THEN
109087 xla_ae_lines_pkg.BflowUpgEntry
109088 (p_business_method_code => l_bflow_method_code
109089 ,p_business_class_code => l_bflow_class_code
109090 ,p_balance_type => l_balance_type_code);
109091 ELSE
109092 NULL;
109093 -- No business flow processing for business flow method of NONE.
109094 END IF;
109095
109096 --
109097 -- call analytical criteria
109098 --
109099
109100 --
109101 -- call description
109102 --
109103 -- No description or it is inherited.
109104 --
109105 -- call ADRs
109106 -- Bug 4922099
109107 --
109108 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109109 (NVL(l_actual_upg_option, 'N') = 'O') OR
109110 (NVL(l_enc_upg_option, 'N') = 'O')
109111 )
109112 THEN
109113 NULL;
109114 --
109115 --
109116
109117 l_ccid := AcctDerRule_38(
109118 p_application_id => p_application_id
109119 , p_ae_header_id => l_ae_header_id
109120 , p_source_3 => p_source_3
109121 , p_source_3_meaning => p_source_3_meaning
109122 , p_source_18 => p_source_18
109123 , p_source_26 => p_source_26
109124 , p_source_27 => p_source_27
109125 , x_transaction_coa_id => l_adr_transaction_coa_id
109126 , x_accounting_coa_id => l_adr_accounting_coa_id
109127 , x_value_type_code => l_adr_value_type_code
109128 , p_side => 'NA'
109129 );
109130
109131 xla_ae_lines_pkg.set_ccid(
109132 p_code_combination_id => l_ccid
109133 , p_value_type_code => l_adr_value_type_code
109134 , p_transaction_coa_id => l_adr_transaction_coa_id
109135 , p_accounting_coa_id => l_adr_accounting_coa_id
109139 , p_component_code => l_component_code
109136 , p_adr_code => 'AP_REAL_LOSS'
109137 , p_adr_type_code => 'S'
109138 , p_component_type => l_component_type
109140 , p_component_type_code => l_component_type_code
109141 , p_component_appl_id => l_component_appl_id
109142 , p_amb_context_code => l_amb_context_code
109143 , p_side => 'NA'
109144 );
109145
109146
109147 l_segment := AcctDerRule_21(
109148 p_application_id => p_application_id
109149 , p_ae_header_id => l_ae_header_id
109150 , p_source_3 => p_source_3
109151 , p_source_3_meaning => p_source_3_meaning
109152 , p_source_18 => p_source_18
109153 , x_transaction_coa_id => l_adr_transaction_coa_id
109154 , x_accounting_coa_id => l_adr_accounting_coa_id
109155 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109156 , x_flex_value_set_id => l_adr_flex_value_set_id
109157 , x_value_type_code => l_adr_value_type_code
109158 , x_value_combination_id => l_adr_value_combination_id
109159 , x_value_segment_code => l_adr_value_segment_code
109160 , p_side => 'NA'
109161 , p_override_seg_flag => 'Y'
109162 );
109163
109164 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109165
109166 xla_ae_lines_pkg.set_segment(
109167 p_to_segment_code => 'GL_BALANCING'
109168 , p_segment_value => l_segment
109169 , p_from_segment_code => l_adr_value_segment_code
109170 , p_from_combination_id => l_adr_value_combination_id
109171 , p_value_type_code => l_adr_value_type_code
109172 , p_transaction_coa_id => l_adr_transaction_coa_id
109173 , p_accounting_coa_id => l_adr_accounting_coa_id
109174 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109175 , p_flex_value_set_id => l_adr_flex_value_set_id
109176 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
109177 , p_adr_type_code => 'S'
109178 , p_component_type => l_component_type
109179 , p_component_code => l_component_code
109180 , p_component_type_code => l_component_type_code
109181 , p_component_appl_id => l_component_appl_id
109182 , p_amb_context_code => l_amb_context_code
109183 , p_entity_code => 'AP_PAYMENTS'
109184 , p_event_class_code => 'FUTURE DATED PAYMENTS'
109185 , p_side => 'NA'
109186 );
109187
109188 END IF;
109189
109190 l_segment := AcctDerRule_17(
109191 p_application_id => p_application_id
109192 , p_ae_header_id => l_ae_header_id
109193 , p_source_3 => p_source_3
109194 , p_source_3_meaning => p_source_3_meaning
109195 , p_source_26 => p_source_26
109196 , p_source_27 => p_source_27
109197 , x_transaction_coa_id => l_adr_transaction_coa_id
109198 , x_accounting_coa_id => l_adr_accounting_coa_id
109199 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109200 , x_flex_value_set_id => l_adr_flex_value_set_id
109201 , x_value_type_code => l_adr_value_type_code
109202 , x_value_combination_id => l_adr_value_combination_id
109203 , x_value_segment_code => l_adr_value_segment_code
109204 , p_side => 'NA'
109205 , p_override_seg_flag => 'Y'
109206 );
109207
109208 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109209
109210 xla_ae_lines_pkg.set_segment(
109211 p_to_segment_code => 'GL_ACCOUNT'
109212 , p_segment_value => l_segment
109213 , p_from_segment_code => l_adr_value_segment_code
109214 , p_from_combination_id => l_adr_value_combination_id
109215 , p_value_type_code => l_adr_value_type_code
109216 , p_transaction_coa_id => l_adr_transaction_coa_id
109217 , p_accounting_coa_id => l_adr_accounting_coa_id
109218 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109219 , p_flex_value_set_id => l_adr_flex_value_set_id
109220 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
109221 , p_adr_type_code => 'S'
109222 , p_component_type => l_component_type
109223 , p_component_code => l_component_code
109224 , p_component_type_code => l_component_type_code
109225 , p_component_appl_id => l_component_appl_id
109226 , p_amb_context_code => l_amb_context_code
109227 , p_entity_code => 'AP_PAYMENTS'
109228 , p_event_class_code => 'FUTURE DATED PAYMENTS'
109229 , p_side => 'NA'
109230 );
109231
109232 END IF;
109233
109234 --
109235 --
109236 END IF;
109237 --
109238 -- Bug 4922099
109239 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
109240 (NVL(l_enc_upg_option, 'N') = 'O')
109241 ) AND
109242 (l_bflow_method_code = 'PRIOR_ENTRY')
109243 )
109244 THEN
109245 IF
109246 --
109247 1 = 2
109248 --
109249 THEN
109250 xla_accounting_err_pkg.build_message
109254 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
109251 (p_appli_s_name => 'XLA'
109252 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109253 ,p_token_1 => 'LINE_NUMBER'
109255 ,p_token_2 => 'LINE_TYPE_NAME'
109256 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
109257 l_component_type
109258 ,l_component_code
109259 ,l_component_type_code
109260 ,l_component_appl_id
109261 ,l_amb_context_code
109262 ,l_entity_code
109263 ,l_event_class_code
109264 )
109265 ,p_token_3 => 'OWNER'
109266 ,p_value_3 => xla_lookups_pkg.get_meaning(
109267 p_lookup_type => 'XLA_OWNER_TYPE'
109268 ,p_lookup_code => l_component_type_code
109269 )
109270 ,p_token_4 => 'PRODUCT_NAME'
109271 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
109272 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
109273 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
109274 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
109275 ,p_ae_header_id => NULL
109276 );
109277
109278 IF (C_LEVEL_ERROR>= g_log_level) THEN
109279 trace
109280 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
109281 ,p_level => C_LEVEL_ERROR
109282 ,p_module => l_log_module);
109283 END IF;
109284 END IF;
109285 END IF;
109286 --
109287 --
109288 ------------------------------------------------------------------------------------------------
109289 -- 4219869 Business Flow
109290 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
109291 -- Prior Entry. Currently, the following code is always generated.
109292 ------------------------------------------------------------------------------------------------
109293 XLA_AE_LINES_PKG.ValidateCurrentLine;
109294
109295 ------------------------------------------------------------------------------------
109296 -- 4219869 Business Flow
109297 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
109298 ------------------------------------------------------------------------------------
109299 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109300
109301 ----------------------------------------------------------------------------------
109302 -- 4219869 Business Flow
109303 -- Update journal entry status -- Need to generate this within IF <condition>
109304 ----------------------------------------------------------------------------------
109305 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109306 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
109307 ,p_balance_type_code => l_balance_type_code
109308 );
109309
109310 -------------------------------------------------------------------------------------------
109311 -- 4262811 - Generate the Accrual Reversal lines
109312 -------------------------------------------------------------------------------------------
109313 BEGIN
109314 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
109315 (g_array_event(p_event_id).array_value_num('header_index'));
109316 IF l_acc_rev_flag IS NULL THEN
109317 l_acc_rev_flag := 'N';
109318 END IF;
109319 EXCEPTION
109320 WHEN OTHERS THEN
109321 l_acc_rev_flag := 'N';
109322 END;
109323 --
109324 IF (l_acc_rev_flag = 'Y') THEN
109325
109326 -- 4645092 ------------------------------------------------------------------------------
109327 -- To allow MPA report to determine if it should generate report process
109328 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
109329 ------------------------------------------------------------------------------------------
109330
109331 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
109332 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
109333 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
109334 -- call ADRs
109335 -- Bug 4922099
109336 --
109337 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
109338 (NVL(l_actual_upg_option, 'N') = 'O') OR
109339 (NVL(l_enc_upg_option, 'N') = 'O')
109343 --
109340 )
109341 THEN
109342 NULL;
109344 --
109345
109346 l_ccid := AcctDerRule_38(
109347 p_application_id => p_application_id
109348 , p_ae_header_id => l_ae_header_id
109349 , p_source_3 => p_source_3
109350 , p_source_3_meaning => p_source_3_meaning
109351 , p_source_18 => p_source_18
109352 , p_source_26 => p_source_26
109353 , p_source_27 => p_source_27
109354 , x_transaction_coa_id => l_adr_transaction_coa_id
109355 , x_accounting_coa_id => l_adr_accounting_coa_id
109356 , x_value_type_code => l_adr_value_type_code
109357 , p_side => 'NA'
109358 );
109359
109360 xla_ae_lines_pkg.set_ccid(
109361 p_code_combination_id => l_ccid
109362 , p_value_type_code => l_adr_value_type_code
109363 , p_transaction_coa_id => l_adr_transaction_coa_id
109364 , p_accounting_coa_id => l_adr_accounting_coa_id
109365 , p_adr_code => 'AP_REAL_LOSS'
109366 , p_adr_type_code => 'S'
109367 , p_component_type => l_component_type
109368 , p_component_code => l_component_code
109369 , p_component_type_code => l_component_type_code
109370 , p_component_appl_id => l_component_appl_id
109371 , p_amb_context_code => l_amb_context_code
109372 , p_side => 'NA'
109373 );
109374
109375
109376 l_segment := AcctDerRule_21(
109377 p_application_id => p_application_id
109378 , p_ae_header_id => l_ae_header_id
109379 , p_source_3 => p_source_3
109380 , p_source_3_meaning => p_source_3_meaning
109381 , p_source_18 => p_source_18
109382 , x_transaction_coa_id => l_adr_transaction_coa_id
109383 , x_accounting_coa_id => l_adr_accounting_coa_id
109384 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109385 , x_flex_value_set_id => l_adr_flex_value_set_id
109386 , x_value_type_code => l_adr_value_type_code
109387 , x_value_combination_id => l_adr_value_combination_id
109388 , x_value_segment_code => l_adr_value_segment_code
109389 , p_side => 'NA'
109390 , p_override_seg_flag => 'Y'
109391 );
109392
109393 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109394
109395 xla_ae_lines_pkg.set_segment(
109396 p_to_segment_code => 'GL_BALANCING'
109397 , p_segment_value => l_segment
109398 , p_from_segment_code => l_adr_value_segment_code
109399 , p_from_combination_id => l_adr_value_combination_id
109400 , p_value_type_code => l_adr_value_type_code
109401 , p_transaction_coa_id => l_adr_transaction_coa_id
109402 , p_accounting_coa_id => l_adr_accounting_coa_id
109403 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109404 , p_flex_value_set_id => l_adr_flex_value_set_id
109405 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
109406 , p_adr_type_code => 'S'
109407 , p_component_type => l_component_type
109408 , p_component_code => l_component_code
109409 , p_component_type_code => l_component_type_code
109410 , p_component_appl_id => l_component_appl_id
109411 , p_amb_context_code => l_amb_context_code
109412 , p_entity_code => 'AP_PAYMENTS'
109413 , p_event_class_code => 'FUTURE DATED PAYMENTS'
109414 , p_side => 'NA'
109415 );
109416
109417 END IF;
109418
109419 l_segment := AcctDerRule_17(
109420 p_application_id => p_application_id
109421 , p_ae_header_id => l_ae_header_id
109422 , p_source_3 => p_source_3
109423 , p_source_3_meaning => p_source_3_meaning
109424 , p_source_26 => p_source_26
109425 , p_source_27 => p_source_27
109426 , x_transaction_coa_id => l_adr_transaction_coa_id
109427 , x_accounting_coa_id => l_adr_accounting_coa_id
109428 , x_flexfield_segment_code => l_adr_flexfield_segment_code
109429 , x_flex_value_set_id => l_adr_flex_value_set_id
109430 , x_value_type_code => l_adr_value_type_code
109431 , x_value_combination_id => l_adr_value_combination_id
109432 , x_value_segment_code => l_adr_value_segment_code
109433 , p_side => 'NA'
109434 , p_override_seg_flag => 'Y'
109435 );
109436
109437 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
109438
109439 xla_ae_lines_pkg.set_segment(
109440 p_to_segment_code => 'GL_ACCOUNT'
109441 , p_segment_value => l_segment
109442 , p_from_segment_code => l_adr_value_segment_code
109443 , p_from_combination_id => l_adr_value_combination_id
109444 , p_value_type_code => l_adr_value_type_code
109445 , p_transaction_coa_id => l_adr_transaction_coa_id
109446 , p_accounting_coa_id => l_adr_accounting_coa_id
109447 , p_flexfield_segment_code => l_adr_flexfield_segment_code
109448 , p_flex_value_set_id => l_adr_flex_value_set_id
109449 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
109450 , p_adr_type_code => 'S'
109451 , p_component_type => l_component_type
109455 , p_amb_context_code => l_amb_context_code
109452 , p_component_code => l_component_code
109453 , p_component_type_code => l_component_type_code
109454 , p_component_appl_id => l_component_appl_id
109456 , p_entity_code => 'AP_PAYMENTS'
109457 , p_event_class_code => 'FUTURE DATED PAYMENTS'
109458 , p_side => 'NA'
109459 );
109460
109461 END IF;
109462
109463 --
109464 --
109465 END IF;
109466
109467 --
109468 -- Update the line information that should be overwritten
109469 --
109470 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
109471 p_header_num => 1);
109472 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
109473
109474 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
109475
109476 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
109477 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
109478 END IF;
109479
109480 --
109481 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
109482 --
109483 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
109484 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
109485 ELSE
109486 ---------------------------------------------------------------------------------------------------
109487 -- 4262811a Switch Sign
109488 ---------------------------------------------------------------------------------------------------
109489 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
109490 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109491 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109492 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
109493 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109494 -- 5132302
109495 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
109496 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
109497
109498 END IF;
109499
109500 -- 4955764
109501 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109502 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
109503
109504
109505 XLA_AE_LINES_PKG.ValidateCurrentLine;
109506 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
109507
109508 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
109509 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
109510 ,p_balance_type_code => l_balance_type_code);
109511
109512 END IF;
109513
109514 -----------------------------------------------------------------------------------------
109515 -- 4262811 Multiperiod Accounting
109516 -----------------------------------------------------------------------------------------
109517 -- No MPA option is assigned.
109518
109519
109520 END IF;
109521 END IF;
109522 --
109523
109524 --
109525 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109526 trace
109527 (p_msg => 'END of AcctLineType_187'
109528 ,p_level => C_LEVEL_PROCEDURE
109529 ,p_module => l_log_module);
109530 END IF;
109531 --
109532 EXCEPTION
109533 WHEN xla_exceptions_pkg.application_exception THEN
109534 RAISE;
109535 WHEN OTHERS THEN
109536 xla_exceptions_pkg.raise_message
109537 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_187');
109538 END AcctLineType_187;
109539 --
109540
109541 ---------------------------------------
109542 --
109543 -- PRIVATE FUNCTION
109544 -- AcctLineType_188
109545 --
109546 ---------------------------------------
109547 PROCEDURE AcctLineType_188 (
109548 p_application_id IN NUMBER
109549 ,p_event_id IN NUMBER
109550 ,p_calculate_acctd_flag IN VARCHAR2
109551 ,p_calculate_g_l_flag IN VARCHAR2
109552 ,p_actual_flag IN OUT VARCHAR2
109553 ,p_balance_type_code OUT VARCHAR2
109554 ,p_gain_or_loss_ref OUT VARCHAR2
109555
109556 --Automatic Offsets Value
109557 , p_source_3 IN VARCHAR2
109558 , p_source_3_meaning IN VARCHAR2
109559 --Invoice Distribution Account
109560 , p_source_18 IN NUMBER
109561 --Internal Realized Loss Account
109562 , p_source_26 IN NUMBER
109563 --Bank Loss Account
109564 , p_source_27 IN NUMBER
109565 --Accounting Reversal Indicator
109566 , p_source_41 IN VARCHAR2
109567 --Distribution Link Type
109568 , p_source_43 IN VARCHAR2
109569 --Invoice Identifier
109570 , p_source_46 IN NUMBER
109571 --Payables Encumbrance Upgrade Credit Account
109572 , p_source_53 IN NUMBER
109573 --Payables Encumbrance Upgrade Credit Amount
109574 , p_source_54 IN NUMBER
109575 --Invoice Currency Code
109576 , p_source_55 IN VARCHAR2
109577 --Payables Encumbrance Upgrade Credit Base Amount
109581 --Payables Encumbrance Upgrade Debit Amount
109578 , p_source_56 IN NUMBER
109579 --Payables Encumbrance Upgrade Debit Account
109580 , p_source_57 IN NUMBER
109582 , p_source_58 IN NUMBER
109583 --Payables Encumbrance Upgrade Debit Base Amount
109584 , p_source_59 IN NUMBER
109585 --Payables Encumbrance Upgrade Option
109586 , p_source_60 IN VARCHAR2
109587 --Deferred Accounting End Date
109588 , p_source_65 IN DATE
109589 --Deferred Accounting Option
109590 , p_source_66 IN VARCHAR2
109591 --Deferred Accounting Start Date
109592 , p_source_67 IN DATE
109593 --Override Accounted Amount Indicator
109594 , p_source_68 IN VARCHAR2
109595 , p_source_68_meaning IN VARCHAR2
109596 --Invoice Supplier Identifier
109597 , p_source_69 IN NUMBER
109598 --Invoice Supplier Site Identifier
109599 , p_source_70 IN NUMBER
109600 --Third Party Type
109601 , p_source_71 IN VARCHAR2
109602 --Invoice Distribution Tax Line Identifier
109603 , p_source_74 IN NUMBER
109604 --Invoice Distribution Tax Distribution Identifier from Tax
109605 , p_source_75 IN NUMBER
109606 --Invoice Distribution Summary Tax Line Identifier
109607 , p_source_76 IN NUMBER
109608 --Payables Upgrade Credit Encumbrance Type Identifier
109609 , p_source_77 IN NUMBER
109610 --Payables Upgrade Debit Encumbrance Type Identifier
109611 , p_source_78 IN NUMBER
109612 --Business Flow Accounts Payable Application Identifier
109613 , p_source_79 IN NUMBER
109614 --Prepayment Distribution Type
109615 , p_source_118 IN VARCHAR2
109616 --Prepayment Application Distribution Identifier
109617 , p_source_120 IN NUMBER
109618 --Upgrade Encumbrance Credit Account Class
109619 , p_source_125 IN VARCHAR2
109620 --Upgrade Encumbrance Debit Account Class
109621 , p_source_126 IN VARCHAR2
109622 --Prepayment Distribution Amount
109623 , p_source_127 IN NUMBER
109624 --Identifier of the Prepayment Application Reversed
109625 , p_source_129 IN NUMBER
109626 --Invoice Exchange Date
109627 , p_source_136 IN DATE
109628 --Invoice Exchange Rate
109629 , p_source_137 IN NUMBER
109630 --Invoice Exchange Rate Type
109631 , p_source_138 IN VARCHAR2
109632 --Business Flow Prepayment Invoice Distribution Type
109633 , p_source_139 IN VARCHAR2
109634 --Business Flow Prepayment Invoice Entity Code
109635 , p_source_140 IN VARCHAR2
109636 --Business Flow Prepayment Invoice Distribution Identifier
109637 , p_source_141 IN NUMBER
109638 --Business Flow Prepayment Invoice Identifier
109639 , p_source_142 IN NUMBER
109640 --Prepayment/Invoice Ledger Amount Difference
109641 , p_source_150 IN NUMBER
109642 --Gain or Loss Indicator between Prepayment and Invoice
109643 , p_source_157 IN VARCHAR2
109644 )
109645 IS
109646
109647 l_component_type VARCHAR2(80);
109648 l_component_code VARCHAR2(30);
109649 l_component_type_code VARCHAR2(1);
109650 l_component_appl_id INTEGER;
109651 l_amb_context_code VARCHAR2(30);
109652 l_entity_code VARCHAR2(30);
109653 l_event_class_code VARCHAR2(30);
109654 l_ae_header_id NUMBER;
109655 l_event_type_code VARCHAR2(30);
109656 l_line_definition_code VARCHAR2(30);
109657 l_line_definition_owner_code VARCHAR2(1);
109658 --
109659 -- adr variables
109660 l_segment VARCHAR2(30);
109661 l_ccid NUMBER;
109662 l_adr_transaction_coa_id NUMBER;
109663 l_adr_accounting_coa_id NUMBER;
109664 l_adr_flexfield_segment_code VARCHAR2(30);
109665 l_adr_flex_value_set_id NUMBER;
109666 l_adr_value_type_code VARCHAR2(30);
109667 l_adr_value_combination_id NUMBER;
109668 l_adr_value_segment_code VARCHAR2(30);
109669
109670 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
109671 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
109672 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
109673 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
109674
109675 -- 4262811 Variables ------------------------------------------------------------------------------------------
109676 l_entered_amt_idx NUMBER;
109677 l_accted_amt_idx NUMBER;
109678 l_acc_rev_flag VARCHAR2(1);
109679 l_accrual_line_num NUMBER;
109680 l_tmp_amt NUMBER;
109681 l_acc_rev_natural_side_code VARCHAR2(1);
109682
109683 l_num_entries NUMBER;
109684 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
109685 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
109686 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
109687 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
109688 l_recog_line_1 NUMBER;
109689 l_recog_line_2 NUMBER;
109690
109691 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
109692 l_bflow_applied_to_amt NUMBER; -- 5132302
109693 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
109694
109695 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
109696
109697 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
109701
109698 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
109699
109700 ---------------------------------------------------------------------------------------------------------------
109702
109703 --
109704 -- bulk performance
109705 --
109706 l_balance_type_code VARCHAR2(1);
109707 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
109708 l_log_module VARCHAR2(240);
109709
109710 --
109711 -- Upgrade strategy
109712 --
109713 l_actual_upg_option VARCHAR2(1);
109714 l_enc_upg_option VARCHAR2(1);
109715
109716 --
109717 BEGIN
109718 --
109719 IF g_log_enabled THEN
109720 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_188';
109721 END IF;
109722 --
109723 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
109724
109725 trace
109726 (p_msg => 'BEGIN of AcctLineType_188'
109727 ,p_level => C_LEVEL_PROCEDURE
109728 ,p_module => l_log_module);
109729
109730 END IF;
109731 --
109732 l_component_type := 'AMB_JLT';
109733 l_component_code := 'AP_LOSS_PREPAY_APP';
109734 l_component_type_code := 'S';
109735 l_component_appl_id := 200;
109736 l_amb_context_code := 'DEFAULT';
109737 l_entity_code := 'AP_INVOICES';
109738 l_event_class_code := 'PREPAYMENT APPLICATIONS';
109739 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
109740 l_line_definition_owner_code := 'S';
109741 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
109742 --
109743 l_balance_type_code := 'A';
109744 l_segment := NULL;
109745 l_ccid := NULL;
109746 l_adr_transaction_coa_id := NULL;
109747 l_adr_accounting_coa_id := NULL;
109748 l_adr_flexfield_segment_code := NULL;
109749 l_adr_flex_value_set_id := NULL;
109750 l_adr_value_type_code := NULL;
109751 l_adr_value_combination_id := NULL;
109752 l_adr_value_segment_code := NULL;
109753
109754 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
109755 l_bflow_class_code := ''; -- 4219869 Business Flow
109756 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
109757 l_budgetary_control_flag := 'N';
109758
109759 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109760 l_bflow_applied_to_amt := NULL; -- 5132302
109761 l_entered_amt_idx := NULL; -- 4262811
109762 l_accted_amt_idx := NULL; -- 4262811
109763 l_acc_rev_flag := NULL; -- 4262811
109764 l_accrual_line_num := NULL; -- 4262811
109765 l_tmp_amt := NULL; -- 4262811
109766 --
109767 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
109768 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
109769 return;
109770 END IF;
109771
109772 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
109773 l_balance_type_code <> 'B' THEN
109774 IF (NVL(p_source_118,'
109775 ') = 'PREPAY APPL' OR
109776 NVL(p_source_118,'
109777 ') = 'PREPAY APPL NONREC TAX' OR
109778 NVL(p_source_118,'
109779 ') = 'PREPAY APPL REC TAX') AND
109780 NVL(p_source_157,'
109781 ') = 'LOSS'
109782 THEN
109783
109784 --
109785 XLA_AE_LINES_PKG.SetNewLine;
109786
109787 p_balance_type_code := l_balance_type_code;
109788 -- set the flag so later we will know whether the gain loss line needs to be created
109789
109790 IF(l_balance_type_code = 'A' ) THEN
109791 p_actual_flag :='G';
109792 END IF;
109793
109794 --
109795 -- bulk performance
109796 --
109797 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
109798 p_header_num => 0); -- 4262811
109799 --
109800 -- set accounting line options
109801 --
109802 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
109803 p_natural_side_code => 'D'
109804 , p_gain_or_loss_flag => 'Y'
109805 , p_gl_transfer_mode_code => 'S'
109806 , p_acct_entry_type_code => 'A'
109807 , p_switch_side_flag => 'Y'
109808 , p_merge_duplicate_code => 'A'
109809 );
109810 --
109811 l_acc_rev_natural_side_code := 'C'; -- 4262811
109812 --
109813 --
109814 -- set accounting line type info
109815 --
109816 xla_ae_lines_pkg.SetAcctLineType
109817 (p_component_type => l_component_type
109818 ,p_event_type_code => l_event_type_code
109819 ,p_line_definition_owner_code => l_line_definition_owner_code
109820 ,p_line_definition_code => l_line_definition_code
109821 ,p_accounting_line_code => l_component_code
109822 ,p_accounting_line_type_code => l_component_type_code
109823 ,p_accounting_line_appl_id => l_component_appl_id
109824 ,p_amb_context_code => l_amb_context_code
109825 ,p_entity_code => l_entity_code
109826 ,p_event_class_code => l_event_class_code);
109827 --
109828 -- set accounting class
109829 --
109830 xla_ae_lines_pkg.SetAcctClass(
109834
109831 p_accounting_class_code => 'LOSS'
109832 , p_ae_header_id => l_ae_header_id
109833 );
109835 --
109836 -- set rounding class
109837 --
109838 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
109839 'LOSS';
109840
109841 --
109842 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
109843 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
109844 --
109845 -- bulk performance
109846 --
109847 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
109848
109849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
109850 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
109851
109852 -- 4955764
109853 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
109854 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
109855
109856 -- 4458381 Public Sector Enh
109857
109858 --
109859 -- set accounting attributes for the line type
109860 --
109861 l_entered_amt_idx := 25;
109862 l_accted_amt_idx := 30;
109863 l_bflow_applied_to_amt_idx := NULL; -- 5132302
109864 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
109865 l_rec_acct_attrs.array_char_value(1) := p_source_41;
109866 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
109867 l_rec_acct_attrs.array_num_value(2) :=
109868 xla_ae_sources_pkg.GetSystemSourceNum(
109869 p_source_code => 'XLA_EVENT_APPL_ID'
109870 , p_source_type_code => 'Y'
109871 , p_source_application_id => 602
109872 );
109873 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
109874 l_rec_acct_attrs.array_char_value(3) := p_source_43;
109875 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
109876 l_rec_acct_attrs.array_char_value(4) :=
109877 xla_ae_sources_pkg.GetSystemSourceChar(
109878 p_source_code => 'XLA_ENTITY_CODE'
109879 , p_source_type_code => 'Y'
109880 , p_source_application_id => 602
109881 );
109882 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
109883 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
109884 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
109885 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
109886 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
109887 l_rec_acct_attrs.array_num_value(7) := p_source_79;
109888 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
109889 l_rec_acct_attrs.array_char_value(8) := p_source_139;
109890 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
109891 l_rec_acct_attrs.array_char_value(9) := p_source_140;
109892 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
109893 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
109894 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
109895 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
109896 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
109897 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
109898 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
109899 l_rec_acct_attrs.array_char_value(13) := p_source_43;
109900 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
109901 l_rec_acct_attrs.array_char_value(14) := p_source_125;
109902 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
109903 l_rec_acct_attrs.array_num_value(15) := p_source_53;
109904 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
109905 l_rec_acct_attrs.array_num_value(16) := p_source_54;
109906 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
109907 l_rec_acct_attrs.array_char_value(17) := p_source_55;
109908 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
109909 l_rec_acct_attrs.array_num_value(18) := p_source_56;
109910 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
109911 l_rec_acct_attrs.array_char_value(19) := p_source_126;
109912 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
109913 l_rec_acct_attrs.array_num_value(20) := p_source_57;
109914 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
109915 l_rec_acct_attrs.array_num_value(21) := p_source_58;
109916 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
109917 l_rec_acct_attrs.array_char_value(22) := p_source_55;
109918 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
109919 l_rec_acct_attrs.array_num_value(23) := p_source_59;
109920 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
109921 l_rec_acct_attrs.array_char_value(24) := p_source_60;
109922 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
109923 l_rec_acct_attrs.array_num_value(25) := p_source_127;
109924 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
109925 l_rec_acct_attrs.array_char_value(26) := p_source_55;
109926 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
109927 l_rec_acct_attrs.array_date_value(27) := p_source_136;
109931 l_rec_acct_attrs.array_char_value(29) := p_source_138;
109928 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
109929 l_rec_acct_attrs.array_num_value(28) := p_source_137;
109930 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
109932 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
109933 l_rec_acct_attrs.array_num_value(30) := p_source_150;
109934 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
109935 l_rec_acct_attrs.array_date_value(31) := p_source_65;
109936 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
109937 l_rec_acct_attrs.array_char_value(32) := p_source_66;
109938 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
109939 l_rec_acct_attrs.array_date_value(33) := p_source_67;
109940 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
109941 l_rec_acct_attrs.array_char_value(34) := p_source_68;
109942 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
109943 l_rec_acct_attrs.array_num_value(35) := p_source_69;
109944 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
109945 l_rec_acct_attrs.array_num_value(36) := p_source_70;
109946 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
109947 l_rec_acct_attrs.array_char_value(37) := p_source_71;
109948 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
109949 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
109950 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
109951 l_rec_acct_attrs.array_char_value(39) := p_source_43;
109952 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
109953 l_rec_acct_attrs.array_num_value(40) := p_source_74;
109954 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
109955 l_rec_acct_attrs.array_num_value(41) := p_source_75;
109956 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
109957 l_rec_acct_attrs.array_num_value(42) := p_source_76;
109958 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
109959 l_rec_acct_attrs.array_num_value(43) := p_source_77;
109960 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
109961 l_rec_acct_attrs.array_num_value(44) := p_source_78;
109962
109963 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
109964 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
109965
109966 ---------------------------------------------------------------------------------------------------------------
109967 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
109968 ---------------------------------------------------------------------------------------------------------------
109969 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
109970
109971 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109972 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
109973
109974 IF xla_accounting_cache_pkg.GetValueChar
109975 (p_source_code => 'LEDGER_CATEGORY_CODE'
109976 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
109977 AND l_bflow_method_code = 'PRIOR_ENTRY'
109978 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
109979 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
109980 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
109981 )
109982 THEN
109983 xla_ae_lines_pkg.BflowUpgEntry
109984 (p_business_method_code => l_bflow_method_code
109985 ,p_business_class_code => l_bflow_class_code
109986 ,p_balance_type => l_balance_type_code);
109987 ELSE
109988 NULL;
109989 -- No business flow processing for business flow method of NONE.
109990 END IF;
109991
109992 --
109993 -- call analytical criteria
109994 --
109995
109996 --
109997 -- call description
109998 --
109999 -- No description or it is inherited.
110000 --
110001 -- call ADRs
110002 -- Bug 4922099
110003 --
110004 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110005 (NVL(l_actual_upg_option, 'N') = 'O') OR
110006 (NVL(l_enc_upg_option, 'N') = 'O')
110007 )
110008 THEN
110009 NULL;
110010 --
110011 --
110012
110013 l_ccid := AcctDerRule_38(
110014 p_application_id => p_application_id
110015 , p_ae_header_id => l_ae_header_id
110016 , p_source_3 => p_source_3
110017 , p_source_3_meaning => p_source_3_meaning
110018 , p_source_18 => p_source_18
110019 , p_source_26 => p_source_26
110020 , p_source_27 => p_source_27
110021 , x_transaction_coa_id => l_adr_transaction_coa_id
110022 , x_accounting_coa_id => l_adr_accounting_coa_id
110023 , x_value_type_code => l_adr_value_type_code
110024 , p_side => 'NA'
110025 );
110026
110027 xla_ae_lines_pkg.set_ccid(
110028 p_code_combination_id => l_ccid
110029 , p_value_type_code => l_adr_value_type_code
110030 , p_transaction_coa_id => l_adr_transaction_coa_id
110031 , p_accounting_coa_id => l_adr_accounting_coa_id
110032 , p_adr_code => 'AP_REAL_LOSS'
110033 , p_adr_type_code => 'S'
110034 , p_component_type => l_component_type
110038 , p_amb_context_code => l_amb_context_code
110035 , p_component_code => l_component_code
110036 , p_component_type_code => l_component_type_code
110037 , p_component_appl_id => l_component_appl_id
110039 , p_side => 'NA'
110040 );
110041
110042
110043 l_segment := AcctDerRule_21(
110044 p_application_id => p_application_id
110045 , p_ae_header_id => l_ae_header_id
110046 , p_source_3 => p_source_3
110047 , p_source_3_meaning => p_source_3_meaning
110048 , p_source_18 => p_source_18
110049 , x_transaction_coa_id => l_adr_transaction_coa_id
110050 , x_accounting_coa_id => l_adr_accounting_coa_id
110051 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110052 , x_flex_value_set_id => l_adr_flex_value_set_id
110053 , x_value_type_code => l_adr_value_type_code
110054 , x_value_combination_id => l_adr_value_combination_id
110055 , x_value_segment_code => l_adr_value_segment_code
110056 , p_side => 'NA'
110057 , p_override_seg_flag => 'Y'
110058 );
110059
110060 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110061
110062 xla_ae_lines_pkg.set_segment(
110063 p_to_segment_code => 'GL_BALANCING'
110064 , p_segment_value => l_segment
110065 , p_from_segment_code => l_adr_value_segment_code
110066 , p_from_combination_id => l_adr_value_combination_id
110067 , p_value_type_code => l_adr_value_type_code
110068 , p_transaction_coa_id => l_adr_transaction_coa_id
110069 , p_accounting_coa_id => l_adr_accounting_coa_id
110070 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110071 , p_flex_value_set_id => l_adr_flex_value_set_id
110072 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
110073 , p_adr_type_code => 'S'
110074 , p_component_type => l_component_type
110075 , p_component_code => l_component_code
110076 , p_component_type_code => l_component_type_code
110077 , p_component_appl_id => l_component_appl_id
110078 , p_amb_context_code => l_amb_context_code
110079 , p_entity_code => 'AP_INVOICES'
110080 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
110081 , p_side => 'NA'
110082 );
110083
110084 END IF;
110085
110086 l_segment := AcctDerRule_17(
110087 p_application_id => p_application_id
110088 , p_ae_header_id => l_ae_header_id
110089 , p_source_3 => p_source_3
110090 , p_source_3_meaning => p_source_3_meaning
110091 , p_source_26 => p_source_26
110092 , p_source_27 => p_source_27
110093 , x_transaction_coa_id => l_adr_transaction_coa_id
110094 , x_accounting_coa_id => l_adr_accounting_coa_id
110095 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110096 , x_flex_value_set_id => l_adr_flex_value_set_id
110097 , x_value_type_code => l_adr_value_type_code
110098 , x_value_combination_id => l_adr_value_combination_id
110099 , x_value_segment_code => l_adr_value_segment_code
110100 , p_side => 'NA'
110101 , p_override_seg_flag => 'Y'
110102 );
110103
110104 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110105
110106 xla_ae_lines_pkg.set_segment(
110107 p_to_segment_code => 'GL_ACCOUNT'
110108 , p_segment_value => l_segment
110109 , p_from_segment_code => l_adr_value_segment_code
110110 , p_from_combination_id => l_adr_value_combination_id
110111 , p_value_type_code => l_adr_value_type_code
110112 , p_transaction_coa_id => l_adr_transaction_coa_id
110113 , p_accounting_coa_id => l_adr_accounting_coa_id
110114 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110115 , p_flex_value_set_id => l_adr_flex_value_set_id
110116 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
110117 , p_adr_type_code => 'S'
110118 , p_component_type => l_component_type
110119 , p_component_code => l_component_code
110120 , p_component_type_code => l_component_type_code
110121 , p_component_appl_id => l_component_appl_id
110122 , p_amb_context_code => l_amb_context_code
110123 , p_entity_code => 'AP_INVOICES'
110124 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
110125 , p_side => 'NA'
110126 );
110127
110128 END IF;
110129
110130 --
110131 --
110132 END IF;
110133 --
110134 -- Bug 4922099
110135 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
110136 (NVL(l_enc_upg_option, 'N') = 'O')
110137 ) AND
110138 (l_bflow_method_code = 'PRIOR_ENTRY')
110139 )
110140 THEN
110141 IF
110142 --
110143 1 = 2
110144 --
110145 THEN
110146 xla_accounting_err_pkg.build_message
110147 (p_appli_s_name => 'XLA'
110148 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110149 ,p_token_1 => 'LINE_NUMBER'
110153 l_component_type
110150 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
110151 ,p_token_2 => 'LINE_TYPE_NAME'
110152 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
110154 ,l_component_code
110155 ,l_component_type_code
110156 ,l_component_appl_id
110157 ,l_amb_context_code
110158 ,l_entity_code
110159 ,l_event_class_code
110160 )
110161 ,p_token_3 => 'OWNER'
110162 ,p_value_3 => xla_lookups_pkg.get_meaning(
110163 p_lookup_type => 'XLA_OWNER_TYPE'
110164 ,p_lookup_code => l_component_type_code
110165 )
110166 ,p_token_4 => 'PRODUCT_NAME'
110167 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
110168 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
110169 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
110170 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
110171 ,p_ae_header_id => NULL
110172 );
110173
110174 IF (C_LEVEL_ERROR>= g_log_level) THEN
110175 trace
110176 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110177 ,p_level => C_LEVEL_ERROR
110178 ,p_module => l_log_module);
110179 END IF;
110180 END IF;
110181 END IF;
110182 --
110183 --
110184 ------------------------------------------------------------------------------------------------
110185 -- 4219869 Business Flow
110186 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
110187 -- Prior Entry. Currently, the following code is always generated.
110188 ------------------------------------------------------------------------------------------------
110189 XLA_AE_LINES_PKG.ValidateCurrentLine;
110190
110191 ------------------------------------------------------------------------------------
110192 -- 4219869 Business Flow
110193 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
110194 ------------------------------------------------------------------------------------
110195 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110196
110197 ----------------------------------------------------------------------------------
110198 -- 4219869 Business Flow
110199 -- Update journal entry status -- Need to generate this within IF <condition>
110200 ----------------------------------------------------------------------------------
110201 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110202 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
110203 ,p_balance_type_code => l_balance_type_code
110204 );
110205
110206 -------------------------------------------------------------------------------------------
110207 -- 4262811 - Generate the Accrual Reversal lines
110208 -------------------------------------------------------------------------------------------
110209 BEGIN
110210 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
110211 (g_array_event(p_event_id).array_value_num('header_index'));
110212 IF l_acc_rev_flag IS NULL THEN
110213 l_acc_rev_flag := 'N';
110214 END IF;
110215 EXCEPTION
110216 WHEN OTHERS THEN
110217 l_acc_rev_flag := 'N';
110218 END;
110219 --
110220 IF (l_acc_rev_flag = 'Y') THEN
110221
110222 -- 4645092 ------------------------------------------------------------------------------
110223 -- To allow MPA report to determine if it should generate report process
110224 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
110225 ------------------------------------------------------------------------------------------
110226
110227 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
110228 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
110229 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
110230 -- call ADRs
110231 -- Bug 4922099
110232 --
110233 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110234 (NVL(l_actual_upg_option, 'N') = 'O') OR
110235 (NVL(l_enc_upg_option, 'N') = 'O')
110236 )
110237 THEN
110238 NULL;
110239 --
110240 --
110241
110242 l_ccid := AcctDerRule_38(
110243 p_application_id => p_application_id
110244 , p_ae_header_id => l_ae_header_id
110245 , p_source_3 => p_source_3
110249 , p_source_27 => p_source_27
110246 , p_source_3_meaning => p_source_3_meaning
110247 , p_source_18 => p_source_18
110248 , p_source_26 => p_source_26
110250 , x_transaction_coa_id => l_adr_transaction_coa_id
110251 , x_accounting_coa_id => l_adr_accounting_coa_id
110252 , x_value_type_code => l_adr_value_type_code
110253 , p_side => 'NA'
110254 );
110255
110256 xla_ae_lines_pkg.set_ccid(
110257 p_code_combination_id => l_ccid
110258 , p_value_type_code => l_adr_value_type_code
110259 , p_transaction_coa_id => l_adr_transaction_coa_id
110260 , p_accounting_coa_id => l_adr_accounting_coa_id
110261 , p_adr_code => 'AP_REAL_LOSS'
110262 , p_adr_type_code => 'S'
110263 , p_component_type => l_component_type
110264 , p_component_code => l_component_code
110265 , p_component_type_code => l_component_type_code
110266 , p_component_appl_id => l_component_appl_id
110267 , p_amb_context_code => l_amb_context_code
110268 , p_side => 'NA'
110269 );
110270
110271
110272 l_segment := AcctDerRule_21(
110273 p_application_id => p_application_id
110274 , p_ae_header_id => l_ae_header_id
110275 , p_source_3 => p_source_3
110276 , p_source_3_meaning => p_source_3_meaning
110277 , p_source_18 => p_source_18
110278 , x_transaction_coa_id => l_adr_transaction_coa_id
110279 , x_accounting_coa_id => l_adr_accounting_coa_id
110280 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110281 , x_flex_value_set_id => l_adr_flex_value_set_id
110282 , x_value_type_code => l_adr_value_type_code
110283 , x_value_combination_id => l_adr_value_combination_id
110284 , x_value_segment_code => l_adr_value_segment_code
110285 , p_side => 'NA'
110286 , p_override_seg_flag => 'Y'
110287 );
110288
110289 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110290
110291 xla_ae_lines_pkg.set_segment(
110292 p_to_segment_code => 'GL_BALANCING'
110293 , p_segment_value => l_segment
110294 , p_from_segment_code => l_adr_value_segment_code
110295 , p_from_combination_id => l_adr_value_combination_id
110296 , p_value_type_code => l_adr_value_type_code
110297 , p_transaction_coa_id => l_adr_transaction_coa_id
110298 , p_accounting_coa_id => l_adr_accounting_coa_id
110299 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110300 , p_flex_value_set_id => l_adr_flex_value_set_id
110301 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
110302 , p_adr_type_code => 'S'
110303 , p_component_type => l_component_type
110304 , p_component_code => l_component_code
110305 , p_component_type_code => l_component_type_code
110306 , p_component_appl_id => l_component_appl_id
110307 , p_amb_context_code => l_amb_context_code
110308 , p_entity_code => 'AP_INVOICES'
110309 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
110310 , p_side => 'NA'
110311 );
110312
110313 END IF;
110314
110315 l_segment := AcctDerRule_17(
110316 p_application_id => p_application_id
110317 , p_ae_header_id => l_ae_header_id
110318 , p_source_3 => p_source_3
110319 , p_source_3_meaning => p_source_3_meaning
110320 , p_source_26 => p_source_26
110321 , p_source_27 => p_source_27
110322 , x_transaction_coa_id => l_adr_transaction_coa_id
110323 , x_accounting_coa_id => l_adr_accounting_coa_id
110324 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110325 , x_flex_value_set_id => l_adr_flex_value_set_id
110326 , x_value_type_code => l_adr_value_type_code
110327 , x_value_combination_id => l_adr_value_combination_id
110328 , x_value_segment_code => l_adr_value_segment_code
110329 , p_side => 'NA'
110330 , p_override_seg_flag => 'Y'
110331 );
110332
110333 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110334
110335 xla_ae_lines_pkg.set_segment(
110336 p_to_segment_code => 'GL_ACCOUNT'
110337 , p_segment_value => l_segment
110338 , p_from_segment_code => l_adr_value_segment_code
110339 , p_from_combination_id => l_adr_value_combination_id
110340 , p_value_type_code => l_adr_value_type_code
110341 , p_transaction_coa_id => l_adr_transaction_coa_id
110342 , p_accounting_coa_id => l_adr_accounting_coa_id
110343 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110344 , p_flex_value_set_id => l_adr_flex_value_set_id
110345 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
110346 , p_adr_type_code => 'S'
110347 , p_component_type => l_component_type
110348 , p_component_code => l_component_code
110349 , p_component_type_code => l_component_type_code
110350 , p_component_appl_id => l_component_appl_id
110351 , p_amb_context_code => l_amb_context_code
110352 , p_entity_code => 'AP_INVOICES'
110353 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
110357 END IF;
110354 , p_side => 'NA'
110355 );
110356
110358
110359 --
110360 --
110361 END IF;
110362
110363 --
110364 -- Update the line information that should be overwritten
110365 --
110366 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
110367 p_header_num => 1);
110368 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
110369
110370 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
110371
110372 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
110373 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
110374 END IF;
110375
110376 --
110377 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
110378 --
110379 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
110380 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
110381 ELSE
110382 ---------------------------------------------------------------------------------------------------
110383 -- 4262811a Switch Sign
110384 ---------------------------------------------------------------------------------------------------
110385 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
110386 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110387 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110388 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
110389 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110390 -- 5132302
110391 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
110392 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
110393
110394 END IF;
110395
110396 -- 4955764
110397 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110398 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
110399
110400
110401 XLA_AE_LINES_PKG.ValidateCurrentLine;
110402 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
110403
110404 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
110405 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
110406 ,p_balance_type_code => l_balance_type_code);
110407
110408 END IF;
110409
110410 -----------------------------------------------------------------------------------------
110411 -- 4262811 Multiperiod Accounting
110412 -----------------------------------------------------------------------------------------
110413 -- No MPA option is assigned.
110414
110415
110416 END IF;
110417 END IF;
110418 --
110419
110420 --
110421 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110422 trace
110423 (p_msg => 'END of AcctLineType_188'
110424 ,p_level => C_LEVEL_PROCEDURE
110425 ,p_module => l_log_module);
110426 END IF;
110427 --
110428 EXCEPTION
110429 WHEN xla_exceptions_pkg.application_exception THEN
110430 RAISE;
110431 WHEN OTHERS THEN
110432 xla_exceptions_pkg.raise_message
110433 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_188');
110434 END AcctLineType_188;
110435 --
110436
110437 ---------------------------------------
110438 --
110439 -- PRIVATE FUNCTION
110440 -- AcctLineType_189
110441 --
110442 ---------------------------------------
110443 PROCEDURE AcctLineType_189 (
110444 p_application_id IN NUMBER
110445 ,p_event_id IN NUMBER
110446 ,p_calculate_acctd_flag IN VARCHAR2
110447 ,p_calculate_g_l_flag IN VARCHAR2
110448 ,p_actual_flag IN OUT VARCHAR2
110449 ,p_balance_type_code OUT VARCHAR2
110450 ,p_gain_or_loss_ref OUT VARCHAR2
110451
110452 --Automatic Offsets Value
110453 , p_source_3 IN VARCHAR2
110454 , p_source_3_meaning IN VARCHAR2
110455 --Invoice Distribution Account
110456 , p_source_18 IN NUMBER
110457 --Internal Realized Loss Account
110458 , p_source_26 IN NUMBER
110459 --Bank Loss Account
110460 , p_source_27 IN NUMBER
110461 --Accounting Reversal Indicator
110462 , p_source_41 IN VARCHAR2
110463 --Distribution Link Type
110464 , p_source_43 IN VARCHAR2
110465 --Override Accounted Amount Indicator
110466 , p_source_68 IN VARCHAR2
110467 , p_source_68_meaning IN VARCHAR2
110468 --Third Party Type
110469 , p_source_71 IN VARCHAR2
110470 --Invoice Distribution Tax Line Identifier
110471 , p_source_74 IN NUMBER
110472 --Invoice Distribution Tax Distribution Identifier from Tax
110473 , p_source_75 IN NUMBER
110474 --Invoice Distribution Summary Tax Line Identifier
110475 , p_source_76 IN NUMBER
110476 --Business Flow Accounts Payable Application Identifier
110477 , p_source_79 IN NUMBER
110481 , p_source_81 IN VARCHAR2
110478 --Business Flow Invoice Distribution Type
110479 , p_source_80 IN VARCHAR2
110480 --Business Flow Invoice Entity Code
110482 --Business Flow Invoice Distribution Identifier
110483 , p_source_82 IN NUMBER
110484 --Business Flow Invoice Identifier
110485 , p_source_83 IN NUMBER
110486 --When to Account for Payment Option
110487 , p_source_89 IN VARCHAR2
110488 --Payment Distribution Type
110489 , p_source_90 IN VARCHAR2
110490 , p_source_90_meaning IN VARCHAR2
110491 --Payment Distribution Amount
110492 , p_source_91 IN NUMBER
110493 --Payment Distribution Identifier
110494 , p_source_96 IN NUMBER
110495 --Payment Supplier Identifier
110496 , p_source_102 IN NUMBER
110497 --Payment Supplier Site Identifier
110498 , p_source_103 IN NUMBER
110499 --Payment Distribution Reversed Identifier
110500 , p_source_104 IN NUMBER
110501 --Payment Currency Code
110502 , p_source_106 IN VARCHAR2
110503 --Payment Exchange Date
110504 , p_source_110 IN DATE
110505 --Payment Exchange Rate
110506 , p_source_111 IN NUMBER
110507 --Payment Exchange Rate Type
110508 , p_source_112 IN VARCHAR2
110509 --Payment Type
110510 , p_source_115 IN VARCHAR2
110511 , p_source_115_meaning IN VARCHAR2
110512 --Invoice/Payment Ledger Amount Difference
110513 , p_source_148 IN NUMBER
110514 --Gain or Loss Indicator between Invoice and Payment
110515 , p_source_153 IN VARCHAR2
110516 )
110517 IS
110518
110519 l_component_type VARCHAR2(80);
110520 l_component_code VARCHAR2(30);
110521 l_component_type_code VARCHAR2(1);
110522 l_component_appl_id INTEGER;
110523 l_amb_context_code VARCHAR2(30);
110524 l_entity_code VARCHAR2(30);
110525 l_event_class_code VARCHAR2(30);
110526 l_ae_header_id NUMBER;
110527 l_event_type_code VARCHAR2(30);
110528 l_line_definition_code VARCHAR2(30);
110529 l_line_definition_owner_code VARCHAR2(1);
110530 --
110531 -- adr variables
110532 l_segment VARCHAR2(30);
110533 l_ccid NUMBER;
110534 l_adr_transaction_coa_id NUMBER;
110535 l_adr_accounting_coa_id NUMBER;
110536 l_adr_flexfield_segment_code VARCHAR2(30);
110537 l_adr_flex_value_set_id NUMBER;
110538 l_adr_value_type_code VARCHAR2(30);
110539 l_adr_value_combination_id NUMBER;
110540 l_adr_value_segment_code VARCHAR2(30);
110541
110542 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
110543 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
110544 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
110545 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
110546
110547 -- 4262811 Variables ------------------------------------------------------------------------------------------
110548 l_entered_amt_idx NUMBER;
110549 l_accted_amt_idx NUMBER;
110550 l_acc_rev_flag VARCHAR2(1);
110551 l_accrual_line_num NUMBER;
110552 l_tmp_amt NUMBER;
110553 l_acc_rev_natural_side_code VARCHAR2(1);
110554
110555 l_num_entries NUMBER;
110556 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
110557 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
110558 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
110559 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
110560 l_recog_line_1 NUMBER;
110561 l_recog_line_2 NUMBER;
110562
110563 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
110564 l_bflow_applied_to_amt NUMBER; -- 5132302
110565 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
110566
110567 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
110568
110569 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
110570 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
110571
110572 ---------------------------------------------------------------------------------------------------------------
110573
110574
110575 --
110576 -- bulk performance
110577 --
110578 l_balance_type_code VARCHAR2(1);
110579 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
110580 l_log_module VARCHAR2(240);
110581
110582 --
110583 -- Upgrade strategy
110584 --
110585 l_actual_upg_option VARCHAR2(1);
110586 l_enc_upg_option VARCHAR2(1);
110587
110588 --
110589 BEGIN
110590 --
110591 IF g_log_enabled THEN
110592 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_189';
110593 END IF;
110594 --
110595 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
110596
110597 trace
110598 (p_msg => 'BEGIN of AcctLineType_189'
110599 ,p_level => C_LEVEL_PROCEDURE
110600 ,p_module => l_log_module);
110601
110602 END IF;
110603 --
110604 l_component_type := 'AMB_JLT';
110605 l_component_code := 'AP_LOSS_REF';
110606 l_component_type_code := 'S';
110607 l_component_appl_id := 200;
110611 l_event_type_code := 'REFUNDS_ALL';
110608 l_amb_context_code := 'DEFAULT';
110609 l_entity_code := 'AP_PAYMENTS';
110610 l_event_class_code := 'REFUNDS';
110612 l_line_definition_owner_code := 'S';
110613 l_line_definition_code := 'ACCRUAL_REFUNDS_ALL';
110614 --
110615 l_balance_type_code := 'A';
110616 l_segment := NULL;
110617 l_ccid := NULL;
110618 l_adr_transaction_coa_id := NULL;
110619 l_adr_accounting_coa_id := NULL;
110620 l_adr_flexfield_segment_code := NULL;
110621 l_adr_flex_value_set_id := NULL;
110622 l_adr_value_type_code := NULL;
110623 l_adr_value_combination_id := NULL;
110624 l_adr_value_segment_code := NULL;
110625
110626 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
110627 l_bflow_class_code := ''; -- 4219869 Business Flow
110628 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
110629 l_budgetary_control_flag := 'N';
110630
110631 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110632 l_bflow_applied_to_amt := NULL; -- 5132302
110633 l_entered_amt_idx := NULL; -- 4262811
110634 l_accted_amt_idx := NULL; -- 4262811
110635 l_acc_rev_flag := NULL; -- 4262811
110636 l_accrual_line_num := NULL; -- 4262811
110637 l_tmp_amt := NULL; -- 4262811
110638 --
110639 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
110640 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
110641 return;
110642 END IF;
110643
110644 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
110645 l_balance_type_code <> 'B' THEN
110646 IF (NVL(p_source_89,'
110647 ') <> 'CLEAR_CLEAR' AND
110648 NVL(p_source_89,'
110649 ') <> 'ALWAYS_CLEAR') AND
110650 NVL(p_source_153,'
110651 ') = 'LOSS' AND
110652 NVL(p_source_115,'
110653 ') = 'R' AND
110654 NVL(p_source_90,'
110655 ') <> 'EXCHANGE RATE VARIANCE' AND
110656 NVL(p_source_90,'
110657 ') <> 'TAX EXCHANGE RATE VARIANCE' AND
110658 NVL(p_source_90,'
110659 ') <> 'BANK CHARGE' AND
110660 NVL(p_source_90,'
110661 ') <> 'BANK ERROR'
110662 THEN
110663
110664 --
110665 XLA_AE_LINES_PKG.SetNewLine;
110666
110667 p_balance_type_code := l_balance_type_code;
110668 -- set the flag so later we will know whether the gain loss line needs to be created
110669
110670 IF(l_balance_type_code = 'A' ) THEN
110671 p_actual_flag :='G';
110672 END IF;
110673
110674 --
110675 -- bulk performance
110676 --
110677 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
110678 p_header_num => 0); -- 4262811
110679 --
110680 -- set accounting line options
110681 --
110682 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
110683 p_natural_side_code => 'C'
110684 , p_gain_or_loss_flag => 'Y'
110685 , p_gl_transfer_mode_code => 'S'
110686 , p_acct_entry_type_code => 'A'
110687 , p_switch_side_flag => 'Y'
110688 , p_merge_duplicate_code => 'A'
110689 );
110690 --
110691 l_acc_rev_natural_side_code := 'D'; -- 4262811
110692 --
110693 --
110694 -- set accounting line type info
110695 --
110696 xla_ae_lines_pkg.SetAcctLineType
110697 (p_component_type => l_component_type
110698 ,p_event_type_code => l_event_type_code
110699 ,p_line_definition_owner_code => l_line_definition_owner_code
110700 ,p_line_definition_code => l_line_definition_code
110701 ,p_accounting_line_code => l_component_code
110702 ,p_accounting_line_type_code => l_component_type_code
110703 ,p_accounting_line_appl_id => l_component_appl_id
110704 ,p_amb_context_code => l_amb_context_code
110705 ,p_entity_code => l_entity_code
110706 ,p_event_class_code => l_event_class_code);
110707 --
110708 -- set accounting class
110709 --
110710 xla_ae_lines_pkg.SetAcctClass(
110711 p_accounting_class_code => 'LOSS'
110712 , p_ae_header_id => l_ae_header_id
110713 );
110714
110715 --
110716 -- set rounding class
110717 --
110718 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
110719 'LOSS';
110720
110721 --
110722 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
110723 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
110724 --
110725 -- bulk performance
110726 --
110727 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
110728
110729 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
110730 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
110731
110732 -- 4955764
110733 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
110734 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
110735
110739 -- set accounting attributes for the line type
110736 -- 4458381 Public Sector Enh
110737
110738 --
110740 --
110741 l_entered_amt_idx := 9;
110742 l_accted_amt_idx := 14;
110743 l_bflow_applied_to_amt_idx := NULL; -- 5132302
110744 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
110745 l_rec_acct_attrs.array_char_value(1) := p_source_41;
110746 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_APPLICATION_ID';
110747 l_rec_acct_attrs.array_num_value(2) := p_source_79;
110748 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_DISTRIBUTION_TYPE';
110749 l_rec_acct_attrs.array_char_value(3) := p_source_80;
110750 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_ENTITY_CODE';
110751 l_rec_acct_attrs.array_char_value(4) := p_source_81;
110752 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_FIRST_DIST_ID';
110753 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_82);
110754 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
110755 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_83);
110756 l_rec_acct_attrs.array_acct_attr_code(7) := 'DISTRIBUTION_IDENTIFIER_1';
110757 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_96);
110758 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_TYPE';
110759 l_rec_acct_attrs.array_char_value(8) := p_source_43;
110760 l_rec_acct_attrs.array_acct_attr_code(9) := 'ENTERED_CURRENCY_AMOUNT';
110761 l_rec_acct_attrs.array_num_value(9) := p_source_91;
110762 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_CODE';
110763 l_rec_acct_attrs.array_char_value(10) := p_source_106;
110764 l_rec_acct_attrs.array_acct_attr_code(11) := 'EXCHANGE_DATE';
110765 l_rec_acct_attrs.array_date_value(11) := p_source_110;
110766 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_RATE';
110767 l_rec_acct_attrs.array_num_value(12) := p_source_111;
110768 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE_TYPE';
110769 l_rec_acct_attrs.array_char_value(13) := p_source_112;
110770 l_rec_acct_attrs.array_acct_attr_code(14) := 'LEDGER_AMOUNT';
110771 l_rec_acct_attrs.array_num_value(14) := p_source_148;
110772 l_rec_acct_attrs.array_acct_attr_code(15) := 'OVERRIDE_ACCTD_AMT_FLAG';
110773 l_rec_acct_attrs.array_char_value(15) := p_source_68;
110774 l_rec_acct_attrs.array_acct_attr_code(16) := 'PARTY_ID';
110775 l_rec_acct_attrs.array_num_value(16) := p_source_102;
110776 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_SITE_ID';
110777 l_rec_acct_attrs.array_num_value(17) := p_source_103;
110778 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_TYPE';
110779 l_rec_acct_attrs.array_char_value(18) := p_source_71;
110780 l_rec_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_ID1';
110781 l_rec_acct_attrs.array_num_value(19) := to_char(p_source_104);
110782 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_TYPE';
110783 l_rec_acct_attrs.array_char_value(20) := p_source_43;
110784 l_rec_acct_attrs.array_acct_attr_code(21) := 'TAX_LINE_REF_ID';
110785 l_rec_acct_attrs.array_num_value(21) := p_source_74;
110786 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_REC_NREC_DIST_REF_ID';
110787 l_rec_acct_attrs.array_num_value(22) := p_source_75;
110788 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_SUMMARY_LINE_REF_ID';
110789 l_rec_acct_attrs.array_num_value(23) := p_source_76;
110790
110791 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
110792 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
110793
110794 ---------------------------------------------------------------------------------------------------------------
110795 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
110796 ---------------------------------------------------------------------------------------------------------------
110797 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
110798
110799 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110800 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
110801
110802 IF xla_accounting_cache_pkg.GetValueChar
110803 (p_source_code => 'LEDGER_CATEGORY_CODE'
110804 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
110805 AND l_bflow_method_code = 'PRIOR_ENTRY'
110806 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
110807 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
110808 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
110809 )
110810 THEN
110811 xla_ae_lines_pkg.BflowUpgEntry
110812 (p_business_method_code => l_bflow_method_code
110813 ,p_business_class_code => l_bflow_class_code
110814 ,p_balance_type => l_balance_type_code);
110815 ELSE
110816 NULL;
110817 -- No business flow processing for business flow method of NONE.
110818 END IF;
110819
110820 --
110821 -- call analytical criteria
110822 --
110823
110824 --
110825 -- call description
110826 --
110827 -- No description or it is inherited.
110828 --
110829 -- call ADRs
110830 -- Bug 4922099
110831 --
110832 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
110833 (NVL(l_actual_upg_option, 'N') = 'O') OR
110834 (NVL(l_enc_upg_option, 'N') = 'O')
110835 )
110836 THEN
110837 NULL;
110838 --
110839 --
110840
110844 , p_source_3 => p_source_3
110841 l_ccid := AcctDerRule_38(
110842 p_application_id => p_application_id
110843 , p_ae_header_id => l_ae_header_id
110845 , p_source_3_meaning => p_source_3_meaning
110846 , p_source_18 => p_source_18
110847 , p_source_26 => p_source_26
110848 , p_source_27 => p_source_27
110849 , x_transaction_coa_id => l_adr_transaction_coa_id
110850 , x_accounting_coa_id => l_adr_accounting_coa_id
110851 , x_value_type_code => l_adr_value_type_code
110852 , p_side => 'NA'
110853 );
110854
110855 xla_ae_lines_pkg.set_ccid(
110856 p_code_combination_id => l_ccid
110857 , p_value_type_code => l_adr_value_type_code
110858 , p_transaction_coa_id => l_adr_transaction_coa_id
110859 , p_accounting_coa_id => l_adr_accounting_coa_id
110860 , p_adr_code => 'AP_REAL_LOSS'
110861 , p_adr_type_code => 'S'
110862 , p_component_type => l_component_type
110863 , p_component_code => l_component_code
110864 , p_component_type_code => l_component_type_code
110865 , p_component_appl_id => l_component_appl_id
110866 , p_amb_context_code => l_amb_context_code
110867 , p_side => 'NA'
110868 );
110869
110870
110871 l_segment := AcctDerRule_21(
110872 p_application_id => p_application_id
110873 , p_ae_header_id => l_ae_header_id
110874 , p_source_3 => p_source_3
110875 , p_source_3_meaning => p_source_3_meaning
110876 , p_source_18 => p_source_18
110877 , x_transaction_coa_id => l_adr_transaction_coa_id
110878 , x_accounting_coa_id => l_adr_accounting_coa_id
110879 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110880 , x_flex_value_set_id => l_adr_flex_value_set_id
110881 , x_value_type_code => l_adr_value_type_code
110882 , x_value_combination_id => l_adr_value_combination_id
110883 , x_value_segment_code => l_adr_value_segment_code
110884 , p_side => 'NA'
110885 , p_override_seg_flag => 'Y'
110886 );
110887
110888 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110889
110890 xla_ae_lines_pkg.set_segment(
110891 p_to_segment_code => 'GL_BALANCING'
110892 , p_segment_value => l_segment
110893 , p_from_segment_code => l_adr_value_segment_code
110894 , p_from_combination_id => l_adr_value_combination_id
110895 , p_value_type_code => l_adr_value_type_code
110896 , p_transaction_coa_id => l_adr_transaction_coa_id
110897 , p_accounting_coa_id => l_adr_accounting_coa_id
110898 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110899 , p_flex_value_set_id => l_adr_flex_value_set_id
110900 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
110901 , p_adr_type_code => 'S'
110902 , p_component_type => l_component_type
110903 , p_component_code => l_component_code
110904 , p_component_type_code => l_component_type_code
110905 , p_component_appl_id => l_component_appl_id
110906 , p_amb_context_code => l_amb_context_code
110907 , p_entity_code => 'AP_PAYMENTS'
110908 , p_event_class_code => 'REFUNDS'
110909 , p_side => 'NA'
110910 );
110911
110912 END IF;
110913
110914 l_segment := AcctDerRule_17(
110915 p_application_id => p_application_id
110916 , p_ae_header_id => l_ae_header_id
110917 , p_source_3 => p_source_3
110918 , p_source_3_meaning => p_source_3_meaning
110919 , p_source_26 => p_source_26
110920 , p_source_27 => p_source_27
110921 , x_transaction_coa_id => l_adr_transaction_coa_id
110922 , x_accounting_coa_id => l_adr_accounting_coa_id
110923 , x_flexfield_segment_code => l_adr_flexfield_segment_code
110924 , x_flex_value_set_id => l_adr_flex_value_set_id
110925 , x_value_type_code => l_adr_value_type_code
110926 , x_value_combination_id => l_adr_value_combination_id
110927 , x_value_segment_code => l_adr_value_segment_code
110928 , p_side => 'NA'
110929 , p_override_seg_flag => 'Y'
110930 );
110931
110932 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
110933
110934 xla_ae_lines_pkg.set_segment(
110935 p_to_segment_code => 'GL_ACCOUNT'
110936 , p_segment_value => l_segment
110937 , p_from_segment_code => l_adr_value_segment_code
110938 , p_from_combination_id => l_adr_value_combination_id
110939 , p_value_type_code => l_adr_value_type_code
110940 , p_transaction_coa_id => l_adr_transaction_coa_id
110941 , p_accounting_coa_id => l_adr_accounting_coa_id
110942 , p_flexfield_segment_code => l_adr_flexfield_segment_code
110943 , p_flex_value_set_id => l_adr_flex_value_set_id
110944 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
110945 , p_adr_type_code => 'S'
110946 , p_component_type => l_component_type
110947 , p_component_code => l_component_code
110948 , p_component_type_code => l_component_type_code
110949 , p_component_appl_id => l_component_appl_id
110953 , p_side => 'NA'
110950 , p_amb_context_code => l_amb_context_code
110951 , p_entity_code => 'AP_PAYMENTS'
110952 , p_event_class_code => 'REFUNDS'
110954 );
110955
110956 END IF;
110957
110958 --
110959 --
110960 END IF;
110961 --
110962 -- Bug 4922099
110963 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
110964 (NVL(l_enc_upg_option, 'N') = 'O')
110965 ) AND
110966 (l_bflow_method_code = 'PRIOR_ENTRY')
110967 )
110968 THEN
110969 IF
110970 --
110971 1 = 2
110972 --
110973 THEN
110974 xla_accounting_err_pkg.build_message
110975 (p_appli_s_name => 'XLA'
110976 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
110977 ,p_token_1 => 'LINE_NUMBER'
110978 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
110979 ,p_token_2 => 'LINE_TYPE_NAME'
110980 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
110981 l_component_type
110982 ,l_component_code
110983 ,l_component_type_code
110984 ,l_component_appl_id
110985 ,l_amb_context_code
110986 ,l_entity_code
110987 ,l_event_class_code
110988 )
110989 ,p_token_3 => 'OWNER'
110990 ,p_value_3 => xla_lookups_pkg.get_meaning(
110991 p_lookup_type => 'XLA_OWNER_TYPE'
110992 ,p_lookup_code => l_component_type_code
110993 )
110994 ,p_token_4 => 'PRODUCT_NAME'
110995 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
110996 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
110997 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
110998 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
110999 ,p_ae_header_id => NULL
111000 );
111001
111002 IF (C_LEVEL_ERROR>= g_log_level) THEN
111003 trace
111004 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111005 ,p_level => C_LEVEL_ERROR
111006 ,p_module => l_log_module);
111007 END IF;
111008 END IF;
111009 END IF;
111010 --
111011 --
111012 ------------------------------------------------------------------------------------------------
111013 -- 4219869 Business Flow
111014 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111015 -- Prior Entry. Currently, the following code is always generated.
111016 ------------------------------------------------------------------------------------------------
111017 XLA_AE_LINES_PKG.ValidateCurrentLine;
111018
111019 ------------------------------------------------------------------------------------
111020 -- 4219869 Business Flow
111021 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111022 ------------------------------------------------------------------------------------
111023 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111024
111025 ----------------------------------------------------------------------------------
111026 -- 4219869 Business Flow
111027 -- Update journal entry status -- Need to generate this within IF <condition>
111028 ----------------------------------------------------------------------------------
111029 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111030 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111031 ,p_balance_type_code => l_balance_type_code
111032 );
111033
111034 -------------------------------------------------------------------------------------------
111035 -- 4262811 - Generate the Accrual Reversal lines
111036 -------------------------------------------------------------------------------------------
111037 BEGIN
111038 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111039 (g_array_event(p_event_id).array_value_num('header_index'));
111040 IF l_acc_rev_flag IS NULL THEN
111041 l_acc_rev_flag := 'N';
111042 END IF;
111043 EXCEPTION
111044 WHEN OTHERS THEN
111045 l_acc_rev_flag := 'N';
111046 END;
111047 --
111048 IF (l_acc_rev_flag = 'Y') THEN
111049
111050 -- 4645092 ------------------------------------------------------------------------------
111054
111051 -- To allow MPA report to determine if it should generate report process
111052 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111053 ------------------------------------------------------------------------------------------
111055 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111056 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111057 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111058 -- call ADRs
111059 -- Bug 4922099
111060 --
111061 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111062 (NVL(l_actual_upg_option, 'N') = 'O') OR
111063 (NVL(l_enc_upg_option, 'N') = 'O')
111064 )
111065 THEN
111066 NULL;
111067 --
111068 --
111069
111070 l_ccid := AcctDerRule_38(
111071 p_application_id => p_application_id
111072 , p_ae_header_id => l_ae_header_id
111073 , p_source_3 => p_source_3
111074 , p_source_3_meaning => p_source_3_meaning
111075 , p_source_18 => p_source_18
111076 , p_source_26 => p_source_26
111077 , p_source_27 => p_source_27
111078 , x_transaction_coa_id => l_adr_transaction_coa_id
111079 , x_accounting_coa_id => l_adr_accounting_coa_id
111080 , x_value_type_code => l_adr_value_type_code
111081 , p_side => 'NA'
111082 );
111083
111084 xla_ae_lines_pkg.set_ccid(
111085 p_code_combination_id => l_ccid
111086 , p_value_type_code => l_adr_value_type_code
111087 , p_transaction_coa_id => l_adr_transaction_coa_id
111088 , p_accounting_coa_id => l_adr_accounting_coa_id
111089 , p_adr_code => 'AP_REAL_LOSS'
111090 , p_adr_type_code => 'S'
111091 , p_component_type => l_component_type
111092 , p_component_code => l_component_code
111093 , p_component_type_code => l_component_type_code
111094 , p_component_appl_id => l_component_appl_id
111095 , p_amb_context_code => l_amb_context_code
111096 , p_side => 'NA'
111097 );
111098
111099
111100 l_segment := AcctDerRule_21(
111101 p_application_id => p_application_id
111102 , p_ae_header_id => l_ae_header_id
111103 , p_source_3 => p_source_3
111104 , p_source_3_meaning => p_source_3_meaning
111105 , p_source_18 => p_source_18
111106 , x_transaction_coa_id => l_adr_transaction_coa_id
111107 , x_accounting_coa_id => l_adr_accounting_coa_id
111108 , x_flexfield_segment_code => l_adr_flexfield_segment_code
111109 , x_flex_value_set_id => l_adr_flex_value_set_id
111110 , x_value_type_code => l_adr_value_type_code
111111 , x_value_combination_id => l_adr_value_combination_id
111112 , x_value_segment_code => l_adr_value_segment_code
111113 , p_side => 'NA'
111114 , p_override_seg_flag => 'Y'
111115 );
111116
111117 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
111118
111119 xla_ae_lines_pkg.set_segment(
111120 p_to_segment_code => 'GL_BALANCING'
111121 , p_segment_value => l_segment
111122 , p_from_segment_code => l_adr_value_segment_code
111123 , p_from_combination_id => l_adr_value_combination_id
111124 , p_value_type_code => l_adr_value_type_code
111125 , p_transaction_coa_id => l_adr_transaction_coa_id
111126 , p_accounting_coa_id => l_adr_accounting_coa_id
111127 , p_flexfield_segment_code => l_adr_flexfield_segment_code
111128 , p_flex_value_set_id => l_adr_flex_value_set_id
111129 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
111130 , p_adr_type_code => 'S'
111131 , p_component_type => l_component_type
111132 , p_component_code => l_component_code
111133 , p_component_type_code => l_component_type_code
111134 , p_component_appl_id => l_component_appl_id
111135 , p_amb_context_code => l_amb_context_code
111136 , p_entity_code => 'AP_PAYMENTS'
111137 , p_event_class_code => 'REFUNDS'
111138 , p_side => 'NA'
111139 );
111140
111141 END IF;
111142
111143 l_segment := AcctDerRule_17(
111144 p_application_id => p_application_id
111145 , p_ae_header_id => l_ae_header_id
111146 , p_source_3 => p_source_3
111147 , p_source_3_meaning => p_source_3_meaning
111148 , p_source_26 => p_source_26
111149 , p_source_27 => p_source_27
111150 , x_transaction_coa_id => l_adr_transaction_coa_id
111151 , x_accounting_coa_id => l_adr_accounting_coa_id
111152 , x_flexfield_segment_code => l_adr_flexfield_segment_code
111153 , x_flex_value_set_id => l_adr_flex_value_set_id
111154 , x_value_type_code => l_adr_value_type_code
111155 , x_value_combination_id => l_adr_value_combination_id
111156 , x_value_segment_code => l_adr_value_segment_code
111157 , p_side => 'NA'
111158 , p_override_seg_flag => 'Y'
111159 );
111160
111161 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
111162
111163 xla_ae_lines_pkg.set_segment(
111167 , p_from_combination_id => l_adr_value_combination_id
111164 p_to_segment_code => 'GL_ACCOUNT'
111165 , p_segment_value => l_segment
111166 , p_from_segment_code => l_adr_value_segment_code
111168 , p_value_type_code => l_adr_value_type_code
111169 , p_transaction_coa_id => l_adr_transaction_coa_id
111170 , p_accounting_coa_id => l_adr_accounting_coa_id
111171 , p_flexfield_segment_code => l_adr_flexfield_segment_code
111172 , p_flex_value_set_id => l_adr_flex_value_set_id
111173 , p_adr_code => 'AP_REAL_LOSS_NAT_ACCT_SEG'
111174 , p_adr_type_code => 'S'
111175 , p_component_type => l_component_type
111176 , p_component_code => l_component_code
111177 , p_component_type_code => l_component_type_code
111178 , p_component_appl_id => l_component_appl_id
111179 , p_amb_context_code => l_amb_context_code
111180 , p_entity_code => 'AP_PAYMENTS'
111181 , p_event_class_code => 'REFUNDS'
111182 , p_side => 'NA'
111183 );
111184
111185 END IF;
111186
111187 --
111188 --
111189 END IF;
111190
111191 --
111192 -- Update the line information that should be overwritten
111193 --
111194 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111195 p_header_num => 1);
111196 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111197
111198 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111199
111200 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111201 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111202 END IF;
111203
111204 --
111205 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
111206 --
111207 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
111208 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
111209 ELSE
111210 ---------------------------------------------------------------------------------------------------
111211 -- 4262811a Switch Sign
111212 ---------------------------------------------------------------------------------------------------
111213 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
111214 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111215 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111216 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111217 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111218 -- 5132302
111219 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
111220 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111221
111222 END IF;
111223
111224 -- 4955764
111225 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111226 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
111227
111228
111229 XLA_AE_LINES_PKG.ValidateCurrentLine;
111230 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111231
111232 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111233 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
111234 ,p_balance_type_code => l_balance_type_code);
111235
111236 END IF;
111237
111238 -----------------------------------------------------------------------------------------
111239 -- 4262811 Multiperiod Accounting
111240 -----------------------------------------------------------------------------------------
111241 -- No MPA option is assigned.
111242
111243
111244 END IF;
111245 END IF;
111246 --
111247
111248 --
111249 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111250 trace
111251 (p_msg => 'END of AcctLineType_189'
111252 ,p_level => C_LEVEL_PROCEDURE
111253 ,p_module => l_log_module);
111254 END IF;
111255 --
111256 EXCEPTION
111257 WHEN xla_exceptions_pkg.application_exception THEN
111258 RAISE;
111259 WHEN OTHERS THEN
111260 xla_exceptions_pkg.raise_message
111261 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_189');
111262 END AcctLineType_189;
111263 --
111264
111265 ---------------------------------------
111266 --
111267 -- PRIVATE FUNCTION
111268 -- AcctLineType_190
111269 --
111270 ---------------------------------------
111271 PROCEDURE AcctLineType_190 (
111272 p_application_id IN NUMBER
111273 ,p_event_id IN NUMBER
111274 ,p_calculate_acctd_flag IN VARCHAR2
111275 ,p_calculate_g_l_flag IN VARCHAR2
111276 ,p_actual_flag IN OUT VARCHAR2
111277 ,p_balance_type_code OUT VARCHAR2
111278 ,p_gain_or_loss_ref OUT VARCHAR2
111279
111280 --Automatic Offsets Value
111284 , p_source_18 IN NUMBER
111281 , p_source_3 IN VARCHAR2
111282 , p_source_3_meaning IN VARCHAR2
111283 --Invoice Distribution Account
111285 --Payables Options Rounding Account
111286 , p_source_37 IN NUMBER
111287 --Accounting Reversal Indicator
111288 , p_source_41 IN VARCHAR2
111289 --Distribution Link Type
111290 , p_source_43 IN VARCHAR2
111291 --Override Accounted Amount Indicator
111292 , p_source_68 IN VARCHAR2
111293 , p_source_68_meaning IN VARCHAR2
111294 --Third Party Type
111295 , p_source_71 IN VARCHAR2
111296 --Invoice Distribution Tax Line Identifier
111297 , p_source_74 IN NUMBER
111298 --Invoice Distribution Summary Tax Line Identifier
111299 , p_source_76 IN NUMBER
111300 --Business Flow Accounts Payable Application Identifier
111301 , p_source_79 IN NUMBER
111302 --When to Account for Payment Option
111303 , p_source_89 IN VARCHAR2
111304 --Payment Distribution Type
111305 , p_source_90 IN VARCHAR2
111306 , p_source_90_meaning IN VARCHAR2
111307 --Payment Distribution Amount
111308 , p_source_91 IN NUMBER
111309 --Business Flow Payment Distribution Type
111310 , p_source_92 IN VARCHAR2
111311 --Business Flow Payment Entity Code
111312 , p_source_93 IN VARCHAR2
111313 --Business Flow Payment Distribution Identifier
111314 , p_source_94 IN NUMBER
111315 --Business Flow Payment Identifier
111316 , p_source_95 IN NUMBER
111317 --Payment Distribution Identifier
111318 , p_source_96 IN NUMBER
111319 --Cleared Exchange Date
111320 , p_source_98 IN DATE
111321 --Cleared Exchange Rate
111322 , p_source_99 IN NUMBER
111323 --Cleared Exchange Rate Type
111324 , p_source_100 IN VARCHAR2
111325 --Payment Supplier Identifier
111326 , p_source_102 IN NUMBER
111327 --Payment Supplier Site Identifier
111328 , p_source_103 IN NUMBER
111329 --Payment Distribution Reversed Identifier
111330 , p_source_104 IN NUMBER
111331 --Payment Currency Code
111332 , p_source_106 IN VARCHAR2
111333 --Payment Maturity Date
111334 , p_source_107 IN DATE
111335 --Payment Distribution (Matured Rate) Ledger Amount
111336 , p_source_114 IN NUMBER
111337 )
111338 IS
111339
111340 l_component_type VARCHAR2(80);
111341 l_component_code VARCHAR2(30);
111342 l_component_type_code VARCHAR2(1);
111343 l_component_appl_id INTEGER;
111344 l_amb_context_code VARCHAR2(30);
111345 l_entity_code VARCHAR2(30);
111346 l_event_class_code VARCHAR2(30);
111347 l_ae_header_id NUMBER;
111348 l_event_type_code VARCHAR2(30);
111349 l_line_definition_code VARCHAR2(30);
111350 l_line_definition_owner_code VARCHAR2(1);
111351 --
111352 -- adr variables
111353 l_segment VARCHAR2(30);
111354 l_ccid NUMBER;
111355 l_adr_transaction_coa_id NUMBER;
111356 l_adr_accounting_coa_id NUMBER;
111357 l_adr_flexfield_segment_code VARCHAR2(30);
111358 l_adr_flex_value_set_id NUMBER;
111359 l_adr_value_type_code VARCHAR2(30);
111360 l_adr_value_combination_id NUMBER;
111361 l_adr_value_segment_code VARCHAR2(30);
111362
111363 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
111364 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
111365 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
111366 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
111367
111368 -- 4262811 Variables ------------------------------------------------------------------------------------------
111369 l_entered_amt_idx NUMBER;
111370 l_accted_amt_idx NUMBER;
111371 l_acc_rev_flag VARCHAR2(1);
111372 l_accrual_line_num NUMBER;
111373 l_tmp_amt NUMBER;
111374 l_acc_rev_natural_side_code VARCHAR2(1);
111375
111376 l_num_entries NUMBER;
111377 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
111378 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
111379 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
111380 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
111381 l_recog_line_1 NUMBER;
111382 l_recog_line_2 NUMBER;
111383
111384 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
111385 l_bflow_applied_to_amt NUMBER; -- 5132302
111386 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
111387
111388 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
111389
111390 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
111391 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
111392
111393 ---------------------------------------------------------------------------------------------------------------
111394
111395
111396 --
111397 -- bulk performance
111398 --
111399 l_balance_type_code VARCHAR2(1);
111400 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
111401 l_log_module VARCHAR2(240);
111402
111403 --
111404 -- Upgrade strategy
111405 --
111409 --
111406 l_actual_upg_option VARCHAR2(1);
111407 l_enc_upg_option VARCHAR2(1);
111408
111410 BEGIN
111411 --
111412 IF g_log_enabled THEN
111413 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_190';
111414 END IF;
111415 --
111416 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111417
111418 trace
111419 (p_msg => 'BEGIN of AcctLineType_190'
111420 ,p_level => C_LEVEL_PROCEDURE
111421 ,p_module => l_log_module);
111422
111423 END IF;
111424 --
111425 l_component_type := 'AMB_JLT';
111426 l_component_code := 'AP_MAT_CLR_ROUNDING_CLEAR';
111427 l_component_type_code := 'S';
111428 l_component_appl_id := 200;
111429 l_amb_context_code := 'DEFAULT';
111430 l_entity_code := 'AP_PAYMENTS';
111431 l_event_class_code := 'RECONCILED PAYMENTS';
111432 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
111433 l_line_definition_owner_code := 'S';
111434 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
111435 --
111436 l_balance_type_code := 'A';
111437 l_segment := NULL;
111438 l_ccid := NULL;
111439 l_adr_transaction_coa_id := NULL;
111440 l_adr_accounting_coa_id := NULL;
111441 l_adr_flexfield_segment_code := NULL;
111442 l_adr_flex_value_set_id := NULL;
111443 l_adr_value_type_code := NULL;
111444 l_adr_value_combination_id := NULL;
111445 l_adr_value_segment_code := NULL;
111446
111447 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
111448 l_bflow_class_code := ''; -- 4219869 Business Flow
111449 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
111450 l_budgetary_control_flag := 'N';
111451
111452 l_bflow_applied_to_amt_idx := NULL; -- 5132302
111453 l_bflow_applied_to_amt := NULL; -- 5132302
111454 l_entered_amt_idx := NULL; -- 4262811
111455 l_accted_amt_idx := NULL; -- 4262811
111456 l_acc_rev_flag := NULL; -- 4262811
111457 l_accrual_line_num := NULL; -- 4262811
111458 l_tmp_amt := NULL; -- 4262811
111459 --
111460
111461 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
111462 l_balance_type_code <> 'B' THEN
111463 IF (NVL(p_source_89,'
111464 ') = 'ALWAYS_ALWAYS' OR
111465 NVL(p_source_89,'
111466 ') = 'ALWAYS_CLEAR') AND
111467 NVL(p_source_90,'
111468 ') = 'MATURITY TO CLEARING ROUNDING' AND
111469 p_source_107 IS NOT NULL
111470 THEN
111471
111472 --
111473 XLA_AE_LINES_PKG.SetNewLine;
111474
111475 p_balance_type_code := l_balance_type_code;
111476 -- set the flag so later we will know whether the gain loss line needs to be created
111477
111478 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
111479 p_actual_flag :='A';
111480 END IF;
111481
111482 --
111483 -- bulk performance
111484 --
111485 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
111486 p_header_num => 0); -- 4262811
111487 --
111488 -- set accounting line options
111489 --
111490 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
111491 p_natural_side_code => 'D'
111492 , p_gain_or_loss_flag => 'N'
111493 , p_gl_transfer_mode_code => 'S'
111494 , p_acct_entry_type_code => 'A'
111495 , p_switch_side_flag => 'Y'
111496 , p_merge_duplicate_code => 'A'
111497 );
111498 --
111499 l_acc_rev_natural_side_code := 'C'; -- 4262811
111500 --
111501 --
111502 -- set accounting line type info
111503 --
111504 xla_ae_lines_pkg.SetAcctLineType
111505 (p_component_type => l_component_type
111506 ,p_event_type_code => l_event_type_code
111507 ,p_line_definition_owner_code => l_line_definition_owner_code
111508 ,p_line_definition_code => l_line_definition_code
111509 ,p_accounting_line_code => l_component_code
111510 ,p_accounting_line_type_code => l_component_type_code
111511 ,p_accounting_line_appl_id => l_component_appl_id
111512 ,p_amb_context_code => l_amb_context_code
111513 ,p_entity_code => l_entity_code
111514 ,p_event_class_code => l_event_class_code);
111515 --
111516 -- set accounting class
111517 --
111518 xla_ae_lines_pkg.SetAcctClass(
111519 p_accounting_class_code => 'ROUNDING'
111520 , p_ae_header_id => l_ae_header_id
111521 );
111522
111523 --
111524 -- set rounding class
111525 --
111526 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
111527 'ROUNDING';
111528
111529 --
111530 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
111531 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
111532 --
111533 -- bulk performance
111534 --
111535 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
111536
111537 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
111538 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
111539
111540 -- 4955764
111544 -- 4458381 Public Sector Enh
111541 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111542 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
111543
111545
111546 --
111547 -- set accounting attributes for the line type
111548 --
111549 l_entered_amt_idx := 10;
111550 l_accted_amt_idx := 15;
111551 l_bflow_applied_to_amt_idx := 2; -- 5132302
111552 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
111553 l_rec_acct_attrs.array_char_value(1) := p_source_41;
111554 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
111555 l_rec_acct_attrs.array_num_value(2) := p_source_91;
111556 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
111557 l_rec_acct_attrs.array_num_value(3) := p_source_79;
111558 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
111559 l_rec_acct_attrs.array_char_value(4) := p_source_92;
111560 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
111561 l_rec_acct_attrs.array_char_value(5) := p_source_93;
111562 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
111563 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
111564 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
111565 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
111566 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
111567 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
111568 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
111569 l_rec_acct_attrs.array_char_value(9) := p_source_43;
111570 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
111571 l_rec_acct_attrs.array_num_value(10) := p_source_91;
111572 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
111573 l_rec_acct_attrs.array_char_value(11) := p_source_106;
111574 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
111575 l_rec_acct_attrs.array_date_value(12) := p_source_98;
111576 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
111577 l_rec_acct_attrs.array_num_value(13) := p_source_99;
111578 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
111579 l_rec_acct_attrs.array_char_value(14) := p_source_100;
111580 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
111581 l_rec_acct_attrs.array_num_value(15) := p_source_114;
111582 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
111583 l_rec_acct_attrs.array_char_value(16) := p_source_68;
111584 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
111585 l_rec_acct_attrs.array_num_value(17) := p_source_102;
111586 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
111587 l_rec_acct_attrs.array_num_value(18) := p_source_103;
111588 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
111589 l_rec_acct_attrs.array_char_value(19) := p_source_71;
111590 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
111591 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
111592 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
111593 l_rec_acct_attrs.array_char_value(21) := p_source_43;
111594 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
111595 l_rec_acct_attrs.array_num_value(22) := p_source_74;
111596 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
111597 l_rec_acct_attrs.array_num_value(23) := p_source_74;
111598 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
111599 l_rec_acct_attrs.array_num_value(24) := p_source_76;
111600
111601 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
111602 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
111603
111604 ---------------------------------------------------------------------------------------------------------------
111605 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
111606 ---------------------------------------------------------------------------------------------------------------
111607 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
111608
111609 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111610 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
111611
111612 IF xla_accounting_cache_pkg.GetValueChar
111613 (p_source_code => 'LEDGER_CATEGORY_CODE'
111614 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
111615 AND l_bflow_method_code = 'PRIOR_ENTRY'
111616 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
111617 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
111618 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
111619 )
111620 THEN
111621 xla_ae_lines_pkg.BflowUpgEntry
111622 (p_business_method_code => l_bflow_method_code
111623 ,p_business_class_code => l_bflow_class_code
111624 ,p_balance_type => l_balance_type_code);
111625 ELSE
111626 NULL;
111627 -- No business flow processing for business flow method of NONE.
111628 END IF;
111629
111630 --
111631 -- call analytical criteria
111632 --
111633
111634 --
111638 --
111635 -- call description
111636 --
111637 -- No description or it is inherited.
111639 -- call ADRs
111640 -- Bug 4922099
111641 --
111642 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111643 (NVL(l_actual_upg_option, 'N') = 'O') OR
111644 (NVL(l_enc_upg_option, 'N') = 'O')
111645 )
111646 THEN
111647 NULL;
111648 --
111649 --
111650
111651 l_ccid := AcctDerRule_40(
111652 p_application_id => p_application_id
111653 , p_ae_header_id => l_ae_header_id
111654 , p_source_3 => p_source_3
111655 , p_source_3_meaning => p_source_3_meaning
111656 , p_source_18 => p_source_18
111657 , p_source_37 => p_source_37
111658 , x_transaction_coa_id => l_adr_transaction_coa_id
111659 , x_accounting_coa_id => l_adr_accounting_coa_id
111660 , x_value_type_code => l_adr_value_type_code
111661 , p_side => 'NA'
111662 );
111663
111664 xla_ae_lines_pkg.set_ccid(
111665 p_code_combination_id => l_ccid
111666 , p_value_type_code => l_adr_value_type_code
111667 , p_transaction_coa_id => l_adr_transaction_coa_id
111668 , p_accounting_coa_id => l_adr_accounting_coa_id
111669 , p_adr_code => 'AP_ROUNDING'
111670 , p_adr_type_code => 'S'
111671 , p_component_type => l_component_type
111672 , p_component_code => l_component_code
111673 , p_component_type_code => l_component_type_code
111674 , p_component_appl_id => l_component_appl_id
111675 , p_amb_context_code => l_amb_context_code
111676 , p_side => 'NA'
111677 );
111678
111679
111680 --
111681 --
111682 END IF;
111683 --
111684 -- Bug 4922099
111685 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
111686 (NVL(l_enc_upg_option, 'N') = 'O')
111687 ) AND
111688 (l_bflow_method_code = 'PRIOR_ENTRY')
111689 )
111690 THEN
111691 IF
111692 --
111693 1 = 2
111694 --
111695 THEN
111696 xla_accounting_err_pkg.build_message
111697 (p_appli_s_name => 'XLA'
111698 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111699 ,p_token_1 => 'LINE_NUMBER'
111700 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
111701 ,p_token_2 => 'LINE_TYPE_NAME'
111702 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
111703 l_component_type
111704 ,l_component_code
111705 ,l_component_type_code
111706 ,l_component_appl_id
111707 ,l_amb_context_code
111708 ,l_entity_code
111709 ,l_event_class_code
111710 )
111711 ,p_token_3 => 'OWNER'
111712 ,p_value_3 => xla_lookups_pkg.get_meaning(
111713 p_lookup_type => 'XLA_OWNER_TYPE'
111714 ,p_lookup_code => l_component_type_code
111715 )
111716 ,p_token_4 => 'PRODUCT_NAME'
111717 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
111718 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
111719 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
111720 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
111721 ,p_ae_header_id => NULL
111722 );
111723
111724 IF (C_LEVEL_ERROR>= g_log_level) THEN
111725 trace
111726 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
111727 ,p_level => C_LEVEL_ERROR
111728 ,p_module => l_log_module);
111729 END IF;
111730 END IF;
111731 END IF;
111732 --
111733 --
111734 ------------------------------------------------------------------------------------------------
111735 -- 4219869 Business Flow
111736 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
111737 -- Prior Entry. Currently, the following code is always generated.
111738 ------------------------------------------------------------------------------------------------
111739 XLA_AE_LINES_PKG.ValidateCurrentLine;
111740
111741 ------------------------------------------------------------------------------------
111742 -- 4219869 Business Flow
111746
111743 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
111744 ------------------------------------------------------------------------------------
111745 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111747 ----------------------------------------------------------------------------------
111748 -- 4219869 Business Flow
111749 -- Update journal entry status -- Need to generate this within IF <condition>
111750 ----------------------------------------------------------------------------------
111751 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111752 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
111753 ,p_balance_type_code => l_balance_type_code
111754 );
111755
111756 -------------------------------------------------------------------------------------------
111757 -- 4262811 - Generate the Accrual Reversal lines
111758 -------------------------------------------------------------------------------------------
111759 BEGIN
111760 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
111761 (g_array_event(p_event_id).array_value_num('header_index'));
111762 IF l_acc_rev_flag IS NULL THEN
111763 l_acc_rev_flag := 'N';
111764 END IF;
111765 EXCEPTION
111766 WHEN OTHERS THEN
111767 l_acc_rev_flag := 'N';
111768 END;
111769 --
111770 IF (l_acc_rev_flag = 'Y') THEN
111771
111772 -- 4645092 ------------------------------------------------------------------------------
111773 -- To allow MPA report to determine if it should generate report process
111774 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
111775 ------------------------------------------------------------------------------------------
111776
111777 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
111778 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
111779 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
111780 -- call ADRs
111781 -- Bug 4922099
111782 --
111783 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
111784 (NVL(l_actual_upg_option, 'N') = 'O') OR
111785 (NVL(l_enc_upg_option, 'N') = 'O')
111786 )
111787 THEN
111788 NULL;
111789 --
111790 --
111791
111792 l_ccid := AcctDerRule_40(
111793 p_application_id => p_application_id
111794 , p_ae_header_id => l_ae_header_id
111795 , p_source_3 => p_source_3
111796 , p_source_3_meaning => p_source_3_meaning
111797 , p_source_18 => p_source_18
111798 , p_source_37 => p_source_37
111799 , x_transaction_coa_id => l_adr_transaction_coa_id
111800 , x_accounting_coa_id => l_adr_accounting_coa_id
111801 , x_value_type_code => l_adr_value_type_code
111802 , p_side => 'NA'
111803 );
111804
111805 xla_ae_lines_pkg.set_ccid(
111806 p_code_combination_id => l_ccid
111807 , p_value_type_code => l_adr_value_type_code
111808 , p_transaction_coa_id => l_adr_transaction_coa_id
111809 , p_accounting_coa_id => l_adr_accounting_coa_id
111810 , p_adr_code => 'AP_ROUNDING'
111811 , p_adr_type_code => 'S'
111812 , p_component_type => l_component_type
111813 , p_component_code => l_component_code
111814 , p_component_type_code => l_component_type_code
111815 , p_component_appl_id => l_component_appl_id
111816 , p_amb_context_code => l_amb_context_code
111817 , p_side => 'NA'
111818 );
111819
111820
111821 --
111822 --
111823 END IF;
111824
111825 --
111826 -- Update the line information that should be overwritten
111827 --
111828 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
111829 p_header_num => 1);
111830 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
111831
111832 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
111833
111834 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
111835 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
111836 END IF;
111837
111838 --
111839 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
111840 --
111841 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
111842 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
111843 ELSE
111844 ---------------------------------------------------------------------------------------------------
111845 -- 4262811a Switch Sign
111846 ---------------------------------------------------------------------------------------------------
111847 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
111848 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111849 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111850 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
111854 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111851 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
111852 -- 5132302
111853 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
111855
111856 END IF;
111857
111858 -- 4955764
111859 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
111860 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
111861
111862
111863 XLA_AE_LINES_PKG.ValidateCurrentLine;
111864 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
111865
111866 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
111867 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
111868 ,p_balance_type_code => l_balance_type_code);
111869
111870 END IF;
111871
111872 -----------------------------------------------------------------------------------------
111873 -- 4262811 Multiperiod Accounting
111874 -----------------------------------------------------------------------------------------
111875 -- No MPA option is assigned.
111876
111877
111878 END IF;
111879 END IF;
111880 --
111881
111882 --
111883 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
111884 trace
111885 (p_msg => 'END of AcctLineType_190'
111886 ,p_level => C_LEVEL_PROCEDURE
111887 ,p_module => l_log_module);
111888 END IF;
111889 --
111890 EXCEPTION
111891 WHEN xla_exceptions_pkg.application_exception THEN
111892 RAISE;
111893 WHEN OTHERS THEN
111894 xla_exceptions_pkg.raise_message
111895 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_190');
111896 END AcctLineType_190;
111897 --
111898
111899 ---------------------------------------
111900 --
111901 -- PRIVATE FUNCTION
111902 -- AcctLineType_191
111903 --
111904 ---------------------------------------
111905 PROCEDURE AcctLineType_191 (
111906 p_application_id IN NUMBER
111907 ,p_event_id IN NUMBER
111908 ,p_calculate_acctd_flag IN VARCHAR2
111909 ,p_calculate_g_l_flag IN VARCHAR2
111910 ,p_actual_flag IN OUT VARCHAR2
111911 ,p_balance_type_code OUT VARCHAR2
111912 ,p_gain_or_loss_ref OUT VARCHAR2
111913
111914 --Invoice Distribution Description
111915 , p_source_1 IN VARCHAR2
111916 --Invoice Distribution Ledger Amount
111917 , p_source_9 IN NUMBER
111918 --Invoice Distribution Account
111919 , p_source_18 IN NUMBER
111920 --Invoice Distribution Type
111921 , p_source_21 IN VARCHAR2
111922 , p_source_21_meaning IN VARCHAR2
111923 --Accounting Reversal Indicator
111924 , p_source_41 IN VARCHAR2
111925 --Distribution Link Type
111926 , p_source_43 IN VARCHAR2
111927 --Allocation to Main Distribution Identifier
111928 , p_source_45 IN NUMBER
111929 --Invoice Identifier
111930 , p_source_46 IN NUMBER
111931 --Invoice Distribution Identifier
111932 , p_source_52 IN NUMBER
111933 --Payables Encumbrance Upgrade Credit Account
111934 , p_source_53 IN NUMBER
111935 --Payables Encumbrance Upgrade Credit Amount
111936 , p_source_54 IN NUMBER
111937 --Invoice Currency Code
111938 , p_source_55 IN VARCHAR2
111939 --Payables Encumbrance Upgrade Credit Base Amount
111940 , p_source_56 IN NUMBER
111941 --Payables Encumbrance Upgrade Debit Account
111942 , p_source_57 IN NUMBER
111943 --Payables Encumbrance Upgrade Debit Amount
111944 , p_source_58 IN NUMBER
111945 --Payables Encumbrance Upgrade Debit Base Amount
111946 , p_source_59 IN NUMBER
111947 --Payables Encumbrance Upgrade Option
111948 , p_source_60 IN VARCHAR2
111949 --Invoice Distribution Amount
111950 , p_source_61 IN NUMBER
111951 --Deferred Accounting End Date
111952 , p_source_65 IN DATE
111953 --Deferred Accounting Option
111954 , p_source_66 IN VARCHAR2
111955 --Deferred Accounting Start Date
111956 , p_source_67 IN DATE
111957 --Override Accounted Amount Indicator
111958 , p_source_68 IN VARCHAR2
111959 , p_source_68_meaning IN VARCHAR2
111960 --Invoice Supplier Identifier
111961 , p_source_69 IN NUMBER
111962 --Invoice Supplier Site Identifier
111963 , p_source_70 IN NUMBER
111964 --Third Party Type
111965 , p_source_71 IN VARCHAR2
111966 --Parent Reversal Identifier
111967 , p_source_72 IN NUMBER
111968 --Invoice Distribution Statistical Amount
111969 , p_source_73 IN NUMBER
111970 --Invoice Distribution Tax Line Identifier
111971 , p_source_74 IN NUMBER
111972 --Invoice Distribution Tax Distribution Identifier from Tax
111973 , p_source_75 IN NUMBER
111974 --Invoice Distribution Summary Tax Line Identifier
111975 , p_source_76 IN NUMBER
111976 --Payables Upgrade Credit Encumbrance Type Identifier
111977 , p_source_77 IN NUMBER
111978 --Payables Upgrade Debit Encumbrance Type Identifier
111979 , p_source_78 IN NUMBER
111980 --Business Flow Accounts Payable Application Identifier
111981 , p_source_79 IN NUMBER
111982 --Business Flow Invoice Distribution Type
111986 --Business Flow Invoice Distribution Identifier
111983 , p_source_80 IN VARCHAR2
111984 --Business Flow Invoice Entity Code
111985 , p_source_81 IN VARCHAR2
111987 , p_source_82 IN NUMBER
111988 --Business Flow Invoice Identifier
111989 , p_source_83 IN NUMBER
111990 --Invoice Exchange Date
111991 , p_source_136 IN DATE
111992 --Invoice Exchange Rate
111993 , p_source_137 IN NUMBER
111994 --Invoice Exchange Rate Type
111995 , p_source_138 IN VARCHAR2
111996 )
111997 IS
111998
111999 l_component_type VARCHAR2(80);
112000 l_component_code VARCHAR2(30);
112001 l_component_type_code VARCHAR2(1);
112002 l_component_appl_id INTEGER;
112003 l_amb_context_code VARCHAR2(30);
112004 l_entity_code VARCHAR2(30);
112005 l_event_class_code VARCHAR2(30);
112006 l_ae_header_id NUMBER;
112007 l_event_type_code VARCHAR2(30);
112008 l_line_definition_code VARCHAR2(30);
112009 l_line_definition_owner_code VARCHAR2(1);
112010 --
112011 -- adr variables
112012 l_segment VARCHAR2(30);
112013 l_ccid NUMBER;
112014 l_adr_transaction_coa_id NUMBER;
112015 l_adr_accounting_coa_id NUMBER;
112016 l_adr_flexfield_segment_code VARCHAR2(30);
112017 l_adr_flex_value_set_id NUMBER;
112018 l_adr_value_type_code VARCHAR2(30);
112019 l_adr_value_combination_id NUMBER;
112020 l_adr_value_segment_code VARCHAR2(30);
112021
112022 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112023 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112024 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112025 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112026
112027 -- 4262811 Variables ------------------------------------------------------------------------------------------
112028 l_entered_amt_idx NUMBER;
112029 l_accted_amt_idx NUMBER;
112030 l_acc_rev_flag VARCHAR2(1);
112031 l_accrual_line_num NUMBER;
112032 l_tmp_amt NUMBER;
112033 l_acc_rev_natural_side_code VARCHAR2(1);
112034
112035 l_num_entries NUMBER;
112036 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112037 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112038 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112039 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112040 l_recog_line_1 NUMBER;
112041 l_recog_line_2 NUMBER;
112042
112043 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112044 l_bflow_applied_to_amt NUMBER; -- 5132302
112045 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112046
112047 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112048
112049 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112050 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112051
112052 ---------------------------------------------------------------------------------------------------------------
112053
112054
112055 --
112056 -- bulk performance
112057 --
112058 l_balance_type_code VARCHAR2(1);
112059 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112060 l_log_module VARCHAR2(240);
112061
112062 --
112063 -- Upgrade strategy
112064 --
112065 l_actual_upg_option VARCHAR2(1);
112066 l_enc_upg_option VARCHAR2(1);
112067
112068 --
112069 BEGIN
112070 --
112071 IF g_log_enabled THEN
112072 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_191';
112073 END IF;
112074 --
112075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112076
112077 trace
112078 (p_msg => 'BEGIN of AcctLineType_191'
112079 ,p_level => C_LEVEL_PROCEDURE
112080 ,p_module => l_log_module);
112081
112082 END IF;
112083 --
112084 l_component_type := 'AMB_JLT';
112085 l_component_code := 'AP_MISC_EXPENSE_CM';
112086 l_component_type_code := 'S';
112087 l_component_appl_id := 200;
112088 l_amb_context_code := 'DEFAULT';
112089 l_entity_code := 'AP_INVOICES';
112090 l_event_class_code := 'CREDIT MEMOS';
112091 l_event_type_code := 'CREDIT MEMOS_ALL';
112092 l_line_definition_owner_code := 'S';
112093 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
112094 --
112095 l_balance_type_code := 'A';
112096 l_segment := NULL;
112097 l_ccid := NULL;
112098 l_adr_transaction_coa_id := NULL;
112099 l_adr_accounting_coa_id := NULL;
112100 l_adr_flexfield_segment_code := NULL;
112101 l_adr_flex_value_set_id := NULL;
112102 l_adr_value_type_code := NULL;
112103 l_adr_value_combination_id := NULL;
112104 l_adr_value_segment_code := NULL;
112105
112106 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
112107 l_bflow_class_code := ''; -- 4219869 Business Flow
112108 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112109 l_budgetary_control_flag := 'N';
112110
112111 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112115 l_acc_rev_flag := NULL; -- 4262811
112112 l_bflow_applied_to_amt := NULL; -- 5132302
112113 l_entered_amt_idx := NULL; -- 4262811
112114 l_accted_amt_idx := NULL; -- 4262811
112116 l_accrual_line_num := NULL; -- 4262811
112117 l_tmp_amt := NULL; -- 4262811
112118 --
112119
112120 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
112121 l_balance_type_code <> 'B' THEN
112122 IF NVL(p_source_21,'
112123 ') = 'MISCELLANEOUS'
112124 THEN
112125
112126 --
112127 XLA_AE_LINES_PKG.SetNewLine;
112128
112129 p_balance_type_code := l_balance_type_code;
112130 -- set the flag so later we will know whether the gain loss line needs to be created
112131
112132 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
112133 p_actual_flag :='A';
112134 END IF;
112135
112136 --
112137 -- bulk performance
112138 --
112139 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
112140 p_header_num => 0); -- 4262811
112141 --
112142 -- set accounting line options
112143 --
112144 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
112145 p_natural_side_code => 'D'
112146 , p_gain_or_loss_flag => 'N'
112147 , p_gl_transfer_mode_code => 'S'
112148 , p_acct_entry_type_code => 'A'
112149 , p_switch_side_flag => 'Y'
112150 , p_merge_duplicate_code => 'A'
112151 );
112152 --
112153 l_acc_rev_natural_side_code := 'C'; -- 4262811
112154 --
112155 --
112156 -- set accounting line type info
112157 --
112158 xla_ae_lines_pkg.SetAcctLineType
112159 (p_component_type => l_component_type
112160 ,p_event_type_code => l_event_type_code
112161 ,p_line_definition_owner_code => l_line_definition_owner_code
112162 ,p_line_definition_code => l_line_definition_code
112163 ,p_accounting_line_code => l_component_code
112164 ,p_accounting_line_type_code => l_component_type_code
112165 ,p_accounting_line_appl_id => l_component_appl_id
112166 ,p_amb_context_code => l_amb_context_code
112167 ,p_entity_code => l_entity_code
112168 ,p_event_class_code => l_event_class_code);
112169 --
112170 -- set accounting class
112171 --
112172 xla_ae_lines_pkg.SetAcctClass(
112173 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
112174 , p_ae_header_id => l_ae_header_id
112175 );
112176
112177 --
112178 -- set rounding class
112179 --
112180 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
112181 'MISCELLANEOUS EXPENSE';
112182
112183 --
112184 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
112185 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
112186 --
112187 -- bulk performance
112188 --
112189 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
112190
112191 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
112192 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
112193
112194 -- 4955764
112195 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112196 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
112197
112198 -- 4458381 Public Sector Enh
112199
112200 --
112201 -- set accounting attributes for the line type
112202 --
112203 l_entered_amt_idx := 23;
112204 l_accted_amt_idx := 28;
112205 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112206 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
112207 l_rec_acct_attrs.array_char_value(1) := p_source_41;
112208 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
112209 l_rec_acct_attrs.array_num_value(2) :=
112210 xla_ae_sources_pkg.GetSystemSourceNum(
112211 p_source_code => 'XLA_EVENT_APPL_ID'
112212 , p_source_type_code => 'Y'
112213 , p_source_application_id => 602
112214 );
112215 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
112216 l_rec_acct_attrs.array_char_value(3) := p_source_43;
112217 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
112218 l_rec_acct_attrs.array_char_value(4) :=
112219 xla_ae_sources_pkg.GetSystemSourceChar(
112220 p_source_code => 'XLA_ENTITY_CODE'
112221 , p_source_type_code => 'Y'
112222 , p_source_application_id => 602
112223 );
112224 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
112225 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
112226 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
112227 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
112228 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
112229 l_rec_acct_attrs.array_num_value(7) := p_source_79;
112230 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
112231 l_rec_acct_attrs.array_char_value(8) := p_source_80;
112232 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
112236 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
112233 l_rec_acct_attrs.array_char_value(9) := p_source_81;
112234 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
112235 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
112237 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
112238 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
112239 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
112240 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
112241 l_rec_acct_attrs.array_char_value(13) := p_source_43;
112242 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
112243 l_rec_acct_attrs.array_num_value(14) := p_source_53;
112244 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
112245 l_rec_acct_attrs.array_num_value(15) := p_source_54;
112246 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
112247 l_rec_acct_attrs.array_char_value(16) := p_source_55;
112248 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
112249 l_rec_acct_attrs.array_num_value(17) := p_source_56;
112250 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
112251 l_rec_acct_attrs.array_num_value(18) := p_source_57;
112252 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
112253 l_rec_acct_attrs.array_num_value(19) := p_source_58;
112254 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
112255 l_rec_acct_attrs.array_char_value(20) := p_source_55;
112256 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
112257 l_rec_acct_attrs.array_num_value(21) := p_source_59;
112258 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
112259 l_rec_acct_attrs.array_char_value(22) := p_source_60;
112260 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
112261 l_rec_acct_attrs.array_num_value(23) := p_source_61;
112262 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
112263 l_rec_acct_attrs.array_char_value(24) := p_source_55;
112264 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
112265 l_rec_acct_attrs.array_date_value(25) := p_source_136;
112266 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
112267 l_rec_acct_attrs.array_num_value(26) := p_source_137;
112268 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
112269 l_rec_acct_attrs.array_char_value(27) := p_source_138;
112270 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
112271 l_rec_acct_attrs.array_num_value(28) := p_source_9;
112272 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
112273 l_rec_acct_attrs.array_date_value(29) := p_source_65;
112274 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
112275 l_rec_acct_attrs.array_char_value(30) := p_source_66;
112276 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
112277 l_rec_acct_attrs.array_date_value(31) := p_source_67;
112278 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
112279 l_rec_acct_attrs.array_char_value(32) := p_source_68;
112280 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
112281 l_rec_acct_attrs.array_num_value(33) := p_source_69;
112282 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
112283 l_rec_acct_attrs.array_num_value(34) := p_source_70;
112284 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
112285 l_rec_acct_attrs.array_char_value(35) := p_source_71;
112286 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
112287 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
112288 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
112289 l_rec_acct_attrs.array_char_value(37) := p_source_43;
112290 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
112291 l_rec_acct_attrs.array_num_value(38) := p_source_73;
112292 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
112293 l_rec_acct_attrs.array_num_value(39) := p_source_74;
112294 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
112295 l_rec_acct_attrs.array_num_value(40) := p_source_75;
112296 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
112297 l_rec_acct_attrs.array_num_value(41) := p_source_76;
112298 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
112299 l_rec_acct_attrs.array_num_value(42) := p_source_77;
112300 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
112301 l_rec_acct_attrs.array_num_value(43) := p_source_78;
112302
112303 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
112304 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
112305
112306 ---------------------------------------------------------------------------------------------------------------
112307 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
112308 ---------------------------------------------------------------------------------------------------------------
112309 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
112310
112311 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112312 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
112313
112314 IF xla_accounting_cache_pkg.GetValueChar
112315 (p_source_code => 'LEDGER_CATEGORY_CODE'
112319 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
112316 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
112317 AND l_bflow_method_code = 'PRIOR_ENTRY'
112318 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
112320 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
112321 )
112322 THEN
112323 xla_ae_lines_pkg.BflowUpgEntry
112324 (p_business_method_code => l_bflow_method_code
112325 ,p_business_class_code => l_bflow_class_code
112326 ,p_balance_type => l_balance_type_code);
112327 ELSE
112328 NULL;
112329 -- No business flow processing for business flow method of NONE.
112330 END IF;
112331
112332 --
112333 -- call analytical criteria
112334 --
112335
112336 --
112337 -- call description
112338 --
112339
112340 xla_ae_lines_pkg.SetLineDescription(
112341 p_ae_header_id => l_ae_header_id
112342 ,p_description => Description_2 (
112343 p_application_id => p_application_id
112344 , p_ae_header_id => l_ae_header_id
112345 , p_source_1 => p_source_1
112346 )
112347 );
112348
112349
112350 --
112351 -- call ADRs
112352 -- Bug 4922099
112353 --
112354 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112355 (NVL(l_actual_upg_option, 'N') = 'O') OR
112356 (NVL(l_enc_upg_option, 'N') = 'O')
112357 )
112358 THEN
112359 NULL;
112360 --
112361 --
112362
112363 l_ccid := AcctDerRule_32(
112364 p_application_id => p_application_id
112365 , p_ae_header_id => l_ae_header_id
112366 , p_source_18 => p_source_18
112367 , x_transaction_coa_id => l_adr_transaction_coa_id
112368 , x_accounting_coa_id => l_adr_accounting_coa_id
112369 , x_value_type_code => l_adr_value_type_code
112370 , p_side => 'NA'
112371 );
112372
112373 xla_ae_lines_pkg.set_ccid(
112374 p_code_combination_id => l_ccid
112375 , p_value_type_code => l_adr_value_type_code
112376 , p_transaction_coa_id => l_adr_transaction_coa_id
112377 , p_accounting_coa_id => l_adr_accounting_coa_id
112378 , p_adr_code => 'AP_INVOICE_DIST'
112379 , p_adr_type_code => 'S'
112380 , p_component_type => l_component_type
112381 , p_component_code => l_component_code
112382 , p_component_type_code => l_component_type_code
112383 , p_component_appl_id => l_component_appl_id
112384 , p_amb_context_code => l_amb_context_code
112385 , p_side => 'NA'
112386 );
112387
112388
112389 --
112390 --
112391 END IF;
112392 --
112393 -- Bug 4922099
112394 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
112395 (NVL(l_enc_upg_option, 'N') = 'O')
112396 ) AND
112397 (l_bflow_method_code = 'PRIOR_ENTRY')
112398 )
112399 THEN
112400 IF
112401 --
112402 1 = 2
112403 --
112404 THEN
112405 xla_accounting_err_pkg.build_message
112406 (p_appli_s_name => 'XLA'
112407 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112408 ,p_token_1 => 'LINE_NUMBER'
112409 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
112410 ,p_token_2 => 'LINE_TYPE_NAME'
112411 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
112412 l_component_type
112413 ,l_component_code
112414 ,l_component_type_code
112415 ,l_component_appl_id
112416 ,l_amb_context_code
112417 ,l_entity_code
112418 ,l_event_class_code
112419 )
112420 ,p_token_3 => 'OWNER'
112421 ,p_value_3 => xla_lookups_pkg.get_meaning(
112422 p_lookup_type => 'XLA_OWNER_TYPE'
112423 ,p_lookup_code => l_component_type_code
112424 )
112425 ,p_token_4 => 'PRODUCT_NAME'
112426 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
112427 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
112428 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
112432
112429 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
112430 ,p_ae_header_id => NULL
112431 );
112433 IF (C_LEVEL_ERROR>= g_log_level) THEN
112434 trace
112435 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
112436 ,p_level => C_LEVEL_ERROR
112437 ,p_module => l_log_module);
112438 END IF;
112439 END IF;
112440 END IF;
112441 --
112442 --
112443 ------------------------------------------------------------------------------------------------
112444 -- 4219869 Business Flow
112445 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
112446 -- Prior Entry. Currently, the following code is always generated.
112447 ------------------------------------------------------------------------------------------------
112448 XLA_AE_LINES_PKG.ValidateCurrentLine;
112449
112450 ------------------------------------------------------------------------------------
112451 -- 4219869 Business Flow
112452 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
112453 ------------------------------------------------------------------------------------
112454 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112455
112456 ----------------------------------------------------------------------------------
112457 -- 4219869 Business Flow
112458 -- Update journal entry status -- Need to generate this within IF <condition>
112459 ----------------------------------------------------------------------------------
112460 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112461 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
112462 ,p_balance_type_code => l_balance_type_code
112463 );
112464
112465 -------------------------------------------------------------------------------------------
112466 -- 4262811 - Generate the Accrual Reversal lines
112467 -------------------------------------------------------------------------------------------
112468 BEGIN
112469 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
112470 (g_array_event(p_event_id).array_value_num('header_index'));
112471 IF l_acc_rev_flag IS NULL THEN
112472 l_acc_rev_flag := 'N';
112473 END IF;
112474 EXCEPTION
112475 WHEN OTHERS THEN
112476 l_acc_rev_flag := 'N';
112477 END;
112478 --
112479 IF (l_acc_rev_flag = 'Y') THEN
112480
112481 -- 4645092 ------------------------------------------------------------------------------
112482 -- To allow MPA report to determine if it should generate report process
112483 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
112484 ------------------------------------------------------------------------------------------
112485
112486 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
112487 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
112488 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
112489 -- call ADRs
112490 -- Bug 4922099
112491 --
112492 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
112493 (NVL(l_actual_upg_option, 'N') = 'O') OR
112494 (NVL(l_enc_upg_option, 'N') = 'O')
112495 )
112496 THEN
112497 NULL;
112498 --
112499 --
112500
112501 l_ccid := AcctDerRule_32(
112502 p_application_id => p_application_id
112503 , p_ae_header_id => l_ae_header_id
112504 , p_source_18 => p_source_18
112505 , x_transaction_coa_id => l_adr_transaction_coa_id
112506 , x_accounting_coa_id => l_adr_accounting_coa_id
112507 , x_value_type_code => l_adr_value_type_code
112508 , p_side => 'NA'
112509 );
112510
112511 xla_ae_lines_pkg.set_ccid(
112512 p_code_combination_id => l_ccid
112513 , p_value_type_code => l_adr_value_type_code
112514 , p_transaction_coa_id => l_adr_transaction_coa_id
112515 , p_accounting_coa_id => l_adr_accounting_coa_id
112516 , p_adr_code => 'AP_INVOICE_DIST'
112517 , p_adr_type_code => 'S'
112518 , p_component_type => l_component_type
112519 , p_component_code => l_component_code
112520 , p_component_type_code => l_component_type_code
112521 , p_component_appl_id => l_component_appl_id
112522 , p_amb_context_code => l_amb_context_code
112523 , p_side => 'NA'
112524 );
112525
112526
112527 --
112528 --
112529 END IF;
112530
112531 --
112532 -- Update the line information that should be overwritten
112533 --
112534 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
112535 p_header_num => 1);
112536 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
112537
112538 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
112539
112540 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
112541 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
112545 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
112542 END IF;
112543
112544 --
112546 --
112547 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
112548 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
112549 ELSE
112550 ---------------------------------------------------------------------------------------------------
112551 -- 4262811a Switch Sign
112552 ---------------------------------------------------------------------------------------------------
112553 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
112554 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112555 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112556 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
112557 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112558 -- 5132302
112559 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
112560 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
112561
112562 END IF;
112563
112564 -- 4955764
112565 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112566 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
112567
112568
112569 XLA_AE_LINES_PKG.ValidateCurrentLine;
112570 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
112571
112572 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
112573 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
112574 ,p_balance_type_code => l_balance_type_code);
112575
112576 END IF;
112577
112578 -----------------------------------------------------------------------------------------
112579 -- 4262811 Multiperiod Accounting
112580 -----------------------------------------------------------------------------------------
112581 -- No MPA option is assigned.
112582
112583
112584 END IF;
112585 END IF;
112586 --
112587
112588 --
112589 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112590 trace
112591 (p_msg => 'END of AcctLineType_191'
112592 ,p_level => C_LEVEL_PROCEDURE
112593 ,p_module => l_log_module);
112594 END IF;
112595 --
112596 EXCEPTION
112597 WHEN xla_exceptions_pkg.application_exception THEN
112598 RAISE;
112599 WHEN OTHERS THEN
112600 xla_exceptions_pkg.raise_message
112601 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_191');
112602 END AcctLineType_191;
112603 --
112604
112605 ---------------------------------------
112606 --
112607 -- PRIVATE FUNCTION
112608 -- AcctLineType_192
112609 --
112610 ---------------------------------------
112611 PROCEDURE AcctLineType_192 (
112612 p_application_id IN NUMBER
112613 ,p_event_id IN NUMBER
112614 ,p_calculate_acctd_flag IN VARCHAR2
112615 ,p_calculate_g_l_flag IN VARCHAR2
112616 ,p_actual_flag IN OUT VARCHAR2
112617 ,p_balance_type_code OUT VARCHAR2
112618 ,p_gain_or_loss_ref OUT VARCHAR2
112619
112620 --Invoice Distribution Type
112621 , p_source_21 IN VARCHAR2
112622 , p_source_21_meaning IN VARCHAR2
112623 --Accounting Reversal Indicator
112624 , p_source_41 IN VARCHAR2
112625 --Distribution Link Type
112626 , p_source_43 IN VARCHAR2
112627 --Allocation to Main Distribution Identifier
112628 , p_source_45 IN NUMBER
112629 --Invoice Identifier
112630 , p_source_46 IN NUMBER
112631 --Invoice Distribution Identifier
112632 , p_source_52 IN NUMBER
112633 --Payables Encumbrance Upgrade Credit Account
112634 , p_source_53 IN NUMBER
112635 --Payables Encumbrance Upgrade Credit Amount
112636 , p_source_54 IN NUMBER
112637 --Invoice Currency Code
112638 , p_source_55 IN VARCHAR2
112639 --Payables Encumbrance Upgrade Credit Base Amount
112640 , p_source_56 IN NUMBER
112641 --Payables Encumbrance Upgrade Debit Account
112642 , p_source_57 IN NUMBER
112643 --Payables Encumbrance Upgrade Debit Amount
112644 , p_source_58 IN NUMBER
112645 --Payables Encumbrance Upgrade Debit Base Amount
112646 , p_source_59 IN NUMBER
112647 --Payables Encumbrance Upgrade Option
112648 , p_source_60 IN VARCHAR2
112649 --Deferred Accounting End Date
112650 , p_source_65 IN DATE
112651 --Deferred Accounting Option
112652 , p_source_66 IN VARCHAR2
112653 --Deferred Accounting Start Date
112654 , p_source_67 IN DATE
112655 --Override Accounted Amount Indicator
112656 , p_source_68 IN VARCHAR2
112657 , p_source_68_meaning IN VARCHAR2
112658 --Third Party Type
112659 , p_source_71 IN VARCHAR2
112660 --Parent Reversal Identifier
112661 , p_source_72 IN NUMBER
112662 --Invoice Distribution Statistical Amount
112663 , p_source_73 IN NUMBER
112664 --Invoice Distribution Tax Line Identifier
112665 , p_source_74 IN NUMBER
112666 --Invoice Distribution Tax Distribution Identifier from Tax
112670 --Payables Upgrade Credit Encumbrance Type Identifier
112667 , p_source_75 IN NUMBER
112668 --Invoice Distribution Summary Tax Line Identifier
112669 , p_source_76 IN NUMBER
112671 , p_source_77 IN NUMBER
112672 --Payables Upgrade Debit Encumbrance Type Identifier
112673 , p_source_78 IN NUMBER
112674 --Business Flow Accounts Payable Application Identifier
112675 , p_source_79 IN NUMBER
112676 --Business Flow Invoice Distribution Type
112677 , p_source_80 IN VARCHAR2
112678 --Business Flow Invoice Entity Code
112679 , p_source_81 IN VARCHAR2
112680 --Business Flow Invoice Distribution Identifier
112681 , p_source_82 IN NUMBER
112682 --Business Flow Invoice Identifier
112683 , p_source_83 IN NUMBER
112684 --Purchasing Encumbrance Option
112685 , p_source_86 IN VARCHAR2
112686 , p_source_86_meaning IN VARCHAR2
112687 --Invoice Encumbered Option
112688 , p_source_87 IN VARCHAR2
112689 , p_source_87_meaning IN VARCHAR2
112690 --Invoice Distribution Encumbrance Amount
112691 , p_source_143 IN NUMBER
112692 --Invoice Distribution Encumbrance Ledger Amount
112693 , p_source_144 IN NUMBER
112694 )
112695 IS
112696
112697 l_component_type VARCHAR2(80);
112698 l_component_code VARCHAR2(30);
112699 l_component_type_code VARCHAR2(1);
112700 l_component_appl_id INTEGER;
112701 l_amb_context_code VARCHAR2(30);
112702 l_entity_code VARCHAR2(30);
112703 l_event_class_code VARCHAR2(30);
112704 l_ae_header_id NUMBER;
112705 l_event_type_code VARCHAR2(30);
112706 l_line_definition_code VARCHAR2(30);
112707 l_line_definition_owner_code VARCHAR2(1);
112708 --
112709 -- adr variables
112710 l_segment VARCHAR2(30);
112711 l_ccid NUMBER;
112712 l_adr_transaction_coa_id NUMBER;
112713 l_adr_accounting_coa_id NUMBER;
112714 l_adr_flexfield_segment_code VARCHAR2(30);
112715 l_adr_flex_value_set_id NUMBER;
112716 l_adr_value_type_code VARCHAR2(30);
112717 l_adr_value_combination_id NUMBER;
112718 l_adr_value_segment_code VARCHAR2(30);
112719
112720 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
112721 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
112722 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
112723 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
112724
112725 -- 4262811 Variables ------------------------------------------------------------------------------------------
112726 l_entered_amt_idx NUMBER;
112727 l_accted_amt_idx NUMBER;
112728 l_acc_rev_flag VARCHAR2(1);
112729 l_accrual_line_num NUMBER;
112730 l_tmp_amt NUMBER;
112731 l_acc_rev_natural_side_code VARCHAR2(1);
112732
112733 l_num_entries NUMBER;
112734 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
112735 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
112736 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
112737 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
112738 l_recog_line_1 NUMBER;
112739 l_recog_line_2 NUMBER;
112740
112741 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
112742 l_bflow_applied_to_amt NUMBER; -- 5132302
112743 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
112744
112745 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
112746
112747 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
112748 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
112749
112750 ---------------------------------------------------------------------------------------------------------------
112751
112752
112753 --
112754 -- bulk performance
112755 --
112756 l_balance_type_code VARCHAR2(1);
112757 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
112758 l_log_module VARCHAR2(240);
112759
112760 --
112761 -- Upgrade strategy
112762 --
112763 l_actual_upg_option VARCHAR2(1);
112764 l_enc_upg_option VARCHAR2(1);
112765
112766 --
112767 BEGIN
112768 --
112769 IF g_log_enabled THEN
112770 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_192';
112771 END IF;
112772 --
112773 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
112774
112775 trace
112776 (p_msg => 'BEGIN of AcctLineType_192'
112777 ,p_level => C_LEVEL_PROCEDURE
112778 ,p_module => l_log_module);
112779
112780 END IF;
112781 --
112782 l_component_type := 'AMB_JLT';
112783 l_component_code := 'AP_MISC_EXPENSE_CR_ENC';
112784 l_component_type_code := 'S';
112785 l_component_appl_id := 200;
112786 l_amb_context_code := 'DEFAULT';
112787 l_entity_code := 'AP_INVOICES';
112788 l_event_class_code := 'CREDIT MEMOS';
112789 l_event_type_code := 'CREDIT MEMOS_ALL';
112790 l_line_definition_owner_code := 'S';
112791 l_line_definition_code := 'ENC_REV_CM_ALL';
112792 --
112793 l_balance_type_code := 'E';
112794 l_segment := NULL;
112795 l_ccid := NULL;
112799 l_adr_flex_value_set_id := NULL;
112796 l_adr_transaction_coa_id := NULL;
112797 l_adr_accounting_coa_id := NULL;
112798 l_adr_flexfield_segment_code := NULL;
112800 l_adr_value_type_code := NULL;
112801 l_adr_value_combination_id := NULL;
112802 l_adr_value_segment_code := NULL;
112803
112804 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
112805 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
112806 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
112807 l_budgetary_control_flag := 'N';
112808
112809 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112810 l_bflow_applied_to_amt := NULL; -- 5132302
112811 l_entered_amt_idx := NULL; -- 4262811
112812 l_accted_amt_idx := NULL; -- 4262811
112813 l_acc_rev_flag := NULL; -- 4262811
112814 l_accrual_line_num := NULL; -- 4262811
112815 l_tmp_amt := NULL; -- 4262811
112816 --
112817
112818 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
112819 l_balance_type_code <> 'B' THEN
112820 IF NVL(p_source_21,'
112821 ') = 'MISCELLANEOUS' AND
112822 NVL(p_source_86,'
112823 ') = 'Y' AND
112824 NVL(p_source_87,'
112825 ') = 'Y'
112826 THEN
112827
112828 --
112829 XLA_AE_LINES_PKG.SetNewLine;
112830
112831 p_balance_type_code := l_balance_type_code;
112832 -- set the flag so later we will know whether the gain loss line needs to be created
112833
112834 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
112835 p_actual_flag :='A';
112836 END IF;
112837
112838 --
112839 -- bulk performance
112840 --
112841 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
112842 p_header_num => 0); -- 4262811
112843 --
112844 -- set accounting line options
112845 --
112846 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
112847 p_natural_side_code => 'C'
112848 , p_gain_or_loss_flag => 'N'
112849 , p_gl_transfer_mode_code => 'S'
112850 , p_acct_entry_type_code => 'E'
112851 , p_switch_side_flag => 'Y'
112852 , p_merge_duplicate_code => 'A'
112853 );
112854 --
112855 l_acc_rev_natural_side_code := 'D'; -- 4262811
112856 --
112857 --
112858 -- set accounting line type info
112859 --
112860 xla_ae_lines_pkg.SetAcctLineType
112861 (p_component_type => l_component_type
112862 ,p_event_type_code => l_event_type_code
112863 ,p_line_definition_owner_code => l_line_definition_owner_code
112864 ,p_line_definition_code => l_line_definition_code
112865 ,p_accounting_line_code => l_component_code
112866 ,p_accounting_line_type_code => l_component_type_code
112867 ,p_accounting_line_appl_id => l_component_appl_id
112868 ,p_amb_context_code => l_amb_context_code
112869 ,p_entity_code => l_entity_code
112870 ,p_event_class_code => l_event_class_code);
112871 --
112872 -- set accounting class
112873 --
112874 xla_ae_lines_pkg.SetAcctClass(
112875 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
112876 , p_ae_header_id => l_ae_header_id
112877 );
112878
112879 --
112880 -- set rounding class
112881 --
112882 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
112883 'MISCELLANEOUS EXPENSE';
112884
112885 --
112886 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
112887 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
112888 --
112889 -- bulk performance
112890 --
112891 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
112892
112893 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
112894 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
112895
112896 -- 4955764
112897 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
112898 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
112899
112900 -- 4458381 Public Sector Enh
112901
112902 --
112903 -- set accounting attributes for the line type
112904 --
112905 l_entered_amt_idx := 23;
112906 l_accted_amt_idx := 25;
112907 l_bflow_applied_to_amt_idx := NULL; -- 5132302
112908 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
112909 l_rec_acct_attrs.array_char_value(1) := p_source_41;
112910 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
112911 l_rec_acct_attrs.array_num_value(2) :=
112912 xla_ae_sources_pkg.GetSystemSourceNum(
112913 p_source_code => 'XLA_EVENT_APPL_ID'
112914 , p_source_type_code => 'Y'
112915 , p_source_application_id => 602
112916 );
112917 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
112918 l_rec_acct_attrs.array_char_value(3) := p_source_43;
112919 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
112920 l_rec_acct_attrs.array_char_value(4) :=
112921 xla_ae_sources_pkg.GetSystemSourceChar(
112925 );
112922 p_source_code => 'XLA_ENTITY_CODE'
112923 , p_source_type_code => 'Y'
112924 , p_source_application_id => 602
112926 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
112927 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
112928 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
112929 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
112930 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
112931 l_rec_acct_attrs.array_num_value(7) := p_source_79;
112932 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
112933 l_rec_acct_attrs.array_char_value(8) := p_source_80;
112934 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
112935 l_rec_acct_attrs.array_char_value(9) := p_source_81;
112936 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
112937 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
112938 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
112939 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
112940 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
112941 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
112942 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
112943 l_rec_acct_attrs.array_char_value(13) := p_source_43;
112944 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
112945 l_rec_acct_attrs.array_num_value(14) := p_source_53;
112946 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
112947 l_rec_acct_attrs.array_num_value(15) := p_source_54;
112948 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
112949 l_rec_acct_attrs.array_char_value(16) := p_source_55;
112950 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
112951 l_rec_acct_attrs.array_num_value(17) := p_source_56;
112952 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
112953 l_rec_acct_attrs.array_num_value(18) := p_source_57;
112954 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
112955 l_rec_acct_attrs.array_num_value(19) := p_source_58;
112956 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
112957 l_rec_acct_attrs.array_char_value(20) := p_source_55;
112958 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
112959 l_rec_acct_attrs.array_num_value(21) := p_source_59;
112960 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
112961 l_rec_acct_attrs.array_char_value(22) := p_source_60;
112962 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
112963 l_rec_acct_attrs.array_num_value(23) := p_source_143;
112964 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
112965 l_rec_acct_attrs.array_char_value(24) := p_source_55;
112966 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
112967 l_rec_acct_attrs.array_num_value(25) := p_source_144;
112968 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
112969 l_rec_acct_attrs.array_date_value(26) := p_source_65;
112970 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
112971 l_rec_acct_attrs.array_char_value(27) := p_source_66;
112972 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
112973 l_rec_acct_attrs.array_date_value(28) := p_source_67;
112974 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
112975 l_rec_acct_attrs.array_char_value(29) := p_source_68;
112976 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
112977 l_rec_acct_attrs.array_char_value(30) := p_source_71;
112978 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
112979 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
112980 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
112981 l_rec_acct_attrs.array_char_value(32) := p_source_43;
112982 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
112983 l_rec_acct_attrs.array_num_value(33) := p_source_73;
112984 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
112985 l_rec_acct_attrs.array_num_value(34) := p_source_74;
112986 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
112987 l_rec_acct_attrs.array_num_value(35) := p_source_75;
112988 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
112989 l_rec_acct_attrs.array_num_value(36) := p_source_76;
112990 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
112991 l_rec_acct_attrs.array_num_value(37) := p_source_77;
112992 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
112993 l_rec_acct_attrs.array_num_value(38) := p_source_78;
112994
112995 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
112996 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
112997
112998 ---------------------------------------------------------------------------------------------------------------
112999 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113000 ---------------------------------------------------------------------------------------------------------------
113001 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113002
113003 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113007 (p_source_code => 'LEDGER_CATEGORY_CODE'
113004 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113005
113006 IF xla_accounting_cache_pkg.GetValueChar
113008 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113009 AND l_bflow_method_code = 'PRIOR_ENTRY'
113010 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113011 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113012 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113013 )
113014 THEN
113015 xla_ae_lines_pkg.BflowUpgEntry
113016 (p_business_method_code => l_bflow_method_code
113017 ,p_business_class_code => l_bflow_class_code
113018 ,p_balance_type => l_balance_type_code);
113019 ELSE
113020 NULL;
113021 XLA_AE_LINES_PKG.business_flow_validation(
113022 p_business_method_code => l_bflow_method_code
113023 ,p_business_class_code => l_bflow_class_code
113024 ,p_inherit_description_flag => l_inherit_desc_flag);
113025 END IF;
113026
113027 --
113028 -- call analytical criteria
113029 --
113030 -- Inherited Analytical Criteria for business flow method of Prior Entry.
113031 --
113032 -- call description
113033 --
113034 -- No description or it is inherited.
113035 --
113036 -- call ADRs
113037 -- Bug 4922099
113038 --
113039 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113040 (NVL(l_actual_upg_option, 'N') = 'O') OR
113041 (NVL(l_enc_upg_option, 'N') = 'O')
113042 )
113043 THEN
113044 NULL;
113045 --
113046 --
113047
113048 --
113049 --
113050 END IF;
113051 --
113052 -- Bug 4922099
113053 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
113054 (NVL(l_enc_upg_option, 'N') = 'O')
113055 ) AND
113056 (l_bflow_method_code = 'PRIOR_ENTRY')
113057 )
113058 THEN
113059 IF
113060 --
113061 1 = 1
113062 --
113063 THEN
113064 xla_accounting_err_pkg.build_message
113065 (p_appli_s_name => 'XLA'
113066 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113067 ,p_token_1 => 'LINE_NUMBER'
113068 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
113069 ,p_token_2 => 'LINE_TYPE_NAME'
113070 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
113071 l_component_type
113072 ,l_component_code
113073 ,l_component_type_code
113074 ,l_component_appl_id
113075 ,l_amb_context_code
113076 ,l_entity_code
113077 ,l_event_class_code
113078 )
113079 ,p_token_3 => 'OWNER'
113080 ,p_value_3 => xla_lookups_pkg.get_meaning(
113081 p_lookup_type => 'XLA_OWNER_TYPE'
113082 ,p_lookup_code => l_component_type_code
113083 )
113084 ,p_token_4 => 'PRODUCT_NAME'
113085 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
113086 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
113087 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
113088 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
113089 ,p_ae_header_id => NULL
113090 );
113091
113092 IF (C_LEVEL_ERROR>= g_log_level) THEN
113093 trace
113094 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113095 ,p_level => C_LEVEL_ERROR
113096 ,p_module => l_log_module);
113097 END IF;
113098 END IF;
113099 END IF;
113100 --
113101 --
113102 ------------------------------------------------------------------------------------------------
113103 -- 4219869 Business Flow
113104 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
113105 -- Prior Entry. Currently, the following code is always generated.
113106 ------------------------------------------------------------------------------------------------
113107 -- No ValidateCurrentLine for business flow method of Prior Entry
113108
113112 ------------------------------------------------------------------------------------
113109 ------------------------------------------------------------------------------------
113110 -- 4219869 Business Flow
113111 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
113113 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113114
113115 ----------------------------------------------------------------------------------
113116 -- 4219869 Business Flow
113117 -- Update journal entry status -- Need to generate this within IF <condition>
113118 ----------------------------------------------------------------------------------
113119 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113120 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
113121 ,p_balance_type_code => l_balance_type_code
113122 );
113123
113124 -------------------------------------------------------------------------------------------
113125 -- 4262811 - Generate the Accrual Reversal lines
113126 -------------------------------------------------------------------------------------------
113127 BEGIN
113128 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
113129 (g_array_event(p_event_id).array_value_num('header_index'));
113130 IF l_acc_rev_flag IS NULL THEN
113131 l_acc_rev_flag := 'N';
113132 END IF;
113133 EXCEPTION
113134 WHEN OTHERS THEN
113135 l_acc_rev_flag := 'N';
113136 END;
113137 --
113138 IF (l_acc_rev_flag = 'Y') THEN
113139
113140 -- 4645092 ------------------------------------------------------------------------------
113141 -- To allow MPA report to determine if it should generate report process
113142 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
113143 ------------------------------------------------------------------------------------------
113144
113145 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
113146 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
113147 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
113148 -- call ADRs
113149 -- Bug 4922099
113150 --
113151 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113152 (NVL(l_actual_upg_option, 'N') = 'O') OR
113153 (NVL(l_enc_upg_option, 'N') = 'O')
113154 )
113155 THEN
113156 NULL;
113157 --
113158 --
113159
113160 --
113161 --
113162 END IF;
113163
113164 --
113165 -- Update the line information that should be overwritten
113166 --
113167 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
113168 p_header_num => 1);
113169 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
113170
113171 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
113172
113173 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
113174 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
113175 END IF;
113176
113177 --
113178 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
113179 --
113180 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
113181 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
113182 ELSE
113183 ---------------------------------------------------------------------------------------------------
113184 -- 4262811a Switch Sign
113185 ---------------------------------------------------------------------------------------------------
113186 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
113187 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113188 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113189 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113190 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113191 -- 5132302
113192 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
113193 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113194
113195 END IF;
113196
113197 -- 4955764
113198 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113199 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
113200
113201
113202 XLA_AE_LINES_PKG.ValidateCurrentLine;
113203 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113204
113205 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113206 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
113207 ,p_balance_type_code => l_balance_type_code);
113208
113209 END IF;
113210
113211 -----------------------------------------------------------------------------------------
113212 -- 4262811 Multiperiod Accounting
113213 -----------------------------------------------------------------------------------------
113214 -- No MPA option is assigned.
113215
113216
113217 END IF;
113218 END IF;
113219 --
113220
113224 (p_msg => 'END of AcctLineType_192'
113221 --
113222 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113223 trace
113225 ,p_level => C_LEVEL_PROCEDURE
113226 ,p_module => l_log_module);
113227 END IF;
113228 --
113229 EXCEPTION
113230 WHEN xla_exceptions_pkg.application_exception THEN
113231 RAISE;
113232 WHEN OTHERS THEN
113233 xla_exceptions_pkg.raise_message
113234 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_192');
113235 END AcctLineType_192;
113236 --
113237
113238 ---------------------------------------
113239 --
113240 -- PRIVATE FUNCTION
113241 -- AcctLineType_193
113242 --
113243 ---------------------------------------
113244 PROCEDURE AcctLineType_193 (
113245 p_application_id IN NUMBER
113246 ,p_event_id IN NUMBER
113247 ,p_calculate_acctd_flag IN VARCHAR2
113248 ,p_calculate_g_l_flag IN VARCHAR2
113249 ,p_actual_flag IN OUT VARCHAR2
113250 ,p_balance_type_code OUT VARCHAR2
113251 ,p_gain_or_loss_ref OUT VARCHAR2
113252
113253 --Invoice Distribution Description
113254 , p_source_1 IN VARCHAR2
113255 --Invoice Distribution Ledger Amount
113256 , p_source_9 IN NUMBER
113257 --Invoice Distribution Account
113258 , p_source_18 IN NUMBER
113259 --Invoice Distribution Type
113260 , p_source_21 IN VARCHAR2
113261 , p_source_21_meaning IN VARCHAR2
113262 --Accounting Reversal Indicator
113263 , p_source_41 IN VARCHAR2
113264 --Distribution Link Type
113265 , p_source_43 IN VARCHAR2
113266 --Allocation to Main Distribution Identifier
113267 , p_source_45 IN NUMBER
113268 --Invoice Identifier
113269 , p_source_46 IN NUMBER
113270 --Invoice Distribution Identifier
113271 , p_source_52 IN NUMBER
113272 --Payables Encumbrance Upgrade Credit Account
113273 , p_source_53 IN NUMBER
113274 --Payables Encumbrance Upgrade Credit Amount
113275 , p_source_54 IN NUMBER
113276 --Invoice Currency Code
113277 , p_source_55 IN VARCHAR2
113278 --Payables Encumbrance Upgrade Credit Base Amount
113279 , p_source_56 IN NUMBER
113280 --Payables Encumbrance Upgrade Debit Account
113281 , p_source_57 IN NUMBER
113282 --Payables Encumbrance Upgrade Debit Amount
113283 , p_source_58 IN NUMBER
113284 --Payables Encumbrance Upgrade Debit Base Amount
113285 , p_source_59 IN NUMBER
113286 --Payables Encumbrance Upgrade Option
113287 , p_source_60 IN VARCHAR2
113288 --Invoice Distribution Amount
113289 , p_source_61 IN NUMBER
113290 --Deferred Accounting End Date
113291 , p_source_65 IN DATE
113292 --Deferred Accounting Option
113293 , p_source_66 IN VARCHAR2
113294 --Deferred Accounting Start Date
113295 , p_source_67 IN DATE
113296 --Override Accounted Amount Indicator
113297 , p_source_68 IN VARCHAR2
113298 , p_source_68_meaning IN VARCHAR2
113299 --Invoice Supplier Identifier
113300 , p_source_69 IN NUMBER
113301 --Invoice Supplier Site Identifier
113302 , p_source_70 IN NUMBER
113303 --Third Party Type
113304 , p_source_71 IN VARCHAR2
113305 --Parent Reversal Identifier
113306 , p_source_72 IN NUMBER
113307 --Invoice Distribution Tax Line Identifier
113308 , p_source_74 IN NUMBER
113309 --Invoice Distribution Tax Distribution Identifier from Tax
113310 , p_source_75 IN NUMBER
113311 --Invoice Distribution Summary Tax Line Identifier
113312 , p_source_76 IN NUMBER
113313 --Payables Upgrade Credit Encumbrance Type Identifier
113314 , p_source_77 IN NUMBER
113315 --Payables Upgrade Debit Encumbrance Type Identifier
113316 , p_source_78 IN NUMBER
113317 --Business Flow Accounts Payable Application Identifier
113318 , p_source_79 IN NUMBER
113319 --Business Flow Invoice Distribution Type
113320 , p_source_80 IN VARCHAR2
113321 --Business Flow Invoice Entity Code
113322 , p_source_81 IN VARCHAR2
113323 --Business Flow Invoice Distribution Identifier
113324 , p_source_82 IN NUMBER
113325 --Business Flow Invoice Identifier
113326 , p_source_83 IN NUMBER
113327 --Invoice Exchange Date
113328 , p_source_136 IN DATE
113329 --Invoice Exchange Rate
113330 , p_source_137 IN NUMBER
113331 --Invoice Exchange Rate Type
113332 , p_source_138 IN VARCHAR2
113333 )
113334 IS
113335
113336 l_component_type VARCHAR2(80);
113337 l_component_code VARCHAR2(30);
113338 l_component_type_code VARCHAR2(1);
113339 l_component_appl_id INTEGER;
113340 l_amb_context_code VARCHAR2(30);
113341 l_entity_code VARCHAR2(30);
113342 l_event_class_code VARCHAR2(30);
113343 l_ae_header_id NUMBER;
113344 l_event_type_code VARCHAR2(30);
113345 l_line_definition_code VARCHAR2(30);
113346 l_line_definition_owner_code VARCHAR2(1);
113347 --
113348 -- adr variables
113349 l_segment VARCHAR2(30);
113350 l_ccid NUMBER;
113351 l_adr_transaction_coa_id NUMBER;
113352 l_adr_accounting_coa_id NUMBER;
113353 l_adr_flexfield_segment_code VARCHAR2(30);
113354 l_adr_flex_value_set_id NUMBER;
113355 l_adr_value_type_code VARCHAR2(30);
113356 l_adr_value_combination_id NUMBER;
113357 l_adr_value_segment_code VARCHAR2(30);
113361 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
113358
113359 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
113360 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
113362 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
113363
113364 -- 4262811 Variables ------------------------------------------------------------------------------------------
113365 l_entered_amt_idx NUMBER;
113366 l_accted_amt_idx NUMBER;
113367 l_acc_rev_flag VARCHAR2(1);
113368 l_accrual_line_num NUMBER;
113369 l_tmp_amt NUMBER;
113370 l_acc_rev_natural_side_code VARCHAR2(1);
113371
113372 l_num_entries NUMBER;
113373 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
113374 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
113375 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
113376 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
113377 l_recog_line_1 NUMBER;
113378 l_recog_line_2 NUMBER;
113379
113380 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
113381 l_bflow_applied_to_amt NUMBER; -- 5132302
113382 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
113383
113384 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
113385
113386 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
113387 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
113388
113389 ---------------------------------------------------------------------------------------------------------------
113390
113391
113392 --
113393 -- bulk performance
113394 --
113395 l_balance_type_code VARCHAR2(1);
113396 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
113397 l_log_module VARCHAR2(240);
113398
113399 --
113400 -- Upgrade strategy
113401 --
113402 l_actual_upg_option VARCHAR2(1);
113403 l_enc_upg_option VARCHAR2(1);
113404
113405 --
113406 BEGIN
113407 --
113408 IF g_log_enabled THEN
113409 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_193';
113410 END IF;
113411 --
113412 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113413
113414 trace
113415 (p_msg => 'BEGIN of AcctLineType_193'
113416 ,p_level => C_LEVEL_PROCEDURE
113417 ,p_module => l_log_module);
113418
113419 END IF;
113420 --
113421 l_component_type := 'AMB_JLT';
113422 l_component_code := 'AP_MISC_EXPENSE_DM';
113423 l_component_type_code := 'S';
113424 l_component_appl_id := 200;
113425 l_amb_context_code := 'DEFAULT';
113426 l_entity_code := 'AP_INVOICES';
113427 l_event_class_code := 'DEBIT MEMOS';
113428 l_event_type_code := 'DEBIT MEMOS_ALL';
113429 l_line_definition_owner_code := 'S';
113430 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
113431 --
113432 l_balance_type_code := 'A';
113433 l_segment := NULL;
113434 l_ccid := NULL;
113435 l_adr_transaction_coa_id := NULL;
113436 l_adr_accounting_coa_id := NULL;
113437 l_adr_flexfield_segment_code := NULL;
113438 l_adr_flex_value_set_id := NULL;
113439 l_adr_value_type_code := NULL;
113440 l_adr_value_combination_id := NULL;
113441 l_adr_value_segment_code := NULL;
113442
113443 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
113444 l_bflow_class_code := ''; -- 4219869 Business Flow
113445 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
113446 l_budgetary_control_flag := 'N';
113447
113448 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113449 l_bflow_applied_to_amt := NULL; -- 5132302
113450 l_entered_amt_idx := NULL; -- 4262811
113451 l_accted_amt_idx := NULL; -- 4262811
113452 l_acc_rev_flag := NULL; -- 4262811
113453 l_accrual_line_num := NULL; -- 4262811
113454 l_tmp_amt := NULL; -- 4262811
113455 --
113456
113457 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
113458 l_balance_type_code <> 'B' THEN
113459 IF NVL(p_source_21,'
113460 ') = 'MISCELLANEOUS'
113461 THEN
113462
113463 --
113464 XLA_AE_LINES_PKG.SetNewLine;
113465
113466 p_balance_type_code := l_balance_type_code;
113467 -- set the flag so later we will know whether the gain loss line needs to be created
113468
113469 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
113470 p_actual_flag :='A';
113471 END IF;
113472
113473 --
113474 -- bulk performance
113475 --
113476 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
113477 p_header_num => 0); -- 4262811
113478 --
113479 -- set accounting line options
113480 --
113481 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
113482 p_natural_side_code => 'D'
113483 , p_gain_or_loss_flag => 'N'
113484 , p_gl_transfer_mode_code => 'S'
113485 , p_acct_entry_type_code => 'A'
113486 , p_switch_side_flag => 'Y'
113487 , p_merge_duplicate_code => 'A'
113491 --
113488 );
113489 --
113490 l_acc_rev_natural_side_code := 'C'; -- 4262811
113492 --
113493 -- set accounting line type info
113494 --
113495 xla_ae_lines_pkg.SetAcctLineType
113496 (p_component_type => l_component_type
113497 ,p_event_type_code => l_event_type_code
113498 ,p_line_definition_owner_code => l_line_definition_owner_code
113499 ,p_line_definition_code => l_line_definition_code
113500 ,p_accounting_line_code => l_component_code
113501 ,p_accounting_line_type_code => l_component_type_code
113502 ,p_accounting_line_appl_id => l_component_appl_id
113503 ,p_amb_context_code => l_amb_context_code
113504 ,p_entity_code => l_entity_code
113505 ,p_event_class_code => l_event_class_code);
113506 --
113507 -- set accounting class
113508 --
113509 xla_ae_lines_pkg.SetAcctClass(
113510 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
113511 , p_ae_header_id => l_ae_header_id
113512 );
113513
113514 --
113515 -- set rounding class
113516 --
113517 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
113518 'MISCELLANEOUS EXPENSE';
113519
113520 --
113521 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
113522 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
113523 --
113524 -- bulk performance
113525 --
113526 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
113527
113528 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
113529 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
113530
113531 -- 4955764
113532 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113533 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
113534
113535 -- 4458381 Public Sector Enh
113536
113537 --
113538 -- set accounting attributes for the line type
113539 --
113540 l_entered_amt_idx := 23;
113541 l_accted_amt_idx := 28;
113542 l_bflow_applied_to_amt_idx := NULL; -- 5132302
113543 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
113544 l_rec_acct_attrs.array_char_value(1) := p_source_41;
113545 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
113546 l_rec_acct_attrs.array_num_value(2) :=
113547 xla_ae_sources_pkg.GetSystemSourceNum(
113548 p_source_code => 'XLA_EVENT_APPL_ID'
113549 , p_source_type_code => 'Y'
113550 , p_source_application_id => 602
113551 );
113552 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
113553 l_rec_acct_attrs.array_char_value(3) := p_source_43;
113554 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
113555 l_rec_acct_attrs.array_char_value(4) :=
113556 xla_ae_sources_pkg.GetSystemSourceChar(
113557 p_source_code => 'XLA_ENTITY_CODE'
113558 , p_source_type_code => 'Y'
113559 , p_source_application_id => 602
113560 );
113561 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
113562 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
113563 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
113564 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
113565 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
113566 l_rec_acct_attrs.array_num_value(7) := p_source_79;
113567 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
113568 l_rec_acct_attrs.array_char_value(8) := p_source_80;
113569 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
113570 l_rec_acct_attrs.array_char_value(9) := p_source_81;
113571 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
113572 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
113573 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
113574 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
113575 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
113576 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
113577 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
113578 l_rec_acct_attrs.array_char_value(13) := p_source_43;
113579 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
113580 l_rec_acct_attrs.array_num_value(14) := p_source_53;
113581 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
113582 l_rec_acct_attrs.array_num_value(15) := p_source_54;
113583 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
113584 l_rec_acct_attrs.array_char_value(16) := p_source_55;
113585 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
113586 l_rec_acct_attrs.array_num_value(17) := p_source_56;
113587 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
113588 l_rec_acct_attrs.array_num_value(18) := p_source_57;
113589 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
113590 l_rec_acct_attrs.array_num_value(19) := p_source_58;
113591 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
113595 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
113592 l_rec_acct_attrs.array_char_value(20) := p_source_55;
113593 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
113594 l_rec_acct_attrs.array_num_value(21) := p_source_59;
113596 l_rec_acct_attrs.array_char_value(22) := p_source_60;
113597 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
113598 l_rec_acct_attrs.array_num_value(23) := p_source_61;
113599 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
113600 l_rec_acct_attrs.array_char_value(24) := p_source_55;
113601 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
113602 l_rec_acct_attrs.array_date_value(25) := p_source_136;
113603 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
113604 l_rec_acct_attrs.array_num_value(26) := p_source_137;
113605 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
113606 l_rec_acct_attrs.array_char_value(27) := p_source_138;
113607 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
113608 l_rec_acct_attrs.array_num_value(28) := p_source_9;
113609 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
113610 l_rec_acct_attrs.array_date_value(29) := p_source_65;
113611 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
113612 l_rec_acct_attrs.array_char_value(30) := p_source_66;
113613 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
113614 l_rec_acct_attrs.array_date_value(31) := p_source_67;
113615 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
113616 l_rec_acct_attrs.array_char_value(32) := p_source_68;
113617 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
113618 l_rec_acct_attrs.array_num_value(33) := p_source_69;
113619 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
113620 l_rec_acct_attrs.array_num_value(34) := p_source_70;
113621 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
113622 l_rec_acct_attrs.array_char_value(35) := p_source_71;
113623 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
113624 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
113625 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
113626 l_rec_acct_attrs.array_char_value(37) := p_source_43;
113627 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
113628 l_rec_acct_attrs.array_num_value(38) := p_source_74;
113629 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
113630 l_rec_acct_attrs.array_num_value(39) := p_source_75;
113631 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
113632 l_rec_acct_attrs.array_num_value(40) := p_source_76;
113633 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
113634 l_rec_acct_attrs.array_num_value(41) := p_source_77;
113635 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
113636 l_rec_acct_attrs.array_num_value(42) := p_source_78;
113637
113638 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
113639 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
113640
113641 ---------------------------------------------------------------------------------------------------------------
113642 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
113643 ---------------------------------------------------------------------------------------------------------------
113644 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
113645
113646 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113647 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
113648
113649 IF xla_accounting_cache_pkg.GetValueChar
113650 (p_source_code => 'LEDGER_CATEGORY_CODE'
113651 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
113652 AND l_bflow_method_code = 'PRIOR_ENTRY'
113653 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
113654 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
113655 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
113656 )
113657 THEN
113658 xla_ae_lines_pkg.BflowUpgEntry
113659 (p_business_method_code => l_bflow_method_code
113660 ,p_business_class_code => l_bflow_class_code
113661 ,p_balance_type => l_balance_type_code);
113662 ELSE
113663 NULL;
113664 -- No business flow processing for business flow method of NONE.
113665 END IF;
113666
113667 --
113668 -- call analytical criteria
113669 --
113670
113671 --
113672 -- call description
113673 --
113674
113675 xla_ae_lines_pkg.SetLineDescription(
113676 p_ae_header_id => l_ae_header_id
113677 ,p_description => Description_2 (
113678 p_application_id => p_application_id
113679 , p_ae_header_id => l_ae_header_id
113680 , p_source_1 => p_source_1
113681 )
113682 );
113683
113684
113685 --
113686 -- call ADRs
113687 -- Bug 4922099
113688 --
113689 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113690 (NVL(l_actual_upg_option, 'N') = 'O') OR
113691 (NVL(l_enc_upg_option, 'N') = 'O')
113692 )
113693 THEN
113694 NULL;
113695 --
113699 p_application_id => p_application_id
113696 --
113697
113698 l_ccid := AcctDerRule_32(
113700 , p_ae_header_id => l_ae_header_id
113701 , p_source_18 => p_source_18
113702 , x_transaction_coa_id => l_adr_transaction_coa_id
113703 , x_accounting_coa_id => l_adr_accounting_coa_id
113704 , x_value_type_code => l_adr_value_type_code
113705 , p_side => 'NA'
113706 );
113707
113708 xla_ae_lines_pkg.set_ccid(
113709 p_code_combination_id => l_ccid
113710 , p_value_type_code => l_adr_value_type_code
113711 , p_transaction_coa_id => l_adr_transaction_coa_id
113712 , p_accounting_coa_id => l_adr_accounting_coa_id
113713 , p_adr_code => 'AP_INVOICE_DIST'
113714 , p_adr_type_code => 'S'
113715 , p_component_type => l_component_type
113716 , p_component_code => l_component_code
113717 , p_component_type_code => l_component_type_code
113718 , p_component_appl_id => l_component_appl_id
113719 , p_amb_context_code => l_amb_context_code
113720 , p_side => 'NA'
113721 );
113722
113723
113724 --
113725 --
113726 END IF;
113727 --
113728 -- Bug 4922099
113729 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
113730 (NVL(l_enc_upg_option, 'N') = 'O')
113731 ) AND
113732 (l_bflow_method_code = 'PRIOR_ENTRY')
113733 )
113734 THEN
113735 IF
113736 --
113737 1 = 2
113738 --
113739 THEN
113740 xla_accounting_err_pkg.build_message
113741 (p_appli_s_name => 'XLA'
113742 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113743 ,p_token_1 => 'LINE_NUMBER'
113744 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
113745 ,p_token_2 => 'LINE_TYPE_NAME'
113746 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
113747 l_component_type
113748 ,l_component_code
113749 ,l_component_type_code
113750 ,l_component_appl_id
113751 ,l_amb_context_code
113752 ,l_entity_code
113753 ,l_event_class_code
113754 )
113755 ,p_token_3 => 'OWNER'
113756 ,p_value_3 => xla_lookups_pkg.get_meaning(
113757 p_lookup_type => 'XLA_OWNER_TYPE'
113758 ,p_lookup_code => l_component_type_code
113759 )
113760 ,p_token_4 => 'PRODUCT_NAME'
113761 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
113762 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
113763 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
113764 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
113765 ,p_ae_header_id => NULL
113766 );
113767
113768 IF (C_LEVEL_ERROR>= g_log_level) THEN
113769 trace
113770 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
113771 ,p_level => C_LEVEL_ERROR
113772 ,p_module => l_log_module);
113773 END IF;
113774 END IF;
113775 END IF;
113776 --
113777 --
113778 ------------------------------------------------------------------------------------------------
113779 -- 4219869 Business Flow
113780 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
113781 -- Prior Entry. Currently, the following code is always generated.
113782 ------------------------------------------------------------------------------------------------
113783 XLA_AE_LINES_PKG.ValidateCurrentLine;
113784
113785 ------------------------------------------------------------------------------------
113786 -- 4219869 Business Flow
113787 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
113788 ------------------------------------------------------------------------------------
113789 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113790
113791 ----------------------------------------------------------------------------------
113792 -- 4219869 Business Flow
113793 -- Update journal entry status -- Need to generate this within IF <condition>
113794 ----------------------------------------------------------------------------------
113795 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113799
113796 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
113797 ,p_balance_type_code => l_balance_type_code
113798 );
113800 -------------------------------------------------------------------------------------------
113801 -- 4262811 - Generate the Accrual Reversal lines
113802 -------------------------------------------------------------------------------------------
113803 BEGIN
113804 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
113805 (g_array_event(p_event_id).array_value_num('header_index'));
113806 IF l_acc_rev_flag IS NULL THEN
113807 l_acc_rev_flag := 'N';
113808 END IF;
113809 EXCEPTION
113810 WHEN OTHERS THEN
113811 l_acc_rev_flag := 'N';
113812 END;
113813 --
113814 IF (l_acc_rev_flag = 'Y') THEN
113815
113816 -- 4645092 ------------------------------------------------------------------------------
113817 -- To allow MPA report to determine if it should generate report process
113818 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
113819 ------------------------------------------------------------------------------------------
113820
113821 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
113822 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
113823 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
113824 -- call ADRs
113825 -- Bug 4922099
113826 --
113827 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
113828 (NVL(l_actual_upg_option, 'N') = 'O') OR
113829 (NVL(l_enc_upg_option, 'N') = 'O')
113830 )
113831 THEN
113832 NULL;
113833 --
113834 --
113835
113836 l_ccid := AcctDerRule_32(
113837 p_application_id => p_application_id
113838 , p_ae_header_id => l_ae_header_id
113839 , p_source_18 => p_source_18
113840 , x_transaction_coa_id => l_adr_transaction_coa_id
113841 , x_accounting_coa_id => l_adr_accounting_coa_id
113842 , x_value_type_code => l_adr_value_type_code
113843 , p_side => 'NA'
113844 );
113845
113846 xla_ae_lines_pkg.set_ccid(
113847 p_code_combination_id => l_ccid
113848 , p_value_type_code => l_adr_value_type_code
113849 , p_transaction_coa_id => l_adr_transaction_coa_id
113850 , p_accounting_coa_id => l_adr_accounting_coa_id
113851 , p_adr_code => 'AP_INVOICE_DIST'
113852 , p_adr_type_code => 'S'
113853 , p_component_type => l_component_type
113854 , p_component_code => l_component_code
113855 , p_component_type_code => l_component_type_code
113856 , p_component_appl_id => l_component_appl_id
113857 , p_amb_context_code => l_amb_context_code
113858 , p_side => 'NA'
113859 );
113860
113861
113862 --
113863 --
113864 END IF;
113865
113866 --
113867 -- Update the line information that should be overwritten
113868 --
113869 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
113870 p_header_num => 1);
113871 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
113872
113873 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
113874
113875 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
113876 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
113877 END IF;
113878
113879 --
113880 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
113881 --
113882 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
113883 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
113884 ELSE
113885 ---------------------------------------------------------------------------------------------------
113886 -- 4262811a Switch Sign
113887 ---------------------------------------------------------------------------------------------------
113888 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
113889 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113890 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113891 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
113892 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113893 -- 5132302
113894 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
113895 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
113896
113897 END IF;
113898
113899 -- 4955764
113900 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
113901 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
113902
113903
113904 XLA_AE_LINES_PKG.ValidateCurrentLine;
113905 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
113906
113907 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
113911 END IF;
113908 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
113909 ,p_balance_type_code => l_balance_type_code);
113910
113912
113913 -----------------------------------------------------------------------------------------
113914 -- 4262811 Multiperiod Accounting
113915 -----------------------------------------------------------------------------------------
113916 -- No MPA option is assigned.
113917
113918
113919 END IF;
113920 END IF;
113921 --
113922
113923 --
113924 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
113925 trace
113926 (p_msg => 'END of AcctLineType_193'
113927 ,p_level => C_LEVEL_PROCEDURE
113928 ,p_module => l_log_module);
113929 END IF;
113930 --
113931 EXCEPTION
113932 WHEN xla_exceptions_pkg.application_exception THEN
113933 RAISE;
113934 WHEN OTHERS THEN
113935 xla_exceptions_pkg.raise_message
113936 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_193');
113937 END AcctLineType_193;
113938 --
113939
113940 ---------------------------------------
113941 --
113942 -- PRIVATE FUNCTION
113943 -- AcctLineType_194
113944 --
113945 ---------------------------------------
113946 PROCEDURE AcctLineType_194 (
113947 p_application_id IN NUMBER
113948 ,p_event_id IN NUMBER
113949 ,p_calculate_acctd_flag IN VARCHAR2
113950 ,p_calculate_g_l_flag IN VARCHAR2
113951 ,p_actual_flag IN OUT VARCHAR2
113952 ,p_balance_type_code OUT VARCHAR2
113953 ,p_gain_or_loss_ref OUT VARCHAR2
113954
113955 --Invoice Distribution Type
113956 , p_source_21 IN VARCHAR2
113957 , p_source_21_meaning IN VARCHAR2
113958 --Accounting Reversal Indicator
113959 , p_source_41 IN VARCHAR2
113960 --Distribution Link Type
113961 , p_source_43 IN VARCHAR2
113962 --Allocation to Main Distribution Identifier
113963 , p_source_45 IN NUMBER
113964 --Invoice Identifier
113965 , p_source_46 IN NUMBER
113966 --Invoice Distribution Identifier
113967 , p_source_52 IN NUMBER
113968 --Payables Encumbrance Upgrade Credit Account
113969 , p_source_53 IN NUMBER
113970 --Payables Encumbrance Upgrade Credit Amount
113971 , p_source_54 IN NUMBER
113972 --Invoice Currency Code
113973 , p_source_55 IN VARCHAR2
113974 --Payables Encumbrance Upgrade Credit Base Amount
113975 , p_source_56 IN NUMBER
113976 --Payables Encumbrance Upgrade Debit Account
113977 , p_source_57 IN NUMBER
113978 --Payables Encumbrance Upgrade Debit Amount
113979 , p_source_58 IN NUMBER
113980 --Payables Encumbrance Upgrade Debit Base Amount
113981 , p_source_59 IN NUMBER
113982 --Payables Encumbrance Upgrade Option
113983 , p_source_60 IN VARCHAR2
113984 --Deferred Accounting End Date
113985 , p_source_65 IN DATE
113986 --Deferred Accounting Option
113987 , p_source_66 IN VARCHAR2
113988 --Deferred Accounting Start Date
113989 , p_source_67 IN DATE
113990 --Override Accounted Amount Indicator
113991 , p_source_68 IN VARCHAR2
113992 , p_source_68_meaning IN VARCHAR2
113993 --Third Party Type
113994 , p_source_71 IN VARCHAR2
113995 --Parent Reversal Identifier
113996 , p_source_72 IN NUMBER
113997 --Invoice Distribution Tax Line Identifier
113998 , p_source_74 IN NUMBER
113999 --Invoice Distribution Tax Distribution Identifier from Tax
114000 , p_source_75 IN NUMBER
114001 --Invoice Distribution Summary Tax Line Identifier
114002 , p_source_76 IN NUMBER
114003 --Payables Upgrade Credit Encumbrance Type Identifier
114004 , p_source_77 IN NUMBER
114005 --Payables Upgrade Debit Encumbrance Type Identifier
114006 , p_source_78 IN NUMBER
114007 --Business Flow Accounts Payable Application Identifier
114008 , p_source_79 IN NUMBER
114009 --Business Flow Invoice Distribution Type
114010 , p_source_80 IN VARCHAR2
114011 --Business Flow Invoice Entity Code
114012 , p_source_81 IN VARCHAR2
114013 --Business Flow Invoice Distribution Identifier
114014 , p_source_82 IN NUMBER
114015 --Business Flow Invoice Identifier
114016 , p_source_83 IN NUMBER
114017 --Purchasing Encumbrance Option
114018 , p_source_86 IN VARCHAR2
114019 , p_source_86_meaning IN VARCHAR2
114020 --Invoice Encumbered Option
114021 , p_source_87 IN VARCHAR2
114022 , p_source_87_meaning IN VARCHAR2
114023 --Invoice Distribution Encumbrance Amount
114024 , p_source_143 IN NUMBER
114025 --Invoice Distribution Encumbrance Ledger Amount
114026 , p_source_144 IN NUMBER
114027 )
114028 IS
114029
114030 l_component_type VARCHAR2(80);
114031 l_component_code VARCHAR2(30);
114032 l_component_type_code VARCHAR2(1);
114033 l_component_appl_id INTEGER;
114034 l_amb_context_code VARCHAR2(30);
114035 l_entity_code VARCHAR2(30);
114036 l_event_class_code VARCHAR2(30);
114037 l_ae_header_id NUMBER;
114038 l_event_type_code VARCHAR2(30);
114039 l_line_definition_code VARCHAR2(30);
114040 l_line_definition_owner_code VARCHAR2(1);
114041 --
114042 -- adr variables
114043 l_segment VARCHAR2(30);
114044 l_ccid NUMBER;
114045 l_adr_transaction_coa_id NUMBER;
114049 l_adr_value_type_code VARCHAR2(30);
114046 l_adr_accounting_coa_id NUMBER;
114047 l_adr_flexfield_segment_code VARCHAR2(30);
114048 l_adr_flex_value_set_id NUMBER;
114050 l_adr_value_combination_id NUMBER;
114051 l_adr_value_segment_code VARCHAR2(30);
114052
114053 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
114054 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
114055 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
114056 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
114057
114058 -- 4262811 Variables ------------------------------------------------------------------------------------------
114059 l_entered_amt_idx NUMBER;
114060 l_accted_amt_idx NUMBER;
114061 l_acc_rev_flag VARCHAR2(1);
114062 l_accrual_line_num NUMBER;
114063 l_tmp_amt NUMBER;
114064 l_acc_rev_natural_side_code VARCHAR2(1);
114065
114066 l_num_entries NUMBER;
114067 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
114068 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
114069 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
114070 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
114071 l_recog_line_1 NUMBER;
114072 l_recog_line_2 NUMBER;
114073
114074 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
114075 l_bflow_applied_to_amt NUMBER; -- 5132302
114076 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
114077
114078 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
114079
114080 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
114081 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
114082
114083 ---------------------------------------------------------------------------------------------------------------
114084
114085
114086 --
114087 -- bulk performance
114088 --
114089 l_balance_type_code VARCHAR2(1);
114090 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
114091 l_log_module VARCHAR2(240);
114092
114093 --
114094 -- Upgrade strategy
114095 --
114096 l_actual_upg_option VARCHAR2(1);
114097 l_enc_upg_option VARCHAR2(1);
114098
114099 --
114100 BEGIN
114101 --
114102 IF g_log_enabled THEN
114103 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_194';
114104 END IF;
114105 --
114106 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114107
114108 trace
114109 (p_msg => 'BEGIN of AcctLineType_194'
114110 ,p_level => C_LEVEL_PROCEDURE
114111 ,p_module => l_log_module);
114112
114113 END IF;
114114 --
114115 l_component_type := 'AMB_JLT';
114116 l_component_code := 'AP_MISC_EXPENSE_DM_ENC';
114117 l_component_type_code := 'S';
114118 l_component_appl_id := 200;
114119 l_amb_context_code := 'DEFAULT';
114120 l_entity_code := 'AP_INVOICES';
114121 l_event_class_code := 'DEBIT MEMOS';
114122 l_event_type_code := 'DEBIT MEMOS_ALL';
114123 l_line_definition_owner_code := 'S';
114124 l_line_definition_code := 'ENC_REV_DM_ALL';
114125 --
114126 l_balance_type_code := 'E';
114127 l_segment := NULL;
114128 l_ccid := NULL;
114129 l_adr_transaction_coa_id := NULL;
114130 l_adr_accounting_coa_id := NULL;
114131 l_adr_flexfield_segment_code := NULL;
114132 l_adr_flex_value_set_id := NULL;
114133 l_adr_value_type_code := NULL;
114134 l_adr_value_combination_id := NULL;
114135 l_adr_value_segment_code := NULL;
114136
114137 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
114138 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
114139 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
114140 l_budgetary_control_flag := 'N';
114141
114142 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114143 l_bflow_applied_to_amt := NULL; -- 5132302
114144 l_entered_amt_idx := NULL; -- 4262811
114145 l_accted_amt_idx := NULL; -- 4262811
114146 l_acc_rev_flag := NULL; -- 4262811
114147 l_accrual_line_num := NULL; -- 4262811
114148 l_tmp_amt := NULL; -- 4262811
114149 --
114150
114151 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
114152 l_balance_type_code <> 'B' THEN
114153 IF NVL(p_source_21,'
114154 ') = 'MISCELLANEOUS' AND
114155 NVL(p_source_86,'
114156 ') = 'Y' AND
114157 NVL(p_source_87,'
114158 ') = 'Y'
114159 THEN
114160
114161 --
114162 XLA_AE_LINES_PKG.SetNewLine;
114163
114164 p_balance_type_code := l_balance_type_code;
114165 -- set the flag so later we will know whether the gain loss line needs to be created
114166
114167 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
114168 p_actual_flag :='A';
114169 END IF;
114170
114171 --
114172 -- bulk performance
114173 --
114174 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
114178 --
114175 p_header_num => 0); -- 4262811
114176 --
114177 -- set accounting line options
114179 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
114180 p_natural_side_code => 'C'
114181 , p_gain_or_loss_flag => 'N'
114182 , p_gl_transfer_mode_code => 'S'
114183 , p_acct_entry_type_code => 'E'
114184 , p_switch_side_flag => 'Y'
114185 , p_merge_duplicate_code => 'A'
114186 );
114187 --
114188 l_acc_rev_natural_side_code := 'D'; -- 4262811
114189 --
114190 --
114191 -- set accounting line type info
114192 --
114193 xla_ae_lines_pkg.SetAcctLineType
114194 (p_component_type => l_component_type
114195 ,p_event_type_code => l_event_type_code
114196 ,p_line_definition_owner_code => l_line_definition_owner_code
114197 ,p_line_definition_code => l_line_definition_code
114198 ,p_accounting_line_code => l_component_code
114199 ,p_accounting_line_type_code => l_component_type_code
114200 ,p_accounting_line_appl_id => l_component_appl_id
114201 ,p_amb_context_code => l_amb_context_code
114202 ,p_entity_code => l_entity_code
114203 ,p_event_class_code => l_event_class_code);
114204 --
114205 -- set accounting class
114206 --
114207 xla_ae_lines_pkg.SetAcctClass(
114208 p_accounting_class_code => 'FREIGHT'
114209 , p_ae_header_id => l_ae_header_id
114210 );
114211
114212 --
114213 -- set rounding class
114214 --
114215 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
114216 'FREIGHT';
114217
114218 --
114219 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
114220 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
114221 --
114222 -- bulk performance
114223 --
114224 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
114225
114226 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
114227 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
114228
114229 -- 4955764
114230 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114231 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
114232
114233 -- 4458381 Public Sector Enh
114234
114235 --
114236 -- set accounting attributes for the line type
114237 --
114238 l_entered_amt_idx := 23;
114239 l_accted_amt_idx := 25;
114240 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114241 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
114242 l_rec_acct_attrs.array_char_value(1) := p_source_41;
114243 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
114244 l_rec_acct_attrs.array_num_value(2) :=
114245 xla_ae_sources_pkg.GetSystemSourceNum(
114246 p_source_code => 'XLA_EVENT_APPL_ID'
114247 , p_source_type_code => 'Y'
114248 , p_source_application_id => 602
114249 );
114250 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
114251 l_rec_acct_attrs.array_char_value(3) := p_source_43;
114252 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
114253 l_rec_acct_attrs.array_char_value(4) :=
114254 xla_ae_sources_pkg.GetSystemSourceChar(
114255 p_source_code => 'XLA_ENTITY_CODE'
114256 , p_source_type_code => 'Y'
114257 , p_source_application_id => 602
114258 );
114259 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
114260 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
114261 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
114262 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
114263 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
114264 l_rec_acct_attrs.array_num_value(7) := p_source_79;
114265 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
114266 l_rec_acct_attrs.array_char_value(8) := p_source_80;
114267 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
114268 l_rec_acct_attrs.array_char_value(9) := p_source_81;
114269 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
114270 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
114271 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
114272 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
114273 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
114274 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
114275 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
114276 l_rec_acct_attrs.array_char_value(13) := p_source_43;
114277 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
114278 l_rec_acct_attrs.array_num_value(14) := p_source_53;
114279 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
114280 l_rec_acct_attrs.array_num_value(15) := p_source_54;
114281 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
114282 l_rec_acct_attrs.array_char_value(16) := p_source_55;
114286 l_rec_acct_attrs.array_num_value(18) := p_source_57;
114283 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
114284 l_rec_acct_attrs.array_num_value(17) := p_source_56;
114285 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
114287 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
114288 l_rec_acct_attrs.array_num_value(19) := p_source_58;
114289 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
114290 l_rec_acct_attrs.array_char_value(20) := p_source_55;
114291 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
114292 l_rec_acct_attrs.array_num_value(21) := p_source_59;
114293 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
114294 l_rec_acct_attrs.array_char_value(22) := p_source_60;
114295 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
114296 l_rec_acct_attrs.array_num_value(23) := p_source_143;
114297 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
114298 l_rec_acct_attrs.array_char_value(24) := p_source_55;
114299 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
114300 l_rec_acct_attrs.array_num_value(25) := p_source_144;
114301 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
114302 l_rec_acct_attrs.array_date_value(26) := p_source_65;
114303 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
114304 l_rec_acct_attrs.array_char_value(27) := p_source_66;
114305 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
114306 l_rec_acct_attrs.array_date_value(28) := p_source_67;
114307 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
114308 l_rec_acct_attrs.array_char_value(29) := p_source_68;
114309 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
114310 l_rec_acct_attrs.array_char_value(30) := p_source_71;
114311 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
114312 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
114313 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
114314 l_rec_acct_attrs.array_char_value(32) := p_source_43;
114315 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
114316 l_rec_acct_attrs.array_num_value(33) := p_source_74;
114317 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
114318 l_rec_acct_attrs.array_num_value(34) := p_source_75;
114319 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
114320 l_rec_acct_attrs.array_num_value(35) := p_source_76;
114321 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
114322 l_rec_acct_attrs.array_num_value(36) := p_source_77;
114323 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
114324 l_rec_acct_attrs.array_num_value(37) := p_source_78;
114325
114326 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
114327 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
114328
114329 ---------------------------------------------------------------------------------------------------------------
114330 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
114331 ---------------------------------------------------------------------------------------------------------------
114332 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
114333
114334 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114335 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114336
114337 IF xla_accounting_cache_pkg.GetValueChar
114338 (p_source_code => 'LEDGER_CATEGORY_CODE'
114339 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
114340 AND l_bflow_method_code = 'PRIOR_ENTRY'
114341 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
114342 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
114343 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
114344 )
114345 THEN
114346 xla_ae_lines_pkg.BflowUpgEntry
114347 (p_business_method_code => l_bflow_method_code
114348 ,p_business_class_code => l_bflow_class_code
114349 ,p_balance_type => l_balance_type_code);
114350 ELSE
114351 NULL;
114352 XLA_AE_LINES_PKG.business_flow_validation(
114353 p_business_method_code => l_bflow_method_code
114354 ,p_business_class_code => l_bflow_class_code
114355 ,p_inherit_description_flag => l_inherit_desc_flag);
114356 END IF;
114357
114358 --
114359 -- call analytical criteria
114360 --
114361 -- Inherited Analytical Criteria for business flow method of Prior Entry.
114362 --
114363 -- call description
114364 --
114365 -- No description or it is inherited.
114366 --
114367 -- call ADRs
114368 -- Bug 4922099
114369 --
114370 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114371 (NVL(l_actual_upg_option, 'N') = 'O') OR
114372 (NVL(l_enc_upg_option, 'N') = 'O')
114373 )
114374 THEN
114375 NULL;
114376 --
114377 --
114378
114379 --
114380 --
114381 END IF;
114382 --
114383 -- Bug 4922099
114384 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
114385 (NVL(l_enc_upg_option, 'N') = 'O')
114386 ) AND
114390 IF
114387 (l_bflow_method_code = 'PRIOR_ENTRY')
114388 )
114389 THEN
114391 --
114392 1 = 1
114393 --
114394 THEN
114395 xla_accounting_err_pkg.build_message
114396 (p_appli_s_name => 'XLA'
114397 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114398 ,p_token_1 => 'LINE_NUMBER'
114399 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
114400 ,p_token_2 => 'LINE_TYPE_NAME'
114401 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
114402 l_component_type
114403 ,l_component_code
114404 ,l_component_type_code
114405 ,l_component_appl_id
114406 ,l_amb_context_code
114407 ,l_entity_code
114408 ,l_event_class_code
114409 )
114410 ,p_token_3 => 'OWNER'
114411 ,p_value_3 => xla_lookups_pkg.get_meaning(
114412 p_lookup_type => 'XLA_OWNER_TYPE'
114413 ,p_lookup_code => l_component_type_code
114414 )
114415 ,p_token_4 => 'PRODUCT_NAME'
114416 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
114417 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
114418 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
114419 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
114420 ,p_ae_header_id => NULL
114421 );
114422
114423 IF (C_LEVEL_ERROR>= g_log_level) THEN
114424 trace
114425 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
114426 ,p_level => C_LEVEL_ERROR
114427 ,p_module => l_log_module);
114428 END IF;
114429 END IF;
114430 END IF;
114431 --
114432 --
114433 ------------------------------------------------------------------------------------------------
114434 -- 4219869 Business Flow
114435 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
114436 -- Prior Entry. Currently, the following code is always generated.
114437 ------------------------------------------------------------------------------------------------
114438 -- No ValidateCurrentLine for business flow method of Prior Entry
114439
114440 ------------------------------------------------------------------------------------
114441 -- 4219869 Business Flow
114442 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
114443 ------------------------------------------------------------------------------------
114444 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114445
114446 ----------------------------------------------------------------------------------
114447 -- 4219869 Business Flow
114448 -- Update journal entry status -- Need to generate this within IF <condition>
114449 ----------------------------------------------------------------------------------
114450 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114451 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
114452 ,p_balance_type_code => l_balance_type_code
114453 );
114454
114455 -------------------------------------------------------------------------------------------
114456 -- 4262811 - Generate the Accrual Reversal lines
114457 -------------------------------------------------------------------------------------------
114458 BEGIN
114459 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
114460 (g_array_event(p_event_id).array_value_num('header_index'));
114461 IF l_acc_rev_flag IS NULL THEN
114462 l_acc_rev_flag := 'N';
114463 END IF;
114464 EXCEPTION
114465 WHEN OTHERS THEN
114466 l_acc_rev_flag := 'N';
114467 END;
114468 --
114469 IF (l_acc_rev_flag = 'Y') THEN
114470
114471 -- 4645092 ------------------------------------------------------------------------------
114472 -- To allow MPA report to determine if it should generate report process
114473 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
114474 ------------------------------------------------------------------------------------------
114475
114476 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
114477 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
114478 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
114482 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
114479 -- call ADRs
114480 -- Bug 4922099
114481 --
114483 (NVL(l_actual_upg_option, 'N') = 'O') OR
114484 (NVL(l_enc_upg_option, 'N') = 'O')
114485 )
114486 THEN
114487 NULL;
114488 --
114489 --
114490
114491 --
114492 --
114493 END IF;
114494
114495 --
114496 -- Update the line information that should be overwritten
114497 --
114498 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
114499 p_header_num => 1);
114500 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
114501
114502 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
114503
114504 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
114505 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
114506 END IF;
114507
114508 --
114509 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
114510 --
114511 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
114512 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
114513 ELSE
114514 ---------------------------------------------------------------------------------------------------
114515 -- 4262811a Switch Sign
114516 ---------------------------------------------------------------------------------------------------
114517 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
114518 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114519 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114520 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
114521 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114522 -- 5132302
114523 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
114524 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
114525
114526 END IF;
114527
114528 -- 4955764
114529 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114530 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
114531
114532
114533 XLA_AE_LINES_PKG.ValidateCurrentLine;
114534 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
114535
114536 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
114537 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
114538 ,p_balance_type_code => l_balance_type_code);
114539
114540 END IF;
114541
114542 -----------------------------------------------------------------------------------------
114543 -- 4262811 Multiperiod Accounting
114544 -----------------------------------------------------------------------------------------
114545 -- No MPA option is assigned.
114546
114547
114548 END IF;
114549 END IF;
114550 --
114551
114552 --
114553 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114554 trace
114555 (p_msg => 'END of AcctLineType_194'
114556 ,p_level => C_LEVEL_PROCEDURE
114557 ,p_module => l_log_module);
114558 END IF;
114559 --
114560 EXCEPTION
114561 WHEN xla_exceptions_pkg.application_exception THEN
114562 RAISE;
114563 WHEN OTHERS THEN
114564 xla_exceptions_pkg.raise_message
114565 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_194');
114566 END AcctLineType_194;
114567 --
114568
114569 ---------------------------------------
114570 --
114571 -- PRIVATE FUNCTION
114572 -- AcctLineType_195
114573 --
114574 ---------------------------------------
114575 PROCEDURE AcctLineType_195 (
114576 p_application_id IN NUMBER
114577 ,p_event_id IN NUMBER
114578 ,p_calculate_acctd_flag IN VARCHAR2
114579 ,p_calculate_g_l_flag IN VARCHAR2
114580 ,p_actual_flag IN OUT VARCHAR2
114581 ,p_balance_type_code OUT VARCHAR2
114582 ,p_gain_or_loss_ref OUT VARCHAR2
114583
114584 --Invoice Distribution Description
114585 , p_source_1 IN VARCHAR2
114586 --Invoice Distribution Ledger Amount
114587 , p_source_9 IN NUMBER
114588 --Invoice Distribution Account
114589 , p_source_18 IN NUMBER
114590 --Invoice Distribution Type
114591 , p_source_21 IN VARCHAR2
114592 , p_source_21_meaning IN VARCHAR2
114593 --Accounting Reversal Indicator
114594 , p_source_41 IN VARCHAR2
114595 --Distribution Link Type
114596 , p_source_43 IN VARCHAR2
114597 --Allocation to Main Distribution Identifier
114598 , p_source_45 IN NUMBER
114599 --Invoice Identifier
114600 , p_source_46 IN NUMBER
114601 --Invoice Distribution Identifier
114602 , p_source_52 IN NUMBER
114603 --Payables Encumbrance Upgrade Credit Account
114604 , p_source_53 IN NUMBER
114605 --Payables Encumbrance Upgrade Credit Amount
114606 , p_source_54 IN NUMBER
114607 --Invoice Currency Code
114608 , p_source_55 IN VARCHAR2
114612 , p_source_57 IN NUMBER
114609 --Payables Encumbrance Upgrade Credit Base Amount
114610 , p_source_56 IN NUMBER
114611 --Payables Encumbrance Upgrade Debit Account
114613 --Payables Encumbrance Upgrade Debit Amount
114614 , p_source_58 IN NUMBER
114615 --Payables Encumbrance Upgrade Debit Base Amount
114616 , p_source_59 IN NUMBER
114617 --Payables Encumbrance Upgrade Option
114618 , p_source_60 IN VARCHAR2
114619 --Invoice Distribution Amount
114620 , p_source_61 IN NUMBER
114621 --Deferred Accounting End Date
114622 , p_source_65 IN DATE
114623 --Deferred Accounting Option
114624 , p_source_66 IN VARCHAR2
114625 --Deferred Accounting Start Date
114626 , p_source_67 IN DATE
114627 --Override Accounted Amount Indicator
114628 , p_source_68 IN VARCHAR2
114629 , p_source_68_meaning IN VARCHAR2
114630 --Invoice Supplier Identifier
114631 , p_source_69 IN NUMBER
114632 --Invoice Supplier Site Identifier
114633 , p_source_70 IN NUMBER
114634 --Third Party Type
114635 , p_source_71 IN VARCHAR2
114636 --Parent Reversal Identifier
114637 , p_source_72 IN NUMBER
114638 --Invoice Distribution Statistical Amount
114639 , p_source_73 IN NUMBER
114640 --Invoice Distribution Tax Line Identifier
114641 , p_source_74 IN NUMBER
114642 --Invoice Distribution Tax Distribution Identifier from Tax
114643 , p_source_75 IN NUMBER
114644 --Invoice Distribution Summary Tax Line Identifier
114645 , p_source_76 IN NUMBER
114646 --Payables Upgrade Credit Encumbrance Type Identifier
114647 , p_source_77 IN NUMBER
114648 --Payables Upgrade Debit Encumbrance Type Identifier
114649 , p_source_78 IN NUMBER
114650 --Business Flow Accounts Payable Application Identifier
114651 , p_source_79 IN NUMBER
114652 --Business Flow Invoice Distribution Type
114653 , p_source_80 IN VARCHAR2
114654 --Business Flow Invoice Entity Code
114655 , p_source_81 IN VARCHAR2
114656 --Business Flow Invoice Distribution Identifier
114657 , p_source_82 IN NUMBER
114658 --Business Flow Invoice Identifier
114659 , p_source_83 IN NUMBER
114660 --Invoice Exchange Date
114661 , p_source_136 IN DATE
114662 --Invoice Exchange Rate
114663 , p_source_137 IN NUMBER
114664 --Invoice Exchange Rate Type
114665 , p_source_138 IN VARCHAR2
114666 )
114667 IS
114668
114669 l_component_type VARCHAR2(80);
114670 l_component_code VARCHAR2(30);
114671 l_component_type_code VARCHAR2(1);
114672 l_component_appl_id INTEGER;
114673 l_amb_context_code VARCHAR2(30);
114674 l_entity_code VARCHAR2(30);
114675 l_event_class_code VARCHAR2(30);
114676 l_ae_header_id NUMBER;
114677 l_event_type_code VARCHAR2(30);
114678 l_line_definition_code VARCHAR2(30);
114679 l_line_definition_owner_code VARCHAR2(1);
114680 --
114681 -- adr variables
114682 l_segment VARCHAR2(30);
114683 l_ccid NUMBER;
114684 l_adr_transaction_coa_id NUMBER;
114685 l_adr_accounting_coa_id NUMBER;
114686 l_adr_flexfield_segment_code VARCHAR2(30);
114687 l_adr_flex_value_set_id NUMBER;
114688 l_adr_value_type_code VARCHAR2(30);
114689 l_adr_value_combination_id NUMBER;
114690 l_adr_value_segment_code VARCHAR2(30);
114691
114692 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
114693 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
114694 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
114695 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
114696
114697 -- 4262811 Variables ------------------------------------------------------------------------------------------
114698 l_entered_amt_idx NUMBER;
114699 l_accted_amt_idx NUMBER;
114700 l_acc_rev_flag VARCHAR2(1);
114701 l_accrual_line_num NUMBER;
114702 l_tmp_amt NUMBER;
114703 l_acc_rev_natural_side_code VARCHAR2(1);
114704
114705 l_num_entries NUMBER;
114706 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
114707 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
114708 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
114709 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
114710 l_recog_line_1 NUMBER;
114711 l_recog_line_2 NUMBER;
114712
114713 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
114714 l_bflow_applied_to_amt NUMBER; -- 5132302
114715 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
114716
114717 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
114718
114719 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
114720 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
114721
114722 ---------------------------------------------------------------------------------------------------------------
114723
114724
114725 --
114726 -- bulk performance
114727 --
114728 l_balance_type_code VARCHAR2(1);
114732 --
114729 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
114730 l_log_module VARCHAR2(240);
114731
114733 -- Upgrade strategy
114734 --
114735 l_actual_upg_option VARCHAR2(1);
114736 l_enc_upg_option VARCHAR2(1);
114737
114738 --
114739 BEGIN
114740 --
114741 IF g_log_enabled THEN
114742 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_195';
114743 END IF;
114744 --
114745 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
114746
114747 trace
114748 (p_msg => 'BEGIN of AcctLineType_195'
114749 ,p_level => C_LEVEL_PROCEDURE
114750 ,p_module => l_log_module);
114751
114752 END IF;
114753 --
114754 l_component_type := 'AMB_JLT';
114755 l_component_code := 'AP_MISC_EXPENSE_INV';
114756 l_component_type_code := 'S';
114757 l_component_appl_id := 200;
114758 l_amb_context_code := 'DEFAULT';
114759 l_entity_code := 'AP_INVOICES';
114760 l_event_class_code := 'INVOICES';
114761 l_event_type_code := 'INVOICES_ALL';
114762 l_line_definition_owner_code := 'S';
114763 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
114764 --
114765 l_balance_type_code := 'A';
114766 l_segment := NULL;
114767 l_ccid := NULL;
114768 l_adr_transaction_coa_id := NULL;
114769 l_adr_accounting_coa_id := NULL;
114770 l_adr_flexfield_segment_code := NULL;
114771 l_adr_flex_value_set_id := NULL;
114772 l_adr_value_type_code := NULL;
114773 l_adr_value_combination_id := NULL;
114774 l_adr_value_segment_code := NULL;
114775
114776 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
114777 l_bflow_class_code := ''; -- 4219869 Business Flow
114778 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
114779 l_budgetary_control_flag := 'N';
114780
114781 l_bflow_applied_to_amt_idx := NULL; -- 5132302
114782 l_bflow_applied_to_amt := NULL; -- 5132302
114783 l_entered_amt_idx := NULL; -- 4262811
114784 l_accted_amt_idx := NULL; -- 4262811
114785 l_acc_rev_flag := NULL; -- 4262811
114786 l_accrual_line_num := NULL; -- 4262811
114787 l_tmp_amt := NULL; -- 4262811
114788 --
114789
114790 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
114791 l_balance_type_code <> 'B' THEN
114792 IF NVL(p_source_21,'
114793 ') = 'MISCELLANEOUS'
114794 THEN
114795
114796 --
114797 XLA_AE_LINES_PKG.SetNewLine;
114798
114799 p_balance_type_code := l_balance_type_code;
114800 -- set the flag so later we will know whether the gain loss line needs to be created
114801
114802 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
114803 p_actual_flag :='A';
114804 END IF;
114805
114806 --
114807 -- bulk performance
114808 --
114809 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
114810 p_header_num => 0); -- 4262811
114811 --
114812 -- set accounting line options
114813 --
114814 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
114815 p_natural_side_code => 'D'
114816 , p_gain_or_loss_flag => 'N'
114817 , p_gl_transfer_mode_code => 'S'
114818 , p_acct_entry_type_code => 'A'
114819 , p_switch_side_flag => 'Y'
114820 , p_merge_duplicate_code => 'A'
114821 );
114822 --
114823 l_acc_rev_natural_side_code := 'C'; -- 4262811
114824 --
114825 --
114826 -- set accounting line type info
114827 --
114828 xla_ae_lines_pkg.SetAcctLineType
114829 (p_component_type => l_component_type
114830 ,p_event_type_code => l_event_type_code
114831 ,p_line_definition_owner_code => l_line_definition_owner_code
114832 ,p_line_definition_code => l_line_definition_code
114833 ,p_accounting_line_code => l_component_code
114834 ,p_accounting_line_type_code => l_component_type_code
114835 ,p_accounting_line_appl_id => l_component_appl_id
114836 ,p_amb_context_code => l_amb_context_code
114837 ,p_entity_code => l_entity_code
114838 ,p_event_class_code => l_event_class_code);
114839 --
114840 -- set accounting class
114841 --
114842 xla_ae_lines_pkg.SetAcctClass(
114843 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
114844 , p_ae_header_id => l_ae_header_id
114845 );
114846
114847 --
114848 -- set rounding class
114849 --
114850 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
114851 'MISCELLANEOUS EXPENSE';
114852
114853 --
114854 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
114855 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
114856 --
114857 -- bulk performance
114858 --
114859 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
114860
114861 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
114865 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
114862 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
114863
114864 -- 4955764
114866 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
114867
114868 -- 4458381 Public Sector Enh
114869
114870 --
114871 -- set accounting attributes for the line type
114872 --
114873 l_entered_amt_idx := 24;
114874 l_accted_amt_idx := 29;
114875 l_bflow_applied_to_amt_idx := 7; -- 5132302
114876 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
114877 l_rec_acct_attrs.array_char_value(1) := p_source_41;
114878 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
114879 l_rec_acct_attrs.array_num_value(2) :=
114880 xla_ae_sources_pkg.GetSystemSourceNum(
114881 p_source_code => 'XLA_EVENT_APPL_ID'
114882 , p_source_type_code => 'Y'
114883 , p_source_application_id => 602
114884 );
114885 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
114886 l_rec_acct_attrs.array_char_value(3) := p_source_43;
114887 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
114888 l_rec_acct_attrs.array_char_value(4) :=
114889 xla_ae_sources_pkg.GetSystemSourceChar(
114890 p_source_code => 'XLA_ENTITY_CODE'
114891 , p_source_type_code => 'Y'
114892 , p_source_application_id => 602
114893 );
114894 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
114895 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
114896 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
114897 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
114898 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
114899 l_rec_acct_attrs.array_num_value(7) := p_source_61;
114900 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
114901 l_rec_acct_attrs.array_num_value(8) := p_source_79;
114902 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
114903 l_rec_acct_attrs.array_char_value(9) := p_source_80;
114904 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
114905 l_rec_acct_attrs.array_char_value(10) := p_source_81;
114906 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
114907 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
114908 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
114909 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
114910 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
114911 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
114912 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
114913 l_rec_acct_attrs.array_char_value(14) := p_source_43;
114914 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
114915 l_rec_acct_attrs.array_num_value(15) := p_source_53;
114916 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
114917 l_rec_acct_attrs.array_num_value(16) := p_source_54;
114918 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
114919 l_rec_acct_attrs.array_char_value(17) := p_source_55;
114920 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
114921 l_rec_acct_attrs.array_num_value(18) := p_source_56;
114922 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
114923 l_rec_acct_attrs.array_num_value(19) := p_source_57;
114924 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
114925 l_rec_acct_attrs.array_num_value(20) := p_source_58;
114926 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
114927 l_rec_acct_attrs.array_char_value(21) := p_source_55;
114928 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
114929 l_rec_acct_attrs.array_num_value(22) := p_source_59;
114930 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
114931 l_rec_acct_attrs.array_char_value(23) := p_source_60;
114932 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
114933 l_rec_acct_attrs.array_num_value(24) := p_source_61;
114934 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
114935 l_rec_acct_attrs.array_char_value(25) := p_source_55;
114936 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
114937 l_rec_acct_attrs.array_date_value(26) := p_source_136;
114938 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
114939 l_rec_acct_attrs.array_num_value(27) := p_source_137;
114940 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
114941 l_rec_acct_attrs.array_char_value(28) := p_source_138;
114942 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
114943 l_rec_acct_attrs.array_num_value(29) := p_source_9;
114944 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
114945 l_rec_acct_attrs.array_date_value(30) := p_source_65;
114946 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
114947 l_rec_acct_attrs.array_char_value(31) := p_source_66;
114948 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
114949 l_rec_acct_attrs.array_date_value(32) := p_source_67;
114950 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
114951 l_rec_acct_attrs.array_char_value(33) := p_source_68;
114952 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
114953 l_rec_acct_attrs.array_num_value(34) := p_source_69;
114957 l_rec_acct_attrs.array_char_value(36) := p_source_71;
114954 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
114955 l_rec_acct_attrs.array_num_value(35) := p_source_70;
114956 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
114958 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
114959 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
114960 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
114961 l_rec_acct_attrs.array_char_value(38) := p_source_43;
114962 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
114963 l_rec_acct_attrs.array_num_value(39) := p_source_73;
114964 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
114965 l_rec_acct_attrs.array_num_value(40) := p_source_74;
114966 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
114967 l_rec_acct_attrs.array_num_value(41) := p_source_75;
114968 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
114969 l_rec_acct_attrs.array_num_value(42) := p_source_76;
114970 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
114971 l_rec_acct_attrs.array_num_value(43) := p_source_77;
114972 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
114973 l_rec_acct_attrs.array_num_value(44) := p_source_78;
114974
114975 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
114976 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
114977
114978 ---------------------------------------------------------------------------------------------------------------
114979 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
114980 ---------------------------------------------------------------------------------------------------------------
114981 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
114982
114983 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114984 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
114985
114986 IF xla_accounting_cache_pkg.GetValueChar
114987 (p_source_code => 'LEDGER_CATEGORY_CODE'
114988 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
114989 AND l_bflow_method_code = 'PRIOR_ENTRY'
114990 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
114991 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
114992 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
114993 )
114994 THEN
114995 xla_ae_lines_pkg.BflowUpgEntry
114996 (p_business_method_code => l_bflow_method_code
114997 ,p_business_class_code => l_bflow_class_code
114998 ,p_balance_type => l_balance_type_code);
114999 ELSE
115000 NULL;
115001 -- No business flow processing for business flow method of NONE.
115002 END IF;
115003
115004 --
115005 -- call analytical criteria
115006 --
115007
115008 --
115009 -- call description
115010 --
115011
115012 xla_ae_lines_pkg.SetLineDescription(
115013 p_ae_header_id => l_ae_header_id
115014 ,p_description => Description_2 (
115015 p_application_id => p_application_id
115016 , p_ae_header_id => l_ae_header_id
115017 , p_source_1 => p_source_1
115018 )
115019 );
115020
115021
115022 --
115023 -- call ADRs
115024 -- Bug 4922099
115025 --
115026 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115027 (NVL(l_actual_upg_option, 'N') = 'O') OR
115028 (NVL(l_enc_upg_option, 'N') = 'O')
115029 )
115030 THEN
115031 NULL;
115032 --
115033 --
115034
115035 l_ccid := AcctDerRule_32(
115036 p_application_id => p_application_id
115037 , p_ae_header_id => l_ae_header_id
115038 , p_source_18 => p_source_18
115039 , x_transaction_coa_id => l_adr_transaction_coa_id
115040 , x_accounting_coa_id => l_adr_accounting_coa_id
115041 , x_value_type_code => l_adr_value_type_code
115042 , p_side => 'NA'
115043 );
115044
115045 xla_ae_lines_pkg.set_ccid(
115046 p_code_combination_id => l_ccid
115047 , p_value_type_code => l_adr_value_type_code
115048 , p_transaction_coa_id => l_adr_transaction_coa_id
115049 , p_accounting_coa_id => l_adr_accounting_coa_id
115050 , p_adr_code => 'AP_INVOICE_DIST'
115051 , p_adr_type_code => 'S'
115052 , p_component_type => l_component_type
115053 , p_component_code => l_component_code
115054 , p_component_type_code => l_component_type_code
115055 , p_component_appl_id => l_component_appl_id
115056 , p_amb_context_code => l_amb_context_code
115057 , p_side => 'NA'
115058 );
115059
115060
115061 --
115062 --
115063 END IF;
115064 --
115065 -- Bug 4922099
115066 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
115067 (NVL(l_enc_upg_option, 'N') = 'O')
115068 ) AND
115069 (l_bflow_method_code = 'PRIOR_ENTRY')
115070 )
115071 THEN
115072 IF
115073 --
115074 1 = 2
115075 --
115076 THEN
115077 xla_accounting_err_pkg.build_message
115081 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
115078 (p_appli_s_name => 'XLA'
115079 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115080 ,p_token_1 => 'LINE_NUMBER'
115082 ,p_token_2 => 'LINE_TYPE_NAME'
115083 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
115084 l_component_type
115085 ,l_component_code
115086 ,l_component_type_code
115087 ,l_component_appl_id
115088 ,l_amb_context_code
115089 ,l_entity_code
115090 ,l_event_class_code
115091 )
115092 ,p_token_3 => 'OWNER'
115093 ,p_value_3 => xla_lookups_pkg.get_meaning(
115094 p_lookup_type => 'XLA_OWNER_TYPE'
115095 ,p_lookup_code => l_component_type_code
115096 )
115097 ,p_token_4 => 'PRODUCT_NAME'
115098 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
115099 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
115100 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
115101 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
115102 ,p_ae_header_id => NULL
115103 );
115104
115105 IF (C_LEVEL_ERROR>= g_log_level) THEN
115106 trace
115107 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115108 ,p_level => C_LEVEL_ERROR
115109 ,p_module => l_log_module);
115110 END IF;
115111 END IF;
115112 END IF;
115113 --
115114 --
115115 ------------------------------------------------------------------------------------------------
115116 -- 4219869 Business Flow
115117 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
115118 -- Prior Entry. Currently, the following code is always generated.
115119 ------------------------------------------------------------------------------------------------
115120 XLA_AE_LINES_PKG.ValidateCurrentLine;
115121
115122 ------------------------------------------------------------------------------------
115123 -- 4219869 Business Flow
115124 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
115125 ------------------------------------------------------------------------------------
115126 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115127
115128 ----------------------------------------------------------------------------------
115129 -- 4219869 Business Flow
115130 -- Update journal entry status -- Need to generate this within IF <condition>
115131 ----------------------------------------------------------------------------------
115132 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115133 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
115134 ,p_balance_type_code => l_balance_type_code
115135 );
115136
115137 -------------------------------------------------------------------------------------------
115138 -- 4262811 - Generate the Accrual Reversal lines
115139 -------------------------------------------------------------------------------------------
115140 BEGIN
115141 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
115142 (g_array_event(p_event_id).array_value_num('header_index'));
115143 IF l_acc_rev_flag IS NULL THEN
115144 l_acc_rev_flag := 'N';
115145 END IF;
115146 EXCEPTION
115147 WHEN OTHERS THEN
115148 l_acc_rev_flag := 'N';
115149 END;
115150 --
115151 IF (l_acc_rev_flag = 'Y') THEN
115152
115153 -- 4645092 ------------------------------------------------------------------------------
115154 -- To allow MPA report to determine if it should generate report process
115155 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
115156 ------------------------------------------------------------------------------------------
115157
115158 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
115159 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
115160 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
115161 -- call ADRs
115162 -- Bug 4922099
115163 --
115164 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115165 (NVL(l_actual_upg_option, 'N') = 'O') OR
115166 (NVL(l_enc_upg_option, 'N') = 'O')
115170 --
115167 )
115168 THEN
115169 NULL;
115171 --
115172
115173 l_ccid := AcctDerRule_32(
115174 p_application_id => p_application_id
115175 , p_ae_header_id => l_ae_header_id
115176 , p_source_18 => p_source_18
115177 , x_transaction_coa_id => l_adr_transaction_coa_id
115178 , x_accounting_coa_id => l_adr_accounting_coa_id
115179 , x_value_type_code => l_adr_value_type_code
115180 , p_side => 'NA'
115181 );
115182
115183 xla_ae_lines_pkg.set_ccid(
115184 p_code_combination_id => l_ccid
115185 , p_value_type_code => l_adr_value_type_code
115186 , p_transaction_coa_id => l_adr_transaction_coa_id
115187 , p_accounting_coa_id => l_adr_accounting_coa_id
115188 , p_adr_code => 'AP_INVOICE_DIST'
115189 , p_adr_type_code => 'S'
115190 , p_component_type => l_component_type
115191 , p_component_code => l_component_code
115192 , p_component_type_code => l_component_type_code
115193 , p_component_appl_id => l_component_appl_id
115194 , p_amb_context_code => l_amb_context_code
115195 , p_side => 'NA'
115196 );
115197
115198
115199 --
115200 --
115201 END IF;
115202
115203 --
115204 -- Update the line information that should be overwritten
115205 --
115206 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
115207 p_header_num => 1);
115208 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
115209
115210 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
115211
115212 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
115213 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
115214 END IF;
115215
115216 --
115217 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
115218 --
115219 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
115220 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
115221 ELSE
115222 ---------------------------------------------------------------------------------------------------
115223 -- 4262811a Switch Sign
115224 ---------------------------------------------------------------------------------------------------
115225 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
115226 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115227 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115228 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115229 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115230 -- 5132302
115231 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
115232 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115233
115234 END IF;
115235
115236 -- 4955764
115237 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115238 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
115239
115240
115241 XLA_AE_LINES_PKG.ValidateCurrentLine;
115242 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115243
115244 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115245 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
115246 ,p_balance_type_code => l_balance_type_code);
115247
115248 END IF;
115249
115250 -----------------------------------------------------------------------------------------
115251 -- 4262811 Multiperiod Accounting
115252 -----------------------------------------------------------------------------------------
115253 -- No MPA option is assigned.
115254
115255
115256 END IF;
115257 END IF;
115258 --
115259
115260 --
115261 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115262 trace
115263 (p_msg => 'END of AcctLineType_195'
115264 ,p_level => C_LEVEL_PROCEDURE
115265 ,p_module => l_log_module);
115266 END IF;
115267 --
115268 EXCEPTION
115269 WHEN xla_exceptions_pkg.application_exception THEN
115270 RAISE;
115271 WHEN OTHERS THEN
115272 xla_exceptions_pkg.raise_message
115273 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_195');
115274 END AcctLineType_195;
115275 --
115276
115277 ---------------------------------------
115278 --
115279 -- PRIVATE FUNCTION
115280 -- AcctLineType_196
115281 --
115282 ---------------------------------------
115283 PROCEDURE AcctLineType_196 (
115284 p_application_id IN NUMBER
115285 ,p_event_id IN NUMBER
115286 ,p_calculate_acctd_flag IN VARCHAR2
115287 ,p_calculate_g_l_flag IN VARCHAR2
115288 ,p_actual_flag IN OUT VARCHAR2
115289 ,p_balance_type_code OUT VARCHAR2
115290 ,p_gain_or_loss_ref OUT VARCHAR2
115291
115292 --Invoice Distribution Type
115296 , p_source_41 IN VARCHAR2
115293 , p_source_21 IN VARCHAR2
115294 , p_source_21_meaning IN VARCHAR2
115295 --Accounting Reversal Indicator
115297 --Distribution Link Type
115298 , p_source_43 IN VARCHAR2
115299 --Allocation to Main Distribution Identifier
115300 , p_source_45 IN NUMBER
115301 --Invoice Identifier
115302 , p_source_46 IN NUMBER
115303 --Invoice Distribution Identifier
115304 , p_source_52 IN NUMBER
115305 --Payables Encumbrance Upgrade Credit Account
115306 , p_source_53 IN NUMBER
115307 --Payables Encumbrance Upgrade Credit Amount
115308 , p_source_54 IN NUMBER
115309 --Invoice Currency Code
115310 , p_source_55 IN VARCHAR2
115311 --Payables Encumbrance Upgrade Credit Base Amount
115312 , p_source_56 IN NUMBER
115313 --Payables Encumbrance Upgrade Debit Account
115314 , p_source_57 IN NUMBER
115315 --Payables Encumbrance Upgrade Debit Amount
115316 , p_source_58 IN NUMBER
115317 --Payables Encumbrance Upgrade Debit Base Amount
115318 , p_source_59 IN NUMBER
115319 --Payables Encumbrance Upgrade Option
115320 , p_source_60 IN VARCHAR2
115321 --Invoice Distribution Amount
115322 , p_source_61 IN NUMBER
115323 --Deferred Accounting End Date
115324 , p_source_65 IN DATE
115325 --Deferred Accounting Option
115326 , p_source_66 IN VARCHAR2
115327 --Deferred Accounting Start Date
115328 , p_source_67 IN DATE
115329 --Override Accounted Amount Indicator
115330 , p_source_68 IN VARCHAR2
115331 , p_source_68_meaning IN VARCHAR2
115332 --Third Party Type
115333 , p_source_71 IN VARCHAR2
115334 --Parent Reversal Identifier
115335 , p_source_72 IN NUMBER
115336 --Invoice Distribution Statistical Amount
115337 , p_source_73 IN NUMBER
115338 --Invoice Distribution Tax Line Identifier
115339 , p_source_74 IN NUMBER
115340 --Invoice Distribution Tax Distribution Identifier from Tax
115341 , p_source_75 IN NUMBER
115342 --Invoice Distribution Summary Tax Line Identifier
115343 , p_source_76 IN NUMBER
115344 --Payables Upgrade Credit Encumbrance Type Identifier
115345 , p_source_77 IN NUMBER
115346 --Payables Upgrade Debit Encumbrance Type Identifier
115347 , p_source_78 IN NUMBER
115348 --Business Flow Accounts Payable Application Identifier
115349 , p_source_79 IN NUMBER
115350 --Business Flow Invoice Distribution Type
115351 , p_source_80 IN VARCHAR2
115352 --Business Flow Invoice Entity Code
115353 , p_source_81 IN VARCHAR2
115354 --Business Flow Invoice Distribution Identifier
115355 , p_source_82 IN NUMBER
115356 --Business Flow Invoice Identifier
115357 , p_source_83 IN NUMBER
115358 --Purchasing Encumbrance Option
115359 , p_source_86 IN VARCHAR2
115360 , p_source_86_meaning IN VARCHAR2
115361 --Invoice Encumbered Option
115362 , p_source_87 IN VARCHAR2
115363 , p_source_87_meaning IN VARCHAR2
115364 --Invoice Distribution Encumbrance Amount
115365 , p_source_143 IN NUMBER
115366 --Invoice Distribution Encumbrance Ledger Amount
115367 , p_source_144 IN NUMBER
115368 )
115369 IS
115370
115371 l_component_type VARCHAR2(80);
115372 l_component_code VARCHAR2(30);
115373 l_component_type_code VARCHAR2(1);
115374 l_component_appl_id INTEGER;
115375 l_amb_context_code VARCHAR2(30);
115376 l_entity_code VARCHAR2(30);
115377 l_event_class_code VARCHAR2(30);
115378 l_ae_header_id NUMBER;
115379 l_event_type_code VARCHAR2(30);
115380 l_line_definition_code VARCHAR2(30);
115381 l_line_definition_owner_code VARCHAR2(1);
115382 --
115383 -- adr variables
115384 l_segment VARCHAR2(30);
115385 l_ccid NUMBER;
115386 l_adr_transaction_coa_id NUMBER;
115387 l_adr_accounting_coa_id NUMBER;
115388 l_adr_flexfield_segment_code VARCHAR2(30);
115389 l_adr_flex_value_set_id NUMBER;
115390 l_adr_value_type_code VARCHAR2(30);
115391 l_adr_value_combination_id NUMBER;
115392 l_adr_value_segment_code VARCHAR2(30);
115393
115394 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
115395 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
115396 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
115397 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
115398
115399 -- 4262811 Variables ------------------------------------------------------------------------------------------
115400 l_entered_amt_idx NUMBER;
115401 l_accted_amt_idx NUMBER;
115402 l_acc_rev_flag VARCHAR2(1);
115403 l_accrual_line_num NUMBER;
115404 l_tmp_amt NUMBER;
115405 l_acc_rev_natural_side_code VARCHAR2(1);
115406
115407 l_num_entries NUMBER;
115408 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
115409 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
115410 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
115411 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
115412 l_recog_line_1 NUMBER;
115413 l_recog_line_2 NUMBER;
115414
115418
115415 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
115416 l_bflow_applied_to_amt NUMBER; -- 5132302
115417 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
115419 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
115420
115421 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
115422 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
115423
115424 ---------------------------------------------------------------------------------------------------------------
115425
115426
115427 --
115428 -- bulk performance
115429 --
115430 l_balance_type_code VARCHAR2(1);
115431 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
115432 l_log_module VARCHAR2(240);
115433
115434 --
115435 -- Upgrade strategy
115436 --
115437 l_actual_upg_option VARCHAR2(1);
115438 l_enc_upg_option VARCHAR2(1);
115439
115440 --
115441 BEGIN
115442 --
115443 IF g_log_enabled THEN
115444 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_196';
115445 END IF;
115446 --
115447 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115448
115449 trace
115450 (p_msg => 'BEGIN of AcctLineType_196'
115451 ,p_level => C_LEVEL_PROCEDURE
115452 ,p_module => l_log_module);
115453
115454 END IF;
115455 --
115456 l_component_type := 'AMB_JLT';
115457 l_component_code := 'AP_MISC_EXPENSE_INV_ENC';
115458 l_component_type_code := 'S';
115459 l_component_appl_id := 200;
115460 l_amb_context_code := 'DEFAULT';
115461 l_entity_code := 'AP_INVOICES';
115462 l_event_class_code := 'INVOICES';
115463 l_event_type_code := 'INVOICES_ALL';
115464 l_line_definition_owner_code := 'S';
115465 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
115466 --
115467 l_balance_type_code := 'E';
115468 l_segment := NULL;
115469 l_ccid := NULL;
115470 l_adr_transaction_coa_id := NULL;
115471 l_adr_accounting_coa_id := NULL;
115472 l_adr_flexfield_segment_code := NULL;
115473 l_adr_flex_value_set_id := NULL;
115474 l_adr_value_type_code := NULL;
115475 l_adr_value_combination_id := NULL;
115476 l_adr_value_segment_code := NULL;
115477
115478 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
115479 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
115480 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
115481 l_budgetary_control_flag := 'N';
115482
115483 l_bflow_applied_to_amt_idx := NULL; -- 5132302
115484 l_bflow_applied_to_amt := NULL; -- 5132302
115485 l_entered_amt_idx := NULL; -- 4262811
115486 l_accted_amt_idx := NULL; -- 4262811
115487 l_acc_rev_flag := NULL; -- 4262811
115488 l_accrual_line_num := NULL; -- 4262811
115489 l_tmp_amt := NULL; -- 4262811
115490 --
115491
115492 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
115493 l_balance_type_code <> 'B' THEN
115494 IF NVL(p_source_21,'
115495 ') = 'MISCELLANEOUS' AND
115496 NVL(p_source_86,'
115497 ') = 'Y' AND
115498 NVL(p_source_87,'
115499 ') = 'Y'
115500 THEN
115501
115502 --
115503 XLA_AE_LINES_PKG.SetNewLine;
115504
115505 p_balance_type_code := l_balance_type_code;
115506 -- set the flag so later we will know whether the gain loss line needs to be created
115507
115508 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
115509 p_actual_flag :='A';
115510 END IF;
115511
115512 --
115513 -- bulk performance
115514 --
115515 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
115516 p_header_num => 0); -- 4262811
115517 --
115518 -- set accounting line options
115519 --
115520 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
115521 p_natural_side_code => 'C'
115522 , p_gain_or_loss_flag => 'N'
115523 , p_gl_transfer_mode_code => 'S'
115524 , p_acct_entry_type_code => 'E'
115525 , p_switch_side_flag => 'Y'
115526 , p_merge_duplicate_code => 'A'
115527 );
115528 --
115529 l_acc_rev_natural_side_code := 'D'; -- 4262811
115530 --
115531 --
115532 -- set accounting line type info
115533 --
115534 xla_ae_lines_pkg.SetAcctLineType
115535 (p_component_type => l_component_type
115536 ,p_event_type_code => l_event_type_code
115537 ,p_line_definition_owner_code => l_line_definition_owner_code
115538 ,p_line_definition_code => l_line_definition_code
115539 ,p_accounting_line_code => l_component_code
115540 ,p_accounting_line_type_code => l_component_type_code
115541 ,p_accounting_line_appl_id => l_component_appl_id
115542 ,p_amb_context_code => l_amb_context_code
115543 ,p_entity_code => l_entity_code
115544 ,p_event_class_code => l_event_class_code);
115545 --
115546 -- set accounting class
115547 --
115551 );
115548 xla_ae_lines_pkg.SetAcctClass(
115549 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
115550 , p_ae_header_id => l_ae_header_id
115552
115553 --
115554 -- set rounding class
115555 --
115556 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
115557 'MISCELLANEOUS EXPENSE';
115558
115559 --
115560 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
115561 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
115562 --
115563 -- bulk performance
115564 --
115565 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
115566
115567 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
115568 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
115569
115570 -- 4955764
115571 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115572 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
115573
115574 -- 4458381 Public Sector Enh
115575
115576 --
115577 -- set accounting attributes for the line type
115578 --
115579 l_entered_amt_idx := 24;
115580 l_accted_amt_idx := 26;
115581 l_bflow_applied_to_amt_idx := 7; -- 5132302
115582 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
115583 l_rec_acct_attrs.array_char_value(1) := p_source_41;
115584 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
115585 l_rec_acct_attrs.array_num_value(2) :=
115586 xla_ae_sources_pkg.GetSystemSourceNum(
115587 p_source_code => 'XLA_EVENT_APPL_ID'
115588 , p_source_type_code => 'Y'
115589 , p_source_application_id => 602
115590 );
115591 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
115592 l_rec_acct_attrs.array_char_value(3) := p_source_43;
115593 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
115594 l_rec_acct_attrs.array_char_value(4) :=
115595 xla_ae_sources_pkg.GetSystemSourceChar(
115596 p_source_code => 'XLA_ENTITY_CODE'
115597 , p_source_type_code => 'Y'
115598 , p_source_application_id => 602
115599 );
115600 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
115601 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
115602 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
115603 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
115604 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
115605 l_rec_acct_attrs.array_num_value(7) := p_source_61;
115606 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
115607 l_rec_acct_attrs.array_num_value(8) := p_source_79;
115608 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
115609 l_rec_acct_attrs.array_char_value(9) := p_source_80;
115610 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
115611 l_rec_acct_attrs.array_char_value(10) := p_source_81;
115612 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
115613 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
115614 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
115615 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
115616 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
115617 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
115618 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
115619 l_rec_acct_attrs.array_char_value(14) := p_source_43;
115620 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
115621 l_rec_acct_attrs.array_num_value(15) := p_source_53;
115622 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
115623 l_rec_acct_attrs.array_num_value(16) := p_source_54;
115624 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
115625 l_rec_acct_attrs.array_char_value(17) := p_source_55;
115626 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
115627 l_rec_acct_attrs.array_num_value(18) := p_source_56;
115628 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
115629 l_rec_acct_attrs.array_num_value(19) := p_source_57;
115630 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
115631 l_rec_acct_attrs.array_num_value(20) := p_source_58;
115632 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
115633 l_rec_acct_attrs.array_char_value(21) := p_source_55;
115634 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
115635 l_rec_acct_attrs.array_num_value(22) := p_source_59;
115636 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
115637 l_rec_acct_attrs.array_char_value(23) := p_source_60;
115638 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
115639 l_rec_acct_attrs.array_num_value(24) := p_source_143;
115640 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
115641 l_rec_acct_attrs.array_char_value(25) := p_source_55;
115642 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
115643 l_rec_acct_attrs.array_num_value(26) := p_source_144;
115644 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
115645 l_rec_acct_attrs.array_date_value(27) := p_source_65;
115649 l_rec_acct_attrs.array_date_value(29) := p_source_67;
115646 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
115647 l_rec_acct_attrs.array_char_value(28) := p_source_66;
115648 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
115650 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
115651 l_rec_acct_attrs.array_char_value(30) := p_source_68;
115652 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
115653 l_rec_acct_attrs.array_char_value(31) := p_source_71;
115654 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
115655 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
115656 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
115657 l_rec_acct_attrs.array_char_value(33) := p_source_43;
115658 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
115659 l_rec_acct_attrs.array_num_value(34) := p_source_73;
115660 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
115661 l_rec_acct_attrs.array_num_value(35) := p_source_74;
115662 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
115663 l_rec_acct_attrs.array_num_value(36) := p_source_75;
115664 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
115665 l_rec_acct_attrs.array_num_value(37) := p_source_76;
115666 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
115667 l_rec_acct_attrs.array_num_value(38) := p_source_77;
115668 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
115669 l_rec_acct_attrs.array_num_value(39) := p_source_78;
115670
115671 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
115672 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
115673
115674 ---------------------------------------------------------------------------------------------------------------
115675 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
115676 ---------------------------------------------------------------------------------------------------------------
115677 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
115678
115679 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115680 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
115681
115682 IF xla_accounting_cache_pkg.GetValueChar
115683 (p_source_code => 'LEDGER_CATEGORY_CODE'
115684 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
115685 AND l_bflow_method_code = 'PRIOR_ENTRY'
115686 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
115687 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
115688 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
115689 )
115690 THEN
115691 xla_ae_lines_pkg.BflowUpgEntry
115692 (p_business_method_code => l_bflow_method_code
115693 ,p_business_class_code => l_bflow_class_code
115694 ,p_balance_type => l_balance_type_code);
115695 ELSE
115696 NULL;
115697 XLA_AE_LINES_PKG.business_flow_validation(
115698 p_business_method_code => l_bflow_method_code
115699 ,p_business_class_code => l_bflow_class_code
115700 ,p_inherit_description_flag => l_inherit_desc_flag);
115701 END IF;
115702
115703 --
115704 -- call analytical criteria
115705 --
115706 -- Inherited Analytical Criteria for business flow method of Prior Entry.
115707 --
115708 -- call description
115709 --
115710 -- No description or it is inherited.
115711 --
115712 -- call ADRs
115713 -- Bug 4922099
115714 --
115715 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115716 (NVL(l_actual_upg_option, 'N') = 'O') OR
115717 (NVL(l_enc_upg_option, 'N') = 'O')
115718 )
115719 THEN
115720 NULL;
115721 --
115722 --
115723
115724 --
115725 --
115726 END IF;
115727 --
115728 -- Bug 4922099
115729 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
115730 (NVL(l_enc_upg_option, 'N') = 'O')
115731 ) AND
115732 (l_bflow_method_code = 'PRIOR_ENTRY')
115733 )
115734 THEN
115735 IF
115736 --
115737 1 = 1
115738 --
115739 THEN
115740 xla_accounting_err_pkg.build_message
115741 (p_appli_s_name => 'XLA'
115742 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115743 ,p_token_1 => 'LINE_NUMBER'
115744 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
115745 ,p_token_2 => 'LINE_TYPE_NAME'
115746 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
115747 l_component_type
115748 ,l_component_code
115749 ,l_component_type_code
115750 ,l_component_appl_id
115751 ,l_amb_context_code
115755 ,p_token_3 => 'OWNER'
115752 ,l_entity_code
115753 ,l_event_class_code
115754 )
115756 ,p_value_3 => xla_lookups_pkg.get_meaning(
115757 p_lookup_type => 'XLA_OWNER_TYPE'
115758 ,p_lookup_code => l_component_type_code
115759 )
115760 ,p_token_4 => 'PRODUCT_NAME'
115761 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
115762 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
115763 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
115764 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
115765 ,p_ae_header_id => NULL
115766 );
115767
115768 IF (C_LEVEL_ERROR>= g_log_level) THEN
115769 trace
115770 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
115771 ,p_level => C_LEVEL_ERROR
115772 ,p_module => l_log_module);
115773 END IF;
115774 END IF;
115775 END IF;
115776 --
115777 --
115778 ------------------------------------------------------------------------------------------------
115779 -- 4219869 Business Flow
115780 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
115781 -- Prior Entry. Currently, the following code is always generated.
115782 ------------------------------------------------------------------------------------------------
115783 -- No ValidateCurrentLine for business flow method of Prior Entry
115784
115785 ------------------------------------------------------------------------------------
115786 -- 4219869 Business Flow
115787 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
115788 ------------------------------------------------------------------------------------
115789 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115790
115791 ----------------------------------------------------------------------------------
115792 -- 4219869 Business Flow
115793 -- Update journal entry status -- Need to generate this within IF <condition>
115794 ----------------------------------------------------------------------------------
115795 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115796 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
115797 ,p_balance_type_code => l_balance_type_code
115798 );
115799
115800 -------------------------------------------------------------------------------------------
115801 -- 4262811 - Generate the Accrual Reversal lines
115802 -------------------------------------------------------------------------------------------
115803 BEGIN
115804 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
115805 (g_array_event(p_event_id).array_value_num('header_index'));
115806 IF l_acc_rev_flag IS NULL THEN
115807 l_acc_rev_flag := 'N';
115808 END IF;
115809 EXCEPTION
115810 WHEN OTHERS THEN
115811 l_acc_rev_flag := 'N';
115812 END;
115813 --
115814 IF (l_acc_rev_flag = 'Y') THEN
115815
115816 -- 4645092 ------------------------------------------------------------------------------
115817 -- To allow MPA report to determine if it should generate report process
115818 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
115819 ------------------------------------------------------------------------------------------
115820
115821 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
115822 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
115823 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
115824 -- call ADRs
115825 -- Bug 4922099
115826 --
115827 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
115828 (NVL(l_actual_upg_option, 'N') = 'O') OR
115829 (NVL(l_enc_upg_option, 'N') = 'O')
115830 )
115831 THEN
115832 NULL;
115833 --
115834 --
115835
115836 --
115837 --
115838 END IF;
115839
115840 --
115841 -- Update the line information that should be overwritten
115842 --
115843 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
115844 p_header_num => 1);
115845 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
115846
115847 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
115848
115849 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
115850 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
115851 END IF;
115852
115853 --
115857 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
115854 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
115855 --
115856 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
115858 ELSE
115859 ---------------------------------------------------------------------------------------------------
115860 -- 4262811a Switch Sign
115861 ---------------------------------------------------------------------------------------------------
115862 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
115863 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115864 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115865 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
115866 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115867 -- 5132302
115868 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
115869 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
115870
115871 END IF;
115872
115873 -- 4955764
115874 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
115875 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
115876
115877
115878 XLA_AE_LINES_PKG.ValidateCurrentLine;
115879 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
115880
115881 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
115882 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
115883 ,p_balance_type_code => l_balance_type_code);
115884
115885 END IF;
115886
115887 -----------------------------------------------------------------------------------------
115888 -- 4262811 Multiperiod Accounting
115889 -----------------------------------------------------------------------------------------
115890 -- No MPA option is assigned.
115891
115892
115893 END IF;
115894 END IF;
115895 --
115896
115897 --
115898 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
115899 trace
115900 (p_msg => 'END of AcctLineType_196'
115901 ,p_level => C_LEVEL_PROCEDURE
115902 ,p_module => l_log_module);
115903 END IF;
115904 --
115905 EXCEPTION
115906 WHEN xla_exceptions_pkg.application_exception THEN
115907 RAISE;
115908 WHEN OTHERS THEN
115909 xla_exceptions_pkg.raise_message
115910 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_196');
115911 END AcctLineType_196;
115912 --
115913
115914 ---------------------------------------
115915 --
115916 -- PRIVATE FUNCTION
115917 -- AcctLineType_197
115918 --
115919 ---------------------------------------
115920 PROCEDURE AcctLineType_197 (
115921 p_application_id IN NUMBER
115922 ,p_event_id IN NUMBER
115923 ,p_calculate_acctd_flag IN VARCHAR2
115924 ,p_calculate_g_l_flag IN VARCHAR2
115925 ,p_actual_flag IN OUT VARCHAR2
115926 ,p_balance_type_code OUT VARCHAR2
115927 ,p_gain_or_loss_ref OUT VARCHAR2
115928
115929 --Invoice Distribution Type
115930 , p_source_21 IN VARCHAR2
115931 , p_source_21_meaning IN VARCHAR2
115932 --Accounting Reversal Indicator
115933 , p_source_41 IN VARCHAR2
115934 --Distribution Link Type
115935 , p_source_43 IN VARCHAR2
115936 --Allocation to Main Distribution Identifier
115937 , p_source_45 IN NUMBER
115938 --Invoice Identifier
115939 , p_source_46 IN NUMBER
115940 --Invoice Distribution Identifier
115941 , p_source_52 IN NUMBER
115942 --Payables Encumbrance Upgrade Credit Account
115943 , p_source_53 IN NUMBER
115944 --Payables Encumbrance Upgrade Credit Amount
115945 , p_source_54 IN NUMBER
115946 --Invoice Currency Code
115947 , p_source_55 IN VARCHAR2
115948 --Payables Encumbrance Upgrade Credit Base Amount
115949 , p_source_56 IN NUMBER
115950 --Payables Encumbrance Upgrade Debit Account
115951 , p_source_57 IN NUMBER
115952 --Payables Encumbrance Upgrade Debit Amount
115953 , p_source_58 IN NUMBER
115954 --Payables Encumbrance Upgrade Debit Base Amount
115955 , p_source_59 IN NUMBER
115956 --Payables Encumbrance Upgrade Option
115957 , p_source_60 IN VARCHAR2
115958 --Deferred Accounting End Date
115959 , p_source_65 IN DATE
115960 --Deferred Accounting Option
115961 , p_source_66 IN VARCHAR2
115962 --Deferred Accounting Start Date
115963 , p_source_67 IN DATE
115964 --Override Accounted Amount Indicator
115965 , p_source_68 IN VARCHAR2
115966 , p_source_68_meaning IN VARCHAR2
115967 --Third Party Type
115968 , p_source_71 IN VARCHAR2
115969 --Parent Reversal Identifier
115970 , p_source_72 IN NUMBER
115971 --Invoice Distribution Statistical Amount
115972 , p_source_73 IN NUMBER
115973 --Invoice Distribution Tax Line Identifier
115974 , p_source_74 IN NUMBER
115975 --Invoice Distribution Tax Distribution Identifier from Tax
115976 , p_source_75 IN NUMBER
115977 --Invoice Distribution Summary Tax Line Identifier
115981 --Payables Upgrade Debit Encumbrance Type Identifier
115978 , p_source_76 IN NUMBER
115979 --Payables Upgrade Credit Encumbrance Type Identifier
115980 , p_source_77 IN NUMBER
115982 , p_source_78 IN NUMBER
115983 --Business Flow Accounts Payable Application Identifier
115984 , p_source_79 IN NUMBER
115985 --Business Flow Invoice Distribution Type
115986 , p_source_80 IN VARCHAR2
115987 --Business Flow Invoice Entity Code
115988 , p_source_81 IN VARCHAR2
115989 --Business Flow Invoice Distribution Identifier
115990 , p_source_82 IN NUMBER
115991 --Business Flow Invoice Identifier
115992 , p_source_83 IN NUMBER
115993 --Purchasing Encumbrance Option
115994 , p_source_86 IN VARCHAR2
115995 , p_source_86_meaning IN VARCHAR2
115996 --Invoice Encumbered Option
115997 , p_source_87 IN VARCHAR2
115998 , p_source_87_meaning IN VARCHAR2
115999 --Invoice Distribution Encumbrance Amount
116000 , p_source_143 IN NUMBER
116001 --Invoice Distribution Encumbrance Ledger Amount
116002 , p_source_144 IN NUMBER
116003 )
116004 IS
116005
116006 l_component_type VARCHAR2(80);
116007 l_component_code VARCHAR2(30);
116008 l_component_type_code VARCHAR2(1);
116009 l_component_appl_id INTEGER;
116010 l_amb_context_code VARCHAR2(30);
116011 l_entity_code VARCHAR2(30);
116012 l_event_class_code VARCHAR2(30);
116013 l_ae_header_id NUMBER;
116014 l_event_type_code VARCHAR2(30);
116015 l_line_definition_code VARCHAR2(30);
116016 l_line_definition_owner_code VARCHAR2(1);
116017 --
116018 -- adr variables
116019 l_segment VARCHAR2(30);
116020 l_ccid NUMBER;
116021 l_adr_transaction_coa_id NUMBER;
116022 l_adr_accounting_coa_id NUMBER;
116023 l_adr_flexfield_segment_code VARCHAR2(30);
116024 l_adr_flex_value_set_id NUMBER;
116025 l_adr_value_type_code VARCHAR2(30);
116026 l_adr_value_combination_id NUMBER;
116027 l_adr_value_segment_code VARCHAR2(30);
116028
116029 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
116030 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
116031 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
116032 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
116033
116034 -- 4262811 Variables ------------------------------------------------------------------------------------------
116035 l_entered_amt_idx NUMBER;
116036 l_accted_amt_idx NUMBER;
116037 l_acc_rev_flag VARCHAR2(1);
116038 l_accrual_line_num NUMBER;
116039 l_tmp_amt NUMBER;
116040 l_acc_rev_natural_side_code VARCHAR2(1);
116041
116042 l_num_entries NUMBER;
116043 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
116044 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
116045 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
116046 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
116047 l_recog_line_1 NUMBER;
116048 l_recog_line_2 NUMBER;
116049
116050 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
116051 l_bflow_applied_to_amt NUMBER; -- 5132302
116052 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
116053
116054 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
116055
116056 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
116057 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
116058
116059 ---------------------------------------------------------------------------------------------------------------
116060
116061
116062 --
116063 -- bulk performance
116064 --
116065 l_balance_type_code VARCHAR2(1);
116066 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
116067 l_log_module VARCHAR2(240);
116068
116069 --
116070 -- Upgrade strategy
116071 --
116072 l_actual_upg_option VARCHAR2(1);
116073 l_enc_upg_option VARCHAR2(1);
116074
116075 --
116076 BEGIN
116077 --
116078 IF g_log_enabled THEN
116079 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_197';
116080 END IF;
116081 --
116082 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116083
116084 trace
116085 (p_msg => 'BEGIN of AcctLineType_197'
116086 ,p_level => C_LEVEL_PROCEDURE
116087 ,p_module => l_log_module);
116088
116089 END IF;
116090 --
116091 l_component_type := 'AMB_JLT';
116092 l_component_code := 'AP_MISC_EXPENSE_PP_ENC';
116093 l_component_type_code := 'S';
116094 l_component_appl_id := 200;
116095 l_amb_context_code := 'DEFAULT';
116096 l_entity_code := 'AP_INVOICES';
116097 l_event_class_code := 'PREPAYMENTS';
116098 l_event_type_code := 'PREPAYMENTS_ALL';
116099 l_line_definition_owner_code := 'S';
116100 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
116101 --
116102 l_balance_type_code := 'E';
116103 l_segment := NULL;
116104 l_ccid := NULL;
116108 l_adr_flex_value_set_id := NULL;
116105 l_adr_transaction_coa_id := NULL;
116106 l_adr_accounting_coa_id := NULL;
116107 l_adr_flexfield_segment_code := NULL;
116109 l_adr_value_type_code := NULL;
116110 l_adr_value_combination_id := NULL;
116111 l_adr_value_segment_code := NULL;
116112
116113 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
116114 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
116115 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
116116 l_budgetary_control_flag := 'N';
116117
116118 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116119 l_bflow_applied_to_amt := NULL; -- 5132302
116120 l_entered_amt_idx := NULL; -- 4262811
116121 l_accted_amt_idx := NULL; -- 4262811
116122 l_acc_rev_flag := NULL; -- 4262811
116123 l_accrual_line_num := NULL; -- 4262811
116124 l_tmp_amt := NULL; -- 4262811
116125 --
116126
116127 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
116128 l_balance_type_code <> 'B' THEN
116129 IF NVL(p_source_21,'
116130 ') = 'MISCELLANEOUS' AND
116131 NVL(p_source_86,'
116132 ') = 'Y' AND
116133 NVL(p_source_87,'
116134 ') = 'Y'
116135 THEN
116136
116137 --
116138 XLA_AE_LINES_PKG.SetNewLine;
116139
116140 p_balance_type_code := l_balance_type_code;
116141 -- set the flag so later we will know whether the gain loss line needs to be created
116142
116143 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
116144 p_actual_flag :='A';
116145 END IF;
116146
116147 --
116148 -- bulk performance
116149 --
116150 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
116151 p_header_num => 0); -- 4262811
116152 --
116153 -- set accounting line options
116154 --
116155 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
116156 p_natural_side_code => 'C'
116157 , p_gain_or_loss_flag => 'N'
116158 , p_gl_transfer_mode_code => 'S'
116159 , p_acct_entry_type_code => 'E'
116160 , p_switch_side_flag => 'Y'
116161 , p_merge_duplicate_code => 'A'
116162 );
116163 --
116164 l_acc_rev_natural_side_code := 'D'; -- 4262811
116165 --
116166 --
116167 -- set accounting line type info
116168 --
116169 xla_ae_lines_pkg.SetAcctLineType
116170 (p_component_type => l_component_type
116171 ,p_event_type_code => l_event_type_code
116172 ,p_line_definition_owner_code => l_line_definition_owner_code
116173 ,p_line_definition_code => l_line_definition_code
116174 ,p_accounting_line_code => l_component_code
116175 ,p_accounting_line_type_code => l_component_type_code
116176 ,p_accounting_line_appl_id => l_component_appl_id
116177 ,p_amb_context_code => l_amb_context_code
116178 ,p_entity_code => l_entity_code
116179 ,p_event_class_code => l_event_class_code);
116180 --
116181 -- set accounting class
116182 --
116183 xla_ae_lines_pkg.SetAcctClass(
116184 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
116185 , p_ae_header_id => l_ae_header_id
116186 );
116187
116188 --
116189 -- set rounding class
116190 --
116191 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
116192 'MISCELLANEOUS EXPENSE';
116193
116194 --
116195 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
116196 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
116197 --
116198 -- bulk performance
116199 --
116200 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
116201
116202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
116203 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
116204
116205 -- 4955764
116206 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116207 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
116208
116209 -- 4458381 Public Sector Enh
116210
116211 --
116212 -- set accounting attributes for the line type
116213 --
116214 l_entered_amt_idx := 23;
116215 l_accted_amt_idx := 25;
116216 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116217 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
116218 l_rec_acct_attrs.array_char_value(1) := p_source_41;
116219 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
116220 l_rec_acct_attrs.array_num_value(2) :=
116221 xla_ae_sources_pkg.GetSystemSourceNum(
116222 p_source_code => 'XLA_EVENT_APPL_ID'
116223 , p_source_type_code => 'Y'
116224 , p_source_application_id => 602
116225 );
116226 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
116227 l_rec_acct_attrs.array_char_value(3) := p_source_43;
116228 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
116229 l_rec_acct_attrs.array_char_value(4) :=
116233 , p_source_application_id => 602
116230 xla_ae_sources_pkg.GetSystemSourceChar(
116231 p_source_code => 'XLA_ENTITY_CODE'
116232 , p_source_type_code => 'Y'
116234 );
116235 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
116236 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
116237 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
116238 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
116239 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
116240 l_rec_acct_attrs.array_num_value(7) := p_source_79;
116241 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
116242 l_rec_acct_attrs.array_char_value(8) := p_source_80;
116243 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
116244 l_rec_acct_attrs.array_char_value(9) := p_source_81;
116245 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
116246 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
116247 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
116248 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
116249 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
116250 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
116251 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
116252 l_rec_acct_attrs.array_char_value(13) := p_source_43;
116253 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
116254 l_rec_acct_attrs.array_num_value(14) := p_source_53;
116255 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
116256 l_rec_acct_attrs.array_num_value(15) := p_source_54;
116257 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
116258 l_rec_acct_attrs.array_char_value(16) := p_source_55;
116259 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
116260 l_rec_acct_attrs.array_num_value(17) := p_source_56;
116261 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
116262 l_rec_acct_attrs.array_num_value(18) := p_source_57;
116263 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
116264 l_rec_acct_attrs.array_num_value(19) := p_source_58;
116265 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
116266 l_rec_acct_attrs.array_char_value(20) := p_source_55;
116267 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
116268 l_rec_acct_attrs.array_num_value(21) := p_source_59;
116269 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
116270 l_rec_acct_attrs.array_char_value(22) := p_source_60;
116271 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
116272 l_rec_acct_attrs.array_num_value(23) := p_source_143;
116273 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
116274 l_rec_acct_attrs.array_char_value(24) := p_source_55;
116275 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
116276 l_rec_acct_attrs.array_num_value(25) := p_source_144;
116277 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
116278 l_rec_acct_attrs.array_date_value(26) := p_source_65;
116279 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
116280 l_rec_acct_attrs.array_char_value(27) := p_source_66;
116281 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
116282 l_rec_acct_attrs.array_date_value(28) := p_source_67;
116283 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
116284 l_rec_acct_attrs.array_char_value(29) := p_source_68;
116285 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
116286 l_rec_acct_attrs.array_char_value(30) := p_source_71;
116287 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
116288 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
116289 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
116290 l_rec_acct_attrs.array_char_value(32) := p_source_43;
116291 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
116292 l_rec_acct_attrs.array_num_value(33) := p_source_73;
116293 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
116294 l_rec_acct_attrs.array_num_value(34) := p_source_74;
116295 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
116296 l_rec_acct_attrs.array_num_value(35) := p_source_75;
116297 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
116298 l_rec_acct_attrs.array_num_value(36) := p_source_76;
116299 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
116300 l_rec_acct_attrs.array_num_value(37) := p_source_77;
116301 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
116302 l_rec_acct_attrs.array_num_value(38) := p_source_78;
116303
116304 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
116305 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
116306
116307 ---------------------------------------------------------------------------------------------------------------
116308 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
116309 ---------------------------------------------------------------------------------------------------------------
116310 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
116311
116312 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116313 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116317 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
116314
116315 IF xla_accounting_cache_pkg.GetValueChar
116316 (p_source_code => 'LEDGER_CATEGORY_CODE'
116318 AND l_bflow_method_code = 'PRIOR_ENTRY'
116319 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
116320 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
116321 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
116322 )
116323 THEN
116324 xla_ae_lines_pkg.BflowUpgEntry
116325 (p_business_method_code => l_bflow_method_code
116326 ,p_business_class_code => l_bflow_class_code
116327 ,p_balance_type => l_balance_type_code);
116328 ELSE
116329 NULL;
116330 XLA_AE_LINES_PKG.business_flow_validation(
116331 p_business_method_code => l_bflow_method_code
116332 ,p_business_class_code => l_bflow_class_code
116333 ,p_inherit_description_flag => l_inherit_desc_flag);
116334 END IF;
116335
116336 --
116337 -- call analytical criteria
116338 --
116339 -- Inherited Analytical Criteria for business flow method of Prior Entry.
116340 --
116341 -- call description
116342 --
116343 -- No description or it is inherited.
116344 --
116345 -- call ADRs
116346 -- Bug 4922099
116347 --
116348 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116349 (NVL(l_actual_upg_option, 'N') = 'O') OR
116350 (NVL(l_enc_upg_option, 'N') = 'O')
116351 )
116352 THEN
116353 NULL;
116354 --
116355 --
116356
116357 --
116358 --
116359 END IF;
116360 --
116361 -- Bug 4922099
116362 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
116363 (NVL(l_enc_upg_option, 'N') = 'O')
116364 ) AND
116365 (l_bflow_method_code = 'PRIOR_ENTRY')
116366 )
116367 THEN
116368 IF
116369 --
116370 1 = 1
116371 --
116372 THEN
116373 xla_accounting_err_pkg.build_message
116374 (p_appli_s_name => 'XLA'
116375 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116376 ,p_token_1 => 'LINE_NUMBER'
116377 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
116378 ,p_token_2 => 'LINE_TYPE_NAME'
116379 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
116380 l_component_type
116381 ,l_component_code
116382 ,l_component_type_code
116383 ,l_component_appl_id
116384 ,l_amb_context_code
116385 ,l_entity_code
116386 ,l_event_class_code
116387 )
116388 ,p_token_3 => 'OWNER'
116389 ,p_value_3 => xla_lookups_pkg.get_meaning(
116390 p_lookup_type => 'XLA_OWNER_TYPE'
116391 ,p_lookup_code => l_component_type_code
116392 )
116393 ,p_token_4 => 'PRODUCT_NAME'
116394 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
116395 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
116396 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
116397 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
116398 ,p_ae_header_id => NULL
116399 );
116400
116401 IF (C_LEVEL_ERROR>= g_log_level) THEN
116402 trace
116403 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
116404 ,p_level => C_LEVEL_ERROR
116405 ,p_module => l_log_module);
116406 END IF;
116407 END IF;
116408 END IF;
116409 --
116410 --
116411 ------------------------------------------------------------------------------------------------
116412 -- 4219869 Business Flow
116413 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
116414 -- Prior Entry. Currently, the following code is always generated.
116415 ------------------------------------------------------------------------------------------------
116416 -- No ValidateCurrentLine for business flow method of Prior Entry
116417
116418 ------------------------------------------------------------------------------------
116419 -- 4219869 Business Flow
116423
116420 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
116421 ------------------------------------------------------------------------------------
116422 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116424 ----------------------------------------------------------------------------------
116425 -- 4219869 Business Flow
116426 -- Update journal entry status -- Need to generate this within IF <condition>
116427 ----------------------------------------------------------------------------------
116428 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116429 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
116430 ,p_balance_type_code => l_balance_type_code
116431 );
116432
116433 -------------------------------------------------------------------------------------------
116434 -- 4262811 - Generate the Accrual Reversal lines
116435 -------------------------------------------------------------------------------------------
116436 BEGIN
116437 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
116438 (g_array_event(p_event_id).array_value_num('header_index'));
116439 IF l_acc_rev_flag IS NULL THEN
116440 l_acc_rev_flag := 'N';
116441 END IF;
116442 EXCEPTION
116443 WHEN OTHERS THEN
116444 l_acc_rev_flag := 'N';
116445 END;
116446 --
116447 IF (l_acc_rev_flag = 'Y') THEN
116448
116449 -- 4645092 ------------------------------------------------------------------------------
116450 -- To allow MPA report to determine if it should generate report process
116451 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
116452 ------------------------------------------------------------------------------------------
116453
116454 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
116455 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
116456 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
116457 -- call ADRs
116458 -- Bug 4922099
116459 --
116460 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
116461 (NVL(l_actual_upg_option, 'N') = 'O') OR
116462 (NVL(l_enc_upg_option, 'N') = 'O')
116463 )
116464 THEN
116465 NULL;
116466 --
116467 --
116468
116469 --
116470 --
116471 END IF;
116472
116473 --
116474 -- Update the line information that should be overwritten
116475 --
116476 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
116477 p_header_num => 1);
116478 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
116479
116480 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
116481
116482 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
116483 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
116484 END IF;
116485
116486 --
116487 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
116488 --
116489 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
116490 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
116491 ELSE
116492 ---------------------------------------------------------------------------------------------------
116493 -- 4262811a Switch Sign
116494 ---------------------------------------------------------------------------------------------------
116495 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
116496 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116498 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
116499 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116500 -- 5132302
116501 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
116502 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
116503
116504 END IF;
116505
116506 -- 4955764
116507 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116508 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
116509
116510
116511 XLA_AE_LINES_PKG.ValidateCurrentLine;
116512 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
116513
116514 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
116515 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
116516 ,p_balance_type_code => l_balance_type_code);
116517
116518 END IF;
116519
116520 -----------------------------------------------------------------------------------------
116521 -- 4262811 Multiperiod Accounting
116522 -----------------------------------------------------------------------------------------
116523 -- No MPA option is assigned.
116524
116525
116526 END IF;
116527 END IF;
116528 --
116529
116530 --
116531 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116532 trace
116536 END IF;
116533 (p_msg => 'END of AcctLineType_197'
116534 ,p_level => C_LEVEL_PROCEDURE
116535 ,p_module => l_log_module);
116537 --
116538 EXCEPTION
116539 WHEN xla_exceptions_pkg.application_exception THEN
116540 RAISE;
116541 WHEN OTHERS THEN
116542 xla_exceptions_pkg.raise_message
116543 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_197');
116544 END AcctLineType_197;
116545 --
116546
116547 ---------------------------------------
116548 --
116549 -- PRIVATE FUNCTION
116550 -- AcctLineType_198
116551 --
116552 ---------------------------------------
116553 PROCEDURE AcctLineType_198 (
116554 p_application_id IN NUMBER
116555 ,p_event_id IN NUMBER
116556 ,p_calculate_acctd_flag IN VARCHAR2
116557 ,p_calculate_g_l_flag IN VARCHAR2
116558 ,p_actual_flag IN OUT VARCHAR2
116559 ,p_balance_type_code OUT VARCHAR2
116560 ,p_gain_or_loss_ref OUT VARCHAR2
116561
116562 --Invoice Distribution Description
116563 , p_source_1 IN VARCHAR2
116564 --Invoice Distribution Ledger Amount
116565 , p_source_9 IN NUMBER
116566 --Invoice Distribution Account
116567 , p_source_18 IN NUMBER
116568 --Invoice Distribution Type
116569 , p_source_21 IN VARCHAR2
116570 , p_source_21_meaning IN VARCHAR2
116571 --Accounting Reversal Indicator
116572 , p_source_41 IN VARCHAR2
116573 --Distribution Link Type
116574 , p_source_43 IN VARCHAR2
116575 --Allocation to Main Distribution Identifier
116576 , p_source_45 IN NUMBER
116577 --Invoice Identifier
116578 , p_source_46 IN NUMBER
116579 --Invoice Distribution Identifier
116580 , p_source_52 IN NUMBER
116581 --Payables Encumbrance Upgrade Credit Account
116582 , p_source_53 IN NUMBER
116583 --Payables Encumbrance Upgrade Credit Amount
116584 , p_source_54 IN NUMBER
116585 --Invoice Currency Code
116586 , p_source_55 IN VARCHAR2
116587 --Payables Encumbrance Upgrade Credit Base Amount
116588 , p_source_56 IN NUMBER
116589 --Payables Encumbrance Upgrade Debit Account
116590 , p_source_57 IN NUMBER
116591 --Payables Encumbrance Upgrade Debit Amount
116592 , p_source_58 IN NUMBER
116593 --Payables Encumbrance Upgrade Debit Base Amount
116594 , p_source_59 IN NUMBER
116595 --Payables Encumbrance Upgrade Option
116596 , p_source_60 IN VARCHAR2
116597 --Invoice Distribution Amount
116598 , p_source_61 IN NUMBER
116599 --Deferred Accounting End Date
116600 , p_source_65 IN DATE
116601 --Deferred Accounting Option
116602 , p_source_66 IN VARCHAR2
116603 --Deferred Accounting Start Date
116604 , p_source_67 IN DATE
116605 --Override Accounted Amount Indicator
116606 , p_source_68 IN VARCHAR2
116607 , p_source_68_meaning IN VARCHAR2
116608 --Invoice Supplier Identifier
116609 , p_source_69 IN NUMBER
116610 --Invoice Supplier Site Identifier
116611 , p_source_70 IN NUMBER
116612 --Third Party Type
116613 , p_source_71 IN VARCHAR2
116614 --Parent Reversal Identifier
116615 , p_source_72 IN NUMBER
116616 --Invoice Distribution Statistical Amount
116617 , p_source_73 IN NUMBER
116618 --Invoice Distribution Tax Line Identifier
116619 , p_source_74 IN NUMBER
116620 --Invoice Distribution Tax Distribution Identifier from Tax
116621 , p_source_75 IN NUMBER
116622 --Invoice Distribution Summary Tax Line Identifier
116623 , p_source_76 IN NUMBER
116624 --Payables Upgrade Credit Encumbrance Type Identifier
116625 , p_source_77 IN NUMBER
116626 --Payables Upgrade Debit Encumbrance Type Identifier
116627 , p_source_78 IN NUMBER
116628 --Business Flow Accounts Payable Application Identifier
116629 , p_source_79 IN NUMBER
116630 --Business Flow Invoice Distribution Type
116631 , p_source_80 IN VARCHAR2
116632 --Business Flow Invoice Entity Code
116633 , p_source_81 IN VARCHAR2
116634 --Business Flow Invoice Distribution Identifier
116635 , p_source_82 IN NUMBER
116636 --Business Flow Invoice Identifier
116637 , p_source_83 IN NUMBER
116638 --Invoice Exchange Date
116639 , p_source_136 IN DATE
116640 --Invoice Exchange Rate
116641 , p_source_137 IN NUMBER
116642 --Invoice Exchange Rate Type
116643 , p_source_138 IN VARCHAR2
116644 )
116645 IS
116646
116647 l_component_type VARCHAR2(80);
116648 l_component_code VARCHAR2(30);
116649 l_component_type_code VARCHAR2(1);
116650 l_component_appl_id INTEGER;
116651 l_amb_context_code VARCHAR2(30);
116652 l_entity_code VARCHAR2(30);
116653 l_event_class_code VARCHAR2(30);
116654 l_ae_header_id NUMBER;
116655 l_event_type_code VARCHAR2(30);
116656 l_line_definition_code VARCHAR2(30);
116657 l_line_definition_owner_code VARCHAR2(1);
116658 --
116659 -- adr variables
116660 l_segment VARCHAR2(30);
116661 l_ccid NUMBER;
116662 l_adr_transaction_coa_id NUMBER;
116663 l_adr_accounting_coa_id NUMBER;
116664 l_adr_flexfield_segment_code VARCHAR2(30);
116665 l_adr_flex_value_set_id NUMBER;
116666 l_adr_value_type_code VARCHAR2(30);
116667 l_adr_value_combination_id NUMBER;
116671 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
116668 l_adr_value_segment_code VARCHAR2(30);
116669
116670 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
116672 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
116673 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
116674
116675 -- 4262811 Variables ------------------------------------------------------------------------------------------
116676 l_entered_amt_idx NUMBER;
116677 l_accted_amt_idx NUMBER;
116678 l_acc_rev_flag VARCHAR2(1);
116679 l_accrual_line_num NUMBER;
116680 l_tmp_amt NUMBER;
116681 l_acc_rev_natural_side_code VARCHAR2(1);
116682
116683 l_num_entries NUMBER;
116684 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
116685 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
116686 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
116687 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
116688 l_recog_line_1 NUMBER;
116689 l_recog_line_2 NUMBER;
116690
116691 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
116692 l_bflow_applied_to_amt NUMBER; -- 5132302
116693 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
116694
116695 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
116696
116697 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
116698 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
116699
116700 ---------------------------------------------------------------------------------------------------------------
116701
116702
116703 --
116704 -- bulk performance
116705 --
116706 l_balance_type_code VARCHAR2(1);
116707 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
116708 l_log_module VARCHAR2(240);
116709
116710 --
116711 -- Upgrade strategy
116712 --
116713 l_actual_upg_option VARCHAR2(1);
116714 l_enc_upg_option VARCHAR2(1);
116715
116716 --
116717 BEGIN
116718 --
116719 IF g_log_enabled THEN
116720 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_198';
116721 END IF;
116722 --
116723 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116724
116725 trace
116726 (p_msg => 'BEGIN of AcctLineType_198'
116727 ,p_level => C_LEVEL_PROCEDURE
116728 ,p_module => l_log_module);
116729
116730 END IF;
116731 --
116732 l_component_type := 'AMB_JLT';
116733 l_component_code := 'AP_MISC_EXPENSE_PREPAY';
116734 l_component_type_code := 'S';
116735 l_component_appl_id := 200;
116736 l_amb_context_code := 'DEFAULT';
116737 l_entity_code := 'AP_INVOICES';
116738 l_event_class_code := 'PREPAYMENTS';
116739 l_event_type_code := 'PREPAYMENTS_ALL';
116740 l_line_definition_owner_code := 'S';
116741 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
116742 --
116743 l_balance_type_code := 'A';
116744 l_segment := NULL;
116745 l_ccid := NULL;
116746 l_adr_transaction_coa_id := NULL;
116747 l_adr_accounting_coa_id := NULL;
116748 l_adr_flexfield_segment_code := NULL;
116749 l_adr_flex_value_set_id := NULL;
116750 l_adr_value_type_code := NULL;
116751 l_adr_value_combination_id := NULL;
116752 l_adr_value_segment_code := NULL;
116753
116754 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
116755 l_bflow_class_code := ''; -- 4219869 Business Flow
116756 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
116757 l_budgetary_control_flag := 'N';
116758
116759 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116760 l_bflow_applied_to_amt := NULL; -- 5132302
116761 l_entered_amt_idx := NULL; -- 4262811
116762 l_accted_amt_idx := NULL; -- 4262811
116763 l_acc_rev_flag := NULL; -- 4262811
116764 l_accrual_line_num := NULL; -- 4262811
116765 l_tmp_amt := NULL; -- 4262811
116766 --
116767
116768 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
116769 l_balance_type_code <> 'B' THEN
116770 IF NVL(p_source_21,'
116771 ') = 'MISCELLANEOUS'
116772 THEN
116773
116774 --
116775 XLA_AE_LINES_PKG.SetNewLine;
116776
116777 p_balance_type_code := l_balance_type_code;
116778 -- set the flag so later we will know whether the gain loss line needs to be created
116779
116780 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
116781 p_actual_flag :='A';
116782 END IF;
116783
116784 --
116785 -- bulk performance
116786 --
116787 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
116788 p_header_num => 0); -- 4262811
116789 --
116790 -- set accounting line options
116791 --
116792 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
116793 p_natural_side_code => 'D'
116794 , p_gain_or_loss_flag => 'N'
116795 , p_gl_transfer_mode_code => 'S'
116799 );
116796 , p_acct_entry_type_code => 'A'
116797 , p_switch_side_flag => 'Y'
116798 , p_merge_duplicate_code => 'A'
116800 --
116801 l_acc_rev_natural_side_code := 'C'; -- 4262811
116802 --
116803 --
116804 -- set accounting line type info
116805 --
116806 xla_ae_lines_pkg.SetAcctLineType
116807 (p_component_type => l_component_type
116808 ,p_event_type_code => l_event_type_code
116809 ,p_line_definition_owner_code => l_line_definition_owner_code
116810 ,p_line_definition_code => l_line_definition_code
116811 ,p_accounting_line_code => l_component_code
116812 ,p_accounting_line_type_code => l_component_type_code
116813 ,p_accounting_line_appl_id => l_component_appl_id
116814 ,p_amb_context_code => l_amb_context_code
116815 ,p_entity_code => l_entity_code
116816 ,p_event_class_code => l_event_class_code);
116817 --
116818 -- set accounting class
116819 --
116820 xla_ae_lines_pkg.SetAcctClass(
116821 p_accounting_class_code => 'MISCELLANEOUS EXPENSE'
116822 , p_ae_header_id => l_ae_header_id
116823 );
116824
116825 --
116826 -- set rounding class
116827 --
116828 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
116829 'MISCELLANEOUS EXPENSE';
116830
116831 --
116832 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
116833 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
116834 --
116835 -- bulk performance
116836 --
116837 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
116838
116839 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
116840 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
116841
116842 -- 4955764
116843 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
116844 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
116845
116846 -- 4458381 Public Sector Enh
116847
116848 --
116849 -- set accounting attributes for the line type
116850 --
116851 l_entered_amt_idx := 23;
116852 l_accted_amt_idx := 28;
116853 l_bflow_applied_to_amt_idx := NULL; -- 5132302
116854 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
116855 l_rec_acct_attrs.array_char_value(1) := p_source_41;
116856 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
116857 l_rec_acct_attrs.array_num_value(2) :=
116858 xla_ae_sources_pkg.GetSystemSourceNum(
116859 p_source_code => 'XLA_EVENT_APPL_ID'
116860 , p_source_type_code => 'Y'
116861 , p_source_application_id => 602
116862 );
116863 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
116864 l_rec_acct_attrs.array_char_value(3) := p_source_43;
116865 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
116866 l_rec_acct_attrs.array_char_value(4) :=
116867 xla_ae_sources_pkg.GetSystemSourceChar(
116868 p_source_code => 'XLA_ENTITY_CODE'
116869 , p_source_type_code => 'Y'
116870 , p_source_application_id => 602
116871 );
116872 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
116873 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
116874 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
116875 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
116876 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
116877 l_rec_acct_attrs.array_num_value(7) := p_source_79;
116878 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
116879 l_rec_acct_attrs.array_char_value(8) := p_source_80;
116880 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
116881 l_rec_acct_attrs.array_char_value(9) := p_source_81;
116882 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
116883 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
116884 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
116885 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
116886 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
116887 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
116888 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
116889 l_rec_acct_attrs.array_char_value(13) := p_source_43;
116890 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
116891 l_rec_acct_attrs.array_num_value(14) := p_source_53;
116892 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
116893 l_rec_acct_attrs.array_num_value(15) := p_source_54;
116894 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
116895 l_rec_acct_attrs.array_char_value(16) := p_source_55;
116896 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
116897 l_rec_acct_attrs.array_num_value(17) := p_source_56;
116898 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
116899 l_rec_acct_attrs.array_num_value(18) := p_source_57;
116900 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
116904 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
116901 l_rec_acct_attrs.array_num_value(19) := p_source_58;
116902 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
116903 l_rec_acct_attrs.array_char_value(20) := p_source_55;
116905 l_rec_acct_attrs.array_num_value(21) := p_source_59;
116906 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
116907 l_rec_acct_attrs.array_char_value(22) := p_source_60;
116908 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
116909 l_rec_acct_attrs.array_num_value(23) := p_source_61;
116910 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
116911 l_rec_acct_attrs.array_char_value(24) := p_source_55;
116912 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
116913 l_rec_acct_attrs.array_date_value(25) := p_source_136;
116914 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
116915 l_rec_acct_attrs.array_num_value(26) := p_source_137;
116916 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
116917 l_rec_acct_attrs.array_char_value(27) := p_source_138;
116918 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
116919 l_rec_acct_attrs.array_num_value(28) := p_source_9;
116920 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
116921 l_rec_acct_attrs.array_date_value(29) := p_source_65;
116922 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
116923 l_rec_acct_attrs.array_char_value(30) := p_source_66;
116924 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
116925 l_rec_acct_attrs.array_date_value(31) := p_source_67;
116926 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
116927 l_rec_acct_attrs.array_char_value(32) := p_source_68;
116928 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
116929 l_rec_acct_attrs.array_num_value(33) := p_source_69;
116930 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
116931 l_rec_acct_attrs.array_num_value(34) := p_source_70;
116932 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
116933 l_rec_acct_attrs.array_char_value(35) := p_source_71;
116934 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
116935 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
116936 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
116937 l_rec_acct_attrs.array_char_value(37) := p_source_43;
116938 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
116939 l_rec_acct_attrs.array_num_value(38) := p_source_73;
116940 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
116941 l_rec_acct_attrs.array_num_value(39) := p_source_74;
116942 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
116943 l_rec_acct_attrs.array_num_value(40) := p_source_75;
116944 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
116945 l_rec_acct_attrs.array_num_value(41) := p_source_76;
116946 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
116947 l_rec_acct_attrs.array_num_value(42) := p_source_77;
116948 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
116949 l_rec_acct_attrs.array_num_value(43) := p_source_78;
116950
116951 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
116952 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
116953
116954 ---------------------------------------------------------------------------------------------------------------
116955 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
116956 ---------------------------------------------------------------------------------------------------------------
116957 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
116958
116959 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116960 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
116961
116962 IF xla_accounting_cache_pkg.GetValueChar
116963 (p_source_code => 'LEDGER_CATEGORY_CODE'
116964 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
116965 AND l_bflow_method_code = 'PRIOR_ENTRY'
116966 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
116967 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
116968 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
116969 )
116970 THEN
116971 xla_ae_lines_pkg.BflowUpgEntry
116972 (p_business_method_code => l_bflow_method_code
116973 ,p_business_class_code => l_bflow_class_code
116974 ,p_balance_type => l_balance_type_code);
116975 ELSE
116976 NULL;
116977 -- No business flow processing for business flow method of NONE.
116978 END IF;
116979
116980 --
116981 -- call analytical criteria
116982 --
116983
116984 --
116985 -- call description
116986 --
116987
116988 xla_ae_lines_pkg.SetLineDescription(
116989 p_ae_header_id => l_ae_header_id
116990 ,p_description => Description_2 (
116991 p_application_id => p_application_id
116992 , p_ae_header_id => l_ae_header_id
116993 , p_source_1 => p_source_1
116994 )
116995 );
116996
116997
116998 --
116999 -- call ADRs
117000 -- Bug 4922099
117001 --
117002 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117006 THEN
117003 (NVL(l_actual_upg_option, 'N') = 'O') OR
117004 (NVL(l_enc_upg_option, 'N') = 'O')
117005 )
117007 NULL;
117008 --
117009 --
117010
117011 l_ccid := AcctDerRule_32(
117012 p_application_id => p_application_id
117013 , p_ae_header_id => l_ae_header_id
117014 , p_source_18 => p_source_18
117015 , x_transaction_coa_id => l_adr_transaction_coa_id
117016 , x_accounting_coa_id => l_adr_accounting_coa_id
117017 , x_value_type_code => l_adr_value_type_code
117018 , p_side => 'NA'
117019 );
117020
117021 xla_ae_lines_pkg.set_ccid(
117022 p_code_combination_id => l_ccid
117023 , p_value_type_code => l_adr_value_type_code
117024 , p_transaction_coa_id => l_adr_transaction_coa_id
117025 , p_accounting_coa_id => l_adr_accounting_coa_id
117026 , p_adr_code => 'AP_INVOICE_DIST'
117027 , p_adr_type_code => 'S'
117028 , p_component_type => l_component_type
117029 , p_component_code => l_component_code
117030 , p_component_type_code => l_component_type_code
117031 , p_component_appl_id => l_component_appl_id
117032 , p_amb_context_code => l_amb_context_code
117033 , p_side => 'NA'
117034 );
117035
117036
117037 --
117038 --
117039 END IF;
117040 --
117041 -- Bug 4922099
117042 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
117043 (NVL(l_enc_upg_option, 'N') = 'O')
117044 ) AND
117045 (l_bflow_method_code = 'PRIOR_ENTRY')
117046 )
117047 THEN
117048 IF
117049 --
117050 1 = 2
117051 --
117052 THEN
117053 xla_accounting_err_pkg.build_message
117054 (p_appli_s_name => 'XLA'
117055 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117056 ,p_token_1 => 'LINE_NUMBER'
117057 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
117058 ,p_token_2 => 'LINE_TYPE_NAME'
117059 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
117060 l_component_type
117061 ,l_component_code
117062 ,l_component_type_code
117063 ,l_component_appl_id
117064 ,l_amb_context_code
117065 ,l_entity_code
117066 ,l_event_class_code
117067 )
117068 ,p_token_3 => 'OWNER'
117069 ,p_value_3 => xla_lookups_pkg.get_meaning(
117070 p_lookup_type => 'XLA_OWNER_TYPE'
117071 ,p_lookup_code => l_component_type_code
117072 )
117073 ,p_token_4 => 'PRODUCT_NAME'
117074 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
117075 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
117076 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
117077 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
117078 ,p_ae_header_id => NULL
117079 );
117080
117081 IF (C_LEVEL_ERROR>= g_log_level) THEN
117082 trace
117083 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117084 ,p_level => C_LEVEL_ERROR
117085 ,p_module => l_log_module);
117086 END IF;
117087 END IF;
117088 END IF;
117089 --
117090 --
117091 ------------------------------------------------------------------------------------------------
117092 -- 4219869 Business Flow
117093 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
117094 -- Prior Entry. Currently, the following code is always generated.
117095 ------------------------------------------------------------------------------------------------
117096 XLA_AE_LINES_PKG.ValidateCurrentLine;
117097
117098 ------------------------------------------------------------------------------------
117099 -- 4219869 Business Flow
117100 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
117101 ------------------------------------------------------------------------------------
117102 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117103
117104 ----------------------------------------------------------------------------------
117105 -- 4219869 Business Flow
117109 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
117106 -- Update journal entry status -- Need to generate this within IF <condition>
117107 ----------------------------------------------------------------------------------
117108 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117110 ,p_balance_type_code => l_balance_type_code
117111 );
117112
117113 -------------------------------------------------------------------------------------------
117114 -- 4262811 - Generate the Accrual Reversal lines
117115 -------------------------------------------------------------------------------------------
117116 BEGIN
117117 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
117118 (g_array_event(p_event_id).array_value_num('header_index'));
117119 IF l_acc_rev_flag IS NULL THEN
117120 l_acc_rev_flag := 'N';
117121 END IF;
117122 EXCEPTION
117123 WHEN OTHERS THEN
117124 l_acc_rev_flag := 'N';
117125 END;
117126 --
117127 IF (l_acc_rev_flag = 'Y') THEN
117128
117129 -- 4645092 ------------------------------------------------------------------------------
117130 -- To allow MPA report to determine if it should generate report process
117131 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
117132 ------------------------------------------------------------------------------------------
117133
117134 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
117135 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
117136 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
117137 -- call ADRs
117138 -- Bug 4922099
117139 --
117140 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117141 (NVL(l_actual_upg_option, 'N') = 'O') OR
117142 (NVL(l_enc_upg_option, 'N') = 'O')
117143 )
117144 THEN
117145 NULL;
117146 --
117147 --
117148
117149 l_ccid := AcctDerRule_32(
117150 p_application_id => p_application_id
117151 , p_ae_header_id => l_ae_header_id
117152 , p_source_18 => p_source_18
117153 , x_transaction_coa_id => l_adr_transaction_coa_id
117154 , x_accounting_coa_id => l_adr_accounting_coa_id
117155 , x_value_type_code => l_adr_value_type_code
117156 , p_side => 'NA'
117157 );
117158
117159 xla_ae_lines_pkg.set_ccid(
117160 p_code_combination_id => l_ccid
117161 , p_value_type_code => l_adr_value_type_code
117162 , p_transaction_coa_id => l_adr_transaction_coa_id
117163 , p_accounting_coa_id => l_adr_accounting_coa_id
117164 , p_adr_code => 'AP_INVOICE_DIST'
117165 , p_adr_type_code => 'S'
117166 , p_component_type => l_component_type
117167 , p_component_code => l_component_code
117168 , p_component_type_code => l_component_type_code
117169 , p_component_appl_id => l_component_appl_id
117170 , p_amb_context_code => l_amb_context_code
117171 , p_side => 'NA'
117172 );
117173
117174
117175 --
117176 --
117177 END IF;
117178
117179 --
117180 -- Update the line information that should be overwritten
117181 --
117182 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
117183 p_header_num => 1);
117184 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
117185
117186 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
117187
117188 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
117189 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
117190 END IF;
117191
117192 --
117193 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
117194 --
117195 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
117196 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
117197 ELSE
117198 ---------------------------------------------------------------------------------------------------
117199 -- 4262811a Switch Sign
117200 ---------------------------------------------------------------------------------------------------
117201 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
117202 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117203 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117204 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117205 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117206 -- 5132302
117207 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
117208 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117209
117210 END IF;
117211
117212 -- 4955764
117213 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117214 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
117218 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117215
117216
117217 XLA_AE_LINES_PKG.ValidateCurrentLine;
117219
117220 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117221 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
117222 ,p_balance_type_code => l_balance_type_code);
117223
117224 END IF;
117225
117226 -----------------------------------------------------------------------------------------
117227 -- 4262811 Multiperiod Accounting
117228 -----------------------------------------------------------------------------------------
117229 -- No MPA option is assigned.
117230
117231
117232 END IF;
117233 END IF;
117234 --
117235
117236 --
117237 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117238 trace
117239 (p_msg => 'END of AcctLineType_198'
117240 ,p_level => C_LEVEL_PROCEDURE
117241 ,p_module => l_log_module);
117242 END IF;
117243 --
117244 EXCEPTION
117245 WHEN xla_exceptions_pkg.application_exception THEN
117246 RAISE;
117247 WHEN OTHERS THEN
117248 xla_exceptions_pkg.raise_message
117249 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_198');
117250 END AcctLineType_198;
117251 --
117252
117253 ---------------------------------------
117254 --
117255 -- PRIVATE FUNCTION
117256 -- AcctLineType_199
117257 --
117258 ---------------------------------------
117259 PROCEDURE AcctLineType_199 (
117260 p_application_id IN NUMBER
117261 ,p_event_id IN NUMBER
117262 ,p_calculate_acctd_flag IN VARCHAR2
117263 ,p_calculate_g_l_flag IN VARCHAR2
117264 ,p_actual_flag IN OUT VARCHAR2
117265 ,p_balance_type_code OUT VARCHAR2
117266 ,p_gain_or_loss_ref OUT VARCHAR2
117267
117268 --Invoice Distribution Description
117269 , p_source_1 IN VARCHAR2
117270 --Invoice Distribution Ledger Amount
117271 , p_source_9 IN NUMBER
117272 --Invoice Distribution Account
117273 , p_source_18 IN NUMBER
117274 --Invoice Distribution Type
117275 , p_source_21 IN VARCHAR2
117276 , p_source_21_meaning IN VARCHAR2
117277 --Accounting Reversal Indicator
117278 , p_source_41 IN VARCHAR2
117279 --Distribution Link Type
117280 , p_source_43 IN VARCHAR2
117281 --Allocation to Main Distribution Identifier
117282 , p_source_45 IN NUMBER
117283 --Invoice Identifier
117284 , p_source_46 IN NUMBER
117285 --Invoice Distribution Identifier
117286 , p_source_52 IN NUMBER
117287 --Payables Encumbrance Upgrade Credit Account
117288 , p_source_53 IN NUMBER
117289 --Payables Encumbrance Upgrade Credit Amount
117290 , p_source_54 IN NUMBER
117291 --Invoice Currency Code
117292 , p_source_55 IN VARCHAR2
117293 --Payables Encumbrance Upgrade Credit Base Amount
117294 , p_source_56 IN NUMBER
117295 --Payables Encumbrance Upgrade Debit Account
117296 , p_source_57 IN NUMBER
117297 --Payables Encumbrance Upgrade Debit Amount
117298 , p_source_58 IN NUMBER
117299 --Payables Encumbrance Upgrade Debit Base Amount
117300 , p_source_59 IN NUMBER
117301 --Payables Encumbrance Upgrade Option
117302 , p_source_60 IN VARCHAR2
117303 --Invoice Distribution Amount
117304 , p_source_61 IN NUMBER
117305 --Purchase Order Exchange Rate Date
117306 , p_source_62 IN DATE
117307 --Purchase Order Exchange Rate
117308 , p_source_63 IN NUMBER
117309 --Purchase Order Exchange Rate Type
117310 , p_source_64 IN VARCHAR2
117311 --Deferred Accounting End Date
117312 , p_source_65 IN DATE
117313 --Deferred Accounting Option
117314 , p_source_66 IN VARCHAR2
117315 --Deferred Accounting Start Date
117316 , p_source_67 IN DATE
117317 --Override Accounted Amount Indicator
117318 , p_source_68 IN VARCHAR2
117319 , p_source_68_meaning IN VARCHAR2
117320 --Invoice Supplier Identifier
117321 , p_source_69 IN NUMBER
117322 --Invoice Supplier Site Identifier
117323 , p_source_70 IN NUMBER
117324 --Third Party Type
117325 , p_source_71 IN VARCHAR2
117326 --Parent Reversal Identifier
117327 , p_source_72 IN NUMBER
117328 --Invoice Distribution Statistical Amount
117329 , p_source_73 IN NUMBER
117330 --Invoice Distribution Tax Line Identifier
117331 , p_source_74 IN NUMBER
117332 --Invoice Distribution Tax Distribution Identifier from Tax
117333 , p_source_75 IN NUMBER
117334 --Invoice Distribution Summary Tax Line Identifier
117335 , p_source_76 IN NUMBER
117336 --Payables Upgrade Credit Encumbrance Type Identifier
117337 , p_source_77 IN NUMBER
117338 --Payables Upgrade Debit Encumbrance Type Identifier
117339 , p_source_78 IN NUMBER
117340 --Business Flow Accounts Payable Application Identifier
117341 , p_source_79 IN NUMBER
117342 --Business Flow Invoice Distribution Type
117343 , p_source_80 IN VARCHAR2
117344 --Business Flow Invoice Entity Code
117345 , p_source_81 IN VARCHAR2
117346 --Business Flow Invoice Distribution Identifier
117347 , p_source_82 IN NUMBER
117348 --Business Flow Invoice Identifier
117349 , p_source_83 IN NUMBER
117350 --Accrue on Receipt Option
117354 , p_source_135 IN VARCHAR2
117351 , p_source_84 IN VARCHAR2
117352 , p_source_84_meaning IN VARCHAR2
117353 --Self-Assessed Tax Flag
117355 , p_source_135_meaning IN VARCHAR2
117356 )
117357 IS
117358
117359 l_component_type VARCHAR2(80);
117360 l_component_code VARCHAR2(30);
117361 l_component_type_code VARCHAR2(1);
117362 l_component_appl_id INTEGER;
117363 l_amb_context_code VARCHAR2(30);
117364 l_entity_code VARCHAR2(30);
117365 l_event_class_code VARCHAR2(30);
117366 l_ae_header_id NUMBER;
117367 l_event_type_code VARCHAR2(30);
117368 l_line_definition_code VARCHAR2(30);
117369 l_line_definition_owner_code VARCHAR2(1);
117370 --
117371 -- adr variables
117372 l_segment VARCHAR2(30);
117373 l_ccid NUMBER;
117374 l_adr_transaction_coa_id NUMBER;
117375 l_adr_accounting_coa_id NUMBER;
117376 l_adr_flexfield_segment_code VARCHAR2(30);
117377 l_adr_flex_value_set_id NUMBER;
117378 l_adr_value_type_code VARCHAR2(30);
117379 l_adr_value_combination_id NUMBER;
117380 l_adr_value_segment_code VARCHAR2(30);
117381
117382 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
117383 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
117384 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
117385 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
117386
117387 -- 4262811 Variables ------------------------------------------------------------------------------------------
117388 l_entered_amt_idx NUMBER;
117389 l_accted_amt_idx NUMBER;
117390 l_acc_rev_flag VARCHAR2(1);
117391 l_accrual_line_num NUMBER;
117392 l_tmp_amt NUMBER;
117393 l_acc_rev_natural_side_code VARCHAR2(1);
117394
117395 l_num_entries NUMBER;
117396 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
117397 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
117398 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
117399 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
117400 l_recog_line_1 NUMBER;
117401 l_recog_line_2 NUMBER;
117402
117403 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
117404 l_bflow_applied_to_amt NUMBER; -- 5132302
117405 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
117406
117407 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
117408
117409 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
117410 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
117411
117412 ---------------------------------------------------------------------------------------------------------------
117413
117414
117415 --
117416 -- bulk performance
117417 --
117418 l_balance_type_code VARCHAR2(1);
117419 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
117420 l_log_module VARCHAR2(240);
117421
117422 --
117423 -- Upgrade strategy
117424 --
117425 l_actual_upg_option VARCHAR2(1);
117426 l_enc_upg_option VARCHAR2(1);
117427
117428 --
117429 BEGIN
117430 --
117431 IF g_log_enabled THEN
117432 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_199';
117433 END IF;
117434 --
117435 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117436
117437 trace
117438 (p_msg => 'BEGIN of AcctLineType_199'
117439 ,p_level => C_LEVEL_PROCEDURE
117440 ,p_module => l_log_module);
117441
117442 END IF;
117443 --
117444 l_component_type := 'AMB_JLT';
117445 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_CM';
117446 l_component_type_code := 'S';
117447 l_component_appl_id := 200;
117448 l_amb_context_code := 'DEFAULT';
117449 l_entity_code := 'AP_INVOICES';
117450 l_event_class_code := 'CREDIT MEMOS';
117451 l_event_type_code := 'CREDIT MEMOS_ALL';
117452 l_line_definition_owner_code := 'S';
117453 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
117454 --
117455 l_balance_type_code := 'A';
117456 l_segment := NULL;
117457 l_ccid := NULL;
117458 l_adr_transaction_coa_id := NULL;
117459 l_adr_accounting_coa_id := NULL;
117460 l_adr_flexfield_segment_code := NULL;
117461 l_adr_flex_value_set_id := NULL;
117462 l_adr_value_type_code := NULL;
117463 l_adr_value_combination_id := NULL;
117464 l_adr_value_segment_code := NULL;
117465
117466 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
117467 l_bflow_class_code := ''; -- 4219869 Business Flow
117468 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
117469 l_budgetary_control_flag := 'N';
117470
117471 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117472 l_bflow_applied_to_amt := NULL; -- 5132302
117473 l_entered_amt_idx := NULL; -- 4262811
117474 l_accted_amt_idx := NULL; -- 4262811
117475 l_acc_rev_flag := NULL; -- 4262811
117476 l_accrual_line_num := NULL; -- 4262811
117480 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
117477 l_tmp_amt := NULL; -- 4262811
117478 --
117479
117481 l_balance_type_code <> 'B' THEN
117482 IF NVL(p_source_21,'
117483 ') = 'NONREC_TAX' AND
117484 NVL(p_source_84,'
117485 ') = 'Y' AND
117486 NVL(p_source_135,'
117487 ') <> 'Y'
117488 THEN
117489
117490 --
117491 XLA_AE_LINES_PKG.SetNewLine;
117492
117493 p_balance_type_code := l_balance_type_code;
117494 -- set the flag so later we will know whether the gain loss line needs to be created
117495
117496 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
117497 p_actual_flag :='A';
117498 END IF;
117499
117500 --
117501 -- bulk performance
117502 --
117503 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
117504 p_header_num => 0); -- 4262811
117505 --
117506 -- set accounting line options
117507 --
117508 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
117509 p_natural_side_code => 'D'
117510 , p_gain_or_loss_flag => 'N'
117511 , p_gl_transfer_mode_code => 'S'
117512 , p_acct_entry_type_code => 'A'
117513 , p_switch_side_flag => 'Y'
117514 , p_merge_duplicate_code => 'A'
117515 );
117516 --
117517 l_acc_rev_natural_side_code := 'C'; -- 4262811
117518 --
117519 --
117520 -- set accounting line type info
117521 --
117522 xla_ae_lines_pkg.SetAcctLineType
117523 (p_component_type => l_component_type
117524 ,p_event_type_code => l_event_type_code
117525 ,p_line_definition_owner_code => l_line_definition_owner_code
117526 ,p_line_definition_code => l_line_definition_code
117527 ,p_accounting_line_code => l_component_code
117528 ,p_accounting_line_type_code => l_component_type_code
117529 ,p_accounting_line_appl_id => l_component_appl_id
117530 ,p_amb_context_code => l_amb_context_code
117531 ,p_entity_code => l_entity_code
117532 ,p_event_class_code => l_event_class_code);
117533 --
117534 -- set accounting class
117535 --
117536 xla_ae_lines_pkg.SetAcctClass(
117537 p_accounting_class_code => 'NRTAX'
117538 , p_ae_header_id => l_ae_header_id
117539 );
117540
117541 --
117542 -- set rounding class
117543 --
117544 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
117545 'NRTAX';
117546
117547 --
117548 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
117549 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
117550 --
117551 -- bulk performance
117552 --
117553 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
117554
117555 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
117556 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
117557
117558 -- 4955764
117559 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117560 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
117561
117562 -- 4458381 Public Sector Enh
117563
117564 --
117565 -- set accounting attributes for the line type
117566 --
117567 l_entered_amt_idx := 23;
117568 l_accted_amt_idx := 28;
117569 l_bflow_applied_to_amt_idx := NULL; -- 5132302
117570 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
117571 l_rec_acct_attrs.array_char_value(1) := p_source_41;
117572 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
117573 l_rec_acct_attrs.array_num_value(2) :=
117574 xla_ae_sources_pkg.GetSystemSourceNum(
117575 p_source_code => 'XLA_EVENT_APPL_ID'
117576 , p_source_type_code => 'Y'
117577 , p_source_application_id => 602
117578 );
117579 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
117580 l_rec_acct_attrs.array_char_value(3) := p_source_43;
117581 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
117582 l_rec_acct_attrs.array_char_value(4) :=
117583 xla_ae_sources_pkg.GetSystemSourceChar(
117584 p_source_code => 'XLA_ENTITY_CODE'
117585 , p_source_type_code => 'Y'
117586 , p_source_application_id => 602
117587 );
117588 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
117589 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
117590 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
117591 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
117592 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
117593 l_rec_acct_attrs.array_num_value(7) := p_source_79;
117594 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
117595 l_rec_acct_attrs.array_char_value(8) := p_source_80;
117596 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
117597 l_rec_acct_attrs.array_char_value(9) := p_source_81;
117598 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
117602 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
117599 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
117600 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
117601 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
117603 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
117604 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
117605 l_rec_acct_attrs.array_char_value(13) := p_source_43;
117606 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
117607 l_rec_acct_attrs.array_num_value(14) := p_source_53;
117608 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
117609 l_rec_acct_attrs.array_num_value(15) := p_source_54;
117610 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
117611 l_rec_acct_attrs.array_char_value(16) := p_source_55;
117612 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
117613 l_rec_acct_attrs.array_num_value(17) := p_source_56;
117614 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
117615 l_rec_acct_attrs.array_num_value(18) := p_source_57;
117616 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
117617 l_rec_acct_attrs.array_num_value(19) := p_source_58;
117618 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
117619 l_rec_acct_attrs.array_char_value(20) := p_source_55;
117620 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
117621 l_rec_acct_attrs.array_num_value(21) := p_source_59;
117622 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
117623 l_rec_acct_attrs.array_char_value(22) := p_source_60;
117624 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
117625 l_rec_acct_attrs.array_num_value(23) := p_source_61;
117626 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
117627 l_rec_acct_attrs.array_char_value(24) := p_source_55;
117628 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
117629 l_rec_acct_attrs.array_date_value(25) := p_source_62;
117630 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
117631 l_rec_acct_attrs.array_num_value(26) := p_source_63;
117632 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
117633 l_rec_acct_attrs.array_char_value(27) := p_source_64;
117634 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
117635 l_rec_acct_attrs.array_num_value(28) := p_source_9;
117636 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
117637 l_rec_acct_attrs.array_date_value(29) := p_source_65;
117638 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
117639 l_rec_acct_attrs.array_char_value(30) := p_source_66;
117640 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
117641 l_rec_acct_attrs.array_date_value(31) := p_source_67;
117642 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
117643 l_rec_acct_attrs.array_char_value(32) := p_source_68;
117644 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
117645 l_rec_acct_attrs.array_num_value(33) := p_source_69;
117646 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
117647 l_rec_acct_attrs.array_num_value(34) := p_source_70;
117648 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
117649 l_rec_acct_attrs.array_char_value(35) := p_source_71;
117650 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
117651 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
117652 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
117653 l_rec_acct_attrs.array_char_value(37) := p_source_43;
117654 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
117655 l_rec_acct_attrs.array_num_value(38) := p_source_73;
117656 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
117657 l_rec_acct_attrs.array_num_value(39) := p_source_74;
117658 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
117659 l_rec_acct_attrs.array_num_value(40) := p_source_75;
117660 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
117661 l_rec_acct_attrs.array_num_value(41) := p_source_76;
117662 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
117663 l_rec_acct_attrs.array_num_value(42) := p_source_77;
117664 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
117665 l_rec_acct_attrs.array_num_value(43) := p_source_78;
117666
117667 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
117668 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
117669
117670 ---------------------------------------------------------------------------------------------------------------
117671 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
117672 ---------------------------------------------------------------------------------------------------------------
117673 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
117674
117675 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117676 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
117677
117678 IF xla_accounting_cache_pkg.GetValueChar
117679 (p_source_code => 'LEDGER_CATEGORY_CODE'
117680 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
117681 AND l_bflow_method_code = 'PRIOR_ENTRY'
117685 )
117682 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
117683 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
117684 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
117686 THEN
117687 xla_ae_lines_pkg.BflowUpgEntry
117688 (p_business_method_code => l_bflow_method_code
117689 ,p_business_class_code => l_bflow_class_code
117690 ,p_balance_type => l_balance_type_code);
117691 ELSE
117692 NULL;
117693 -- No business flow processing for business flow method of NONE.
117694 END IF;
117695
117696 --
117697 -- call analytical criteria
117698 --
117699
117700 --
117701 -- call description
117702 --
117703
117704 xla_ae_lines_pkg.SetLineDescription(
117705 p_ae_header_id => l_ae_header_id
117706 ,p_description => Description_2 (
117707 p_application_id => p_application_id
117708 , p_ae_header_id => l_ae_header_id
117709 , p_source_1 => p_source_1
117710 )
117711 );
117712
117713
117714 --
117715 -- call ADRs
117716 -- Bug 4922099
117717 --
117718 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117719 (NVL(l_actual_upg_option, 'N') = 'O') OR
117720 (NVL(l_enc_upg_option, 'N') = 'O')
117721 )
117722 THEN
117723 NULL;
117724 --
117725 --
117726
117727 l_ccid := AcctDerRule_32(
117728 p_application_id => p_application_id
117729 , p_ae_header_id => l_ae_header_id
117730 , p_source_18 => p_source_18
117731 , x_transaction_coa_id => l_adr_transaction_coa_id
117732 , x_accounting_coa_id => l_adr_accounting_coa_id
117733 , x_value_type_code => l_adr_value_type_code
117734 , p_side => 'NA'
117735 );
117736
117737 xla_ae_lines_pkg.set_ccid(
117738 p_code_combination_id => l_ccid
117739 , p_value_type_code => l_adr_value_type_code
117740 , p_transaction_coa_id => l_adr_transaction_coa_id
117741 , p_accounting_coa_id => l_adr_accounting_coa_id
117742 , p_adr_code => 'AP_INVOICE_DIST'
117743 , p_adr_type_code => 'S'
117744 , p_component_type => l_component_type
117745 , p_component_code => l_component_code
117746 , p_component_type_code => l_component_type_code
117747 , p_component_appl_id => l_component_appl_id
117748 , p_amb_context_code => l_amb_context_code
117749 , p_side => 'NA'
117750 );
117751
117752
117753 --
117754 --
117755 END IF;
117756 --
117757 -- Bug 4922099
117758 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
117759 (NVL(l_enc_upg_option, 'N') = 'O')
117760 ) AND
117761 (l_bflow_method_code = 'PRIOR_ENTRY')
117762 )
117763 THEN
117764 IF
117765 --
117766 1 = 2
117767 --
117768 THEN
117769 xla_accounting_err_pkg.build_message
117770 (p_appli_s_name => 'XLA'
117771 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117772 ,p_token_1 => 'LINE_NUMBER'
117773 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
117774 ,p_token_2 => 'LINE_TYPE_NAME'
117775 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
117776 l_component_type
117777 ,l_component_code
117778 ,l_component_type_code
117779 ,l_component_appl_id
117780 ,l_amb_context_code
117781 ,l_entity_code
117782 ,l_event_class_code
117783 )
117784 ,p_token_3 => 'OWNER'
117785 ,p_value_3 => xla_lookups_pkg.get_meaning(
117786 p_lookup_type => 'XLA_OWNER_TYPE'
117787 ,p_lookup_code => l_component_type_code
117788 )
117789 ,p_token_4 => 'PRODUCT_NAME'
117790 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
117791 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
117792 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
117793 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
117794 ,p_ae_header_id => NULL
117795 );
117796
117800 ,p_level => C_LEVEL_ERROR
117797 IF (C_LEVEL_ERROR>= g_log_level) THEN
117798 trace
117799 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
117801 ,p_module => l_log_module);
117802 END IF;
117803 END IF;
117804 END IF;
117805 --
117806 --
117807 ------------------------------------------------------------------------------------------------
117808 -- 4219869 Business Flow
117809 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
117810 -- Prior Entry. Currently, the following code is always generated.
117811 ------------------------------------------------------------------------------------------------
117812 XLA_AE_LINES_PKG.ValidateCurrentLine;
117813
117814 ------------------------------------------------------------------------------------
117815 -- 4219869 Business Flow
117816 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
117817 ------------------------------------------------------------------------------------
117818 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117819
117820 ----------------------------------------------------------------------------------
117821 -- 4219869 Business Flow
117822 -- Update journal entry status -- Need to generate this within IF <condition>
117823 ----------------------------------------------------------------------------------
117824 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117825 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
117826 ,p_balance_type_code => l_balance_type_code
117827 );
117828
117829 -------------------------------------------------------------------------------------------
117830 -- 4262811 - Generate the Accrual Reversal lines
117831 -------------------------------------------------------------------------------------------
117832 BEGIN
117833 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
117834 (g_array_event(p_event_id).array_value_num('header_index'));
117835 IF l_acc_rev_flag IS NULL THEN
117836 l_acc_rev_flag := 'N';
117837 END IF;
117838 EXCEPTION
117839 WHEN OTHERS THEN
117840 l_acc_rev_flag := 'N';
117841 END;
117842 --
117843 IF (l_acc_rev_flag = 'Y') THEN
117844
117845 -- 4645092 ------------------------------------------------------------------------------
117846 -- To allow MPA report to determine if it should generate report process
117847 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
117848 ------------------------------------------------------------------------------------------
117849
117850 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
117851 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
117852 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
117853 -- call ADRs
117854 -- Bug 4922099
117855 --
117856 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
117857 (NVL(l_actual_upg_option, 'N') = 'O') OR
117858 (NVL(l_enc_upg_option, 'N') = 'O')
117859 )
117860 THEN
117861 NULL;
117862 --
117863 --
117864
117865 l_ccid := AcctDerRule_32(
117866 p_application_id => p_application_id
117867 , p_ae_header_id => l_ae_header_id
117868 , p_source_18 => p_source_18
117869 , x_transaction_coa_id => l_adr_transaction_coa_id
117870 , x_accounting_coa_id => l_adr_accounting_coa_id
117871 , x_value_type_code => l_adr_value_type_code
117872 , p_side => 'NA'
117873 );
117874
117875 xla_ae_lines_pkg.set_ccid(
117876 p_code_combination_id => l_ccid
117877 , p_value_type_code => l_adr_value_type_code
117878 , p_transaction_coa_id => l_adr_transaction_coa_id
117879 , p_accounting_coa_id => l_adr_accounting_coa_id
117880 , p_adr_code => 'AP_INVOICE_DIST'
117881 , p_adr_type_code => 'S'
117882 , p_component_type => l_component_type
117883 , p_component_code => l_component_code
117884 , p_component_type_code => l_component_type_code
117885 , p_component_appl_id => l_component_appl_id
117886 , p_amb_context_code => l_amb_context_code
117887 , p_side => 'NA'
117888 );
117889
117890
117891 --
117892 --
117893 END IF;
117894
117895 --
117896 -- Update the line information that should be overwritten
117897 --
117898 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
117899 p_header_num => 1);
117900 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
117901
117902 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
117903
117904 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
117905 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
117906 END IF;
117907
117908 --
117909 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
117910 --
117911 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
117915 -- 4262811a Switch Sign
117912 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
117913 ELSE
117914 ---------------------------------------------------------------------------------------------------
117916 ---------------------------------------------------------------------------------------------------
117917 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
117918 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117919 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117920 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
117921 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117922 -- 5132302
117923 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
117924 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
117925
117926 END IF;
117927
117928 -- 4955764
117929 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
117930 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
117931
117932
117933 XLA_AE_LINES_PKG.ValidateCurrentLine;
117934 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
117935
117936 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
117937 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
117938 ,p_balance_type_code => l_balance_type_code);
117939
117940 END IF;
117941
117942 -----------------------------------------------------------------------------------------
117943 -- 4262811 Multiperiod Accounting
117944 -----------------------------------------------------------------------------------------
117945 -- No MPA option is assigned.
117946
117947
117948 END IF;
117949 END IF;
117950 --
117951
117952 --
117953 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
117954 trace
117955 (p_msg => 'END of AcctLineType_199'
117956 ,p_level => C_LEVEL_PROCEDURE
117957 ,p_module => l_log_module);
117958 END IF;
117959 --
117960 EXCEPTION
117961 WHEN xla_exceptions_pkg.application_exception THEN
117962 RAISE;
117963 WHEN OTHERS THEN
117964 xla_exceptions_pkg.raise_message
117965 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_199');
117966 END AcctLineType_199;
117967 --
117968
117969 ---------------------------------------
117970 --
117971 -- PRIVATE FUNCTION
117972 -- AcctLineType_200
117973 --
117974 ---------------------------------------
117975 PROCEDURE AcctLineType_200 (
117976 p_application_id IN NUMBER
117977 ,p_event_id IN NUMBER
117978 ,p_calculate_acctd_flag IN VARCHAR2
117979 ,p_calculate_g_l_flag IN VARCHAR2
117980 ,p_actual_flag IN OUT VARCHAR2
117981 ,p_balance_type_code OUT VARCHAR2
117982 ,p_gain_or_loss_ref OUT VARCHAR2
117983
117984 --Invoice Distribution Description
117985 , p_source_1 IN VARCHAR2
117986 --Invoice Distribution Ledger Amount
117987 , p_source_9 IN NUMBER
117988 --Invoice Distribution Account
117989 , p_source_18 IN NUMBER
117990 --Invoice Distribution Type
117991 , p_source_21 IN VARCHAR2
117992 , p_source_21_meaning IN VARCHAR2
117993 --Accounting Reversal Indicator
117994 , p_source_41 IN VARCHAR2
117995 --Distribution Link Type
117996 , p_source_43 IN VARCHAR2
117997 --Allocation to Main Distribution Identifier
117998 , p_source_45 IN NUMBER
117999 --Invoice Identifier
118000 , p_source_46 IN NUMBER
118001 --Invoice Distribution Identifier
118002 , p_source_52 IN NUMBER
118003 --Payables Encumbrance Upgrade Credit Account
118004 , p_source_53 IN NUMBER
118005 --Payables Encumbrance Upgrade Credit Amount
118006 , p_source_54 IN NUMBER
118007 --Invoice Currency Code
118008 , p_source_55 IN VARCHAR2
118009 --Payables Encumbrance Upgrade Credit Base Amount
118010 , p_source_56 IN NUMBER
118011 --Payables Encumbrance Upgrade Debit Account
118012 , p_source_57 IN NUMBER
118013 --Payables Encumbrance Upgrade Debit Amount
118014 , p_source_58 IN NUMBER
118015 --Payables Encumbrance Upgrade Debit Base Amount
118016 , p_source_59 IN NUMBER
118017 --Payables Encumbrance Upgrade Option
118018 , p_source_60 IN VARCHAR2
118019 --Invoice Distribution Amount
118020 , p_source_61 IN NUMBER
118021 --Purchase Order Exchange Rate Date
118022 , p_source_62 IN DATE
118023 --Purchase Order Exchange Rate
118024 , p_source_63 IN NUMBER
118025 --Purchase Order Exchange Rate Type
118026 , p_source_64 IN VARCHAR2
118027 --Deferred Accounting End Date
118028 , p_source_65 IN DATE
118029 --Deferred Accounting Option
118030 , p_source_66 IN VARCHAR2
118031 --Deferred Accounting Start Date
118032 , p_source_67 IN DATE
118033 --Override Accounted Amount Indicator
118034 , p_source_68 IN VARCHAR2
118035 , p_source_68_meaning IN VARCHAR2
118039 , p_source_70 IN NUMBER
118036 --Invoice Supplier Identifier
118037 , p_source_69 IN NUMBER
118038 --Invoice Supplier Site Identifier
118040 --Third Party Type
118041 , p_source_71 IN VARCHAR2
118042 --Parent Reversal Identifier
118043 , p_source_72 IN NUMBER
118044 --Invoice Distribution Tax Line Identifier
118045 , p_source_74 IN NUMBER
118046 --Invoice Distribution Tax Distribution Identifier from Tax
118047 , p_source_75 IN NUMBER
118048 --Invoice Distribution Summary Tax Line Identifier
118049 , p_source_76 IN NUMBER
118050 --Payables Upgrade Credit Encumbrance Type Identifier
118051 , p_source_77 IN NUMBER
118052 --Payables Upgrade Debit Encumbrance Type Identifier
118053 , p_source_78 IN NUMBER
118054 --Business Flow Accounts Payable Application Identifier
118055 , p_source_79 IN NUMBER
118056 --Business Flow Invoice Distribution Type
118057 , p_source_80 IN VARCHAR2
118058 --Business Flow Invoice Entity Code
118059 , p_source_81 IN VARCHAR2
118060 --Business Flow Invoice Distribution Identifier
118061 , p_source_82 IN NUMBER
118062 --Business Flow Invoice Identifier
118063 , p_source_83 IN NUMBER
118064 --Accrue on Receipt Option
118065 , p_source_84 IN VARCHAR2
118066 , p_source_84_meaning IN VARCHAR2
118067 --Self-Assessed Tax Flag
118068 , p_source_135 IN VARCHAR2
118069 , p_source_135_meaning IN VARCHAR2
118070 )
118071 IS
118072
118073 l_component_type VARCHAR2(80);
118074 l_component_code VARCHAR2(30);
118075 l_component_type_code VARCHAR2(1);
118076 l_component_appl_id INTEGER;
118077 l_amb_context_code VARCHAR2(30);
118078 l_entity_code VARCHAR2(30);
118079 l_event_class_code VARCHAR2(30);
118080 l_ae_header_id NUMBER;
118081 l_event_type_code VARCHAR2(30);
118082 l_line_definition_code VARCHAR2(30);
118083 l_line_definition_owner_code VARCHAR2(1);
118084 --
118085 -- adr variables
118086 l_segment VARCHAR2(30);
118087 l_ccid NUMBER;
118088 l_adr_transaction_coa_id NUMBER;
118089 l_adr_accounting_coa_id NUMBER;
118090 l_adr_flexfield_segment_code VARCHAR2(30);
118091 l_adr_flex_value_set_id NUMBER;
118092 l_adr_value_type_code VARCHAR2(30);
118093 l_adr_value_combination_id NUMBER;
118094 l_adr_value_segment_code VARCHAR2(30);
118095
118096 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
118097 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
118098 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
118099 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
118100
118101 -- 4262811 Variables ------------------------------------------------------------------------------------------
118102 l_entered_amt_idx NUMBER;
118103 l_accted_amt_idx NUMBER;
118104 l_acc_rev_flag VARCHAR2(1);
118105 l_accrual_line_num NUMBER;
118106 l_tmp_amt NUMBER;
118107 l_acc_rev_natural_side_code VARCHAR2(1);
118108
118109 l_num_entries NUMBER;
118110 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
118111 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
118112 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
118113 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
118114 l_recog_line_1 NUMBER;
118115 l_recog_line_2 NUMBER;
118116
118117 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
118118 l_bflow_applied_to_amt NUMBER; -- 5132302
118119 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
118120
118121 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
118122
118123 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
118124 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
118125
118126 ---------------------------------------------------------------------------------------------------------------
118127
118128
118129 --
118130 -- bulk performance
118131 --
118132 l_balance_type_code VARCHAR2(1);
118133 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
118134 l_log_module VARCHAR2(240);
118135
118136 --
118137 -- Upgrade strategy
118138 --
118139 l_actual_upg_option VARCHAR2(1);
118140 l_enc_upg_option VARCHAR2(1);
118141
118142 --
118143 BEGIN
118144 --
118145 IF g_log_enabled THEN
118146 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_200';
118147 END IF;
118148 --
118149 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118150
118151 trace
118152 (p_msg => 'BEGIN of AcctLineType_200'
118153 ,p_level => C_LEVEL_PROCEDURE
118154 ,p_module => l_log_module);
118155
118156 END IF;
118157 --
118158 l_component_type := 'AMB_JLT';
118159 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_DM';
118160 l_component_type_code := 'S';
118161 l_component_appl_id := 200;
118162 l_amb_context_code := 'DEFAULT';
118163 l_entity_code := 'AP_INVOICES';
118167 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
118164 l_event_class_code := 'DEBIT MEMOS';
118165 l_event_type_code := 'DEBIT MEMOS_ALL';
118166 l_line_definition_owner_code := 'S';
118168 --
118169 l_balance_type_code := 'A';
118170 l_segment := NULL;
118171 l_ccid := NULL;
118172 l_adr_transaction_coa_id := NULL;
118173 l_adr_accounting_coa_id := NULL;
118174 l_adr_flexfield_segment_code := NULL;
118175 l_adr_flex_value_set_id := NULL;
118176 l_adr_value_type_code := NULL;
118177 l_adr_value_combination_id := NULL;
118178 l_adr_value_segment_code := NULL;
118179
118180 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
118181 l_bflow_class_code := ''; -- 4219869 Business Flow
118182 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
118183 l_budgetary_control_flag := 'N';
118184
118185 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118186 l_bflow_applied_to_amt := NULL; -- 5132302
118187 l_entered_amt_idx := NULL; -- 4262811
118188 l_accted_amt_idx := NULL; -- 4262811
118189 l_acc_rev_flag := NULL; -- 4262811
118190 l_accrual_line_num := NULL; -- 4262811
118191 l_tmp_amt := NULL; -- 4262811
118192 --
118193
118194 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
118195 l_balance_type_code <> 'B' THEN
118196 IF NVL(p_source_21,'
118197 ') = 'NONREC_TAX' AND
118198 NVL(p_source_84,'
118199 ') = 'Y' AND
118200 NVL(p_source_135,'
118201 ') <> 'Y'
118202 THEN
118203
118204 --
118205 XLA_AE_LINES_PKG.SetNewLine;
118206
118207 p_balance_type_code := l_balance_type_code;
118208 -- set the flag so later we will know whether the gain loss line needs to be created
118209
118210 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
118211 p_actual_flag :='A';
118212 END IF;
118213
118214 --
118215 -- bulk performance
118216 --
118217 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
118218 p_header_num => 0); -- 4262811
118219 --
118220 -- set accounting line options
118221 --
118222 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
118223 p_natural_side_code => 'D'
118224 , p_gain_or_loss_flag => 'N'
118225 , p_gl_transfer_mode_code => 'S'
118226 , p_acct_entry_type_code => 'A'
118227 , p_switch_side_flag => 'Y'
118228 , p_merge_duplicate_code => 'A'
118229 );
118230 --
118231 l_acc_rev_natural_side_code := 'C'; -- 4262811
118232 --
118233 --
118234 -- set accounting line type info
118235 --
118236 xla_ae_lines_pkg.SetAcctLineType
118237 (p_component_type => l_component_type
118238 ,p_event_type_code => l_event_type_code
118239 ,p_line_definition_owner_code => l_line_definition_owner_code
118240 ,p_line_definition_code => l_line_definition_code
118241 ,p_accounting_line_code => l_component_code
118242 ,p_accounting_line_type_code => l_component_type_code
118243 ,p_accounting_line_appl_id => l_component_appl_id
118244 ,p_amb_context_code => l_amb_context_code
118245 ,p_entity_code => l_entity_code
118246 ,p_event_class_code => l_event_class_code);
118247 --
118248 -- set accounting class
118249 --
118250 xla_ae_lines_pkg.SetAcctClass(
118251 p_accounting_class_code => 'NRTAX'
118252 , p_ae_header_id => l_ae_header_id
118253 );
118254
118255 --
118256 -- set rounding class
118257 --
118258 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
118259 'NRTAX';
118260
118261 --
118262 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
118263 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
118264 --
118265 -- bulk performance
118266 --
118267 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
118268
118269 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
118270 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
118271
118272 -- 4955764
118273 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118274 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
118275
118276 -- 4458381 Public Sector Enh
118277
118278 --
118279 -- set accounting attributes for the line type
118280 --
118281 l_entered_amt_idx := 23;
118282 l_accted_amt_idx := 28;
118283 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118284 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
118285 l_rec_acct_attrs.array_char_value(1) := p_source_41;
118286 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
118287 l_rec_acct_attrs.array_num_value(2) :=
118288 xla_ae_sources_pkg.GetSystemSourceNum(
118289 p_source_code => 'XLA_EVENT_APPL_ID'
118290 , p_source_type_code => 'Y'
118294 l_rec_acct_attrs.array_char_value(3) := p_source_43;
118291 , p_source_application_id => 602
118292 );
118293 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
118295 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
118296 l_rec_acct_attrs.array_char_value(4) :=
118297 xla_ae_sources_pkg.GetSystemSourceChar(
118298 p_source_code => 'XLA_ENTITY_CODE'
118299 , p_source_type_code => 'Y'
118300 , p_source_application_id => 602
118301 );
118302 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
118303 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
118304 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
118305 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
118306 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
118307 l_rec_acct_attrs.array_num_value(7) := p_source_79;
118308 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
118309 l_rec_acct_attrs.array_char_value(8) := p_source_80;
118310 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
118311 l_rec_acct_attrs.array_char_value(9) := p_source_81;
118312 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
118313 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
118314 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
118315 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
118316 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
118317 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
118318 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
118319 l_rec_acct_attrs.array_char_value(13) := p_source_43;
118320 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
118321 l_rec_acct_attrs.array_num_value(14) := p_source_53;
118322 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
118323 l_rec_acct_attrs.array_num_value(15) := p_source_54;
118324 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
118325 l_rec_acct_attrs.array_char_value(16) := p_source_55;
118326 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
118327 l_rec_acct_attrs.array_num_value(17) := p_source_56;
118328 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
118329 l_rec_acct_attrs.array_num_value(18) := p_source_57;
118330 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
118331 l_rec_acct_attrs.array_num_value(19) := p_source_58;
118332 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
118333 l_rec_acct_attrs.array_char_value(20) := p_source_55;
118334 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
118335 l_rec_acct_attrs.array_num_value(21) := p_source_59;
118336 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
118337 l_rec_acct_attrs.array_char_value(22) := p_source_60;
118338 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
118339 l_rec_acct_attrs.array_num_value(23) := p_source_61;
118340 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
118341 l_rec_acct_attrs.array_char_value(24) := p_source_55;
118342 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
118343 l_rec_acct_attrs.array_date_value(25) := p_source_62;
118344 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
118345 l_rec_acct_attrs.array_num_value(26) := p_source_63;
118346 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
118347 l_rec_acct_attrs.array_char_value(27) := p_source_64;
118348 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
118349 l_rec_acct_attrs.array_num_value(28) := p_source_9;
118350 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
118351 l_rec_acct_attrs.array_date_value(29) := p_source_65;
118352 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
118353 l_rec_acct_attrs.array_char_value(30) := p_source_66;
118354 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
118355 l_rec_acct_attrs.array_date_value(31) := p_source_67;
118356 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
118357 l_rec_acct_attrs.array_char_value(32) := p_source_68;
118358 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
118359 l_rec_acct_attrs.array_num_value(33) := p_source_69;
118360 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
118361 l_rec_acct_attrs.array_num_value(34) := p_source_70;
118362 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
118363 l_rec_acct_attrs.array_char_value(35) := p_source_71;
118364 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
118365 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
118366 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
118367 l_rec_acct_attrs.array_char_value(37) := p_source_43;
118368 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
118369 l_rec_acct_attrs.array_num_value(38) := p_source_74;
118370 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
118371 l_rec_acct_attrs.array_num_value(39) := p_source_75;
118372 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
118373 l_rec_acct_attrs.array_num_value(40) := p_source_76;
118374 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
118375 l_rec_acct_attrs.array_num_value(41) := p_source_77;
118376 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
118377 l_rec_acct_attrs.array_num_value(42) := p_source_78;
118381
118378
118379 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
118380 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
118382 ---------------------------------------------------------------------------------------------------------------
118383 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
118384 ---------------------------------------------------------------------------------------------------------------
118385 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
118386
118387 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118388 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
118389
118390 IF xla_accounting_cache_pkg.GetValueChar
118391 (p_source_code => 'LEDGER_CATEGORY_CODE'
118392 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
118393 AND l_bflow_method_code = 'PRIOR_ENTRY'
118394 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
118395 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
118396 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
118397 )
118398 THEN
118399 xla_ae_lines_pkg.BflowUpgEntry
118400 (p_business_method_code => l_bflow_method_code
118401 ,p_business_class_code => l_bflow_class_code
118402 ,p_balance_type => l_balance_type_code);
118403 ELSE
118404 NULL;
118405 -- No business flow processing for business flow method of NONE.
118406 END IF;
118407
118408 --
118409 -- call analytical criteria
118410 --
118411
118412 --
118413 -- call description
118414 --
118415
118416 xla_ae_lines_pkg.SetLineDescription(
118417 p_ae_header_id => l_ae_header_id
118418 ,p_description => Description_2 (
118419 p_application_id => p_application_id
118420 , p_ae_header_id => l_ae_header_id
118421 , p_source_1 => p_source_1
118422 )
118423 );
118424
118425
118426 --
118427 -- call ADRs
118428 -- Bug 4922099
118429 --
118430 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118431 (NVL(l_actual_upg_option, 'N') = 'O') OR
118432 (NVL(l_enc_upg_option, 'N') = 'O')
118433 )
118434 THEN
118435 NULL;
118436 --
118437 --
118438
118439 l_ccid := AcctDerRule_32(
118440 p_application_id => p_application_id
118441 , p_ae_header_id => l_ae_header_id
118442 , p_source_18 => p_source_18
118443 , x_transaction_coa_id => l_adr_transaction_coa_id
118444 , x_accounting_coa_id => l_adr_accounting_coa_id
118445 , x_value_type_code => l_adr_value_type_code
118446 , p_side => 'NA'
118447 );
118448
118449 xla_ae_lines_pkg.set_ccid(
118450 p_code_combination_id => l_ccid
118451 , p_value_type_code => l_adr_value_type_code
118452 , p_transaction_coa_id => l_adr_transaction_coa_id
118453 , p_accounting_coa_id => l_adr_accounting_coa_id
118454 , p_adr_code => 'AP_INVOICE_DIST'
118455 , p_adr_type_code => 'S'
118456 , p_component_type => l_component_type
118457 , p_component_code => l_component_code
118458 , p_component_type_code => l_component_type_code
118459 , p_component_appl_id => l_component_appl_id
118460 , p_amb_context_code => l_amb_context_code
118461 , p_side => 'NA'
118462 );
118463
118464
118465 --
118466 --
118467 END IF;
118468 --
118469 -- Bug 4922099
118470 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
118471 (NVL(l_enc_upg_option, 'N') = 'O')
118472 ) AND
118473 (l_bflow_method_code = 'PRIOR_ENTRY')
118474 )
118475 THEN
118476 IF
118477 --
118478 1 = 2
118479 --
118480 THEN
118481 xla_accounting_err_pkg.build_message
118482 (p_appli_s_name => 'XLA'
118483 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118484 ,p_token_1 => 'LINE_NUMBER'
118485 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
118486 ,p_token_2 => 'LINE_TYPE_NAME'
118487 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
118488 l_component_type
118489 ,l_component_code
118490 ,l_component_type_code
118491 ,l_component_appl_id
118492 ,l_amb_context_code
118493 ,l_entity_code
118494 ,l_event_class_code
118495 )
118499 ,p_lookup_code => l_component_type_code
118496 ,p_token_3 => 'OWNER'
118497 ,p_value_3 => xla_lookups_pkg.get_meaning(
118498 p_lookup_type => 'XLA_OWNER_TYPE'
118500 )
118501 ,p_token_4 => 'PRODUCT_NAME'
118502 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
118503 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
118504 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
118505 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
118506 ,p_ae_header_id => NULL
118507 );
118508
118509 IF (C_LEVEL_ERROR>= g_log_level) THEN
118510 trace
118511 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
118512 ,p_level => C_LEVEL_ERROR
118513 ,p_module => l_log_module);
118514 END IF;
118515 END IF;
118516 END IF;
118517 --
118518 --
118519 ------------------------------------------------------------------------------------------------
118520 -- 4219869 Business Flow
118521 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
118522 -- Prior Entry. Currently, the following code is always generated.
118523 ------------------------------------------------------------------------------------------------
118524 XLA_AE_LINES_PKG.ValidateCurrentLine;
118525
118526 ------------------------------------------------------------------------------------
118527 -- 4219869 Business Flow
118528 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
118529 ------------------------------------------------------------------------------------
118530 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118531
118532 ----------------------------------------------------------------------------------
118533 -- 4219869 Business Flow
118534 -- Update journal entry status -- Need to generate this within IF <condition>
118535 ----------------------------------------------------------------------------------
118536 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118537 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
118538 ,p_balance_type_code => l_balance_type_code
118539 );
118540
118541 -------------------------------------------------------------------------------------------
118542 -- 4262811 - Generate the Accrual Reversal lines
118543 -------------------------------------------------------------------------------------------
118544 BEGIN
118545 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
118546 (g_array_event(p_event_id).array_value_num('header_index'));
118547 IF l_acc_rev_flag IS NULL THEN
118548 l_acc_rev_flag := 'N';
118549 END IF;
118550 EXCEPTION
118551 WHEN OTHERS THEN
118552 l_acc_rev_flag := 'N';
118553 END;
118554 --
118555 IF (l_acc_rev_flag = 'Y') THEN
118556
118557 -- 4645092 ------------------------------------------------------------------------------
118558 -- To allow MPA report to determine if it should generate report process
118559 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
118560 ------------------------------------------------------------------------------------------
118561
118562 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
118563 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
118564 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
118565 -- call ADRs
118566 -- Bug 4922099
118567 --
118568 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
118569 (NVL(l_actual_upg_option, 'N') = 'O') OR
118570 (NVL(l_enc_upg_option, 'N') = 'O')
118571 )
118572 THEN
118573 NULL;
118574 --
118575 --
118576
118577 l_ccid := AcctDerRule_32(
118578 p_application_id => p_application_id
118579 , p_ae_header_id => l_ae_header_id
118580 , p_source_18 => p_source_18
118581 , x_transaction_coa_id => l_adr_transaction_coa_id
118582 , x_accounting_coa_id => l_adr_accounting_coa_id
118583 , x_value_type_code => l_adr_value_type_code
118584 , p_side => 'NA'
118585 );
118586
118587 xla_ae_lines_pkg.set_ccid(
118588 p_code_combination_id => l_ccid
118589 , p_value_type_code => l_adr_value_type_code
118590 , p_transaction_coa_id => l_adr_transaction_coa_id
118591 , p_accounting_coa_id => l_adr_accounting_coa_id
118592 , p_adr_code => 'AP_INVOICE_DIST'
118593 , p_adr_type_code => 'S'
118594 , p_component_type => l_component_type
118595 , p_component_code => l_component_code
118596 , p_component_type_code => l_component_type_code
118597 , p_component_appl_id => l_component_appl_id
118598 , p_amb_context_code => l_amb_context_code
118602
118599 , p_side => 'NA'
118600 );
118601
118603 --
118604 --
118605 END IF;
118606
118607 --
118608 -- Update the line information that should be overwritten
118609 --
118610 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
118611 p_header_num => 1);
118612 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
118613
118614 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
118615
118616 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
118617 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
118618 END IF;
118619
118620 --
118621 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
118622 --
118623 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
118624 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
118625 ELSE
118626 ---------------------------------------------------------------------------------------------------
118627 -- 4262811a Switch Sign
118628 ---------------------------------------------------------------------------------------------------
118629 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
118630 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118631 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118632 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
118633 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118634 -- 5132302
118635 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
118636 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
118637
118638 END IF;
118639
118640 -- 4955764
118641 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118642 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
118643
118644
118645 XLA_AE_LINES_PKG.ValidateCurrentLine;
118646 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
118647
118648 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
118649 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
118650 ,p_balance_type_code => l_balance_type_code);
118651
118652 END IF;
118653
118654 -----------------------------------------------------------------------------------------
118655 -- 4262811 Multiperiod Accounting
118656 -----------------------------------------------------------------------------------------
118657 -- No MPA option is assigned.
118658
118659
118660 END IF;
118661 END IF;
118662 --
118663
118664 --
118665 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118666 trace
118667 (p_msg => 'END of AcctLineType_200'
118668 ,p_level => C_LEVEL_PROCEDURE
118669 ,p_module => l_log_module);
118670 END IF;
118671 --
118672 EXCEPTION
118673 WHEN xla_exceptions_pkg.application_exception THEN
118674 RAISE;
118675 WHEN OTHERS THEN
118676 xla_exceptions_pkg.raise_message
118677 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_200');
118678 END AcctLineType_200;
118679 --
118680
118681 ---------------------------------------
118682 --
118683 -- PRIVATE FUNCTION
118684 -- AcctLineType_201
118685 --
118686 ---------------------------------------
118687 PROCEDURE AcctLineType_201 (
118688 p_application_id IN NUMBER
118689 ,p_event_id IN NUMBER
118690 ,p_calculate_acctd_flag IN VARCHAR2
118691 ,p_calculate_g_l_flag IN VARCHAR2
118692 ,p_actual_flag IN OUT VARCHAR2
118693 ,p_balance_type_code OUT VARCHAR2
118694 ,p_gain_or_loss_ref OUT VARCHAR2
118695
118696 --Invoice Distribution Description
118697 , p_source_1 IN VARCHAR2
118698 --Invoice Distribution Ledger Amount
118699 , p_source_9 IN NUMBER
118700 --Invoice Distribution Account
118701 , p_source_18 IN NUMBER
118702 --Invoice Distribution Type
118703 , p_source_21 IN VARCHAR2
118704 , p_source_21_meaning IN VARCHAR2
118705 --Accounting Reversal Indicator
118706 , p_source_41 IN VARCHAR2
118707 --Distribution Link Type
118708 , p_source_43 IN VARCHAR2
118709 --Allocation to Main Distribution Identifier
118710 , p_source_45 IN NUMBER
118711 --Invoice Identifier
118712 , p_source_46 IN NUMBER
118713 --Invoice Distribution Identifier
118714 , p_source_52 IN NUMBER
118715 --Payables Encumbrance Upgrade Credit Account
118716 , p_source_53 IN NUMBER
118717 --Payables Encumbrance Upgrade Credit Amount
118718 , p_source_54 IN NUMBER
118719 --Invoice Currency Code
118720 , p_source_55 IN VARCHAR2
118721 --Payables Encumbrance Upgrade Credit Base Amount
118722 , p_source_56 IN NUMBER
118726 , p_source_58 IN NUMBER
118723 --Payables Encumbrance Upgrade Debit Account
118724 , p_source_57 IN NUMBER
118725 --Payables Encumbrance Upgrade Debit Amount
118727 --Payables Encumbrance Upgrade Debit Base Amount
118728 , p_source_59 IN NUMBER
118729 --Payables Encumbrance Upgrade Option
118730 , p_source_60 IN VARCHAR2
118731 --Invoice Distribution Amount
118732 , p_source_61 IN NUMBER
118733 --Purchase Order Exchange Rate Date
118734 , p_source_62 IN DATE
118735 --Purchase Order Exchange Rate
118736 , p_source_63 IN NUMBER
118737 --Purchase Order Exchange Rate Type
118738 , p_source_64 IN VARCHAR2
118739 --Deferred Accounting End Date
118740 , p_source_65 IN DATE
118741 --Deferred Accounting Option
118742 , p_source_66 IN VARCHAR2
118743 --Deferred Accounting Start Date
118744 , p_source_67 IN DATE
118745 --Override Accounted Amount Indicator
118746 , p_source_68 IN VARCHAR2
118747 , p_source_68_meaning IN VARCHAR2
118748 --Invoice Supplier Identifier
118749 , p_source_69 IN NUMBER
118750 --Invoice Supplier Site Identifier
118751 , p_source_70 IN NUMBER
118752 --Third Party Type
118753 , p_source_71 IN VARCHAR2
118754 --Parent Reversal Identifier
118755 , p_source_72 IN NUMBER
118756 --Invoice Distribution Statistical Amount
118757 , p_source_73 IN NUMBER
118758 --Invoice Distribution Tax Line Identifier
118759 , p_source_74 IN NUMBER
118760 --Invoice Distribution Tax Distribution Identifier from Tax
118761 , p_source_75 IN NUMBER
118762 --Invoice Distribution Summary Tax Line Identifier
118763 , p_source_76 IN NUMBER
118764 --Payables Upgrade Credit Encumbrance Type Identifier
118765 , p_source_77 IN NUMBER
118766 --Payables Upgrade Debit Encumbrance Type Identifier
118767 , p_source_78 IN NUMBER
118768 --Business Flow Accounts Payable Application Identifier
118769 , p_source_79 IN NUMBER
118770 --Business Flow Invoice Distribution Type
118771 , p_source_80 IN VARCHAR2
118772 --Business Flow Invoice Entity Code
118773 , p_source_81 IN VARCHAR2
118774 --Business Flow Invoice Distribution Identifier
118775 , p_source_82 IN NUMBER
118776 --Business Flow Invoice Identifier
118777 , p_source_83 IN NUMBER
118778 --Accrue on Receipt Option
118779 , p_source_84 IN VARCHAR2
118780 , p_source_84_meaning IN VARCHAR2
118781 --Self-Assessed Tax Flag
118782 , p_source_135 IN VARCHAR2
118783 , p_source_135_meaning IN VARCHAR2
118784 )
118785 IS
118786
118787 l_component_type VARCHAR2(80);
118788 l_component_code VARCHAR2(30);
118789 l_component_type_code VARCHAR2(1);
118790 l_component_appl_id INTEGER;
118791 l_amb_context_code VARCHAR2(30);
118792 l_entity_code VARCHAR2(30);
118793 l_event_class_code VARCHAR2(30);
118794 l_ae_header_id NUMBER;
118795 l_event_type_code VARCHAR2(30);
118796 l_line_definition_code VARCHAR2(30);
118797 l_line_definition_owner_code VARCHAR2(1);
118798 --
118799 -- adr variables
118800 l_segment VARCHAR2(30);
118801 l_ccid NUMBER;
118802 l_adr_transaction_coa_id NUMBER;
118803 l_adr_accounting_coa_id NUMBER;
118804 l_adr_flexfield_segment_code VARCHAR2(30);
118805 l_adr_flex_value_set_id NUMBER;
118806 l_adr_value_type_code VARCHAR2(30);
118807 l_adr_value_combination_id NUMBER;
118808 l_adr_value_segment_code VARCHAR2(30);
118809
118810 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
118811 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
118812 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
118813 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
118814
118815 -- 4262811 Variables ------------------------------------------------------------------------------------------
118816 l_entered_amt_idx NUMBER;
118817 l_accted_amt_idx NUMBER;
118818 l_acc_rev_flag VARCHAR2(1);
118819 l_accrual_line_num NUMBER;
118820 l_tmp_amt NUMBER;
118821 l_acc_rev_natural_side_code VARCHAR2(1);
118822
118823 l_num_entries NUMBER;
118824 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
118825 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
118826 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
118827 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
118828 l_recog_line_1 NUMBER;
118829 l_recog_line_2 NUMBER;
118830
118831 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
118832 l_bflow_applied_to_amt NUMBER; -- 5132302
118833 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
118834
118835 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
118836
118837 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
118838 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
118839
118840 ---------------------------------------------------------------------------------------------------------------
118841
118845 --
118842
118843 --
118844 -- bulk performance
118846 l_balance_type_code VARCHAR2(1);
118847 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
118848 l_log_module VARCHAR2(240);
118849
118850 --
118851 -- Upgrade strategy
118852 --
118853 l_actual_upg_option VARCHAR2(1);
118854 l_enc_upg_option VARCHAR2(1);
118855
118856 --
118857 BEGIN
118858 --
118859 IF g_log_enabled THEN
118860 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_201';
118861 END IF;
118862 --
118863 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
118864
118865 trace
118866 (p_msg => 'BEGIN of AcctLineType_201'
118867 ,p_level => C_LEVEL_PROCEDURE
118868 ,p_module => l_log_module);
118869
118870 END IF;
118871 --
118872 l_component_type := 'AMB_JLT';
118873 l_component_code := 'AP_NON_RECOV_TAX_ACCRUAL_INV';
118874 l_component_type_code := 'S';
118875 l_component_appl_id := 200;
118876 l_amb_context_code := 'DEFAULT';
118877 l_entity_code := 'AP_INVOICES';
118878 l_event_class_code := 'INVOICES';
118879 l_event_type_code := 'INVOICES_ALL';
118880 l_line_definition_owner_code := 'S';
118881 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
118882 --
118883 l_balance_type_code := 'A';
118884 l_segment := NULL;
118885 l_ccid := NULL;
118886 l_adr_transaction_coa_id := NULL;
118887 l_adr_accounting_coa_id := NULL;
118888 l_adr_flexfield_segment_code := NULL;
118889 l_adr_flex_value_set_id := NULL;
118890 l_adr_value_type_code := NULL;
118891 l_adr_value_combination_id := NULL;
118892 l_adr_value_segment_code := NULL;
118893
118894 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
118895 l_bflow_class_code := ''; -- 4219869 Business Flow
118896 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
118897 l_budgetary_control_flag := 'N';
118898
118899 l_bflow_applied_to_amt_idx := NULL; -- 5132302
118900 l_bflow_applied_to_amt := NULL; -- 5132302
118901 l_entered_amt_idx := NULL; -- 4262811
118902 l_accted_amt_idx := NULL; -- 4262811
118903 l_acc_rev_flag := NULL; -- 4262811
118904 l_accrual_line_num := NULL; -- 4262811
118905 l_tmp_amt := NULL; -- 4262811
118906 --
118907
118908 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
118909 l_balance_type_code <> 'B' THEN
118910 IF NVL(p_source_21,'
118911 ') = 'NONREC_TAX' AND
118912 NVL(p_source_84,'
118913 ') = 'Y' AND
118914 NVL(p_source_135,'
118915 ') <> 'Y'
118916 THEN
118917
118918 --
118919 XLA_AE_LINES_PKG.SetNewLine;
118920
118921 p_balance_type_code := l_balance_type_code;
118922 -- set the flag so later we will know whether the gain loss line needs to be created
118923
118924 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
118925 p_actual_flag :='A';
118926 END IF;
118927
118928 --
118929 -- bulk performance
118930 --
118931 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
118932 p_header_num => 0); -- 4262811
118933 --
118934 -- set accounting line options
118935 --
118936 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
118937 p_natural_side_code => 'D'
118938 , p_gain_or_loss_flag => 'N'
118939 , p_gl_transfer_mode_code => 'S'
118940 , p_acct_entry_type_code => 'A'
118941 , p_switch_side_flag => 'Y'
118942 , p_merge_duplicate_code => 'A'
118943 );
118944 --
118945 l_acc_rev_natural_side_code := 'C'; -- 4262811
118946 --
118947 --
118948 -- set accounting line type info
118949 --
118950 xla_ae_lines_pkg.SetAcctLineType
118951 (p_component_type => l_component_type
118952 ,p_event_type_code => l_event_type_code
118953 ,p_line_definition_owner_code => l_line_definition_owner_code
118954 ,p_line_definition_code => l_line_definition_code
118955 ,p_accounting_line_code => l_component_code
118956 ,p_accounting_line_type_code => l_component_type_code
118957 ,p_accounting_line_appl_id => l_component_appl_id
118958 ,p_amb_context_code => l_amb_context_code
118959 ,p_entity_code => l_entity_code
118960 ,p_event_class_code => l_event_class_code);
118961 --
118962 -- set accounting class
118963 --
118964 xla_ae_lines_pkg.SetAcctClass(
118965 p_accounting_class_code => 'NRTAX'
118966 , p_ae_header_id => l_ae_header_id
118967 );
118968
118969 --
118970 -- set rounding class
118971 --
118972 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
118973 'NRTAX';
118974
118975 --
118976 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
118977 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
118978 --
118979 -- bulk performance
118980 --
118984 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
118981 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
118982
118983 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
118985
118986 -- 4955764
118987 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
118988 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
118989
118990 -- 4458381 Public Sector Enh
118991
118992 --
118993 -- set accounting attributes for the line type
118994 --
118995 l_entered_amt_idx := 24;
118996 l_accted_amt_idx := 29;
118997 l_bflow_applied_to_amt_idx := 7; -- 5132302
118998 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
118999 l_rec_acct_attrs.array_char_value(1) := p_source_41;
119000 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
119001 l_rec_acct_attrs.array_num_value(2) :=
119002 xla_ae_sources_pkg.GetSystemSourceNum(
119003 p_source_code => 'XLA_EVENT_APPL_ID'
119004 , p_source_type_code => 'Y'
119005 , p_source_application_id => 602
119006 );
119007 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
119008 l_rec_acct_attrs.array_char_value(3) := p_source_43;
119009 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
119010 l_rec_acct_attrs.array_char_value(4) :=
119011 xla_ae_sources_pkg.GetSystemSourceChar(
119012 p_source_code => 'XLA_ENTITY_CODE'
119013 , p_source_type_code => 'Y'
119014 , p_source_application_id => 602
119015 );
119016 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
119017 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
119018 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
119019 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
119020 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
119021 l_rec_acct_attrs.array_num_value(7) := p_source_61;
119022 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
119023 l_rec_acct_attrs.array_num_value(8) := p_source_79;
119024 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
119025 l_rec_acct_attrs.array_char_value(9) := p_source_80;
119026 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
119027 l_rec_acct_attrs.array_char_value(10) := p_source_81;
119028 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
119029 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
119030 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
119031 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
119032 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
119033 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
119034 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
119035 l_rec_acct_attrs.array_char_value(14) := p_source_43;
119036 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
119037 l_rec_acct_attrs.array_num_value(15) := p_source_53;
119038 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
119039 l_rec_acct_attrs.array_num_value(16) := p_source_54;
119040 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
119041 l_rec_acct_attrs.array_char_value(17) := p_source_55;
119042 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
119043 l_rec_acct_attrs.array_num_value(18) := p_source_56;
119044 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
119045 l_rec_acct_attrs.array_num_value(19) := p_source_57;
119046 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
119047 l_rec_acct_attrs.array_num_value(20) := p_source_58;
119048 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
119049 l_rec_acct_attrs.array_char_value(21) := p_source_55;
119050 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
119051 l_rec_acct_attrs.array_num_value(22) := p_source_59;
119052 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
119053 l_rec_acct_attrs.array_char_value(23) := p_source_60;
119054 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
119055 l_rec_acct_attrs.array_num_value(24) := p_source_61;
119056 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
119057 l_rec_acct_attrs.array_char_value(25) := p_source_55;
119058 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
119059 l_rec_acct_attrs.array_date_value(26) := p_source_62;
119060 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
119061 l_rec_acct_attrs.array_num_value(27) := p_source_63;
119062 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
119063 l_rec_acct_attrs.array_char_value(28) := p_source_64;
119064 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
119065 l_rec_acct_attrs.array_num_value(29) := p_source_9;
119066 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
119067 l_rec_acct_attrs.array_date_value(30) := p_source_65;
119068 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
119069 l_rec_acct_attrs.array_char_value(31) := p_source_66;
119070 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
119071 l_rec_acct_attrs.array_date_value(32) := p_source_67;
119072 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
119073 l_rec_acct_attrs.array_char_value(33) := p_source_68;
119077 l_rec_acct_attrs.array_num_value(35) := p_source_70;
119074 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
119075 l_rec_acct_attrs.array_num_value(34) := p_source_69;
119076 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
119078 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
119079 l_rec_acct_attrs.array_char_value(36) := p_source_71;
119080 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
119081 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
119082 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
119083 l_rec_acct_attrs.array_char_value(38) := p_source_43;
119084 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
119085 l_rec_acct_attrs.array_num_value(39) := p_source_73;
119086 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
119087 l_rec_acct_attrs.array_num_value(40) := p_source_74;
119088 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
119089 l_rec_acct_attrs.array_num_value(41) := p_source_75;
119090 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
119091 l_rec_acct_attrs.array_num_value(42) := p_source_76;
119092 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
119093 l_rec_acct_attrs.array_num_value(43) := p_source_77;
119094 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
119095 l_rec_acct_attrs.array_num_value(44) := p_source_78;
119096
119097 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
119098 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
119099
119100 ---------------------------------------------------------------------------------------------------------------
119101 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
119102 ---------------------------------------------------------------------------------------------------------------
119103 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
119104
119105 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119106 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119107
119108 IF xla_accounting_cache_pkg.GetValueChar
119109 (p_source_code => 'LEDGER_CATEGORY_CODE'
119110 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
119111 AND l_bflow_method_code = 'PRIOR_ENTRY'
119112 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
119113 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
119114 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
119115 )
119116 THEN
119117 xla_ae_lines_pkg.BflowUpgEntry
119118 (p_business_method_code => l_bflow_method_code
119119 ,p_business_class_code => l_bflow_class_code
119120 ,p_balance_type => l_balance_type_code);
119121 ELSE
119122 NULL;
119123 -- No business flow processing for business flow method of NONE.
119124 END IF;
119125
119126 --
119127 -- call analytical criteria
119128 --
119129
119130 --
119131 -- call description
119132 --
119133
119134 xla_ae_lines_pkg.SetLineDescription(
119135 p_ae_header_id => l_ae_header_id
119136 ,p_description => Description_2 (
119137 p_application_id => p_application_id
119138 , p_ae_header_id => l_ae_header_id
119139 , p_source_1 => p_source_1
119140 )
119141 );
119142
119143
119144 --
119145 -- call ADRs
119146 -- Bug 4922099
119147 --
119148 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119149 (NVL(l_actual_upg_option, 'N') = 'O') OR
119150 (NVL(l_enc_upg_option, 'N') = 'O')
119151 )
119152 THEN
119153 NULL;
119154 --
119155 --
119156
119157 l_ccid := AcctDerRule_32(
119158 p_application_id => p_application_id
119159 , p_ae_header_id => l_ae_header_id
119160 , p_source_18 => p_source_18
119161 , x_transaction_coa_id => l_adr_transaction_coa_id
119162 , x_accounting_coa_id => l_adr_accounting_coa_id
119163 , x_value_type_code => l_adr_value_type_code
119164 , p_side => 'NA'
119165 );
119166
119167 xla_ae_lines_pkg.set_ccid(
119168 p_code_combination_id => l_ccid
119169 , p_value_type_code => l_adr_value_type_code
119170 , p_transaction_coa_id => l_adr_transaction_coa_id
119171 , p_accounting_coa_id => l_adr_accounting_coa_id
119172 , p_adr_code => 'AP_INVOICE_DIST'
119173 , p_adr_type_code => 'S'
119174 , p_component_type => l_component_type
119175 , p_component_code => l_component_code
119176 , p_component_type_code => l_component_type_code
119177 , p_component_appl_id => l_component_appl_id
119178 , p_amb_context_code => l_amb_context_code
119179 , p_side => 'NA'
119180 );
119181
119182
119183 --
119184 --
119185 END IF;
119186 --
119187 -- Bug 4922099
119188 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
119189 (NVL(l_enc_upg_option, 'N') = 'O')
119190 ) AND
119191 (l_bflow_method_code = 'PRIOR_ENTRY')
119192 )
119193 THEN
119194 IF
119195 --
119196 1 = 2
119197 --
119201 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119198 THEN
119199 xla_accounting_err_pkg.build_message
119200 (p_appli_s_name => 'XLA'
119202 ,p_token_1 => 'LINE_NUMBER'
119203 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
119204 ,p_token_2 => 'LINE_TYPE_NAME'
119205 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
119206 l_component_type
119207 ,l_component_code
119208 ,l_component_type_code
119209 ,l_component_appl_id
119210 ,l_amb_context_code
119211 ,l_entity_code
119212 ,l_event_class_code
119213 )
119214 ,p_token_3 => 'OWNER'
119215 ,p_value_3 => xla_lookups_pkg.get_meaning(
119216 p_lookup_type => 'XLA_OWNER_TYPE'
119217 ,p_lookup_code => l_component_type_code
119218 )
119219 ,p_token_4 => 'PRODUCT_NAME'
119220 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
119221 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
119222 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
119223 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
119224 ,p_ae_header_id => NULL
119225 );
119226
119227 IF (C_LEVEL_ERROR>= g_log_level) THEN
119228 trace
119229 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119230 ,p_level => C_LEVEL_ERROR
119231 ,p_module => l_log_module);
119232 END IF;
119233 END IF;
119234 END IF;
119235 --
119236 --
119237 ------------------------------------------------------------------------------------------------
119238 -- 4219869 Business Flow
119239 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
119240 -- Prior Entry. Currently, the following code is always generated.
119241 ------------------------------------------------------------------------------------------------
119242 XLA_AE_LINES_PKG.ValidateCurrentLine;
119243
119244 ------------------------------------------------------------------------------------
119245 -- 4219869 Business Flow
119246 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
119247 ------------------------------------------------------------------------------------
119248 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119249
119250 ----------------------------------------------------------------------------------
119251 -- 4219869 Business Flow
119252 -- Update journal entry status -- Need to generate this within IF <condition>
119253 ----------------------------------------------------------------------------------
119254 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119255 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
119256 ,p_balance_type_code => l_balance_type_code
119257 );
119258
119259 -------------------------------------------------------------------------------------------
119260 -- 4262811 - Generate the Accrual Reversal lines
119261 -------------------------------------------------------------------------------------------
119262 BEGIN
119263 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
119264 (g_array_event(p_event_id).array_value_num('header_index'));
119265 IF l_acc_rev_flag IS NULL THEN
119266 l_acc_rev_flag := 'N';
119267 END IF;
119268 EXCEPTION
119269 WHEN OTHERS THEN
119270 l_acc_rev_flag := 'N';
119271 END;
119272 --
119273 IF (l_acc_rev_flag = 'Y') THEN
119274
119275 -- 4645092 ------------------------------------------------------------------------------
119276 -- To allow MPA report to determine if it should generate report process
119277 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
119278 ------------------------------------------------------------------------------------------
119279
119280 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
119281 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
119282 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
119283 -- call ADRs
119284 -- Bug 4922099
119285 --
119286 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119290 THEN
119287 (NVL(l_actual_upg_option, 'N') = 'O') OR
119288 (NVL(l_enc_upg_option, 'N') = 'O')
119289 )
119291 NULL;
119292 --
119293 --
119294
119295 l_ccid := AcctDerRule_32(
119296 p_application_id => p_application_id
119297 , p_ae_header_id => l_ae_header_id
119298 , p_source_18 => p_source_18
119299 , x_transaction_coa_id => l_adr_transaction_coa_id
119300 , x_accounting_coa_id => l_adr_accounting_coa_id
119301 , x_value_type_code => l_adr_value_type_code
119302 , p_side => 'NA'
119303 );
119304
119305 xla_ae_lines_pkg.set_ccid(
119306 p_code_combination_id => l_ccid
119307 , p_value_type_code => l_adr_value_type_code
119308 , p_transaction_coa_id => l_adr_transaction_coa_id
119309 , p_accounting_coa_id => l_adr_accounting_coa_id
119310 , p_adr_code => 'AP_INVOICE_DIST'
119311 , p_adr_type_code => 'S'
119312 , p_component_type => l_component_type
119313 , p_component_code => l_component_code
119314 , p_component_type_code => l_component_type_code
119315 , p_component_appl_id => l_component_appl_id
119316 , p_amb_context_code => l_amb_context_code
119317 , p_side => 'NA'
119318 );
119319
119320
119321 --
119322 --
119323 END IF;
119324
119325 --
119326 -- Update the line information that should be overwritten
119327 --
119328 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
119329 p_header_num => 1);
119330 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
119331
119332 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
119333
119334 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
119335 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
119336 END IF;
119337
119338 --
119339 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
119340 --
119341 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
119342 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
119343 ELSE
119344 ---------------------------------------------------------------------------------------------------
119345 -- 4262811a Switch Sign
119346 ---------------------------------------------------------------------------------------------------
119347 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
119348 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119349 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119350 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
119351 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119352 -- 5132302
119353 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
119354 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
119355
119356 END IF;
119357
119358 -- 4955764
119359 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119360 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
119361
119362
119363 XLA_AE_LINES_PKG.ValidateCurrentLine;
119364 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119365
119366 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119367 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
119368 ,p_balance_type_code => l_balance_type_code);
119369
119370 END IF;
119371
119372 -----------------------------------------------------------------------------------------
119373 -- 4262811 Multiperiod Accounting
119374 -----------------------------------------------------------------------------------------
119375 -- No MPA option is assigned.
119376
119377
119378 END IF;
119379 END IF;
119380 --
119381
119382 --
119383 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119384 trace
119385 (p_msg => 'END of AcctLineType_201'
119386 ,p_level => C_LEVEL_PROCEDURE
119387 ,p_module => l_log_module);
119388 END IF;
119389 --
119390 EXCEPTION
119391 WHEN xla_exceptions_pkg.application_exception THEN
119392 RAISE;
119393 WHEN OTHERS THEN
119394 xla_exceptions_pkg.raise_message
119395 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_201');
119396 END AcctLineType_201;
119397 --
119398
119399 ---------------------------------------
119400 --
119401 -- PRIVATE FUNCTION
119402 -- AcctLineType_202
119403 --
119404 ---------------------------------------
119405 PROCEDURE AcctLineType_202 (
119406 p_application_id IN NUMBER
119407 ,p_event_id IN NUMBER
119411 ,p_balance_type_code OUT VARCHAR2
119408 ,p_calculate_acctd_flag IN VARCHAR2
119409 ,p_calculate_g_l_flag IN VARCHAR2
119410 ,p_actual_flag IN OUT VARCHAR2
119412 ,p_gain_or_loss_ref OUT VARCHAR2
119413
119414 --Invoice Distribution Description
119415 , p_source_1 IN VARCHAR2
119416 --Invoice Distribution Ledger Amount
119417 , p_source_9 IN NUMBER
119418 --Invoice Distribution Account
119419 , p_source_18 IN NUMBER
119420 --Invoice Distribution Type
119421 , p_source_21 IN VARCHAR2
119422 , p_source_21_meaning IN VARCHAR2
119423 --Accounting Reversal Indicator
119424 , p_source_41 IN VARCHAR2
119425 --Distribution Link Type
119426 , p_source_43 IN VARCHAR2
119427 --Allocation to Main Distribution Identifier
119428 , p_source_45 IN NUMBER
119429 --Invoice Identifier
119430 , p_source_46 IN NUMBER
119431 --Invoice Distribution Identifier
119432 , p_source_52 IN NUMBER
119433 --Payables Encumbrance Upgrade Credit Account
119434 , p_source_53 IN NUMBER
119435 --Payables Encumbrance Upgrade Credit Amount
119436 , p_source_54 IN NUMBER
119437 --Invoice Currency Code
119438 , p_source_55 IN VARCHAR2
119439 --Payables Encumbrance Upgrade Credit Base Amount
119440 , p_source_56 IN NUMBER
119441 --Payables Encumbrance Upgrade Debit Account
119442 , p_source_57 IN NUMBER
119443 --Payables Encumbrance Upgrade Debit Amount
119444 , p_source_58 IN NUMBER
119445 --Payables Encumbrance Upgrade Debit Base Amount
119446 , p_source_59 IN NUMBER
119447 --Payables Encumbrance Upgrade Option
119448 , p_source_60 IN VARCHAR2
119449 --Invoice Distribution Amount
119450 , p_source_61 IN NUMBER
119451 --Deferred Accounting End Date
119452 , p_source_65 IN DATE
119453 --Deferred Accounting Option
119454 , p_source_66 IN VARCHAR2
119455 --Deferred Accounting Start Date
119456 , p_source_67 IN DATE
119457 --Override Accounted Amount Indicator
119458 , p_source_68 IN VARCHAR2
119459 , p_source_68_meaning IN VARCHAR2
119460 --Invoice Supplier Identifier
119461 , p_source_69 IN NUMBER
119462 --Invoice Supplier Site Identifier
119463 , p_source_70 IN NUMBER
119464 --Third Party Type
119465 , p_source_71 IN VARCHAR2
119466 --Parent Reversal Identifier
119467 , p_source_72 IN NUMBER
119468 --Invoice Distribution Statistical Amount
119469 , p_source_73 IN NUMBER
119470 --Invoice Distribution Tax Line Identifier
119471 , p_source_74 IN NUMBER
119472 --Invoice Distribution Tax Distribution Identifier from Tax
119473 , p_source_75 IN NUMBER
119474 --Invoice Distribution Summary Tax Line Identifier
119475 , p_source_76 IN NUMBER
119476 --Payables Upgrade Credit Encumbrance Type Identifier
119477 , p_source_77 IN NUMBER
119478 --Payables Upgrade Debit Encumbrance Type Identifier
119479 , p_source_78 IN NUMBER
119480 --Business Flow Accounts Payable Application Identifier
119481 , p_source_79 IN NUMBER
119482 --Business Flow Invoice Distribution Type
119483 , p_source_80 IN VARCHAR2
119484 --Business Flow Invoice Entity Code
119485 , p_source_81 IN VARCHAR2
119486 --Business Flow Invoice Distribution Identifier
119487 , p_source_82 IN NUMBER
119488 --Business Flow Invoice Identifier
119489 , p_source_83 IN NUMBER
119490 --Accrue on Receipt Option
119491 , p_source_84 IN VARCHAR2
119492 , p_source_84_meaning IN VARCHAR2
119493 --Self-Assessed Tax Flag
119494 , p_source_135 IN VARCHAR2
119495 , p_source_135_meaning IN VARCHAR2
119496 --Invoice Exchange Date
119497 , p_source_136 IN DATE
119498 --Invoice Exchange Rate
119499 , p_source_137 IN NUMBER
119500 --Invoice Exchange Rate Type
119501 , p_source_138 IN VARCHAR2
119502 )
119503 IS
119504
119505 l_component_type VARCHAR2(80);
119506 l_component_code VARCHAR2(30);
119507 l_component_type_code VARCHAR2(1);
119508 l_component_appl_id INTEGER;
119509 l_amb_context_code VARCHAR2(30);
119510 l_entity_code VARCHAR2(30);
119511 l_event_class_code VARCHAR2(30);
119512 l_ae_header_id NUMBER;
119513 l_event_type_code VARCHAR2(30);
119514 l_line_definition_code VARCHAR2(30);
119515 l_line_definition_owner_code VARCHAR2(1);
119516 --
119517 -- adr variables
119518 l_segment VARCHAR2(30);
119519 l_ccid NUMBER;
119520 l_adr_transaction_coa_id NUMBER;
119521 l_adr_accounting_coa_id NUMBER;
119522 l_adr_flexfield_segment_code VARCHAR2(30);
119523 l_adr_flex_value_set_id NUMBER;
119524 l_adr_value_type_code VARCHAR2(30);
119525 l_adr_value_combination_id NUMBER;
119526 l_adr_value_segment_code VARCHAR2(30);
119527
119528 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
119529 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
119530 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
119531 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
119532
119533 -- 4262811 Variables ------------------------------------------------------------------------------------------
119534 l_entered_amt_idx NUMBER;
119538 l_tmp_amt NUMBER;
119535 l_accted_amt_idx NUMBER;
119536 l_acc_rev_flag VARCHAR2(1);
119537 l_accrual_line_num NUMBER;
119539 l_acc_rev_natural_side_code VARCHAR2(1);
119540
119541 l_num_entries NUMBER;
119542 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
119543 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
119544 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
119545 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
119546 l_recog_line_1 NUMBER;
119547 l_recog_line_2 NUMBER;
119548
119549 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
119550 l_bflow_applied_to_amt NUMBER; -- 5132302
119551 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
119552
119553 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
119554
119555 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
119556 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
119557
119558 ---------------------------------------------------------------------------------------------------------------
119559
119560
119561 --
119562 -- bulk performance
119563 --
119564 l_balance_type_code VARCHAR2(1);
119565 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
119566 l_log_module VARCHAR2(240);
119567
119568 --
119569 -- Upgrade strategy
119570 --
119571 l_actual_upg_option VARCHAR2(1);
119572 l_enc_upg_option VARCHAR2(1);
119573
119574 --
119575 BEGIN
119576 --
119577 IF g_log_enabled THEN
119578 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_202';
119579 END IF;
119580 --
119581 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
119582
119583 trace
119584 (p_msg => 'BEGIN of AcctLineType_202'
119585 ,p_level => C_LEVEL_PROCEDURE
119586 ,p_module => l_log_module);
119587
119588 END IF;
119589 --
119590 l_component_type := 'AMB_JLT';
119591 l_component_code := 'AP_NON_RECOV_TAX_CM';
119592 l_component_type_code := 'S';
119593 l_component_appl_id := 200;
119594 l_amb_context_code := 'DEFAULT';
119595 l_entity_code := 'AP_INVOICES';
119596 l_event_class_code := 'CREDIT MEMOS';
119597 l_event_type_code := 'CREDIT MEMOS_ALL';
119598 l_line_definition_owner_code := 'S';
119599 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
119600 --
119601 l_balance_type_code := 'A';
119602 l_segment := NULL;
119603 l_ccid := NULL;
119604 l_adr_transaction_coa_id := NULL;
119605 l_adr_accounting_coa_id := NULL;
119606 l_adr_flexfield_segment_code := NULL;
119607 l_adr_flex_value_set_id := NULL;
119608 l_adr_value_type_code := NULL;
119609 l_adr_value_combination_id := NULL;
119610 l_adr_value_segment_code := NULL;
119611
119612 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
119613 l_bflow_class_code := ''; -- 4219869 Business Flow
119614 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
119615 l_budgetary_control_flag := 'N';
119616
119617 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119618 l_bflow_applied_to_amt := NULL; -- 5132302
119619 l_entered_amt_idx := NULL; -- 4262811
119620 l_accted_amt_idx := NULL; -- 4262811
119621 l_acc_rev_flag := NULL; -- 4262811
119622 l_accrual_line_num := NULL; -- 4262811
119623 l_tmp_amt := NULL; -- 4262811
119624 --
119625
119626 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
119627 l_balance_type_code <> 'B' THEN
119628 IF (NVL(p_source_21,'
119629 ') = 'NONREC_TAX' OR
119630 NVL(p_source_21,'
119631 ') = 'TERV' OR
119632 NVL(p_source_21,'
119633 ') = 'TIPV' OR
119634 NVL(p_source_21,'
119635 ') = 'TRV') AND
119636 NVL(p_source_84,'
119637 ') <> 'Y' AND
119638 NVL(p_source_135,'
119639 ') <> 'Y'
119640 THEN
119641
119642 --
119643 XLA_AE_LINES_PKG.SetNewLine;
119644
119645 p_balance_type_code := l_balance_type_code;
119646 -- set the flag so later we will know whether the gain loss line needs to be created
119647
119648 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
119649 p_actual_flag :='A';
119650 END IF;
119651
119652 --
119653 -- bulk performance
119654 --
119655 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
119656 p_header_num => 0); -- 4262811
119657 --
119658 -- set accounting line options
119659 --
119660 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
119661 p_natural_side_code => 'D'
119662 , p_gain_or_loss_flag => 'N'
119663 , p_gl_transfer_mode_code => 'S'
119664 , p_acct_entry_type_code => 'A'
119665 , p_switch_side_flag => 'Y'
119666 , p_merge_duplicate_code => 'A'
119667 );
119668 --
119669 l_acc_rev_natural_side_code := 'C'; -- 4262811
119670 --
119671 --
119672 -- set accounting line type info
119673 --
119674 xla_ae_lines_pkg.SetAcctLineType
119678 ,p_line_definition_code => l_line_definition_code
119675 (p_component_type => l_component_type
119676 ,p_event_type_code => l_event_type_code
119677 ,p_line_definition_owner_code => l_line_definition_owner_code
119679 ,p_accounting_line_code => l_component_code
119680 ,p_accounting_line_type_code => l_component_type_code
119681 ,p_accounting_line_appl_id => l_component_appl_id
119682 ,p_amb_context_code => l_amb_context_code
119683 ,p_entity_code => l_entity_code
119684 ,p_event_class_code => l_event_class_code);
119685 --
119686 -- set accounting class
119687 --
119688 xla_ae_lines_pkg.SetAcctClass(
119689 p_accounting_class_code => 'NRTAX'
119690 , p_ae_header_id => l_ae_header_id
119691 );
119692
119693 --
119694 -- set rounding class
119695 --
119696 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
119697 'NRTAX';
119698
119699 --
119700 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
119701 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
119702 --
119703 -- bulk performance
119704 --
119705 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
119706
119707 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
119708 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
119709
119710 -- 4955764
119711 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
119712 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
119713
119714 -- 4458381 Public Sector Enh
119715
119716 --
119717 -- set accounting attributes for the line type
119718 --
119719 l_entered_amt_idx := 23;
119720 l_accted_amt_idx := 28;
119721 l_bflow_applied_to_amt_idx := NULL; -- 5132302
119722 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
119723 l_rec_acct_attrs.array_char_value(1) := p_source_41;
119724 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
119725 l_rec_acct_attrs.array_num_value(2) :=
119726 xla_ae_sources_pkg.GetSystemSourceNum(
119727 p_source_code => 'XLA_EVENT_APPL_ID'
119728 , p_source_type_code => 'Y'
119729 , p_source_application_id => 602
119730 );
119731 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
119732 l_rec_acct_attrs.array_char_value(3) := p_source_43;
119733 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
119734 l_rec_acct_attrs.array_char_value(4) :=
119735 xla_ae_sources_pkg.GetSystemSourceChar(
119736 p_source_code => 'XLA_ENTITY_CODE'
119737 , p_source_type_code => 'Y'
119738 , p_source_application_id => 602
119739 );
119740 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
119741 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
119742 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
119743 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
119744 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
119745 l_rec_acct_attrs.array_num_value(7) := p_source_79;
119746 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
119747 l_rec_acct_attrs.array_char_value(8) := p_source_80;
119748 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
119749 l_rec_acct_attrs.array_char_value(9) := p_source_81;
119750 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
119751 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
119752 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
119753 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
119754 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
119755 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
119756 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
119757 l_rec_acct_attrs.array_char_value(13) := p_source_43;
119758 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
119759 l_rec_acct_attrs.array_num_value(14) := p_source_53;
119760 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
119761 l_rec_acct_attrs.array_num_value(15) := p_source_54;
119762 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
119763 l_rec_acct_attrs.array_char_value(16) := p_source_55;
119764 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
119765 l_rec_acct_attrs.array_num_value(17) := p_source_56;
119766 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
119767 l_rec_acct_attrs.array_num_value(18) := p_source_57;
119768 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
119769 l_rec_acct_attrs.array_num_value(19) := p_source_58;
119770 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
119771 l_rec_acct_attrs.array_char_value(20) := p_source_55;
119772 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
119773 l_rec_acct_attrs.array_num_value(21) := p_source_59;
119774 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
119775 l_rec_acct_attrs.array_char_value(22) := p_source_60;
119776 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
119780 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
119777 l_rec_acct_attrs.array_num_value(23) := p_source_61;
119778 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
119779 l_rec_acct_attrs.array_char_value(24) := p_source_55;
119781 l_rec_acct_attrs.array_date_value(25) := p_source_136;
119782 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
119783 l_rec_acct_attrs.array_num_value(26) := p_source_137;
119784 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
119785 l_rec_acct_attrs.array_char_value(27) := p_source_138;
119786 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
119787 l_rec_acct_attrs.array_num_value(28) := p_source_9;
119788 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
119789 l_rec_acct_attrs.array_date_value(29) := p_source_65;
119790 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
119791 l_rec_acct_attrs.array_char_value(30) := p_source_66;
119792 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
119793 l_rec_acct_attrs.array_date_value(31) := p_source_67;
119794 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
119795 l_rec_acct_attrs.array_char_value(32) := p_source_68;
119796 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
119797 l_rec_acct_attrs.array_num_value(33) := p_source_69;
119798 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
119799 l_rec_acct_attrs.array_num_value(34) := p_source_70;
119800 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
119801 l_rec_acct_attrs.array_char_value(35) := p_source_71;
119802 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
119803 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
119804 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
119805 l_rec_acct_attrs.array_char_value(37) := p_source_43;
119806 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
119807 l_rec_acct_attrs.array_num_value(38) := p_source_73;
119808 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
119809 l_rec_acct_attrs.array_num_value(39) := p_source_74;
119810 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
119811 l_rec_acct_attrs.array_num_value(40) := p_source_75;
119812 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
119813 l_rec_acct_attrs.array_num_value(41) := p_source_76;
119814 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
119815 l_rec_acct_attrs.array_num_value(42) := p_source_77;
119816 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
119817 l_rec_acct_attrs.array_num_value(43) := p_source_78;
119818
119819 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
119820 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
119821
119822 ---------------------------------------------------------------------------------------------------------------
119823 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
119824 ---------------------------------------------------------------------------------------------------------------
119825 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
119826
119827 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119828 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
119829
119830 IF xla_accounting_cache_pkg.GetValueChar
119831 (p_source_code => 'LEDGER_CATEGORY_CODE'
119832 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
119833 AND l_bflow_method_code = 'PRIOR_ENTRY'
119834 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
119835 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
119836 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
119837 )
119838 THEN
119839 xla_ae_lines_pkg.BflowUpgEntry
119840 (p_business_method_code => l_bflow_method_code
119841 ,p_business_class_code => l_bflow_class_code
119842 ,p_balance_type => l_balance_type_code);
119843 ELSE
119844 NULL;
119845 -- No business flow processing for business flow method of NONE.
119846 END IF;
119847
119848 --
119849 -- call analytical criteria
119850 --
119851
119852 --
119853 -- call description
119854 --
119855
119856 xla_ae_lines_pkg.SetLineDescription(
119857 p_ae_header_id => l_ae_header_id
119858 ,p_description => Description_2 (
119859 p_application_id => p_application_id
119860 , p_ae_header_id => l_ae_header_id
119861 , p_source_1 => p_source_1
119862 )
119863 );
119864
119865
119866 --
119867 -- call ADRs
119868 -- Bug 4922099
119869 --
119870 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
119871 (NVL(l_actual_upg_option, 'N') = 'O') OR
119872 (NVL(l_enc_upg_option, 'N') = 'O')
119873 )
119874 THEN
119875 NULL;
119876 --
119877 --
119878
119879 l_ccid := AcctDerRule_32(
119880 p_application_id => p_application_id
119881 , p_ae_header_id => l_ae_header_id
119882 , p_source_18 => p_source_18
119883 , x_transaction_coa_id => l_adr_transaction_coa_id
119884 , x_accounting_coa_id => l_adr_accounting_coa_id
119888
119885 , x_value_type_code => l_adr_value_type_code
119886 , p_side => 'NA'
119887 );
119889 xla_ae_lines_pkg.set_ccid(
119890 p_code_combination_id => l_ccid
119891 , p_value_type_code => l_adr_value_type_code
119892 , p_transaction_coa_id => l_adr_transaction_coa_id
119893 , p_accounting_coa_id => l_adr_accounting_coa_id
119894 , p_adr_code => 'AP_INVOICE_DIST'
119895 , p_adr_type_code => 'S'
119896 , p_component_type => l_component_type
119897 , p_component_code => l_component_code
119898 , p_component_type_code => l_component_type_code
119899 , p_component_appl_id => l_component_appl_id
119900 , p_amb_context_code => l_amb_context_code
119901 , p_side => 'NA'
119902 );
119903
119904
119905 --
119906 --
119907 END IF;
119908 --
119909 -- Bug 4922099
119910 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
119911 (NVL(l_enc_upg_option, 'N') = 'O')
119912 ) AND
119913 (l_bflow_method_code = 'PRIOR_ENTRY')
119914 )
119915 THEN
119916 IF
119917 --
119918 1 = 2
119919 --
119920 THEN
119921 xla_accounting_err_pkg.build_message
119922 (p_appli_s_name => 'XLA'
119923 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119924 ,p_token_1 => 'LINE_NUMBER'
119925 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
119926 ,p_token_2 => 'LINE_TYPE_NAME'
119927 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
119928 l_component_type
119929 ,l_component_code
119930 ,l_component_type_code
119931 ,l_component_appl_id
119932 ,l_amb_context_code
119933 ,l_entity_code
119934 ,l_event_class_code
119935 )
119936 ,p_token_3 => 'OWNER'
119937 ,p_value_3 => xla_lookups_pkg.get_meaning(
119938 p_lookup_type => 'XLA_OWNER_TYPE'
119939 ,p_lookup_code => l_component_type_code
119940 )
119941 ,p_token_4 => 'PRODUCT_NAME'
119942 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
119943 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
119944 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
119945 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
119946 ,p_ae_header_id => NULL
119947 );
119948
119949 IF (C_LEVEL_ERROR>= g_log_level) THEN
119950 trace
119951 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
119952 ,p_level => C_LEVEL_ERROR
119953 ,p_module => l_log_module);
119954 END IF;
119955 END IF;
119956 END IF;
119957 --
119958 --
119959 ------------------------------------------------------------------------------------------------
119960 -- 4219869 Business Flow
119961 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
119962 -- Prior Entry. Currently, the following code is always generated.
119963 ------------------------------------------------------------------------------------------------
119964 XLA_AE_LINES_PKG.ValidateCurrentLine;
119965
119966 ------------------------------------------------------------------------------------
119967 -- 4219869 Business Flow
119968 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
119969 ------------------------------------------------------------------------------------
119970 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
119971
119972 ----------------------------------------------------------------------------------
119973 -- 4219869 Business Flow
119974 -- Update journal entry status -- Need to generate this within IF <condition>
119975 ----------------------------------------------------------------------------------
119976 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
119977 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
119978 ,p_balance_type_code => l_balance_type_code
119979 );
119980
119984 BEGIN
119981 -------------------------------------------------------------------------------------------
119982 -- 4262811 - Generate the Accrual Reversal lines
119983 -------------------------------------------------------------------------------------------
119985 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
119986 (g_array_event(p_event_id).array_value_num('header_index'));
119987 IF l_acc_rev_flag IS NULL THEN
119988 l_acc_rev_flag := 'N';
119989 END IF;
119990 EXCEPTION
119991 WHEN OTHERS THEN
119992 l_acc_rev_flag := 'N';
119993 END;
119994 --
119995 IF (l_acc_rev_flag = 'Y') THEN
119996
119997 -- 4645092 ------------------------------------------------------------------------------
119998 -- To allow MPA report to determine if it should generate report process
119999 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120000 ------------------------------------------------------------------------------------------
120001
120002 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120003 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120004 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120005 -- call ADRs
120006 -- Bug 4922099
120007 --
120008 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120009 (NVL(l_actual_upg_option, 'N') = 'O') OR
120010 (NVL(l_enc_upg_option, 'N') = 'O')
120011 )
120012 THEN
120013 NULL;
120014 --
120015 --
120016
120017 l_ccid := AcctDerRule_32(
120018 p_application_id => p_application_id
120019 , p_ae_header_id => l_ae_header_id
120020 , p_source_18 => p_source_18
120021 , x_transaction_coa_id => l_adr_transaction_coa_id
120022 , x_accounting_coa_id => l_adr_accounting_coa_id
120023 , x_value_type_code => l_adr_value_type_code
120024 , p_side => 'NA'
120025 );
120026
120027 xla_ae_lines_pkg.set_ccid(
120028 p_code_combination_id => l_ccid
120029 , p_value_type_code => l_adr_value_type_code
120030 , p_transaction_coa_id => l_adr_transaction_coa_id
120031 , p_accounting_coa_id => l_adr_accounting_coa_id
120032 , p_adr_code => 'AP_INVOICE_DIST'
120033 , p_adr_type_code => 'S'
120034 , p_component_type => l_component_type
120035 , p_component_code => l_component_code
120036 , p_component_type_code => l_component_type_code
120037 , p_component_appl_id => l_component_appl_id
120038 , p_amb_context_code => l_amb_context_code
120039 , p_side => 'NA'
120040 );
120041
120042
120043 --
120044 --
120045 END IF;
120046
120047 --
120048 -- Update the line information that should be overwritten
120049 --
120050 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
120051 p_header_num => 1);
120052 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
120053
120054 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
120055
120056 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
120057 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
120058 END IF;
120059
120060 --
120061 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
120062 --
120063 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
120064 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
120065 ELSE
120066 ---------------------------------------------------------------------------------------------------
120067 -- 4262811a Switch Sign
120068 ---------------------------------------------------------------------------------------------------
120069 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
120070 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120071 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120072 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120073 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120074 -- 5132302
120075 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
120076 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120077
120078 END IF;
120079
120080 -- 4955764
120081 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120082 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
120083
120084
120085 XLA_AE_LINES_PKG.ValidateCurrentLine;
120086 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120087
120088 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120092 END IF;
120089 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
120090 ,p_balance_type_code => l_balance_type_code);
120091
120093
120094 -----------------------------------------------------------------------------------------
120095 -- 4262811 Multiperiod Accounting
120096 -----------------------------------------------------------------------------------------
120097 -- No MPA option is assigned.
120098
120099
120100 END IF;
120101 END IF;
120102 --
120103
120104 --
120105 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120106 trace
120107 (p_msg => 'END of AcctLineType_202'
120108 ,p_level => C_LEVEL_PROCEDURE
120109 ,p_module => l_log_module);
120110 END IF;
120111 --
120112 EXCEPTION
120113 WHEN xla_exceptions_pkg.application_exception THEN
120114 RAISE;
120115 WHEN OTHERS THEN
120116 xla_exceptions_pkg.raise_message
120117 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_202');
120118 END AcctLineType_202;
120119 --
120120
120121 ---------------------------------------
120122 --
120123 -- PRIVATE FUNCTION
120124 -- AcctLineType_203
120125 --
120126 ---------------------------------------
120127 PROCEDURE AcctLineType_203 (
120128 p_application_id IN NUMBER
120129 ,p_event_id IN NUMBER
120130 ,p_calculate_acctd_flag IN VARCHAR2
120131 ,p_calculate_g_l_flag IN VARCHAR2
120132 ,p_actual_flag IN OUT VARCHAR2
120133 ,p_balance_type_code OUT VARCHAR2
120134 ,p_gain_or_loss_ref OUT VARCHAR2
120135
120136 --Invoice Distribution Type
120137 , p_source_21 IN VARCHAR2
120138 , p_source_21_meaning IN VARCHAR2
120139 --Accounting Reversal Indicator
120140 , p_source_41 IN VARCHAR2
120141 --Distribution Link Type
120142 , p_source_43 IN VARCHAR2
120143 --Allocation to Main Distribution Identifier
120144 , p_source_45 IN NUMBER
120145 --Invoice Identifier
120146 , p_source_46 IN NUMBER
120147 --Invoice Distribution Identifier
120148 , p_source_52 IN NUMBER
120149 --Payables Encumbrance Upgrade Credit Account
120150 , p_source_53 IN NUMBER
120151 --Payables Encumbrance Upgrade Credit Amount
120152 , p_source_54 IN NUMBER
120153 --Invoice Currency Code
120154 , p_source_55 IN VARCHAR2
120155 --Payables Encumbrance Upgrade Credit Base Amount
120156 , p_source_56 IN NUMBER
120157 --Payables Encumbrance Upgrade Debit Account
120158 , p_source_57 IN NUMBER
120159 --Payables Encumbrance Upgrade Debit Amount
120160 , p_source_58 IN NUMBER
120161 --Payables Encumbrance Upgrade Debit Base Amount
120162 , p_source_59 IN NUMBER
120163 --Payables Encumbrance Upgrade Option
120164 , p_source_60 IN VARCHAR2
120165 --Deferred Accounting End Date
120166 , p_source_65 IN DATE
120167 --Deferred Accounting Option
120168 , p_source_66 IN VARCHAR2
120169 --Deferred Accounting Start Date
120170 , p_source_67 IN DATE
120171 --Override Accounted Amount Indicator
120172 , p_source_68 IN VARCHAR2
120173 , p_source_68_meaning IN VARCHAR2
120174 --Third Party Type
120175 , p_source_71 IN VARCHAR2
120176 --Parent Reversal Identifier
120177 , p_source_72 IN NUMBER
120178 --Invoice Distribution Statistical Amount
120179 , p_source_73 IN NUMBER
120180 --Invoice Distribution Tax Line Identifier
120181 , p_source_74 IN NUMBER
120182 --Invoice Distribution Tax Distribution Identifier from Tax
120183 , p_source_75 IN NUMBER
120184 --Invoice Distribution Summary Tax Line Identifier
120185 , p_source_76 IN NUMBER
120186 --Payables Upgrade Credit Encumbrance Type Identifier
120187 , p_source_77 IN NUMBER
120188 --Payables Upgrade Debit Encumbrance Type Identifier
120189 , p_source_78 IN NUMBER
120190 --Business Flow Accounts Payable Application Identifier
120191 , p_source_79 IN NUMBER
120192 --Business Flow Invoice Distribution Type
120193 , p_source_80 IN VARCHAR2
120194 --Business Flow Invoice Entity Code
120195 , p_source_81 IN VARCHAR2
120196 --Business Flow Invoice Distribution Identifier
120197 , p_source_82 IN NUMBER
120198 --Business Flow Invoice Identifier
120199 , p_source_83 IN NUMBER
120200 --Accrue on Receipt Option
120201 , p_source_84 IN VARCHAR2
120202 , p_source_84_meaning IN VARCHAR2
120203 --Purchasing Encumbrance Option
120204 , p_source_86 IN VARCHAR2
120205 , p_source_86_meaning IN VARCHAR2
120206 --Invoice Encumbered Option
120207 , p_source_87 IN VARCHAR2
120208 , p_source_87_meaning IN VARCHAR2
120209 --Self-Assessed Tax Flag
120210 , p_source_135 IN VARCHAR2
120211 , p_source_135_meaning IN VARCHAR2
120212 --Invoice Distribution Encumbrance Amount
120213 , p_source_143 IN NUMBER
120214 --Invoice Distribution Encumbrance Ledger Amount
120215 , p_source_144 IN NUMBER
120216 )
120217 IS
120218
120219 l_component_type VARCHAR2(80);
120220 l_component_code VARCHAR2(30);
120221 l_component_type_code VARCHAR2(1);
120222 l_component_appl_id INTEGER;
120223 l_amb_context_code VARCHAR2(30);
120224 l_entity_code VARCHAR2(30);
120225 l_event_class_code VARCHAR2(30);
120229 l_line_definition_owner_code VARCHAR2(1);
120226 l_ae_header_id NUMBER;
120227 l_event_type_code VARCHAR2(30);
120228 l_line_definition_code VARCHAR2(30);
120230 --
120231 -- adr variables
120232 l_segment VARCHAR2(30);
120233 l_ccid NUMBER;
120234 l_adr_transaction_coa_id NUMBER;
120235 l_adr_accounting_coa_id NUMBER;
120236 l_adr_flexfield_segment_code VARCHAR2(30);
120237 l_adr_flex_value_set_id NUMBER;
120238 l_adr_value_type_code VARCHAR2(30);
120239 l_adr_value_combination_id NUMBER;
120240 l_adr_value_segment_code VARCHAR2(30);
120241
120242 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
120243 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
120244 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
120245 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
120246
120247 -- 4262811 Variables ------------------------------------------------------------------------------------------
120248 l_entered_amt_idx NUMBER;
120249 l_accted_amt_idx NUMBER;
120250 l_acc_rev_flag VARCHAR2(1);
120251 l_accrual_line_num NUMBER;
120252 l_tmp_amt NUMBER;
120253 l_acc_rev_natural_side_code VARCHAR2(1);
120254
120255 l_num_entries NUMBER;
120256 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
120257 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
120258 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
120259 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
120260 l_recog_line_1 NUMBER;
120261 l_recog_line_2 NUMBER;
120262
120263 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
120264 l_bflow_applied_to_amt NUMBER; -- 5132302
120265 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
120266
120267 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
120268
120269 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
120270 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
120271
120272 ---------------------------------------------------------------------------------------------------------------
120273
120274
120275 --
120276 -- bulk performance
120277 --
120278 l_balance_type_code VARCHAR2(1);
120279 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
120280 l_log_module VARCHAR2(240);
120281
120282 --
120283 -- Upgrade strategy
120284 --
120285 l_actual_upg_option VARCHAR2(1);
120286 l_enc_upg_option VARCHAR2(1);
120287
120288 --
120289 BEGIN
120290 --
120291 IF g_log_enabled THEN
120292 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_203';
120293 END IF;
120294 --
120295 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120296
120297 trace
120298 (p_msg => 'BEGIN of AcctLineType_203'
120299 ,p_level => C_LEVEL_PROCEDURE
120300 ,p_module => l_log_module);
120301
120302 END IF;
120303 --
120304 l_component_type := 'AMB_JLT';
120305 l_component_code := 'AP_NON_RECOV_TAX_CM_ENC';
120306 l_component_type_code := 'S';
120307 l_component_appl_id := 200;
120308 l_amb_context_code := 'DEFAULT';
120309 l_entity_code := 'AP_INVOICES';
120310 l_event_class_code := 'CREDIT MEMOS';
120311 l_event_type_code := 'CREDIT MEMOS_ALL';
120312 l_line_definition_owner_code := 'S';
120313 l_line_definition_code := 'ENC_REV_CM_ALL';
120314 --
120315 l_balance_type_code := 'E';
120316 l_segment := NULL;
120317 l_ccid := NULL;
120318 l_adr_transaction_coa_id := NULL;
120319 l_adr_accounting_coa_id := NULL;
120320 l_adr_flexfield_segment_code := NULL;
120321 l_adr_flex_value_set_id := NULL;
120322 l_adr_value_type_code := NULL;
120323 l_adr_value_combination_id := NULL;
120324 l_adr_value_segment_code := NULL;
120325
120326 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
120327 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
120328 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
120329 l_budgetary_control_flag := 'N';
120330
120331 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120332 l_bflow_applied_to_amt := NULL; -- 5132302
120333 l_entered_amt_idx := NULL; -- 4262811
120334 l_accted_amt_idx := NULL; -- 4262811
120335 l_acc_rev_flag := NULL; -- 4262811
120336 l_accrual_line_num := NULL; -- 4262811
120337 l_tmp_amt := NULL; -- 4262811
120338 --
120339
120340 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
120341 l_balance_type_code <> 'B' THEN
120342 IF NVL(p_source_21,'
120343 ') = 'NONREC_TAX' AND
120344 NVL(p_source_135,'
120345 ') <> 'Y' AND
120346 NVL(p_source_86,'
120347 ') = 'Y' AND
120348 NVL(p_source_87,'
120349 ') = 'Y' AND
120350 NVL(p_source_84,'
120351 ') <> 'Y'
120352 THEN
120353
120354 --
120355 XLA_AE_LINES_PKG.SetNewLine;
120356
120360 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
120357 p_balance_type_code := l_balance_type_code;
120358 -- set the flag so later we will know whether the gain loss line needs to be created
120359
120361 p_actual_flag :='A';
120362 END IF;
120363
120364 --
120365 -- bulk performance
120366 --
120367 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
120368 p_header_num => 0); -- 4262811
120369 --
120370 -- set accounting line options
120371 --
120372 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
120373 p_natural_side_code => 'C'
120374 , p_gain_or_loss_flag => 'N'
120375 , p_gl_transfer_mode_code => 'S'
120376 , p_acct_entry_type_code => 'E'
120377 , p_switch_side_flag => 'Y'
120378 , p_merge_duplicate_code => 'A'
120379 );
120380 --
120381 l_acc_rev_natural_side_code := 'D'; -- 4262811
120382 --
120383 --
120384 -- set accounting line type info
120385 --
120386 xla_ae_lines_pkg.SetAcctLineType
120387 (p_component_type => l_component_type
120388 ,p_event_type_code => l_event_type_code
120389 ,p_line_definition_owner_code => l_line_definition_owner_code
120390 ,p_line_definition_code => l_line_definition_code
120391 ,p_accounting_line_code => l_component_code
120392 ,p_accounting_line_type_code => l_component_type_code
120393 ,p_accounting_line_appl_id => l_component_appl_id
120394 ,p_amb_context_code => l_amb_context_code
120395 ,p_entity_code => l_entity_code
120396 ,p_event_class_code => l_event_class_code);
120397 --
120398 -- set accounting class
120399 --
120400 xla_ae_lines_pkg.SetAcctClass(
120401 p_accounting_class_code => 'NRTAX'
120402 , p_ae_header_id => l_ae_header_id
120403 );
120404
120405 --
120406 -- set rounding class
120407 --
120408 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
120409 'NRTAX';
120410
120411 --
120412 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
120413 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
120414 --
120415 -- bulk performance
120416 --
120417 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
120418
120419 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
120420 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
120421
120422 -- 4955764
120423 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120424 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
120425
120426 -- 4458381 Public Sector Enh
120427
120428 --
120429 -- set accounting attributes for the line type
120430 --
120431 l_entered_amt_idx := 23;
120432 l_accted_amt_idx := 25;
120433 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120434 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
120435 l_rec_acct_attrs.array_char_value(1) := p_source_41;
120436 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
120437 l_rec_acct_attrs.array_num_value(2) :=
120438 xla_ae_sources_pkg.GetSystemSourceNum(
120439 p_source_code => 'XLA_EVENT_APPL_ID'
120440 , p_source_type_code => 'Y'
120441 , p_source_application_id => 602
120442 );
120443 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
120444 l_rec_acct_attrs.array_char_value(3) := p_source_43;
120445 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
120446 l_rec_acct_attrs.array_char_value(4) :=
120447 xla_ae_sources_pkg.GetSystemSourceChar(
120448 p_source_code => 'XLA_ENTITY_CODE'
120449 , p_source_type_code => 'Y'
120450 , p_source_application_id => 602
120451 );
120452 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
120453 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
120454 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
120455 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
120456 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
120457 l_rec_acct_attrs.array_num_value(7) := p_source_79;
120458 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
120459 l_rec_acct_attrs.array_char_value(8) := p_source_80;
120460 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
120461 l_rec_acct_attrs.array_char_value(9) := p_source_81;
120462 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
120463 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
120464 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
120465 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
120466 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
120467 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
120468 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
120469 l_rec_acct_attrs.array_char_value(13) := p_source_43;
120470 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
120471 l_rec_acct_attrs.array_num_value(14) := p_source_53;
120475 l_rec_acct_attrs.array_char_value(16) := p_source_55;
120472 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
120473 l_rec_acct_attrs.array_num_value(15) := p_source_54;
120474 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
120476 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
120477 l_rec_acct_attrs.array_num_value(17) := p_source_56;
120478 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
120479 l_rec_acct_attrs.array_num_value(18) := p_source_57;
120480 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
120481 l_rec_acct_attrs.array_num_value(19) := p_source_58;
120482 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
120483 l_rec_acct_attrs.array_char_value(20) := p_source_55;
120484 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
120485 l_rec_acct_attrs.array_num_value(21) := p_source_59;
120486 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
120487 l_rec_acct_attrs.array_char_value(22) := p_source_60;
120488 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
120489 l_rec_acct_attrs.array_num_value(23) := p_source_143;
120490 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
120491 l_rec_acct_attrs.array_char_value(24) := p_source_55;
120492 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
120493 l_rec_acct_attrs.array_num_value(25) := p_source_144;
120494 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
120495 l_rec_acct_attrs.array_date_value(26) := p_source_65;
120496 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
120497 l_rec_acct_attrs.array_char_value(27) := p_source_66;
120498 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
120499 l_rec_acct_attrs.array_date_value(28) := p_source_67;
120500 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
120501 l_rec_acct_attrs.array_char_value(29) := p_source_68;
120502 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
120503 l_rec_acct_attrs.array_char_value(30) := p_source_71;
120504 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
120505 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
120506 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
120507 l_rec_acct_attrs.array_char_value(32) := p_source_43;
120508 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
120509 l_rec_acct_attrs.array_num_value(33) := p_source_73;
120510 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
120511 l_rec_acct_attrs.array_num_value(34) := p_source_74;
120512 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
120513 l_rec_acct_attrs.array_num_value(35) := p_source_75;
120514 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
120515 l_rec_acct_attrs.array_num_value(36) := p_source_76;
120516 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
120517 l_rec_acct_attrs.array_num_value(37) := p_source_77;
120518 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
120519 l_rec_acct_attrs.array_num_value(38) := p_source_78;
120520
120521 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
120522 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
120523
120524 ---------------------------------------------------------------------------------------------------------------
120525 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
120526 ---------------------------------------------------------------------------------------------------------------
120527 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
120528
120529 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120530 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
120531
120532 IF xla_accounting_cache_pkg.GetValueChar
120533 (p_source_code => 'LEDGER_CATEGORY_CODE'
120534 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
120535 AND l_bflow_method_code = 'PRIOR_ENTRY'
120536 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
120537 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
120538 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
120539 )
120540 THEN
120541 xla_ae_lines_pkg.BflowUpgEntry
120542 (p_business_method_code => l_bflow_method_code
120543 ,p_business_class_code => l_bflow_class_code
120544 ,p_balance_type => l_balance_type_code);
120545 ELSE
120546 NULL;
120547 XLA_AE_LINES_PKG.business_flow_validation(
120548 p_business_method_code => l_bflow_method_code
120549 ,p_business_class_code => l_bflow_class_code
120550 ,p_inherit_description_flag => l_inherit_desc_flag);
120551 END IF;
120552
120553 --
120554 -- call analytical criteria
120555 --
120556 -- Inherited Analytical Criteria for business flow method of Prior Entry.
120557 --
120558 -- call description
120559 --
120560 -- No description or it is inherited.
120561 --
120562 -- call ADRs
120563 -- Bug 4922099
120564 --
120568 )
120565 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120566 (NVL(l_actual_upg_option, 'N') = 'O') OR
120567 (NVL(l_enc_upg_option, 'N') = 'O')
120569 THEN
120570 NULL;
120571 --
120572 --
120573
120574 --
120575 --
120576 END IF;
120577 --
120578 -- Bug 4922099
120579 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
120580 (NVL(l_enc_upg_option, 'N') = 'O')
120581 ) AND
120582 (l_bflow_method_code = 'PRIOR_ENTRY')
120583 )
120584 THEN
120585 IF
120586 --
120587 1 = 1
120588 --
120589 THEN
120590 xla_accounting_err_pkg.build_message
120591 (p_appli_s_name => 'XLA'
120592 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120593 ,p_token_1 => 'LINE_NUMBER'
120594 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
120595 ,p_token_2 => 'LINE_TYPE_NAME'
120596 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
120597 l_component_type
120598 ,l_component_code
120599 ,l_component_type_code
120600 ,l_component_appl_id
120601 ,l_amb_context_code
120602 ,l_entity_code
120603 ,l_event_class_code
120604 )
120605 ,p_token_3 => 'OWNER'
120606 ,p_value_3 => xla_lookups_pkg.get_meaning(
120607 p_lookup_type => 'XLA_OWNER_TYPE'
120608 ,p_lookup_code => l_component_type_code
120609 )
120610 ,p_token_4 => 'PRODUCT_NAME'
120611 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
120612 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
120613 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
120614 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
120615 ,p_ae_header_id => NULL
120616 );
120617
120618 IF (C_LEVEL_ERROR>= g_log_level) THEN
120619 trace
120620 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
120621 ,p_level => C_LEVEL_ERROR
120622 ,p_module => l_log_module);
120623 END IF;
120624 END IF;
120625 END IF;
120626 --
120627 --
120628 ------------------------------------------------------------------------------------------------
120629 -- 4219869 Business Flow
120630 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
120631 -- Prior Entry. Currently, the following code is always generated.
120632 ------------------------------------------------------------------------------------------------
120633 -- No ValidateCurrentLine for business flow method of Prior Entry
120634
120635 ------------------------------------------------------------------------------------
120636 -- 4219869 Business Flow
120637 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
120638 ------------------------------------------------------------------------------------
120639 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120640
120641 ----------------------------------------------------------------------------------
120642 -- 4219869 Business Flow
120643 -- Update journal entry status -- Need to generate this within IF <condition>
120644 ----------------------------------------------------------------------------------
120645 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120646 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
120647 ,p_balance_type_code => l_balance_type_code
120648 );
120649
120650 -------------------------------------------------------------------------------------------
120651 -- 4262811 - Generate the Accrual Reversal lines
120652 -------------------------------------------------------------------------------------------
120653 BEGIN
120654 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
120655 (g_array_event(p_event_id).array_value_num('header_index'));
120656 IF l_acc_rev_flag IS NULL THEN
120657 l_acc_rev_flag := 'N';
120658 END IF;
120659 EXCEPTION
120660 WHEN OTHERS THEN
120661 l_acc_rev_flag := 'N';
120662 END;
120663 --
120667 -- To allow MPA report to determine if it should generate report process
120664 IF (l_acc_rev_flag = 'Y') THEN
120665
120666 -- 4645092 ------------------------------------------------------------------------------
120668 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
120669 ------------------------------------------------------------------------------------------
120670
120671 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
120672 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
120673 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
120674 -- call ADRs
120675 -- Bug 4922099
120676 --
120677 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
120678 (NVL(l_actual_upg_option, 'N') = 'O') OR
120679 (NVL(l_enc_upg_option, 'N') = 'O')
120680 )
120681 THEN
120682 NULL;
120683 --
120684 --
120685
120686 --
120687 --
120688 END IF;
120689
120690 --
120691 -- Update the line information that should be overwritten
120692 --
120693 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
120694 p_header_num => 1);
120695 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
120696
120697 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
120698
120699 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
120700 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
120701 END IF;
120702
120703 --
120704 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
120705 --
120706 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
120707 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
120708 ELSE
120709 ---------------------------------------------------------------------------------------------------
120710 -- 4262811a Switch Sign
120711 ---------------------------------------------------------------------------------------------------
120712 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
120713 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120714 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120715 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
120716 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120717 -- 5132302
120718 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
120719 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
120720
120721 END IF;
120722
120723 -- 4955764
120724 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
120725 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
120726
120727
120728 XLA_AE_LINES_PKG.ValidateCurrentLine;
120729 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
120730
120731 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
120732 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
120733 ,p_balance_type_code => l_balance_type_code);
120734
120735 END IF;
120736
120737 -----------------------------------------------------------------------------------------
120738 -- 4262811 Multiperiod Accounting
120739 -----------------------------------------------------------------------------------------
120740 -- No MPA option is assigned.
120741
120742
120743 END IF;
120744 END IF;
120745 --
120746
120747 --
120748 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120749 trace
120750 (p_msg => 'END of AcctLineType_203'
120751 ,p_level => C_LEVEL_PROCEDURE
120752 ,p_module => l_log_module);
120753 END IF;
120754 --
120755 EXCEPTION
120756 WHEN xla_exceptions_pkg.application_exception THEN
120757 RAISE;
120758 WHEN OTHERS THEN
120759 xla_exceptions_pkg.raise_message
120760 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_203');
120761 END AcctLineType_203;
120762 --
120763
120764 ---------------------------------------
120765 --
120766 -- PRIVATE FUNCTION
120767 -- AcctLineType_204
120768 --
120769 ---------------------------------------
120770 PROCEDURE AcctLineType_204 (
120771 p_application_id IN NUMBER
120772 ,p_event_id IN NUMBER
120773 ,p_calculate_acctd_flag IN VARCHAR2
120774 ,p_calculate_g_l_flag IN VARCHAR2
120775 ,p_actual_flag IN OUT VARCHAR2
120776 ,p_balance_type_code OUT VARCHAR2
120777 ,p_gain_or_loss_ref OUT VARCHAR2
120778
120779 --Invoice Distribution Description
120780 , p_source_1 IN VARCHAR2
120781 --Invoice Distribution Ledger Amount
120782 , p_source_9 IN NUMBER
120783 --Invoice Distribution Account
120784 , p_source_18 IN NUMBER
120785 --Invoice Distribution Type
120789 , p_source_41 IN VARCHAR2
120786 , p_source_21 IN VARCHAR2
120787 , p_source_21_meaning IN VARCHAR2
120788 --Accounting Reversal Indicator
120790 --Distribution Link Type
120791 , p_source_43 IN VARCHAR2
120792 --Allocation to Main Distribution Identifier
120793 , p_source_45 IN NUMBER
120794 --Invoice Identifier
120795 , p_source_46 IN NUMBER
120796 --Invoice Distribution Identifier
120797 , p_source_52 IN NUMBER
120798 --Payables Encumbrance Upgrade Credit Account
120799 , p_source_53 IN NUMBER
120800 --Payables Encumbrance Upgrade Credit Amount
120801 , p_source_54 IN NUMBER
120802 --Invoice Currency Code
120803 , p_source_55 IN VARCHAR2
120804 --Payables Encumbrance Upgrade Credit Base Amount
120805 , p_source_56 IN NUMBER
120806 --Payables Encumbrance Upgrade Debit Account
120807 , p_source_57 IN NUMBER
120808 --Payables Encumbrance Upgrade Debit Amount
120809 , p_source_58 IN NUMBER
120810 --Payables Encumbrance Upgrade Debit Base Amount
120811 , p_source_59 IN NUMBER
120812 --Payables Encumbrance Upgrade Option
120813 , p_source_60 IN VARCHAR2
120814 --Invoice Distribution Amount
120815 , p_source_61 IN NUMBER
120816 --Deferred Accounting End Date
120817 , p_source_65 IN DATE
120818 --Deferred Accounting Option
120819 , p_source_66 IN VARCHAR2
120820 --Deferred Accounting Start Date
120821 , p_source_67 IN DATE
120822 --Override Accounted Amount Indicator
120823 , p_source_68 IN VARCHAR2
120824 , p_source_68_meaning IN VARCHAR2
120825 --Invoice Supplier Identifier
120826 , p_source_69 IN NUMBER
120827 --Invoice Supplier Site Identifier
120828 , p_source_70 IN NUMBER
120829 --Third Party Type
120830 , p_source_71 IN VARCHAR2
120831 --Parent Reversal Identifier
120832 , p_source_72 IN NUMBER
120833 --Invoice Distribution Tax Line Identifier
120834 , p_source_74 IN NUMBER
120835 --Invoice Distribution Tax Distribution Identifier from Tax
120836 , p_source_75 IN NUMBER
120837 --Invoice Distribution Summary Tax Line Identifier
120838 , p_source_76 IN NUMBER
120839 --Payables Upgrade Credit Encumbrance Type Identifier
120840 , p_source_77 IN NUMBER
120841 --Payables Upgrade Debit Encumbrance Type Identifier
120842 , p_source_78 IN NUMBER
120843 --Business Flow Accounts Payable Application Identifier
120844 , p_source_79 IN NUMBER
120845 --Business Flow Invoice Distribution Type
120846 , p_source_80 IN VARCHAR2
120847 --Business Flow Invoice Entity Code
120848 , p_source_81 IN VARCHAR2
120849 --Business Flow Invoice Distribution Identifier
120850 , p_source_82 IN NUMBER
120851 --Business Flow Invoice Identifier
120852 , p_source_83 IN NUMBER
120853 --Accrue on Receipt Option
120854 , p_source_84 IN VARCHAR2
120855 , p_source_84_meaning IN VARCHAR2
120856 --Self-Assessed Tax Flag
120857 , p_source_135 IN VARCHAR2
120858 , p_source_135_meaning IN VARCHAR2
120859 --Invoice Exchange Date
120860 , p_source_136 IN DATE
120861 --Invoice Exchange Rate
120862 , p_source_137 IN NUMBER
120863 --Invoice Exchange Rate Type
120864 , p_source_138 IN VARCHAR2
120865 )
120866 IS
120867
120868 l_component_type VARCHAR2(80);
120869 l_component_code VARCHAR2(30);
120870 l_component_type_code VARCHAR2(1);
120871 l_component_appl_id INTEGER;
120872 l_amb_context_code VARCHAR2(30);
120873 l_entity_code VARCHAR2(30);
120874 l_event_class_code VARCHAR2(30);
120875 l_ae_header_id NUMBER;
120876 l_event_type_code VARCHAR2(30);
120877 l_line_definition_code VARCHAR2(30);
120878 l_line_definition_owner_code VARCHAR2(1);
120879 --
120880 -- adr variables
120881 l_segment VARCHAR2(30);
120882 l_ccid NUMBER;
120883 l_adr_transaction_coa_id NUMBER;
120884 l_adr_accounting_coa_id NUMBER;
120885 l_adr_flexfield_segment_code VARCHAR2(30);
120886 l_adr_flex_value_set_id NUMBER;
120887 l_adr_value_type_code VARCHAR2(30);
120888 l_adr_value_combination_id NUMBER;
120889 l_adr_value_segment_code VARCHAR2(30);
120890
120891 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
120892 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
120893 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
120894 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
120895
120896 -- 4262811 Variables ------------------------------------------------------------------------------------------
120897 l_entered_amt_idx NUMBER;
120898 l_accted_amt_idx NUMBER;
120899 l_acc_rev_flag VARCHAR2(1);
120900 l_accrual_line_num NUMBER;
120901 l_tmp_amt NUMBER;
120902 l_acc_rev_natural_side_code VARCHAR2(1);
120903
120904 l_num_entries NUMBER;
120905 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
120906 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
120907 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
120908 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
120909 l_recog_line_1 NUMBER;
120910 l_recog_line_2 NUMBER;
120911
120915
120912 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
120913 l_bflow_applied_to_amt NUMBER; -- 5132302
120914 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
120916 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
120917
120918 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
120919 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
120920
120921 ---------------------------------------------------------------------------------------------------------------
120922
120923
120924 --
120925 -- bulk performance
120926 --
120927 l_balance_type_code VARCHAR2(1);
120928 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
120929 l_log_module VARCHAR2(240);
120930
120931 --
120932 -- Upgrade strategy
120933 --
120934 l_actual_upg_option VARCHAR2(1);
120935 l_enc_upg_option VARCHAR2(1);
120936
120937 --
120938 BEGIN
120939 --
120940 IF g_log_enabled THEN
120941 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_204';
120942 END IF;
120943 --
120944 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
120945
120946 trace
120947 (p_msg => 'BEGIN of AcctLineType_204'
120948 ,p_level => C_LEVEL_PROCEDURE
120949 ,p_module => l_log_module);
120950
120951 END IF;
120952 --
120953 l_component_type := 'AMB_JLT';
120954 l_component_code := 'AP_NON_RECOV_TAX_DM';
120955 l_component_type_code := 'S';
120956 l_component_appl_id := 200;
120957 l_amb_context_code := 'DEFAULT';
120958 l_entity_code := 'AP_INVOICES';
120959 l_event_class_code := 'DEBIT MEMOS';
120960 l_event_type_code := 'DEBIT MEMOS_ALL';
120961 l_line_definition_owner_code := 'S';
120962 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
120963 --
120964 l_balance_type_code := 'A';
120965 l_segment := NULL;
120966 l_ccid := NULL;
120967 l_adr_transaction_coa_id := NULL;
120968 l_adr_accounting_coa_id := NULL;
120969 l_adr_flexfield_segment_code := NULL;
120970 l_adr_flex_value_set_id := NULL;
120971 l_adr_value_type_code := NULL;
120972 l_adr_value_combination_id := NULL;
120973 l_adr_value_segment_code := NULL;
120974
120975 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
120976 l_bflow_class_code := ''; -- 4219869 Business Flow
120977 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
120978 l_budgetary_control_flag := 'N';
120979
120980 l_bflow_applied_to_amt_idx := NULL; -- 5132302
120981 l_bflow_applied_to_amt := NULL; -- 5132302
120982 l_entered_amt_idx := NULL; -- 4262811
120983 l_accted_amt_idx := NULL; -- 4262811
120984 l_acc_rev_flag := NULL; -- 4262811
120985 l_accrual_line_num := NULL; -- 4262811
120986 l_tmp_amt := NULL; -- 4262811
120987 --
120988
120989 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
120990 l_balance_type_code <> 'B' THEN
120991 IF (NVL(p_source_21,'
120992 ') = 'NONREC_TAX' OR
120993 NVL(p_source_21,'
120994 ') = 'TERV' OR
120995 NVL(p_source_21,'
120996 ') = 'TIPV' OR
120997 NVL(p_source_21,'
120998 ') = 'TRV') AND
120999 NVL(p_source_84,'
121000 ') <> 'Y' AND
121001 NVL(p_source_135,'
121002 ') <> 'Y'
121003 THEN
121004
121005 --
121006 XLA_AE_LINES_PKG.SetNewLine;
121007
121008 p_balance_type_code := l_balance_type_code;
121009 -- set the flag so later we will know whether the gain loss line needs to be created
121010
121011 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
121012 p_actual_flag :='A';
121013 END IF;
121014
121015 --
121016 -- bulk performance
121017 --
121018 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
121019 p_header_num => 0); -- 4262811
121020 --
121021 -- set accounting line options
121022 --
121023 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
121024 p_natural_side_code => 'D'
121025 , p_gain_or_loss_flag => 'N'
121026 , p_gl_transfer_mode_code => 'S'
121027 , p_acct_entry_type_code => 'A'
121028 , p_switch_side_flag => 'Y'
121029 , p_merge_duplicate_code => 'A'
121030 );
121031 --
121032 l_acc_rev_natural_side_code := 'C'; -- 4262811
121033 --
121034 --
121035 -- set accounting line type info
121036 --
121037 xla_ae_lines_pkg.SetAcctLineType
121038 (p_component_type => l_component_type
121039 ,p_event_type_code => l_event_type_code
121040 ,p_line_definition_owner_code => l_line_definition_owner_code
121041 ,p_line_definition_code => l_line_definition_code
121042 ,p_accounting_line_code => l_component_code
121043 ,p_accounting_line_type_code => l_component_type_code
121044 ,p_accounting_line_appl_id => l_component_appl_id
121045 ,p_amb_context_code => l_amb_context_code
121046 ,p_entity_code => l_entity_code
121047 ,p_event_class_code => l_event_class_code);
121048 --
121052 p_accounting_class_code => 'NRTAX'
121049 -- set accounting class
121050 --
121051 xla_ae_lines_pkg.SetAcctClass(
121053 , p_ae_header_id => l_ae_header_id
121054 );
121055
121056 --
121057 -- set rounding class
121058 --
121059 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
121060 'NRTAX';
121061
121062 --
121063 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
121064 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
121065 --
121066 -- bulk performance
121067 --
121068 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
121069
121070 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
121071 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
121072
121073 -- 4955764
121074 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121075 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
121076
121077 -- 4458381 Public Sector Enh
121078
121079 --
121080 -- set accounting attributes for the line type
121081 --
121082 l_entered_amt_idx := 23;
121083 l_accted_amt_idx := 28;
121084 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121085 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
121086 l_rec_acct_attrs.array_char_value(1) := p_source_41;
121087 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
121088 l_rec_acct_attrs.array_num_value(2) :=
121089 xla_ae_sources_pkg.GetSystemSourceNum(
121090 p_source_code => 'XLA_EVENT_APPL_ID'
121091 , p_source_type_code => 'Y'
121092 , p_source_application_id => 602
121093 );
121094 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
121095 l_rec_acct_attrs.array_char_value(3) := p_source_43;
121096 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
121097 l_rec_acct_attrs.array_char_value(4) :=
121098 xla_ae_sources_pkg.GetSystemSourceChar(
121099 p_source_code => 'XLA_ENTITY_CODE'
121100 , p_source_type_code => 'Y'
121101 , p_source_application_id => 602
121102 );
121103 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
121104 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
121105 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
121106 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
121107 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
121108 l_rec_acct_attrs.array_num_value(7) := p_source_79;
121109 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
121110 l_rec_acct_attrs.array_char_value(8) := p_source_80;
121111 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
121112 l_rec_acct_attrs.array_char_value(9) := p_source_81;
121113 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
121114 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
121115 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
121116 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
121117 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
121118 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
121119 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
121120 l_rec_acct_attrs.array_char_value(13) := p_source_43;
121121 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
121122 l_rec_acct_attrs.array_num_value(14) := p_source_53;
121123 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
121124 l_rec_acct_attrs.array_num_value(15) := p_source_54;
121125 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
121126 l_rec_acct_attrs.array_char_value(16) := p_source_55;
121127 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
121128 l_rec_acct_attrs.array_num_value(17) := p_source_56;
121129 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
121130 l_rec_acct_attrs.array_num_value(18) := p_source_57;
121131 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
121132 l_rec_acct_attrs.array_num_value(19) := p_source_58;
121133 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
121134 l_rec_acct_attrs.array_char_value(20) := p_source_55;
121135 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
121136 l_rec_acct_attrs.array_num_value(21) := p_source_59;
121137 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
121138 l_rec_acct_attrs.array_char_value(22) := p_source_60;
121139 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
121140 l_rec_acct_attrs.array_num_value(23) := p_source_61;
121141 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
121142 l_rec_acct_attrs.array_char_value(24) := p_source_55;
121143 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
121144 l_rec_acct_attrs.array_date_value(25) := p_source_136;
121145 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
121146 l_rec_acct_attrs.array_num_value(26) := p_source_137;
121147 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
121148 l_rec_acct_attrs.array_char_value(27) := p_source_138;
121149 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
121153 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
121150 l_rec_acct_attrs.array_num_value(28) := p_source_9;
121151 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
121152 l_rec_acct_attrs.array_date_value(29) := p_source_65;
121154 l_rec_acct_attrs.array_char_value(30) := p_source_66;
121155 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
121156 l_rec_acct_attrs.array_date_value(31) := p_source_67;
121157 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
121158 l_rec_acct_attrs.array_char_value(32) := p_source_68;
121159 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
121160 l_rec_acct_attrs.array_num_value(33) := p_source_69;
121161 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
121162 l_rec_acct_attrs.array_num_value(34) := p_source_70;
121163 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
121164 l_rec_acct_attrs.array_char_value(35) := p_source_71;
121165 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
121166 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
121167 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
121168 l_rec_acct_attrs.array_char_value(37) := p_source_43;
121169 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
121170 l_rec_acct_attrs.array_num_value(38) := p_source_74;
121171 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
121172 l_rec_acct_attrs.array_num_value(39) := p_source_75;
121173 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
121174 l_rec_acct_attrs.array_num_value(40) := p_source_76;
121175 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
121176 l_rec_acct_attrs.array_num_value(41) := p_source_77;
121177 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
121178 l_rec_acct_attrs.array_num_value(42) := p_source_78;
121179
121180 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
121181 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
121182
121183 ---------------------------------------------------------------------------------------------------------------
121184 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
121185 ---------------------------------------------------------------------------------------------------------------
121186 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
121187
121188 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121189 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121190
121191 IF xla_accounting_cache_pkg.GetValueChar
121192 (p_source_code => 'LEDGER_CATEGORY_CODE'
121193 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
121194 AND l_bflow_method_code = 'PRIOR_ENTRY'
121195 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
121196 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
121197 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
121198 )
121199 THEN
121200 xla_ae_lines_pkg.BflowUpgEntry
121201 (p_business_method_code => l_bflow_method_code
121202 ,p_business_class_code => l_bflow_class_code
121203 ,p_balance_type => l_balance_type_code);
121204 ELSE
121205 NULL;
121206 -- No business flow processing for business flow method of NONE.
121207 END IF;
121208
121209 --
121210 -- call analytical criteria
121211 --
121212
121213 --
121214 -- call description
121215 --
121216
121217 xla_ae_lines_pkg.SetLineDescription(
121218 p_ae_header_id => l_ae_header_id
121219 ,p_description => Description_2 (
121220 p_application_id => p_application_id
121221 , p_ae_header_id => l_ae_header_id
121222 , p_source_1 => p_source_1
121223 )
121224 );
121225
121226
121227 --
121228 -- call ADRs
121229 -- Bug 4922099
121230 --
121231 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121232 (NVL(l_actual_upg_option, 'N') = 'O') OR
121233 (NVL(l_enc_upg_option, 'N') = 'O')
121234 )
121235 THEN
121236 NULL;
121237 --
121238 --
121239
121240 l_ccid := AcctDerRule_32(
121241 p_application_id => p_application_id
121242 , p_ae_header_id => l_ae_header_id
121243 , p_source_18 => p_source_18
121244 , x_transaction_coa_id => l_adr_transaction_coa_id
121245 , x_accounting_coa_id => l_adr_accounting_coa_id
121246 , x_value_type_code => l_adr_value_type_code
121247 , p_side => 'NA'
121248 );
121249
121250 xla_ae_lines_pkg.set_ccid(
121251 p_code_combination_id => l_ccid
121252 , p_value_type_code => l_adr_value_type_code
121253 , p_transaction_coa_id => l_adr_transaction_coa_id
121254 , p_accounting_coa_id => l_adr_accounting_coa_id
121255 , p_adr_code => 'AP_INVOICE_DIST'
121256 , p_adr_type_code => 'S'
121257 , p_component_type => l_component_type
121258 , p_component_code => l_component_code
121262 , p_side => 'NA'
121259 , p_component_type_code => l_component_type_code
121260 , p_component_appl_id => l_component_appl_id
121261 , p_amb_context_code => l_amb_context_code
121263 );
121264
121265
121266 --
121267 --
121268 END IF;
121269 --
121270 -- Bug 4922099
121271 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
121272 (NVL(l_enc_upg_option, 'N') = 'O')
121273 ) AND
121274 (l_bflow_method_code = 'PRIOR_ENTRY')
121275 )
121276 THEN
121277 IF
121278 --
121279 1 = 2
121280 --
121281 THEN
121282 xla_accounting_err_pkg.build_message
121283 (p_appli_s_name => 'XLA'
121284 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121285 ,p_token_1 => 'LINE_NUMBER'
121286 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
121287 ,p_token_2 => 'LINE_TYPE_NAME'
121288 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
121289 l_component_type
121290 ,l_component_code
121291 ,l_component_type_code
121292 ,l_component_appl_id
121293 ,l_amb_context_code
121294 ,l_entity_code
121295 ,l_event_class_code
121296 )
121297 ,p_token_3 => 'OWNER'
121298 ,p_value_3 => xla_lookups_pkg.get_meaning(
121299 p_lookup_type => 'XLA_OWNER_TYPE'
121300 ,p_lookup_code => l_component_type_code
121301 )
121302 ,p_token_4 => 'PRODUCT_NAME'
121303 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
121304 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
121305 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
121306 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
121307 ,p_ae_header_id => NULL
121308 );
121309
121310 IF (C_LEVEL_ERROR>= g_log_level) THEN
121311 trace
121312 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121313 ,p_level => C_LEVEL_ERROR
121314 ,p_module => l_log_module);
121315 END IF;
121316 END IF;
121317 END IF;
121318 --
121319 --
121320 ------------------------------------------------------------------------------------------------
121321 -- 4219869 Business Flow
121322 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
121323 -- Prior Entry. Currently, the following code is always generated.
121324 ------------------------------------------------------------------------------------------------
121325 XLA_AE_LINES_PKG.ValidateCurrentLine;
121326
121327 ------------------------------------------------------------------------------------
121328 -- 4219869 Business Flow
121329 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
121330 ------------------------------------------------------------------------------------
121331 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121332
121333 ----------------------------------------------------------------------------------
121334 -- 4219869 Business Flow
121335 -- Update journal entry status -- Need to generate this within IF <condition>
121336 ----------------------------------------------------------------------------------
121337 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121338 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
121339 ,p_balance_type_code => l_balance_type_code
121340 );
121341
121342 -------------------------------------------------------------------------------------------
121343 -- 4262811 - Generate the Accrual Reversal lines
121344 -------------------------------------------------------------------------------------------
121345 BEGIN
121346 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
121347 (g_array_event(p_event_id).array_value_num('header_index'));
121348 IF l_acc_rev_flag IS NULL THEN
121349 l_acc_rev_flag := 'N';
121350 END IF;
121351 EXCEPTION
121352 WHEN OTHERS THEN
121353 l_acc_rev_flag := 'N';
121354 END;
121355 --
121356 IF (l_acc_rev_flag = 'Y') THEN
121357
121361 ------------------------------------------------------------------------------------------
121358 -- 4645092 ------------------------------------------------------------------------------
121359 -- To allow MPA report to determine if it should generate report process
121360 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
121362
121363 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
121364 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
121365 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
121366 -- call ADRs
121367 -- Bug 4922099
121368 --
121369 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121370 (NVL(l_actual_upg_option, 'N') = 'O') OR
121371 (NVL(l_enc_upg_option, 'N') = 'O')
121372 )
121373 THEN
121374 NULL;
121375 --
121376 --
121377
121378 l_ccid := AcctDerRule_32(
121379 p_application_id => p_application_id
121380 , p_ae_header_id => l_ae_header_id
121381 , p_source_18 => p_source_18
121382 , x_transaction_coa_id => l_adr_transaction_coa_id
121383 , x_accounting_coa_id => l_adr_accounting_coa_id
121384 , x_value_type_code => l_adr_value_type_code
121385 , p_side => 'NA'
121386 );
121387
121388 xla_ae_lines_pkg.set_ccid(
121389 p_code_combination_id => l_ccid
121390 , p_value_type_code => l_adr_value_type_code
121391 , p_transaction_coa_id => l_adr_transaction_coa_id
121392 , p_accounting_coa_id => l_adr_accounting_coa_id
121393 , p_adr_code => 'AP_INVOICE_DIST'
121394 , p_adr_type_code => 'S'
121395 , p_component_type => l_component_type
121396 , p_component_code => l_component_code
121397 , p_component_type_code => l_component_type_code
121398 , p_component_appl_id => l_component_appl_id
121399 , p_amb_context_code => l_amb_context_code
121400 , p_side => 'NA'
121401 );
121402
121403
121404 --
121405 --
121406 END IF;
121407
121408 --
121409 -- Update the line information that should be overwritten
121410 --
121411 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
121412 p_header_num => 1);
121413 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
121414
121415 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
121416
121417 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
121418 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
121419 END IF;
121420
121421 --
121422 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
121423 --
121424 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
121425 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
121426 ELSE
121427 ---------------------------------------------------------------------------------------------------
121428 -- 4262811a Switch Sign
121429 ---------------------------------------------------------------------------------------------------
121430 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
121431 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121432 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121433 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
121434 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121435 -- 5132302
121436 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
121437 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
121438
121439 END IF;
121440
121441 -- 4955764
121442 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121443 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
121444
121445
121446 XLA_AE_LINES_PKG.ValidateCurrentLine;
121447 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121448
121449 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
121450 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
121451 ,p_balance_type_code => l_balance_type_code);
121452
121453 END IF;
121454
121455 -----------------------------------------------------------------------------------------
121456 -- 4262811 Multiperiod Accounting
121457 -----------------------------------------------------------------------------------------
121458 -- No MPA option is assigned.
121459
121460
121461 END IF;
121462 END IF;
121463 --
121464
121465 --
121466 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121467 trace
121468 (p_msg => 'END of AcctLineType_204'
121469 ,p_level => C_LEVEL_PROCEDURE
121470 ,p_module => l_log_module);
121471 END IF;
121472 --
121473 EXCEPTION
121477 xla_exceptions_pkg.raise_message
121474 WHEN xla_exceptions_pkg.application_exception THEN
121475 RAISE;
121476 WHEN OTHERS THEN
121478 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_204');
121479 END AcctLineType_204;
121480 --
121481
121482 ---------------------------------------
121483 --
121484 -- PRIVATE FUNCTION
121485 -- AcctLineType_205
121486 --
121487 ---------------------------------------
121488 PROCEDURE AcctLineType_205 (
121489 p_application_id IN NUMBER
121490 ,p_event_id IN NUMBER
121491 ,p_calculate_acctd_flag IN VARCHAR2
121492 ,p_calculate_g_l_flag IN VARCHAR2
121493 ,p_actual_flag IN OUT VARCHAR2
121494 ,p_balance_type_code OUT VARCHAR2
121495 ,p_gain_or_loss_ref OUT VARCHAR2
121496
121497 --Invoice Distribution Type
121498 , p_source_21 IN VARCHAR2
121499 , p_source_21_meaning IN VARCHAR2
121500 --Accounting Reversal Indicator
121501 , p_source_41 IN VARCHAR2
121502 --Distribution Link Type
121503 , p_source_43 IN VARCHAR2
121504 --Allocation to Main Distribution Identifier
121505 , p_source_45 IN NUMBER
121506 --Invoice Identifier
121507 , p_source_46 IN NUMBER
121508 --Invoice Distribution Identifier
121509 , p_source_52 IN NUMBER
121510 --Payables Encumbrance Upgrade Credit Account
121511 , p_source_53 IN NUMBER
121512 --Payables Encumbrance Upgrade Credit Amount
121513 , p_source_54 IN NUMBER
121514 --Invoice Currency Code
121515 , p_source_55 IN VARCHAR2
121516 --Payables Encumbrance Upgrade Credit Base Amount
121517 , p_source_56 IN NUMBER
121518 --Payables Encumbrance Upgrade Debit Account
121519 , p_source_57 IN NUMBER
121520 --Payables Encumbrance Upgrade Debit Amount
121521 , p_source_58 IN NUMBER
121522 --Payables Encumbrance Upgrade Debit Base Amount
121523 , p_source_59 IN NUMBER
121524 --Payables Encumbrance Upgrade Option
121525 , p_source_60 IN VARCHAR2
121526 --Deferred Accounting End Date
121527 , p_source_65 IN DATE
121528 --Deferred Accounting Option
121529 , p_source_66 IN VARCHAR2
121530 --Deferred Accounting Start Date
121531 , p_source_67 IN DATE
121532 --Override Accounted Amount Indicator
121533 , p_source_68 IN VARCHAR2
121534 , p_source_68_meaning IN VARCHAR2
121535 --Third Party Type
121536 , p_source_71 IN VARCHAR2
121537 --Parent Reversal Identifier
121538 , p_source_72 IN NUMBER
121539 --Invoice Distribution Tax Line Identifier
121540 , p_source_74 IN NUMBER
121541 --Invoice Distribution Tax Distribution Identifier from Tax
121542 , p_source_75 IN NUMBER
121543 --Invoice Distribution Summary Tax Line Identifier
121544 , p_source_76 IN NUMBER
121545 --Payables Upgrade Credit Encumbrance Type Identifier
121546 , p_source_77 IN NUMBER
121547 --Payables Upgrade Debit Encumbrance Type Identifier
121548 , p_source_78 IN NUMBER
121549 --Business Flow Accounts Payable Application Identifier
121550 , p_source_79 IN NUMBER
121551 --Business Flow Invoice Distribution Type
121552 , p_source_80 IN VARCHAR2
121553 --Business Flow Invoice Entity Code
121554 , p_source_81 IN VARCHAR2
121555 --Business Flow Invoice Distribution Identifier
121556 , p_source_82 IN NUMBER
121557 --Business Flow Invoice Identifier
121558 , p_source_83 IN NUMBER
121559 --Accrue on Receipt Option
121560 , p_source_84 IN VARCHAR2
121561 , p_source_84_meaning IN VARCHAR2
121562 --Purchasing Encumbrance Option
121563 , p_source_86 IN VARCHAR2
121564 , p_source_86_meaning IN VARCHAR2
121565 --Invoice Encumbered Option
121566 , p_source_87 IN VARCHAR2
121567 , p_source_87_meaning IN VARCHAR2
121568 --Self-Assessed Tax Flag
121569 , p_source_135 IN VARCHAR2
121570 , p_source_135_meaning IN VARCHAR2
121571 --Invoice Distribution Encumbrance Amount
121572 , p_source_143 IN NUMBER
121573 --Invoice Distribution Encumbrance Ledger Amount
121574 , p_source_144 IN NUMBER
121575 )
121576 IS
121577
121578 l_component_type VARCHAR2(80);
121579 l_component_code VARCHAR2(30);
121580 l_component_type_code VARCHAR2(1);
121581 l_component_appl_id INTEGER;
121582 l_amb_context_code VARCHAR2(30);
121583 l_entity_code VARCHAR2(30);
121584 l_event_class_code VARCHAR2(30);
121585 l_ae_header_id NUMBER;
121586 l_event_type_code VARCHAR2(30);
121587 l_line_definition_code VARCHAR2(30);
121588 l_line_definition_owner_code VARCHAR2(1);
121589 --
121590 -- adr variables
121591 l_segment VARCHAR2(30);
121592 l_ccid NUMBER;
121593 l_adr_transaction_coa_id NUMBER;
121594 l_adr_accounting_coa_id NUMBER;
121595 l_adr_flexfield_segment_code VARCHAR2(30);
121596 l_adr_flex_value_set_id NUMBER;
121597 l_adr_value_type_code VARCHAR2(30);
121598 l_adr_value_combination_id NUMBER;
121599 l_adr_value_segment_code VARCHAR2(30);
121600
121601 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
121602 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
121603 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
121604 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
121605
121609 l_acc_rev_flag VARCHAR2(1);
121606 -- 4262811 Variables ------------------------------------------------------------------------------------------
121607 l_entered_amt_idx NUMBER;
121608 l_accted_amt_idx NUMBER;
121610 l_accrual_line_num NUMBER;
121611 l_tmp_amt NUMBER;
121612 l_acc_rev_natural_side_code VARCHAR2(1);
121613
121614 l_num_entries NUMBER;
121615 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
121616 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
121617 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
121618 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
121619 l_recog_line_1 NUMBER;
121620 l_recog_line_2 NUMBER;
121621
121622 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
121623 l_bflow_applied_to_amt NUMBER; -- 5132302
121624 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
121625
121626 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
121627
121628 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
121629 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
121630
121631 ---------------------------------------------------------------------------------------------------------------
121632
121633
121634 --
121635 -- bulk performance
121636 --
121637 l_balance_type_code VARCHAR2(1);
121638 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
121639 l_log_module VARCHAR2(240);
121640
121641 --
121642 -- Upgrade strategy
121643 --
121644 l_actual_upg_option VARCHAR2(1);
121645 l_enc_upg_option VARCHAR2(1);
121646
121647 --
121648 BEGIN
121649 --
121650 IF g_log_enabled THEN
121651 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_205';
121652 END IF;
121653 --
121654 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
121655
121656 trace
121657 (p_msg => 'BEGIN of AcctLineType_205'
121658 ,p_level => C_LEVEL_PROCEDURE
121659 ,p_module => l_log_module);
121660
121661 END IF;
121662 --
121663 l_component_type := 'AMB_JLT';
121664 l_component_code := 'AP_NON_RECOV_TAX_DM_ENC';
121665 l_component_type_code := 'S';
121666 l_component_appl_id := 200;
121667 l_amb_context_code := 'DEFAULT';
121668 l_entity_code := 'AP_INVOICES';
121669 l_event_class_code := 'DEBIT MEMOS';
121670 l_event_type_code := 'DEBIT MEMOS_ALL';
121671 l_line_definition_owner_code := 'S';
121672 l_line_definition_code := 'ENC_REV_DM_ALL';
121673 --
121674 l_balance_type_code := 'E';
121675 l_segment := NULL;
121676 l_ccid := NULL;
121677 l_adr_transaction_coa_id := NULL;
121678 l_adr_accounting_coa_id := NULL;
121679 l_adr_flexfield_segment_code := NULL;
121680 l_adr_flex_value_set_id := NULL;
121681 l_adr_value_type_code := NULL;
121682 l_adr_value_combination_id := NULL;
121683 l_adr_value_segment_code := NULL;
121684
121685 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
121686 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
121687 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
121688 l_budgetary_control_flag := 'N';
121689
121690 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121691 l_bflow_applied_to_amt := NULL; -- 5132302
121692 l_entered_amt_idx := NULL; -- 4262811
121693 l_accted_amt_idx := NULL; -- 4262811
121694 l_acc_rev_flag := NULL; -- 4262811
121695 l_accrual_line_num := NULL; -- 4262811
121696 l_tmp_amt := NULL; -- 4262811
121697 --
121698
121699 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
121700 l_balance_type_code <> 'B' THEN
121701 IF NVL(p_source_21,'
121702 ') = 'NONREC_TAX' AND
121703 NVL(p_source_135,'
121704 ') <> 'Y' AND
121705 NVL(p_source_86,'
121706 ') = 'Y' AND
121707 NVL(p_source_87,'
121708 ') = 'Y' AND
121709 NVL(p_source_84,'
121710 ') <> 'Y'
121711 THEN
121712
121713 --
121714 XLA_AE_LINES_PKG.SetNewLine;
121715
121716 p_balance_type_code := l_balance_type_code;
121717 -- set the flag so later we will know whether the gain loss line needs to be created
121718
121719 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
121720 p_actual_flag :='A';
121721 END IF;
121722
121723 --
121724 -- bulk performance
121725 --
121726 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
121727 p_header_num => 0); -- 4262811
121728 --
121729 -- set accounting line options
121730 --
121731 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
121732 p_natural_side_code => 'C'
121733 , p_gain_or_loss_flag => 'N'
121734 , p_gl_transfer_mode_code => 'S'
121735 , p_acct_entry_type_code => 'E'
121736 , p_switch_side_flag => 'Y'
121737 , p_merge_duplicate_code => 'A'
121738 );
121739 --
121740 l_acc_rev_natural_side_code := 'D'; -- 4262811
121741 --
121745 xla_ae_lines_pkg.SetAcctLineType
121742 --
121743 -- set accounting line type info
121744 --
121746 (p_component_type => l_component_type
121747 ,p_event_type_code => l_event_type_code
121748 ,p_line_definition_owner_code => l_line_definition_owner_code
121749 ,p_line_definition_code => l_line_definition_code
121750 ,p_accounting_line_code => l_component_code
121751 ,p_accounting_line_type_code => l_component_type_code
121752 ,p_accounting_line_appl_id => l_component_appl_id
121753 ,p_amb_context_code => l_amb_context_code
121754 ,p_entity_code => l_entity_code
121755 ,p_event_class_code => l_event_class_code);
121756 --
121757 -- set accounting class
121758 --
121759 xla_ae_lines_pkg.SetAcctClass(
121760 p_accounting_class_code => 'NRTAX'
121761 , p_ae_header_id => l_ae_header_id
121762 );
121763
121764 --
121765 -- set rounding class
121766 --
121767 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
121768 'NRTAX';
121769
121770 --
121771 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
121772 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
121773 --
121774 -- bulk performance
121775 --
121776 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
121777
121778 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
121779 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
121780
121781 -- 4955764
121782 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
121783 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
121784
121785 -- 4458381 Public Sector Enh
121786
121787 --
121788 -- set accounting attributes for the line type
121789 --
121790 l_entered_amt_idx := 23;
121791 l_accted_amt_idx := 25;
121792 l_bflow_applied_to_amt_idx := NULL; -- 5132302
121793 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
121794 l_rec_acct_attrs.array_char_value(1) := p_source_41;
121795 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
121796 l_rec_acct_attrs.array_num_value(2) :=
121797 xla_ae_sources_pkg.GetSystemSourceNum(
121798 p_source_code => 'XLA_EVENT_APPL_ID'
121799 , p_source_type_code => 'Y'
121800 , p_source_application_id => 602
121801 );
121802 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
121803 l_rec_acct_attrs.array_char_value(3) := p_source_43;
121804 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
121805 l_rec_acct_attrs.array_char_value(4) :=
121806 xla_ae_sources_pkg.GetSystemSourceChar(
121807 p_source_code => 'XLA_ENTITY_CODE'
121808 , p_source_type_code => 'Y'
121809 , p_source_application_id => 602
121810 );
121811 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
121812 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
121813 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
121814 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
121815 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
121816 l_rec_acct_attrs.array_num_value(7) := p_source_79;
121817 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
121818 l_rec_acct_attrs.array_char_value(8) := p_source_80;
121819 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
121820 l_rec_acct_attrs.array_char_value(9) := p_source_81;
121821 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
121822 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
121823 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
121824 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
121825 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
121826 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
121827 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
121828 l_rec_acct_attrs.array_char_value(13) := p_source_43;
121829 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
121830 l_rec_acct_attrs.array_num_value(14) := p_source_53;
121831 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
121832 l_rec_acct_attrs.array_num_value(15) := p_source_54;
121833 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
121834 l_rec_acct_attrs.array_char_value(16) := p_source_55;
121835 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
121836 l_rec_acct_attrs.array_num_value(17) := p_source_56;
121837 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
121838 l_rec_acct_attrs.array_num_value(18) := p_source_57;
121839 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
121840 l_rec_acct_attrs.array_num_value(19) := p_source_58;
121841 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
121842 l_rec_acct_attrs.array_char_value(20) := p_source_55;
121843 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
121844 l_rec_acct_attrs.array_num_value(21) := p_source_59;
121845 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
121849 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
121846 l_rec_acct_attrs.array_char_value(22) := p_source_60;
121847 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
121848 l_rec_acct_attrs.array_num_value(23) := p_source_143;
121850 l_rec_acct_attrs.array_char_value(24) := p_source_55;
121851 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
121852 l_rec_acct_attrs.array_num_value(25) := p_source_144;
121853 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
121854 l_rec_acct_attrs.array_date_value(26) := p_source_65;
121855 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
121856 l_rec_acct_attrs.array_char_value(27) := p_source_66;
121857 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
121858 l_rec_acct_attrs.array_date_value(28) := p_source_67;
121859 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
121860 l_rec_acct_attrs.array_char_value(29) := p_source_68;
121861 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
121862 l_rec_acct_attrs.array_char_value(30) := p_source_71;
121863 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
121864 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
121865 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
121866 l_rec_acct_attrs.array_char_value(32) := p_source_43;
121867 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
121868 l_rec_acct_attrs.array_num_value(33) := p_source_74;
121869 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
121870 l_rec_acct_attrs.array_num_value(34) := p_source_75;
121871 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
121872 l_rec_acct_attrs.array_num_value(35) := p_source_76;
121873 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
121874 l_rec_acct_attrs.array_num_value(36) := p_source_77;
121875 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
121876 l_rec_acct_attrs.array_num_value(37) := p_source_78;
121877
121878 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
121879 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
121880
121881 ---------------------------------------------------------------------------------------------------------------
121882 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
121883 ---------------------------------------------------------------------------------------------------------------
121884 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
121885
121886 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121887 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
121888
121889 IF xla_accounting_cache_pkg.GetValueChar
121890 (p_source_code => 'LEDGER_CATEGORY_CODE'
121891 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
121892 AND l_bflow_method_code = 'PRIOR_ENTRY'
121893 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
121894 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
121895 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
121896 )
121897 THEN
121898 xla_ae_lines_pkg.BflowUpgEntry
121899 (p_business_method_code => l_bflow_method_code
121900 ,p_business_class_code => l_bflow_class_code
121901 ,p_balance_type => l_balance_type_code);
121902 ELSE
121903 NULL;
121904 XLA_AE_LINES_PKG.business_flow_validation(
121905 p_business_method_code => l_bflow_method_code
121906 ,p_business_class_code => l_bflow_class_code
121907 ,p_inherit_description_flag => l_inherit_desc_flag);
121908 END IF;
121909
121910 --
121911 -- call analytical criteria
121912 --
121913 -- Inherited Analytical Criteria for business flow method of Prior Entry.
121914 --
121915 -- call description
121916 --
121917 -- No description or it is inherited.
121918 --
121919 -- call ADRs
121920 -- Bug 4922099
121921 --
121922 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
121923 (NVL(l_actual_upg_option, 'N') = 'O') OR
121924 (NVL(l_enc_upg_option, 'N') = 'O')
121925 )
121926 THEN
121927 NULL;
121928 --
121929 --
121930
121931 --
121932 --
121933 END IF;
121934 --
121935 -- Bug 4922099
121936 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
121937 (NVL(l_enc_upg_option, 'N') = 'O')
121938 ) AND
121939 (l_bflow_method_code = 'PRIOR_ENTRY')
121940 )
121941 THEN
121942 IF
121943 --
121944 1 = 1
121945 --
121946 THEN
121947 xla_accounting_err_pkg.build_message
121948 (p_appli_s_name => 'XLA'
121949 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121950 ,p_token_1 => 'LINE_NUMBER'
121951 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
121952 ,p_token_2 => 'LINE_TYPE_NAME'
121956 ,l_component_type_code
121953 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
121954 l_component_type
121955 ,l_component_code
121957 ,l_component_appl_id
121958 ,l_amb_context_code
121959 ,l_entity_code
121960 ,l_event_class_code
121961 )
121962 ,p_token_3 => 'OWNER'
121963 ,p_value_3 => xla_lookups_pkg.get_meaning(
121964 p_lookup_type => 'XLA_OWNER_TYPE'
121965 ,p_lookup_code => l_component_type_code
121966 )
121967 ,p_token_4 => 'PRODUCT_NAME'
121968 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
121969 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
121970 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
121971 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
121972 ,p_ae_header_id => NULL
121973 );
121974
121975 IF (C_LEVEL_ERROR>= g_log_level) THEN
121976 trace
121977 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
121978 ,p_level => C_LEVEL_ERROR
121979 ,p_module => l_log_module);
121980 END IF;
121981 END IF;
121982 END IF;
121983 --
121984 --
121985 ------------------------------------------------------------------------------------------------
121986 -- 4219869 Business Flow
121987 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
121988 -- Prior Entry. Currently, the following code is always generated.
121989 ------------------------------------------------------------------------------------------------
121990 -- No ValidateCurrentLine for business flow method of Prior Entry
121991
121992 ------------------------------------------------------------------------------------
121993 -- 4219869 Business Flow
121994 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
121995 ------------------------------------------------------------------------------------
121996 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
121997
121998 ----------------------------------------------------------------------------------
121999 -- 4219869 Business Flow
122000 -- Update journal entry status -- Need to generate this within IF <condition>
122001 ----------------------------------------------------------------------------------
122002 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122003 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
122004 ,p_balance_type_code => l_balance_type_code
122005 );
122006
122007 -------------------------------------------------------------------------------------------
122008 -- 4262811 - Generate the Accrual Reversal lines
122009 -------------------------------------------------------------------------------------------
122010 BEGIN
122011 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
122012 (g_array_event(p_event_id).array_value_num('header_index'));
122013 IF l_acc_rev_flag IS NULL THEN
122014 l_acc_rev_flag := 'N';
122015 END IF;
122016 EXCEPTION
122017 WHEN OTHERS THEN
122018 l_acc_rev_flag := 'N';
122019 END;
122020 --
122021 IF (l_acc_rev_flag = 'Y') THEN
122022
122023 -- 4645092 ------------------------------------------------------------------------------
122024 -- To allow MPA report to determine if it should generate report process
122025 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
122026 ------------------------------------------------------------------------------------------
122027
122028 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
122029 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
122030 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
122031 -- call ADRs
122032 -- Bug 4922099
122033 --
122034 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122035 (NVL(l_actual_upg_option, 'N') = 'O') OR
122036 (NVL(l_enc_upg_option, 'N') = 'O')
122037 )
122038 THEN
122039 NULL;
122040 --
122041 --
122042
122043 --
122044 --
122045 END IF;
122046
122047 --
122048 -- Update the line information that should be overwritten
122049 --
122053
122050 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
122051 p_header_num => 1);
122052 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
122054 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
122055
122056 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
122057 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
122058 END IF;
122059
122060 --
122061 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
122062 --
122063 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
122064 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
122065 ELSE
122066 ---------------------------------------------------------------------------------------------------
122067 -- 4262811a Switch Sign
122068 ---------------------------------------------------------------------------------------------------
122069 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
122070 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122071 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122072 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122073 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122074 -- 5132302
122075 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
122076 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122077
122078 END IF;
122079
122080 -- 4955764
122081 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122082 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
122083
122084
122085 XLA_AE_LINES_PKG.ValidateCurrentLine;
122086 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122087
122088 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122089 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
122090 ,p_balance_type_code => l_balance_type_code);
122091
122092 END IF;
122093
122094 -----------------------------------------------------------------------------------------
122095 -- 4262811 Multiperiod Accounting
122096 -----------------------------------------------------------------------------------------
122097 -- No MPA option is assigned.
122098
122099
122100 END IF;
122101 END IF;
122102 --
122103
122104 --
122105 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122106 trace
122107 (p_msg => 'END of AcctLineType_205'
122108 ,p_level => C_LEVEL_PROCEDURE
122109 ,p_module => l_log_module);
122110 END IF;
122111 --
122112 EXCEPTION
122113 WHEN xla_exceptions_pkg.application_exception THEN
122114 RAISE;
122115 WHEN OTHERS THEN
122116 xla_exceptions_pkg.raise_message
122117 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_205');
122118 END AcctLineType_205;
122119 --
122120
122121 ---------------------------------------
122122 --
122123 -- PRIVATE FUNCTION
122124 -- AcctLineType_206
122125 --
122126 ---------------------------------------
122127 PROCEDURE AcctLineType_206 (
122128 p_application_id IN NUMBER
122129 ,p_event_id IN NUMBER
122130 ,p_calculate_acctd_flag IN VARCHAR2
122131 ,p_calculate_g_l_flag IN VARCHAR2
122132 ,p_actual_flag IN OUT VARCHAR2
122133 ,p_balance_type_code OUT VARCHAR2
122134 ,p_gain_or_loss_ref OUT VARCHAR2
122135
122136 --Invoice Distribution Description
122137 , p_source_1 IN VARCHAR2
122138 --Invoice Distribution Ledger Amount
122139 , p_source_9 IN NUMBER
122140 --Invoice Distribution Account
122141 , p_source_18 IN NUMBER
122142 --Invoice Distribution Type
122143 , p_source_21 IN VARCHAR2
122144 , p_source_21_meaning IN VARCHAR2
122145 --Accounting Reversal Indicator
122146 , p_source_41 IN VARCHAR2
122147 --Distribution Link Type
122148 , p_source_43 IN VARCHAR2
122149 --Allocation to Main Distribution Identifier
122150 , p_source_45 IN NUMBER
122151 --Invoice Identifier
122152 , p_source_46 IN NUMBER
122153 --Invoice Distribution Identifier
122154 , p_source_52 IN NUMBER
122155 --Payables Encumbrance Upgrade Credit Account
122156 , p_source_53 IN NUMBER
122157 --Payables Encumbrance Upgrade Credit Amount
122158 , p_source_54 IN NUMBER
122159 --Invoice Currency Code
122160 , p_source_55 IN VARCHAR2
122161 --Payables Encumbrance Upgrade Credit Base Amount
122162 , p_source_56 IN NUMBER
122163 --Payables Encumbrance Upgrade Debit Account
122164 , p_source_57 IN NUMBER
122165 --Payables Encumbrance Upgrade Debit Amount
122166 , p_source_58 IN NUMBER
122167 --Payables Encumbrance Upgrade Debit Base Amount
122168 , p_source_59 IN NUMBER
122169 --Payables Encumbrance Upgrade Option
122170 , p_source_60 IN VARCHAR2
122171 --Invoice Distribution Amount
122175 --Deferred Accounting Option
122172 , p_source_61 IN NUMBER
122173 --Deferred Accounting End Date
122174 , p_source_65 IN DATE
122176 , p_source_66 IN VARCHAR2
122177 --Deferred Accounting Start Date
122178 , p_source_67 IN DATE
122179 --Override Accounted Amount Indicator
122180 , p_source_68 IN VARCHAR2
122181 , p_source_68_meaning IN VARCHAR2
122182 --Invoice Supplier Identifier
122183 , p_source_69 IN NUMBER
122184 --Invoice Supplier Site Identifier
122185 , p_source_70 IN NUMBER
122186 --Third Party Type
122187 , p_source_71 IN VARCHAR2
122188 --Parent Reversal Identifier
122189 , p_source_72 IN NUMBER
122190 --Invoice Distribution Statistical Amount
122191 , p_source_73 IN NUMBER
122192 --Invoice Distribution Tax Line Identifier
122193 , p_source_74 IN NUMBER
122194 --Invoice Distribution Tax Distribution Identifier from Tax
122195 , p_source_75 IN NUMBER
122196 --Invoice Distribution Summary Tax Line Identifier
122197 , p_source_76 IN NUMBER
122198 --Payables Upgrade Credit Encumbrance Type Identifier
122199 , p_source_77 IN NUMBER
122200 --Payables Upgrade Debit Encumbrance Type Identifier
122201 , p_source_78 IN NUMBER
122202 --Business Flow Accounts Payable Application Identifier
122203 , p_source_79 IN NUMBER
122204 --Business Flow Invoice Distribution Type
122205 , p_source_80 IN VARCHAR2
122206 --Business Flow Invoice Entity Code
122207 , p_source_81 IN VARCHAR2
122208 --Business Flow Invoice Distribution Identifier
122209 , p_source_82 IN NUMBER
122210 --Business Flow Invoice Identifier
122211 , p_source_83 IN NUMBER
122212 --Accrue on Receipt Option
122213 , p_source_84 IN VARCHAR2
122214 , p_source_84_meaning IN VARCHAR2
122215 --Self-Assessed Tax Flag
122216 , p_source_135 IN VARCHAR2
122217 , p_source_135_meaning IN VARCHAR2
122218 --Invoice Exchange Date
122219 , p_source_136 IN DATE
122220 --Invoice Exchange Rate
122221 , p_source_137 IN NUMBER
122222 --Invoice Exchange Rate Type
122223 , p_source_138 IN VARCHAR2
122224 )
122225 IS
122226
122227 l_component_type VARCHAR2(80);
122228 l_component_code VARCHAR2(30);
122229 l_component_type_code VARCHAR2(1);
122230 l_component_appl_id INTEGER;
122231 l_amb_context_code VARCHAR2(30);
122232 l_entity_code VARCHAR2(30);
122233 l_event_class_code VARCHAR2(30);
122234 l_ae_header_id NUMBER;
122235 l_event_type_code VARCHAR2(30);
122236 l_line_definition_code VARCHAR2(30);
122237 l_line_definition_owner_code VARCHAR2(1);
122238 --
122239 -- adr variables
122240 l_segment VARCHAR2(30);
122241 l_ccid NUMBER;
122242 l_adr_transaction_coa_id NUMBER;
122243 l_adr_accounting_coa_id NUMBER;
122244 l_adr_flexfield_segment_code VARCHAR2(30);
122245 l_adr_flex_value_set_id NUMBER;
122246 l_adr_value_type_code VARCHAR2(30);
122247 l_adr_value_combination_id NUMBER;
122248 l_adr_value_segment_code VARCHAR2(30);
122249
122250 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
122251 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
122252 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
122253 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
122254
122255 -- 4262811 Variables ------------------------------------------------------------------------------------------
122256 l_entered_amt_idx NUMBER;
122257 l_accted_amt_idx NUMBER;
122258 l_acc_rev_flag VARCHAR2(1);
122259 l_accrual_line_num NUMBER;
122260 l_tmp_amt NUMBER;
122261 l_acc_rev_natural_side_code VARCHAR2(1);
122262
122263 l_num_entries NUMBER;
122264 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
122265 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
122266 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
122267 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
122268 l_recog_line_1 NUMBER;
122269 l_recog_line_2 NUMBER;
122270
122271 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
122272 l_bflow_applied_to_amt NUMBER; -- 5132302
122273 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
122274
122275 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
122276
122277 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
122278 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
122279
122280 ---------------------------------------------------------------------------------------------------------------
122281
122282
122283 --
122284 -- bulk performance
122285 --
122286 l_balance_type_code VARCHAR2(1);
122287 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
122288 l_log_module VARCHAR2(240);
122289
122290 --
122291 -- Upgrade strategy
122292 --
122293 l_actual_upg_option VARCHAR2(1);
122294 l_enc_upg_option VARCHAR2(1);
122295
122296 --
122297 BEGIN
122298 --
122299 IF g_log_enabled THEN
122303 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122300 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_206';
122301 END IF;
122302 --
122304
122305 trace
122306 (p_msg => 'BEGIN of AcctLineType_206'
122307 ,p_level => C_LEVEL_PROCEDURE
122308 ,p_module => l_log_module);
122309
122310 END IF;
122311 --
122312 l_component_type := 'AMB_JLT';
122313 l_component_code := 'AP_NON_RECOV_TAX_INV';
122314 l_component_type_code := 'S';
122315 l_component_appl_id := 200;
122316 l_amb_context_code := 'DEFAULT';
122317 l_entity_code := 'AP_INVOICES';
122318 l_event_class_code := 'INVOICES';
122319 l_event_type_code := 'INVOICES_ALL';
122320 l_line_definition_owner_code := 'S';
122321 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
122322 --
122323 l_balance_type_code := 'A';
122324 l_segment := NULL;
122325 l_ccid := NULL;
122326 l_adr_transaction_coa_id := NULL;
122327 l_adr_accounting_coa_id := NULL;
122328 l_adr_flexfield_segment_code := NULL;
122329 l_adr_flex_value_set_id := NULL;
122330 l_adr_value_type_code := NULL;
122331 l_adr_value_combination_id := NULL;
122332 l_adr_value_segment_code := NULL;
122333
122334 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
122335 l_bflow_class_code := ''; -- 4219869 Business Flow
122336 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
122337 l_budgetary_control_flag := 'N';
122338
122339 l_bflow_applied_to_amt_idx := NULL; -- 5132302
122340 l_bflow_applied_to_amt := NULL; -- 5132302
122341 l_entered_amt_idx := NULL; -- 4262811
122342 l_accted_amt_idx := NULL; -- 4262811
122343 l_acc_rev_flag := NULL; -- 4262811
122344 l_accrual_line_num := NULL; -- 4262811
122345 l_tmp_amt := NULL; -- 4262811
122346 --
122347
122348 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
122349 l_balance_type_code <> 'B' THEN
122350 IF (NVL(p_source_21,'
122351 ') = 'NONREC_TAX' OR
122352 NVL(p_source_21,'
122353 ') = 'TERV' OR
122354 NVL(p_source_21,'
122355 ') = 'TIPV' OR
122356 NVL(p_source_21,'
122357 ') = 'TRV') AND
122358 NVL(p_source_84,'
122359 ') <> 'Y' AND
122360 NVL(p_source_135,'
122361 ') <> 'Y'
122362 THEN
122363
122364 --
122365 XLA_AE_LINES_PKG.SetNewLine;
122366
122367 p_balance_type_code := l_balance_type_code;
122368 -- set the flag so later we will know whether the gain loss line needs to be created
122369
122370 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
122371 p_actual_flag :='A';
122372 END IF;
122373
122374 --
122375 -- bulk performance
122376 --
122377 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
122378 p_header_num => 0); -- 4262811
122379 --
122380 -- set accounting line options
122381 --
122382 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
122383 p_natural_side_code => 'D'
122384 , p_gain_or_loss_flag => 'N'
122385 , p_gl_transfer_mode_code => 'S'
122386 , p_acct_entry_type_code => 'A'
122387 , p_switch_side_flag => 'Y'
122388 , p_merge_duplicate_code => 'W'
122389 );
122390 --
122391 l_acc_rev_natural_side_code := 'C'; -- 4262811
122392 --
122393 --
122394 -- set accounting line type info
122395 --
122396 xla_ae_lines_pkg.SetAcctLineType
122397 (p_component_type => l_component_type
122398 ,p_event_type_code => l_event_type_code
122399 ,p_line_definition_owner_code => l_line_definition_owner_code
122400 ,p_line_definition_code => l_line_definition_code
122401 ,p_accounting_line_code => l_component_code
122402 ,p_accounting_line_type_code => l_component_type_code
122403 ,p_accounting_line_appl_id => l_component_appl_id
122404 ,p_amb_context_code => l_amb_context_code
122405 ,p_entity_code => l_entity_code
122406 ,p_event_class_code => l_event_class_code);
122407 --
122408 -- set accounting class
122409 --
122410 xla_ae_lines_pkg.SetAcctClass(
122411 p_accounting_class_code => 'NRTAX'
122412 , p_ae_header_id => l_ae_header_id
122413 );
122414
122415 --
122416 -- set rounding class
122417 --
122418 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
122419 'NRTAX';
122420
122421 --
122422 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
122423 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
122424 --
122425 -- bulk performance
122426 --
122427 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
122428
122429 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
122430 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
122431
122432 -- 4955764
122433 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122437
122434 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
122435
122436 -- 4458381 Public Sector Enh
122438 --
122439 -- set accounting attributes for the line type
122440 --
122441 l_entered_amt_idx := 24;
122442 l_accted_amt_idx := 29;
122443 l_bflow_applied_to_amt_idx := 7; -- 5132302
122444 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
122445 l_rec_acct_attrs.array_char_value(1) := p_source_41;
122446 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
122447 l_rec_acct_attrs.array_num_value(2) :=
122448 xla_ae_sources_pkg.GetSystemSourceNum(
122449 p_source_code => 'XLA_EVENT_APPL_ID'
122450 , p_source_type_code => 'Y'
122451 , p_source_application_id => 602
122452 );
122453 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
122454 l_rec_acct_attrs.array_char_value(3) := p_source_43;
122455 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
122456 l_rec_acct_attrs.array_char_value(4) :=
122457 xla_ae_sources_pkg.GetSystemSourceChar(
122458 p_source_code => 'XLA_ENTITY_CODE'
122459 , p_source_type_code => 'Y'
122460 , p_source_application_id => 602
122461 );
122462 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
122463 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
122464 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
122465 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
122466 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
122467 l_rec_acct_attrs.array_num_value(7) := p_source_61;
122468 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
122469 l_rec_acct_attrs.array_num_value(8) := p_source_79;
122470 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
122471 l_rec_acct_attrs.array_char_value(9) := p_source_80;
122472 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
122473 l_rec_acct_attrs.array_char_value(10) := p_source_81;
122474 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
122475 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
122476 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
122477 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
122478 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
122479 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
122480 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
122481 l_rec_acct_attrs.array_char_value(14) := p_source_43;
122482 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
122483 l_rec_acct_attrs.array_num_value(15) := p_source_53;
122484 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
122485 l_rec_acct_attrs.array_num_value(16) := p_source_54;
122486 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
122487 l_rec_acct_attrs.array_char_value(17) := p_source_55;
122488 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
122489 l_rec_acct_attrs.array_num_value(18) := p_source_56;
122490 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
122491 l_rec_acct_attrs.array_num_value(19) := p_source_57;
122492 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
122493 l_rec_acct_attrs.array_num_value(20) := p_source_58;
122494 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
122495 l_rec_acct_attrs.array_char_value(21) := p_source_55;
122496 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
122497 l_rec_acct_attrs.array_num_value(22) := p_source_59;
122498 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
122499 l_rec_acct_attrs.array_char_value(23) := p_source_60;
122500 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
122501 l_rec_acct_attrs.array_num_value(24) := p_source_61;
122502 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
122503 l_rec_acct_attrs.array_char_value(25) := p_source_55;
122504 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
122505 l_rec_acct_attrs.array_date_value(26) := p_source_136;
122506 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
122507 l_rec_acct_attrs.array_num_value(27) := p_source_137;
122508 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
122509 l_rec_acct_attrs.array_char_value(28) := p_source_138;
122510 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
122511 l_rec_acct_attrs.array_num_value(29) := p_source_9;
122512 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
122513 l_rec_acct_attrs.array_date_value(30) := p_source_65;
122514 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
122515 l_rec_acct_attrs.array_char_value(31) := p_source_66;
122516 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
122517 l_rec_acct_attrs.array_date_value(32) := p_source_67;
122518 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
122519 l_rec_acct_attrs.array_char_value(33) := p_source_68;
122520 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
122521 l_rec_acct_attrs.array_num_value(34) := p_source_69;
122522 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
122523 l_rec_acct_attrs.array_num_value(35) := p_source_70;
122524 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
122528 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
122525 l_rec_acct_attrs.array_char_value(36) := p_source_71;
122526 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
122527 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
122529 l_rec_acct_attrs.array_char_value(38) := p_source_43;
122530 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
122531 l_rec_acct_attrs.array_num_value(39) := p_source_73;
122532 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
122533 l_rec_acct_attrs.array_num_value(40) := p_source_74;
122534 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
122535 l_rec_acct_attrs.array_num_value(41) := p_source_75;
122536 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
122537 l_rec_acct_attrs.array_num_value(42) := p_source_76;
122538 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
122539 l_rec_acct_attrs.array_num_value(43) := p_source_77;
122540 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
122541 l_rec_acct_attrs.array_num_value(44) := p_source_78;
122542
122543 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
122544 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
122545
122546 ---------------------------------------------------------------------------------------------------------------
122547 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
122548 ---------------------------------------------------------------------------------------------------------------
122549 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
122550
122551 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122552 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
122553
122554 IF xla_accounting_cache_pkg.GetValueChar
122555 (p_source_code => 'LEDGER_CATEGORY_CODE'
122556 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
122557 AND l_bflow_method_code = 'PRIOR_ENTRY'
122558 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
122559 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
122560 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
122561 )
122562 THEN
122563 xla_ae_lines_pkg.BflowUpgEntry
122564 (p_business_method_code => l_bflow_method_code
122565 ,p_business_class_code => l_bflow_class_code
122566 ,p_balance_type => l_balance_type_code);
122567 ELSE
122568 NULL;
122569 -- No business flow processing for business flow method of NONE.
122570 END IF;
122571
122572 --
122573 -- call analytical criteria
122574 --
122575
122576 --
122577 -- call description
122578 --
122579
122580 xla_ae_lines_pkg.SetLineDescription(
122581 p_ae_header_id => l_ae_header_id
122582 ,p_description => Description_2 (
122583 p_application_id => p_application_id
122584 , p_ae_header_id => l_ae_header_id
122585 , p_source_1 => p_source_1
122586 )
122587 );
122588
122589
122590 --
122591 -- call ADRs
122592 -- Bug 4922099
122593 --
122594 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122595 (NVL(l_actual_upg_option, 'N') = 'O') OR
122596 (NVL(l_enc_upg_option, 'N') = 'O')
122597 )
122598 THEN
122599 NULL;
122600 --
122601 --
122602
122603 l_ccid := AcctDerRule_32(
122604 p_application_id => p_application_id
122605 , p_ae_header_id => l_ae_header_id
122606 , p_source_18 => p_source_18
122607 , x_transaction_coa_id => l_adr_transaction_coa_id
122608 , x_accounting_coa_id => l_adr_accounting_coa_id
122609 , x_value_type_code => l_adr_value_type_code
122610 , p_side => 'NA'
122611 );
122612
122613 xla_ae_lines_pkg.set_ccid(
122614 p_code_combination_id => l_ccid
122615 , p_value_type_code => l_adr_value_type_code
122616 , p_transaction_coa_id => l_adr_transaction_coa_id
122617 , p_accounting_coa_id => l_adr_accounting_coa_id
122618 , p_adr_code => 'AP_INVOICE_DIST'
122619 , p_adr_type_code => 'S'
122620 , p_component_type => l_component_type
122621 , p_component_code => l_component_code
122622 , p_component_type_code => l_component_type_code
122623 , p_component_appl_id => l_component_appl_id
122624 , p_amb_context_code => l_amb_context_code
122625 , p_side => 'NA'
122626 );
122627
122628
122629 --
122630 --
122631 END IF;
122632 --
122633 -- Bug 4922099
122634 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
122635 (NVL(l_enc_upg_option, 'N') = 'O')
122636 ) AND
122637 (l_bflow_method_code = 'PRIOR_ENTRY')
122638 )
122639 THEN
122640 IF
122641 --
122642 1 = 2
122643 --
122644 THEN
122645 xla_accounting_err_pkg.build_message
122646 (p_appli_s_name => 'XLA'
122650 ,p_token_2 => 'LINE_TYPE_NAME'
122647 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122648 ,p_token_1 => 'LINE_NUMBER'
122649 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
122651 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
122652 l_component_type
122653 ,l_component_code
122654 ,l_component_type_code
122655 ,l_component_appl_id
122656 ,l_amb_context_code
122657 ,l_entity_code
122658 ,l_event_class_code
122659 )
122660 ,p_token_3 => 'OWNER'
122661 ,p_value_3 => xla_lookups_pkg.get_meaning(
122662 p_lookup_type => 'XLA_OWNER_TYPE'
122663 ,p_lookup_code => l_component_type_code
122664 )
122665 ,p_token_4 => 'PRODUCT_NAME'
122666 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
122667 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
122668 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
122669 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
122670 ,p_ae_header_id => NULL
122671 );
122672
122673 IF (C_LEVEL_ERROR>= g_log_level) THEN
122674 trace
122675 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
122676 ,p_level => C_LEVEL_ERROR
122677 ,p_module => l_log_module);
122678 END IF;
122679 END IF;
122680 END IF;
122681 --
122682 --
122683 ------------------------------------------------------------------------------------------------
122684 -- 4219869 Business Flow
122685 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
122686 -- Prior Entry. Currently, the following code is always generated.
122687 ------------------------------------------------------------------------------------------------
122688 XLA_AE_LINES_PKG.ValidateCurrentLine;
122689
122690 ------------------------------------------------------------------------------------
122691 -- 4219869 Business Flow
122692 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
122693 ------------------------------------------------------------------------------------
122694 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122695
122696 ----------------------------------------------------------------------------------
122697 -- 4219869 Business Flow
122698 -- Update journal entry status -- Need to generate this within IF <condition>
122699 ----------------------------------------------------------------------------------
122700 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122701 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
122702 ,p_balance_type_code => l_balance_type_code
122703 );
122704
122705 -------------------------------------------------------------------------------------------
122706 -- 4262811 - Generate the Accrual Reversal lines
122707 -------------------------------------------------------------------------------------------
122708 BEGIN
122709 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
122710 (g_array_event(p_event_id).array_value_num('header_index'));
122711 IF l_acc_rev_flag IS NULL THEN
122712 l_acc_rev_flag := 'N';
122713 END IF;
122714 EXCEPTION
122715 WHEN OTHERS THEN
122716 l_acc_rev_flag := 'N';
122717 END;
122718 --
122719 IF (l_acc_rev_flag = 'Y') THEN
122720
122721 -- 4645092 ------------------------------------------------------------------------------
122722 -- To allow MPA report to determine if it should generate report process
122723 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
122724 ------------------------------------------------------------------------------------------
122725
122726 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
122727 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
122728 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
122729 -- call ADRs
122730 -- Bug 4922099
122731 --
122732 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
122733 (NVL(l_actual_upg_option, 'N') = 'O') OR
122734 (NVL(l_enc_upg_option, 'N') = 'O')
122735 )
122736 THEN
122737 NULL;
122738 --
122739 --
122743 , p_ae_header_id => l_ae_header_id
122740
122741 l_ccid := AcctDerRule_32(
122742 p_application_id => p_application_id
122744 , p_source_18 => p_source_18
122745 , x_transaction_coa_id => l_adr_transaction_coa_id
122746 , x_accounting_coa_id => l_adr_accounting_coa_id
122747 , x_value_type_code => l_adr_value_type_code
122748 , p_side => 'NA'
122749 );
122750
122751 xla_ae_lines_pkg.set_ccid(
122752 p_code_combination_id => l_ccid
122753 , p_value_type_code => l_adr_value_type_code
122754 , p_transaction_coa_id => l_adr_transaction_coa_id
122755 , p_accounting_coa_id => l_adr_accounting_coa_id
122756 , p_adr_code => 'AP_INVOICE_DIST'
122757 , p_adr_type_code => 'S'
122758 , p_component_type => l_component_type
122759 , p_component_code => l_component_code
122760 , p_component_type_code => l_component_type_code
122761 , p_component_appl_id => l_component_appl_id
122762 , p_amb_context_code => l_amb_context_code
122763 , p_side => 'NA'
122764 );
122765
122766
122767 --
122768 --
122769 END IF;
122770
122771 --
122772 -- Update the line information that should be overwritten
122773 --
122774 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
122775 p_header_num => 1);
122776 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
122777
122778 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
122779
122780 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
122781 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
122782 END IF;
122783
122784 --
122785 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
122786 --
122787 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
122788 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
122789 ELSE
122790 ---------------------------------------------------------------------------------------------------
122791 -- 4262811a Switch Sign
122792 ---------------------------------------------------------------------------------------------------
122793 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
122794 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122795 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122796 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
122797 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122798 -- 5132302
122799 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
122800 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
122801
122802 END IF;
122803
122804 -- 4955764
122805 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
122806 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
122807
122808
122809 XLA_AE_LINES_PKG.ValidateCurrentLine;
122810 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
122811
122812 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
122813 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
122814 ,p_balance_type_code => l_balance_type_code);
122815
122816 END IF;
122817
122818 -----------------------------------------------------------------------------------------
122819 -- 4262811 Multiperiod Accounting
122820 -----------------------------------------------------------------------------------------
122821 -- No MPA option is assigned.
122822
122823
122824 END IF;
122825 END IF;
122826 --
122827
122828 --
122829 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
122830 trace
122831 (p_msg => 'END of AcctLineType_206'
122832 ,p_level => C_LEVEL_PROCEDURE
122833 ,p_module => l_log_module);
122834 END IF;
122835 --
122836 EXCEPTION
122837 WHEN xla_exceptions_pkg.application_exception THEN
122838 RAISE;
122839 WHEN OTHERS THEN
122840 xla_exceptions_pkg.raise_message
122841 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_206');
122842 END AcctLineType_206;
122843 --
122844
122845 ---------------------------------------
122846 --
122847 -- PRIVATE FUNCTION
122848 -- AcctLineType_207
122849 --
122850 ---------------------------------------
122851 PROCEDURE AcctLineType_207 (
122852 p_application_id IN NUMBER
122853 ,p_event_id IN NUMBER
122854 ,p_calculate_acctd_flag IN VARCHAR2
122855 ,p_calculate_g_l_flag IN VARCHAR2
122856 ,p_actual_flag IN OUT VARCHAR2
122857 ,p_balance_type_code OUT VARCHAR2
122858 ,p_gain_or_loss_ref OUT VARCHAR2
122859
122860 --Invoice Distribution Type
122861 , p_source_21 IN VARCHAR2
122865 --Distribution Link Type
122862 , p_source_21_meaning IN VARCHAR2
122863 --Accounting Reversal Indicator
122864 , p_source_41 IN VARCHAR2
122866 , p_source_43 IN VARCHAR2
122867 --Allocation to Main Distribution Identifier
122868 , p_source_45 IN NUMBER
122869 --Invoice Identifier
122870 , p_source_46 IN NUMBER
122871 --Invoice Distribution Identifier
122872 , p_source_52 IN NUMBER
122873 --Payables Encumbrance Upgrade Credit Account
122874 , p_source_53 IN NUMBER
122875 --Payables Encumbrance Upgrade Credit Amount
122876 , p_source_54 IN NUMBER
122877 --Invoice Currency Code
122878 , p_source_55 IN VARCHAR2
122879 --Payables Encumbrance Upgrade Credit Base Amount
122880 , p_source_56 IN NUMBER
122881 --Payables Encumbrance Upgrade Debit Account
122882 , p_source_57 IN NUMBER
122883 --Payables Encumbrance Upgrade Debit Amount
122884 , p_source_58 IN NUMBER
122885 --Payables Encumbrance Upgrade Debit Base Amount
122886 , p_source_59 IN NUMBER
122887 --Payables Encumbrance Upgrade Option
122888 , p_source_60 IN VARCHAR2
122889 --Invoice Distribution Amount
122890 , p_source_61 IN NUMBER
122891 --Deferred Accounting End Date
122892 , p_source_65 IN DATE
122893 --Deferred Accounting Option
122894 , p_source_66 IN VARCHAR2
122895 --Deferred Accounting Start Date
122896 , p_source_67 IN DATE
122897 --Override Accounted Amount Indicator
122898 , p_source_68 IN VARCHAR2
122899 , p_source_68_meaning IN VARCHAR2
122900 --Third Party Type
122901 , p_source_71 IN VARCHAR2
122902 --Parent Reversal Identifier
122903 , p_source_72 IN NUMBER
122904 --Invoice Distribution Statistical Amount
122905 , p_source_73 IN NUMBER
122906 --Invoice Distribution Tax Line Identifier
122907 , p_source_74 IN NUMBER
122908 --Invoice Distribution Tax Distribution Identifier from Tax
122909 , p_source_75 IN NUMBER
122910 --Invoice Distribution Summary Tax Line Identifier
122911 , p_source_76 IN NUMBER
122912 --Payables Upgrade Credit Encumbrance Type Identifier
122913 , p_source_77 IN NUMBER
122914 --Payables Upgrade Debit Encumbrance Type Identifier
122915 , p_source_78 IN NUMBER
122916 --Business Flow Accounts Payable Application Identifier
122917 , p_source_79 IN NUMBER
122918 --Business Flow Invoice Distribution Type
122919 , p_source_80 IN VARCHAR2
122920 --Business Flow Invoice Entity Code
122921 , p_source_81 IN VARCHAR2
122922 --Business Flow Invoice Distribution Identifier
122923 , p_source_82 IN NUMBER
122924 --Business Flow Invoice Identifier
122925 , p_source_83 IN NUMBER
122926 --Accrue on Receipt Option
122927 , p_source_84 IN VARCHAR2
122928 , p_source_84_meaning IN VARCHAR2
122929 --Purchasing Encumbrance Option
122930 , p_source_86 IN VARCHAR2
122931 , p_source_86_meaning IN VARCHAR2
122932 --Invoice Encumbered Option
122933 , p_source_87 IN VARCHAR2
122934 , p_source_87_meaning IN VARCHAR2
122935 --Self-Assessed Tax Flag
122936 , p_source_135 IN VARCHAR2
122937 , p_source_135_meaning IN VARCHAR2
122938 --Invoice Distribution Encumbrance Amount
122939 , p_source_143 IN NUMBER
122940 --Invoice Distribution Encumbrance Ledger Amount
122941 , p_source_144 IN NUMBER
122942 )
122943 IS
122944
122945 l_component_type VARCHAR2(80);
122946 l_component_code VARCHAR2(30);
122947 l_component_type_code VARCHAR2(1);
122948 l_component_appl_id INTEGER;
122949 l_amb_context_code VARCHAR2(30);
122950 l_entity_code VARCHAR2(30);
122951 l_event_class_code VARCHAR2(30);
122952 l_ae_header_id NUMBER;
122953 l_event_type_code VARCHAR2(30);
122954 l_line_definition_code VARCHAR2(30);
122955 l_line_definition_owner_code VARCHAR2(1);
122956 --
122957 -- adr variables
122958 l_segment VARCHAR2(30);
122959 l_ccid NUMBER;
122960 l_adr_transaction_coa_id NUMBER;
122961 l_adr_accounting_coa_id NUMBER;
122962 l_adr_flexfield_segment_code VARCHAR2(30);
122963 l_adr_flex_value_set_id NUMBER;
122964 l_adr_value_type_code VARCHAR2(30);
122965 l_adr_value_combination_id NUMBER;
122966 l_adr_value_segment_code VARCHAR2(30);
122967
122968 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
122969 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
122970 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
122971 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
122972
122973 -- 4262811 Variables ------------------------------------------------------------------------------------------
122974 l_entered_amt_idx NUMBER;
122975 l_accted_amt_idx NUMBER;
122976 l_acc_rev_flag VARCHAR2(1);
122977 l_accrual_line_num NUMBER;
122978 l_tmp_amt NUMBER;
122979 l_acc_rev_natural_side_code VARCHAR2(1);
122980
122981 l_num_entries NUMBER;
122982 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
122983 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
122984 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
122985 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
122989 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
122986 l_recog_line_1 NUMBER;
122987 l_recog_line_2 NUMBER;
122988
122990 l_bflow_applied_to_amt NUMBER; -- 5132302
122991 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
122992
122993 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
122994
122995 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
122996 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
122997
122998 ---------------------------------------------------------------------------------------------------------------
122999
123000
123001 --
123002 -- bulk performance
123003 --
123004 l_balance_type_code VARCHAR2(1);
123005 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
123006 l_log_module VARCHAR2(240);
123007
123008 --
123009 -- Upgrade strategy
123010 --
123011 l_actual_upg_option VARCHAR2(1);
123012 l_enc_upg_option VARCHAR2(1);
123013
123014 --
123015 BEGIN
123016 --
123017 IF g_log_enabled THEN
123018 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_207';
123019 END IF;
123020 --
123021 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123022
123023 trace
123024 (p_msg => 'BEGIN of AcctLineType_207'
123025 ,p_level => C_LEVEL_PROCEDURE
123026 ,p_module => l_log_module);
123027
123028 END IF;
123029 --
123030 l_component_type := 'AMB_JLT';
123031 l_component_code := 'AP_NON_RECOV_TAX_INV_ENC';
123032 l_component_type_code := 'S';
123033 l_component_appl_id := 200;
123034 l_amb_context_code := 'DEFAULT';
123035 l_entity_code := 'AP_INVOICES';
123036 l_event_class_code := 'INVOICES';
123037 l_event_type_code := 'INVOICES_ALL';
123038 l_line_definition_owner_code := 'S';
123039 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
123040 --
123041 l_balance_type_code := 'E';
123042 l_segment := NULL;
123043 l_ccid := NULL;
123044 l_adr_transaction_coa_id := NULL;
123045 l_adr_accounting_coa_id := NULL;
123046 l_adr_flexfield_segment_code := NULL;
123047 l_adr_flex_value_set_id := NULL;
123048 l_adr_value_type_code := NULL;
123049 l_adr_value_combination_id := NULL;
123050 l_adr_value_segment_code := NULL;
123051
123052 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
123053 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
123054 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
123055 l_budgetary_control_flag := 'N';
123056
123057 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123058 l_bflow_applied_to_amt := NULL; -- 5132302
123059 l_entered_amt_idx := NULL; -- 4262811
123060 l_accted_amt_idx := NULL; -- 4262811
123061 l_acc_rev_flag := NULL; -- 4262811
123062 l_accrual_line_num := NULL; -- 4262811
123063 l_tmp_amt := NULL; -- 4262811
123064 --
123065
123066 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
123067 l_balance_type_code <> 'B' THEN
123068 IF NVL(p_source_21,'
123069 ') = 'NONREC_TAX' AND
123070 NVL(p_source_135,'
123071 ') <> 'Y' AND
123072 NVL(p_source_86,'
123073 ') = 'Y' AND
123074 NVL(p_source_87,'
123075 ') = 'Y' AND
123076 NVL(p_source_84,'
123077 ') <> 'Y'
123078 THEN
123079
123080 --
123081 XLA_AE_LINES_PKG.SetNewLine;
123082
123083 p_balance_type_code := l_balance_type_code;
123084 -- set the flag so later we will know whether the gain loss line needs to be created
123085
123086 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
123087 p_actual_flag :='A';
123088 END IF;
123089
123090 --
123091 -- bulk performance
123092 --
123093 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
123094 p_header_num => 0); -- 4262811
123095 --
123096 -- set accounting line options
123097 --
123098 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
123099 p_natural_side_code => 'C'
123100 , p_gain_or_loss_flag => 'N'
123101 , p_gl_transfer_mode_code => 'S'
123102 , p_acct_entry_type_code => 'E'
123103 , p_switch_side_flag => 'Y'
123104 , p_merge_duplicate_code => 'A'
123105 );
123106 --
123107 l_acc_rev_natural_side_code := 'D'; -- 4262811
123108 --
123109 --
123110 -- set accounting line type info
123111 --
123112 xla_ae_lines_pkg.SetAcctLineType
123113 (p_component_type => l_component_type
123114 ,p_event_type_code => l_event_type_code
123115 ,p_line_definition_owner_code => l_line_definition_owner_code
123116 ,p_line_definition_code => l_line_definition_code
123117 ,p_accounting_line_code => l_component_code
123118 ,p_accounting_line_type_code => l_component_type_code
123119 ,p_accounting_line_appl_id => l_component_appl_id
123120 ,p_amb_context_code => l_amb_context_code
123121 ,p_entity_code => l_entity_code
123125 --
123122 ,p_event_class_code => l_event_class_code);
123123 --
123124 -- set accounting class
123126 xla_ae_lines_pkg.SetAcctClass(
123127 p_accounting_class_code => 'NRTAX'
123128 , p_ae_header_id => l_ae_header_id
123129 );
123130
123131 --
123132 -- set rounding class
123133 --
123134 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
123135 'NRTAX';
123136
123137 --
123138 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
123139 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
123140 --
123141 -- bulk performance
123142 --
123143 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
123144
123145 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
123146 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
123147
123148 -- 4955764
123149 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123150 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
123151
123152 -- 4458381 Public Sector Enh
123153
123154 --
123155 -- set accounting attributes for the line type
123156 --
123157 l_entered_amt_idx := 24;
123158 l_accted_amt_idx := 26;
123159 l_bflow_applied_to_amt_idx := 7; -- 5132302
123160 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
123161 l_rec_acct_attrs.array_char_value(1) := p_source_41;
123162 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
123163 l_rec_acct_attrs.array_num_value(2) :=
123164 xla_ae_sources_pkg.GetSystemSourceNum(
123165 p_source_code => 'XLA_EVENT_APPL_ID'
123166 , p_source_type_code => 'Y'
123167 , p_source_application_id => 602
123168 );
123169 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
123170 l_rec_acct_attrs.array_char_value(3) := p_source_43;
123171 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
123172 l_rec_acct_attrs.array_char_value(4) :=
123173 xla_ae_sources_pkg.GetSystemSourceChar(
123174 p_source_code => 'XLA_ENTITY_CODE'
123175 , p_source_type_code => 'Y'
123176 , p_source_application_id => 602
123177 );
123178 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
123179 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
123180 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
123181 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
123182 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
123183 l_rec_acct_attrs.array_num_value(7) := p_source_61;
123184 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
123185 l_rec_acct_attrs.array_num_value(8) := p_source_79;
123186 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
123187 l_rec_acct_attrs.array_char_value(9) := p_source_80;
123188 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
123189 l_rec_acct_attrs.array_char_value(10) := p_source_81;
123190 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
123191 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
123192 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
123193 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
123194 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
123195 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
123196 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
123197 l_rec_acct_attrs.array_char_value(14) := p_source_43;
123198 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
123199 l_rec_acct_attrs.array_num_value(15) := p_source_53;
123200 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
123201 l_rec_acct_attrs.array_num_value(16) := p_source_54;
123202 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
123203 l_rec_acct_attrs.array_char_value(17) := p_source_55;
123204 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
123205 l_rec_acct_attrs.array_num_value(18) := p_source_56;
123206 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
123207 l_rec_acct_attrs.array_num_value(19) := p_source_57;
123208 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
123209 l_rec_acct_attrs.array_num_value(20) := p_source_58;
123210 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
123211 l_rec_acct_attrs.array_char_value(21) := p_source_55;
123212 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
123213 l_rec_acct_attrs.array_num_value(22) := p_source_59;
123214 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
123215 l_rec_acct_attrs.array_char_value(23) := p_source_60;
123216 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
123217 l_rec_acct_attrs.array_num_value(24) := p_source_143;
123218 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
123219 l_rec_acct_attrs.array_char_value(25) := p_source_55;
123220 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
123221 l_rec_acct_attrs.array_num_value(26) := p_source_144;
123225 l_rec_acct_attrs.array_char_value(28) := p_source_66;
123222 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
123223 l_rec_acct_attrs.array_date_value(27) := p_source_65;
123224 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
123226 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
123227 l_rec_acct_attrs.array_date_value(29) := p_source_67;
123228 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
123229 l_rec_acct_attrs.array_char_value(30) := p_source_68;
123230 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
123231 l_rec_acct_attrs.array_char_value(31) := p_source_71;
123232 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
123233 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
123234 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
123235 l_rec_acct_attrs.array_char_value(33) := p_source_43;
123236 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
123237 l_rec_acct_attrs.array_num_value(34) := p_source_73;
123238 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
123239 l_rec_acct_attrs.array_num_value(35) := p_source_74;
123240 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
123241 l_rec_acct_attrs.array_num_value(36) := p_source_75;
123242 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
123243 l_rec_acct_attrs.array_num_value(37) := p_source_76;
123244 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
123245 l_rec_acct_attrs.array_num_value(38) := p_source_77;
123246 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
123247 l_rec_acct_attrs.array_num_value(39) := p_source_78;
123248
123249 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
123250 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
123251
123252 ---------------------------------------------------------------------------------------------------------------
123253 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
123254 ---------------------------------------------------------------------------------------------------------------
123255 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
123256
123257 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123258 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123259
123260 IF xla_accounting_cache_pkg.GetValueChar
123261 (p_source_code => 'LEDGER_CATEGORY_CODE'
123262 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
123263 AND l_bflow_method_code = 'PRIOR_ENTRY'
123264 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
123265 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
123266 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
123267 )
123268 THEN
123269 xla_ae_lines_pkg.BflowUpgEntry
123270 (p_business_method_code => l_bflow_method_code
123271 ,p_business_class_code => l_bflow_class_code
123272 ,p_balance_type => l_balance_type_code);
123273 ELSE
123274 NULL;
123275 XLA_AE_LINES_PKG.business_flow_validation(
123276 p_business_method_code => l_bflow_method_code
123277 ,p_business_class_code => l_bflow_class_code
123278 ,p_inherit_description_flag => l_inherit_desc_flag);
123279 END IF;
123280
123281 --
123282 -- call analytical criteria
123283 --
123284 -- Inherited Analytical Criteria for business flow method of Prior Entry.
123285 --
123286 -- call description
123287 --
123288 -- No description or it is inherited.
123289 --
123290 -- call ADRs
123291 -- Bug 4922099
123292 --
123293 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123294 (NVL(l_actual_upg_option, 'N') = 'O') OR
123295 (NVL(l_enc_upg_option, 'N') = 'O')
123296 )
123297 THEN
123298 NULL;
123299 --
123300 --
123301
123302 --
123303 --
123304 END IF;
123305 --
123306 -- Bug 4922099
123307 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123308 (NVL(l_enc_upg_option, 'N') = 'O')
123309 ) AND
123310 (l_bflow_method_code = 'PRIOR_ENTRY')
123311 )
123312 THEN
123313 IF
123314 --
123315 1 = 1
123316 --
123317 THEN
123318 xla_accounting_err_pkg.build_message
123319 (p_appli_s_name => 'XLA'
123320 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123321 ,p_token_1 => 'LINE_NUMBER'
123322 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123323 ,p_token_2 => 'LINE_TYPE_NAME'
123324 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123325 l_component_type
123326 ,l_component_code
123330 ,l_entity_code
123327 ,l_component_type_code
123328 ,l_component_appl_id
123329 ,l_amb_context_code
123331 ,l_event_class_code
123332 )
123333 ,p_token_3 => 'OWNER'
123334 ,p_value_3 => xla_lookups_pkg.get_meaning(
123335 p_lookup_type => 'XLA_OWNER_TYPE'
123336 ,p_lookup_code => l_component_type_code
123337 )
123338 ,p_token_4 => 'PRODUCT_NAME'
123339 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123340 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123341 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123342 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123343 ,p_ae_header_id => NULL
123344 );
123345
123346 IF (C_LEVEL_ERROR>= g_log_level) THEN
123347 trace
123348 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123349 ,p_level => C_LEVEL_ERROR
123350 ,p_module => l_log_module);
123351 END IF;
123352 END IF;
123353 END IF;
123354 --
123355 --
123356 ------------------------------------------------------------------------------------------------
123357 -- 4219869 Business Flow
123358 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123359 -- Prior Entry. Currently, the following code is always generated.
123360 ------------------------------------------------------------------------------------------------
123361 -- No ValidateCurrentLine for business flow method of Prior Entry
123362
123363 ------------------------------------------------------------------------------------
123364 -- 4219869 Business Flow
123365 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
123366 ------------------------------------------------------------------------------------
123367 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123368
123369 ----------------------------------------------------------------------------------
123370 -- 4219869 Business Flow
123371 -- Update journal entry status -- Need to generate this within IF <condition>
123372 ----------------------------------------------------------------------------------
123373 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123374 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
123375 ,p_balance_type_code => l_balance_type_code
123376 );
123377
123378 -------------------------------------------------------------------------------------------
123379 -- 4262811 - Generate the Accrual Reversal lines
123380 -------------------------------------------------------------------------------------------
123381 BEGIN
123382 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
123383 (g_array_event(p_event_id).array_value_num('header_index'));
123384 IF l_acc_rev_flag IS NULL THEN
123385 l_acc_rev_flag := 'N';
123386 END IF;
123387 EXCEPTION
123388 WHEN OTHERS THEN
123389 l_acc_rev_flag := 'N';
123390 END;
123391 --
123392 IF (l_acc_rev_flag = 'Y') THEN
123393
123394 -- 4645092 ------------------------------------------------------------------------------
123395 -- To allow MPA report to determine if it should generate report process
123396 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
123397 ------------------------------------------------------------------------------------------
123398
123399 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
123400 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
123401 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
123402 -- call ADRs
123403 -- Bug 4922099
123404 --
123405 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123406 (NVL(l_actual_upg_option, 'N') = 'O') OR
123407 (NVL(l_enc_upg_option, 'N') = 'O')
123408 )
123409 THEN
123410 NULL;
123411 --
123412 --
123413
123414 --
123415 --
123416 END IF;
123417
123418 --
123419 -- Update the line information that should be overwritten
123420 --
123421 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
123422 p_header_num => 1);
123423 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
123424
123425 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
123426
123430
123427 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
123428 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
123429 END IF;
123431 --
123432 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
123433 --
123434 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
123435 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
123436 ELSE
123437 ---------------------------------------------------------------------------------------------------
123438 -- 4262811a Switch Sign
123439 ---------------------------------------------------------------------------------------------------
123440 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
123441 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123442 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123443 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
123444 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123445 -- 5132302
123446 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
123447 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
123448
123449 END IF;
123450
123451 -- 4955764
123452 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123453 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
123454
123455
123456 XLA_AE_LINES_PKG.ValidateCurrentLine;
123457 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
123458
123459 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
123460 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
123461 ,p_balance_type_code => l_balance_type_code);
123462
123463 END IF;
123464
123465 -----------------------------------------------------------------------------------------
123466 -- 4262811 Multiperiod Accounting
123467 -----------------------------------------------------------------------------------------
123468 -- No MPA option is assigned.
123469
123470
123471 END IF;
123472 END IF;
123473 --
123474
123475 --
123476 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123477 trace
123478 (p_msg => 'END of AcctLineType_207'
123479 ,p_level => C_LEVEL_PROCEDURE
123480 ,p_module => l_log_module);
123481 END IF;
123482 --
123483 EXCEPTION
123484 WHEN xla_exceptions_pkg.application_exception THEN
123485 RAISE;
123486 WHEN OTHERS THEN
123487 xla_exceptions_pkg.raise_message
123488 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_207');
123489 END AcctLineType_207;
123490 --
123491
123492 ---------------------------------------
123493 --
123494 -- PRIVATE FUNCTION
123495 -- AcctLineType_208
123496 --
123497 ---------------------------------------
123498 PROCEDURE AcctLineType_208 (
123499 p_application_id IN NUMBER
123500 ,p_event_id IN NUMBER
123501 ,p_calculate_acctd_flag IN VARCHAR2
123502 ,p_calculate_g_l_flag IN VARCHAR2
123503 ,p_actual_flag IN OUT VARCHAR2
123504 ,p_balance_type_code OUT VARCHAR2
123505 ,p_gain_or_loss_ref OUT VARCHAR2
123506
123507 --Invoice Distribution Type
123508 , p_source_21 IN VARCHAR2
123509 , p_source_21_meaning IN VARCHAR2
123510 --Accounting Reversal Indicator
123511 , p_source_41 IN VARCHAR2
123512 --Distribution Link Type
123513 , p_source_43 IN VARCHAR2
123514 --Allocation to Main Distribution Identifier
123515 , p_source_45 IN NUMBER
123516 --Invoice Identifier
123517 , p_source_46 IN NUMBER
123518 --Invoice Distribution Identifier
123519 , p_source_52 IN NUMBER
123520 --Payables Encumbrance Upgrade Credit Account
123521 , p_source_53 IN NUMBER
123522 --Payables Encumbrance Upgrade Credit Amount
123523 , p_source_54 IN NUMBER
123524 --Invoice Currency Code
123525 , p_source_55 IN VARCHAR2
123526 --Payables Encumbrance Upgrade Credit Base Amount
123527 , p_source_56 IN NUMBER
123528 --Payables Encumbrance Upgrade Debit Account
123529 , p_source_57 IN NUMBER
123530 --Payables Encumbrance Upgrade Debit Amount
123531 , p_source_58 IN NUMBER
123532 --Payables Encumbrance Upgrade Debit Base Amount
123533 , p_source_59 IN NUMBER
123534 --Payables Encumbrance Upgrade Option
123535 , p_source_60 IN VARCHAR2
123536 --Deferred Accounting End Date
123537 , p_source_65 IN DATE
123538 --Deferred Accounting Option
123539 , p_source_66 IN VARCHAR2
123540 --Deferred Accounting Start Date
123541 , p_source_67 IN DATE
123542 --Override Accounted Amount Indicator
123543 , p_source_68 IN VARCHAR2
123544 , p_source_68_meaning IN VARCHAR2
123545 --Third Party Type
123546 , p_source_71 IN VARCHAR2
123547 --Parent Reversal Identifier
123548 , p_source_72 IN NUMBER
123549 --Invoice Distribution Statistical Amount
123550 , p_source_73 IN NUMBER
123554 , p_source_75 IN NUMBER
123551 --Invoice Distribution Tax Line Identifier
123552 , p_source_74 IN NUMBER
123553 --Invoice Distribution Tax Distribution Identifier from Tax
123555 --Invoice Distribution Summary Tax Line Identifier
123556 , p_source_76 IN NUMBER
123557 --Payables Upgrade Credit Encumbrance Type Identifier
123558 , p_source_77 IN NUMBER
123559 --Payables Upgrade Debit Encumbrance Type Identifier
123560 , p_source_78 IN NUMBER
123561 --Business Flow Accounts Payable Application Identifier
123562 , p_source_79 IN NUMBER
123563 --Business Flow Invoice Distribution Type
123564 , p_source_80 IN VARCHAR2
123565 --Business Flow Invoice Entity Code
123566 , p_source_81 IN VARCHAR2
123567 --Business Flow Invoice Distribution Identifier
123568 , p_source_82 IN NUMBER
123569 --Business Flow Invoice Identifier
123570 , p_source_83 IN NUMBER
123571 --Accrue on Receipt Option
123572 , p_source_84 IN VARCHAR2
123573 , p_source_84_meaning IN VARCHAR2
123574 --Purchasing Encumbrance Option
123575 , p_source_86 IN VARCHAR2
123576 , p_source_86_meaning IN VARCHAR2
123577 --Invoice Encumbered Option
123578 , p_source_87 IN VARCHAR2
123579 , p_source_87_meaning IN VARCHAR2
123580 --Self-Assessed Tax Flag
123581 , p_source_135 IN VARCHAR2
123582 , p_source_135_meaning IN VARCHAR2
123583 --Invoice Distribution Encumbrance Amount
123584 , p_source_143 IN NUMBER
123585 --Invoice Distribution Encumbrance Ledger Amount
123586 , p_source_144 IN NUMBER
123587 )
123588 IS
123589
123590 l_component_type VARCHAR2(80);
123591 l_component_code VARCHAR2(30);
123592 l_component_type_code VARCHAR2(1);
123593 l_component_appl_id INTEGER;
123594 l_amb_context_code VARCHAR2(30);
123595 l_entity_code VARCHAR2(30);
123596 l_event_class_code VARCHAR2(30);
123597 l_ae_header_id NUMBER;
123598 l_event_type_code VARCHAR2(30);
123599 l_line_definition_code VARCHAR2(30);
123600 l_line_definition_owner_code VARCHAR2(1);
123601 --
123602 -- adr variables
123603 l_segment VARCHAR2(30);
123604 l_ccid NUMBER;
123605 l_adr_transaction_coa_id NUMBER;
123606 l_adr_accounting_coa_id NUMBER;
123607 l_adr_flexfield_segment_code VARCHAR2(30);
123608 l_adr_flex_value_set_id NUMBER;
123609 l_adr_value_type_code VARCHAR2(30);
123610 l_adr_value_combination_id NUMBER;
123611 l_adr_value_segment_code VARCHAR2(30);
123612
123613 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
123614 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
123615 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
123616 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
123617
123618 -- 4262811 Variables ------------------------------------------------------------------------------------------
123619 l_entered_amt_idx NUMBER;
123620 l_accted_amt_idx NUMBER;
123621 l_acc_rev_flag VARCHAR2(1);
123622 l_accrual_line_num NUMBER;
123623 l_tmp_amt NUMBER;
123624 l_acc_rev_natural_side_code VARCHAR2(1);
123625
123626 l_num_entries NUMBER;
123627 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
123628 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
123629 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
123630 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
123631 l_recog_line_1 NUMBER;
123632 l_recog_line_2 NUMBER;
123633
123634 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
123635 l_bflow_applied_to_amt NUMBER; -- 5132302
123636 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
123637
123638 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
123639
123640 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
123641 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
123642
123643 ---------------------------------------------------------------------------------------------------------------
123644
123645
123646 --
123647 -- bulk performance
123648 --
123649 l_balance_type_code VARCHAR2(1);
123650 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
123651 l_log_module VARCHAR2(240);
123652
123653 --
123654 -- Upgrade strategy
123655 --
123656 l_actual_upg_option VARCHAR2(1);
123657 l_enc_upg_option VARCHAR2(1);
123658
123659 --
123660 BEGIN
123661 --
123662 IF g_log_enabled THEN
123663 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_208';
123664 END IF;
123665 --
123666 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
123667
123668 trace
123669 (p_msg => 'BEGIN of AcctLineType_208'
123670 ,p_level => C_LEVEL_PROCEDURE
123671 ,p_module => l_log_module);
123672
123673 END IF;
123674 --
123675 l_component_type := 'AMB_JLT';
123676 l_component_code := 'AP_NON_RECOV_TAX_PP_ENC';
123677 l_component_type_code := 'S';
123678 l_component_appl_id := 200;
123679 l_amb_context_code := 'DEFAULT';
123683 l_line_definition_owner_code := 'S';
123680 l_entity_code := 'AP_INVOICES';
123681 l_event_class_code := 'PREPAYMENTS';
123682 l_event_type_code := 'PREPAYMENTS_ALL';
123684 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
123685 --
123686 l_balance_type_code := 'E';
123687 l_segment := NULL;
123688 l_ccid := NULL;
123689 l_adr_transaction_coa_id := NULL;
123690 l_adr_accounting_coa_id := NULL;
123691 l_adr_flexfield_segment_code := NULL;
123692 l_adr_flex_value_set_id := NULL;
123693 l_adr_value_type_code := NULL;
123694 l_adr_value_combination_id := NULL;
123695 l_adr_value_segment_code := NULL;
123696
123697 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
123698 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
123699 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
123700 l_budgetary_control_flag := 'N';
123701
123702 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123703 l_bflow_applied_to_amt := NULL; -- 5132302
123704 l_entered_amt_idx := NULL; -- 4262811
123705 l_accted_amt_idx := NULL; -- 4262811
123706 l_acc_rev_flag := NULL; -- 4262811
123707 l_accrual_line_num := NULL; -- 4262811
123708 l_tmp_amt := NULL; -- 4262811
123709 --
123710
123711 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
123712 l_balance_type_code <> 'B' THEN
123713 IF NVL(p_source_21,'
123714 ') = 'NONREC_TAX' AND
123715 NVL(p_source_135,'
123716 ') <> 'Y' AND
123717 NVL(p_source_86,'
123718 ') = 'Y' AND
123719 NVL(p_source_87,'
123720 ') = 'Y' AND
123721 NVL(p_source_84,'
123722 ') <> 'Y'
123723 THEN
123724
123725 --
123726 XLA_AE_LINES_PKG.SetNewLine;
123727
123728 p_balance_type_code := l_balance_type_code;
123729 -- set the flag so later we will know whether the gain loss line needs to be created
123730
123731 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
123732 p_actual_flag :='A';
123733 END IF;
123734
123735 --
123736 -- bulk performance
123737 --
123738 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
123739 p_header_num => 0); -- 4262811
123740 --
123741 -- set accounting line options
123742 --
123743 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
123744 p_natural_side_code => 'C'
123745 , p_gain_or_loss_flag => 'N'
123746 , p_gl_transfer_mode_code => 'S'
123747 , p_acct_entry_type_code => 'E'
123748 , p_switch_side_flag => 'Y'
123749 , p_merge_duplicate_code => 'A'
123750 );
123751 --
123752 l_acc_rev_natural_side_code := 'D'; -- 4262811
123753 --
123754 --
123755 -- set accounting line type info
123756 --
123757 xla_ae_lines_pkg.SetAcctLineType
123758 (p_component_type => l_component_type
123759 ,p_event_type_code => l_event_type_code
123760 ,p_line_definition_owner_code => l_line_definition_owner_code
123761 ,p_line_definition_code => l_line_definition_code
123762 ,p_accounting_line_code => l_component_code
123763 ,p_accounting_line_type_code => l_component_type_code
123764 ,p_accounting_line_appl_id => l_component_appl_id
123765 ,p_amb_context_code => l_amb_context_code
123766 ,p_entity_code => l_entity_code
123767 ,p_event_class_code => l_event_class_code);
123768 --
123769 -- set accounting class
123770 --
123771 xla_ae_lines_pkg.SetAcctClass(
123772 p_accounting_class_code => 'NRTAX'
123773 , p_ae_header_id => l_ae_header_id
123774 );
123775
123776 --
123777 -- set rounding class
123778 --
123779 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
123780 'NRTAX';
123781
123782 --
123783 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
123784 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
123785 --
123786 -- bulk performance
123787 --
123788 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
123789
123790 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
123791 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
123792
123793 -- 4955764
123794 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
123795 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
123796
123797 -- 4458381 Public Sector Enh
123798
123799 --
123800 -- set accounting attributes for the line type
123801 --
123802 l_entered_amt_idx := 23;
123803 l_accted_amt_idx := 25;
123804 l_bflow_applied_to_amt_idx := NULL; -- 5132302
123805 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
123806 l_rec_acct_attrs.array_char_value(1) := p_source_41;
123807 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
123808 l_rec_acct_attrs.array_num_value(2) :=
123812 , p_source_application_id => 602
123809 xla_ae_sources_pkg.GetSystemSourceNum(
123810 p_source_code => 'XLA_EVENT_APPL_ID'
123811 , p_source_type_code => 'Y'
123813 );
123814 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
123815 l_rec_acct_attrs.array_char_value(3) := p_source_43;
123816 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
123817 l_rec_acct_attrs.array_char_value(4) :=
123818 xla_ae_sources_pkg.GetSystemSourceChar(
123819 p_source_code => 'XLA_ENTITY_CODE'
123820 , p_source_type_code => 'Y'
123821 , p_source_application_id => 602
123822 );
123823 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
123824 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
123825 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
123826 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
123827 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
123828 l_rec_acct_attrs.array_num_value(7) := p_source_79;
123829 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
123830 l_rec_acct_attrs.array_char_value(8) := p_source_80;
123831 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
123832 l_rec_acct_attrs.array_char_value(9) := p_source_81;
123833 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
123834 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
123835 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
123836 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
123837 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
123838 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
123839 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
123840 l_rec_acct_attrs.array_char_value(13) := p_source_43;
123841 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
123842 l_rec_acct_attrs.array_num_value(14) := p_source_53;
123843 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
123844 l_rec_acct_attrs.array_num_value(15) := p_source_54;
123845 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
123846 l_rec_acct_attrs.array_char_value(16) := p_source_55;
123847 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
123848 l_rec_acct_attrs.array_num_value(17) := p_source_56;
123849 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
123850 l_rec_acct_attrs.array_num_value(18) := p_source_57;
123851 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
123852 l_rec_acct_attrs.array_num_value(19) := p_source_58;
123853 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
123854 l_rec_acct_attrs.array_char_value(20) := p_source_55;
123855 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
123856 l_rec_acct_attrs.array_num_value(21) := p_source_59;
123857 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
123858 l_rec_acct_attrs.array_char_value(22) := p_source_60;
123859 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
123860 l_rec_acct_attrs.array_num_value(23) := p_source_143;
123861 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
123862 l_rec_acct_attrs.array_char_value(24) := p_source_55;
123863 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
123864 l_rec_acct_attrs.array_num_value(25) := p_source_144;
123865 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
123866 l_rec_acct_attrs.array_date_value(26) := p_source_65;
123867 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
123868 l_rec_acct_attrs.array_char_value(27) := p_source_66;
123869 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
123870 l_rec_acct_attrs.array_date_value(28) := p_source_67;
123871 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
123872 l_rec_acct_attrs.array_char_value(29) := p_source_68;
123873 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
123874 l_rec_acct_attrs.array_char_value(30) := p_source_71;
123875 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
123876 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
123877 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
123878 l_rec_acct_attrs.array_char_value(32) := p_source_43;
123879 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
123880 l_rec_acct_attrs.array_num_value(33) := p_source_73;
123881 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
123882 l_rec_acct_attrs.array_num_value(34) := p_source_74;
123883 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
123884 l_rec_acct_attrs.array_num_value(35) := p_source_75;
123885 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
123886 l_rec_acct_attrs.array_num_value(36) := p_source_76;
123887 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
123888 l_rec_acct_attrs.array_num_value(37) := p_source_77;
123889 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
123890 l_rec_acct_attrs.array_num_value(38) := p_source_78;
123891
123892 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
123893 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
123894
123895 ---------------------------------------------------------------------------------------------------------------
123899
123896 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
123897 ---------------------------------------------------------------------------------------------------------------
123898 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
123900 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123901 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
123902
123903 IF xla_accounting_cache_pkg.GetValueChar
123904 (p_source_code => 'LEDGER_CATEGORY_CODE'
123905 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
123906 AND l_bflow_method_code = 'PRIOR_ENTRY'
123907 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
123908 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
123909 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
123910 )
123911 THEN
123912 xla_ae_lines_pkg.BflowUpgEntry
123913 (p_business_method_code => l_bflow_method_code
123914 ,p_business_class_code => l_bflow_class_code
123915 ,p_balance_type => l_balance_type_code);
123916 ELSE
123917 NULL;
123918 XLA_AE_LINES_PKG.business_flow_validation(
123919 p_business_method_code => l_bflow_method_code
123920 ,p_business_class_code => l_bflow_class_code
123921 ,p_inherit_description_flag => l_inherit_desc_flag);
123922 END IF;
123923
123924 --
123925 -- call analytical criteria
123926 --
123927 -- Inherited Analytical Criteria for business flow method of Prior Entry.
123928 --
123929 -- call description
123930 --
123931 -- No description or it is inherited.
123932 --
123933 -- call ADRs
123934 -- Bug 4922099
123935 --
123936 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
123937 (NVL(l_actual_upg_option, 'N') = 'O') OR
123938 (NVL(l_enc_upg_option, 'N') = 'O')
123939 )
123940 THEN
123941 NULL;
123942 --
123943 --
123944
123945 --
123946 --
123947 END IF;
123948 --
123949 -- Bug 4922099
123950 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
123951 (NVL(l_enc_upg_option, 'N') = 'O')
123952 ) AND
123953 (l_bflow_method_code = 'PRIOR_ENTRY')
123954 )
123955 THEN
123956 IF
123957 --
123958 1 = 1
123959 --
123960 THEN
123961 xla_accounting_err_pkg.build_message
123962 (p_appli_s_name => 'XLA'
123963 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123964 ,p_token_1 => 'LINE_NUMBER'
123965 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
123966 ,p_token_2 => 'LINE_TYPE_NAME'
123967 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
123968 l_component_type
123969 ,l_component_code
123970 ,l_component_type_code
123971 ,l_component_appl_id
123972 ,l_amb_context_code
123973 ,l_entity_code
123974 ,l_event_class_code
123975 )
123976 ,p_token_3 => 'OWNER'
123977 ,p_value_3 => xla_lookups_pkg.get_meaning(
123978 p_lookup_type => 'XLA_OWNER_TYPE'
123979 ,p_lookup_code => l_component_type_code
123980 )
123981 ,p_token_4 => 'PRODUCT_NAME'
123982 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
123983 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
123984 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
123985 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
123986 ,p_ae_header_id => NULL
123987 );
123988
123989 IF (C_LEVEL_ERROR>= g_log_level) THEN
123990 trace
123991 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
123992 ,p_level => C_LEVEL_ERROR
123993 ,p_module => l_log_module);
123994 END IF;
123995 END IF;
123996 END IF;
123997 --
124001 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
123998 --
123999 ------------------------------------------------------------------------------------------------
124000 -- 4219869 Business Flow
124002 -- Prior Entry. Currently, the following code is always generated.
124003 ------------------------------------------------------------------------------------------------
124004 -- No ValidateCurrentLine for business flow method of Prior Entry
124005
124006 ------------------------------------------------------------------------------------
124007 -- 4219869 Business Flow
124008 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
124009 ------------------------------------------------------------------------------------
124010 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124011
124012 ----------------------------------------------------------------------------------
124013 -- 4219869 Business Flow
124014 -- Update journal entry status -- Need to generate this within IF <condition>
124015 ----------------------------------------------------------------------------------
124016 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124017 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
124018 ,p_balance_type_code => l_balance_type_code
124019 );
124020
124021 -------------------------------------------------------------------------------------------
124022 -- 4262811 - Generate the Accrual Reversal lines
124023 -------------------------------------------------------------------------------------------
124024 BEGIN
124025 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
124026 (g_array_event(p_event_id).array_value_num('header_index'));
124027 IF l_acc_rev_flag IS NULL THEN
124028 l_acc_rev_flag := 'N';
124029 END IF;
124030 EXCEPTION
124031 WHEN OTHERS THEN
124032 l_acc_rev_flag := 'N';
124033 END;
124034 --
124035 IF (l_acc_rev_flag = 'Y') THEN
124036
124037 -- 4645092 ------------------------------------------------------------------------------
124038 -- To allow MPA report to determine if it should generate report process
124039 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
124040 ------------------------------------------------------------------------------------------
124041
124042 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
124043 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
124044 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
124045 -- call ADRs
124046 -- Bug 4922099
124047 --
124048 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124049 (NVL(l_actual_upg_option, 'N') = 'O') OR
124050 (NVL(l_enc_upg_option, 'N') = 'O')
124051 )
124052 THEN
124053 NULL;
124054 --
124055 --
124056
124057 --
124058 --
124059 END IF;
124060
124061 --
124062 -- Update the line information that should be overwritten
124063 --
124064 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
124065 p_header_num => 1);
124066 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
124067
124068 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
124069
124070 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
124071 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
124072 END IF;
124073
124074 --
124075 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
124076 --
124077 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
124078 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
124079 ELSE
124080 ---------------------------------------------------------------------------------------------------
124081 -- 4262811a Switch Sign
124082 ---------------------------------------------------------------------------------------------------
124083 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
124084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124085 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124087 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124088 -- 5132302
124089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
124090 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124091
124092 END IF;
124093
124094 -- 4955764
124095 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124096 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
124097
124098
124099 XLA_AE_LINES_PKG.ValidateCurrentLine;
124100 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124101
124102 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124106 END IF;
124103 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
124104 ,p_balance_type_code => l_balance_type_code);
124105
124107
124108 -----------------------------------------------------------------------------------------
124109 -- 4262811 Multiperiod Accounting
124110 -----------------------------------------------------------------------------------------
124111 -- No MPA option is assigned.
124112
124113
124114 END IF;
124115 END IF;
124116 --
124117
124118 --
124119 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124120 trace
124121 (p_msg => 'END of AcctLineType_208'
124122 ,p_level => C_LEVEL_PROCEDURE
124123 ,p_module => l_log_module);
124124 END IF;
124125 --
124126 EXCEPTION
124127 WHEN xla_exceptions_pkg.application_exception THEN
124128 RAISE;
124129 WHEN OTHERS THEN
124130 xla_exceptions_pkg.raise_message
124131 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_208');
124132 END AcctLineType_208;
124133 --
124134
124135 ---------------------------------------
124136 --
124137 -- PRIVATE FUNCTION
124138 -- AcctLineType_209
124139 --
124140 ---------------------------------------
124141 PROCEDURE AcctLineType_209 (
124142 p_application_id IN NUMBER
124143 ,p_event_id IN NUMBER
124144 ,p_calculate_acctd_flag IN VARCHAR2
124145 ,p_calculate_g_l_flag IN VARCHAR2
124146 ,p_actual_flag IN OUT VARCHAR2
124147 ,p_balance_type_code OUT VARCHAR2
124148 ,p_gain_or_loss_ref OUT VARCHAR2
124149
124150 --Invoice Distribution Description
124151 , p_source_1 IN VARCHAR2
124152 --Invoice Distribution Ledger Amount
124153 , p_source_9 IN NUMBER
124154 --Invoice Distribution Account
124155 , p_source_18 IN NUMBER
124156 --Invoice Distribution Type
124157 , p_source_21 IN VARCHAR2
124158 , p_source_21_meaning IN VARCHAR2
124159 --Accounting Reversal Indicator
124160 , p_source_41 IN VARCHAR2
124161 --Distribution Link Type
124162 , p_source_43 IN VARCHAR2
124163 --Allocation to Main Distribution Identifier
124164 , p_source_45 IN NUMBER
124165 --Invoice Identifier
124166 , p_source_46 IN NUMBER
124167 --Invoice Distribution Identifier
124168 , p_source_52 IN NUMBER
124169 --Payables Encumbrance Upgrade Credit Account
124170 , p_source_53 IN NUMBER
124171 --Payables Encumbrance Upgrade Credit Amount
124172 , p_source_54 IN NUMBER
124173 --Invoice Currency Code
124174 , p_source_55 IN VARCHAR2
124175 --Payables Encumbrance Upgrade Credit Base Amount
124176 , p_source_56 IN NUMBER
124177 --Payables Encumbrance Upgrade Debit Account
124178 , p_source_57 IN NUMBER
124179 --Payables Encumbrance Upgrade Debit Amount
124180 , p_source_58 IN NUMBER
124181 --Payables Encumbrance Upgrade Debit Base Amount
124182 , p_source_59 IN NUMBER
124183 --Payables Encumbrance Upgrade Option
124184 , p_source_60 IN VARCHAR2
124185 --Invoice Distribution Amount
124186 , p_source_61 IN NUMBER
124187 --Deferred Accounting End Date
124188 , p_source_65 IN DATE
124189 --Deferred Accounting Option
124190 , p_source_66 IN VARCHAR2
124191 --Deferred Accounting Start Date
124192 , p_source_67 IN DATE
124193 --Override Accounted Amount Indicator
124194 , p_source_68 IN VARCHAR2
124195 , p_source_68_meaning IN VARCHAR2
124196 --Invoice Supplier Identifier
124197 , p_source_69 IN NUMBER
124198 --Invoice Supplier Site Identifier
124199 , p_source_70 IN NUMBER
124200 --Third Party Type
124201 , p_source_71 IN VARCHAR2
124202 --Parent Reversal Identifier
124203 , p_source_72 IN NUMBER
124204 --Invoice Distribution Statistical Amount
124205 , p_source_73 IN NUMBER
124206 --Invoice Distribution Tax Line Identifier
124207 , p_source_74 IN NUMBER
124208 --Invoice Distribution Tax Distribution Identifier from Tax
124209 , p_source_75 IN NUMBER
124210 --Invoice Distribution Summary Tax Line Identifier
124211 , p_source_76 IN NUMBER
124212 --Payables Upgrade Credit Encumbrance Type Identifier
124213 , p_source_77 IN NUMBER
124214 --Payables Upgrade Debit Encumbrance Type Identifier
124215 , p_source_78 IN NUMBER
124216 --Business Flow Accounts Payable Application Identifier
124217 , p_source_79 IN NUMBER
124218 --Business Flow Invoice Distribution Type
124219 , p_source_80 IN VARCHAR2
124220 --Business Flow Invoice Entity Code
124221 , p_source_81 IN VARCHAR2
124222 --Business Flow Invoice Distribution Identifier
124223 , p_source_82 IN NUMBER
124224 --Business Flow Invoice Identifier
124225 , p_source_83 IN NUMBER
124226 --Accrue on Receipt Option
124227 , p_source_84 IN VARCHAR2
124228 , p_source_84_meaning IN VARCHAR2
124229 --Self-Assessed Tax Flag
124230 , p_source_135 IN VARCHAR2
124231 , p_source_135_meaning IN VARCHAR2
124232 --Invoice Exchange Date
124233 , p_source_136 IN DATE
124234 --Invoice Exchange Rate
124235 , p_source_137 IN NUMBER
124236 --Invoice Exchange Rate Type
124237 , p_source_138 IN VARCHAR2
124238 )
124239 IS
124240
124241 l_component_type VARCHAR2(80);
124245 l_amb_context_code VARCHAR2(30);
124242 l_component_code VARCHAR2(30);
124243 l_component_type_code VARCHAR2(1);
124244 l_component_appl_id INTEGER;
124246 l_entity_code VARCHAR2(30);
124247 l_event_class_code VARCHAR2(30);
124248 l_ae_header_id NUMBER;
124249 l_event_type_code VARCHAR2(30);
124250 l_line_definition_code VARCHAR2(30);
124251 l_line_definition_owner_code VARCHAR2(1);
124252 --
124253 -- adr variables
124254 l_segment VARCHAR2(30);
124255 l_ccid NUMBER;
124256 l_adr_transaction_coa_id NUMBER;
124257 l_adr_accounting_coa_id NUMBER;
124258 l_adr_flexfield_segment_code VARCHAR2(30);
124259 l_adr_flex_value_set_id NUMBER;
124260 l_adr_value_type_code VARCHAR2(30);
124261 l_adr_value_combination_id NUMBER;
124262 l_adr_value_segment_code VARCHAR2(30);
124263
124264 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124265 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124266 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124267 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124268
124269 -- 4262811 Variables ------------------------------------------------------------------------------------------
124270 l_entered_amt_idx NUMBER;
124271 l_accted_amt_idx NUMBER;
124272 l_acc_rev_flag VARCHAR2(1);
124273 l_accrual_line_num NUMBER;
124274 l_tmp_amt NUMBER;
124275 l_acc_rev_natural_side_code VARCHAR2(1);
124276
124277 l_num_entries NUMBER;
124278 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
124279 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
124280 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
124281 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
124282 l_recog_line_1 NUMBER;
124283 l_recog_line_2 NUMBER;
124284
124285 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
124286 l_bflow_applied_to_amt NUMBER; -- 5132302
124287 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
124288
124289 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
124290
124291 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
124292 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
124293
124294 ---------------------------------------------------------------------------------------------------------------
124295
124296
124297 --
124298 -- bulk performance
124299 --
124300 l_balance_type_code VARCHAR2(1);
124301 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
124302 l_log_module VARCHAR2(240);
124303
124304 --
124305 -- Upgrade strategy
124306 --
124307 l_actual_upg_option VARCHAR2(1);
124308 l_enc_upg_option VARCHAR2(1);
124309
124310 --
124311 BEGIN
124312 --
124313 IF g_log_enabled THEN
124314 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_209';
124315 END IF;
124316 --
124317 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124318
124319 trace
124320 (p_msg => 'BEGIN of AcctLineType_209'
124321 ,p_level => C_LEVEL_PROCEDURE
124322 ,p_module => l_log_module);
124323
124324 END IF;
124325 --
124326 l_component_type := 'AMB_JLT';
124327 l_component_code := 'AP_NON_RECOV_TAX_PREPAY';
124328 l_component_type_code := 'S';
124329 l_component_appl_id := 200;
124330 l_amb_context_code := 'DEFAULT';
124331 l_entity_code := 'AP_INVOICES';
124332 l_event_class_code := 'PREPAYMENTS';
124333 l_event_type_code := 'PREPAYMENTS_ALL';
124334 l_line_definition_owner_code := 'S';
124335 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
124336 --
124337 l_balance_type_code := 'A';
124338 l_segment := NULL;
124339 l_ccid := NULL;
124340 l_adr_transaction_coa_id := NULL;
124341 l_adr_accounting_coa_id := NULL;
124342 l_adr_flexfield_segment_code := NULL;
124343 l_adr_flex_value_set_id := NULL;
124344 l_adr_value_type_code := NULL;
124345 l_adr_value_combination_id := NULL;
124346 l_adr_value_segment_code := NULL;
124347
124348 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
124349 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
124350 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
124351 l_budgetary_control_flag := 'N';
124352
124353 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124354 l_bflow_applied_to_amt := NULL; -- 5132302
124355 l_entered_amt_idx := NULL; -- 4262811
124356 l_accted_amt_idx := NULL; -- 4262811
124357 l_acc_rev_flag := NULL; -- 4262811
124358 l_accrual_line_num := NULL; -- 4262811
124359 l_tmp_amt := NULL; -- 4262811
124360 --
124361
124362 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
124363 l_balance_type_code <> 'B' THEN
124364 IF (NVL(p_source_21,'
124365 ') = 'NONREC_TAX' OR
124366 NVL(p_source_21,'
124367 ') = 'TERV' OR
124368 NVL(p_source_21,'
124369 ') = 'TIPV' OR
124373 ') <> 'Y' AND
124370 NVL(p_source_21,'
124371 ') = 'TRV') AND
124372 NVL(p_source_84,'
124374 NVL(p_source_135,'
124375 ') <> 'Y'
124376 THEN
124377
124378 --
124379 XLA_AE_LINES_PKG.SetNewLine;
124380
124381 p_balance_type_code := l_balance_type_code;
124382 -- set the flag so later we will know whether the gain loss line needs to be created
124383
124384 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
124385 p_actual_flag :='A';
124386 END IF;
124387
124388 --
124389 -- bulk performance
124390 --
124391 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
124392 p_header_num => 0); -- 4262811
124393 --
124394 -- set accounting line options
124395 --
124396 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
124397 p_natural_side_code => 'D'
124398 , p_gain_or_loss_flag => 'N'
124399 , p_gl_transfer_mode_code => 'S'
124400 , p_acct_entry_type_code => 'A'
124401 , p_switch_side_flag => 'Y'
124402 , p_merge_duplicate_code => 'A'
124403 );
124404 --
124405 l_acc_rev_natural_side_code := 'C'; -- 4262811
124406 --
124407 --
124408 -- set accounting line type info
124409 --
124410 xla_ae_lines_pkg.SetAcctLineType
124411 (p_component_type => l_component_type
124412 ,p_event_type_code => l_event_type_code
124413 ,p_line_definition_owner_code => l_line_definition_owner_code
124414 ,p_line_definition_code => l_line_definition_code
124415 ,p_accounting_line_code => l_component_code
124416 ,p_accounting_line_type_code => l_component_type_code
124417 ,p_accounting_line_appl_id => l_component_appl_id
124418 ,p_amb_context_code => l_amb_context_code
124419 ,p_entity_code => l_entity_code
124420 ,p_event_class_code => l_event_class_code);
124421 --
124422 -- set accounting class
124423 --
124424 xla_ae_lines_pkg.SetAcctClass(
124425 p_accounting_class_code => 'NRTAX'
124426 , p_ae_header_id => l_ae_header_id
124427 );
124428
124429 --
124430 -- set rounding class
124431 --
124432 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
124433 'NRTAX';
124434
124435 --
124436 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
124437 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
124438 --
124439 -- bulk performance
124440 --
124441 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
124442
124443 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
124444 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
124445
124446 -- 4955764
124447 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124448 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
124449
124450 -- 4458381 Public Sector Enh
124451
124452 --
124453 -- set accounting attributes for the line type
124454 --
124455 l_entered_amt_idx := 23;
124456 l_accted_amt_idx := 28;
124457 l_bflow_applied_to_amt_idx := NULL; -- 5132302
124458 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
124459 l_rec_acct_attrs.array_char_value(1) := p_source_41;
124460 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
124461 l_rec_acct_attrs.array_num_value(2) :=
124462 xla_ae_sources_pkg.GetSystemSourceNum(
124463 p_source_code => 'XLA_EVENT_APPL_ID'
124464 , p_source_type_code => 'Y'
124465 , p_source_application_id => 602
124466 );
124467 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
124468 l_rec_acct_attrs.array_char_value(3) := p_source_43;
124469 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
124470 l_rec_acct_attrs.array_char_value(4) :=
124471 xla_ae_sources_pkg.GetSystemSourceChar(
124472 p_source_code => 'XLA_ENTITY_CODE'
124473 , p_source_type_code => 'Y'
124474 , p_source_application_id => 602
124475 );
124476 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
124477 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
124478 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
124479 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
124480 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
124481 l_rec_acct_attrs.array_num_value(7) := p_source_79;
124482 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
124483 l_rec_acct_attrs.array_char_value(8) := p_source_80;
124484 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
124485 l_rec_acct_attrs.array_char_value(9) := p_source_81;
124486 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
124487 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
124488 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
124489 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
124493 l_rec_acct_attrs.array_char_value(13) := p_source_43;
124490 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
124491 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
124492 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
124494 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
124495 l_rec_acct_attrs.array_num_value(14) := p_source_53;
124496 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
124497 l_rec_acct_attrs.array_num_value(15) := p_source_54;
124498 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
124499 l_rec_acct_attrs.array_char_value(16) := p_source_55;
124500 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
124501 l_rec_acct_attrs.array_num_value(17) := p_source_56;
124502 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
124503 l_rec_acct_attrs.array_num_value(18) := p_source_57;
124504 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
124505 l_rec_acct_attrs.array_num_value(19) := p_source_58;
124506 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
124507 l_rec_acct_attrs.array_char_value(20) := p_source_55;
124508 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
124509 l_rec_acct_attrs.array_num_value(21) := p_source_59;
124510 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
124511 l_rec_acct_attrs.array_char_value(22) := p_source_60;
124512 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
124513 l_rec_acct_attrs.array_num_value(23) := p_source_61;
124514 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
124515 l_rec_acct_attrs.array_char_value(24) := p_source_55;
124516 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
124517 l_rec_acct_attrs.array_date_value(25) := p_source_136;
124518 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
124519 l_rec_acct_attrs.array_num_value(26) := p_source_137;
124520 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
124521 l_rec_acct_attrs.array_char_value(27) := p_source_138;
124522 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
124523 l_rec_acct_attrs.array_num_value(28) := p_source_9;
124524 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
124525 l_rec_acct_attrs.array_date_value(29) := p_source_65;
124526 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
124527 l_rec_acct_attrs.array_char_value(30) := p_source_66;
124528 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
124529 l_rec_acct_attrs.array_date_value(31) := p_source_67;
124530 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
124531 l_rec_acct_attrs.array_char_value(32) := p_source_68;
124532 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
124533 l_rec_acct_attrs.array_num_value(33) := p_source_69;
124534 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
124535 l_rec_acct_attrs.array_num_value(34) := p_source_70;
124536 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
124537 l_rec_acct_attrs.array_char_value(35) := p_source_71;
124538 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
124539 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
124540 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
124541 l_rec_acct_attrs.array_char_value(37) := p_source_43;
124542 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
124543 l_rec_acct_attrs.array_num_value(38) := p_source_73;
124544 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
124545 l_rec_acct_attrs.array_num_value(39) := p_source_74;
124546 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
124547 l_rec_acct_attrs.array_num_value(40) := p_source_75;
124548 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
124549 l_rec_acct_attrs.array_num_value(41) := p_source_76;
124550 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
124551 l_rec_acct_attrs.array_num_value(42) := p_source_77;
124552 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
124553 l_rec_acct_attrs.array_num_value(43) := p_source_78;
124554
124555 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
124556 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
124557
124558 ---------------------------------------------------------------------------------------------------------------
124559 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
124560 ---------------------------------------------------------------------------------------------------------------
124561 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
124562
124563 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124564 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
124565
124566 IF xla_accounting_cache_pkg.GetValueChar
124567 (p_source_code => 'LEDGER_CATEGORY_CODE'
124568 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
124569 AND l_bflow_method_code = 'PRIOR_ENTRY'
124570 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
124571 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
124575 xla_ae_lines_pkg.BflowUpgEntry
124572 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
124573 )
124574 THEN
124576 (p_business_method_code => l_bflow_method_code
124577 ,p_business_class_code => l_bflow_class_code
124578 ,p_balance_type => l_balance_type_code);
124579 ELSE
124580 NULL;
124581 -- No business flow processing for business flow method of NONE.
124582 END IF;
124583
124584 --
124585 -- call analytical criteria
124586 --
124587
124588 --
124589 -- call description
124590 --
124591
124592 xla_ae_lines_pkg.SetLineDescription(
124593 p_ae_header_id => l_ae_header_id
124594 ,p_description => Description_2 (
124595 p_application_id => p_application_id
124596 , p_ae_header_id => l_ae_header_id
124597 , p_source_1 => p_source_1
124598 )
124599 );
124600
124601
124602 --
124603 -- call ADRs
124604 -- Bug 4922099
124605 --
124606 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124607 (NVL(l_actual_upg_option, 'N') = 'O') OR
124608 (NVL(l_enc_upg_option, 'N') = 'O')
124609 )
124610 THEN
124611 NULL;
124612 --
124613 --
124614
124615 l_ccid := AcctDerRule_32(
124616 p_application_id => p_application_id
124617 , p_ae_header_id => l_ae_header_id
124618 , p_source_18 => p_source_18
124619 , x_transaction_coa_id => l_adr_transaction_coa_id
124620 , x_accounting_coa_id => l_adr_accounting_coa_id
124621 , x_value_type_code => l_adr_value_type_code
124622 , p_side => 'NA'
124623 );
124624
124625 xla_ae_lines_pkg.set_ccid(
124626 p_code_combination_id => l_ccid
124627 , p_value_type_code => l_adr_value_type_code
124628 , p_transaction_coa_id => l_adr_transaction_coa_id
124629 , p_accounting_coa_id => l_adr_accounting_coa_id
124630 , p_adr_code => 'AP_INVOICE_DIST'
124631 , p_adr_type_code => 'S'
124632 , p_component_type => l_component_type
124633 , p_component_code => l_component_code
124634 , p_component_type_code => l_component_type_code
124635 , p_component_appl_id => l_component_appl_id
124636 , p_amb_context_code => l_amb_context_code
124637 , p_side => 'NA'
124638 );
124639
124640
124641 --
124642 --
124643 END IF;
124644 --
124645 -- Bug 4922099
124646 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
124647 (NVL(l_enc_upg_option, 'N') = 'O')
124648 ) AND
124649 (l_bflow_method_code = 'PRIOR_ENTRY')
124650 )
124651 THEN
124652 IF
124653 --
124654 1 = 2
124655 --
124656 THEN
124657 xla_accounting_err_pkg.build_message
124658 (p_appli_s_name => 'XLA'
124659 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124660 ,p_token_1 => 'LINE_NUMBER'
124661 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
124662 ,p_token_2 => 'LINE_TYPE_NAME'
124663 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
124664 l_component_type
124665 ,l_component_code
124666 ,l_component_type_code
124667 ,l_component_appl_id
124668 ,l_amb_context_code
124669 ,l_entity_code
124670 ,l_event_class_code
124671 )
124672 ,p_token_3 => 'OWNER'
124673 ,p_value_3 => xla_lookups_pkg.get_meaning(
124674 p_lookup_type => 'XLA_OWNER_TYPE'
124675 ,p_lookup_code => l_component_type_code
124676 )
124677 ,p_token_4 => 'PRODUCT_NAME'
124678 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
124679 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
124680 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
124681 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
124682 ,p_ae_header_id => NULL
124683 );
124684
124685 IF (C_LEVEL_ERROR>= g_log_level) THEN
124686 trace
124690 END IF;
124687 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
124688 ,p_level => C_LEVEL_ERROR
124689 ,p_module => l_log_module);
124691 END IF;
124692 END IF;
124693 --
124694 --
124695 ------------------------------------------------------------------------------------------------
124696 -- 4219869 Business Flow
124697 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
124698 -- Prior Entry. Currently, the following code is always generated.
124699 ------------------------------------------------------------------------------------------------
124700 XLA_AE_LINES_PKG.ValidateCurrentLine;
124701
124702 ------------------------------------------------------------------------------------
124703 -- 4219869 Business Flow
124704 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
124705 ------------------------------------------------------------------------------------
124706 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124707
124708 ----------------------------------------------------------------------------------
124709 -- 4219869 Business Flow
124710 -- Update journal entry status -- Need to generate this within IF <condition>
124711 ----------------------------------------------------------------------------------
124712 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124713 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
124714 ,p_balance_type_code => l_balance_type_code
124715 );
124716
124717 -------------------------------------------------------------------------------------------
124718 -- 4262811 - Generate the Accrual Reversal lines
124719 -------------------------------------------------------------------------------------------
124720 BEGIN
124721 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
124722 (g_array_event(p_event_id).array_value_num('header_index'));
124723 IF l_acc_rev_flag IS NULL THEN
124724 l_acc_rev_flag := 'N';
124725 END IF;
124726 EXCEPTION
124727 WHEN OTHERS THEN
124728 l_acc_rev_flag := 'N';
124729 END;
124730 --
124731 IF (l_acc_rev_flag = 'Y') THEN
124732
124733 -- 4645092 ------------------------------------------------------------------------------
124734 -- To allow MPA report to determine if it should generate report process
124735 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
124736 ------------------------------------------------------------------------------------------
124737
124738 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
124739 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
124740 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
124741 -- call ADRs
124742 -- Bug 4922099
124743 --
124744 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
124745 (NVL(l_actual_upg_option, 'N') = 'O') OR
124746 (NVL(l_enc_upg_option, 'N') = 'O')
124747 )
124748 THEN
124749 NULL;
124750 --
124751 --
124752
124753 l_ccid := AcctDerRule_32(
124754 p_application_id => p_application_id
124755 , p_ae_header_id => l_ae_header_id
124756 , p_source_18 => p_source_18
124757 , x_transaction_coa_id => l_adr_transaction_coa_id
124758 , x_accounting_coa_id => l_adr_accounting_coa_id
124759 , x_value_type_code => l_adr_value_type_code
124760 , p_side => 'NA'
124761 );
124762
124763 xla_ae_lines_pkg.set_ccid(
124764 p_code_combination_id => l_ccid
124765 , p_value_type_code => l_adr_value_type_code
124766 , p_transaction_coa_id => l_adr_transaction_coa_id
124767 , p_accounting_coa_id => l_adr_accounting_coa_id
124768 , p_adr_code => 'AP_INVOICE_DIST'
124769 , p_adr_type_code => 'S'
124770 , p_component_type => l_component_type
124771 , p_component_code => l_component_code
124772 , p_component_type_code => l_component_type_code
124773 , p_component_appl_id => l_component_appl_id
124774 , p_amb_context_code => l_amb_context_code
124775 , p_side => 'NA'
124776 );
124777
124778
124779 --
124780 --
124781 END IF;
124782
124783 --
124784 -- Update the line information that should be overwritten
124785 --
124786 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
124787 p_header_num => 1);
124788 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
124789
124790 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
124791
124792 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
124793 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
124794 END IF;
124795
124796 --
124797 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
124798 --
124799 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
124800 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
124801 ELSE
124805 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
124802 ---------------------------------------------------------------------------------------------------
124803 -- 4262811a Switch Sign
124804 ---------------------------------------------------------------------------------------------------
124806 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124807 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124808 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
124809 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124810 -- 5132302
124811 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
124812 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
124813
124814 END IF;
124815
124816 -- 4955764
124817 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
124818 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
124819
124820
124821 XLA_AE_LINES_PKG.ValidateCurrentLine;
124822 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
124823
124824 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
124825 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
124826 ,p_balance_type_code => l_balance_type_code);
124827
124828 END IF;
124829
124830 -----------------------------------------------------------------------------------------
124831 -- 4262811 Multiperiod Accounting
124832 -----------------------------------------------------------------------------------------
124833 -- No MPA option is assigned.
124834
124835
124836 END IF;
124837 END IF;
124838 --
124839
124840 --
124841 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
124842 trace
124843 (p_msg => 'END of AcctLineType_209'
124844 ,p_level => C_LEVEL_PROCEDURE
124845 ,p_module => l_log_module);
124846 END IF;
124847 --
124848 EXCEPTION
124849 WHEN xla_exceptions_pkg.application_exception THEN
124850 RAISE;
124851 WHEN OTHERS THEN
124852 xla_exceptions_pkg.raise_message
124853 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_209');
124854 END AcctLineType_209;
124855 --
124856
124857 ---------------------------------------
124858 --
124859 -- PRIVATE FUNCTION
124860 -- AcctLineType_210
124861 --
124862 ---------------------------------------
124863 PROCEDURE AcctLineType_210 (
124864 p_application_id IN NUMBER
124865 ,p_event_id IN NUMBER
124866 ,p_calculate_acctd_flag IN VARCHAR2
124867 ,p_calculate_g_l_flag IN VARCHAR2
124868 ,p_actual_flag IN OUT VARCHAR2
124869 ,p_balance_type_code OUT VARCHAR2
124870 ,p_gain_or_loss_ref OUT VARCHAR2
124871
124872 --Invoice Distribution Description
124873 , p_source_1 IN VARCHAR2
124874 --Invoice Distribution Ledger Amount
124875 , p_source_9 IN NUMBER
124876 --Invoice Distribution Account
124877 , p_source_18 IN NUMBER
124878 --Invoice Distribution Type
124879 , p_source_21 IN VARCHAR2
124880 , p_source_21_meaning IN VARCHAR2
124881 --Accounting Reversal Indicator
124882 , p_source_41 IN VARCHAR2
124883 --Distribution Link Type
124884 , p_source_43 IN VARCHAR2
124885 --Allocation to Main Distribution Identifier
124886 , p_source_45 IN NUMBER
124887 --Invoice Identifier
124888 , p_source_46 IN NUMBER
124889 --Invoice Distribution Identifier
124890 , p_source_52 IN NUMBER
124891 --Payables Encumbrance Upgrade Credit Account
124892 , p_source_53 IN NUMBER
124893 --Payables Encumbrance Upgrade Credit Amount
124894 , p_source_54 IN NUMBER
124895 --Invoice Currency Code
124896 , p_source_55 IN VARCHAR2
124897 --Payables Encumbrance Upgrade Credit Base Amount
124898 , p_source_56 IN NUMBER
124899 --Payables Encumbrance Upgrade Debit Account
124900 , p_source_57 IN NUMBER
124901 --Payables Encumbrance Upgrade Debit Amount
124902 , p_source_58 IN NUMBER
124903 --Payables Encumbrance Upgrade Debit Base Amount
124904 , p_source_59 IN NUMBER
124905 --Payables Encumbrance Upgrade Option
124906 , p_source_60 IN VARCHAR2
124907 --Invoice Distribution Amount
124908 , p_source_61 IN NUMBER
124909 --Purchase Order Exchange Rate Date
124910 , p_source_62 IN DATE
124911 --Purchase Order Exchange Rate
124912 , p_source_63 IN NUMBER
124913 --Purchase Order Exchange Rate Type
124914 , p_source_64 IN VARCHAR2
124915 --Deferred Accounting End Date
124916 , p_source_65 IN DATE
124917 --Deferred Accounting Option
124918 , p_source_66 IN VARCHAR2
124919 --Deferred Accounting Start Date
124920 , p_source_67 IN DATE
124921 --Override Accounted Amount Indicator
124922 , p_source_68 IN VARCHAR2
124923 , p_source_68_meaning IN VARCHAR2
124924 --Invoice Supplier Identifier
124925 , p_source_69 IN NUMBER
124926 --Invoice Supplier Site Identifier
124927 , p_source_70 IN NUMBER
124928 --Third Party Type
124929 , p_source_71 IN VARCHAR2
124933 , p_source_73 IN NUMBER
124930 --Parent Reversal Identifier
124931 , p_source_72 IN NUMBER
124932 --Invoice Distribution Statistical Amount
124934 --Invoice Distribution Tax Line Identifier
124935 , p_source_74 IN NUMBER
124936 --Invoice Distribution Tax Distribution Identifier from Tax
124937 , p_source_75 IN NUMBER
124938 --Invoice Distribution Summary Tax Line Identifier
124939 , p_source_76 IN NUMBER
124940 --Payables Upgrade Credit Encumbrance Type Identifier
124941 , p_source_77 IN NUMBER
124942 --Payables Upgrade Debit Encumbrance Type Identifier
124943 , p_source_78 IN NUMBER
124944 --Business Flow Accounts Payable Application Identifier
124945 , p_source_79 IN NUMBER
124946 --Business Flow Invoice Distribution Type
124947 , p_source_80 IN VARCHAR2
124948 --Business Flow Invoice Entity Code
124949 , p_source_81 IN VARCHAR2
124950 --Business Flow Invoice Distribution Identifier
124951 , p_source_82 IN NUMBER
124952 --Business Flow Invoice Identifier
124953 , p_source_83 IN NUMBER
124954 --Accrue on Receipt Option
124955 , p_source_84 IN VARCHAR2
124956 , p_source_84_meaning IN VARCHAR2
124957 --Self-Assessed Tax Flag
124958 , p_source_135 IN VARCHAR2
124959 , p_source_135_meaning IN VARCHAR2
124960 )
124961 IS
124962
124963 l_component_type VARCHAR2(80);
124964 l_component_code VARCHAR2(30);
124965 l_component_type_code VARCHAR2(1);
124966 l_component_appl_id INTEGER;
124967 l_amb_context_code VARCHAR2(30);
124968 l_entity_code VARCHAR2(30);
124969 l_event_class_code VARCHAR2(30);
124970 l_ae_header_id NUMBER;
124971 l_event_type_code VARCHAR2(30);
124972 l_line_definition_code VARCHAR2(30);
124973 l_line_definition_owner_code VARCHAR2(1);
124974 --
124975 -- adr variables
124976 l_segment VARCHAR2(30);
124977 l_ccid NUMBER;
124978 l_adr_transaction_coa_id NUMBER;
124979 l_adr_accounting_coa_id NUMBER;
124980 l_adr_flexfield_segment_code VARCHAR2(30);
124981 l_adr_flex_value_set_id NUMBER;
124982 l_adr_value_type_code VARCHAR2(30);
124983 l_adr_value_combination_id NUMBER;
124984 l_adr_value_segment_code VARCHAR2(30);
124985
124986 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
124987 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
124988 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
124989 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
124990
124991 -- 4262811 Variables ------------------------------------------------------------------------------------------
124992 l_entered_amt_idx NUMBER;
124993 l_accted_amt_idx NUMBER;
124994 l_acc_rev_flag VARCHAR2(1);
124995 l_accrual_line_num NUMBER;
124996 l_tmp_amt NUMBER;
124997 l_acc_rev_natural_side_code VARCHAR2(1);
124998
124999 l_num_entries NUMBER;
125000 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
125001 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
125002 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
125003 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
125004 l_recog_line_1 NUMBER;
125005 l_recog_line_2 NUMBER;
125006
125007 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
125008 l_bflow_applied_to_amt NUMBER; -- 5132302
125009 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
125010
125011 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
125012
125013 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
125014 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
125015
125016 ---------------------------------------------------------------------------------------------------------------
125017
125018
125019 --
125020 -- bulk performance
125021 --
125022 l_balance_type_code VARCHAR2(1);
125023 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
125024 l_log_module VARCHAR2(240);
125025
125026 --
125027 -- Upgrade strategy
125028 --
125029 l_actual_upg_option VARCHAR2(1);
125030 l_enc_upg_option VARCHAR2(1);
125031
125032 --
125033 BEGIN
125034 --
125035 IF g_log_enabled THEN
125036 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_210';
125037 END IF;
125038 --
125039 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125040
125041 trace
125042 (p_msg => 'BEGIN of AcctLineType_210'
125043 ,p_level => C_LEVEL_PROCEDURE
125044 ,p_module => l_log_module);
125045
125046 END IF;
125047 --
125048 l_component_type := 'AMB_JLT';
125049 l_component_code := 'AP_NRTAX_ACCRUAL_PREPAY';
125050 l_component_type_code := 'S';
125051 l_component_appl_id := 200;
125052 l_amb_context_code := 'DEFAULT';
125053 l_entity_code := 'AP_INVOICES';
125054 l_event_class_code := 'PREPAYMENTS';
125055 l_event_type_code := 'PREPAYMENTS_ALL';
125056 l_line_definition_owner_code := 'S';
125057 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
125058 --
125062 l_adr_transaction_coa_id := NULL;
125059 l_balance_type_code := 'A';
125060 l_segment := NULL;
125061 l_ccid := NULL;
125063 l_adr_accounting_coa_id := NULL;
125064 l_adr_flexfield_segment_code := NULL;
125065 l_adr_flex_value_set_id := NULL;
125066 l_adr_value_type_code := NULL;
125067 l_adr_value_combination_id := NULL;
125068 l_adr_value_segment_code := NULL;
125069
125070 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
125071 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
125072 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
125073 l_budgetary_control_flag := 'N';
125074
125075 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125076 l_bflow_applied_to_amt := NULL; -- 5132302
125077 l_entered_amt_idx := NULL; -- 4262811
125078 l_accted_amt_idx := NULL; -- 4262811
125079 l_acc_rev_flag := NULL; -- 4262811
125080 l_accrual_line_num := NULL; -- 4262811
125081 l_tmp_amt := NULL; -- 4262811
125082 --
125083
125084 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
125085 l_balance_type_code <> 'B' THEN
125086 IF NVL(p_source_21,'
125087 ') = 'NONREC_TAX' AND
125088 NVL(p_source_84,'
125089 ') = 'Y' AND
125090 NVL(p_source_135,'
125091 ') <> 'Y'
125092 THEN
125093
125094 --
125095 XLA_AE_LINES_PKG.SetNewLine;
125096
125097 p_balance_type_code := l_balance_type_code;
125098 -- set the flag so later we will know whether the gain loss line needs to be created
125099
125100 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
125101 p_actual_flag :='A';
125102 END IF;
125103
125104 --
125105 -- bulk performance
125106 --
125107 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
125108 p_header_num => 0); -- 4262811
125109 --
125110 -- set accounting line options
125111 --
125112 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
125113 p_natural_side_code => 'D'
125114 , p_gain_or_loss_flag => 'N'
125115 , p_gl_transfer_mode_code => 'S'
125116 , p_acct_entry_type_code => 'A'
125117 , p_switch_side_flag => 'Y'
125118 , p_merge_duplicate_code => 'A'
125119 );
125120 --
125121 l_acc_rev_natural_side_code := 'C'; -- 4262811
125122 --
125123 --
125124 -- set accounting line type info
125125 --
125126 xla_ae_lines_pkg.SetAcctLineType
125127 (p_component_type => l_component_type
125128 ,p_event_type_code => l_event_type_code
125129 ,p_line_definition_owner_code => l_line_definition_owner_code
125130 ,p_line_definition_code => l_line_definition_code
125131 ,p_accounting_line_code => l_component_code
125132 ,p_accounting_line_type_code => l_component_type_code
125133 ,p_accounting_line_appl_id => l_component_appl_id
125134 ,p_amb_context_code => l_amb_context_code
125135 ,p_entity_code => l_entity_code
125136 ,p_event_class_code => l_event_class_code);
125137 --
125138 -- set accounting class
125139 --
125140 xla_ae_lines_pkg.SetAcctClass(
125141 p_accounting_class_code => 'NRTAX'
125142 , p_ae_header_id => l_ae_header_id
125143 );
125144
125145 --
125146 -- set rounding class
125147 --
125148 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
125149 'NRTAX';
125150
125151 --
125152 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
125153 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
125154 --
125155 -- bulk performance
125156 --
125157 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
125158
125159 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
125160 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
125161
125162 -- 4955764
125163 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125164 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
125165
125166 -- 4458381 Public Sector Enh
125167
125168 --
125169 -- set accounting attributes for the line type
125170 --
125171 l_entered_amt_idx := 23;
125172 l_accted_amt_idx := 28;
125173 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125174 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
125175 l_rec_acct_attrs.array_char_value(1) := p_source_41;
125176 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
125177 l_rec_acct_attrs.array_num_value(2) :=
125178 xla_ae_sources_pkg.GetSystemSourceNum(
125179 p_source_code => 'XLA_EVENT_APPL_ID'
125180 , p_source_type_code => 'Y'
125181 , p_source_application_id => 602
125182 );
125183 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
125184 l_rec_acct_attrs.array_char_value(3) := p_source_43;
125188 p_source_code => 'XLA_ENTITY_CODE'
125185 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
125186 l_rec_acct_attrs.array_char_value(4) :=
125187 xla_ae_sources_pkg.GetSystemSourceChar(
125189 , p_source_type_code => 'Y'
125190 , p_source_application_id => 602
125191 );
125192 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
125193 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
125194 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
125195 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
125196 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
125197 l_rec_acct_attrs.array_num_value(7) := p_source_79;
125198 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125199 l_rec_acct_attrs.array_char_value(8) := p_source_80;
125200 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
125201 l_rec_acct_attrs.array_char_value(9) := p_source_81;
125202 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
125203 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
125204 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125205 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
125206 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
125207 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
125208 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
125209 l_rec_acct_attrs.array_char_value(13) := p_source_43;
125210 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
125211 l_rec_acct_attrs.array_num_value(14) := p_source_53;
125212 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
125213 l_rec_acct_attrs.array_num_value(15) := p_source_54;
125214 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
125215 l_rec_acct_attrs.array_char_value(16) := p_source_55;
125216 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
125217 l_rec_acct_attrs.array_num_value(17) := p_source_56;
125218 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
125219 l_rec_acct_attrs.array_num_value(18) := p_source_57;
125220 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
125221 l_rec_acct_attrs.array_num_value(19) := p_source_58;
125222 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
125223 l_rec_acct_attrs.array_char_value(20) := p_source_55;
125224 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
125225 l_rec_acct_attrs.array_num_value(21) := p_source_59;
125226 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
125227 l_rec_acct_attrs.array_char_value(22) := p_source_60;
125228 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
125229 l_rec_acct_attrs.array_num_value(23) := p_source_61;
125230 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
125231 l_rec_acct_attrs.array_char_value(24) := p_source_55;
125232 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
125233 l_rec_acct_attrs.array_date_value(25) := p_source_62;
125234 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
125235 l_rec_acct_attrs.array_num_value(26) := p_source_63;
125236 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
125237 l_rec_acct_attrs.array_char_value(27) := p_source_64;
125238 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
125239 l_rec_acct_attrs.array_num_value(28) := p_source_9;
125240 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
125241 l_rec_acct_attrs.array_date_value(29) := p_source_65;
125242 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
125243 l_rec_acct_attrs.array_char_value(30) := p_source_66;
125244 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
125245 l_rec_acct_attrs.array_date_value(31) := p_source_67;
125246 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
125247 l_rec_acct_attrs.array_char_value(32) := p_source_68;
125248 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
125249 l_rec_acct_attrs.array_num_value(33) := p_source_69;
125250 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
125251 l_rec_acct_attrs.array_num_value(34) := p_source_70;
125252 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
125253 l_rec_acct_attrs.array_char_value(35) := p_source_71;
125254 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
125255 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
125256 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
125257 l_rec_acct_attrs.array_char_value(37) := p_source_43;
125258 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
125259 l_rec_acct_attrs.array_num_value(38) := p_source_73;
125260 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
125261 l_rec_acct_attrs.array_num_value(39) := p_source_74;
125262 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
125263 l_rec_acct_attrs.array_num_value(40) := p_source_75;
125264 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
125265 l_rec_acct_attrs.array_num_value(41) := p_source_76;
125266 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
125267 l_rec_acct_attrs.array_num_value(42) := p_source_77;
125268 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
125272 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125269 l_rec_acct_attrs.array_num_value(43) := p_source_78;
125270
125271 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125273
125274 ---------------------------------------------------------------------------------------------------------------
125275 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125276 ---------------------------------------------------------------------------------------------------------------
125277 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125278
125279 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125280 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125281
125282 IF xla_accounting_cache_pkg.GetValueChar
125283 (p_source_code => 'LEDGER_CATEGORY_CODE'
125284 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125285 AND l_bflow_method_code = 'PRIOR_ENTRY'
125286 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125287 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125288 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125289 )
125290 THEN
125291 xla_ae_lines_pkg.BflowUpgEntry
125292 (p_business_method_code => l_bflow_method_code
125293 ,p_business_class_code => l_bflow_class_code
125294 ,p_balance_type => l_balance_type_code);
125295 ELSE
125296 NULL;
125297 -- No business flow processing for business flow method of NONE.
125298 END IF;
125299
125300 --
125301 -- call analytical criteria
125302 --
125303
125304 --
125305 -- call description
125306 --
125307
125308 xla_ae_lines_pkg.SetLineDescription(
125309 p_ae_header_id => l_ae_header_id
125310 ,p_description => Description_2 (
125311 p_application_id => p_application_id
125312 , p_ae_header_id => l_ae_header_id
125313 , p_source_1 => p_source_1
125314 )
125315 );
125316
125317
125318 --
125319 -- call ADRs
125320 -- Bug 4922099
125321 --
125322 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125323 (NVL(l_actual_upg_option, 'N') = 'O') OR
125324 (NVL(l_enc_upg_option, 'N') = 'O')
125325 )
125326 THEN
125327 NULL;
125328 --
125329 --
125330
125331 l_ccid := AcctDerRule_32(
125332 p_application_id => p_application_id
125333 , p_ae_header_id => l_ae_header_id
125334 , p_source_18 => p_source_18
125335 , x_transaction_coa_id => l_adr_transaction_coa_id
125336 , x_accounting_coa_id => l_adr_accounting_coa_id
125337 , x_value_type_code => l_adr_value_type_code
125338 , p_side => 'NA'
125339 );
125340
125341 xla_ae_lines_pkg.set_ccid(
125342 p_code_combination_id => l_ccid
125343 , p_value_type_code => l_adr_value_type_code
125344 , p_transaction_coa_id => l_adr_transaction_coa_id
125345 , p_accounting_coa_id => l_adr_accounting_coa_id
125346 , p_adr_code => 'AP_INVOICE_DIST'
125347 , p_adr_type_code => 'S'
125348 , p_component_type => l_component_type
125349 , p_component_code => l_component_code
125350 , p_component_type_code => l_component_type_code
125351 , p_component_appl_id => l_component_appl_id
125352 , p_amb_context_code => l_amb_context_code
125353 , p_side => 'NA'
125354 );
125355
125356
125357 --
125358 --
125359 END IF;
125360 --
125361 -- Bug 4922099
125362 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125363 (NVL(l_enc_upg_option, 'N') = 'O')
125364 ) AND
125365 (l_bflow_method_code = 'PRIOR_ENTRY')
125366 )
125367 THEN
125368 IF
125369 --
125370 1 = 2
125371 --
125372 THEN
125373 xla_accounting_err_pkg.build_message
125374 (p_appli_s_name => 'XLA'
125375 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125376 ,p_token_1 => 'LINE_NUMBER'
125377 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125378 ,p_token_2 => 'LINE_TYPE_NAME'
125379 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125380 l_component_type
125381 ,l_component_code
125382 ,l_component_type_code
125383 ,l_component_appl_id
125384 ,l_amb_context_code
125385 ,l_entity_code
125386 ,l_event_class_code
125390 p_lookup_type => 'XLA_OWNER_TYPE'
125387 )
125388 ,p_token_3 => 'OWNER'
125389 ,p_value_3 => xla_lookups_pkg.get_meaning(
125391 ,p_lookup_code => l_component_type_code
125392 )
125393 ,p_token_4 => 'PRODUCT_NAME'
125394 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
125395 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
125396 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
125397 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
125398 ,p_ae_header_id => NULL
125399 );
125400
125401 IF (C_LEVEL_ERROR>= g_log_level) THEN
125402 trace
125403 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125404 ,p_level => C_LEVEL_ERROR
125405 ,p_module => l_log_module);
125406 END IF;
125407 END IF;
125408 END IF;
125409 --
125410 --
125411 ------------------------------------------------------------------------------------------------
125412 -- 4219869 Business Flow
125413 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
125414 -- Prior Entry. Currently, the following code is always generated.
125415 ------------------------------------------------------------------------------------------------
125416 XLA_AE_LINES_PKG.ValidateCurrentLine;
125417
125418 ------------------------------------------------------------------------------------
125419 -- 4219869 Business Flow
125420 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
125421 ------------------------------------------------------------------------------------
125422 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125423
125424 ----------------------------------------------------------------------------------
125425 -- 4219869 Business Flow
125426 -- Update journal entry status -- Need to generate this within IF <condition>
125427 ----------------------------------------------------------------------------------
125428 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125429 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
125430 ,p_balance_type_code => l_balance_type_code
125431 );
125432
125433 -------------------------------------------------------------------------------------------
125434 -- 4262811 - Generate the Accrual Reversal lines
125435 -------------------------------------------------------------------------------------------
125436 BEGIN
125437 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
125438 (g_array_event(p_event_id).array_value_num('header_index'));
125439 IF l_acc_rev_flag IS NULL THEN
125440 l_acc_rev_flag := 'N';
125441 END IF;
125442 EXCEPTION
125443 WHEN OTHERS THEN
125444 l_acc_rev_flag := 'N';
125445 END;
125446 --
125447 IF (l_acc_rev_flag = 'Y') THEN
125448
125449 -- 4645092 ------------------------------------------------------------------------------
125450 -- To allow MPA report to determine if it should generate report process
125451 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
125452 ------------------------------------------------------------------------------------------
125453
125454 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
125455 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
125456 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
125457 -- call ADRs
125458 -- Bug 4922099
125459 --
125460 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125461 (NVL(l_actual_upg_option, 'N') = 'O') OR
125462 (NVL(l_enc_upg_option, 'N') = 'O')
125463 )
125464 THEN
125465 NULL;
125466 --
125467 --
125468
125469 l_ccid := AcctDerRule_32(
125470 p_application_id => p_application_id
125471 , p_ae_header_id => l_ae_header_id
125472 , p_source_18 => p_source_18
125473 , x_transaction_coa_id => l_adr_transaction_coa_id
125474 , x_accounting_coa_id => l_adr_accounting_coa_id
125475 , x_value_type_code => l_adr_value_type_code
125476 , p_side => 'NA'
125477 );
125478
125479 xla_ae_lines_pkg.set_ccid(
125480 p_code_combination_id => l_ccid
125481 , p_value_type_code => l_adr_value_type_code
125482 , p_transaction_coa_id => l_adr_transaction_coa_id
125483 , p_accounting_coa_id => l_adr_accounting_coa_id
125484 , p_adr_code => 'AP_INVOICE_DIST'
125485 , p_adr_type_code => 'S'
125486 , p_component_type => l_component_type
125487 , p_component_code => l_component_code
125488 , p_component_type_code => l_component_type_code
125489 , p_component_appl_id => l_component_appl_id
125493
125490 , p_amb_context_code => l_amb_context_code
125491 , p_side => 'NA'
125492 );
125494
125495 --
125496 --
125497 END IF;
125498
125499 --
125500 -- Update the line information that should be overwritten
125501 --
125502 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
125503 p_header_num => 1);
125504 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
125505
125506 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
125507
125508 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
125509 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
125510 END IF;
125511
125512 --
125513 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
125514 --
125515 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
125516 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
125517 ELSE
125518 ---------------------------------------------------------------------------------------------------
125519 -- 4262811a Switch Sign
125520 ---------------------------------------------------------------------------------------------------
125521 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
125522 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125523 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125524 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
125525 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125526 -- 5132302
125527 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
125528 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
125529
125530 END IF;
125531
125532 -- 4955764
125533 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125534 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
125535
125536
125537 XLA_AE_LINES_PKG.ValidateCurrentLine;
125538 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
125539
125540 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
125541 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
125542 ,p_balance_type_code => l_balance_type_code);
125543
125544 END IF;
125545
125546 -----------------------------------------------------------------------------------------
125547 -- 4262811 Multiperiod Accounting
125548 -----------------------------------------------------------------------------------------
125549 -- No MPA option is assigned.
125550
125551
125552 END IF;
125553 END IF;
125554 --
125555
125556 --
125557 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125558 trace
125559 (p_msg => 'END of AcctLineType_210'
125560 ,p_level => C_LEVEL_PROCEDURE
125561 ,p_module => l_log_module);
125562 END IF;
125563 --
125564 EXCEPTION
125565 WHEN xla_exceptions_pkg.application_exception THEN
125566 RAISE;
125567 WHEN OTHERS THEN
125568 xla_exceptions_pkg.raise_message
125569 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_210');
125570 END AcctLineType_210;
125571 --
125572
125573 ---------------------------------------
125574 --
125575 -- PRIVATE FUNCTION
125576 -- AcctLineType_211
125577 --
125578 ---------------------------------------
125579 PROCEDURE AcctLineType_211 (
125580 p_application_id IN NUMBER
125581 ,p_event_id IN NUMBER
125582 ,p_calculate_acctd_flag IN VARCHAR2
125583 ,p_calculate_g_l_flag IN VARCHAR2
125584 ,p_actual_flag IN OUT VARCHAR2
125585 ,p_balance_type_code OUT VARCHAR2
125586 ,p_gain_or_loss_ref OUT VARCHAR2
125587
125588 --Payment Card Accrued Account
125589 , p_source_36 IN NUMBER
125590 --Accounting Reversal Indicator
125591 , p_source_41 IN VARCHAR2
125592 --Distribution Link Type
125593 , p_source_43 IN VARCHAR2
125594 --Override Accounted Amount Indicator
125595 , p_source_68 IN VARCHAR2
125596 , p_source_68_meaning IN VARCHAR2
125597 --Third Party Type
125598 , p_source_71 IN VARCHAR2
125599 --Invoice Distribution Tax Line Identifier
125600 , p_source_74 IN NUMBER
125601 --Invoice Distribution Tax Distribution Identifier from Tax
125602 , p_source_75 IN NUMBER
125603 --Invoice Distribution Summary Tax Line Identifier
125604 , p_source_76 IN NUMBER
125605 --Business Flow Accounts Payable Application Identifier
125606 , p_source_79 IN NUMBER
125607 --Business Flow Invoice Distribution Type
125608 , p_source_80 IN VARCHAR2
125609 --Business Flow Invoice Entity Code
125610 , p_source_81 IN VARCHAR2
125611 --Business Flow Invoice Distribution Identifier
125612 , p_source_82 IN NUMBER
125613 --Business Flow Invoice Identifier
125614 , p_source_83 IN NUMBER
125618 , p_source_96 IN NUMBER
125615 --Payment Distribution Amount
125616 , p_source_91 IN NUMBER
125617 --Payment Distribution Identifier
125619 --Payment Supplier Identifier
125620 , p_source_102 IN NUMBER
125621 --Payment Supplier Site Identifier
125622 , p_source_103 IN NUMBER
125623 --Payment Distribution Reversed Identifier
125624 , p_source_104 IN NUMBER
125625 --Payment Currency Code
125626 , p_source_106 IN VARCHAR2
125627 --Payment Distribution (Payment Rate) Ledger Amount
125628 , p_source_108 IN NUMBER
125629 --Payment Exchange Date
125630 , p_source_110 IN DATE
125631 --Payment Exchange Rate
125632 , p_source_111 IN NUMBER
125633 --Payment Exchange Rate Type
125634 , p_source_112 IN VARCHAR2
125635 --Payment Processing Type
125636 , p_source_116 IN VARCHAR2
125637 --Invoice Distribution Amount of the Payment Distribution
125638 , p_source_117 IN NUMBER
125639 )
125640 IS
125641
125642 l_component_type VARCHAR2(80);
125643 l_component_code VARCHAR2(30);
125644 l_component_type_code VARCHAR2(1);
125645 l_component_appl_id INTEGER;
125646 l_amb_context_code VARCHAR2(30);
125647 l_entity_code VARCHAR2(30);
125648 l_event_class_code VARCHAR2(30);
125649 l_ae_header_id NUMBER;
125650 l_event_type_code VARCHAR2(30);
125651 l_line_definition_code VARCHAR2(30);
125652 l_line_definition_owner_code VARCHAR2(1);
125653 --
125654 -- adr variables
125655 l_segment VARCHAR2(30);
125656 l_ccid NUMBER;
125657 l_adr_transaction_coa_id NUMBER;
125658 l_adr_accounting_coa_id NUMBER;
125659 l_adr_flexfield_segment_code VARCHAR2(30);
125660 l_adr_flex_value_set_id NUMBER;
125661 l_adr_value_type_code VARCHAR2(30);
125662 l_adr_value_combination_id NUMBER;
125663 l_adr_value_segment_code VARCHAR2(30);
125664
125665 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
125666 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
125667 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
125668 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
125669
125670 -- 4262811 Variables ------------------------------------------------------------------------------------------
125671 l_entered_amt_idx NUMBER;
125672 l_accted_amt_idx NUMBER;
125673 l_acc_rev_flag VARCHAR2(1);
125674 l_accrual_line_num NUMBER;
125675 l_tmp_amt NUMBER;
125676 l_acc_rev_natural_side_code VARCHAR2(1);
125677
125678 l_num_entries NUMBER;
125679 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
125680 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
125681 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
125682 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
125683 l_recog_line_1 NUMBER;
125684 l_recog_line_2 NUMBER;
125685
125686 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
125687 l_bflow_applied_to_amt NUMBER; -- 5132302
125688 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
125689
125690 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
125691
125692 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
125693 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
125694
125695 ---------------------------------------------------------------------------------------------------------------
125696
125697
125698 --
125699 -- bulk performance
125700 --
125701 l_balance_type_code VARCHAR2(1);
125702 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
125703 l_log_module VARCHAR2(240);
125704
125705 --
125706 -- Upgrade strategy
125707 --
125708 l_actual_upg_option VARCHAR2(1);
125709 l_enc_upg_option VARCHAR2(1);
125710
125711 --
125712 BEGIN
125713 --
125714 IF g_log_enabled THEN
125715 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_211';
125716 END IF;
125717 --
125718 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
125719
125720 trace
125721 (p_msg => 'BEGIN of AcctLineType_211'
125722 ,p_level => C_LEVEL_PROCEDURE
125723 ,p_module => l_log_module);
125724
125725 END IF;
125726 --
125727 l_component_type := 'AMB_JLT';
125728 l_component_code := 'AP_PAYCARD_PMT';
125729 l_component_type_code := 'S';
125730 l_component_appl_id := 200;
125731 l_amb_context_code := 'DEFAULT';
125732 l_entity_code := 'AP_PAYMENTS';
125733 l_event_class_code := 'PAYMENTS';
125734 l_event_type_code := 'PAYMENTS_ALL';
125735 l_line_definition_owner_code := 'S';
125736 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
125737 --
125738 l_balance_type_code := 'A';
125739 l_segment := NULL;
125740 l_ccid := NULL;
125741 l_adr_transaction_coa_id := NULL;
125742 l_adr_accounting_coa_id := NULL;
125743 l_adr_flexfield_segment_code := NULL;
125744 l_adr_flex_value_set_id := NULL;
125745 l_adr_value_type_code := NULL;
125746 l_adr_value_combination_id := NULL;
125750 l_bflow_class_code := ''; -- 4219869 Business Flow
125747 l_adr_value_segment_code := NULL;
125748
125749 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
125751 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
125752 l_budgetary_control_flag := 'N';
125753
125754 l_bflow_applied_to_amt_idx := NULL; -- 5132302
125755 l_bflow_applied_to_amt := NULL; -- 5132302
125756 l_entered_amt_idx := NULL; -- 4262811
125757 l_accted_amt_idx := NULL; -- 4262811
125758 l_acc_rev_flag := NULL; -- 4262811
125759 l_accrual_line_num := NULL; -- 4262811
125760 l_tmp_amt := NULL; -- 4262811
125761 --
125762
125763 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
125764 l_balance_type_code <> 'B' THEN
125765 IF NVL(p_source_116,'
125766 ') = 'PAYMENTCARD'
125767 THEN
125768
125769 --
125770 XLA_AE_LINES_PKG.SetNewLine;
125771
125772 p_balance_type_code := l_balance_type_code;
125773 -- set the flag so later we will know whether the gain loss line needs to be created
125774
125775 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
125776 p_actual_flag :='A';
125777 END IF;
125778
125779 --
125780 -- bulk performance
125781 --
125782 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
125783 p_header_num => 0); -- 4262811
125784 --
125785 -- set accounting line options
125786 --
125787 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
125788 p_natural_side_code => 'C'
125789 , p_gain_or_loss_flag => 'N'
125790 , p_gl_transfer_mode_code => 'S'
125791 , p_acct_entry_type_code => 'A'
125792 , p_switch_side_flag => 'Y'
125793 , p_merge_duplicate_code => 'A'
125794 );
125795 --
125796 l_acc_rev_natural_side_code := 'D'; -- 4262811
125797 --
125798 --
125799 -- set accounting line type info
125800 --
125801 xla_ae_lines_pkg.SetAcctLineType
125802 (p_component_type => l_component_type
125803 ,p_event_type_code => l_event_type_code
125804 ,p_line_definition_owner_code => l_line_definition_owner_code
125805 ,p_line_definition_code => l_line_definition_code
125806 ,p_accounting_line_code => l_component_code
125807 ,p_accounting_line_type_code => l_component_type_code
125808 ,p_accounting_line_appl_id => l_component_appl_id
125809 ,p_amb_context_code => l_amb_context_code
125810 ,p_entity_code => l_entity_code
125811 ,p_event_class_code => l_event_class_code);
125812 --
125813 -- set accounting class
125814 --
125815 xla_ae_lines_pkg.SetAcctClass(
125816 p_accounting_class_code => 'PAYMENTCARD'
125817 , p_ae_header_id => l_ae_header_id
125818 );
125819
125820 --
125821 -- set rounding class
125822 --
125823 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
125824 'PAYMENTCARD';
125825
125826 --
125827 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
125828 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
125829 --
125830 -- bulk performance
125831 --
125832 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
125833
125834 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
125835 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
125836
125837 -- 4955764
125838 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
125839 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
125840
125841 -- 4458381 Public Sector Enh
125842
125843 --
125844 -- set accounting attributes for the line type
125845 --
125846 l_entered_amt_idx := 10;
125847 l_accted_amt_idx := 15;
125848 l_bflow_applied_to_amt_idx := 2; -- 5132302
125849 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
125850 l_rec_acct_attrs.array_char_value(1) := p_source_41;
125851 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
125852 l_rec_acct_attrs.array_num_value(2) := p_source_117;
125853 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
125854 l_rec_acct_attrs.array_num_value(3) := p_source_79;
125855 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
125856 l_rec_acct_attrs.array_char_value(4) := p_source_80;
125857 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
125858 l_rec_acct_attrs.array_char_value(5) := p_source_81;
125859 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
125860 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
125861 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
125862 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
125863 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
125864 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
125865 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
125869 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
125866 l_rec_acct_attrs.array_char_value(9) := p_source_43;
125867 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
125868 l_rec_acct_attrs.array_num_value(10) := p_source_91;
125870 l_rec_acct_attrs.array_char_value(11) := p_source_106;
125871 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
125872 l_rec_acct_attrs.array_date_value(12) := p_source_110;
125873 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
125874 l_rec_acct_attrs.array_num_value(13) := p_source_111;
125875 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
125876 l_rec_acct_attrs.array_char_value(14) := p_source_112;
125877 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
125878 l_rec_acct_attrs.array_num_value(15) := p_source_108;
125879 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
125880 l_rec_acct_attrs.array_char_value(16) := p_source_68;
125881 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
125882 l_rec_acct_attrs.array_num_value(17) := p_source_102;
125883 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
125884 l_rec_acct_attrs.array_num_value(18) := p_source_103;
125885 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
125886 l_rec_acct_attrs.array_char_value(19) := p_source_71;
125887 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
125888 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
125889 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
125890 l_rec_acct_attrs.array_char_value(21) := p_source_43;
125891 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
125892 l_rec_acct_attrs.array_num_value(22) := p_source_74;
125893 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
125894 l_rec_acct_attrs.array_num_value(23) := p_source_75;
125895 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
125896 l_rec_acct_attrs.array_num_value(24) := p_source_76;
125897
125898 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
125899 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
125900
125901 ---------------------------------------------------------------------------------------------------------------
125902 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
125903 ---------------------------------------------------------------------------------------------------------------
125904 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
125905
125906 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125907 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
125908
125909 IF xla_accounting_cache_pkg.GetValueChar
125910 (p_source_code => 'LEDGER_CATEGORY_CODE'
125911 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
125912 AND l_bflow_method_code = 'PRIOR_ENTRY'
125913 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
125914 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
125915 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
125916 )
125917 THEN
125918 xla_ae_lines_pkg.BflowUpgEntry
125919 (p_business_method_code => l_bflow_method_code
125920 ,p_business_class_code => l_bflow_class_code
125921 ,p_balance_type => l_balance_type_code);
125922 ELSE
125923 NULL;
125924 -- No business flow processing for business flow method of NONE.
125925 END IF;
125926
125927 --
125928 -- call analytical criteria
125929 --
125930
125931 --
125932 -- call description
125933 --
125934 -- No description or it is inherited.
125935 --
125936 -- call ADRs
125937 -- Bug 4922099
125938 --
125939 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
125940 (NVL(l_actual_upg_option, 'N') = 'O') OR
125941 (NVL(l_enc_upg_option, 'N') = 'O')
125942 )
125943 THEN
125944 NULL;
125945 --
125946 --
125947
125948 l_ccid := AcctDerRule_34(
125949 p_application_id => p_application_id
125950 , p_ae_header_id => l_ae_header_id
125951 , p_source_36 => p_source_36
125952 , x_transaction_coa_id => l_adr_transaction_coa_id
125953 , x_accounting_coa_id => l_adr_accounting_coa_id
125954 , x_value_type_code => l_adr_value_type_code
125955 , p_side => 'NA'
125956 );
125957
125958 xla_ae_lines_pkg.set_ccid(
125959 p_code_combination_id => l_ccid
125960 , p_value_type_code => l_adr_value_type_code
125961 , p_transaction_coa_id => l_adr_transaction_coa_id
125962 , p_accounting_coa_id => l_adr_accounting_coa_id
125963 , p_adr_code => 'AP_PAYCARD_ACCRUED_ADR'
125964 , p_adr_type_code => 'S'
125965 , p_component_type => l_component_type
125966 , p_component_code => l_component_code
125967 , p_component_type_code => l_component_type_code
125968 , p_component_appl_id => l_component_appl_id
125969 , p_amb_context_code => l_amb_context_code
125973
125970 , p_side => 'NA'
125971 );
125972
125974 --
125975 --
125976 END IF;
125977 --
125978 -- Bug 4922099
125979 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
125980 (NVL(l_enc_upg_option, 'N') = 'O')
125981 ) AND
125982 (l_bflow_method_code = 'PRIOR_ENTRY')
125983 )
125984 THEN
125985 IF
125986 --
125987 1 = 2
125988 --
125989 THEN
125990 xla_accounting_err_pkg.build_message
125991 (p_appli_s_name => 'XLA'
125992 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
125993 ,p_token_1 => 'LINE_NUMBER'
125994 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
125995 ,p_token_2 => 'LINE_TYPE_NAME'
125996 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
125997 l_component_type
125998 ,l_component_code
125999 ,l_component_type_code
126000 ,l_component_appl_id
126001 ,l_amb_context_code
126002 ,l_entity_code
126003 ,l_event_class_code
126004 )
126005 ,p_token_3 => 'OWNER'
126006 ,p_value_3 => xla_lookups_pkg.get_meaning(
126007 p_lookup_type => 'XLA_OWNER_TYPE'
126008 ,p_lookup_code => l_component_type_code
126009 )
126010 ,p_token_4 => 'PRODUCT_NAME'
126011 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
126012 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
126013 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
126014 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
126015 ,p_ae_header_id => NULL
126016 );
126017
126018 IF (C_LEVEL_ERROR>= g_log_level) THEN
126019 trace
126020 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126021 ,p_level => C_LEVEL_ERROR
126022 ,p_module => l_log_module);
126023 END IF;
126024 END IF;
126025 END IF;
126026 --
126027 --
126028 ------------------------------------------------------------------------------------------------
126029 -- 4219869 Business Flow
126030 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
126031 -- Prior Entry. Currently, the following code is always generated.
126032 ------------------------------------------------------------------------------------------------
126033 XLA_AE_LINES_PKG.ValidateCurrentLine;
126034
126035 ------------------------------------------------------------------------------------
126036 -- 4219869 Business Flow
126037 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
126038 ------------------------------------------------------------------------------------
126039 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126040
126041 ----------------------------------------------------------------------------------
126042 -- 4219869 Business Flow
126043 -- Update journal entry status -- Need to generate this within IF <condition>
126044 ----------------------------------------------------------------------------------
126045 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126046 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
126047 ,p_balance_type_code => l_balance_type_code
126048 );
126049
126050 -------------------------------------------------------------------------------------------
126051 -- 4262811 - Generate the Accrual Reversal lines
126052 -------------------------------------------------------------------------------------------
126053 BEGIN
126054 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
126055 (g_array_event(p_event_id).array_value_num('header_index'));
126056 IF l_acc_rev_flag IS NULL THEN
126057 l_acc_rev_flag := 'N';
126058 END IF;
126059 EXCEPTION
126060 WHEN OTHERS THEN
126061 l_acc_rev_flag := 'N';
126062 END;
126063 --
126064 IF (l_acc_rev_flag = 'Y') THEN
126065
126066 -- 4645092 ------------------------------------------------------------------------------
126067 -- To allow MPA report to determine if it should generate report process
126071 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
126068 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
126069 ------------------------------------------------------------------------------------------
126070
126072 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
126073 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
126074 -- call ADRs
126075 -- Bug 4922099
126076 --
126077 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126078 (NVL(l_actual_upg_option, 'N') = 'O') OR
126079 (NVL(l_enc_upg_option, 'N') = 'O')
126080 )
126081 THEN
126082 NULL;
126083 --
126084 --
126085
126086 l_ccid := AcctDerRule_34(
126087 p_application_id => p_application_id
126088 , p_ae_header_id => l_ae_header_id
126089 , p_source_36 => p_source_36
126090 , x_transaction_coa_id => l_adr_transaction_coa_id
126091 , x_accounting_coa_id => l_adr_accounting_coa_id
126092 , x_value_type_code => l_adr_value_type_code
126093 , p_side => 'NA'
126094 );
126095
126096 xla_ae_lines_pkg.set_ccid(
126097 p_code_combination_id => l_ccid
126098 , p_value_type_code => l_adr_value_type_code
126099 , p_transaction_coa_id => l_adr_transaction_coa_id
126100 , p_accounting_coa_id => l_adr_accounting_coa_id
126101 , p_adr_code => 'AP_PAYCARD_ACCRUED_ADR'
126102 , p_adr_type_code => 'S'
126103 , p_component_type => l_component_type
126104 , p_component_code => l_component_code
126105 , p_component_type_code => l_component_type_code
126106 , p_component_appl_id => l_component_appl_id
126107 , p_amb_context_code => l_amb_context_code
126108 , p_side => 'NA'
126109 );
126110
126111
126112 --
126113 --
126114 END IF;
126115
126116 --
126117 -- Update the line information that should be overwritten
126118 --
126119 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126120 p_header_num => 1);
126121 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126122
126123 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126124
126125 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126126 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126127 END IF;
126128
126129 --
126130 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126131 --
126132 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126133 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126134 ELSE
126135 ---------------------------------------------------------------------------------------------------
126136 -- 4262811a Switch Sign
126137 ---------------------------------------------------------------------------------------------------
126138 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126139 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126140 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126141 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126142 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126143 -- 5132302
126144 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126145 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126146
126147 END IF;
126148
126149 -- 4955764
126150 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126151 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126152
126153
126154 XLA_AE_LINES_PKG.ValidateCurrentLine;
126155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126156
126157 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126158 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126159 ,p_balance_type_code => l_balance_type_code);
126160
126161 END IF;
126162
126163 -----------------------------------------------------------------------------------------
126164 -- 4262811 Multiperiod Accounting
126165 -----------------------------------------------------------------------------------------
126166 -- No MPA option is assigned.
126167
126168
126169 END IF;
126170 END IF;
126171 --
126172
126173 --
126174 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126175 trace
126176 (p_msg => 'END of AcctLineType_211'
126177 ,p_level => C_LEVEL_PROCEDURE
126178 ,p_module => l_log_module);
126179 END IF;
126180 --
126181 EXCEPTION
126182 WHEN xla_exceptions_pkg.application_exception THEN
126183 RAISE;
126184 WHEN OTHERS THEN
126185 xla_exceptions_pkg.raise_message
126189
126186 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_211');
126187 END AcctLineType_211;
126188 --
126190 ---------------------------------------
126191 --
126192 -- PRIVATE FUNCTION
126193 -- AcctLineType_212
126194 --
126195 ---------------------------------------
126196 PROCEDURE AcctLineType_212 (
126197 p_application_id IN NUMBER
126198 ,p_event_id IN NUMBER
126199 ,p_calculate_acctd_flag IN VARCHAR2
126200 ,p_calculate_g_l_flag IN VARCHAR2
126201 ,p_actual_flag IN OUT VARCHAR2
126202 ,p_balance_type_code OUT VARCHAR2
126203 ,p_gain_or_loss_ref OUT VARCHAR2
126204
126205 --Automatic Offsets Value
126206 , p_source_3 IN VARCHAR2
126207 , p_source_3_meaning IN VARCHAR2
126208 --Invoice Distribution Account
126209 , p_source_18 IN NUMBER
126210 --Payables Options Rounding Account
126211 , p_source_37 IN NUMBER
126212 --Accounting Reversal Indicator
126213 , p_source_41 IN VARCHAR2
126214 --Distribution Link Type
126215 , p_source_43 IN VARCHAR2
126216 --Override Accounted Amount Indicator
126217 , p_source_68 IN VARCHAR2
126218 , p_source_68_meaning IN VARCHAR2
126219 --Third Party Type
126220 , p_source_71 IN VARCHAR2
126221 --Invoice Distribution Tax Line Identifier
126222 , p_source_74 IN NUMBER
126223 --Invoice Distribution Summary Tax Line Identifier
126224 , p_source_76 IN NUMBER
126225 --Business Flow Accounts Payable Application Identifier
126226 , p_source_79 IN NUMBER
126227 --When to Account for Payment Option
126228 , p_source_89 IN VARCHAR2
126229 --Payment Distribution Type
126230 , p_source_90 IN VARCHAR2
126231 , p_source_90_meaning IN VARCHAR2
126232 --Payment Distribution Amount
126233 , p_source_91 IN NUMBER
126234 --Business Flow Payment Distribution Type
126235 , p_source_92 IN VARCHAR2
126236 --Business Flow Payment Entity Code
126237 , p_source_93 IN VARCHAR2
126238 --Business Flow Payment Distribution Identifier
126239 , p_source_94 IN NUMBER
126240 --Business Flow Payment Identifier
126241 , p_source_95 IN NUMBER
126242 --Payment Distribution Identifier
126243 , p_source_96 IN NUMBER
126244 --Payment Supplier Identifier
126245 , p_source_102 IN NUMBER
126246 --Payment Supplier Site Identifier
126247 , p_source_103 IN NUMBER
126248 --Payment Distribution Reversed Identifier
126249 , p_source_104 IN NUMBER
126250 --Payment Currency Code
126251 , p_source_106 IN VARCHAR2
126252 --Payment Maturity Date
126253 , p_source_107 IN DATE
126254 --Payment Distribution (Payment Rate) Ledger Amount
126255 , p_source_108 IN NUMBER
126256 --Payment Exchange Date
126257 , p_source_110 IN DATE
126258 --Payment Exchange Rate
126259 , p_source_111 IN NUMBER
126260 --Payment Exchange Rate Type
126261 , p_source_112 IN VARCHAR2
126262 )
126263 IS
126264
126265 l_component_type VARCHAR2(80);
126266 l_component_code VARCHAR2(30);
126267 l_component_type_code VARCHAR2(1);
126268 l_component_appl_id INTEGER;
126269 l_amb_context_code VARCHAR2(30);
126270 l_entity_code VARCHAR2(30);
126271 l_event_class_code VARCHAR2(30);
126272 l_ae_header_id NUMBER;
126273 l_event_type_code VARCHAR2(30);
126274 l_line_definition_code VARCHAR2(30);
126275 l_line_definition_owner_code VARCHAR2(1);
126276 --
126277 -- adr variables
126278 l_segment VARCHAR2(30);
126279 l_ccid NUMBER;
126280 l_adr_transaction_coa_id NUMBER;
126281 l_adr_accounting_coa_id NUMBER;
126282 l_adr_flexfield_segment_code VARCHAR2(30);
126283 l_adr_flex_value_set_id NUMBER;
126284 l_adr_value_type_code VARCHAR2(30);
126285 l_adr_value_combination_id NUMBER;
126286 l_adr_value_segment_code VARCHAR2(30);
126287
126288 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126289 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126290 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126291 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126292
126293 -- 4262811 Variables ------------------------------------------------------------------------------------------
126294 l_entered_amt_idx NUMBER;
126295 l_accted_amt_idx NUMBER;
126296 l_acc_rev_flag VARCHAR2(1);
126297 l_accrual_line_num NUMBER;
126298 l_tmp_amt NUMBER;
126299 l_acc_rev_natural_side_code VARCHAR2(1);
126300
126301 l_num_entries NUMBER;
126302 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126303 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126304 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126305 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126306 l_recog_line_1 NUMBER;
126307 l_recog_line_2 NUMBER;
126308
126309 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126310 l_bflow_applied_to_amt NUMBER; -- 5132302
126311 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126312
126313 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126314
126318 ---------------------------------------------------------------------------------------------------------------
126315 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126316 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126317
126319
126320
126321 --
126322 -- bulk performance
126323 --
126324 l_balance_type_code VARCHAR2(1);
126325 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126326 l_log_module VARCHAR2(240);
126327
126328 --
126329 -- Upgrade strategy
126330 --
126331 l_actual_upg_option VARCHAR2(1);
126332 l_enc_upg_option VARCHAR2(1);
126333
126334 --
126335 BEGIN
126336 --
126337 IF g_log_enabled THEN
126338 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_212';
126339 END IF;
126340 --
126341 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126342
126343 trace
126344 (p_msg => 'BEGIN of AcctLineType_212'
126345 ,p_level => C_LEVEL_PROCEDURE
126346 ,p_module => l_log_module);
126347
126348 END IF;
126349 --
126350 l_component_type := 'AMB_JLT';
126351 l_component_code := 'AP_PMT_CLR_ROUNDING_CLEAR';
126352 l_component_type_code := 'S';
126353 l_component_appl_id := 200;
126354 l_amb_context_code := 'DEFAULT';
126355 l_entity_code := 'AP_PAYMENTS';
126356 l_event_class_code := 'RECONCILED PAYMENTS';
126357 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
126358 l_line_definition_owner_code := 'S';
126359 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
126360 --
126361 l_balance_type_code := 'A';
126362 l_segment := NULL;
126363 l_ccid := NULL;
126364 l_adr_transaction_coa_id := NULL;
126365 l_adr_accounting_coa_id := NULL;
126366 l_adr_flexfield_segment_code := NULL;
126367 l_adr_flex_value_set_id := NULL;
126368 l_adr_value_type_code := NULL;
126369 l_adr_value_combination_id := NULL;
126370 l_adr_value_segment_code := NULL;
126371
126372 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
126373 l_bflow_class_code := ''; -- 4219869 Business Flow
126374 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
126375 l_budgetary_control_flag := 'N';
126376
126377 l_bflow_applied_to_amt_idx := NULL; -- 5132302
126378 l_bflow_applied_to_amt := NULL; -- 5132302
126379 l_entered_amt_idx := NULL; -- 4262811
126380 l_accted_amt_idx := NULL; -- 4262811
126381 l_acc_rev_flag := NULL; -- 4262811
126382 l_accrual_line_num := NULL; -- 4262811
126383 l_tmp_amt := NULL; -- 4262811
126384 --
126385
126386 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
126387 l_balance_type_code <> 'B' THEN
126388 IF (NVL(p_source_89,'
126389 ') = 'ALWAYS_ALWAYS' OR
126390 NVL(p_source_89,'
126391 ') = 'ALWAYS_CLEAR') AND
126392 NVL(p_source_90,'
126393 ') = 'PAYMENT TO CLEARING ROUNDING' AND
126394 p_source_107 IS NULL
126395 THEN
126396
126397 --
126398 XLA_AE_LINES_PKG.SetNewLine;
126399
126400 p_balance_type_code := l_balance_type_code;
126401 -- set the flag so later we will know whether the gain loss line needs to be created
126402
126403 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
126404 p_actual_flag :='A';
126405 END IF;
126406
126407 --
126408 -- bulk performance
126409 --
126410 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
126411 p_header_num => 0); -- 4262811
126412 --
126413 -- set accounting line options
126414 --
126415 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
126416 p_natural_side_code => 'D'
126417 , p_gain_or_loss_flag => 'N'
126418 , p_gl_transfer_mode_code => 'S'
126419 , p_acct_entry_type_code => 'A'
126420 , p_switch_side_flag => 'Y'
126421 , p_merge_duplicate_code => 'A'
126422 );
126423 --
126424 l_acc_rev_natural_side_code := 'C'; -- 4262811
126425 --
126426 --
126427 -- set accounting line type info
126428 --
126429 xla_ae_lines_pkg.SetAcctLineType
126430 (p_component_type => l_component_type
126431 ,p_event_type_code => l_event_type_code
126432 ,p_line_definition_owner_code => l_line_definition_owner_code
126433 ,p_line_definition_code => l_line_definition_code
126434 ,p_accounting_line_code => l_component_code
126435 ,p_accounting_line_type_code => l_component_type_code
126436 ,p_accounting_line_appl_id => l_component_appl_id
126437 ,p_amb_context_code => l_amb_context_code
126438 ,p_entity_code => l_entity_code
126439 ,p_event_class_code => l_event_class_code);
126440 --
126441 -- set accounting class
126442 --
126443 xla_ae_lines_pkg.SetAcctClass(
126444 p_accounting_class_code => 'ROUNDING'
126445 , p_ae_header_id => l_ae_header_id
126446 );
126447
126448 --
126449 -- set rounding class
126450 --
126454 --
126451 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
126452 'ROUNDING';
126453
126455 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
126456 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
126457 --
126458 -- bulk performance
126459 --
126460 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
126461
126462 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
126463 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
126464
126465 -- 4955764
126466 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126467 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
126468
126469 -- 4458381 Public Sector Enh
126470
126471 --
126472 -- set accounting attributes for the line type
126473 --
126474 l_entered_amt_idx := 10;
126475 l_accted_amt_idx := 15;
126476 l_bflow_applied_to_amt_idx := 2; -- 5132302
126477 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
126478 l_rec_acct_attrs.array_char_value(1) := p_source_41;
126479 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
126480 l_rec_acct_attrs.array_num_value(2) := p_source_91;
126481 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
126482 l_rec_acct_attrs.array_num_value(3) := p_source_79;
126483 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
126484 l_rec_acct_attrs.array_char_value(4) := p_source_92;
126485 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
126486 l_rec_acct_attrs.array_char_value(5) := p_source_93;
126487 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
126488 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
126489 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
126490 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
126491 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
126492 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
126493 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
126494 l_rec_acct_attrs.array_char_value(9) := p_source_43;
126495 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
126496 l_rec_acct_attrs.array_num_value(10) := p_source_91;
126497 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
126498 l_rec_acct_attrs.array_char_value(11) := p_source_106;
126499 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
126500 l_rec_acct_attrs.array_date_value(12) := p_source_110;
126501 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
126502 l_rec_acct_attrs.array_num_value(13) := p_source_111;
126503 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
126504 l_rec_acct_attrs.array_char_value(14) := p_source_112;
126505 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
126506 l_rec_acct_attrs.array_num_value(15) := p_source_108;
126507 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
126508 l_rec_acct_attrs.array_char_value(16) := p_source_68;
126509 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
126510 l_rec_acct_attrs.array_num_value(17) := p_source_102;
126511 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
126512 l_rec_acct_attrs.array_num_value(18) := p_source_103;
126513 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
126514 l_rec_acct_attrs.array_char_value(19) := p_source_71;
126515 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
126516 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
126517 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
126518 l_rec_acct_attrs.array_char_value(21) := p_source_43;
126519 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
126520 l_rec_acct_attrs.array_num_value(22) := p_source_74;
126521 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
126522 l_rec_acct_attrs.array_num_value(23) := p_source_74;
126523 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
126524 l_rec_acct_attrs.array_num_value(24) := p_source_76;
126525
126526 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
126527 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
126528
126529 ---------------------------------------------------------------------------------------------------------------
126530 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
126531 ---------------------------------------------------------------------------------------------------------------
126532 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
126533
126534 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126535 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
126536
126537 IF xla_accounting_cache_pkg.GetValueChar
126538 (p_source_code => 'LEDGER_CATEGORY_CODE'
126539 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
126540 AND l_bflow_method_code = 'PRIOR_ENTRY'
126544 )
126541 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
126542 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
126543 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
126545 THEN
126546 xla_ae_lines_pkg.BflowUpgEntry
126547 (p_business_method_code => l_bflow_method_code
126548 ,p_business_class_code => l_bflow_class_code
126549 ,p_balance_type => l_balance_type_code);
126550 ELSE
126551 NULL;
126552 -- No business flow processing for business flow method of NONE.
126553 END IF;
126554
126555 --
126556 -- call analytical criteria
126557 --
126558
126559 --
126560 -- call description
126561 --
126562 -- No description or it is inherited.
126563 --
126564 -- call ADRs
126565 -- Bug 4922099
126566 --
126567 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126568 (NVL(l_actual_upg_option, 'N') = 'O') OR
126569 (NVL(l_enc_upg_option, 'N') = 'O')
126570 )
126571 THEN
126572 NULL;
126573 --
126574 --
126575
126576 l_ccid := AcctDerRule_40(
126577 p_application_id => p_application_id
126578 , p_ae_header_id => l_ae_header_id
126579 , p_source_3 => p_source_3
126580 , p_source_3_meaning => p_source_3_meaning
126581 , p_source_18 => p_source_18
126582 , p_source_37 => p_source_37
126583 , x_transaction_coa_id => l_adr_transaction_coa_id
126584 , x_accounting_coa_id => l_adr_accounting_coa_id
126585 , x_value_type_code => l_adr_value_type_code
126586 , p_side => 'NA'
126587 );
126588
126589 xla_ae_lines_pkg.set_ccid(
126590 p_code_combination_id => l_ccid
126591 , p_value_type_code => l_adr_value_type_code
126592 , p_transaction_coa_id => l_adr_transaction_coa_id
126593 , p_accounting_coa_id => l_adr_accounting_coa_id
126594 , p_adr_code => 'AP_ROUNDING'
126595 , p_adr_type_code => 'S'
126596 , p_component_type => l_component_type
126597 , p_component_code => l_component_code
126598 , p_component_type_code => l_component_type_code
126599 , p_component_appl_id => l_component_appl_id
126600 , p_amb_context_code => l_amb_context_code
126601 , p_side => 'NA'
126602 );
126603
126604
126605 --
126606 --
126607 END IF;
126608 --
126609 -- Bug 4922099
126610 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
126611 (NVL(l_enc_upg_option, 'N') = 'O')
126612 ) AND
126613 (l_bflow_method_code = 'PRIOR_ENTRY')
126614 )
126615 THEN
126616 IF
126617 --
126618 1 = 2
126619 --
126620 THEN
126621 xla_accounting_err_pkg.build_message
126622 (p_appli_s_name => 'XLA'
126623 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126624 ,p_token_1 => 'LINE_NUMBER'
126625 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
126626 ,p_token_2 => 'LINE_TYPE_NAME'
126627 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
126628 l_component_type
126629 ,l_component_code
126630 ,l_component_type_code
126631 ,l_component_appl_id
126632 ,l_amb_context_code
126633 ,l_entity_code
126634 ,l_event_class_code
126635 )
126636 ,p_token_3 => 'OWNER'
126637 ,p_value_3 => xla_lookups_pkg.get_meaning(
126638 p_lookup_type => 'XLA_OWNER_TYPE'
126639 ,p_lookup_code => l_component_type_code
126640 )
126641 ,p_token_4 => 'PRODUCT_NAME'
126642 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
126643 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
126644 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
126645 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
126646 ,p_ae_header_id => NULL
126647 );
126648
126649 IF (C_LEVEL_ERROR>= g_log_level) THEN
126650 trace
126651 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
126655 END IF;
126652 ,p_level => C_LEVEL_ERROR
126653 ,p_module => l_log_module);
126654 END IF;
126656 END IF;
126657 --
126658 --
126659 ------------------------------------------------------------------------------------------------
126660 -- 4219869 Business Flow
126661 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
126662 -- Prior Entry. Currently, the following code is always generated.
126663 ------------------------------------------------------------------------------------------------
126664 XLA_AE_LINES_PKG.ValidateCurrentLine;
126665
126666 ------------------------------------------------------------------------------------
126667 -- 4219869 Business Flow
126668 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
126669 ------------------------------------------------------------------------------------
126670 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126671
126672 ----------------------------------------------------------------------------------
126673 -- 4219869 Business Flow
126674 -- Update journal entry status -- Need to generate this within IF <condition>
126675 ----------------------------------------------------------------------------------
126676 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126677 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
126678 ,p_balance_type_code => l_balance_type_code
126679 );
126680
126681 -------------------------------------------------------------------------------------------
126682 -- 4262811 - Generate the Accrual Reversal lines
126683 -------------------------------------------------------------------------------------------
126684 BEGIN
126685 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
126686 (g_array_event(p_event_id).array_value_num('header_index'));
126687 IF l_acc_rev_flag IS NULL THEN
126688 l_acc_rev_flag := 'N';
126689 END IF;
126690 EXCEPTION
126691 WHEN OTHERS THEN
126692 l_acc_rev_flag := 'N';
126693 END;
126694 --
126695 IF (l_acc_rev_flag = 'Y') THEN
126696
126697 -- 4645092 ------------------------------------------------------------------------------
126698 -- To allow MPA report to determine if it should generate report process
126699 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
126700 ------------------------------------------------------------------------------------------
126701
126702 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
126703 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
126704 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
126705 -- call ADRs
126706 -- Bug 4922099
126707 --
126708 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
126709 (NVL(l_actual_upg_option, 'N') = 'O') OR
126710 (NVL(l_enc_upg_option, 'N') = 'O')
126711 )
126712 THEN
126713 NULL;
126714 --
126715 --
126716
126717 l_ccid := AcctDerRule_40(
126718 p_application_id => p_application_id
126719 , p_ae_header_id => l_ae_header_id
126720 , p_source_3 => p_source_3
126721 , p_source_3_meaning => p_source_3_meaning
126722 , p_source_18 => p_source_18
126723 , p_source_37 => p_source_37
126724 , x_transaction_coa_id => l_adr_transaction_coa_id
126725 , x_accounting_coa_id => l_adr_accounting_coa_id
126726 , x_value_type_code => l_adr_value_type_code
126727 , p_side => 'NA'
126728 );
126729
126730 xla_ae_lines_pkg.set_ccid(
126731 p_code_combination_id => l_ccid
126732 , p_value_type_code => l_adr_value_type_code
126733 , p_transaction_coa_id => l_adr_transaction_coa_id
126734 , p_accounting_coa_id => l_adr_accounting_coa_id
126735 , p_adr_code => 'AP_ROUNDING'
126736 , p_adr_type_code => 'S'
126737 , p_component_type => l_component_type
126738 , p_component_code => l_component_code
126739 , p_component_type_code => l_component_type_code
126740 , p_component_appl_id => l_component_appl_id
126741 , p_amb_context_code => l_amb_context_code
126742 , p_side => 'NA'
126743 );
126744
126745
126746 --
126747 --
126748 END IF;
126749
126750 --
126751 -- Update the line information that should be overwritten
126752 --
126753 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
126754 p_header_num => 1);
126755 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
126756
126757 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
126758
126759 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
126760 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
126761 END IF;
126762
126763 --
126764 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
126765 --
126766 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
126770 -- 4262811a Switch Sign
126767 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
126768 ELSE
126769 ---------------------------------------------------------------------------------------------------
126771 ---------------------------------------------------------------------------------------------------
126772 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
126773 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126774 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126775 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
126776 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126777 -- 5132302
126778 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
126779 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
126780
126781 END IF;
126782
126783 -- 4955764
126784 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
126785 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
126786
126787
126788 XLA_AE_LINES_PKG.ValidateCurrentLine;
126789 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
126790
126791 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
126792 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
126793 ,p_balance_type_code => l_balance_type_code);
126794
126795 END IF;
126796
126797 -----------------------------------------------------------------------------------------
126798 -- 4262811 Multiperiod Accounting
126799 -----------------------------------------------------------------------------------------
126800 -- No MPA option is assigned.
126801
126802
126803 END IF;
126804 END IF;
126805 --
126806
126807 --
126808 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
126809 trace
126810 (p_msg => 'END of AcctLineType_212'
126811 ,p_level => C_LEVEL_PROCEDURE
126812 ,p_module => l_log_module);
126813 END IF;
126814 --
126815 EXCEPTION
126816 WHEN xla_exceptions_pkg.application_exception THEN
126817 RAISE;
126818 WHEN OTHERS THEN
126819 xla_exceptions_pkg.raise_message
126820 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_212');
126821 END AcctLineType_212;
126822 --
126823
126824 ---------------------------------------
126825 --
126826 -- PRIVATE FUNCTION
126827 -- AcctLineType_213
126828 --
126829 ---------------------------------------
126830 PROCEDURE AcctLineType_213 (
126831 p_application_id IN NUMBER
126832 ,p_event_id IN NUMBER
126833 ,p_calculate_acctd_flag IN VARCHAR2
126834 ,p_calculate_g_l_flag IN VARCHAR2
126835 ,p_actual_flag IN OUT VARCHAR2
126836 ,p_balance_type_code OUT VARCHAR2
126837 ,p_gain_or_loss_ref OUT VARCHAR2
126838
126839 --Invoice Distribution Description
126840 , p_source_1 IN VARCHAR2
126841 --Invoice Distribution Ledger Amount
126842 , p_source_9 IN NUMBER
126843 --Invoice Distribution Account
126844 , p_source_18 IN NUMBER
126845 --Prepaid Expense Account Source Option
126846 , p_source_19 IN VARCHAR2
126847 , p_source_19_meaning IN VARCHAR2
126848 --Purchase Order Number
126849 , p_source_20 IN VARCHAR2
126850 --Invoice Distribution Type
126851 , p_source_21 IN VARCHAR2
126852 , p_source_21_meaning IN VARCHAR2
126853 --Purchase Order Charge Account
126854 , p_source_33 IN NUMBER
126855 --Accounting Reversal Indicator
126856 , p_source_41 IN VARCHAR2
126857 --Distribution Link Type
126858 , p_source_43 IN VARCHAR2
126859 --Allocation to Main Distribution Identifier
126860 , p_source_45 IN NUMBER
126861 --Invoice Identifier
126862 , p_source_46 IN NUMBER
126863 --Invoice Distribution Identifier
126864 , p_source_52 IN NUMBER
126865 --Payables Encumbrance Upgrade Credit Account
126866 , p_source_53 IN NUMBER
126867 --Payables Encumbrance Upgrade Credit Amount
126868 , p_source_54 IN NUMBER
126869 --Invoice Currency Code
126870 , p_source_55 IN VARCHAR2
126871 --Payables Encumbrance Upgrade Credit Base Amount
126872 , p_source_56 IN NUMBER
126873 --Payables Encumbrance Upgrade Debit Account
126874 , p_source_57 IN NUMBER
126875 --Payables Encumbrance Upgrade Debit Amount
126876 , p_source_58 IN NUMBER
126877 --Payables Encumbrance Upgrade Debit Base Amount
126878 , p_source_59 IN NUMBER
126879 --Payables Encumbrance Upgrade Option
126880 , p_source_60 IN VARCHAR2
126881 --Invoice Distribution Amount
126882 , p_source_61 IN NUMBER
126883 --Deferred Accounting End Date
126884 , p_source_65 IN DATE
126885 --Deferred Accounting Option
126886 , p_source_66 IN VARCHAR2
126887 --Deferred Accounting Start Date
126888 , p_source_67 IN DATE
126889 --Override Accounted Amount Indicator
126890 , p_source_68 IN VARCHAR2
126891 , p_source_68_meaning IN VARCHAR2
126892 --Invoice Supplier Identifier
126893 , p_source_69 IN NUMBER
126897 , p_source_71 IN VARCHAR2
126894 --Invoice Supplier Site Identifier
126895 , p_source_70 IN NUMBER
126896 --Third Party Type
126898 --Parent Reversal Identifier
126899 , p_source_72 IN NUMBER
126900 --Invoice Distribution Statistical Amount
126901 , p_source_73 IN NUMBER
126902 --Invoice Distribution Tax Line Identifier
126903 , p_source_74 IN NUMBER
126904 --Invoice Distribution Tax Distribution Identifier from Tax
126905 , p_source_75 IN NUMBER
126906 --Invoice Distribution Summary Tax Line Identifier
126907 , p_source_76 IN NUMBER
126908 --Payables Upgrade Credit Encumbrance Type Identifier
126909 , p_source_77 IN NUMBER
126910 --Payables Upgrade Debit Encumbrance Type Identifier
126911 , p_source_78 IN NUMBER
126912 --Business Flow Accounts Payable Application Identifier
126913 , p_source_79 IN NUMBER
126914 --Business Flow Invoice Distribution Type
126915 , p_source_80 IN VARCHAR2
126916 --Business Flow Invoice Entity Code
126917 , p_source_81 IN VARCHAR2
126918 --Business Flow Invoice Distribution Identifier
126919 , p_source_82 IN NUMBER
126920 --Business Flow Invoice Identifier
126921 , p_source_83 IN NUMBER
126922 --Accrue on Receipt Option
126923 , p_source_84 IN VARCHAR2
126924 , p_source_84_meaning IN VARCHAR2
126925 --Invoice Exchange Date
126926 , p_source_136 IN DATE
126927 --Invoice Exchange Rate
126928 , p_source_137 IN NUMBER
126929 --Invoice Exchange Rate Type
126930 , p_source_138 IN VARCHAR2
126931 )
126932 IS
126933
126934 l_component_type VARCHAR2(80);
126935 l_component_code VARCHAR2(30);
126936 l_component_type_code VARCHAR2(1);
126937 l_component_appl_id INTEGER;
126938 l_amb_context_code VARCHAR2(30);
126939 l_entity_code VARCHAR2(30);
126940 l_event_class_code VARCHAR2(30);
126941 l_ae_header_id NUMBER;
126942 l_event_type_code VARCHAR2(30);
126943 l_line_definition_code VARCHAR2(30);
126944 l_line_definition_owner_code VARCHAR2(1);
126945 --
126946 -- adr variables
126947 l_segment VARCHAR2(30);
126948 l_ccid NUMBER;
126949 l_adr_transaction_coa_id NUMBER;
126950 l_adr_accounting_coa_id NUMBER;
126951 l_adr_flexfield_segment_code VARCHAR2(30);
126952 l_adr_flex_value_set_id NUMBER;
126953 l_adr_value_type_code VARCHAR2(30);
126954 l_adr_value_combination_id NUMBER;
126955 l_adr_value_segment_code VARCHAR2(30);
126956
126957 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
126958 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
126959 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
126960 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
126961
126962 -- 4262811 Variables ------------------------------------------------------------------------------------------
126963 l_entered_amt_idx NUMBER;
126964 l_accted_amt_idx NUMBER;
126965 l_acc_rev_flag VARCHAR2(1);
126966 l_accrual_line_num NUMBER;
126967 l_tmp_amt NUMBER;
126968 l_acc_rev_natural_side_code VARCHAR2(1);
126969
126970 l_num_entries NUMBER;
126971 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
126972 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
126973 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
126974 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
126975 l_recog_line_1 NUMBER;
126976 l_recog_line_2 NUMBER;
126977
126978 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
126979 l_bflow_applied_to_amt NUMBER; -- 5132302
126980 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
126981
126982 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
126983
126984 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
126985 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
126986
126987 ---------------------------------------------------------------------------------------------------------------
126988
126989
126990 --
126991 -- bulk performance
126992 --
126993 l_balance_type_code VARCHAR2(1);
126994 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
126995 l_log_module VARCHAR2(240);
126996
126997 --
126998 -- Upgrade strategy
126999 --
127000 l_actual_upg_option VARCHAR2(1);
127001 l_enc_upg_option VARCHAR2(1);
127002
127003 --
127004 BEGIN
127005 --
127006 IF g_log_enabled THEN
127007 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_213';
127008 END IF;
127009 --
127010 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127011
127012 trace
127013 (p_msg => 'BEGIN of AcctLineType_213'
127014 ,p_level => C_LEVEL_PROCEDURE
127015 ,p_module => l_log_module);
127016
127017 END IF;
127018 --
127019 l_component_type := 'AMB_JLT';
127020 l_component_code := 'AP_PREPAID_EXPENSE_PREPAY';
127021 l_component_type_code := 'S';
127022 l_component_appl_id := 200;
127023 l_amb_context_code := 'DEFAULT';
127024 l_entity_code := 'AP_INVOICES';
127028 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
127025 l_event_class_code := 'PREPAYMENTS';
127026 l_event_type_code := 'PREPAYMENTS_ALL';
127027 l_line_definition_owner_code := 'S';
127029 --
127030 l_balance_type_code := 'A';
127031 l_segment := NULL;
127032 l_ccid := NULL;
127033 l_adr_transaction_coa_id := NULL;
127034 l_adr_accounting_coa_id := NULL;
127035 l_adr_flexfield_segment_code := NULL;
127036 l_adr_flex_value_set_id := NULL;
127037 l_adr_value_type_code := NULL;
127038 l_adr_value_combination_id := NULL;
127039 l_adr_value_segment_code := NULL;
127040
127041 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
127042 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
127043 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127044 l_budgetary_control_flag := 'N';
127045
127046 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127047 l_bflow_applied_to_amt := NULL; -- 5132302
127048 l_entered_amt_idx := NULL; -- 4262811
127049 l_accted_amt_idx := NULL; -- 4262811
127050 l_acc_rev_flag := NULL; -- 4262811
127051 l_accrual_line_num := NULL; -- 4262811
127052 l_tmp_amt := NULL; -- 4262811
127053 --
127054
127055 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127056 l_balance_type_code <> 'B' THEN
127057 IF NVL(p_source_21,'
127058 ') = 'RETROEXPENSE' OR
127059 NVL(p_source_21,'
127060 ') = 'ITEM' OR
127061 (NVL(p_source_21,'
127062 ') = 'ERV' AND
127063 NVL(p_source_84,'
127064 ') <> 'Y') OR
127065 (NVL(p_source_21,'
127066 ') = 'IPV' AND
127067 NVL(p_source_84,'
127068 ') <> 'Y')
127069 THEN
127070
127071 --
127072 XLA_AE_LINES_PKG.SetNewLine;
127073
127074 p_balance_type_code := l_balance_type_code;
127075 -- set the flag so later we will know whether the gain loss line needs to be created
127076
127077 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127078 p_actual_flag :='A';
127079 END IF;
127080
127081 --
127082 -- bulk performance
127083 --
127084 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127085 p_header_num => 0); -- 4262811
127086 --
127087 -- set accounting line options
127088 --
127089 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127090 p_natural_side_code => 'D'
127091 , p_gain_or_loss_flag => 'N'
127092 , p_gl_transfer_mode_code => 'S'
127093 , p_acct_entry_type_code => 'A'
127094 , p_switch_side_flag => 'Y'
127095 , p_merge_duplicate_code => 'A'
127096 );
127097 --
127098 l_acc_rev_natural_side_code := 'C'; -- 4262811
127099 --
127100 --
127101 -- set accounting line type info
127102 --
127103 xla_ae_lines_pkg.SetAcctLineType
127104 (p_component_type => l_component_type
127105 ,p_event_type_code => l_event_type_code
127106 ,p_line_definition_owner_code => l_line_definition_owner_code
127107 ,p_line_definition_code => l_line_definition_code
127108 ,p_accounting_line_code => l_component_code
127109 ,p_accounting_line_type_code => l_component_type_code
127110 ,p_accounting_line_appl_id => l_component_appl_id
127111 ,p_amb_context_code => l_amb_context_code
127112 ,p_entity_code => l_entity_code
127113 ,p_event_class_code => l_event_class_code);
127114 --
127115 -- set accounting class
127116 --
127117 xla_ae_lines_pkg.SetAcctClass(
127118 p_accounting_class_code => 'PREPAID_EXPENSE'
127119 , p_ae_header_id => l_ae_header_id
127120 );
127121
127122 --
127123 -- set rounding class
127124 --
127125 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127126 'PREPAID_EXPENSE';
127127
127128 --
127129 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127130 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127131 --
127132 -- bulk performance
127133 --
127134 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
127135
127136 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
127137 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
127138
127139 -- 4955764
127140 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127141 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
127142
127143 -- 4458381 Public Sector Enh
127144
127145 --
127146 -- set accounting attributes for the line type
127147 --
127148 l_entered_amt_idx := 23;
127149 l_accted_amt_idx := 28;
127150 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127151 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
127152 l_rec_acct_attrs.array_char_value(1) := p_source_41;
127153 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
127157 , p_source_type_code => 'Y'
127154 l_rec_acct_attrs.array_num_value(2) :=
127155 xla_ae_sources_pkg.GetSystemSourceNum(
127156 p_source_code => 'XLA_EVENT_APPL_ID'
127158 , p_source_application_id => 602
127159 );
127160 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127161 l_rec_acct_attrs.array_char_value(3) := p_source_43;
127162 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127163 l_rec_acct_attrs.array_char_value(4) :=
127164 xla_ae_sources_pkg.GetSystemSourceChar(
127165 p_source_code => 'XLA_ENTITY_CODE'
127166 , p_source_type_code => 'Y'
127167 , p_source_application_id => 602
127168 );
127169 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127170 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
127171 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127172 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
127173 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
127174 l_rec_acct_attrs.array_num_value(7) := p_source_79;
127175 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127176 l_rec_acct_attrs.array_char_value(8) := p_source_80;
127177 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
127178 l_rec_acct_attrs.array_char_value(9) := p_source_81;
127179 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
127180 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
127181 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127182 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
127183 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
127184 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
127185 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
127186 l_rec_acct_attrs.array_char_value(13) := p_source_43;
127187 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
127188 l_rec_acct_attrs.array_num_value(14) := p_source_53;
127189 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
127190 l_rec_acct_attrs.array_num_value(15) := p_source_54;
127191 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
127192 l_rec_acct_attrs.array_char_value(16) := p_source_55;
127193 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
127194 l_rec_acct_attrs.array_num_value(17) := p_source_56;
127195 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
127196 l_rec_acct_attrs.array_num_value(18) := p_source_57;
127197 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
127198 l_rec_acct_attrs.array_num_value(19) := p_source_58;
127199 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
127200 l_rec_acct_attrs.array_char_value(20) := p_source_55;
127201 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
127202 l_rec_acct_attrs.array_num_value(21) := p_source_59;
127203 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
127204 l_rec_acct_attrs.array_char_value(22) := p_source_60;
127205 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
127206 l_rec_acct_attrs.array_num_value(23) := p_source_61;
127207 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
127208 l_rec_acct_attrs.array_char_value(24) := p_source_55;
127209 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
127210 l_rec_acct_attrs.array_date_value(25) := p_source_136;
127211 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
127212 l_rec_acct_attrs.array_num_value(26) := p_source_137;
127213 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
127214 l_rec_acct_attrs.array_char_value(27) := p_source_138;
127215 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
127216 l_rec_acct_attrs.array_num_value(28) := p_source_9;
127217 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
127218 l_rec_acct_attrs.array_date_value(29) := p_source_65;
127219 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
127220 l_rec_acct_attrs.array_char_value(30) := p_source_66;
127221 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
127222 l_rec_acct_attrs.array_date_value(31) := p_source_67;
127223 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
127224 l_rec_acct_attrs.array_char_value(32) := p_source_68;
127225 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
127226 l_rec_acct_attrs.array_num_value(33) := p_source_69;
127227 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
127228 l_rec_acct_attrs.array_num_value(34) := p_source_70;
127229 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
127230 l_rec_acct_attrs.array_char_value(35) := p_source_71;
127231 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
127232 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
127233 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
127234 l_rec_acct_attrs.array_char_value(37) := p_source_43;
127235 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
127236 l_rec_acct_attrs.array_num_value(38) := p_source_73;
127237 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
127238 l_rec_acct_attrs.array_num_value(39) := p_source_74;
127239 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
127240 l_rec_acct_attrs.array_num_value(40) := p_source_75;
127241 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
127242 l_rec_acct_attrs.array_num_value(41) := p_source_76;
127246 l_rec_acct_attrs.array_num_value(43) := p_source_78;
127243 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
127244 l_rec_acct_attrs.array_num_value(42) := p_source_77;
127245 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
127247
127248 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
127249 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
127250
127251 ---------------------------------------------------------------------------------------------------------------
127252 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
127253 ---------------------------------------------------------------------------------------------------------------
127254 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
127255
127256 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127257 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
127258
127259 IF xla_accounting_cache_pkg.GetValueChar
127260 (p_source_code => 'LEDGER_CATEGORY_CODE'
127261 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
127262 AND l_bflow_method_code = 'PRIOR_ENTRY'
127263 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
127264 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
127265 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
127266 )
127267 THEN
127268 xla_ae_lines_pkg.BflowUpgEntry
127269 (p_business_method_code => l_bflow_method_code
127270 ,p_business_class_code => l_bflow_class_code
127271 ,p_balance_type => l_balance_type_code);
127272 ELSE
127273 NULL;
127274 -- No business flow processing for business flow method of NONE.
127275 END IF;
127276
127277 --
127278 -- call analytical criteria
127279 --
127280
127281 --
127282 -- call description
127283 --
127284
127285 xla_ae_lines_pkg.SetLineDescription(
127286 p_ae_header_id => l_ae_header_id
127287 ,p_description => Description_2 (
127288 p_application_id => p_application_id
127289 , p_ae_header_id => l_ae_header_id
127290 , p_source_1 => p_source_1
127291 )
127292 );
127293
127294
127295 --
127296 -- call ADRs
127297 -- Bug 4922099
127298 --
127299 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127300 (NVL(l_actual_upg_option, 'N') = 'O') OR
127301 (NVL(l_enc_upg_option, 'N') = 'O')
127302 )
127303 THEN
127304 NULL;
127305 --
127306 --
127307
127308 l_ccid := AcctDerRule_36(
127309 p_application_id => p_application_id
127310 , p_ae_header_id => l_ae_header_id
127311 , p_source_18 => p_source_18
127312 , p_source_19 => p_source_19
127313 , p_source_19_meaning => p_source_19_meaning
127314 , p_source_20 => p_source_20
127315 , p_source_21 => p_source_21
127316 , p_source_21_meaning => p_source_21_meaning
127317 , p_source_33 => p_source_33
127318 , x_transaction_coa_id => l_adr_transaction_coa_id
127319 , x_accounting_coa_id => l_adr_accounting_coa_id
127320 , x_value_type_code => l_adr_value_type_code
127321 , p_side => 'NA'
127322 );
127323
127324 xla_ae_lines_pkg.set_ccid(
127325 p_code_combination_id => l_ccid
127326 , p_value_type_code => l_adr_value_type_code
127327 , p_transaction_coa_id => l_adr_transaction_coa_id
127328 , p_accounting_coa_id => l_adr_accounting_coa_id
127329 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
127330 , p_adr_type_code => 'S'
127331 , p_component_type => l_component_type
127332 , p_component_code => l_component_code
127333 , p_component_type_code => l_component_type_code
127334 , p_component_appl_id => l_component_appl_id
127335 , p_amb_context_code => l_amb_context_code
127336 , p_side => 'NA'
127337 );
127338
127339
127340 l_segment := AcctDerRule_12(
127341 p_application_id => p_application_id
127342 , p_ae_header_id => l_ae_header_id
127343 , p_source_18 => p_source_18
127344 , p_source_19 => p_source_19
127345 , p_source_19_meaning => p_source_19_meaning
127346 , p_source_20 => p_source_20
127347 , p_source_21 => p_source_21
127348 , p_source_21_meaning => p_source_21_meaning
127349 , x_transaction_coa_id => l_adr_transaction_coa_id
127350 , x_accounting_coa_id => l_adr_accounting_coa_id
127351 , x_flexfield_segment_code => l_adr_flexfield_segment_code
127352 , x_flex_value_set_id => l_adr_flex_value_set_id
127353 , x_value_type_code => l_adr_value_type_code
127354 , x_value_combination_id => l_adr_value_combination_id
127355 , x_value_segment_code => l_adr_value_segment_code
127356 , p_side => 'NA'
127357 , p_override_seg_flag => 'Y'
127358 );
127359
127360 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
127361
127362 xla_ae_lines_pkg.set_segment(
127366 , p_from_combination_id => l_adr_value_combination_id
127363 p_to_segment_code => 'GL_ACCOUNT'
127364 , p_segment_value => l_segment
127365 , p_from_segment_code => l_adr_value_segment_code
127367 , p_value_type_code => l_adr_value_type_code
127368 , p_transaction_coa_id => l_adr_transaction_coa_id
127369 , p_accounting_coa_id => l_adr_accounting_coa_id
127370 , p_flexfield_segment_code => l_adr_flexfield_segment_code
127371 , p_flex_value_set_id => l_adr_flex_value_set_id
127372 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
127373 , p_adr_type_code => 'S'
127374 , p_component_type => l_component_type
127375 , p_component_code => l_component_code
127376 , p_component_type_code => l_component_type_code
127377 , p_component_appl_id => l_component_appl_id
127378 , p_amb_context_code => l_amb_context_code
127379 , p_entity_code => 'AP_INVOICES'
127380 , p_event_class_code => 'PREPAYMENTS'
127381 , p_side => 'NA'
127382 );
127383
127384 END IF;
127385
127386 --
127387 --
127388 END IF;
127389 --
127390 -- Bug 4922099
127391 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
127392 (NVL(l_enc_upg_option, 'N') = 'O')
127393 ) AND
127394 (l_bflow_method_code = 'PRIOR_ENTRY')
127395 )
127396 THEN
127397 IF
127398 --
127399 1 = 2
127400 --
127401 THEN
127402 xla_accounting_err_pkg.build_message
127403 (p_appli_s_name => 'XLA'
127404 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127405 ,p_token_1 => 'LINE_NUMBER'
127406 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
127407 ,p_token_2 => 'LINE_TYPE_NAME'
127408 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
127409 l_component_type
127410 ,l_component_code
127411 ,l_component_type_code
127412 ,l_component_appl_id
127413 ,l_amb_context_code
127414 ,l_entity_code
127415 ,l_event_class_code
127416 )
127417 ,p_token_3 => 'OWNER'
127418 ,p_value_3 => xla_lookups_pkg.get_meaning(
127419 p_lookup_type => 'XLA_OWNER_TYPE'
127420 ,p_lookup_code => l_component_type_code
127421 )
127422 ,p_token_4 => 'PRODUCT_NAME'
127423 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
127424 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
127425 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
127426 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
127427 ,p_ae_header_id => NULL
127428 );
127429
127430 IF (C_LEVEL_ERROR>= g_log_level) THEN
127431 trace
127432 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
127433 ,p_level => C_LEVEL_ERROR
127434 ,p_module => l_log_module);
127435 END IF;
127436 END IF;
127437 END IF;
127438 --
127439 --
127440 ------------------------------------------------------------------------------------------------
127441 -- 4219869 Business Flow
127442 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
127443 -- Prior Entry. Currently, the following code is always generated.
127444 ------------------------------------------------------------------------------------------------
127445 XLA_AE_LINES_PKG.ValidateCurrentLine;
127446
127447 ------------------------------------------------------------------------------------
127448 -- 4219869 Business Flow
127449 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
127450 ------------------------------------------------------------------------------------
127451 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127452
127453 ----------------------------------------------------------------------------------
127454 -- 4219869 Business Flow
127455 -- Update journal entry status -- Need to generate this within IF <condition>
127459 ,p_balance_type_code => l_balance_type_code
127456 ----------------------------------------------------------------------------------
127457 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127458 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
127460 );
127461
127462 -------------------------------------------------------------------------------------------
127463 -- 4262811 - Generate the Accrual Reversal lines
127464 -------------------------------------------------------------------------------------------
127465 BEGIN
127466 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
127467 (g_array_event(p_event_id).array_value_num('header_index'));
127468 IF l_acc_rev_flag IS NULL THEN
127469 l_acc_rev_flag := 'N';
127470 END IF;
127471 EXCEPTION
127472 WHEN OTHERS THEN
127473 l_acc_rev_flag := 'N';
127474 END;
127475 --
127476 IF (l_acc_rev_flag = 'Y') THEN
127477
127478 -- 4645092 ------------------------------------------------------------------------------
127479 -- To allow MPA report to determine if it should generate report process
127480 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
127481 ------------------------------------------------------------------------------------------
127482
127483 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
127484 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
127485 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
127486 -- call ADRs
127487 -- Bug 4922099
127488 --
127489 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
127490 (NVL(l_actual_upg_option, 'N') = 'O') OR
127491 (NVL(l_enc_upg_option, 'N') = 'O')
127492 )
127493 THEN
127494 NULL;
127495 --
127496 --
127497
127498 l_ccid := AcctDerRule_36(
127499 p_application_id => p_application_id
127500 , p_ae_header_id => l_ae_header_id
127501 , p_source_18 => p_source_18
127502 , p_source_19 => p_source_19
127503 , p_source_19_meaning => p_source_19_meaning
127504 , p_source_20 => p_source_20
127505 , p_source_21 => p_source_21
127506 , p_source_21_meaning => p_source_21_meaning
127507 , p_source_33 => p_source_33
127508 , x_transaction_coa_id => l_adr_transaction_coa_id
127509 , x_accounting_coa_id => l_adr_accounting_coa_id
127510 , x_value_type_code => l_adr_value_type_code
127511 , p_side => 'NA'
127512 );
127513
127514 xla_ae_lines_pkg.set_ccid(
127515 p_code_combination_id => l_ccid
127516 , p_value_type_code => l_adr_value_type_code
127517 , p_transaction_coa_id => l_adr_transaction_coa_id
127518 , p_accounting_coa_id => l_adr_accounting_coa_id
127519 , p_adr_code => 'AP_PREPAY_INVOICE_DIST'
127520 , p_adr_type_code => 'S'
127521 , p_component_type => l_component_type
127522 , p_component_code => l_component_code
127523 , p_component_type_code => l_component_type_code
127524 , p_component_appl_id => l_component_appl_id
127525 , p_amb_context_code => l_amb_context_code
127526 , p_side => 'NA'
127527 );
127528
127529
127530 l_segment := AcctDerRule_12(
127531 p_application_id => p_application_id
127532 , p_ae_header_id => l_ae_header_id
127533 , p_source_18 => p_source_18
127534 , p_source_19 => p_source_19
127535 , p_source_19_meaning => p_source_19_meaning
127536 , p_source_20 => p_source_20
127537 , p_source_21 => p_source_21
127538 , p_source_21_meaning => p_source_21_meaning
127539 , x_transaction_coa_id => l_adr_transaction_coa_id
127540 , x_accounting_coa_id => l_adr_accounting_coa_id
127541 , x_flexfield_segment_code => l_adr_flexfield_segment_code
127542 , x_flex_value_set_id => l_adr_flex_value_set_id
127543 , x_value_type_code => l_adr_value_type_code
127544 , x_value_combination_id => l_adr_value_combination_id
127545 , x_value_segment_code => l_adr_value_segment_code
127546 , p_side => 'NA'
127547 , p_override_seg_flag => 'Y'
127548 );
127549
127550 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
127551
127552 xla_ae_lines_pkg.set_segment(
127553 p_to_segment_code => 'GL_ACCOUNT'
127554 , p_segment_value => l_segment
127555 , p_from_segment_code => l_adr_value_segment_code
127556 , p_from_combination_id => l_adr_value_combination_id
127557 , p_value_type_code => l_adr_value_type_code
127558 , p_transaction_coa_id => l_adr_transaction_coa_id
127559 , p_accounting_coa_id => l_adr_accounting_coa_id
127560 , p_flexfield_segment_code => l_adr_flexfield_segment_code
127561 , p_flex_value_set_id => l_adr_flex_value_set_id
127562 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_ITEM'
127563 , p_adr_type_code => 'S'
127564 , p_component_type => l_component_type
127565 , p_component_code => l_component_code
127566 , p_component_type_code => l_component_type_code
127567 , p_component_appl_id => l_component_appl_id
127568 , p_amb_context_code => l_amb_context_code
127572 );
127569 , p_entity_code => 'AP_INVOICES'
127570 , p_event_class_code => 'PREPAYMENTS'
127571 , p_side => 'NA'
127573
127574 END IF;
127575
127576 --
127577 --
127578 END IF;
127579
127580 --
127581 -- Update the line information that should be overwritten
127582 --
127583 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
127584 p_header_num => 1);
127585 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
127586
127587 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
127588
127589 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
127590 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
127591 END IF;
127592
127593 --
127594 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
127595 --
127596 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
127597 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
127598 ELSE
127599 ---------------------------------------------------------------------------------------------------
127600 -- 4262811a Switch Sign
127601 ---------------------------------------------------------------------------------------------------
127602 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
127603 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127604 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127605 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
127606 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127607 -- 5132302
127608 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
127609 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
127610
127611 END IF;
127612
127613 -- 4955764
127614 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127615 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
127616
127617
127618 XLA_AE_LINES_PKG.ValidateCurrentLine;
127619 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
127620
127621 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
127622 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
127623 ,p_balance_type_code => l_balance_type_code);
127624
127625 END IF;
127626
127627 -----------------------------------------------------------------------------------------
127628 -- 4262811 Multiperiod Accounting
127629 -----------------------------------------------------------------------------------------
127630 -- No MPA option is assigned.
127631
127632
127633 END IF;
127634 END IF;
127635 --
127636
127637 --
127638 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127639 trace
127640 (p_msg => 'END of AcctLineType_213'
127641 ,p_level => C_LEVEL_PROCEDURE
127642 ,p_module => l_log_module);
127643 END IF;
127644 --
127645 EXCEPTION
127646 WHEN xla_exceptions_pkg.application_exception THEN
127647 RAISE;
127648 WHEN OTHERS THEN
127649 xla_exceptions_pkg.raise_message
127650 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_213');
127651 END AcctLineType_213;
127652 --
127653
127654 ---------------------------------------
127655 --
127656 -- PRIVATE FUNCTION
127657 -- AcctLineType_214
127658 --
127659 ---------------------------------------
127660 PROCEDURE AcctLineType_214 (
127661 p_application_id IN NUMBER
127662 ,p_event_id IN NUMBER
127663 ,p_calculate_acctd_flag IN VARCHAR2
127664 ,p_calculate_g_l_flag IN VARCHAR2
127665 ,p_actual_flag IN OUT VARCHAR2
127666 ,p_balance_type_code OUT VARCHAR2
127667 ,p_gain_or_loss_ref OUT VARCHAR2
127668
127669 --Accounting Reversal Indicator
127670 , p_source_41 IN VARCHAR2
127671 --Distribution Link Type
127672 , p_source_43 IN VARCHAR2
127673 --Invoice Identifier
127674 , p_source_46 IN NUMBER
127675 --Payables Encumbrance Upgrade Credit Account
127676 , p_source_53 IN NUMBER
127677 --Payables Encumbrance Upgrade Credit Amount
127678 , p_source_54 IN NUMBER
127679 --Invoice Currency Code
127680 , p_source_55 IN VARCHAR2
127681 --Payables Encumbrance Upgrade Credit Base Amount
127682 , p_source_56 IN NUMBER
127683 --Payables Encumbrance Upgrade Debit Account
127684 , p_source_57 IN NUMBER
127685 --Payables Encumbrance Upgrade Debit Amount
127686 , p_source_58 IN NUMBER
127687 --Payables Encumbrance Upgrade Debit Base Amount
127688 , p_source_59 IN NUMBER
127689 --Payables Encumbrance Upgrade Option
127690 , p_source_60 IN VARCHAR2
127691 --Deferred Accounting End Date
127692 , p_source_65 IN DATE
127693 --Deferred Accounting Option
127694 , p_source_66 IN VARCHAR2
127698 , p_source_68 IN VARCHAR2
127695 --Deferred Accounting Start Date
127696 , p_source_67 IN DATE
127697 --Override Accounted Amount Indicator
127699 , p_source_68_meaning IN VARCHAR2
127700 --Third Party Type
127701 , p_source_71 IN VARCHAR2
127702 --Invoice Distribution Tax Line Identifier
127703 , p_source_74 IN NUMBER
127704 --Invoice Distribution Tax Distribution Identifier from Tax
127705 , p_source_75 IN NUMBER
127706 --Invoice Distribution Summary Tax Line Identifier
127707 , p_source_76 IN NUMBER
127708 --Payables Upgrade Credit Encumbrance Type Identifier
127709 , p_source_77 IN NUMBER
127710 --Payables Upgrade Debit Encumbrance Type Identifier
127711 , p_source_78 IN NUMBER
127712 --Business Flow Accounts Payable Application Identifier
127713 , p_source_79 IN NUMBER
127714 --Prepayment Distribution Type
127715 , p_source_118 IN VARCHAR2
127716 --Deferred Prepayment Settlement Option Code
127717 , p_source_119 IN VARCHAR2
127718 , p_source_119_meaning IN VARCHAR2
127719 --Prepayment Application Distribution Identifier
127720 , p_source_120 IN NUMBER
127721 --Upgrade Encumbrance Credit Account Class
127722 , p_source_125 IN VARCHAR2
127723 --Upgrade Encumbrance Debit Account Class
127724 , p_source_126 IN VARCHAR2
127725 --Prepayment Distribution Amount
127726 , p_source_127 IN NUMBER
127727 --Prepayment Distribution (Prepayment Rate) Ledger Amount
127728 , p_source_128 IN NUMBER
127729 --Identifier of the Prepayment Application Reversed
127730 , p_source_129 IN NUMBER
127731 --Business Flow Prepayment Invoice Distribution Type
127732 , p_source_139 IN VARCHAR2
127733 --Business Flow Prepayment Invoice Entity Code
127734 , p_source_140 IN VARCHAR2
127735 --Business Flow Prepayment Invoice Distribution Identifier
127736 , p_source_141 IN NUMBER
127737 --Business Flow Prepayment Invoice Identifier
127738 , p_source_142 IN NUMBER
127739 )
127740 IS
127741
127742 l_component_type VARCHAR2(80);
127743 l_component_code VARCHAR2(30);
127744 l_component_type_code VARCHAR2(1);
127745 l_component_appl_id INTEGER;
127746 l_amb_context_code VARCHAR2(30);
127747 l_entity_code VARCHAR2(30);
127748 l_event_class_code VARCHAR2(30);
127749 l_ae_header_id NUMBER;
127750 l_event_type_code VARCHAR2(30);
127751 l_line_definition_code VARCHAR2(30);
127752 l_line_definition_owner_code VARCHAR2(1);
127753 --
127754 -- adr variables
127755 l_segment VARCHAR2(30);
127756 l_ccid NUMBER;
127757 l_adr_transaction_coa_id NUMBER;
127758 l_adr_accounting_coa_id NUMBER;
127759 l_adr_flexfield_segment_code VARCHAR2(30);
127760 l_adr_flex_value_set_id NUMBER;
127761 l_adr_value_type_code VARCHAR2(30);
127762 l_adr_value_combination_id NUMBER;
127763 l_adr_value_segment_code VARCHAR2(30);
127764
127765 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
127766 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
127767 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
127768 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
127769
127770 -- 4262811 Variables ------------------------------------------------------------------------------------------
127771 l_entered_amt_idx NUMBER;
127772 l_accted_amt_idx NUMBER;
127773 l_acc_rev_flag VARCHAR2(1);
127774 l_accrual_line_num NUMBER;
127775 l_tmp_amt NUMBER;
127776 l_acc_rev_natural_side_code VARCHAR2(1);
127777
127778 l_num_entries NUMBER;
127779 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
127780 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
127781 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
127782 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
127783 l_recog_line_1 NUMBER;
127784 l_recog_line_2 NUMBER;
127785
127786 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
127787 l_bflow_applied_to_amt NUMBER; -- 5132302
127788 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
127789
127790 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
127791
127792 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
127793 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
127794
127795 ---------------------------------------------------------------------------------------------------------------
127796
127797
127798 --
127799 -- bulk performance
127800 --
127801 l_balance_type_code VARCHAR2(1);
127802 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
127803 l_log_module VARCHAR2(240);
127804
127805 --
127806 -- Upgrade strategy
127807 --
127808 l_actual_upg_option VARCHAR2(1);
127809 l_enc_upg_option VARCHAR2(1);
127810
127811 --
127812 BEGIN
127813 --
127814 IF g_log_enabled THEN
127815 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_214';
127816 END IF;
127817 --
127818 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
127819
127820 trace
127824
127821 (p_msg => 'BEGIN of AcctLineType_214'
127822 ,p_level => C_LEVEL_PROCEDURE
127823 ,p_module => l_log_module);
127825 END IF;
127826 --
127827 l_component_type := 'AMB_JLT';
127828 l_component_code := 'AP_PREPAID_EXP_ACCR_PREPAY_APP';
127829 l_component_type_code := 'S';
127830 l_component_appl_id := 200;
127831 l_amb_context_code := 'DEFAULT';
127832 l_entity_code := 'AP_INVOICES';
127833 l_event_class_code := 'PREPAYMENT APPLICATIONS';
127834 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
127835 l_line_definition_owner_code := 'S';
127836 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
127837 --
127838 l_balance_type_code := 'A';
127839 l_segment := NULL;
127840 l_ccid := NULL;
127841 l_adr_transaction_coa_id := NULL;
127842 l_adr_accounting_coa_id := NULL;
127843 l_adr_flexfield_segment_code := NULL;
127844 l_adr_flex_value_set_id := NULL;
127845 l_adr_value_type_code := NULL;
127846 l_adr_value_combination_id := NULL;
127847 l_adr_value_segment_code := NULL;
127848
127849 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
127850 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
127851 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
127852 l_budgetary_control_flag := 'N';
127853
127854 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127855 l_bflow_applied_to_amt := NULL; -- 5132302
127856 l_entered_amt_idx := NULL; -- 4262811
127857 l_accted_amt_idx := NULL; -- 4262811
127858 l_acc_rev_flag := NULL; -- 4262811
127859 l_accrual_line_num := NULL; -- 4262811
127860 l_tmp_amt := NULL; -- 4262811
127861 --
127862
127863 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
127864 l_balance_type_code <> 'B' THEN
127865 IF NVL(p_source_118,'
127866 ') = 'PREPAY APPL' OR
127867 NVL(p_source_118,'
127868 ') = 'TAX DIFF' OR
127869 NVL(p_source_118,'
127870 ') = 'FINAL APPLICATION ROUNDING' OR
127871 (NVL(p_source_118,'
127872 ') = 'PREPAY APPL REC TAX' AND
127873 NVL(p_source_119,'
127874 ') <> 'DEFERRED') OR
127875 NVL(p_source_118,'
127876 ') = 'PREPAY APPL NONREC TAX'
127877 THEN
127878
127879 --
127880 XLA_AE_LINES_PKG.SetNewLine;
127881
127882 p_balance_type_code := l_balance_type_code;
127883 -- set the flag so later we will know whether the gain loss line needs to be created
127884
127885 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
127886 p_actual_flag :='A';
127887 END IF;
127888
127889 --
127890 -- bulk performance
127891 --
127892 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
127893 p_header_num => 0); -- 4262811
127894 --
127895 -- set accounting line options
127896 --
127897 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
127898 p_natural_side_code => 'D'
127899 , p_gain_or_loss_flag => 'N'
127900 , p_gl_transfer_mode_code => 'S'
127901 , p_acct_entry_type_code => 'A'
127902 , p_switch_side_flag => 'Y'
127903 , p_merge_duplicate_code => 'A'
127904 );
127905 --
127906 l_acc_rev_natural_side_code := 'C'; -- 4262811
127907 --
127908 --
127909 -- set accounting line type info
127910 --
127911 xla_ae_lines_pkg.SetAcctLineType
127912 (p_component_type => l_component_type
127913 ,p_event_type_code => l_event_type_code
127914 ,p_line_definition_owner_code => l_line_definition_owner_code
127915 ,p_line_definition_code => l_line_definition_code
127916 ,p_accounting_line_code => l_component_code
127917 ,p_accounting_line_type_code => l_component_type_code
127918 ,p_accounting_line_appl_id => l_component_appl_id
127919 ,p_amb_context_code => l_amb_context_code
127920 ,p_entity_code => l_entity_code
127921 ,p_event_class_code => l_event_class_code);
127922 --
127923 -- set accounting class
127924 --
127925 xla_ae_lines_pkg.SetAcctClass(
127926 p_accounting_class_code => 'PREPAID_EXPENSE'
127927 , p_ae_header_id => l_ae_header_id
127928 );
127929
127930 --
127931 -- set rounding class
127932 --
127933 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
127934 'PREPAID_EXPENSE';
127935
127936 --
127937 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
127938 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
127939 --
127940 -- bulk performance
127941 --
127942 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
127943
127944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
127945 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
127946
127947 -- 4955764
127948 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
127949 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
127953 --
127950
127951 -- 4458381 Public Sector Enh
127952
127954 -- set accounting attributes for the line type
127955 --
127956 l_entered_amt_idx := 25;
127957 l_accted_amt_idx := 27;
127958 l_bflow_applied_to_amt_idx := NULL; -- 5132302
127959 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
127960 l_rec_acct_attrs.array_char_value(1) := p_source_41;
127961 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
127962 l_rec_acct_attrs.array_num_value(2) :=
127963 xla_ae_sources_pkg.GetSystemSourceNum(
127964 p_source_code => 'XLA_EVENT_APPL_ID'
127965 , p_source_type_code => 'Y'
127966 , p_source_application_id => 602
127967 );
127968 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
127969 l_rec_acct_attrs.array_char_value(3) := p_source_43;
127970 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
127971 l_rec_acct_attrs.array_char_value(4) :=
127972 xla_ae_sources_pkg.GetSystemSourceChar(
127973 p_source_code => 'XLA_ENTITY_CODE'
127974 , p_source_type_code => 'Y'
127975 , p_source_application_id => 602
127976 );
127977 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
127978 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
127979 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
127980 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
127981 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
127982 l_rec_acct_attrs.array_num_value(7) := p_source_79;
127983 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
127984 l_rec_acct_attrs.array_char_value(8) := p_source_139;
127985 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
127986 l_rec_acct_attrs.array_char_value(9) := p_source_140;
127987 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
127988 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
127989 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
127990 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
127991 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
127992 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
127993 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
127994 l_rec_acct_attrs.array_char_value(13) := p_source_43;
127995 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
127996 l_rec_acct_attrs.array_char_value(14) := p_source_125;
127997 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
127998 l_rec_acct_attrs.array_num_value(15) := p_source_53;
127999 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
128000 l_rec_acct_attrs.array_num_value(16) := p_source_54;
128001 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
128002 l_rec_acct_attrs.array_char_value(17) := p_source_55;
128003 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
128004 l_rec_acct_attrs.array_num_value(18) := p_source_56;
128005 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
128006 l_rec_acct_attrs.array_char_value(19) := p_source_126;
128007 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
128008 l_rec_acct_attrs.array_num_value(20) := p_source_57;
128009 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
128010 l_rec_acct_attrs.array_num_value(21) := p_source_58;
128011 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
128012 l_rec_acct_attrs.array_char_value(22) := p_source_55;
128013 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
128014 l_rec_acct_attrs.array_num_value(23) := p_source_59;
128015 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
128016 l_rec_acct_attrs.array_char_value(24) := p_source_60;
128017 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
128018 l_rec_acct_attrs.array_num_value(25) := p_source_127;
128019 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
128020 l_rec_acct_attrs.array_char_value(26) := p_source_55;
128021 l_rec_acct_attrs.array_acct_attr_code(27) := 'LEDGER_AMOUNT';
128022 l_rec_acct_attrs.array_num_value(27) := p_source_128;
128023 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_END_DATE';
128024 l_rec_acct_attrs.array_date_value(28) := p_source_65;
128025 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_OPTION';
128026 l_rec_acct_attrs.array_char_value(29) := p_source_66;
128027 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_START_DATE';
128028 l_rec_acct_attrs.array_date_value(30) := p_source_67;
128029 l_rec_acct_attrs.array_acct_attr_code(31) := 'OVERRIDE_ACCTD_AMT_FLAG';
128030 l_rec_acct_attrs.array_char_value(31) := p_source_68;
128031 l_rec_acct_attrs.array_acct_attr_code(32) := 'PARTY_TYPE';
128032 l_rec_acct_attrs.array_char_value(32) := p_source_71;
128033 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_ID1';
128034 l_rec_acct_attrs.array_num_value(33) := to_char(p_source_129);
128035 l_rec_acct_attrs.array_acct_attr_code(34) := 'REVERSED_DISTRIBUTION_TYPE';
128036 l_rec_acct_attrs.array_char_value(34) := p_source_43;
128037 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
128038 l_rec_acct_attrs.array_num_value(35) := p_source_74;
128039 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
128043 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
128040 l_rec_acct_attrs.array_num_value(36) := p_source_75;
128041 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
128042 l_rec_acct_attrs.array_num_value(37) := p_source_76;
128044 l_rec_acct_attrs.array_num_value(38) := p_source_77;
128045 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
128046 l_rec_acct_attrs.array_num_value(39) := p_source_78;
128047
128048 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
128049 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
128050
128051 ---------------------------------------------------------------------------------------------------------------
128052 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
128053 ---------------------------------------------------------------------------------------------------------------
128054 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
128055
128056 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128057 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128058
128059 IF xla_accounting_cache_pkg.GetValueChar
128060 (p_source_code => 'LEDGER_CATEGORY_CODE'
128061 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
128062 AND l_bflow_method_code = 'PRIOR_ENTRY'
128063 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
128064 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
128065 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
128066 )
128067 THEN
128068 xla_ae_lines_pkg.BflowUpgEntry
128069 (p_business_method_code => l_bflow_method_code
128070 ,p_business_class_code => l_bflow_class_code
128071 ,p_balance_type => l_balance_type_code);
128072 ELSE
128073 NULL;
128074 XLA_AE_LINES_PKG.business_flow_validation(
128075 p_business_method_code => l_bflow_method_code
128076 ,p_business_class_code => l_bflow_class_code
128077 ,p_inherit_description_flag => l_inherit_desc_flag);
128078 END IF;
128079
128080 --
128081 -- call analytical criteria
128082 --
128083 -- Inherited Analytical Criteria for business flow method of Prior Entry.
128084 --
128085 -- call description
128086 --
128087 -- No description or it is inherited.
128088 --
128089 -- call ADRs
128090 -- Bug 4922099
128091 --
128092 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128093 (NVL(l_actual_upg_option, 'N') = 'O') OR
128094 (NVL(l_enc_upg_option, 'N') = 'O')
128095 )
128096 THEN
128097 NULL;
128098 --
128099 --
128100
128101 --
128102 --
128103 END IF;
128104 --
128105 -- Bug 4922099
128106 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128107 (NVL(l_enc_upg_option, 'N') = 'O')
128108 ) AND
128109 (l_bflow_method_code = 'PRIOR_ENTRY')
128110 )
128111 THEN
128112 IF
128113 --
128114 1 = 1
128115 --
128116 THEN
128117 xla_accounting_err_pkg.build_message
128118 (p_appli_s_name => 'XLA'
128119 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128120 ,p_token_1 => 'LINE_NUMBER'
128121 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
128122 ,p_token_2 => 'LINE_TYPE_NAME'
128123 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
128124 l_component_type
128125 ,l_component_code
128126 ,l_component_type_code
128127 ,l_component_appl_id
128128 ,l_amb_context_code
128129 ,l_entity_code
128130 ,l_event_class_code
128131 )
128132 ,p_token_3 => 'OWNER'
128133 ,p_value_3 => xla_lookups_pkg.get_meaning(
128134 p_lookup_type => 'XLA_OWNER_TYPE'
128135 ,p_lookup_code => l_component_type_code
128136 )
128137 ,p_token_4 => 'PRODUCT_NAME'
128138 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
128139 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
128143 );
128140 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
128141 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
128142 ,p_ae_header_id => NULL
128144
128145 IF (C_LEVEL_ERROR>= g_log_level) THEN
128146 trace
128147 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128148 ,p_level => C_LEVEL_ERROR
128149 ,p_module => l_log_module);
128150 END IF;
128151 END IF;
128152 END IF;
128153 --
128154 --
128155 ------------------------------------------------------------------------------------------------
128156 -- 4219869 Business Flow
128157 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
128158 -- Prior Entry. Currently, the following code is always generated.
128159 ------------------------------------------------------------------------------------------------
128160 -- No ValidateCurrentLine for business flow method of Prior Entry
128161
128162 ------------------------------------------------------------------------------------
128163 -- 4219869 Business Flow
128164 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
128165 ------------------------------------------------------------------------------------
128166 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128167
128168 ----------------------------------------------------------------------------------
128169 -- 4219869 Business Flow
128170 -- Update journal entry status -- Need to generate this within IF <condition>
128171 ----------------------------------------------------------------------------------
128172 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128173 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
128174 ,p_balance_type_code => l_balance_type_code
128175 );
128176
128177 -------------------------------------------------------------------------------------------
128178 -- 4262811 - Generate the Accrual Reversal lines
128179 -------------------------------------------------------------------------------------------
128180 BEGIN
128181 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
128182 (g_array_event(p_event_id).array_value_num('header_index'));
128183 IF l_acc_rev_flag IS NULL THEN
128184 l_acc_rev_flag := 'N';
128185 END IF;
128186 EXCEPTION
128187 WHEN OTHERS THEN
128188 l_acc_rev_flag := 'N';
128189 END;
128190 --
128191 IF (l_acc_rev_flag = 'Y') THEN
128192
128193 -- 4645092 ------------------------------------------------------------------------------
128194 -- To allow MPA report to determine if it should generate report process
128195 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
128196 ------------------------------------------------------------------------------------------
128197
128198 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
128199 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
128200 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
128201 -- call ADRs
128202 -- Bug 4922099
128203 --
128204 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128205 (NVL(l_actual_upg_option, 'N') = 'O') OR
128206 (NVL(l_enc_upg_option, 'N') = 'O')
128207 )
128208 THEN
128209 NULL;
128210 --
128211 --
128212
128213 --
128214 --
128215 END IF;
128216
128217 --
128218 -- Update the line information that should be overwritten
128219 --
128220 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
128221 p_header_num => 1);
128222 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
128223
128224 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
128225
128226 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
128227 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
128228 END IF;
128229
128230 --
128231 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
128232 --
128233 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
128234 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
128235 ELSE
128236 ---------------------------------------------------------------------------------------------------
128237 -- 4262811a Switch Sign
128238 ---------------------------------------------------------------------------------------------------
128239 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
128240 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128241 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128242 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128243 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128247
128244 -- 5132302
128245 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
128246 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128248 END IF;
128249
128250 -- 4955764
128251 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128252 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
128253
128254
128255 XLA_AE_LINES_PKG.ValidateCurrentLine;
128256 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128257
128258 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128259 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
128260 ,p_balance_type_code => l_balance_type_code);
128261
128262 END IF;
128263
128264 -----------------------------------------------------------------------------------------
128265 -- 4262811 Multiperiod Accounting
128266 -----------------------------------------------------------------------------------------
128267 -- No MPA option is assigned.
128268
128269
128270 END IF;
128271 END IF;
128272 --
128273
128274 --
128275 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128276 trace
128277 (p_msg => 'END of AcctLineType_214'
128278 ,p_level => C_LEVEL_PROCEDURE
128279 ,p_module => l_log_module);
128280 END IF;
128281 --
128282 EXCEPTION
128283 WHEN xla_exceptions_pkg.application_exception THEN
128284 RAISE;
128285 WHEN OTHERS THEN
128286 xla_exceptions_pkg.raise_message
128287 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_214');
128288 END AcctLineType_214;
128289 --
128290
128291 ---------------------------------------
128292 --
128293 -- PRIVATE FUNCTION
128294 -- AcctLineType_215
128295 --
128296 ---------------------------------------
128297 PROCEDURE AcctLineType_215 (
128298 p_application_id IN NUMBER
128299 ,p_event_id IN NUMBER
128300 ,p_calculate_acctd_flag IN VARCHAR2
128301 ,p_calculate_g_l_flag IN VARCHAR2
128302 ,p_actual_flag IN OUT VARCHAR2
128303 ,p_balance_type_code OUT VARCHAR2
128304 ,p_gain_or_loss_ref OUT VARCHAR2
128305
128306 --Invoice Distribution Account
128307 , p_source_18 IN NUMBER
128308 --Accounting Reversal Indicator
128309 , p_source_41 IN VARCHAR2
128310 --Distribution Link Type
128311 , p_source_43 IN VARCHAR2
128312 --Invoice Identifier
128313 , p_source_46 IN NUMBER
128314 --Payables Encumbrance Upgrade Credit Account
128315 , p_source_53 IN NUMBER
128316 --Payables Encumbrance Upgrade Credit Amount
128317 , p_source_54 IN NUMBER
128318 --Invoice Currency Code
128319 , p_source_55 IN VARCHAR2
128320 --Payables Encumbrance Upgrade Credit Base Amount
128321 , p_source_56 IN NUMBER
128322 --Payables Encumbrance Upgrade Debit Account
128323 , p_source_57 IN NUMBER
128324 --Payables Encumbrance Upgrade Debit Amount
128325 , p_source_58 IN NUMBER
128326 --Payables Encumbrance Upgrade Debit Base Amount
128327 , p_source_59 IN NUMBER
128328 --Payables Encumbrance Upgrade Option
128329 , p_source_60 IN VARCHAR2
128330 --Deferred Accounting End Date
128331 , p_source_65 IN DATE
128332 --Deferred Accounting Option
128333 , p_source_66 IN VARCHAR2
128334 --Deferred Accounting Start Date
128335 , p_source_67 IN DATE
128336 --Override Accounted Amount Indicator
128337 , p_source_68 IN VARCHAR2
128338 , p_source_68_meaning IN VARCHAR2
128339 --Invoice Supplier Identifier
128340 , p_source_69 IN NUMBER
128341 --Invoice Supplier Site Identifier
128342 , p_source_70 IN NUMBER
128343 --Third Party Type
128344 , p_source_71 IN VARCHAR2
128345 --Invoice Distribution Tax Line Identifier
128346 , p_source_74 IN NUMBER
128347 --Invoice Distribution Tax Distribution Identifier from Tax
128348 , p_source_75 IN NUMBER
128349 --Invoice Distribution Summary Tax Line Identifier
128350 , p_source_76 IN NUMBER
128351 --Payables Upgrade Credit Encumbrance Type Identifier
128352 , p_source_77 IN NUMBER
128353 --Payables Upgrade Debit Encumbrance Type Identifier
128354 , p_source_78 IN NUMBER
128355 --Business Flow Accounts Payable Application Identifier
128356 , p_source_79 IN NUMBER
128357 --Purchasing Encumbrance Option
128358 , p_source_86 IN VARCHAR2
128359 , p_source_86_meaning IN VARCHAR2
128360 --Invoice Encumbered Option
128361 , p_source_87 IN VARCHAR2
128362 , p_source_87_meaning IN VARCHAR2
128363 --Prepayment Distribution Type
128364 , p_source_118 IN VARCHAR2
128365 --Prepayment Application Distribution Identifier
128366 , p_source_120 IN NUMBER
128367 --Upgrade Encumbrance Credit Account Class
128368 , p_source_125 IN VARCHAR2
128369 --Upgrade Encumbrance Debit Account Class
128370 , p_source_126 IN VARCHAR2
128371 --Prepayment Distribution Amount
128372 , p_source_127 IN NUMBER
128373 --Identifier of the Prepayment Application Reversed
128374 , p_source_129 IN NUMBER
128375 --Prepayment Distribution (Invoice Rate) Ledger Amount
128376 , p_source_134 IN NUMBER
128377 --Invoice Exchange Date
128378 , p_source_136 IN DATE
128382 , p_source_138 IN VARCHAR2
128379 --Invoice Exchange Rate
128380 , p_source_137 IN NUMBER
128381 --Invoice Exchange Rate Type
128383 --Business Flow Prepayment Invoice Distribution Type
128384 , p_source_139 IN VARCHAR2
128385 --Business Flow Prepayment Invoice Entity Code
128386 , p_source_140 IN VARCHAR2
128387 --Business Flow Prepayment Invoice Distribution Identifier
128388 , p_source_141 IN NUMBER
128389 --Business Flow Prepayment Invoice Identifier
128390 , p_source_142 IN NUMBER
128391 )
128392 IS
128393
128394 l_component_type VARCHAR2(80);
128395 l_component_code VARCHAR2(30);
128396 l_component_type_code VARCHAR2(1);
128397 l_component_appl_id INTEGER;
128398 l_amb_context_code VARCHAR2(30);
128399 l_entity_code VARCHAR2(30);
128400 l_event_class_code VARCHAR2(30);
128401 l_ae_header_id NUMBER;
128402 l_event_type_code VARCHAR2(30);
128403 l_line_definition_code VARCHAR2(30);
128404 l_line_definition_owner_code VARCHAR2(1);
128405 --
128406 -- adr variables
128407 l_segment VARCHAR2(30);
128408 l_ccid NUMBER;
128409 l_adr_transaction_coa_id NUMBER;
128410 l_adr_accounting_coa_id NUMBER;
128411 l_adr_flexfield_segment_code VARCHAR2(30);
128412 l_adr_flex_value_set_id NUMBER;
128413 l_adr_value_type_code VARCHAR2(30);
128414 l_adr_value_combination_id NUMBER;
128415 l_adr_value_segment_code VARCHAR2(30);
128416
128417 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
128418 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
128419 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
128420 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
128421
128422 -- 4262811 Variables ------------------------------------------------------------------------------------------
128423 l_entered_amt_idx NUMBER;
128424 l_accted_amt_idx NUMBER;
128425 l_acc_rev_flag VARCHAR2(1);
128426 l_accrual_line_num NUMBER;
128427 l_tmp_amt NUMBER;
128428 l_acc_rev_natural_side_code VARCHAR2(1);
128429
128430 l_num_entries NUMBER;
128431 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
128432 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
128433 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
128434 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
128435 l_recog_line_1 NUMBER;
128436 l_recog_line_2 NUMBER;
128437
128438 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
128439 l_bflow_applied_to_amt NUMBER; -- 5132302
128440 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
128441
128442 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
128443
128444 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
128445 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
128446
128447 ---------------------------------------------------------------------------------------------------------------
128448
128449
128450 --
128451 -- bulk performance
128452 --
128453 l_balance_type_code VARCHAR2(1);
128454 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
128455 l_log_module VARCHAR2(240);
128456
128457 --
128458 -- Upgrade strategy
128459 --
128460 l_actual_upg_option VARCHAR2(1);
128461 l_enc_upg_option VARCHAR2(1);
128462
128463 --
128464 BEGIN
128465 --
128466 IF g_log_enabled THEN
128467 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_215';
128468 END IF;
128469 --
128470 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128471
128472 trace
128473 (p_msg => 'BEGIN of AcctLineType_215'
128474 ,p_level => C_LEVEL_PROCEDURE
128475 ,p_module => l_log_module);
128476
128477 END IF;
128478 --
128479 l_component_type := 'AMB_JLT';
128480 l_component_code := 'AP_PREPAID_EXP_PREPAY_APP_ENC';
128481 l_component_type_code := 'S';
128482 l_component_appl_id := 200;
128483 l_amb_context_code := 'DEFAULT';
128484 l_entity_code := 'AP_INVOICES';
128485 l_event_class_code := 'PREPAYMENT APPLICATIONS';
128486 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
128487 l_line_definition_owner_code := 'S';
128488 l_line_definition_code := 'AP_ENC_REV_PREPAY_APPL_ALL';
128489 --
128490 l_balance_type_code := 'E';
128491 l_segment := NULL;
128492 l_ccid := NULL;
128493 l_adr_transaction_coa_id := NULL;
128494 l_adr_accounting_coa_id := NULL;
128495 l_adr_flexfield_segment_code := NULL;
128496 l_adr_flex_value_set_id := NULL;
128497 l_adr_value_type_code := NULL;
128498 l_adr_value_combination_id := NULL;
128499 l_adr_value_segment_code := NULL;
128500
128501 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
128502 l_bflow_class_code := ''; -- 4219869 Business Flow
128503 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
128504 l_budgetary_control_flag := 'N';
128505
128509 l_accted_amt_idx := NULL; -- 4262811
128506 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128507 l_bflow_applied_to_amt := NULL; -- 5132302
128508 l_entered_amt_idx := NULL; -- 4262811
128510 l_acc_rev_flag := NULL; -- 4262811
128511 l_accrual_line_num := NULL; -- 4262811
128512 l_tmp_amt := NULL; -- 4262811
128513 --
128514
128515 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
128516 l_balance_type_code <> 'B' THEN
128517 IF (NVL(p_source_118,'
128518 ') = 'PREPAY APPL' OR
128519 NVL(p_source_118,'
128520 ') = 'PREPAY APPL NONREC TAX' OR
128521 NVL(p_source_118,'
128522 ') = 'PREPAY APPL REC TAX' OR
128523 NVL(p_source_118,'
128524 ') = 'TAX DIFF' OR
128525 NVL(p_source_118,'
128526 ') = 'FINAL APPLICATION ROUNDING') AND
128527 NVL(p_source_86,'
128528 ') = 'Y' AND
128529 NVL(p_source_87,'
128530 ') = 'Y'
128531 THEN
128532
128533 --
128534 XLA_AE_LINES_PKG.SetNewLine;
128535
128536 p_balance_type_code := l_balance_type_code;
128537 -- set the flag so later we will know whether the gain loss line needs to be created
128538
128539 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
128540 p_actual_flag :='A';
128541 END IF;
128542
128543 --
128544 -- bulk performance
128545 --
128546 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
128547 p_header_num => 0); -- 4262811
128548 --
128549 -- set accounting line options
128550 --
128551 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
128552 p_natural_side_code => 'C'
128553 , p_gain_or_loss_flag => 'N'
128554 , p_gl_transfer_mode_code => 'S'
128555 , p_acct_entry_type_code => 'E'
128556 , p_switch_side_flag => 'Y'
128557 , p_merge_duplicate_code => 'A'
128558 );
128559 --
128560 l_acc_rev_natural_side_code := 'D'; -- 4262811
128561 --
128562 --
128563 -- set accounting line type info
128564 --
128565 xla_ae_lines_pkg.SetAcctLineType
128566 (p_component_type => l_component_type
128567 ,p_event_type_code => l_event_type_code
128568 ,p_line_definition_owner_code => l_line_definition_owner_code
128569 ,p_line_definition_code => l_line_definition_code
128570 ,p_accounting_line_code => l_component_code
128571 ,p_accounting_line_type_code => l_component_type_code
128572 ,p_accounting_line_appl_id => l_component_appl_id
128573 ,p_amb_context_code => l_amb_context_code
128574 ,p_entity_code => l_entity_code
128575 ,p_event_class_code => l_event_class_code);
128576 --
128577 -- set accounting class
128578 --
128579 xla_ae_lines_pkg.SetAcctClass(
128580 p_accounting_class_code => 'PREPAID_EXPENSE'
128581 , p_ae_header_id => l_ae_header_id
128582 );
128583
128584 --
128585 -- set rounding class
128586 --
128587 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
128588 'PREPAID_EXPENSE';
128589
128590 --
128591 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
128592 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
128593 --
128594 -- bulk performance
128595 --
128596 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
128597
128598 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
128599 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
128600
128601 -- 4955764
128602 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128603 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
128604
128605 -- 4458381 Public Sector Enh
128606 XLA_AE_LINES_PKG.g_rec_lines.array_encumbrance_type_id(XLA_AE_LINES_PKG.g_LineNumber) := 1060;
128607 --
128608 -- set accounting attributes for the line type
128609 --
128610 l_entered_amt_idx := 25;
128611 l_accted_amt_idx := 30;
128612 l_bflow_applied_to_amt_idx := NULL; -- 5132302
128613 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
128614 l_rec_acct_attrs.array_char_value(1) := p_source_41;
128615 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
128616 l_rec_acct_attrs.array_num_value(2) :=
128617 xla_ae_sources_pkg.GetSystemSourceNum(
128618 p_source_code => 'XLA_EVENT_APPL_ID'
128619 , p_source_type_code => 'Y'
128620 , p_source_application_id => 602
128621 );
128622 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
128623 l_rec_acct_attrs.array_char_value(3) := p_source_43;
128624 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
128625 l_rec_acct_attrs.array_char_value(4) :=
128626 xla_ae_sources_pkg.GetSystemSourceChar(
128627 p_source_code => 'XLA_ENTITY_CODE'
128628 , p_source_type_code => 'Y'
128629 , p_source_application_id => 602
128630 );
128631 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
128632 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
128636 l_rec_acct_attrs.array_num_value(7) := p_source_79;
128633 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
128634 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
128635 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
128637 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
128638 l_rec_acct_attrs.array_char_value(8) := p_source_139;
128639 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
128640 l_rec_acct_attrs.array_char_value(9) := p_source_140;
128641 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
128642 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
128643 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
128644 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
128645 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
128646 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
128647 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
128648 l_rec_acct_attrs.array_char_value(13) := p_source_43;
128649 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
128650 l_rec_acct_attrs.array_char_value(14) := p_source_125;
128651 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
128652 l_rec_acct_attrs.array_num_value(15) := p_source_53;
128653 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
128654 l_rec_acct_attrs.array_num_value(16) := p_source_54;
128655 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
128656 l_rec_acct_attrs.array_char_value(17) := p_source_55;
128657 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
128658 l_rec_acct_attrs.array_num_value(18) := p_source_56;
128659 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
128660 l_rec_acct_attrs.array_char_value(19) := p_source_126;
128661 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
128662 l_rec_acct_attrs.array_num_value(20) := p_source_57;
128663 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
128664 l_rec_acct_attrs.array_num_value(21) := p_source_58;
128665 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
128666 l_rec_acct_attrs.array_char_value(22) := p_source_55;
128667 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
128668 l_rec_acct_attrs.array_num_value(23) := p_source_59;
128669 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
128670 l_rec_acct_attrs.array_char_value(24) := p_source_60;
128671 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
128672 l_rec_acct_attrs.array_num_value(25) := p_source_127;
128673 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
128674 l_rec_acct_attrs.array_char_value(26) := p_source_55;
128675 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
128676 l_rec_acct_attrs.array_date_value(27) := p_source_136;
128677 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
128678 l_rec_acct_attrs.array_num_value(28) := p_source_137;
128679 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
128680 l_rec_acct_attrs.array_char_value(29) := p_source_138;
128681 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
128682 l_rec_acct_attrs.array_num_value(30) := p_source_134;
128683 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
128684 l_rec_acct_attrs.array_date_value(31) := p_source_65;
128685 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
128686 l_rec_acct_attrs.array_char_value(32) := p_source_66;
128687 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
128688 l_rec_acct_attrs.array_date_value(33) := p_source_67;
128689 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
128690 l_rec_acct_attrs.array_char_value(34) := p_source_68;
128691 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
128692 l_rec_acct_attrs.array_num_value(35) := p_source_69;
128693 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
128694 l_rec_acct_attrs.array_num_value(36) := p_source_70;
128695 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
128696 l_rec_acct_attrs.array_char_value(37) := p_source_71;
128697 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
128698 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
128699 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
128700 l_rec_acct_attrs.array_char_value(39) := p_source_43;
128701 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
128702 l_rec_acct_attrs.array_num_value(40) := p_source_74;
128703 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
128704 l_rec_acct_attrs.array_num_value(41) := p_source_75;
128705 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
128706 l_rec_acct_attrs.array_num_value(42) := p_source_76;
128707 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
128708 l_rec_acct_attrs.array_num_value(43) := p_source_77;
128709 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
128710 l_rec_acct_attrs.array_num_value(44) := p_source_78;
128711
128712 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
128713 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
128714
128718 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
128715 ---------------------------------------------------------------------------------------------------------------
128716 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
128717 ---------------------------------------------------------------------------------------------------------------
128719
128720 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128721 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
128722
128723 IF xla_accounting_cache_pkg.GetValueChar
128724 (p_source_code => 'LEDGER_CATEGORY_CODE'
128725 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
128726 AND l_bflow_method_code = 'PRIOR_ENTRY'
128727 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
128728 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
128729 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
128730 )
128731 THEN
128732 xla_ae_lines_pkg.BflowUpgEntry
128733 (p_business_method_code => l_bflow_method_code
128734 ,p_business_class_code => l_bflow_class_code
128735 ,p_balance_type => l_balance_type_code);
128736 ELSE
128737 NULL;
128738 -- No business flow processing for business flow method of NONE.
128739 END IF;
128740
128741 --
128742 -- call analytical criteria
128743 --
128744
128745 --
128746 -- call description
128747 --
128748 -- No description or it is inherited.
128749 --
128750 -- call ADRs
128751 -- Bug 4922099
128752 --
128753 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128754 (NVL(l_actual_upg_option, 'N') = 'O') OR
128755 (NVL(l_enc_upg_option, 'N') = 'O')
128756 )
128757 THEN
128758 NULL;
128759 --
128760 --
128761
128762 l_ccid := AcctDerRule_46(
128763 p_application_id => p_application_id
128764 , p_ae_header_id => l_ae_header_id
128765 , p_source_18 => p_source_18
128766 , x_transaction_coa_id => l_adr_transaction_coa_id
128767 , x_accounting_coa_id => l_adr_accounting_coa_id
128768 , x_value_type_code => l_adr_value_type_code
128769 , p_side => 'NA'
128770 );
128771
128772 xla_ae_lines_pkg.set_ccid(
128773 p_code_combination_id => l_ccid
128774 , p_value_type_code => l_adr_value_type_code
128775 , p_transaction_coa_id => l_adr_transaction_coa_id
128776 , p_accounting_coa_id => l_adr_accounting_coa_id
128777 , p_adr_code => 'FV_AP_INV_DISTRBUTION_CCID'
128778 , p_adr_type_code => 'S'
128779 , p_component_type => l_component_type
128780 , p_component_code => l_component_code
128781 , p_component_type_code => l_component_type_code
128782 , p_component_appl_id => l_component_appl_id
128783 , p_amb_context_code => l_amb_context_code
128784 , p_side => 'NA'
128785 );
128786
128787
128788 --
128789 --
128790 END IF;
128791 --
128792 -- Bug 4922099
128793 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
128794 (NVL(l_enc_upg_option, 'N') = 'O')
128795 ) AND
128796 (l_bflow_method_code = 'PRIOR_ENTRY')
128797 )
128798 THEN
128799 IF
128800 --
128801 1 = 2
128802 --
128803 THEN
128804 xla_accounting_err_pkg.build_message
128805 (p_appli_s_name => 'XLA'
128806 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128807 ,p_token_1 => 'LINE_NUMBER'
128808 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
128809 ,p_token_2 => 'LINE_TYPE_NAME'
128810 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
128811 l_component_type
128812 ,l_component_code
128813 ,l_component_type_code
128814 ,l_component_appl_id
128815 ,l_amb_context_code
128816 ,l_entity_code
128817 ,l_event_class_code
128818 )
128819 ,p_token_3 => 'OWNER'
128820 ,p_value_3 => xla_lookups_pkg.get_meaning(
128821 p_lookup_type => 'XLA_OWNER_TYPE'
128822 ,p_lookup_code => l_component_type_code
128826 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
128823 )
128824 ,p_token_4 => 'PRODUCT_NAME'
128825 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
128827 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
128828 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
128829 ,p_ae_header_id => NULL
128830 );
128831
128832 IF (C_LEVEL_ERROR>= g_log_level) THEN
128833 trace
128834 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
128835 ,p_level => C_LEVEL_ERROR
128836 ,p_module => l_log_module);
128837 END IF;
128838 END IF;
128839 END IF;
128840 --
128841 --
128842 ------------------------------------------------------------------------------------------------
128843 -- 4219869 Business Flow
128844 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
128845 -- Prior Entry. Currently, the following code is always generated.
128846 ------------------------------------------------------------------------------------------------
128847 XLA_AE_LINES_PKG.ValidateCurrentLine;
128848
128849 ------------------------------------------------------------------------------------
128850 -- 4219869 Business Flow
128851 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
128852 ------------------------------------------------------------------------------------
128853 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128854
128855 ----------------------------------------------------------------------------------
128856 -- 4219869 Business Flow
128857 -- Update journal entry status -- Need to generate this within IF <condition>
128858 ----------------------------------------------------------------------------------
128859 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128860 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
128861 ,p_balance_type_code => l_balance_type_code
128862 );
128863
128864 -------------------------------------------------------------------------------------------
128865 -- 4262811 - Generate the Accrual Reversal lines
128866 -------------------------------------------------------------------------------------------
128867 BEGIN
128868 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
128869 (g_array_event(p_event_id).array_value_num('header_index'));
128870 IF l_acc_rev_flag IS NULL THEN
128871 l_acc_rev_flag := 'N';
128872 END IF;
128873 EXCEPTION
128874 WHEN OTHERS THEN
128875 l_acc_rev_flag := 'N';
128876 END;
128877 --
128878 IF (l_acc_rev_flag = 'Y') THEN
128879
128880 -- 4645092 ------------------------------------------------------------------------------
128881 -- To allow MPA report to determine if it should generate report process
128882 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
128883 ------------------------------------------------------------------------------------------
128884
128885 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
128886 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
128887 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
128888 -- call ADRs
128889 -- Bug 4922099
128890 --
128891 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
128892 (NVL(l_actual_upg_option, 'N') = 'O') OR
128893 (NVL(l_enc_upg_option, 'N') = 'O')
128894 )
128895 THEN
128896 NULL;
128897 --
128898 --
128899
128900 l_ccid := AcctDerRule_46(
128901 p_application_id => p_application_id
128902 , p_ae_header_id => l_ae_header_id
128903 , p_source_18 => p_source_18
128904 , x_transaction_coa_id => l_adr_transaction_coa_id
128905 , x_accounting_coa_id => l_adr_accounting_coa_id
128906 , x_value_type_code => l_adr_value_type_code
128907 , p_side => 'NA'
128908 );
128909
128910 xla_ae_lines_pkg.set_ccid(
128911 p_code_combination_id => l_ccid
128912 , p_value_type_code => l_adr_value_type_code
128913 , p_transaction_coa_id => l_adr_transaction_coa_id
128914 , p_accounting_coa_id => l_adr_accounting_coa_id
128915 , p_adr_code => 'FV_AP_INV_DISTRBUTION_CCID'
128916 , p_adr_type_code => 'S'
128917 , p_component_type => l_component_type
128918 , p_component_code => l_component_code
128919 , p_component_type_code => l_component_type_code
128920 , p_component_appl_id => l_component_appl_id
128921 , p_amb_context_code => l_amb_context_code
128922 , p_side => 'NA'
128923 );
128924
128925
128926 --
128927 --
128928 END IF;
128929
128930 --
128931 -- Update the line information that should be overwritten
128932 --
128933 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
128937 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
128934 p_header_num => 1);
128935 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
128936
128938
128939 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
128940 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
128941 END IF;
128942
128943 --
128944 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
128945 --
128946 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
128947 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
128948 ELSE
128949 ---------------------------------------------------------------------------------------------------
128950 -- 4262811a Switch Sign
128951 ---------------------------------------------------------------------------------------------------
128952 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
128953 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128954 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128955 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
128956 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128957 -- 5132302
128958 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
128959 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
128960
128961 END IF;
128962
128963 -- 4955764
128964 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
128965 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
128966
128967
128968 XLA_AE_LINES_PKG.ValidateCurrentLine;
128969 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
128970
128971 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
128972 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
128973 ,p_balance_type_code => l_balance_type_code);
128974
128975 END IF;
128976
128977 -----------------------------------------------------------------------------------------
128978 -- 4262811 Multiperiod Accounting
128979 -----------------------------------------------------------------------------------------
128980 -- No MPA option is assigned.
128981
128982
128983 END IF;
128984 END IF;
128985 --
128986
128987 --
128988 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
128989 trace
128990 (p_msg => 'END of AcctLineType_215'
128991 ,p_level => C_LEVEL_PROCEDURE
128992 ,p_module => l_log_module);
128993 END IF;
128994 --
128995 EXCEPTION
128996 WHEN xla_exceptions_pkg.application_exception THEN
128997 RAISE;
128998 WHEN OTHERS THEN
128999 xla_exceptions_pkg.raise_message
129000 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_215');
129001 END AcctLineType_215;
129002 --
129003
129004 ---------------------------------------
129005 --
129006 -- PRIVATE FUNCTION
129007 -- AcctLineType_216
129008 --
129009 ---------------------------------------
129010 PROCEDURE AcctLineType_216 (
129011 p_application_id IN NUMBER
129012 ,p_event_id IN NUMBER
129013 ,p_calculate_acctd_flag IN VARCHAR2
129014 ,p_calculate_g_l_flag IN VARCHAR2
129015 ,p_actual_flag IN OUT VARCHAR2
129016 ,p_balance_type_code OUT VARCHAR2
129017 ,p_gain_or_loss_ref OUT VARCHAR2
129018
129019 --Invoice Distribution Type
129020 , p_source_21 IN VARCHAR2
129021 , p_source_21_meaning IN VARCHAR2
129022 --Accounting Reversal Indicator
129023 , p_source_41 IN VARCHAR2
129024 --Distribution Link Type
129025 , p_source_43 IN VARCHAR2
129026 --Allocation to Main Distribution Identifier
129027 , p_source_45 IN NUMBER
129028 --Invoice Identifier
129029 , p_source_46 IN NUMBER
129030 --Invoice Distribution Identifier
129031 , p_source_52 IN NUMBER
129032 --Payables Encumbrance Upgrade Credit Account
129033 , p_source_53 IN NUMBER
129034 --Payables Encumbrance Upgrade Credit Amount
129035 , p_source_54 IN NUMBER
129036 --Invoice Currency Code
129037 , p_source_55 IN VARCHAR2
129038 --Payables Encumbrance Upgrade Credit Base Amount
129039 , p_source_56 IN NUMBER
129040 --Payables Encumbrance Upgrade Debit Account
129041 , p_source_57 IN NUMBER
129042 --Payables Encumbrance Upgrade Debit Amount
129043 , p_source_58 IN NUMBER
129044 --Payables Encumbrance Upgrade Debit Base Amount
129045 , p_source_59 IN NUMBER
129046 --Payables Encumbrance Upgrade Option
129047 , p_source_60 IN VARCHAR2
129048 --Deferred Accounting End Date
129049 , p_source_65 IN DATE
129050 --Deferred Accounting Option
129051 , p_source_66 IN VARCHAR2
129052 --Deferred Accounting Start Date
129053 , p_source_67 IN DATE
129054 --Override Accounted Amount Indicator
129055 , p_source_68 IN VARCHAR2
129056 , p_source_68_meaning IN VARCHAR2
129060 , p_source_72 IN NUMBER
129057 --Third Party Type
129058 , p_source_71 IN VARCHAR2
129059 --Parent Reversal Identifier
129061 --Invoice Distribution Statistical Amount
129062 , p_source_73 IN NUMBER
129063 --Invoice Distribution Tax Line Identifier
129064 , p_source_74 IN NUMBER
129065 --Invoice Distribution Tax Distribution Identifier from Tax
129066 , p_source_75 IN NUMBER
129067 --Invoice Distribution Summary Tax Line Identifier
129068 , p_source_76 IN NUMBER
129069 --Payables Upgrade Credit Encumbrance Type Identifier
129070 , p_source_77 IN NUMBER
129071 --Payables Upgrade Debit Encumbrance Type Identifier
129072 , p_source_78 IN NUMBER
129073 --Business Flow Accounts Payable Application Identifier
129074 , p_source_79 IN NUMBER
129075 --Business Flow Invoice Distribution Type
129076 , p_source_80 IN VARCHAR2
129077 --Business Flow Invoice Entity Code
129078 , p_source_81 IN VARCHAR2
129079 --Business Flow Invoice Distribution Identifier
129080 , p_source_82 IN NUMBER
129081 --Business Flow Invoice Identifier
129082 , p_source_83 IN NUMBER
129083 --Accrue on Receipt Option
129084 , p_source_84 IN VARCHAR2
129085 , p_source_84_meaning IN VARCHAR2
129086 --Purchasing Encumbrance Option
129087 , p_source_86 IN VARCHAR2
129088 , p_source_86_meaning IN VARCHAR2
129089 --Invoice Encumbered Option
129090 , p_source_87 IN VARCHAR2
129091 , p_source_87_meaning IN VARCHAR2
129092 --Quantity Variance Amount
129093 , p_source_161 IN NUMBER
129094 --Quantity Variance Amount in Ledger Currency
129095 , p_source_162 IN NUMBER
129096 )
129097 IS
129098
129099 l_component_type VARCHAR2(80);
129100 l_component_code VARCHAR2(30);
129101 l_component_type_code VARCHAR2(1);
129102 l_component_appl_id INTEGER;
129103 l_amb_context_code VARCHAR2(30);
129104 l_entity_code VARCHAR2(30);
129105 l_event_class_code VARCHAR2(30);
129106 l_ae_header_id NUMBER;
129107 l_event_type_code VARCHAR2(30);
129108 l_line_definition_code VARCHAR2(30);
129109 l_line_definition_owner_code VARCHAR2(1);
129110 --
129111 -- adr variables
129112 l_segment VARCHAR2(30);
129113 l_ccid NUMBER;
129114 l_adr_transaction_coa_id NUMBER;
129115 l_adr_accounting_coa_id NUMBER;
129116 l_adr_flexfield_segment_code VARCHAR2(30);
129117 l_adr_flex_value_set_id NUMBER;
129118 l_adr_value_type_code VARCHAR2(30);
129119 l_adr_value_combination_id NUMBER;
129120 l_adr_value_segment_code VARCHAR2(30);
129121
129122 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
129123 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
129124 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
129125 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
129126
129127 -- 4262811 Variables ------------------------------------------------------------------------------------------
129128 l_entered_amt_idx NUMBER;
129129 l_accted_amt_idx NUMBER;
129130 l_acc_rev_flag VARCHAR2(1);
129131 l_accrual_line_num NUMBER;
129132 l_tmp_amt NUMBER;
129133 l_acc_rev_natural_side_code VARCHAR2(1);
129134
129135 l_num_entries NUMBER;
129136 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
129137 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
129138 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
129139 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
129140 l_recog_line_1 NUMBER;
129141 l_recog_line_2 NUMBER;
129142
129143 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
129144 l_bflow_applied_to_amt NUMBER; -- 5132302
129145 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
129146
129147 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
129148
129149 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
129150 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
129151
129152 ---------------------------------------------------------------------------------------------------------------
129153
129154
129155 --
129156 -- bulk performance
129157 --
129158 l_balance_type_code VARCHAR2(1);
129159 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
129160 l_log_module VARCHAR2(240);
129161
129162 --
129163 -- Upgrade strategy
129164 --
129165 l_actual_upg_option VARCHAR2(1);
129166 l_enc_upg_option VARCHAR2(1);
129167
129168 --
129169 BEGIN
129170 --
129171 IF g_log_enabled THEN
129172 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_216';
129173 END IF;
129174 --
129175 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129176
129177 trace
129178 (p_msg => 'BEGIN of AcctLineType_216'
129179 ,p_level => C_LEVEL_PROCEDURE
129180 ,p_module => l_log_module);
129181
129182 END IF;
129183 --
129184 l_component_type := 'AMB_JLT';
129185 l_component_code := 'AP_QUANTITY_VARIANCE_CM_ENC';
129186 l_component_type_code := 'S';
129190 l_event_class_code := 'CREDIT MEMOS';
129187 l_component_appl_id := 200;
129188 l_amb_context_code := 'DEFAULT';
129189 l_entity_code := 'AP_INVOICES';
129191 l_event_type_code := 'CREDIT MEMOS_ALL';
129192 l_line_definition_owner_code := 'S';
129193 l_line_definition_code := 'ENC_REV_CM_ALL';
129194 --
129195 l_balance_type_code := 'E';
129196 l_segment := NULL;
129197 l_ccid := NULL;
129198 l_adr_transaction_coa_id := NULL;
129199 l_adr_accounting_coa_id := NULL;
129200 l_adr_flexfield_segment_code := NULL;
129201 l_adr_flex_value_set_id := NULL;
129202 l_adr_value_type_code := NULL;
129203 l_adr_value_combination_id := NULL;
129204 l_adr_value_segment_code := NULL;
129205
129206 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
129207 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
129208 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
129209 l_budgetary_control_flag := 'N';
129210
129211 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129212 l_bflow_applied_to_amt := NULL; -- 5132302
129213 l_entered_amt_idx := NULL; -- 4262811
129214 l_accted_amt_idx := NULL; -- 4262811
129215 l_acc_rev_flag := NULL; -- 4262811
129216 l_accrual_line_num := NULL; -- 4262811
129217 l_tmp_amt := NULL; -- 4262811
129218 --
129219
129220 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
129221 l_balance_type_code <> 'B' THEN
129222 IF NVL(p_source_21,'
129223 ') = 'ITEM' AND
129224 p_source_161 IS NOT NULL AND
129225 NVL(p_source_86,'
129226 ') = 'Y' AND
129227 NVL(p_source_84,'
129228 ') <> 'Y' AND
129229 NVL(p_source_87,'
129230 ') = 'Y'
129231 THEN
129232
129233 --
129234 XLA_AE_LINES_PKG.SetNewLine;
129235
129236 p_balance_type_code := l_balance_type_code;
129237 -- set the flag so later we will know whether the gain loss line needs to be created
129238
129239 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
129240 p_actual_flag :='A';
129241 END IF;
129242
129243 --
129244 -- bulk performance
129245 --
129246 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
129247 p_header_num => 0); -- 4262811
129248 --
129249 -- set accounting line options
129250 --
129251 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
129252 p_natural_side_code => 'C'
129253 , p_gain_or_loss_flag => 'N'
129254 , p_gl_transfer_mode_code => 'S'
129255 , p_acct_entry_type_code => 'E'
129256 , p_switch_side_flag => 'Y'
129257 , p_merge_duplicate_code => 'A'
129258 );
129259 --
129260 l_acc_rev_natural_side_code := 'D'; -- 4262811
129261 --
129262 --
129263 -- set accounting line type info
129264 --
129265 xla_ae_lines_pkg.SetAcctLineType
129266 (p_component_type => l_component_type
129267 ,p_event_type_code => l_event_type_code
129268 ,p_line_definition_owner_code => l_line_definition_owner_code
129269 ,p_line_definition_code => l_line_definition_code
129270 ,p_accounting_line_code => l_component_code
129271 ,p_accounting_line_type_code => l_component_type_code
129272 ,p_accounting_line_appl_id => l_component_appl_id
129273 ,p_amb_context_code => l_amb_context_code
129274 ,p_entity_code => l_entity_code
129275 ,p_event_class_code => l_event_class_code);
129276 --
129277 -- set accounting class
129278 --
129279 xla_ae_lines_pkg.SetAcctClass(
129280 p_accounting_class_code => 'QV'
129281 , p_ae_header_id => l_ae_header_id
129282 );
129283
129284 --
129285 -- set rounding class
129286 --
129287 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
129288 'QV';
129289
129290 --
129291 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
129292 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
129293 --
129294 -- bulk performance
129295 --
129296 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
129297
129298 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
129299 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
129300
129301 -- 4955764
129302 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129303 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
129304
129305 -- 4458381 Public Sector Enh
129306
129307 --
129308 -- set accounting attributes for the line type
129309 --
129310 l_entered_amt_idx := 23;
129311 l_accted_amt_idx := 25;
129312 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129313 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
129314 l_rec_acct_attrs.array_char_value(1) := p_source_41;
129315 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
129319 , p_source_type_code => 'Y'
129316 l_rec_acct_attrs.array_num_value(2) :=
129317 xla_ae_sources_pkg.GetSystemSourceNum(
129318 p_source_code => 'XLA_EVENT_APPL_ID'
129320 , p_source_application_id => 602
129321 );
129322 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
129323 l_rec_acct_attrs.array_char_value(3) := p_source_43;
129324 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
129325 l_rec_acct_attrs.array_char_value(4) :=
129326 xla_ae_sources_pkg.GetSystemSourceChar(
129327 p_source_code => 'XLA_ENTITY_CODE'
129328 , p_source_type_code => 'Y'
129329 , p_source_application_id => 602
129330 );
129331 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
129332 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
129333 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
129334 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
129335 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
129336 l_rec_acct_attrs.array_num_value(7) := p_source_79;
129337 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
129338 l_rec_acct_attrs.array_char_value(8) := p_source_80;
129339 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
129340 l_rec_acct_attrs.array_char_value(9) := p_source_81;
129341 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
129342 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
129343 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
129344 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
129345 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
129346 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
129347 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
129348 l_rec_acct_attrs.array_char_value(13) := p_source_43;
129349 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
129350 l_rec_acct_attrs.array_num_value(14) := p_source_53;
129351 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
129352 l_rec_acct_attrs.array_num_value(15) := p_source_54;
129353 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
129354 l_rec_acct_attrs.array_char_value(16) := p_source_55;
129355 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
129356 l_rec_acct_attrs.array_num_value(17) := p_source_56;
129357 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
129358 l_rec_acct_attrs.array_num_value(18) := p_source_57;
129359 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
129360 l_rec_acct_attrs.array_num_value(19) := p_source_58;
129361 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
129362 l_rec_acct_attrs.array_char_value(20) := p_source_55;
129363 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
129364 l_rec_acct_attrs.array_num_value(21) := p_source_59;
129365 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
129366 l_rec_acct_attrs.array_char_value(22) := p_source_60;
129367 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
129368 l_rec_acct_attrs.array_num_value(23) := p_source_161;
129369 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
129370 l_rec_acct_attrs.array_char_value(24) := p_source_55;
129371 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
129372 l_rec_acct_attrs.array_num_value(25) := p_source_162;
129373 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
129374 l_rec_acct_attrs.array_date_value(26) := p_source_65;
129375 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
129376 l_rec_acct_attrs.array_char_value(27) := p_source_66;
129377 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
129378 l_rec_acct_attrs.array_date_value(28) := p_source_67;
129379 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
129380 l_rec_acct_attrs.array_char_value(29) := p_source_68;
129381 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
129382 l_rec_acct_attrs.array_char_value(30) := p_source_71;
129383 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
129384 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
129385 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
129386 l_rec_acct_attrs.array_char_value(32) := p_source_43;
129387 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
129388 l_rec_acct_attrs.array_num_value(33) := p_source_73;
129389 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
129390 l_rec_acct_attrs.array_num_value(34) := p_source_74;
129391 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
129392 l_rec_acct_attrs.array_num_value(35) := p_source_75;
129393 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
129394 l_rec_acct_attrs.array_num_value(36) := p_source_76;
129395 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
129396 l_rec_acct_attrs.array_num_value(37) := p_source_77;
129397 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
129398 l_rec_acct_attrs.array_num_value(38) := p_source_78;
129399
129400 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
129401 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
129402
129406 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
129403 ---------------------------------------------------------------------------------------------------------------
129404 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
129405 ---------------------------------------------------------------------------------------------------------------
129407
129408 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129409 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
129410
129411 IF xla_accounting_cache_pkg.GetValueChar
129412 (p_source_code => 'LEDGER_CATEGORY_CODE'
129413 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
129414 AND l_bflow_method_code = 'PRIOR_ENTRY'
129415 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
129416 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
129417 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
129418 )
129419 THEN
129420 xla_ae_lines_pkg.BflowUpgEntry
129421 (p_business_method_code => l_bflow_method_code
129422 ,p_business_class_code => l_bflow_class_code
129423 ,p_balance_type => l_balance_type_code);
129424 ELSE
129425 NULL;
129426 XLA_AE_LINES_PKG.business_flow_validation(
129427 p_business_method_code => l_bflow_method_code
129428 ,p_business_class_code => l_bflow_class_code
129429 ,p_inherit_description_flag => l_inherit_desc_flag);
129430 END IF;
129431
129432 --
129433 -- call analytical criteria
129434 --
129435 -- Inherited Analytical Criteria for business flow method of Prior Entry.
129436 --
129437 -- call description
129438 --
129439 -- No description or it is inherited.
129440 --
129441 -- call ADRs
129442 -- Bug 4922099
129443 --
129444 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129445 (NVL(l_actual_upg_option, 'N') = 'O') OR
129446 (NVL(l_enc_upg_option, 'N') = 'O')
129447 )
129448 THEN
129449 NULL;
129450 --
129451 --
129452
129453 --
129454 --
129455 END IF;
129456 --
129457 -- Bug 4922099
129458 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
129459 (NVL(l_enc_upg_option, 'N') = 'O')
129460 ) AND
129461 (l_bflow_method_code = 'PRIOR_ENTRY')
129462 )
129463 THEN
129464 IF
129465 --
129466 1 = 1
129467 --
129468 THEN
129469 xla_accounting_err_pkg.build_message
129470 (p_appli_s_name => 'XLA'
129471 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129472 ,p_token_1 => 'LINE_NUMBER'
129473 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
129474 ,p_token_2 => 'LINE_TYPE_NAME'
129475 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
129476 l_component_type
129477 ,l_component_code
129478 ,l_component_type_code
129479 ,l_component_appl_id
129480 ,l_amb_context_code
129481 ,l_entity_code
129482 ,l_event_class_code
129483 )
129484 ,p_token_3 => 'OWNER'
129485 ,p_value_3 => xla_lookups_pkg.get_meaning(
129486 p_lookup_type => 'XLA_OWNER_TYPE'
129487 ,p_lookup_code => l_component_type_code
129488 )
129489 ,p_token_4 => 'PRODUCT_NAME'
129490 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
129491 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
129492 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
129493 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
129494 ,p_ae_header_id => NULL
129495 );
129496
129497 IF (C_LEVEL_ERROR>= g_log_level) THEN
129498 trace
129499 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
129500 ,p_level => C_LEVEL_ERROR
129501 ,p_module => l_log_module);
129502 END IF;
129506 --
129503 END IF;
129504 END IF;
129505 --
129507 ------------------------------------------------------------------------------------------------
129508 -- 4219869 Business Flow
129509 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
129510 -- Prior Entry. Currently, the following code is always generated.
129511 ------------------------------------------------------------------------------------------------
129512 -- No ValidateCurrentLine for business flow method of Prior Entry
129513
129514 ------------------------------------------------------------------------------------
129515 -- 4219869 Business Flow
129516 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
129517 ------------------------------------------------------------------------------------
129518 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129519
129520 ----------------------------------------------------------------------------------
129521 -- 4219869 Business Flow
129522 -- Update journal entry status -- Need to generate this within IF <condition>
129523 ----------------------------------------------------------------------------------
129524 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129525 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
129526 ,p_balance_type_code => l_balance_type_code
129527 );
129528
129529 -------------------------------------------------------------------------------------------
129530 -- 4262811 - Generate the Accrual Reversal lines
129531 -------------------------------------------------------------------------------------------
129532 BEGIN
129533 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
129534 (g_array_event(p_event_id).array_value_num('header_index'));
129535 IF l_acc_rev_flag IS NULL THEN
129536 l_acc_rev_flag := 'N';
129537 END IF;
129538 EXCEPTION
129539 WHEN OTHERS THEN
129540 l_acc_rev_flag := 'N';
129541 END;
129542 --
129543 IF (l_acc_rev_flag = 'Y') THEN
129544
129545 -- 4645092 ------------------------------------------------------------------------------
129546 -- To allow MPA report to determine if it should generate report process
129547 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
129548 ------------------------------------------------------------------------------------------
129549
129550 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
129551 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
129552 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
129553 -- call ADRs
129554 -- Bug 4922099
129555 --
129556 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
129557 (NVL(l_actual_upg_option, 'N') = 'O') OR
129558 (NVL(l_enc_upg_option, 'N') = 'O')
129559 )
129560 THEN
129561 NULL;
129562 --
129563 --
129564
129565 --
129566 --
129567 END IF;
129568
129569 --
129570 -- Update the line information that should be overwritten
129571 --
129572 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
129573 p_header_num => 1);
129574 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
129575
129576 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
129577
129578 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
129579 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
129580 END IF;
129581
129582 --
129583 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
129584 --
129585 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
129586 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
129587 ELSE
129588 ---------------------------------------------------------------------------------------------------
129589 -- 4262811a Switch Sign
129590 ---------------------------------------------------------------------------------------------------
129591 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
129592 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129593 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129594 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
129595 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129596 -- 5132302
129597 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
129598 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
129599
129600 END IF;
129601
129602 -- 4955764
129603 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129604 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
129605
129606
129607 XLA_AE_LINES_PKG.ValidateCurrentLine;
129608 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
129609
129613
129610 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
129611 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
129612 ,p_balance_type_code => l_balance_type_code);
129614 END IF;
129615
129616 -----------------------------------------------------------------------------------------
129617 -- 4262811 Multiperiod Accounting
129618 -----------------------------------------------------------------------------------------
129619 -- No MPA option is assigned.
129620
129621
129622 END IF;
129623 END IF;
129624 --
129625
129626 --
129627 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129628 trace
129629 (p_msg => 'END of AcctLineType_216'
129630 ,p_level => C_LEVEL_PROCEDURE
129631 ,p_module => l_log_module);
129632 END IF;
129633 --
129634 EXCEPTION
129635 WHEN xla_exceptions_pkg.application_exception THEN
129636 RAISE;
129637 WHEN OTHERS THEN
129638 xla_exceptions_pkg.raise_message
129639 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_216');
129640 END AcctLineType_216;
129641 --
129642
129643 ---------------------------------------
129644 --
129645 -- PRIVATE FUNCTION
129646 -- AcctLineType_217
129647 --
129648 ---------------------------------------
129649 PROCEDURE AcctLineType_217 (
129650 p_application_id IN NUMBER
129651 ,p_event_id IN NUMBER
129652 ,p_calculate_acctd_flag IN VARCHAR2
129653 ,p_calculate_g_l_flag IN VARCHAR2
129654 ,p_actual_flag IN OUT VARCHAR2
129655 ,p_balance_type_code OUT VARCHAR2
129656 ,p_gain_or_loss_ref OUT VARCHAR2
129657
129658 --Invoice Distribution Type
129659 , p_source_21 IN VARCHAR2
129660 , p_source_21_meaning IN VARCHAR2
129661 --Accounting Reversal Indicator
129662 , p_source_41 IN VARCHAR2
129663 --Distribution Link Type
129664 , p_source_43 IN VARCHAR2
129665 --Allocation to Main Distribution Identifier
129666 , p_source_45 IN NUMBER
129667 --Invoice Identifier
129668 , p_source_46 IN NUMBER
129669 --Invoice Distribution Identifier
129670 , p_source_52 IN NUMBER
129671 --Payables Encumbrance Upgrade Credit Account
129672 , p_source_53 IN NUMBER
129673 --Payables Encumbrance Upgrade Credit Amount
129674 , p_source_54 IN NUMBER
129675 --Invoice Currency Code
129676 , p_source_55 IN VARCHAR2
129677 --Payables Encumbrance Upgrade Credit Base Amount
129678 , p_source_56 IN NUMBER
129679 --Payables Encumbrance Upgrade Debit Account
129680 , p_source_57 IN NUMBER
129681 --Payables Encumbrance Upgrade Debit Amount
129682 , p_source_58 IN NUMBER
129683 --Payables Encumbrance Upgrade Debit Base Amount
129684 , p_source_59 IN NUMBER
129685 --Payables Encumbrance Upgrade Option
129686 , p_source_60 IN VARCHAR2
129687 --Deferred Accounting End Date
129688 , p_source_65 IN DATE
129689 --Deferred Accounting Option
129690 , p_source_66 IN VARCHAR2
129691 --Deferred Accounting Start Date
129692 , p_source_67 IN DATE
129693 --Override Accounted Amount Indicator
129694 , p_source_68 IN VARCHAR2
129695 , p_source_68_meaning IN VARCHAR2
129696 --Third Party Type
129697 , p_source_71 IN VARCHAR2
129698 --Parent Reversal Identifier
129699 , p_source_72 IN NUMBER
129700 --Invoice Distribution Tax Line Identifier
129701 , p_source_74 IN NUMBER
129702 --Invoice Distribution Tax Distribution Identifier from Tax
129703 , p_source_75 IN NUMBER
129704 --Invoice Distribution Summary Tax Line Identifier
129705 , p_source_76 IN NUMBER
129706 --Payables Upgrade Credit Encumbrance Type Identifier
129707 , p_source_77 IN NUMBER
129708 --Payables Upgrade Debit Encumbrance Type Identifier
129709 , p_source_78 IN NUMBER
129710 --Business Flow Accounts Payable Application Identifier
129711 , p_source_79 IN NUMBER
129712 --Business Flow Invoice Distribution Type
129713 , p_source_80 IN VARCHAR2
129714 --Business Flow Invoice Entity Code
129715 , p_source_81 IN VARCHAR2
129716 --Business Flow Invoice Distribution Identifier
129717 , p_source_82 IN NUMBER
129718 --Business Flow Invoice Identifier
129719 , p_source_83 IN NUMBER
129720 --Accrue on Receipt Option
129721 , p_source_84 IN VARCHAR2
129722 , p_source_84_meaning IN VARCHAR2
129723 --Amount for Variance Amount
129724 , p_source_85 IN NUMBER
129725 --Purchasing Encumbrance Option
129726 , p_source_86 IN VARCHAR2
129727 , p_source_86_meaning IN VARCHAR2
129728 --Invoice Encumbered Option
129729 , p_source_87 IN VARCHAR2
129730 , p_source_87_meaning IN VARCHAR2
129731 --Quantity Variance Amount
129732 , p_source_161 IN NUMBER
129733 --Quantity Variance Amount in Ledger Currency
129734 , p_source_162 IN NUMBER
129735 )
129736 IS
129737
129738 l_component_type VARCHAR2(80);
129739 l_component_code VARCHAR2(30);
129740 l_component_type_code VARCHAR2(1);
129741 l_component_appl_id INTEGER;
129742 l_amb_context_code VARCHAR2(30);
129743 l_entity_code VARCHAR2(30);
129744 l_event_class_code VARCHAR2(30);
129745 l_ae_header_id NUMBER;
129746 l_event_type_code VARCHAR2(30);
129747 l_line_definition_code VARCHAR2(30);
129751 l_segment VARCHAR2(30);
129748 l_line_definition_owner_code VARCHAR2(1);
129749 --
129750 -- adr variables
129752 l_ccid NUMBER;
129753 l_adr_transaction_coa_id NUMBER;
129754 l_adr_accounting_coa_id NUMBER;
129755 l_adr_flexfield_segment_code VARCHAR2(30);
129756 l_adr_flex_value_set_id NUMBER;
129757 l_adr_value_type_code VARCHAR2(30);
129758 l_adr_value_combination_id NUMBER;
129759 l_adr_value_segment_code VARCHAR2(30);
129760
129761 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
129762 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
129763 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
129764 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
129765
129766 -- 4262811 Variables ------------------------------------------------------------------------------------------
129767 l_entered_amt_idx NUMBER;
129768 l_accted_amt_idx NUMBER;
129769 l_acc_rev_flag VARCHAR2(1);
129770 l_accrual_line_num NUMBER;
129771 l_tmp_amt NUMBER;
129772 l_acc_rev_natural_side_code VARCHAR2(1);
129773
129774 l_num_entries NUMBER;
129775 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
129776 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
129777 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
129778 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
129779 l_recog_line_1 NUMBER;
129780 l_recog_line_2 NUMBER;
129781
129782 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
129783 l_bflow_applied_to_amt NUMBER; -- 5132302
129784 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
129785
129786 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
129787
129788 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
129789 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
129790
129791 ---------------------------------------------------------------------------------------------------------------
129792
129793
129794 --
129795 -- bulk performance
129796 --
129797 l_balance_type_code VARCHAR2(1);
129798 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
129799 l_log_module VARCHAR2(240);
129800
129801 --
129802 -- Upgrade strategy
129803 --
129804 l_actual_upg_option VARCHAR2(1);
129805 l_enc_upg_option VARCHAR2(1);
129806
129807 --
129808 BEGIN
129809 --
129810 IF g_log_enabled THEN
129811 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_217';
129812 END IF;
129813 --
129814 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
129815
129816 trace
129817 (p_msg => 'BEGIN of AcctLineType_217'
129818 ,p_level => C_LEVEL_PROCEDURE
129819 ,p_module => l_log_module);
129820
129821 END IF;
129822 --
129823 l_component_type := 'AMB_JLT';
129824 l_component_code := 'AP_QUANTITY_VARIANCE_DM_ENC';
129825 l_component_type_code := 'S';
129826 l_component_appl_id := 200;
129827 l_amb_context_code := 'DEFAULT';
129828 l_entity_code := 'AP_INVOICES';
129829 l_event_class_code := 'DEBIT MEMOS';
129830 l_event_type_code := 'DEBIT MEMOS_ALL';
129831 l_line_definition_owner_code := 'S';
129832 l_line_definition_code := 'ENC_REV_DM_ALL';
129833 --
129834 l_balance_type_code := 'E';
129835 l_segment := NULL;
129836 l_ccid := NULL;
129837 l_adr_transaction_coa_id := NULL;
129838 l_adr_accounting_coa_id := NULL;
129839 l_adr_flexfield_segment_code := NULL;
129840 l_adr_flex_value_set_id := NULL;
129841 l_adr_value_type_code := NULL;
129842 l_adr_value_combination_id := NULL;
129843 l_adr_value_segment_code := NULL;
129844
129845 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
129846 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
129847 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
129848 l_budgetary_control_flag := 'N';
129849
129850 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129851 l_bflow_applied_to_amt := NULL; -- 5132302
129852 l_entered_amt_idx := NULL; -- 4262811
129853 l_accted_amt_idx := NULL; -- 4262811
129854 l_acc_rev_flag := NULL; -- 4262811
129855 l_accrual_line_num := NULL; -- 4262811
129856 l_tmp_amt := NULL; -- 4262811
129857 --
129858
129859 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
129860 l_balance_type_code <> 'B' THEN
129861 IF NVL(p_source_21,'
129862 ') = 'ITEM' AND
129863 p_source_85 IS NOT NULL AND
129864 NVL(p_source_84,'
129865 ') <> 'Y' AND
129866 NVL(p_source_86,'
129867 ') = 'Y' AND
129868 NVL(p_source_87,'
129869 ') = 'Y'
129870 THEN
129871
129872 --
129873 XLA_AE_LINES_PKG.SetNewLine;
129874
129875 p_balance_type_code := l_balance_type_code;
129876 -- set the flag so later we will know whether the gain loss line needs to be created
129877
129881
129878 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
129879 p_actual_flag :='A';
129880 END IF;
129882 --
129883 -- bulk performance
129884 --
129885 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
129886 p_header_num => 0); -- 4262811
129887 --
129888 -- set accounting line options
129889 --
129890 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
129891 p_natural_side_code => 'C'
129892 , p_gain_or_loss_flag => 'N'
129893 , p_gl_transfer_mode_code => 'S'
129894 , p_acct_entry_type_code => 'E'
129895 , p_switch_side_flag => 'Y'
129896 , p_merge_duplicate_code => 'A'
129897 );
129898 --
129899 l_acc_rev_natural_side_code := 'D'; -- 4262811
129900 --
129901 --
129902 -- set accounting line type info
129903 --
129904 xla_ae_lines_pkg.SetAcctLineType
129905 (p_component_type => l_component_type
129906 ,p_event_type_code => l_event_type_code
129907 ,p_line_definition_owner_code => l_line_definition_owner_code
129908 ,p_line_definition_code => l_line_definition_code
129909 ,p_accounting_line_code => l_component_code
129910 ,p_accounting_line_type_code => l_component_type_code
129911 ,p_accounting_line_appl_id => l_component_appl_id
129912 ,p_amb_context_code => l_amb_context_code
129913 ,p_entity_code => l_entity_code
129914 ,p_event_class_code => l_event_class_code);
129915 --
129916 -- set accounting class
129917 --
129918 xla_ae_lines_pkg.SetAcctClass(
129919 p_accounting_class_code => 'QV'
129920 , p_ae_header_id => l_ae_header_id
129921 );
129922
129923 --
129924 -- set rounding class
129925 --
129926 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
129927 'QV';
129928
129929 --
129930 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
129931 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
129932 --
129933 -- bulk performance
129934 --
129935 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
129936
129937 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
129938 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
129939
129940 -- 4955764
129941 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
129942 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
129943
129944 -- 4458381 Public Sector Enh
129945
129946 --
129947 -- set accounting attributes for the line type
129948 --
129949 l_entered_amt_idx := 23;
129950 l_accted_amt_idx := 25;
129951 l_bflow_applied_to_amt_idx := NULL; -- 5132302
129952 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
129953 l_rec_acct_attrs.array_char_value(1) := p_source_41;
129954 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
129955 l_rec_acct_attrs.array_num_value(2) :=
129956 xla_ae_sources_pkg.GetSystemSourceNum(
129957 p_source_code => 'XLA_EVENT_APPL_ID'
129958 , p_source_type_code => 'Y'
129959 , p_source_application_id => 602
129960 );
129961 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
129962 l_rec_acct_attrs.array_char_value(3) := p_source_43;
129963 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
129964 l_rec_acct_attrs.array_char_value(4) :=
129965 xla_ae_sources_pkg.GetSystemSourceChar(
129966 p_source_code => 'XLA_ENTITY_CODE'
129967 , p_source_type_code => 'Y'
129968 , p_source_application_id => 602
129969 );
129970 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
129971 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
129972 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
129973 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
129974 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
129975 l_rec_acct_attrs.array_num_value(7) := p_source_79;
129976 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
129977 l_rec_acct_attrs.array_char_value(8) := p_source_80;
129978 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
129979 l_rec_acct_attrs.array_char_value(9) := p_source_81;
129980 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
129981 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
129982 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
129983 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
129984 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
129985 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
129986 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
129987 l_rec_acct_attrs.array_char_value(13) := p_source_43;
129988 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
129989 l_rec_acct_attrs.array_num_value(14) := p_source_53;
129990 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
129994 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
129991 l_rec_acct_attrs.array_num_value(15) := p_source_54;
129992 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
129993 l_rec_acct_attrs.array_char_value(16) := p_source_55;
129995 l_rec_acct_attrs.array_num_value(17) := p_source_56;
129996 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
129997 l_rec_acct_attrs.array_num_value(18) := p_source_57;
129998 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
129999 l_rec_acct_attrs.array_num_value(19) := p_source_58;
130000 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
130001 l_rec_acct_attrs.array_char_value(20) := p_source_55;
130002 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
130003 l_rec_acct_attrs.array_num_value(21) := p_source_59;
130004 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
130005 l_rec_acct_attrs.array_char_value(22) := p_source_60;
130006 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
130007 l_rec_acct_attrs.array_num_value(23) := p_source_161;
130008 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
130009 l_rec_acct_attrs.array_char_value(24) := p_source_55;
130010 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
130011 l_rec_acct_attrs.array_num_value(25) := p_source_162;
130012 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
130013 l_rec_acct_attrs.array_date_value(26) := p_source_65;
130014 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
130015 l_rec_acct_attrs.array_char_value(27) := p_source_66;
130016 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
130017 l_rec_acct_attrs.array_date_value(28) := p_source_67;
130018 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
130019 l_rec_acct_attrs.array_char_value(29) := p_source_68;
130020 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
130021 l_rec_acct_attrs.array_char_value(30) := p_source_71;
130022 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
130023 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
130024 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
130025 l_rec_acct_attrs.array_char_value(32) := p_source_43;
130026 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
130027 l_rec_acct_attrs.array_num_value(33) := p_source_74;
130028 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
130029 l_rec_acct_attrs.array_num_value(34) := p_source_75;
130030 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
130031 l_rec_acct_attrs.array_num_value(35) := p_source_76;
130032 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
130033 l_rec_acct_attrs.array_num_value(36) := p_source_77;
130034 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
130035 l_rec_acct_attrs.array_num_value(37) := p_source_78;
130036
130037 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
130038 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
130039
130040 ---------------------------------------------------------------------------------------------------------------
130041 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
130042 ---------------------------------------------------------------------------------------------------------------
130043 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
130044
130045 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130046 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130047
130048 IF xla_accounting_cache_pkg.GetValueChar
130049 (p_source_code => 'LEDGER_CATEGORY_CODE'
130050 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
130051 AND l_bflow_method_code = 'PRIOR_ENTRY'
130052 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
130053 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
130054 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
130055 )
130056 THEN
130057 xla_ae_lines_pkg.BflowUpgEntry
130058 (p_business_method_code => l_bflow_method_code
130059 ,p_business_class_code => l_bflow_class_code
130060 ,p_balance_type => l_balance_type_code);
130061 ELSE
130062 NULL;
130063 XLA_AE_LINES_PKG.business_flow_validation(
130064 p_business_method_code => l_bflow_method_code
130065 ,p_business_class_code => l_bflow_class_code
130066 ,p_inherit_description_flag => l_inherit_desc_flag);
130067 END IF;
130068
130069 --
130070 -- call analytical criteria
130071 --
130072 -- Inherited Analytical Criteria for business flow method of Prior Entry.
130073 --
130074 -- call description
130075 --
130076 -- No description or it is inherited.
130077 --
130078 -- call ADRs
130079 -- Bug 4922099
130080 --
130081 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130082 (NVL(l_actual_upg_option, 'N') = 'O') OR
130083 (NVL(l_enc_upg_option, 'N') = 'O')
130084 )
130085 THEN
130086 NULL;
130087 --
130088 --
130089
130090 --
130091 --
130092 END IF;
130093 --
130097 ) AND
130094 -- Bug 4922099
130095 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
130096 (NVL(l_enc_upg_option, 'N') = 'O')
130098 (l_bflow_method_code = 'PRIOR_ENTRY')
130099 )
130100 THEN
130101 IF
130102 --
130103 1 = 1
130104 --
130105 THEN
130106 xla_accounting_err_pkg.build_message
130107 (p_appli_s_name => 'XLA'
130108 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130109 ,p_token_1 => 'LINE_NUMBER'
130110 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
130111 ,p_token_2 => 'LINE_TYPE_NAME'
130112 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
130113 l_component_type
130114 ,l_component_code
130115 ,l_component_type_code
130116 ,l_component_appl_id
130117 ,l_amb_context_code
130118 ,l_entity_code
130119 ,l_event_class_code
130120 )
130121 ,p_token_3 => 'OWNER'
130122 ,p_value_3 => xla_lookups_pkg.get_meaning(
130123 p_lookup_type => 'XLA_OWNER_TYPE'
130124 ,p_lookup_code => l_component_type_code
130125 )
130126 ,p_token_4 => 'PRODUCT_NAME'
130127 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
130128 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
130129 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
130130 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
130131 ,p_ae_header_id => NULL
130132 );
130133
130134 IF (C_LEVEL_ERROR>= g_log_level) THEN
130135 trace
130136 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130137 ,p_level => C_LEVEL_ERROR
130138 ,p_module => l_log_module);
130139 END IF;
130140 END IF;
130141 END IF;
130142 --
130143 --
130144 ------------------------------------------------------------------------------------------------
130145 -- 4219869 Business Flow
130146 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
130147 -- Prior Entry. Currently, the following code is always generated.
130148 ------------------------------------------------------------------------------------------------
130149 -- No ValidateCurrentLine for business flow method of Prior Entry
130150
130151 ------------------------------------------------------------------------------------
130152 -- 4219869 Business Flow
130153 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
130154 ------------------------------------------------------------------------------------
130155 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130156
130157 ----------------------------------------------------------------------------------
130158 -- 4219869 Business Flow
130159 -- Update journal entry status -- Need to generate this within IF <condition>
130160 ----------------------------------------------------------------------------------
130161 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130162 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
130163 ,p_balance_type_code => l_balance_type_code
130164 );
130165
130166 -------------------------------------------------------------------------------------------
130167 -- 4262811 - Generate the Accrual Reversal lines
130168 -------------------------------------------------------------------------------------------
130169 BEGIN
130170 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
130171 (g_array_event(p_event_id).array_value_num('header_index'));
130172 IF l_acc_rev_flag IS NULL THEN
130173 l_acc_rev_flag := 'N';
130174 END IF;
130175 EXCEPTION
130176 WHEN OTHERS THEN
130177 l_acc_rev_flag := 'N';
130178 END;
130179 --
130180 IF (l_acc_rev_flag = 'Y') THEN
130181
130182 -- 4645092 ------------------------------------------------------------------------------
130183 -- To allow MPA report to determine if it should generate report process
130184 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
130185 ------------------------------------------------------------------------------------------
130189 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
130186
130187 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
130188 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
130190 -- call ADRs
130191 -- Bug 4922099
130192 --
130193 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130194 (NVL(l_actual_upg_option, 'N') = 'O') OR
130195 (NVL(l_enc_upg_option, 'N') = 'O')
130196 )
130197 THEN
130198 NULL;
130199 --
130200 --
130201
130202 --
130203 --
130204 END IF;
130205
130206 --
130207 -- Update the line information that should be overwritten
130208 --
130209 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
130210 p_header_num => 1);
130211 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
130212
130213 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
130214
130215 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
130216 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
130217 END IF;
130218
130219 --
130220 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
130221 --
130222 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
130223 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
130224 ELSE
130225 ---------------------------------------------------------------------------------------------------
130226 -- 4262811a Switch Sign
130227 ---------------------------------------------------------------------------------------------------
130228 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
130229 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130230 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130231 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130232 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130233 -- 5132302
130234 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
130235 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130236
130237 END IF;
130238
130239 -- 4955764
130240 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130241 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
130242
130243
130244 XLA_AE_LINES_PKG.ValidateCurrentLine;
130245 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130246
130247 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130248 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
130249 ,p_balance_type_code => l_balance_type_code);
130250
130251 END IF;
130252
130253 -----------------------------------------------------------------------------------------
130254 -- 4262811 Multiperiod Accounting
130255 -----------------------------------------------------------------------------------------
130256 -- No MPA option is assigned.
130257
130258
130259 END IF;
130260 END IF;
130261 --
130262
130263 --
130264 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130265 trace
130266 (p_msg => 'END of AcctLineType_217'
130267 ,p_level => C_LEVEL_PROCEDURE
130268 ,p_module => l_log_module);
130269 END IF;
130270 --
130271 EXCEPTION
130272 WHEN xla_exceptions_pkg.application_exception THEN
130273 RAISE;
130274 WHEN OTHERS THEN
130275 xla_exceptions_pkg.raise_message
130276 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_217');
130277 END AcctLineType_217;
130278 --
130279
130280 ---------------------------------------
130281 --
130282 -- PRIVATE FUNCTION
130283 -- AcctLineType_218
130284 --
130285 ---------------------------------------
130286 PROCEDURE AcctLineType_218 (
130287 p_application_id IN NUMBER
130288 ,p_event_id IN NUMBER
130289 ,p_calculate_acctd_flag IN VARCHAR2
130290 ,p_calculate_g_l_flag IN VARCHAR2
130291 ,p_actual_flag IN OUT VARCHAR2
130292 ,p_balance_type_code OUT VARCHAR2
130293 ,p_gain_or_loss_ref OUT VARCHAR2
130294
130295 --Invoice Distribution Type
130296 , p_source_21 IN VARCHAR2
130297 , p_source_21_meaning IN VARCHAR2
130298 --Accounting Reversal Indicator
130299 , p_source_41 IN VARCHAR2
130300 --Distribution Link Type
130301 , p_source_43 IN VARCHAR2
130302 --Allocation to Main Distribution Identifier
130303 , p_source_45 IN NUMBER
130304 --Invoice Identifier
130305 , p_source_46 IN NUMBER
130306 --Invoice Distribution Identifier
130307 , p_source_52 IN NUMBER
130308 --Payables Encumbrance Upgrade Credit Account
130309 , p_source_53 IN NUMBER
130310 --Payables Encumbrance Upgrade Credit Amount
130311 , p_source_54 IN NUMBER
130315 , p_source_56 IN NUMBER
130312 --Invoice Currency Code
130313 , p_source_55 IN VARCHAR2
130314 --Payables Encumbrance Upgrade Credit Base Amount
130316 --Payables Encumbrance Upgrade Debit Account
130317 , p_source_57 IN NUMBER
130318 --Payables Encumbrance Upgrade Debit Amount
130319 , p_source_58 IN NUMBER
130320 --Payables Encumbrance Upgrade Debit Base Amount
130321 , p_source_59 IN NUMBER
130322 --Payables Encumbrance Upgrade Option
130323 , p_source_60 IN VARCHAR2
130324 --Invoice Distribution Amount
130325 , p_source_61 IN NUMBER
130326 --Deferred Accounting End Date
130327 , p_source_65 IN DATE
130328 --Deferred Accounting Option
130329 , p_source_66 IN VARCHAR2
130330 --Deferred Accounting Start Date
130331 , p_source_67 IN DATE
130332 --Override Accounted Amount Indicator
130333 , p_source_68 IN VARCHAR2
130334 , p_source_68_meaning IN VARCHAR2
130335 --Third Party Type
130336 , p_source_71 IN VARCHAR2
130337 --Parent Reversal Identifier
130338 , p_source_72 IN NUMBER
130339 --Invoice Distribution Statistical Amount
130340 , p_source_73 IN NUMBER
130341 --Invoice Distribution Tax Line Identifier
130342 , p_source_74 IN NUMBER
130343 --Invoice Distribution Tax Distribution Identifier from Tax
130344 , p_source_75 IN NUMBER
130345 --Invoice Distribution Summary Tax Line Identifier
130346 , p_source_76 IN NUMBER
130347 --Payables Upgrade Credit Encumbrance Type Identifier
130348 , p_source_77 IN NUMBER
130349 --Payables Upgrade Debit Encumbrance Type Identifier
130350 , p_source_78 IN NUMBER
130351 --Business Flow Accounts Payable Application Identifier
130352 , p_source_79 IN NUMBER
130353 --Business Flow Invoice Distribution Type
130354 , p_source_80 IN VARCHAR2
130355 --Business Flow Invoice Entity Code
130356 , p_source_81 IN VARCHAR2
130357 --Business Flow Invoice Distribution Identifier
130358 , p_source_82 IN NUMBER
130359 --Business Flow Invoice Identifier
130360 , p_source_83 IN NUMBER
130361 --Accrue on Receipt Option
130362 , p_source_84 IN VARCHAR2
130363 , p_source_84_meaning IN VARCHAR2
130364 --Purchasing Encumbrance Option
130365 , p_source_86 IN VARCHAR2
130366 , p_source_86_meaning IN VARCHAR2
130367 --Invoice Encumbered Option
130368 , p_source_87 IN VARCHAR2
130369 , p_source_87_meaning IN VARCHAR2
130370 --Quantity Variance Amount
130371 , p_source_161 IN NUMBER
130372 --Quantity Variance Amount in Ledger Currency
130373 , p_source_162 IN NUMBER
130374 )
130375 IS
130376
130377 l_component_type VARCHAR2(80);
130378 l_component_code VARCHAR2(30);
130379 l_component_type_code VARCHAR2(1);
130380 l_component_appl_id INTEGER;
130381 l_amb_context_code VARCHAR2(30);
130382 l_entity_code VARCHAR2(30);
130383 l_event_class_code VARCHAR2(30);
130384 l_ae_header_id NUMBER;
130385 l_event_type_code VARCHAR2(30);
130386 l_line_definition_code VARCHAR2(30);
130387 l_line_definition_owner_code VARCHAR2(1);
130388 --
130389 -- adr variables
130390 l_segment VARCHAR2(30);
130391 l_ccid NUMBER;
130392 l_adr_transaction_coa_id NUMBER;
130393 l_adr_accounting_coa_id NUMBER;
130394 l_adr_flexfield_segment_code VARCHAR2(30);
130395 l_adr_flex_value_set_id NUMBER;
130396 l_adr_value_type_code VARCHAR2(30);
130397 l_adr_value_combination_id NUMBER;
130398 l_adr_value_segment_code VARCHAR2(30);
130399
130400 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
130401 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
130402 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
130403 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
130404
130405 -- 4262811 Variables ------------------------------------------------------------------------------------------
130406 l_entered_amt_idx NUMBER;
130407 l_accted_amt_idx NUMBER;
130408 l_acc_rev_flag VARCHAR2(1);
130409 l_accrual_line_num NUMBER;
130410 l_tmp_amt NUMBER;
130411 l_acc_rev_natural_side_code VARCHAR2(1);
130412
130413 l_num_entries NUMBER;
130414 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
130415 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
130416 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
130417 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
130418 l_recog_line_1 NUMBER;
130419 l_recog_line_2 NUMBER;
130420
130421 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
130422 l_bflow_applied_to_amt NUMBER; -- 5132302
130423 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
130424
130425 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
130426
130427 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
130428 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
130429
130433 --
130430 ---------------------------------------------------------------------------------------------------------------
130431
130432
130434 -- bulk performance
130435 --
130436 l_balance_type_code VARCHAR2(1);
130437 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
130438 l_log_module VARCHAR2(240);
130439
130440 --
130441 -- Upgrade strategy
130442 --
130443 l_actual_upg_option VARCHAR2(1);
130444 l_enc_upg_option VARCHAR2(1);
130445
130446 --
130447 BEGIN
130448 --
130449 IF g_log_enabled THEN
130450 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_218';
130451 END IF;
130452 --
130453 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130454
130455 trace
130456 (p_msg => 'BEGIN of AcctLineType_218'
130457 ,p_level => C_LEVEL_PROCEDURE
130458 ,p_module => l_log_module);
130459
130460 END IF;
130461 --
130462 l_component_type := 'AMB_JLT';
130463 l_component_code := 'AP_QUANTITY_VARIANCE_INV_ENC';
130464 l_component_type_code := 'S';
130465 l_component_appl_id := 200;
130466 l_amb_context_code := 'DEFAULT';
130467 l_entity_code := 'AP_INVOICES';
130468 l_event_class_code := 'INVOICES';
130469 l_event_type_code := 'INVOICES_ALL';
130470 l_line_definition_owner_code := 'S';
130471 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
130472 --
130473 l_balance_type_code := 'E';
130474 l_segment := NULL;
130475 l_ccid := NULL;
130476 l_adr_transaction_coa_id := NULL;
130477 l_adr_accounting_coa_id := NULL;
130478 l_adr_flexfield_segment_code := NULL;
130479 l_adr_flex_value_set_id := NULL;
130480 l_adr_value_type_code := NULL;
130481 l_adr_value_combination_id := NULL;
130482 l_adr_value_segment_code := NULL;
130483
130484 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
130485 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
130486 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
130487 l_budgetary_control_flag := 'N';
130488
130489 l_bflow_applied_to_amt_idx := NULL; -- 5132302
130490 l_bflow_applied_to_amt := NULL; -- 5132302
130491 l_entered_amt_idx := NULL; -- 4262811
130492 l_accted_amt_idx := NULL; -- 4262811
130493 l_acc_rev_flag := NULL; -- 4262811
130494 l_accrual_line_num := NULL; -- 4262811
130495 l_tmp_amt := NULL; -- 4262811
130496 --
130497
130498 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
130499 l_balance_type_code <> 'B' THEN
130500 IF NVL(p_source_21,'
130501 ') = 'ITEM' AND
130502 p_source_161 IS NOT NULL AND
130503 NVL(p_source_86,'
130504 ') = 'Y' AND
130505 NVL(p_source_84,'
130506 ') <> 'Y' AND
130507 NVL(p_source_87,'
130508 ') = 'Y'
130509 THEN
130510
130511 --
130512 XLA_AE_LINES_PKG.SetNewLine;
130513
130514 p_balance_type_code := l_balance_type_code;
130515 -- set the flag so later we will know whether the gain loss line needs to be created
130516
130517 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
130518 p_actual_flag :='A';
130519 END IF;
130520
130521 --
130522 -- bulk performance
130523 --
130524 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
130525 p_header_num => 0); -- 4262811
130526 --
130527 -- set accounting line options
130528 --
130529 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
130530 p_natural_side_code => 'C'
130531 , p_gain_or_loss_flag => 'N'
130532 , p_gl_transfer_mode_code => 'S'
130533 , p_acct_entry_type_code => 'E'
130534 , p_switch_side_flag => 'Y'
130535 , p_merge_duplicate_code => 'A'
130536 );
130537 --
130538 l_acc_rev_natural_side_code := 'D'; -- 4262811
130539 --
130540 --
130541 -- set accounting line type info
130542 --
130543 xla_ae_lines_pkg.SetAcctLineType
130544 (p_component_type => l_component_type
130545 ,p_event_type_code => l_event_type_code
130546 ,p_line_definition_owner_code => l_line_definition_owner_code
130547 ,p_line_definition_code => l_line_definition_code
130548 ,p_accounting_line_code => l_component_code
130549 ,p_accounting_line_type_code => l_component_type_code
130550 ,p_accounting_line_appl_id => l_component_appl_id
130551 ,p_amb_context_code => l_amb_context_code
130552 ,p_entity_code => l_entity_code
130553 ,p_event_class_code => l_event_class_code);
130554 --
130555 -- set accounting class
130556 --
130557 xla_ae_lines_pkg.SetAcctClass(
130558 p_accounting_class_code => 'QV'
130559 , p_ae_header_id => l_ae_header_id
130560 );
130561
130562 --
130563 -- set rounding class
130564 --
130565 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
130566 'QV';
130567
130568 --
130569 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
130573 --
130570 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
130571 --
130572 -- bulk performance
130574 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
130575
130576 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
130577 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
130578
130579 -- 4955764
130580 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130581 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
130582
130583 -- 4458381 Public Sector Enh
130584
130585 --
130586 -- set accounting attributes for the line type
130587 --
130588 l_entered_amt_idx := 24;
130589 l_accted_amt_idx := 26;
130590 l_bflow_applied_to_amt_idx := 7; -- 5132302
130591 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
130592 l_rec_acct_attrs.array_char_value(1) := p_source_41;
130593 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
130594 l_rec_acct_attrs.array_num_value(2) :=
130595 xla_ae_sources_pkg.GetSystemSourceNum(
130596 p_source_code => 'XLA_EVENT_APPL_ID'
130597 , p_source_type_code => 'Y'
130598 , p_source_application_id => 602
130599 );
130600 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
130601 l_rec_acct_attrs.array_char_value(3) := p_source_43;
130602 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
130603 l_rec_acct_attrs.array_char_value(4) :=
130604 xla_ae_sources_pkg.GetSystemSourceChar(
130605 p_source_code => 'XLA_ENTITY_CODE'
130606 , p_source_type_code => 'Y'
130607 , p_source_application_id => 602
130608 );
130609 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
130610 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
130611 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
130612 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
130613 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
130614 l_rec_acct_attrs.array_num_value(7) := p_source_61;
130615 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
130616 l_rec_acct_attrs.array_num_value(8) := p_source_79;
130617 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
130618 l_rec_acct_attrs.array_char_value(9) := p_source_80;
130619 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
130620 l_rec_acct_attrs.array_char_value(10) := p_source_81;
130621 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
130622 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
130623 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
130624 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
130625 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
130626 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
130627 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
130628 l_rec_acct_attrs.array_char_value(14) := p_source_43;
130629 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
130630 l_rec_acct_attrs.array_num_value(15) := p_source_53;
130631 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
130632 l_rec_acct_attrs.array_num_value(16) := p_source_54;
130633 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
130634 l_rec_acct_attrs.array_char_value(17) := p_source_55;
130635 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
130636 l_rec_acct_attrs.array_num_value(18) := p_source_56;
130637 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
130638 l_rec_acct_attrs.array_num_value(19) := p_source_57;
130639 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
130640 l_rec_acct_attrs.array_num_value(20) := p_source_58;
130641 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
130642 l_rec_acct_attrs.array_char_value(21) := p_source_55;
130643 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
130644 l_rec_acct_attrs.array_num_value(22) := p_source_59;
130645 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
130646 l_rec_acct_attrs.array_char_value(23) := p_source_60;
130647 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
130648 l_rec_acct_attrs.array_num_value(24) := p_source_161;
130649 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
130650 l_rec_acct_attrs.array_char_value(25) := p_source_55;
130651 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
130652 l_rec_acct_attrs.array_num_value(26) := p_source_162;
130653 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
130654 l_rec_acct_attrs.array_date_value(27) := p_source_65;
130655 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
130656 l_rec_acct_attrs.array_char_value(28) := p_source_66;
130657 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
130658 l_rec_acct_attrs.array_date_value(29) := p_source_67;
130659 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
130660 l_rec_acct_attrs.array_char_value(30) := p_source_68;
130661 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
130662 l_rec_acct_attrs.array_char_value(31) := p_source_71;
130663 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
130667 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
130664 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
130665 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
130666 l_rec_acct_attrs.array_char_value(33) := p_source_43;
130668 l_rec_acct_attrs.array_num_value(34) := p_source_73;
130669 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
130670 l_rec_acct_attrs.array_num_value(35) := p_source_74;
130671 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
130672 l_rec_acct_attrs.array_num_value(36) := p_source_75;
130673 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
130674 l_rec_acct_attrs.array_num_value(37) := p_source_76;
130675 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
130676 l_rec_acct_attrs.array_num_value(38) := p_source_77;
130677 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
130678 l_rec_acct_attrs.array_num_value(39) := p_source_78;
130679
130680 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
130681 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
130682
130683 ---------------------------------------------------------------------------------------------------------------
130684 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
130685 ---------------------------------------------------------------------------------------------------------------
130686 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
130687
130688 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130689 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
130690
130691 IF xla_accounting_cache_pkg.GetValueChar
130692 (p_source_code => 'LEDGER_CATEGORY_CODE'
130693 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
130694 AND l_bflow_method_code = 'PRIOR_ENTRY'
130695 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
130696 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
130697 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
130698 )
130699 THEN
130700 xla_ae_lines_pkg.BflowUpgEntry
130701 (p_business_method_code => l_bflow_method_code
130702 ,p_business_class_code => l_bflow_class_code
130703 ,p_balance_type => l_balance_type_code);
130704 ELSE
130705 NULL;
130706 XLA_AE_LINES_PKG.business_flow_validation(
130707 p_business_method_code => l_bflow_method_code
130708 ,p_business_class_code => l_bflow_class_code
130709 ,p_inherit_description_flag => l_inherit_desc_flag);
130710 END IF;
130711
130712 --
130713 -- call analytical criteria
130714 --
130715 -- Inherited Analytical Criteria for business flow method of Prior Entry.
130716 --
130717 -- call description
130718 --
130719 -- No description or it is inherited.
130720 --
130721 -- call ADRs
130722 -- Bug 4922099
130723 --
130724 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130725 (NVL(l_actual_upg_option, 'N') = 'O') OR
130726 (NVL(l_enc_upg_option, 'N') = 'O')
130727 )
130728 THEN
130729 NULL;
130730 --
130731 --
130732
130733 --
130734 --
130735 END IF;
130736 --
130737 -- Bug 4922099
130738 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
130739 (NVL(l_enc_upg_option, 'N') = 'O')
130740 ) AND
130741 (l_bflow_method_code = 'PRIOR_ENTRY')
130742 )
130743 THEN
130744 IF
130745 --
130746 1 = 1
130747 --
130748 THEN
130749 xla_accounting_err_pkg.build_message
130750 (p_appli_s_name => 'XLA'
130751 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130752 ,p_token_1 => 'LINE_NUMBER'
130753 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
130754 ,p_token_2 => 'LINE_TYPE_NAME'
130755 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
130756 l_component_type
130757 ,l_component_code
130758 ,l_component_type_code
130759 ,l_component_appl_id
130760 ,l_amb_context_code
130761 ,l_entity_code
130762 ,l_event_class_code
130763 )
130764 ,p_token_3 => 'OWNER'
130765 ,p_value_3 => xla_lookups_pkg.get_meaning(
130766 p_lookup_type => 'XLA_OWNER_TYPE'
130770 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
130767 ,p_lookup_code => l_component_type_code
130768 )
130769 ,p_token_4 => 'PRODUCT_NAME'
130771 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
130772 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
130773 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
130774 ,p_ae_header_id => NULL
130775 );
130776
130777 IF (C_LEVEL_ERROR>= g_log_level) THEN
130778 trace
130779 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
130780 ,p_level => C_LEVEL_ERROR
130781 ,p_module => l_log_module);
130782 END IF;
130783 END IF;
130784 END IF;
130785 --
130786 --
130787 ------------------------------------------------------------------------------------------------
130788 -- 4219869 Business Flow
130789 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
130790 -- Prior Entry. Currently, the following code is always generated.
130791 ------------------------------------------------------------------------------------------------
130792 -- No ValidateCurrentLine for business flow method of Prior Entry
130793
130794 ------------------------------------------------------------------------------------
130795 -- 4219869 Business Flow
130796 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
130797 ------------------------------------------------------------------------------------
130798 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130799
130800 ----------------------------------------------------------------------------------
130801 -- 4219869 Business Flow
130802 -- Update journal entry status -- Need to generate this within IF <condition>
130803 ----------------------------------------------------------------------------------
130804 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130805 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
130806 ,p_balance_type_code => l_balance_type_code
130807 );
130808
130809 -------------------------------------------------------------------------------------------
130810 -- 4262811 - Generate the Accrual Reversal lines
130811 -------------------------------------------------------------------------------------------
130812 BEGIN
130813 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
130814 (g_array_event(p_event_id).array_value_num('header_index'));
130815 IF l_acc_rev_flag IS NULL THEN
130816 l_acc_rev_flag := 'N';
130817 END IF;
130818 EXCEPTION
130819 WHEN OTHERS THEN
130820 l_acc_rev_flag := 'N';
130821 END;
130822 --
130823 IF (l_acc_rev_flag = 'Y') THEN
130824
130825 -- 4645092 ------------------------------------------------------------------------------
130826 -- To allow MPA report to determine if it should generate report process
130827 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
130828 ------------------------------------------------------------------------------------------
130829
130830 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
130831 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
130832 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
130833 -- call ADRs
130834 -- Bug 4922099
130835 --
130836 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
130837 (NVL(l_actual_upg_option, 'N') = 'O') OR
130838 (NVL(l_enc_upg_option, 'N') = 'O')
130839 )
130840 THEN
130841 NULL;
130842 --
130843 --
130844
130845 --
130846 --
130847 END IF;
130848
130849 --
130850 -- Update the line information that should be overwritten
130851 --
130852 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
130853 p_header_num => 1);
130854 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
130855
130856 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
130857
130858 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
130859 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
130860 END IF;
130861
130862 --
130863 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
130864 --
130865 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
130866 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
130867 ELSE
130868 ---------------------------------------------------------------------------------------------------
130869 -- 4262811a Switch Sign
130870 ---------------------------------------------------------------------------------------------------
130874 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130871 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
130872 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
130873 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130875 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130876 -- 5132302
130877 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
130878 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
130879
130880 END IF;
130881
130882 -- 4955764
130883 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
130884 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
130885
130886
130887 XLA_AE_LINES_PKG.ValidateCurrentLine;
130888 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
130889
130890 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
130891 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
130892 ,p_balance_type_code => l_balance_type_code);
130893
130894 END IF;
130895
130896 -----------------------------------------------------------------------------------------
130897 -- 4262811 Multiperiod Accounting
130898 -----------------------------------------------------------------------------------------
130899 -- No MPA option is assigned.
130900
130901
130902 END IF;
130903 END IF;
130904 --
130905
130906 --
130907 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
130908 trace
130909 (p_msg => 'END of AcctLineType_218'
130910 ,p_level => C_LEVEL_PROCEDURE
130911 ,p_module => l_log_module);
130912 END IF;
130913 --
130914 EXCEPTION
130915 WHEN xla_exceptions_pkg.application_exception THEN
130916 RAISE;
130917 WHEN OTHERS THEN
130918 xla_exceptions_pkg.raise_message
130919 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_218');
130920 END AcctLineType_218;
130921 --
130922
130923 ---------------------------------------
130924 --
130925 -- PRIVATE FUNCTION
130926 -- AcctLineType_219
130927 --
130928 ---------------------------------------
130929 PROCEDURE AcctLineType_219 (
130930 p_application_id IN NUMBER
130931 ,p_event_id IN NUMBER
130932 ,p_calculate_acctd_flag IN VARCHAR2
130933 ,p_calculate_g_l_flag IN VARCHAR2
130934 ,p_actual_flag IN OUT VARCHAR2
130935 ,p_balance_type_code OUT VARCHAR2
130936 ,p_gain_or_loss_ref OUT VARCHAR2
130937
130938 --Invoice Distribution Type
130939 , p_source_21 IN VARCHAR2
130940 , p_source_21_meaning IN VARCHAR2
130941 --Accounting Reversal Indicator
130942 , p_source_41 IN VARCHAR2
130943 --Distribution Link Type
130944 , p_source_43 IN VARCHAR2
130945 --Allocation to Main Distribution Identifier
130946 , p_source_45 IN NUMBER
130947 --Invoice Identifier
130948 , p_source_46 IN NUMBER
130949 --Invoice Distribution Identifier
130950 , p_source_52 IN NUMBER
130951 --Payables Encumbrance Upgrade Credit Account
130952 , p_source_53 IN NUMBER
130953 --Payables Encumbrance Upgrade Credit Amount
130954 , p_source_54 IN NUMBER
130955 --Invoice Currency Code
130956 , p_source_55 IN VARCHAR2
130957 --Payables Encumbrance Upgrade Credit Base Amount
130958 , p_source_56 IN NUMBER
130959 --Payables Encumbrance Upgrade Debit Account
130960 , p_source_57 IN NUMBER
130961 --Payables Encumbrance Upgrade Debit Amount
130962 , p_source_58 IN NUMBER
130963 --Payables Encumbrance Upgrade Debit Base Amount
130964 , p_source_59 IN NUMBER
130965 --Payables Encumbrance Upgrade Option
130966 , p_source_60 IN VARCHAR2
130967 --Deferred Accounting End Date
130968 , p_source_65 IN DATE
130969 --Deferred Accounting Option
130970 , p_source_66 IN VARCHAR2
130971 --Deferred Accounting Start Date
130972 , p_source_67 IN DATE
130973 --Override Accounted Amount Indicator
130974 , p_source_68 IN VARCHAR2
130975 , p_source_68_meaning IN VARCHAR2
130976 --Third Party Type
130977 , p_source_71 IN VARCHAR2
130978 --Parent Reversal Identifier
130979 , p_source_72 IN NUMBER
130980 --Invoice Distribution Statistical Amount
130981 , p_source_73 IN NUMBER
130982 --Invoice Distribution Tax Line Identifier
130983 , p_source_74 IN NUMBER
130984 --Invoice Distribution Tax Distribution Identifier from Tax
130985 , p_source_75 IN NUMBER
130986 --Invoice Distribution Summary Tax Line Identifier
130987 , p_source_76 IN NUMBER
130988 --Payables Upgrade Credit Encumbrance Type Identifier
130989 , p_source_77 IN NUMBER
130990 --Payables Upgrade Debit Encumbrance Type Identifier
130991 , p_source_78 IN NUMBER
130992 --Business Flow Accounts Payable Application Identifier
130993 , p_source_79 IN NUMBER
130994 --Business Flow Invoice Distribution Type
130995 , p_source_80 IN VARCHAR2
130996 --Business Flow Invoice Entity Code
131000 --Business Flow Invoice Identifier
130997 , p_source_81 IN VARCHAR2
130998 --Business Flow Invoice Distribution Identifier
130999 , p_source_82 IN NUMBER
131001 , p_source_83 IN NUMBER
131002 --Accrue on Receipt Option
131003 , p_source_84 IN VARCHAR2
131004 , p_source_84_meaning IN VARCHAR2
131005 --Amount for Variance Amount
131006 , p_source_85 IN NUMBER
131007 --Purchasing Encumbrance Option
131008 , p_source_86 IN VARCHAR2
131009 , p_source_86_meaning IN VARCHAR2
131010 --Invoice Encumbered Option
131011 , p_source_87 IN VARCHAR2
131012 , p_source_87_meaning IN VARCHAR2
131013 --Quantity Variance Amount
131014 , p_source_161 IN NUMBER
131015 --Quantity Variance Amount in Ledger Currency
131016 , p_source_162 IN NUMBER
131017 )
131018 IS
131019
131020 l_component_type VARCHAR2(80);
131021 l_component_code VARCHAR2(30);
131022 l_component_type_code VARCHAR2(1);
131023 l_component_appl_id INTEGER;
131024 l_amb_context_code VARCHAR2(30);
131025 l_entity_code VARCHAR2(30);
131026 l_event_class_code VARCHAR2(30);
131027 l_ae_header_id NUMBER;
131028 l_event_type_code VARCHAR2(30);
131029 l_line_definition_code VARCHAR2(30);
131030 l_line_definition_owner_code VARCHAR2(1);
131031 --
131032 -- adr variables
131033 l_segment VARCHAR2(30);
131034 l_ccid NUMBER;
131035 l_adr_transaction_coa_id NUMBER;
131036 l_adr_accounting_coa_id NUMBER;
131037 l_adr_flexfield_segment_code VARCHAR2(30);
131038 l_adr_flex_value_set_id NUMBER;
131039 l_adr_value_type_code VARCHAR2(30);
131040 l_adr_value_combination_id NUMBER;
131041 l_adr_value_segment_code VARCHAR2(30);
131042
131043 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
131044 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
131045 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
131046 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
131047
131048 -- 4262811 Variables ------------------------------------------------------------------------------------------
131049 l_entered_amt_idx NUMBER;
131050 l_accted_amt_idx NUMBER;
131051 l_acc_rev_flag VARCHAR2(1);
131052 l_accrual_line_num NUMBER;
131053 l_tmp_amt NUMBER;
131054 l_acc_rev_natural_side_code VARCHAR2(1);
131055
131056 l_num_entries NUMBER;
131057 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
131058 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
131059 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
131060 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
131061 l_recog_line_1 NUMBER;
131062 l_recog_line_2 NUMBER;
131063
131064 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
131065 l_bflow_applied_to_amt NUMBER; -- 5132302
131066 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
131067
131068 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
131069
131070 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
131071 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
131072
131073 ---------------------------------------------------------------------------------------------------------------
131074
131075
131076 --
131077 -- bulk performance
131078 --
131079 l_balance_type_code VARCHAR2(1);
131080 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
131081 l_log_module VARCHAR2(240);
131082
131083 --
131084 -- Upgrade strategy
131085 --
131086 l_actual_upg_option VARCHAR2(1);
131087 l_enc_upg_option VARCHAR2(1);
131088
131089 --
131090 BEGIN
131091 --
131092 IF g_log_enabled THEN
131093 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_219';
131094 END IF;
131095 --
131096 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131097
131098 trace
131099 (p_msg => 'BEGIN of AcctLineType_219'
131100 ,p_level => C_LEVEL_PROCEDURE
131101 ,p_module => l_log_module);
131102
131103 END IF;
131104 --
131105 l_component_type := 'AMB_JLT';
131106 l_component_code := 'AP_QUANTITY_VARIANCE_PP_ENC';
131107 l_component_type_code := 'S';
131108 l_component_appl_id := 200;
131109 l_amb_context_code := 'DEFAULT';
131110 l_entity_code := 'AP_INVOICES';
131111 l_event_class_code := 'PREPAYMENTS';
131112 l_event_type_code := 'PREPAYMENTS_ALL';
131113 l_line_definition_owner_code := 'S';
131114 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
131115 --
131116 l_balance_type_code := 'E';
131117 l_segment := NULL;
131118 l_ccid := NULL;
131119 l_adr_transaction_coa_id := NULL;
131120 l_adr_accounting_coa_id := NULL;
131121 l_adr_flexfield_segment_code := NULL;
131122 l_adr_flex_value_set_id := NULL;
131123 l_adr_value_type_code := NULL;
131124 l_adr_value_combination_id := NULL;
131125 l_adr_value_segment_code := NULL;
131126
131130 l_budgetary_control_flag := 'N';
131127 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
131128 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
131129 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
131131
131132 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131133 l_bflow_applied_to_amt := NULL; -- 5132302
131134 l_entered_amt_idx := NULL; -- 4262811
131135 l_accted_amt_idx := NULL; -- 4262811
131136 l_acc_rev_flag := NULL; -- 4262811
131137 l_accrual_line_num := NULL; -- 4262811
131138 l_tmp_amt := NULL; -- 4262811
131139 --
131140
131141 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
131142 l_balance_type_code <> 'B' THEN
131143 IF NVL(p_source_21,'
131144 ') = 'ITEM' AND
131145 p_source_85 IS NOT NULL AND
131146 NVL(p_source_84,'
131147 ') <> 'Y' AND
131148 NVL(p_source_86,'
131149 ') = 'Y' AND
131150 NVL(p_source_87,'
131151 ') = 'Y'
131152 THEN
131153
131154 --
131155 XLA_AE_LINES_PKG.SetNewLine;
131156
131157 p_balance_type_code := l_balance_type_code;
131158 -- set the flag so later we will know whether the gain loss line needs to be created
131159
131160 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
131161 p_actual_flag :='A';
131162 END IF;
131163
131164 --
131165 -- bulk performance
131166 --
131167 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
131168 p_header_num => 0); -- 4262811
131169 --
131170 -- set accounting line options
131171 --
131172 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
131173 p_natural_side_code => 'C'
131174 , p_gain_or_loss_flag => 'N'
131175 , p_gl_transfer_mode_code => 'S'
131176 , p_acct_entry_type_code => 'E'
131177 , p_switch_side_flag => 'Y'
131178 , p_merge_duplicate_code => 'A'
131179 );
131180 --
131181 l_acc_rev_natural_side_code := 'D'; -- 4262811
131182 --
131183 --
131184 -- set accounting line type info
131185 --
131186 xla_ae_lines_pkg.SetAcctLineType
131187 (p_component_type => l_component_type
131188 ,p_event_type_code => l_event_type_code
131189 ,p_line_definition_owner_code => l_line_definition_owner_code
131190 ,p_line_definition_code => l_line_definition_code
131191 ,p_accounting_line_code => l_component_code
131192 ,p_accounting_line_type_code => l_component_type_code
131193 ,p_accounting_line_appl_id => l_component_appl_id
131194 ,p_amb_context_code => l_amb_context_code
131195 ,p_entity_code => l_entity_code
131196 ,p_event_class_code => l_event_class_code);
131197 --
131198 -- set accounting class
131199 --
131200 xla_ae_lines_pkg.SetAcctClass(
131201 p_accounting_class_code => 'QV'
131202 , p_ae_header_id => l_ae_header_id
131203 );
131204
131205 --
131206 -- set rounding class
131207 --
131208 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
131209 'QV';
131210
131211 --
131212 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
131213 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
131214 --
131215 -- bulk performance
131216 --
131217 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
131218
131219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
131220 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
131221
131222 -- 4955764
131223 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131224 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
131225
131226 -- 4458381 Public Sector Enh
131227
131228 --
131229 -- set accounting attributes for the line type
131230 --
131231 l_entered_amt_idx := 23;
131232 l_accted_amt_idx := 25;
131233 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131234 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
131235 l_rec_acct_attrs.array_char_value(1) := p_source_41;
131236 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
131237 l_rec_acct_attrs.array_num_value(2) :=
131238 xla_ae_sources_pkg.GetSystemSourceNum(
131239 p_source_code => 'XLA_EVENT_APPL_ID'
131240 , p_source_type_code => 'Y'
131241 , p_source_application_id => 602
131242 );
131243 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
131244 l_rec_acct_attrs.array_char_value(3) := p_source_43;
131245 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
131246 l_rec_acct_attrs.array_char_value(4) :=
131247 xla_ae_sources_pkg.GetSystemSourceChar(
131248 p_source_code => 'XLA_ENTITY_CODE'
131249 , p_source_type_code => 'Y'
131250 , p_source_application_id => 602
131251 );
131252 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
131253 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
131257 l_rec_acct_attrs.array_num_value(7) := p_source_79;
131254 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
131255 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
131256 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
131258 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
131259 l_rec_acct_attrs.array_char_value(8) := p_source_80;
131260 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
131261 l_rec_acct_attrs.array_char_value(9) := p_source_81;
131262 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
131263 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
131264 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
131265 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
131266 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
131267 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
131268 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
131269 l_rec_acct_attrs.array_char_value(13) := p_source_43;
131270 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
131271 l_rec_acct_attrs.array_num_value(14) := p_source_53;
131272 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
131273 l_rec_acct_attrs.array_num_value(15) := p_source_54;
131274 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
131275 l_rec_acct_attrs.array_char_value(16) := p_source_55;
131276 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
131277 l_rec_acct_attrs.array_num_value(17) := p_source_56;
131278 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
131279 l_rec_acct_attrs.array_num_value(18) := p_source_57;
131280 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
131281 l_rec_acct_attrs.array_num_value(19) := p_source_58;
131282 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
131283 l_rec_acct_attrs.array_char_value(20) := p_source_55;
131284 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
131285 l_rec_acct_attrs.array_num_value(21) := p_source_59;
131286 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
131287 l_rec_acct_attrs.array_char_value(22) := p_source_60;
131288 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
131289 l_rec_acct_attrs.array_num_value(23) := p_source_161;
131290 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
131291 l_rec_acct_attrs.array_char_value(24) := p_source_55;
131292 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
131293 l_rec_acct_attrs.array_num_value(25) := p_source_162;
131294 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
131295 l_rec_acct_attrs.array_date_value(26) := p_source_65;
131296 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
131297 l_rec_acct_attrs.array_char_value(27) := p_source_66;
131298 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
131299 l_rec_acct_attrs.array_date_value(28) := p_source_67;
131300 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
131301 l_rec_acct_attrs.array_char_value(29) := p_source_68;
131302 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
131303 l_rec_acct_attrs.array_char_value(30) := p_source_71;
131304 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
131305 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
131306 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
131307 l_rec_acct_attrs.array_char_value(32) := p_source_43;
131308 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
131309 l_rec_acct_attrs.array_num_value(33) := p_source_73;
131310 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
131311 l_rec_acct_attrs.array_num_value(34) := p_source_74;
131312 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
131313 l_rec_acct_attrs.array_num_value(35) := p_source_75;
131314 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
131315 l_rec_acct_attrs.array_num_value(36) := p_source_76;
131316 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
131317 l_rec_acct_attrs.array_num_value(37) := p_source_77;
131318 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
131319 l_rec_acct_attrs.array_num_value(38) := p_source_78;
131320
131321 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
131322 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
131323
131324 ---------------------------------------------------------------------------------------------------------------
131325 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
131326 ---------------------------------------------------------------------------------------------------------------
131327 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
131328
131329 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131330 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131331
131332 IF xla_accounting_cache_pkg.GetValueChar
131333 (p_source_code => 'LEDGER_CATEGORY_CODE'
131334 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
131335 AND l_bflow_method_code = 'PRIOR_ENTRY'
131339 )
131336 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
131337 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
131338 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
131340 THEN
131341 xla_ae_lines_pkg.BflowUpgEntry
131342 (p_business_method_code => l_bflow_method_code
131343 ,p_business_class_code => l_bflow_class_code
131344 ,p_balance_type => l_balance_type_code);
131345 ELSE
131346 NULL;
131347 XLA_AE_LINES_PKG.business_flow_validation(
131348 p_business_method_code => l_bflow_method_code
131349 ,p_business_class_code => l_bflow_class_code
131350 ,p_inherit_description_flag => l_inherit_desc_flag);
131351 END IF;
131352
131353 --
131354 -- call analytical criteria
131355 --
131356 -- Inherited Analytical Criteria for business flow method of Prior Entry.
131357 --
131358 -- call description
131359 --
131360 -- No description or it is inherited.
131361 --
131362 -- call ADRs
131363 -- Bug 4922099
131364 --
131365 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131366 (NVL(l_actual_upg_option, 'N') = 'O') OR
131367 (NVL(l_enc_upg_option, 'N') = 'O')
131368 )
131369 THEN
131370 NULL;
131371 --
131372 --
131373
131374 --
131375 --
131376 END IF;
131377 --
131378 -- Bug 4922099
131379 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
131380 (NVL(l_enc_upg_option, 'N') = 'O')
131381 ) AND
131382 (l_bflow_method_code = 'PRIOR_ENTRY')
131383 )
131384 THEN
131385 IF
131386 --
131387 1 = 1
131388 --
131389 THEN
131390 xla_accounting_err_pkg.build_message
131391 (p_appli_s_name => 'XLA'
131392 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131393 ,p_token_1 => 'LINE_NUMBER'
131394 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
131395 ,p_token_2 => 'LINE_TYPE_NAME'
131396 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
131397 l_component_type
131398 ,l_component_code
131399 ,l_component_type_code
131400 ,l_component_appl_id
131401 ,l_amb_context_code
131402 ,l_entity_code
131403 ,l_event_class_code
131404 )
131405 ,p_token_3 => 'OWNER'
131406 ,p_value_3 => xla_lookups_pkg.get_meaning(
131407 p_lookup_type => 'XLA_OWNER_TYPE'
131408 ,p_lookup_code => l_component_type_code
131409 )
131410 ,p_token_4 => 'PRODUCT_NAME'
131411 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
131412 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
131413 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
131414 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
131415 ,p_ae_header_id => NULL
131416 );
131417
131418 IF (C_LEVEL_ERROR>= g_log_level) THEN
131419 trace
131420 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
131421 ,p_level => C_LEVEL_ERROR
131422 ,p_module => l_log_module);
131423 END IF;
131424 END IF;
131425 END IF;
131426 --
131427 --
131428 ------------------------------------------------------------------------------------------------
131429 -- 4219869 Business Flow
131430 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
131431 -- Prior Entry. Currently, the following code is always generated.
131432 ------------------------------------------------------------------------------------------------
131433 -- No ValidateCurrentLine for business flow method of Prior Entry
131434
131435 ------------------------------------------------------------------------------------
131436 -- 4219869 Business Flow
131437 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
131438 ------------------------------------------------------------------------------------
131439 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131440
131444 ----------------------------------------------------------------------------------
131441 ----------------------------------------------------------------------------------
131442 -- 4219869 Business Flow
131443 -- Update journal entry status -- Need to generate this within IF <condition>
131445 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131446 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
131447 ,p_balance_type_code => l_balance_type_code
131448 );
131449
131450 -------------------------------------------------------------------------------------------
131451 -- 4262811 - Generate the Accrual Reversal lines
131452 -------------------------------------------------------------------------------------------
131453 BEGIN
131454 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
131455 (g_array_event(p_event_id).array_value_num('header_index'));
131456 IF l_acc_rev_flag IS NULL THEN
131457 l_acc_rev_flag := 'N';
131458 END IF;
131459 EXCEPTION
131460 WHEN OTHERS THEN
131461 l_acc_rev_flag := 'N';
131462 END;
131463 --
131464 IF (l_acc_rev_flag = 'Y') THEN
131465
131466 -- 4645092 ------------------------------------------------------------------------------
131467 -- To allow MPA report to determine if it should generate report process
131468 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
131469 ------------------------------------------------------------------------------------------
131470
131471 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
131472 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
131473 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
131474 -- call ADRs
131475 -- Bug 4922099
131476 --
131477 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
131478 (NVL(l_actual_upg_option, 'N') = 'O') OR
131479 (NVL(l_enc_upg_option, 'N') = 'O')
131480 )
131481 THEN
131482 NULL;
131483 --
131484 --
131485
131486 --
131487 --
131488 END IF;
131489
131490 --
131491 -- Update the line information that should be overwritten
131492 --
131493 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
131494 p_header_num => 1);
131495 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
131496
131497 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
131498
131499 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
131500 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
131501 END IF;
131502
131503 --
131504 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
131505 --
131506 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
131507 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
131508 ELSE
131509 ---------------------------------------------------------------------------------------------------
131510 -- 4262811a Switch Sign
131511 ---------------------------------------------------------------------------------------------------
131512 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
131513 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131514 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131515 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
131516 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131517 -- 5132302
131518 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
131519 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
131520
131521 END IF;
131522
131523 -- 4955764
131524 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131525 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
131526
131527
131528 XLA_AE_LINES_PKG.ValidateCurrentLine;
131529 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
131530
131531 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
131532 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
131533 ,p_balance_type_code => l_balance_type_code);
131534
131535 END IF;
131536
131537 -----------------------------------------------------------------------------------------
131538 -- 4262811 Multiperiod Accounting
131539 -----------------------------------------------------------------------------------------
131540 -- No MPA option is assigned.
131541
131542
131543 END IF;
131544 END IF;
131545 --
131546
131547 --
131548 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131549 trace
131550 (p_msg => 'END of AcctLineType_219'
131551 ,p_level => C_LEVEL_PROCEDURE
131552 ,p_module => l_log_module);
131553 END IF;
131554 --
131555 EXCEPTION
131559 xla_exceptions_pkg.raise_message
131556 WHEN xla_exceptions_pkg.application_exception THEN
131557 RAISE;
131558 WHEN OTHERS THEN
131560 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_219');
131561 END AcctLineType_219;
131562 --
131563
131564 ---------------------------------------
131565 --
131566 -- PRIVATE FUNCTION
131567 -- AcctLineType_220
131568 --
131569 ---------------------------------------
131570 PROCEDURE AcctLineType_220 (
131571 p_application_id IN NUMBER
131572 ,p_event_id IN NUMBER
131573 ,p_calculate_acctd_flag IN VARCHAR2
131574 ,p_calculate_g_l_flag IN VARCHAR2
131575 ,p_actual_flag IN OUT VARCHAR2
131576 ,p_balance_type_code OUT VARCHAR2
131577 ,p_gain_or_loss_ref OUT VARCHAR2
131578
131579 --Invoice Distribution Description
131580 , p_source_1 IN VARCHAR2
131581 --Invoice Distribution Ledger Amount
131582 , p_source_9 IN NUMBER
131583 --Invoice Distribution Account
131584 , p_source_18 IN NUMBER
131585 --Invoice Distribution Type
131586 , p_source_21 IN VARCHAR2
131587 , p_source_21_meaning IN VARCHAR2
131588 --Accounting Reversal Indicator
131589 , p_source_41 IN VARCHAR2
131590 --Distribution Link Type
131591 , p_source_43 IN VARCHAR2
131592 --Allocation to Main Distribution Identifier
131593 , p_source_45 IN NUMBER
131594 --Invoice Identifier
131595 , p_source_46 IN NUMBER
131596 --Invoice Distribution Identifier
131597 , p_source_52 IN NUMBER
131598 --Payables Encumbrance Upgrade Credit Account
131599 , p_source_53 IN NUMBER
131600 --Payables Encumbrance Upgrade Credit Amount
131601 , p_source_54 IN NUMBER
131602 --Invoice Currency Code
131603 , p_source_55 IN VARCHAR2
131604 --Payables Encumbrance Upgrade Credit Base Amount
131605 , p_source_56 IN NUMBER
131606 --Payables Encumbrance Upgrade Debit Account
131607 , p_source_57 IN NUMBER
131608 --Payables Encumbrance Upgrade Debit Amount
131609 , p_source_58 IN NUMBER
131610 --Payables Encumbrance Upgrade Debit Base Amount
131611 , p_source_59 IN NUMBER
131612 --Payables Encumbrance Upgrade Option
131613 , p_source_60 IN VARCHAR2
131614 --Invoice Distribution Amount
131615 , p_source_61 IN NUMBER
131616 --Deferred Accounting End Date
131617 , p_source_65 IN DATE
131618 --Deferred Accounting Option
131619 , p_source_66 IN VARCHAR2
131620 --Deferred Accounting Start Date
131621 , p_source_67 IN DATE
131622 --Override Accounted Amount Indicator
131623 , p_source_68 IN VARCHAR2
131624 , p_source_68_meaning IN VARCHAR2
131625 --Invoice Supplier Identifier
131626 , p_source_69 IN NUMBER
131627 --Invoice Supplier Site Identifier
131628 , p_source_70 IN NUMBER
131629 --Third Party Type
131630 , p_source_71 IN VARCHAR2
131631 --Parent Reversal Identifier
131632 , p_source_72 IN NUMBER
131633 --Invoice Distribution Statistical Amount
131634 , p_source_73 IN NUMBER
131635 --Invoice Distribution Tax Line Identifier
131636 , p_source_74 IN NUMBER
131637 --Invoice Distribution Tax Distribution Identifier from Tax
131638 , p_source_75 IN NUMBER
131639 --Invoice Distribution Summary Tax Line Identifier
131640 , p_source_76 IN NUMBER
131641 --Payables Upgrade Credit Encumbrance Type Identifier
131642 , p_source_77 IN NUMBER
131643 --Payables Upgrade Debit Encumbrance Type Identifier
131644 , p_source_78 IN NUMBER
131645 --Business Flow Accounts Payable Application Identifier
131646 , p_source_79 IN NUMBER
131647 --Business Flow Invoice Distribution Type
131648 , p_source_80 IN VARCHAR2
131649 --Business Flow Invoice Entity Code
131650 , p_source_81 IN VARCHAR2
131651 --Business Flow Invoice Distribution Identifier
131652 , p_source_82 IN NUMBER
131653 --Business Flow Invoice Identifier
131654 , p_source_83 IN NUMBER
131655 --Self-Assessed Tax Flag
131656 , p_source_135 IN VARCHAR2
131657 , p_source_135_meaning IN VARCHAR2
131658 --Invoice Exchange Date
131659 , p_source_136 IN DATE
131660 --Invoice Exchange Rate
131661 , p_source_137 IN NUMBER
131662 --Invoice Exchange Rate Type
131663 , p_source_138 IN VARCHAR2
131664 )
131665 IS
131666
131667 l_component_type VARCHAR2(80);
131668 l_component_code VARCHAR2(30);
131669 l_component_type_code VARCHAR2(1);
131670 l_component_appl_id INTEGER;
131671 l_amb_context_code VARCHAR2(30);
131672 l_entity_code VARCHAR2(30);
131673 l_event_class_code VARCHAR2(30);
131674 l_ae_header_id NUMBER;
131675 l_event_type_code VARCHAR2(30);
131676 l_line_definition_code VARCHAR2(30);
131677 l_line_definition_owner_code VARCHAR2(1);
131678 --
131679 -- adr variables
131680 l_segment VARCHAR2(30);
131681 l_ccid NUMBER;
131682 l_adr_transaction_coa_id NUMBER;
131683 l_adr_accounting_coa_id NUMBER;
131684 l_adr_flexfield_segment_code VARCHAR2(30);
131685 l_adr_flex_value_set_id NUMBER;
131686 l_adr_value_type_code VARCHAR2(30);
131687 l_adr_value_combination_id NUMBER;
131688 l_adr_value_segment_code VARCHAR2(30);
131689
131693 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
131690 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
131691 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
131692 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
131694
131695 -- 4262811 Variables ------------------------------------------------------------------------------------------
131696 l_entered_amt_idx NUMBER;
131697 l_accted_amt_idx NUMBER;
131698 l_acc_rev_flag VARCHAR2(1);
131699 l_accrual_line_num NUMBER;
131700 l_tmp_amt NUMBER;
131701 l_acc_rev_natural_side_code VARCHAR2(1);
131702
131703 l_num_entries NUMBER;
131704 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
131705 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
131706 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
131707 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
131708 l_recog_line_1 NUMBER;
131709 l_recog_line_2 NUMBER;
131710
131711 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
131712 l_bflow_applied_to_amt NUMBER; -- 5132302
131713 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
131714
131715 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
131716
131717 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
131718 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
131719
131720 ---------------------------------------------------------------------------------------------------------------
131721
131722
131723 --
131724 -- bulk performance
131725 --
131726 l_balance_type_code VARCHAR2(1);
131727 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
131728 l_log_module VARCHAR2(240);
131729
131730 --
131731 -- Upgrade strategy
131732 --
131733 l_actual_upg_option VARCHAR2(1);
131734 l_enc_upg_option VARCHAR2(1);
131735
131736 --
131737 BEGIN
131738 --
131739 IF g_log_enabled THEN
131740 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_220';
131741 END IF;
131742 --
131743 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
131744
131745 trace
131746 (p_msg => 'BEGIN of AcctLineType_220'
131747 ,p_level => C_LEVEL_PROCEDURE
131748 ,p_module => l_log_module);
131749
131750 END IF;
131751 --
131752 l_component_type := 'AMB_JLT';
131753 l_component_code := 'AP_RECOV_TAX_CM';
131754 l_component_type_code := 'S';
131755 l_component_appl_id := 200;
131756 l_amb_context_code := 'DEFAULT';
131757 l_entity_code := 'AP_INVOICES';
131758 l_event_class_code := 'CREDIT MEMOS';
131759 l_event_type_code := 'CREDIT MEMOS_ALL';
131760 l_line_definition_owner_code := 'S';
131761 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
131762 --
131763 l_balance_type_code := 'A';
131764 l_segment := NULL;
131765 l_ccid := NULL;
131766 l_adr_transaction_coa_id := NULL;
131767 l_adr_accounting_coa_id := NULL;
131768 l_adr_flexfield_segment_code := NULL;
131769 l_adr_flex_value_set_id := NULL;
131770 l_adr_value_type_code := NULL;
131771 l_adr_value_combination_id := NULL;
131772 l_adr_value_segment_code := NULL;
131773
131774 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
131775 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
131776 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
131777 l_budgetary_control_flag := 'N';
131778
131779 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131780 l_bflow_applied_to_amt := NULL; -- 5132302
131781 l_entered_amt_idx := NULL; -- 4262811
131782 l_accted_amt_idx := NULL; -- 4262811
131783 l_acc_rev_flag := NULL; -- 4262811
131784 l_accrual_line_num := NULL; -- 4262811
131785 l_tmp_amt := NULL; -- 4262811
131786 --
131787
131788 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
131789 l_balance_type_code <> 'B' THEN
131790 IF NVL(p_source_21,'
131791 ') = 'REC_TAX' AND
131792 NVL(p_source_135,'
131793 ') <> 'Y'
131794 THEN
131795
131796 --
131797 XLA_AE_LINES_PKG.SetNewLine;
131798
131799 p_balance_type_code := l_balance_type_code;
131800 -- set the flag so later we will know whether the gain loss line needs to be created
131801
131802 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
131803 p_actual_flag :='A';
131804 END IF;
131805
131806 --
131807 -- bulk performance
131808 --
131809 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
131810 p_header_num => 0); -- 4262811
131811 --
131812 -- set accounting line options
131813 --
131814 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
131815 p_natural_side_code => 'D'
131816 , p_gain_or_loss_flag => 'N'
131817 , p_gl_transfer_mode_code => 'S'
131821 );
131818 , p_acct_entry_type_code => 'A'
131819 , p_switch_side_flag => 'Y'
131820 , p_merge_duplicate_code => 'A'
131822 --
131823 l_acc_rev_natural_side_code := 'C'; -- 4262811
131824 --
131825 --
131826 -- set accounting line type info
131827 --
131828 xla_ae_lines_pkg.SetAcctLineType
131829 (p_component_type => l_component_type
131830 ,p_event_type_code => l_event_type_code
131831 ,p_line_definition_owner_code => l_line_definition_owner_code
131832 ,p_line_definition_code => l_line_definition_code
131833 ,p_accounting_line_code => l_component_code
131834 ,p_accounting_line_type_code => l_component_type_code
131835 ,p_accounting_line_appl_id => l_component_appl_id
131836 ,p_amb_context_code => l_amb_context_code
131837 ,p_entity_code => l_entity_code
131838 ,p_event_class_code => l_event_class_code);
131839 --
131840 -- set accounting class
131841 --
131842 xla_ae_lines_pkg.SetAcctClass(
131843 p_accounting_class_code => 'RTAX'
131844 , p_ae_header_id => l_ae_header_id
131845 );
131846
131847 --
131848 -- set rounding class
131849 --
131850 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
131851 'RTAX';
131852
131853 --
131854 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
131855 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
131856 --
131857 -- bulk performance
131858 --
131859 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
131860
131861 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
131862 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
131863
131864 -- 4955764
131865 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
131866 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
131867
131868 -- 4458381 Public Sector Enh
131869
131870 --
131871 -- set accounting attributes for the line type
131872 --
131873 l_entered_amt_idx := 23;
131874 l_accted_amt_idx := 28;
131875 l_bflow_applied_to_amt_idx := NULL; -- 5132302
131876 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
131877 l_rec_acct_attrs.array_char_value(1) := p_source_41;
131878 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
131879 l_rec_acct_attrs.array_num_value(2) :=
131880 xla_ae_sources_pkg.GetSystemSourceNum(
131881 p_source_code => 'XLA_EVENT_APPL_ID'
131882 , p_source_type_code => 'Y'
131883 , p_source_application_id => 602
131884 );
131885 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
131886 l_rec_acct_attrs.array_char_value(3) := p_source_43;
131887 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
131888 l_rec_acct_attrs.array_char_value(4) :=
131889 xla_ae_sources_pkg.GetSystemSourceChar(
131890 p_source_code => 'XLA_ENTITY_CODE'
131891 , p_source_type_code => 'Y'
131892 , p_source_application_id => 602
131893 );
131894 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
131895 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
131896 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
131897 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
131898 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
131899 l_rec_acct_attrs.array_num_value(7) := p_source_79;
131900 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
131901 l_rec_acct_attrs.array_char_value(8) := p_source_80;
131902 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
131903 l_rec_acct_attrs.array_char_value(9) := p_source_81;
131904 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
131905 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
131906 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
131907 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
131908 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
131909 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
131910 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
131911 l_rec_acct_attrs.array_char_value(13) := p_source_43;
131912 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
131913 l_rec_acct_attrs.array_num_value(14) := p_source_53;
131914 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
131915 l_rec_acct_attrs.array_num_value(15) := p_source_54;
131916 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
131917 l_rec_acct_attrs.array_char_value(16) := p_source_55;
131918 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
131919 l_rec_acct_attrs.array_num_value(17) := p_source_56;
131920 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
131921 l_rec_acct_attrs.array_num_value(18) := p_source_57;
131922 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
131923 l_rec_acct_attrs.array_num_value(19) := p_source_58;
131927 l_rec_acct_attrs.array_num_value(21) := p_source_59;
131924 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
131925 l_rec_acct_attrs.array_char_value(20) := p_source_55;
131926 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
131928 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
131929 l_rec_acct_attrs.array_char_value(22) := p_source_60;
131930 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
131931 l_rec_acct_attrs.array_num_value(23) := p_source_61;
131932 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
131933 l_rec_acct_attrs.array_char_value(24) := p_source_55;
131934 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
131935 l_rec_acct_attrs.array_date_value(25) := p_source_136;
131936 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
131937 l_rec_acct_attrs.array_num_value(26) := p_source_137;
131938 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
131939 l_rec_acct_attrs.array_char_value(27) := p_source_138;
131940 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
131941 l_rec_acct_attrs.array_num_value(28) := p_source_9;
131942 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
131943 l_rec_acct_attrs.array_date_value(29) := p_source_65;
131944 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
131945 l_rec_acct_attrs.array_char_value(30) := p_source_66;
131946 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
131947 l_rec_acct_attrs.array_date_value(31) := p_source_67;
131948 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
131949 l_rec_acct_attrs.array_char_value(32) := p_source_68;
131950 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
131951 l_rec_acct_attrs.array_num_value(33) := p_source_69;
131952 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
131953 l_rec_acct_attrs.array_num_value(34) := p_source_70;
131954 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
131955 l_rec_acct_attrs.array_char_value(35) := p_source_71;
131956 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
131957 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
131958 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
131959 l_rec_acct_attrs.array_char_value(37) := p_source_43;
131960 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
131961 l_rec_acct_attrs.array_num_value(38) := p_source_73;
131962 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
131963 l_rec_acct_attrs.array_num_value(39) := p_source_74;
131964 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
131965 l_rec_acct_attrs.array_num_value(40) := p_source_75;
131966 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
131967 l_rec_acct_attrs.array_num_value(41) := p_source_76;
131968 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
131969 l_rec_acct_attrs.array_num_value(42) := p_source_77;
131970 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
131971 l_rec_acct_attrs.array_num_value(43) := p_source_78;
131972
131973 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
131974 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
131975
131976 ---------------------------------------------------------------------------------------------------------------
131977 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
131978 ---------------------------------------------------------------------------------------------------------------
131979 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
131980
131981 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131982 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
131983
131984 IF xla_accounting_cache_pkg.GetValueChar
131985 (p_source_code => 'LEDGER_CATEGORY_CODE'
131986 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
131987 AND l_bflow_method_code = 'PRIOR_ENTRY'
131988 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
131989 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
131990 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
131991 )
131992 THEN
131993 xla_ae_lines_pkg.BflowUpgEntry
131994 (p_business_method_code => l_bflow_method_code
131995 ,p_business_class_code => l_bflow_class_code
131996 ,p_balance_type => l_balance_type_code);
131997 ELSE
131998 NULL;
131999 -- No business flow processing for business flow method of NONE.
132000 END IF;
132001
132002 --
132003 -- call analytical criteria
132004 --
132005
132006 --
132007 -- call description
132008 --
132009
132010 xla_ae_lines_pkg.SetLineDescription(
132011 p_ae_header_id => l_ae_header_id
132012 ,p_description => Description_2 (
132013 p_application_id => p_application_id
132014 , p_ae_header_id => l_ae_header_id
132015 , p_source_1 => p_source_1
132016 )
132017 );
132018
132019
132020 --
132021 -- call ADRs
132022 -- Bug 4922099
132023 --
132024 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132025 (NVL(l_actual_upg_option, 'N') = 'O') OR
132029 NULL;
132026 (NVL(l_enc_upg_option, 'N') = 'O')
132027 )
132028 THEN
132030 --
132031 --
132032
132033 l_ccid := AcctDerRule_32(
132034 p_application_id => p_application_id
132035 , p_ae_header_id => l_ae_header_id
132036 , p_source_18 => p_source_18
132037 , x_transaction_coa_id => l_adr_transaction_coa_id
132038 , x_accounting_coa_id => l_adr_accounting_coa_id
132039 , x_value_type_code => l_adr_value_type_code
132040 , p_side => 'NA'
132041 );
132042
132043 xla_ae_lines_pkg.set_ccid(
132044 p_code_combination_id => l_ccid
132045 , p_value_type_code => l_adr_value_type_code
132046 , p_transaction_coa_id => l_adr_transaction_coa_id
132047 , p_accounting_coa_id => l_adr_accounting_coa_id
132048 , p_adr_code => 'AP_INVOICE_DIST'
132049 , p_adr_type_code => 'S'
132050 , p_component_type => l_component_type
132051 , p_component_code => l_component_code
132052 , p_component_type_code => l_component_type_code
132053 , p_component_appl_id => l_component_appl_id
132054 , p_amb_context_code => l_amb_context_code
132055 , p_side => 'NA'
132056 );
132057
132058
132059 --
132060 --
132061 END IF;
132062 --
132063 -- Bug 4922099
132064 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
132065 (NVL(l_enc_upg_option, 'N') = 'O')
132066 ) AND
132067 (l_bflow_method_code = 'PRIOR_ENTRY')
132068 )
132069 THEN
132070 IF
132071 --
132072 1 = 2
132073 --
132074 THEN
132075 xla_accounting_err_pkg.build_message
132076 (p_appli_s_name => 'XLA'
132077 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132078 ,p_token_1 => 'LINE_NUMBER'
132079 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
132080 ,p_token_2 => 'LINE_TYPE_NAME'
132081 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
132082 l_component_type
132083 ,l_component_code
132084 ,l_component_type_code
132085 ,l_component_appl_id
132086 ,l_amb_context_code
132087 ,l_entity_code
132088 ,l_event_class_code
132089 )
132090 ,p_token_3 => 'OWNER'
132091 ,p_value_3 => xla_lookups_pkg.get_meaning(
132092 p_lookup_type => 'XLA_OWNER_TYPE'
132093 ,p_lookup_code => l_component_type_code
132094 )
132095 ,p_token_4 => 'PRODUCT_NAME'
132096 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
132097 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
132098 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
132099 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
132100 ,p_ae_header_id => NULL
132101 );
132102
132103 IF (C_LEVEL_ERROR>= g_log_level) THEN
132104 trace
132105 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132106 ,p_level => C_LEVEL_ERROR
132107 ,p_module => l_log_module);
132108 END IF;
132109 END IF;
132110 END IF;
132111 --
132112 --
132113 ------------------------------------------------------------------------------------------------
132114 -- 4219869 Business Flow
132115 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
132116 -- Prior Entry. Currently, the following code is always generated.
132117 ------------------------------------------------------------------------------------------------
132118 XLA_AE_LINES_PKG.ValidateCurrentLine;
132119
132120 ------------------------------------------------------------------------------------
132121 -- 4219869 Business Flow
132122 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
132123 ------------------------------------------------------------------------------------
132124 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132125
132126 ----------------------------------------------------------------------------------
132127 -- 4219869 Business Flow
132131 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
132128 -- Update journal entry status -- Need to generate this within IF <condition>
132129 ----------------------------------------------------------------------------------
132130 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132132 ,p_balance_type_code => l_balance_type_code
132133 );
132134
132135 -------------------------------------------------------------------------------------------
132136 -- 4262811 - Generate the Accrual Reversal lines
132137 -------------------------------------------------------------------------------------------
132138 BEGIN
132139 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
132140 (g_array_event(p_event_id).array_value_num('header_index'));
132141 IF l_acc_rev_flag IS NULL THEN
132142 l_acc_rev_flag := 'N';
132143 END IF;
132144 EXCEPTION
132145 WHEN OTHERS THEN
132146 l_acc_rev_flag := 'N';
132147 END;
132148 --
132149 IF (l_acc_rev_flag = 'Y') THEN
132150
132151 -- 4645092 ------------------------------------------------------------------------------
132152 -- To allow MPA report to determine if it should generate report process
132153 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
132154 ------------------------------------------------------------------------------------------
132155
132156 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
132157 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
132158 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
132159 -- call ADRs
132160 -- Bug 4922099
132161 --
132162 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132163 (NVL(l_actual_upg_option, 'N') = 'O') OR
132164 (NVL(l_enc_upg_option, 'N') = 'O')
132165 )
132166 THEN
132167 NULL;
132168 --
132169 --
132170
132171 l_ccid := AcctDerRule_32(
132172 p_application_id => p_application_id
132173 , p_ae_header_id => l_ae_header_id
132174 , p_source_18 => p_source_18
132175 , x_transaction_coa_id => l_adr_transaction_coa_id
132176 , x_accounting_coa_id => l_adr_accounting_coa_id
132177 , x_value_type_code => l_adr_value_type_code
132178 , p_side => 'NA'
132179 );
132180
132181 xla_ae_lines_pkg.set_ccid(
132182 p_code_combination_id => l_ccid
132183 , p_value_type_code => l_adr_value_type_code
132184 , p_transaction_coa_id => l_adr_transaction_coa_id
132185 , p_accounting_coa_id => l_adr_accounting_coa_id
132186 , p_adr_code => 'AP_INVOICE_DIST'
132187 , p_adr_type_code => 'S'
132188 , p_component_type => l_component_type
132189 , p_component_code => l_component_code
132190 , p_component_type_code => l_component_type_code
132191 , p_component_appl_id => l_component_appl_id
132192 , p_amb_context_code => l_amb_context_code
132193 , p_side => 'NA'
132194 );
132195
132196
132197 --
132198 --
132199 END IF;
132200
132201 --
132202 -- Update the line information that should be overwritten
132203 --
132204 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
132205 p_header_num => 1);
132206 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
132207
132208 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
132209
132210 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
132211 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
132212 END IF;
132213
132214 --
132215 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
132216 --
132217 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
132218 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
132219 ELSE
132220 ---------------------------------------------------------------------------------------------------
132221 -- 4262811a Switch Sign
132222 ---------------------------------------------------------------------------------------------------
132223 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
132224 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132225 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132226 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132227 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132228 -- 5132302
132229 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
132230 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132231
132232 END IF;
132233
132234 -- 4955764
132235 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132239 XLA_AE_LINES_PKG.ValidateCurrentLine;
132236 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
132237
132238
132240 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132241
132242 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132243 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
132244 ,p_balance_type_code => l_balance_type_code);
132245
132246 END IF;
132247
132248 -----------------------------------------------------------------------------------------
132249 -- 4262811 Multiperiod Accounting
132250 -----------------------------------------------------------------------------------------
132251 -- No MPA option is assigned.
132252
132253
132254 END IF;
132255 END IF;
132256 --
132257
132258 --
132259 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132260 trace
132261 (p_msg => 'END of AcctLineType_220'
132262 ,p_level => C_LEVEL_PROCEDURE
132263 ,p_module => l_log_module);
132264 END IF;
132265 --
132266 EXCEPTION
132267 WHEN xla_exceptions_pkg.application_exception THEN
132268 RAISE;
132269 WHEN OTHERS THEN
132270 xla_exceptions_pkg.raise_message
132271 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_220');
132272 END AcctLineType_220;
132273 --
132274
132275 ---------------------------------------
132276 --
132277 -- PRIVATE FUNCTION
132278 -- AcctLineType_221
132279 --
132280 ---------------------------------------
132281 PROCEDURE AcctLineType_221 (
132282 p_application_id IN NUMBER
132283 ,p_event_id IN NUMBER
132284 ,p_calculate_acctd_flag IN VARCHAR2
132285 ,p_calculate_g_l_flag IN VARCHAR2
132286 ,p_actual_flag IN OUT VARCHAR2
132287 ,p_balance_type_code OUT VARCHAR2
132288 ,p_gain_or_loss_ref OUT VARCHAR2
132289
132290 --Invoice Distribution Type
132291 , p_source_21 IN VARCHAR2
132292 , p_source_21_meaning IN VARCHAR2
132293 --Accounting Reversal Indicator
132294 , p_source_41 IN VARCHAR2
132295 --Distribution Link Type
132296 , p_source_43 IN VARCHAR2
132297 --Allocation to Main Distribution Identifier
132298 , p_source_45 IN NUMBER
132299 --Invoice Identifier
132300 , p_source_46 IN NUMBER
132301 --Invoice Distribution Identifier
132302 , p_source_52 IN NUMBER
132303 --Payables Encumbrance Upgrade Credit Account
132304 , p_source_53 IN NUMBER
132305 --Payables Encumbrance Upgrade Credit Amount
132306 , p_source_54 IN NUMBER
132307 --Invoice Currency Code
132308 , p_source_55 IN VARCHAR2
132309 --Payables Encumbrance Upgrade Credit Base Amount
132310 , p_source_56 IN NUMBER
132311 --Payables Encumbrance Upgrade Debit Account
132312 , p_source_57 IN NUMBER
132313 --Payables Encumbrance Upgrade Debit Amount
132314 , p_source_58 IN NUMBER
132315 --Payables Encumbrance Upgrade Debit Base Amount
132316 , p_source_59 IN NUMBER
132317 --Payables Encumbrance Upgrade Option
132318 , p_source_60 IN VARCHAR2
132319 --Deferred Accounting End Date
132320 , p_source_65 IN DATE
132321 --Deferred Accounting Option
132322 , p_source_66 IN VARCHAR2
132323 --Deferred Accounting Start Date
132324 , p_source_67 IN DATE
132325 --Override Accounted Amount Indicator
132326 , p_source_68 IN VARCHAR2
132327 , p_source_68_meaning IN VARCHAR2
132328 --Third Party Type
132329 , p_source_71 IN VARCHAR2
132330 --Parent Reversal Identifier
132331 , p_source_72 IN NUMBER
132332 --Invoice Distribution Statistical Amount
132333 , p_source_73 IN NUMBER
132334 --Invoice Distribution Tax Line Identifier
132335 , p_source_74 IN NUMBER
132336 --Invoice Distribution Tax Distribution Identifier from Tax
132337 , p_source_75 IN NUMBER
132338 --Invoice Distribution Summary Tax Line Identifier
132339 , p_source_76 IN NUMBER
132340 --Payables Upgrade Credit Encumbrance Type Identifier
132341 , p_source_77 IN NUMBER
132342 --Payables Upgrade Debit Encumbrance Type Identifier
132343 , p_source_78 IN NUMBER
132344 --Business Flow Accounts Payable Application Identifier
132345 , p_source_79 IN NUMBER
132346 --Business Flow Invoice Distribution Type
132347 , p_source_80 IN VARCHAR2
132348 --Business Flow Invoice Entity Code
132349 , p_source_81 IN VARCHAR2
132350 --Business Flow Invoice Distribution Identifier
132351 , p_source_82 IN NUMBER
132352 --Business Flow Invoice Identifier
132353 , p_source_83 IN NUMBER
132354 --Purchasing Encumbrance Option
132355 , p_source_86 IN VARCHAR2
132356 , p_source_86_meaning IN VARCHAR2
132357 --Invoice Encumbered Option
132358 , p_source_87 IN VARCHAR2
132359 , p_source_87_meaning IN VARCHAR2
132360 --Self-Assessed Tax Flag
132361 , p_source_135 IN VARCHAR2
132362 , p_source_135_meaning IN VARCHAR2
132363 --Invoice Distribution Encumbrance Amount
132364 , p_source_143 IN NUMBER
132365 --Invoice Distribution Encumbrance Ledger Amount
132366 , p_source_144 IN NUMBER
132367 )
132368 IS
132369
132370 l_component_type VARCHAR2(80);
132371 l_component_code VARCHAR2(30);
132372 l_component_type_code VARCHAR2(1);
132373 l_component_appl_id INTEGER;
132377 l_ae_header_id NUMBER;
132374 l_amb_context_code VARCHAR2(30);
132375 l_entity_code VARCHAR2(30);
132376 l_event_class_code VARCHAR2(30);
132378 l_event_type_code VARCHAR2(30);
132379 l_line_definition_code VARCHAR2(30);
132380 l_line_definition_owner_code VARCHAR2(1);
132381 --
132382 -- adr variables
132383 l_segment VARCHAR2(30);
132384 l_ccid NUMBER;
132385 l_adr_transaction_coa_id NUMBER;
132386 l_adr_accounting_coa_id NUMBER;
132387 l_adr_flexfield_segment_code VARCHAR2(30);
132388 l_adr_flex_value_set_id NUMBER;
132389 l_adr_value_type_code VARCHAR2(30);
132390 l_adr_value_combination_id NUMBER;
132391 l_adr_value_segment_code VARCHAR2(30);
132392
132393 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
132394 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
132395 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
132396 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
132397
132398 -- 4262811 Variables ------------------------------------------------------------------------------------------
132399 l_entered_amt_idx NUMBER;
132400 l_accted_amt_idx NUMBER;
132401 l_acc_rev_flag VARCHAR2(1);
132402 l_accrual_line_num NUMBER;
132403 l_tmp_amt NUMBER;
132404 l_acc_rev_natural_side_code VARCHAR2(1);
132405
132406 l_num_entries NUMBER;
132407 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
132408 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
132409 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
132410 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
132411 l_recog_line_1 NUMBER;
132412 l_recog_line_2 NUMBER;
132413
132414 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
132415 l_bflow_applied_to_amt NUMBER; -- 5132302
132416 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
132417
132418 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
132419
132420 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
132421 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
132422
132423 ---------------------------------------------------------------------------------------------------------------
132424
132425
132426 --
132427 -- bulk performance
132428 --
132429 l_balance_type_code VARCHAR2(1);
132430 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
132431 l_log_module VARCHAR2(240);
132432
132433 --
132434 -- Upgrade strategy
132435 --
132436 l_actual_upg_option VARCHAR2(1);
132437 l_enc_upg_option VARCHAR2(1);
132438
132439 --
132440 BEGIN
132441 --
132442 IF g_log_enabled THEN
132443 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_221';
132444 END IF;
132445 --
132446 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132447
132448 trace
132449 (p_msg => 'BEGIN of AcctLineType_221'
132450 ,p_level => C_LEVEL_PROCEDURE
132451 ,p_module => l_log_module);
132452
132453 END IF;
132454 --
132455 l_component_type := 'AMB_JLT';
132456 l_component_code := 'AP_RECOV_TAX_CM_ENC';
132457 l_component_type_code := 'S';
132458 l_component_appl_id := 200;
132459 l_amb_context_code := 'DEFAULT';
132460 l_entity_code := 'AP_INVOICES';
132461 l_event_class_code := 'CREDIT MEMOS';
132462 l_event_type_code := 'CREDIT MEMOS_ALL';
132463 l_line_definition_owner_code := 'S';
132464 l_line_definition_code := 'ENC_REV_CM_ALL';
132465 --
132466 l_balance_type_code := 'E';
132467 l_segment := NULL;
132468 l_ccid := NULL;
132469 l_adr_transaction_coa_id := NULL;
132470 l_adr_accounting_coa_id := NULL;
132471 l_adr_flexfield_segment_code := NULL;
132472 l_adr_flex_value_set_id := NULL;
132473 l_adr_value_type_code := NULL;
132474 l_adr_value_combination_id := NULL;
132475 l_adr_value_segment_code := NULL;
132476
132477 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
132478 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
132479 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
132480 l_budgetary_control_flag := 'N';
132481
132482 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132483 l_bflow_applied_to_amt := NULL; -- 5132302
132484 l_entered_amt_idx := NULL; -- 4262811
132485 l_accted_amt_idx := NULL; -- 4262811
132486 l_acc_rev_flag := NULL; -- 4262811
132487 l_accrual_line_num := NULL; -- 4262811
132488 l_tmp_amt := NULL; -- 4262811
132489 --
132490
132491 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
132492 l_balance_type_code <> 'B' THEN
132493 IF NVL(p_source_21,'
132494 ') = 'REC_TAX' AND
132495 NVL(p_source_135,'
132496 ') <> 'Y' AND
132497 NVL(p_source_86,'
132498 ') = 'Y' AND
132499 NVL(p_source_87,'
132503 --
132500 ') = 'Y'
132501 THEN
132502
132504 XLA_AE_LINES_PKG.SetNewLine;
132505
132506 p_balance_type_code := l_balance_type_code;
132507 -- set the flag so later we will know whether the gain loss line needs to be created
132508
132509 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
132510 p_actual_flag :='A';
132511 END IF;
132512
132513 --
132514 -- bulk performance
132515 --
132516 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
132517 p_header_num => 0); -- 4262811
132518 --
132519 -- set accounting line options
132520 --
132521 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
132522 p_natural_side_code => 'C'
132523 , p_gain_or_loss_flag => 'N'
132524 , p_gl_transfer_mode_code => 'S'
132525 , p_acct_entry_type_code => 'E'
132526 , p_switch_side_flag => 'Y'
132527 , p_merge_duplicate_code => 'A'
132528 );
132529 --
132530 l_acc_rev_natural_side_code := 'D'; -- 4262811
132531 --
132532 --
132533 -- set accounting line type info
132534 --
132535 xla_ae_lines_pkg.SetAcctLineType
132536 (p_component_type => l_component_type
132537 ,p_event_type_code => l_event_type_code
132538 ,p_line_definition_owner_code => l_line_definition_owner_code
132539 ,p_line_definition_code => l_line_definition_code
132540 ,p_accounting_line_code => l_component_code
132541 ,p_accounting_line_type_code => l_component_type_code
132542 ,p_accounting_line_appl_id => l_component_appl_id
132543 ,p_amb_context_code => l_amb_context_code
132544 ,p_entity_code => l_entity_code
132545 ,p_event_class_code => l_event_class_code);
132546 --
132547 -- set accounting class
132548 --
132549 xla_ae_lines_pkg.SetAcctClass(
132550 p_accounting_class_code => 'RTAX'
132551 , p_ae_header_id => l_ae_header_id
132552 );
132553
132554 --
132555 -- set rounding class
132556 --
132557 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
132558 'RTAX';
132559
132560 --
132561 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
132562 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
132563 --
132564 -- bulk performance
132565 --
132566 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
132567
132568 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
132569 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
132570
132571 -- 4955764
132572 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132573 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
132574
132575 -- 4458381 Public Sector Enh
132576
132577 --
132578 -- set accounting attributes for the line type
132579 --
132580 l_entered_amt_idx := 23;
132581 l_accted_amt_idx := 25;
132582 l_bflow_applied_to_amt_idx := NULL; -- 5132302
132583 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
132584 l_rec_acct_attrs.array_char_value(1) := p_source_41;
132585 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
132586 l_rec_acct_attrs.array_num_value(2) :=
132587 xla_ae_sources_pkg.GetSystemSourceNum(
132588 p_source_code => 'XLA_EVENT_APPL_ID'
132589 , p_source_type_code => 'Y'
132590 , p_source_application_id => 602
132591 );
132592 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
132593 l_rec_acct_attrs.array_char_value(3) := p_source_43;
132594 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
132595 l_rec_acct_attrs.array_char_value(4) :=
132596 xla_ae_sources_pkg.GetSystemSourceChar(
132597 p_source_code => 'XLA_ENTITY_CODE'
132598 , p_source_type_code => 'Y'
132599 , p_source_application_id => 602
132600 );
132601 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
132602 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
132603 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
132604 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
132605 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
132606 l_rec_acct_attrs.array_num_value(7) := p_source_79;
132607 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
132608 l_rec_acct_attrs.array_char_value(8) := p_source_80;
132609 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
132610 l_rec_acct_attrs.array_char_value(9) := p_source_81;
132611 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
132612 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
132613 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
132614 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
132615 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
132616 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
132620 l_rec_acct_attrs.array_num_value(14) := p_source_53;
132617 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
132618 l_rec_acct_attrs.array_char_value(13) := p_source_43;
132619 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
132621 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
132622 l_rec_acct_attrs.array_num_value(15) := p_source_54;
132623 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
132624 l_rec_acct_attrs.array_char_value(16) := p_source_55;
132625 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
132626 l_rec_acct_attrs.array_num_value(17) := p_source_56;
132627 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
132628 l_rec_acct_attrs.array_num_value(18) := p_source_57;
132629 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
132630 l_rec_acct_attrs.array_num_value(19) := p_source_58;
132631 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
132632 l_rec_acct_attrs.array_char_value(20) := p_source_55;
132633 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
132634 l_rec_acct_attrs.array_num_value(21) := p_source_59;
132635 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
132636 l_rec_acct_attrs.array_char_value(22) := p_source_60;
132637 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
132638 l_rec_acct_attrs.array_num_value(23) := p_source_143;
132639 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
132640 l_rec_acct_attrs.array_char_value(24) := p_source_55;
132641 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
132642 l_rec_acct_attrs.array_num_value(25) := p_source_144;
132643 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
132644 l_rec_acct_attrs.array_date_value(26) := p_source_65;
132645 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
132646 l_rec_acct_attrs.array_char_value(27) := p_source_66;
132647 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
132648 l_rec_acct_attrs.array_date_value(28) := p_source_67;
132649 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
132650 l_rec_acct_attrs.array_char_value(29) := p_source_68;
132651 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
132652 l_rec_acct_attrs.array_char_value(30) := p_source_71;
132653 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
132654 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
132655 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
132656 l_rec_acct_attrs.array_char_value(32) := p_source_43;
132657 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
132658 l_rec_acct_attrs.array_num_value(33) := p_source_73;
132659 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
132660 l_rec_acct_attrs.array_num_value(34) := p_source_74;
132661 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
132662 l_rec_acct_attrs.array_num_value(35) := p_source_75;
132663 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
132664 l_rec_acct_attrs.array_num_value(36) := p_source_76;
132665 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
132666 l_rec_acct_attrs.array_num_value(37) := p_source_77;
132667 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
132668 l_rec_acct_attrs.array_num_value(38) := p_source_78;
132669
132670 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
132671 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
132672
132673 ---------------------------------------------------------------------------------------------------------------
132674 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
132675 ---------------------------------------------------------------------------------------------------------------
132676 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
132677
132678 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132679 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
132680
132681 IF xla_accounting_cache_pkg.GetValueChar
132682 (p_source_code => 'LEDGER_CATEGORY_CODE'
132683 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
132684 AND l_bflow_method_code = 'PRIOR_ENTRY'
132685 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
132686 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
132687 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
132688 )
132689 THEN
132690 xla_ae_lines_pkg.BflowUpgEntry
132691 (p_business_method_code => l_bflow_method_code
132692 ,p_business_class_code => l_bflow_class_code
132693 ,p_balance_type => l_balance_type_code);
132694 ELSE
132695 NULL;
132696 XLA_AE_LINES_PKG.business_flow_validation(
132697 p_business_method_code => l_bflow_method_code
132698 ,p_business_class_code => l_bflow_class_code
132699 ,p_inherit_description_flag => l_inherit_desc_flag);
132700 END IF;
132701
132702 --
132703 -- call analytical criteria
132704 --
132705 -- Inherited Analytical Criteria for business flow method of Prior Entry.
132706 --
132707 -- call description
132711 -- call ADRs
132708 --
132709 -- No description or it is inherited.
132710 --
132712 -- Bug 4922099
132713 --
132714 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132715 (NVL(l_actual_upg_option, 'N') = 'O') OR
132716 (NVL(l_enc_upg_option, 'N') = 'O')
132717 )
132718 THEN
132719 NULL;
132720 --
132721 --
132722
132723 --
132724 --
132725 END IF;
132726 --
132727 -- Bug 4922099
132728 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
132729 (NVL(l_enc_upg_option, 'N') = 'O')
132730 ) AND
132731 (l_bflow_method_code = 'PRIOR_ENTRY')
132732 )
132733 THEN
132734 IF
132735 --
132736 1 = 1
132737 --
132738 THEN
132739 xla_accounting_err_pkg.build_message
132740 (p_appli_s_name => 'XLA'
132741 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132742 ,p_token_1 => 'LINE_NUMBER'
132743 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
132744 ,p_token_2 => 'LINE_TYPE_NAME'
132745 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
132746 l_component_type
132747 ,l_component_code
132748 ,l_component_type_code
132749 ,l_component_appl_id
132750 ,l_amb_context_code
132751 ,l_entity_code
132752 ,l_event_class_code
132753 )
132754 ,p_token_3 => 'OWNER'
132755 ,p_value_3 => xla_lookups_pkg.get_meaning(
132756 p_lookup_type => 'XLA_OWNER_TYPE'
132757 ,p_lookup_code => l_component_type_code
132758 )
132759 ,p_token_4 => 'PRODUCT_NAME'
132760 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
132761 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
132762 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
132763 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
132764 ,p_ae_header_id => NULL
132765 );
132766
132767 IF (C_LEVEL_ERROR>= g_log_level) THEN
132768 trace
132769 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
132770 ,p_level => C_LEVEL_ERROR
132771 ,p_module => l_log_module);
132772 END IF;
132773 END IF;
132774 END IF;
132775 --
132776 --
132777 ------------------------------------------------------------------------------------------------
132778 -- 4219869 Business Flow
132779 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
132780 -- Prior Entry. Currently, the following code is always generated.
132781 ------------------------------------------------------------------------------------------------
132782 -- No ValidateCurrentLine for business flow method of Prior Entry
132783
132784 ------------------------------------------------------------------------------------
132785 -- 4219869 Business Flow
132786 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
132787 ------------------------------------------------------------------------------------
132788 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132789
132790 ----------------------------------------------------------------------------------
132791 -- 4219869 Business Flow
132792 -- Update journal entry status -- Need to generate this within IF <condition>
132793 ----------------------------------------------------------------------------------
132794 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132795 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
132796 ,p_balance_type_code => l_balance_type_code
132797 );
132798
132799 -------------------------------------------------------------------------------------------
132800 -- 4262811 - Generate the Accrual Reversal lines
132801 -------------------------------------------------------------------------------------------
132802 BEGIN
132803 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
132804 (g_array_event(p_event_id).array_value_num('header_index'));
132805 IF l_acc_rev_flag IS NULL THEN
132806 l_acc_rev_flag := 'N';
132807 END IF;
132808 EXCEPTION
132809 WHEN OTHERS THEN
132810 l_acc_rev_flag := 'N';
132811 END;
132812 --
132816 -- To allow MPA report to determine if it should generate report process
132813 IF (l_acc_rev_flag = 'Y') THEN
132814
132815 -- 4645092 ------------------------------------------------------------------------------
132817 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
132818 ------------------------------------------------------------------------------------------
132819
132820 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
132821 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
132822 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
132823 -- call ADRs
132824 -- Bug 4922099
132825 --
132826 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
132827 (NVL(l_actual_upg_option, 'N') = 'O') OR
132828 (NVL(l_enc_upg_option, 'N') = 'O')
132829 )
132830 THEN
132831 NULL;
132832 --
132833 --
132834
132835 --
132836 --
132837 END IF;
132838
132839 --
132840 -- Update the line information that should be overwritten
132841 --
132842 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
132843 p_header_num => 1);
132844 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
132845
132846 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
132847
132848 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
132849 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
132850 END IF;
132851
132852 --
132853 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
132854 --
132855 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
132856 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
132857 ELSE
132858 ---------------------------------------------------------------------------------------------------
132859 -- 4262811a Switch Sign
132860 ---------------------------------------------------------------------------------------------------
132861 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
132862 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132863 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132864 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
132865 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132866 -- 5132302
132867 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
132868 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
132869
132870 END IF;
132871
132872 -- 4955764
132873 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
132874 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
132875
132876
132877 XLA_AE_LINES_PKG.ValidateCurrentLine;
132878 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
132879
132880 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
132881 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
132882 ,p_balance_type_code => l_balance_type_code);
132883
132884 END IF;
132885
132886 -----------------------------------------------------------------------------------------
132887 -- 4262811 Multiperiod Accounting
132888 -----------------------------------------------------------------------------------------
132889 -- No MPA option is assigned.
132890
132891
132892 END IF;
132893 END IF;
132894 --
132895
132896 --
132897 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
132898 trace
132899 (p_msg => 'END of AcctLineType_221'
132900 ,p_level => C_LEVEL_PROCEDURE
132901 ,p_module => l_log_module);
132902 END IF;
132903 --
132904 EXCEPTION
132905 WHEN xla_exceptions_pkg.application_exception THEN
132906 RAISE;
132907 WHEN OTHERS THEN
132908 xla_exceptions_pkg.raise_message
132909 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_221');
132910 END AcctLineType_221;
132911 --
132912
132913 ---------------------------------------
132914 --
132915 -- PRIVATE FUNCTION
132916 -- AcctLineType_222
132917 --
132918 ---------------------------------------
132919 PROCEDURE AcctLineType_222 (
132920 p_application_id IN NUMBER
132921 ,p_event_id IN NUMBER
132922 ,p_calculate_acctd_flag IN VARCHAR2
132923 ,p_calculate_g_l_flag IN VARCHAR2
132924 ,p_actual_flag IN OUT VARCHAR2
132925 ,p_balance_type_code OUT VARCHAR2
132926 ,p_gain_or_loss_ref OUT VARCHAR2
132927
132928 --Invoice Distribution Description
132929 , p_source_1 IN VARCHAR2
132930 --Invoice Distribution Ledger Amount
132931 , p_source_9 IN NUMBER
132932 --Invoice Distribution Account
132933 , p_source_18 IN NUMBER
132934 --Invoice Distribution Type
132935 , p_source_21 IN VARCHAR2
132939 --Distribution Link Type
132936 , p_source_21_meaning IN VARCHAR2
132937 --Accounting Reversal Indicator
132938 , p_source_41 IN VARCHAR2
132940 , p_source_43 IN VARCHAR2
132941 --Allocation to Main Distribution Identifier
132942 , p_source_45 IN NUMBER
132943 --Invoice Identifier
132944 , p_source_46 IN NUMBER
132945 --Invoice Distribution Identifier
132946 , p_source_52 IN NUMBER
132947 --Payables Encumbrance Upgrade Credit Account
132948 , p_source_53 IN NUMBER
132949 --Payables Encumbrance Upgrade Credit Amount
132950 , p_source_54 IN NUMBER
132951 --Invoice Currency Code
132952 , p_source_55 IN VARCHAR2
132953 --Payables Encumbrance Upgrade Credit Base Amount
132954 , p_source_56 IN NUMBER
132955 --Payables Encumbrance Upgrade Debit Account
132956 , p_source_57 IN NUMBER
132957 --Payables Encumbrance Upgrade Debit Amount
132958 , p_source_58 IN NUMBER
132959 --Payables Encumbrance Upgrade Debit Base Amount
132960 , p_source_59 IN NUMBER
132961 --Payables Encumbrance Upgrade Option
132962 , p_source_60 IN VARCHAR2
132963 --Invoice Distribution Amount
132964 , p_source_61 IN NUMBER
132965 --Deferred Accounting End Date
132966 , p_source_65 IN DATE
132967 --Deferred Accounting Option
132968 , p_source_66 IN VARCHAR2
132969 --Deferred Accounting Start Date
132970 , p_source_67 IN DATE
132971 --Override Accounted Amount Indicator
132972 , p_source_68 IN VARCHAR2
132973 , p_source_68_meaning IN VARCHAR2
132974 --Invoice Supplier Identifier
132975 , p_source_69 IN NUMBER
132976 --Invoice Supplier Site Identifier
132977 , p_source_70 IN NUMBER
132978 --Third Party Type
132979 , p_source_71 IN VARCHAR2
132980 --Parent Reversal Identifier
132981 , p_source_72 IN NUMBER
132982 --Invoice Distribution Tax Line Identifier
132983 , p_source_74 IN NUMBER
132984 --Invoice Distribution Tax Distribution Identifier from Tax
132985 , p_source_75 IN NUMBER
132986 --Invoice Distribution Summary Tax Line Identifier
132987 , p_source_76 IN NUMBER
132988 --Payables Upgrade Credit Encumbrance Type Identifier
132989 , p_source_77 IN NUMBER
132990 --Payables Upgrade Debit Encumbrance Type Identifier
132991 , p_source_78 IN NUMBER
132992 --Business Flow Accounts Payable Application Identifier
132993 , p_source_79 IN NUMBER
132994 --Business Flow Invoice Distribution Type
132995 , p_source_80 IN VARCHAR2
132996 --Business Flow Invoice Entity Code
132997 , p_source_81 IN VARCHAR2
132998 --Business Flow Invoice Distribution Identifier
132999 , p_source_82 IN NUMBER
133000 --Business Flow Invoice Identifier
133001 , p_source_83 IN NUMBER
133002 --Self-Assessed Tax Flag
133003 , p_source_135 IN VARCHAR2
133004 , p_source_135_meaning IN VARCHAR2
133005 --Invoice Exchange Date
133006 , p_source_136 IN DATE
133007 --Invoice Exchange Rate
133008 , p_source_137 IN NUMBER
133009 --Invoice Exchange Rate Type
133010 , p_source_138 IN VARCHAR2
133011 )
133012 IS
133013
133014 l_component_type VARCHAR2(80);
133015 l_component_code VARCHAR2(30);
133016 l_component_type_code VARCHAR2(1);
133017 l_component_appl_id INTEGER;
133018 l_amb_context_code VARCHAR2(30);
133019 l_entity_code VARCHAR2(30);
133020 l_event_class_code VARCHAR2(30);
133021 l_ae_header_id NUMBER;
133022 l_event_type_code VARCHAR2(30);
133023 l_line_definition_code VARCHAR2(30);
133024 l_line_definition_owner_code VARCHAR2(1);
133025 --
133026 -- adr variables
133027 l_segment VARCHAR2(30);
133028 l_ccid NUMBER;
133029 l_adr_transaction_coa_id NUMBER;
133030 l_adr_accounting_coa_id NUMBER;
133031 l_adr_flexfield_segment_code VARCHAR2(30);
133032 l_adr_flex_value_set_id NUMBER;
133033 l_adr_value_type_code VARCHAR2(30);
133034 l_adr_value_combination_id NUMBER;
133035 l_adr_value_segment_code VARCHAR2(30);
133036
133037 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
133038 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
133039 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
133040 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
133041
133042 -- 4262811 Variables ------------------------------------------------------------------------------------------
133043 l_entered_amt_idx NUMBER;
133044 l_accted_amt_idx NUMBER;
133045 l_acc_rev_flag VARCHAR2(1);
133046 l_accrual_line_num NUMBER;
133047 l_tmp_amt NUMBER;
133048 l_acc_rev_natural_side_code VARCHAR2(1);
133049
133050 l_num_entries NUMBER;
133051 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
133052 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
133053 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
133054 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
133055 l_recog_line_1 NUMBER;
133056 l_recog_line_2 NUMBER;
133057
133058 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
133059 l_bflow_applied_to_amt NUMBER; -- 5132302
133063
133060 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
133061
133062 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
133064 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
133065 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
133066
133067 ---------------------------------------------------------------------------------------------------------------
133068
133069
133070 --
133071 -- bulk performance
133072 --
133073 l_balance_type_code VARCHAR2(1);
133074 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
133075 l_log_module VARCHAR2(240);
133076
133077 --
133078 -- Upgrade strategy
133079 --
133080 l_actual_upg_option VARCHAR2(1);
133081 l_enc_upg_option VARCHAR2(1);
133082
133083 --
133084 BEGIN
133085 --
133086 IF g_log_enabled THEN
133087 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_222';
133088 END IF;
133089 --
133090 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133091
133092 trace
133093 (p_msg => 'BEGIN of AcctLineType_222'
133094 ,p_level => C_LEVEL_PROCEDURE
133095 ,p_module => l_log_module);
133096
133097 END IF;
133098 --
133099 l_component_type := 'AMB_JLT';
133100 l_component_code := 'AP_RECOV_TAX_DM';
133101 l_component_type_code := 'S';
133102 l_component_appl_id := 200;
133103 l_amb_context_code := 'DEFAULT';
133104 l_entity_code := 'AP_INVOICES';
133105 l_event_class_code := 'DEBIT MEMOS';
133106 l_event_type_code := 'DEBIT MEMOS_ALL';
133107 l_line_definition_owner_code := 'S';
133108 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
133109 --
133110 l_balance_type_code := 'A';
133111 l_segment := NULL;
133112 l_ccid := NULL;
133113 l_adr_transaction_coa_id := NULL;
133114 l_adr_accounting_coa_id := NULL;
133115 l_adr_flexfield_segment_code := NULL;
133116 l_adr_flex_value_set_id := NULL;
133117 l_adr_value_type_code := NULL;
133118 l_adr_value_combination_id := NULL;
133119 l_adr_value_segment_code := NULL;
133120
133121 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
133122 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
133123 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133124 l_budgetary_control_flag := 'N';
133125
133126 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133127 l_bflow_applied_to_amt := NULL; -- 5132302
133128 l_entered_amt_idx := NULL; -- 4262811
133129 l_accted_amt_idx := NULL; -- 4262811
133130 l_acc_rev_flag := NULL; -- 4262811
133131 l_accrual_line_num := NULL; -- 4262811
133132 l_tmp_amt := NULL; -- 4262811
133133 --
133134
133135 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133136 l_balance_type_code <> 'B' THEN
133137 IF NVL(p_source_21,'
133138 ') = 'REC_TAX' AND
133139 NVL(p_source_135,'
133140 ') <> 'Y'
133141 THEN
133142
133143 --
133144 XLA_AE_LINES_PKG.SetNewLine;
133145
133146 p_balance_type_code := l_balance_type_code;
133147 -- set the flag so later we will know whether the gain loss line needs to be created
133148
133149 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
133150 p_actual_flag :='A';
133151 END IF;
133152
133153 --
133154 -- bulk performance
133155 --
133156 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133157 p_header_num => 0); -- 4262811
133158 --
133159 -- set accounting line options
133160 --
133161 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133162 p_natural_side_code => 'D'
133163 , p_gain_or_loss_flag => 'N'
133164 , p_gl_transfer_mode_code => 'S'
133165 , p_acct_entry_type_code => 'A'
133166 , p_switch_side_flag => 'Y'
133167 , p_merge_duplicate_code => 'A'
133168 );
133169 --
133170 l_acc_rev_natural_side_code := 'C'; -- 4262811
133171 --
133172 --
133173 -- set accounting line type info
133174 --
133175 xla_ae_lines_pkg.SetAcctLineType
133176 (p_component_type => l_component_type
133177 ,p_event_type_code => l_event_type_code
133178 ,p_line_definition_owner_code => l_line_definition_owner_code
133179 ,p_line_definition_code => l_line_definition_code
133180 ,p_accounting_line_code => l_component_code
133181 ,p_accounting_line_type_code => l_component_type_code
133182 ,p_accounting_line_appl_id => l_component_appl_id
133183 ,p_amb_context_code => l_amb_context_code
133184 ,p_entity_code => l_entity_code
133185 ,p_event_class_code => l_event_class_code);
133186 --
133187 -- set accounting class
133188 --
133189 xla_ae_lines_pkg.SetAcctClass(
133190 p_accounting_class_code => 'RTAX'
133191 , p_ae_header_id => l_ae_header_id
133192 );
133193
133194 --
133198 'RTAX';
133195 -- set rounding class
133196 --
133197 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
133199
133200 --
133201 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
133202 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
133203 --
133204 -- bulk performance
133205 --
133206 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
133207
133208 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
133209 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
133210
133211 -- 4955764
133212 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133213 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
133214
133215 -- 4458381 Public Sector Enh
133216
133217 --
133218 -- set accounting attributes for the line type
133219 --
133220 l_entered_amt_idx := 23;
133221 l_accted_amt_idx := 28;
133222 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133223 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
133224 l_rec_acct_attrs.array_char_value(1) := p_source_41;
133225 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
133226 l_rec_acct_attrs.array_num_value(2) :=
133227 xla_ae_sources_pkg.GetSystemSourceNum(
133228 p_source_code => 'XLA_EVENT_APPL_ID'
133229 , p_source_type_code => 'Y'
133230 , p_source_application_id => 602
133231 );
133232 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
133233 l_rec_acct_attrs.array_char_value(3) := p_source_43;
133234 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
133235 l_rec_acct_attrs.array_char_value(4) :=
133236 xla_ae_sources_pkg.GetSystemSourceChar(
133237 p_source_code => 'XLA_ENTITY_CODE'
133238 , p_source_type_code => 'Y'
133239 , p_source_application_id => 602
133240 );
133241 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
133242 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
133243 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
133244 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
133245 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
133246 l_rec_acct_attrs.array_num_value(7) := p_source_79;
133247 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
133248 l_rec_acct_attrs.array_char_value(8) := p_source_80;
133249 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
133250 l_rec_acct_attrs.array_char_value(9) := p_source_81;
133251 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
133252 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
133253 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
133254 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
133255 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
133256 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
133257 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
133258 l_rec_acct_attrs.array_char_value(13) := p_source_43;
133259 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
133260 l_rec_acct_attrs.array_num_value(14) := p_source_53;
133261 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
133262 l_rec_acct_attrs.array_num_value(15) := p_source_54;
133263 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
133264 l_rec_acct_attrs.array_char_value(16) := p_source_55;
133265 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
133266 l_rec_acct_attrs.array_num_value(17) := p_source_56;
133267 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
133268 l_rec_acct_attrs.array_num_value(18) := p_source_57;
133269 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
133270 l_rec_acct_attrs.array_num_value(19) := p_source_58;
133271 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
133272 l_rec_acct_attrs.array_char_value(20) := p_source_55;
133273 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
133274 l_rec_acct_attrs.array_num_value(21) := p_source_59;
133275 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
133276 l_rec_acct_attrs.array_char_value(22) := p_source_60;
133277 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
133278 l_rec_acct_attrs.array_num_value(23) := p_source_61;
133279 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
133280 l_rec_acct_attrs.array_char_value(24) := p_source_55;
133281 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
133282 l_rec_acct_attrs.array_date_value(25) := p_source_136;
133283 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
133284 l_rec_acct_attrs.array_num_value(26) := p_source_137;
133285 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
133286 l_rec_acct_attrs.array_char_value(27) := p_source_138;
133287 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
133288 l_rec_acct_attrs.array_num_value(28) := p_source_9;
133289 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
133290 l_rec_acct_attrs.array_date_value(29) := p_source_65;
133294 l_rec_acct_attrs.array_date_value(31) := p_source_67;
133291 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
133292 l_rec_acct_attrs.array_char_value(30) := p_source_66;
133293 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
133295 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
133296 l_rec_acct_attrs.array_char_value(32) := p_source_68;
133297 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
133298 l_rec_acct_attrs.array_num_value(33) := p_source_69;
133299 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
133300 l_rec_acct_attrs.array_num_value(34) := p_source_70;
133301 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
133302 l_rec_acct_attrs.array_char_value(35) := p_source_71;
133303 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
133304 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
133305 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
133306 l_rec_acct_attrs.array_char_value(37) := p_source_43;
133307 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
133308 l_rec_acct_attrs.array_num_value(38) := p_source_74;
133309 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
133310 l_rec_acct_attrs.array_num_value(39) := p_source_75;
133311 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
133312 l_rec_acct_attrs.array_num_value(40) := p_source_76;
133313 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
133314 l_rec_acct_attrs.array_num_value(41) := p_source_77;
133315 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
133316 l_rec_acct_attrs.array_num_value(42) := p_source_78;
133317
133318 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
133319 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
133320
133321 ---------------------------------------------------------------------------------------------------------------
133322 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
133323 ---------------------------------------------------------------------------------------------------------------
133324 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
133325
133326 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133327 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
133328
133329 IF xla_accounting_cache_pkg.GetValueChar
133330 (p_source_code => 'LEDGER_CATEGORY_CODE'
133331 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
133332 AND l_bflow_method_code = 'PRIOR_ENTRY'
133333 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
133334 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
133335 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
133336 )
133337 THEN
133338 xla_ae_lines_pkg.BflowUpgEntry
133339 (p_business_method_code => l_bflow_method_code
133340 ,p_business_class_code => l_bflow_class_code
133341 ,p_balance_type => l_balance_type_code);
133342 ELSE
133343 NULL;
133344 -- No business flow processing for business flow method of NONE.
133345 END IF;
133346
133347 --
133348 -- call analytical criteria
133349 --
133350
133351 --
133352 -- call description
133353 --
133354
133355 xla_ae_lines_pkg.SetLineDescription(
133356 p_ae_header_id => l_ae_header_id
133357 ,p_description => Description_2 (
133358 p_application_id => p_application_id
133359 , p_ae_header_id => l_ae_header_id
133360 , p_source_1 => p_source_1
133361 )
133362 );
133363
133364
133365 --
133366 -- call ADRs
133367 -- Bug 4922099
133368 --
133369 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133370 (NVL(l_actual_upg_option, 'N') = 'O') OR
133371 (NVL(l_enc_upg_option, 'N') = 'O')
133372 )
133373 THEN
133374 NULL;
133375 --
133376 --
133377
133378 l_ccid := AcctDerRule_32(
133379 p_application_id => p_application_id
133380 , p_ae_header_id => l_ae_header_id
133381 , p_source_18 => p_source_18
133382 , x_transaction_coa_id => l_adr_transaction_coa_id
133383 , x_accounting_coa_id => l_adr_accounting_coa_id
133384 , x_value_type_code => l_adr_value_type_code
133385 , p_side => 'NA'
133386 );
133387
133388 xla_ae_lines_pkg.set_ccid(
133389 p_code_combination_id => l_ccid
133390 , p_value_type_code => l_adr_value_type_code
133391 , p_transaction_coa_id => l_adr_transaction_coa_id
133392 , p_accounting_coa_id => l_adr_accounting_coa_id
133393 , p_adr_code => 'AP_INVOICE_DIST'
133394 , p_adr_type_code => 'S'
133395 , p_component_type => l_component_type
133396 , p_component_code => l_component_code
133397 , p_component_type_code => l_component_type_code
133398 , p_component_appl_id => l_component_appl_id
133399 , p_amb_context_code => l_amb_context_code
133400 , p_side => 'NA'
133401 );
133402
133403
133404 --
133405 --
133406 END IF;
133410 (NVL(l_enc_upg_option, 'N') = 'O')
133407 --
133408 -- Bug 4922099
133409 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
133411 ) AND
133412 (l_bflow_method_code = 'PRIOR_ENTRY')
133413 )
133414 THEN
133415 IF
133416 --
133417 1 = 2
133418 --
133419 THEN
133420 xla_accounting_err_pkg.build_message
133421 (p_appli_s_name => 'XLA'
133422 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133423 ,p_token_1 => 'LINE_NUMBER'
133424 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
133425 ,p_token_2 => 'LINE_TYPE_NAME'
133426 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
133427 l_component_type
133428 ,l_component_code
133429 ,l_component_type_code
133430 ,l_component_appl_id
133431 ,l_amb_context_code
133432 ,l_entity_code
133433 ,l_event_class_code
133434 )
133435 ,p_token_3 => 'OWNER'
133436 ,p_value_3 => xla_lookups_pkg.get_meaning(
133437 p_lookup_type => 'XLA_OWNER_TYPE'
133438 ,p_lookup_code => l_component_type_code
133439 )
133440 ,p_token_4 => 'PRODUCT_NAME'
133441 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
133442 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
133443 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
133444 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
133445 ,p_ae_header_id => NULL
133446 );
133447
133448 IF (C_LEVEL_ERROR>= g_log_level) THEN
133449 trace
133450 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
133451 ,p_level => C_LEVEL_ERROR
133452 ,p_module => l_log_module);
133453 END IF;
133454 END IF;
133455 END IF;
133456 --
133457 --
133458 ------------------------------------------------------------------------------------------------
133459 -- 4219869 Business Flow
133460 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
133461 -- Prior Entry. Currently, the following code is always generated.
133462 ------------------------------------------------------------------------------------------------
133463 XLA_AE_LINES_PKG.ValidateCurrentLine;
133464
133465 ------------------------------------------------------------------------------------
133466 -- 4219869 Business Flow
133467 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
133468 ------------------------------------------------------------------------------------
133469 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133470
133471 ----------------------------------------------------------------------------------
133472 -- 4219869 Business Flow
133473 -- Update journal entry status -- Need to generate this within IF <condition>
133474 ----------------------------------------------------------------------------------
133475 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133476 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
133477 ,p_balance_type_code => l_balance_type_code
133478 );
133479
133480 -------------------------------------------------------------------------------------------
133481 -- 4262811 - Generate the Accrual Reversal lines
133482 -------------------------------------------------------------------------------------------
133483 BEGIN
133484 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
133485 (g_array_event(p_event_id).array_value_num('header_index'));
133486 IF l_acc_rev_flag IS NULL THEN
133487 l_acc_rev_flag := 'N';
133488 END IF;
133489 EXCEPTION
133490 WHEN OTHERS THEN
133491 l_acc_rev_flag := 'N';
133492 END;
133493 --
133494 IF (l_acc_rev_flag = 'Y') THEN
133495
133496 -- 4645092 ------------------------------------------------------------------------------
133497 -- To allow MPA report to determine if it should generate report process
133498 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
133499 ------------------------------------------------------------------------------------------
133500
133501 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
133505 -- Bug 4922099
133502 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
133503 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
133504 -- call ADRs
133506 --
133507 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
133508 (NVL(l_actual_upg_option, 'N') = 'O') OR
133509 (NVL(l_enc_upg_option, 'N') = 'O')
133510 )
133511 THEN
133512 NULL;
133513 --
133514 --
133515
133516 l_ccid := AcctDerRule_32(
133517 p_application_id => p_application_id
133518 , p_ae_header_id => l_ae_header_id
133519 , p_source_18 => p_source_18
133520 , x_transaction_coa_id => l_adr_transaction_coa_id
133521 , x_accounting_coa_id => l_adr_accounting_coa_id
133522 , x_value_type_code => l_adr_value_type_code
133523 , p_side => 'NA'
133524 );
133525
133526 xla_ae_lines_pkg.set_ccid(
133527 p_code_combination_id => l_ccid
133528 , p_value_type_code => l_adr_value_type_code
133529 , p_transaction_coa_id => l_adr_transaction_coa_id
133530 , p_accounting_coa_id => l_adr_accounting_coa_id
133531 , p_adr_code => 'AP_INVOICE_DIST'
133532 , p_adr_type_code => 'S'
133533 , p_component_type => l_component_type
133534 , p_component_code => l_component_code
133535 , p_component_type_code => l_component_type_code
133536 , p_component_appl_id => l_component_appl_id
133537 , p_amb_context_code => l_amb_context_code
133538 , p_side => 'NA'
133539 );
133540
133541
133542 --
133543 --
133544 END IF;
133545
133546 --
133547 -- Update the line information that should be overwritten
133548 --
133549 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
133550 p_header_num => 1);
133551 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
133552
133553 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
133554
133555 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
133556 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
133557 END IF;
133558
133559 --
133560 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
133561 --
133562 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
133563 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
133564 ELSE
133565 ---------------------------------------------------------------------------------------------------
133566 -- 4262811a Switch Sign
133567 ---------------------------------------------------------------------------------------------------
133568 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
133569 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133570 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133571 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
133572 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133573 -- 5132302
133574 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
133575 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
133576
133577 END IF;
133578
133579 -- 4955764
133580 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133581 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
133582
133583
133584 XLA_AE_LINES_PKG.ValidateCurrentLine;
133585 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
133586
133587 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
133588 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
133589 ,p_balance_type_code => l_balance_type_code);
133590
133591 END IF;
133592
133593 -----------------------------------------------------------------------------------------
133594 -- 4262811 Multiperiod Accounting
133595 -----------------------------------------------------------------------------------------
133596 -- No MPA option is assigned.
133597
133598
133599 END IF;
133600 END IF;
133601 --
133602
133603 --
133604 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133605 trace
133606 (p_msg => 'END of AcctLineType_222'
133607 ,p_level => C_LEVEL_PROCEDURE
133608 ,p_module => l_log_module);
133609 END IF;
133610 --
133611 EXCEPTION
133612 WHEN xla_exceptions_pkg.application_exception THEN
133613 RAISE;
133614 WHEN OTHERS THEN
133615 xla_exceptions_pkg.raise_message
133616 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_222');
133617 END AcctLineType_222;
133618 --
133619
133620 ---------------------------------------
133621 --
133622 -- PRIVATE FUNCTION
133623 -- AcctLineType_223
133624 --
133628 ,p_event_id IN NUMBER
133625 ---------------------------------------
133626 PROCEDURE AcctLineType_223 (
133627 p_application_id IN NUMBER
133629 ,p_calculate_acctd_flag IN VARCHAR2
133630 ,p_calculate_g_l_flag IN VARCHAR2
133631 ,p_actual_flag IN OUT VARCHAR2
133632 ,p_balance_type_code OUT VARCHAR2
133633 ,p_gain_or_loss_ref OUT VARCHAR2
133634
133635 --Invoice Distribution Type
133636 , p_source_21 IN VARCHAR2
133637 , p_source_21_meaning IN VARCHAR2
133638 --Accounting Reversal Indicator
133639 , p_source_41 IN VARCHAR2
133640 --Distribution Link Type
133641 , p_source_43 IN VARCHAR2
133642 --Allocation to Main Distribution Identifier
133643 , p_source_45 IN NUMBER
133644 --Invoice Identifier
133645 , p_source_46 IN NUMBER
133646 --Invoice Distribution Identifier
133647 , p_source_52 IN NUMBER
133648 --Payables Encumbrance Upgrade Credit Account
133649 , p_source_53 IN NUMBER
133650 --Payables Encumbrance Upgrade Credit Amount
133651 , p_source_54 IN NUMBER
133652 --Invoice Currency Code
133653 , p_source_55 IN VARCHAR2
133654 --Payables Encumbrance Upgrade Credit Base Amount
133655 , p_source_56 IN NUMBER
133656 --Payables Encumbrance Upgrade Debit Account
133657 , p_source_57 IN NUMBER
133658 --Payables Encumbrance Upgrade Debit Amount
133659 , p_source_58 IN NUMBER
133660 --Payables Encumbrance Upgrade Debit Base Amount
133661 , p_source_59 IN NUMBER
133662 --Payables Encumbrance Upgrade Option
133663 , p_source_60 IN VARCHAR2
133664 --Deferred Accounting End Date
133665 , p_source_65 IN DATE
133666 --Deferred Accounting Option
133667 , p_source_66 IN VARCHAR2
133668 --Deferred Accounting Start Date
133669 , p_source_67 IN DATE
133670 --Override Accounted Amount Indicator
133671 , p_source_68 IN VARCHAR2
133672 , p_source_68_meaning IN VARCHAR2
133673 --Third Party Type
133674 , p_source_71 IN VARCHAR2
133675 --Parent Reversal Identifier
133676 , p_source_72 IN NUMBER
133677 --Invoice Distribution Tax Line Identifier
133678 , p_source_74 IN NUMBER
133679 --Invoice Distribution Tax Distribution Identifier from Tax
133680 , p_source_75 IN NUMBER
133681 --Invoice Distribution Summary Tax Line Identifier
133682 , p_source_76 IN NUMBER
133683 --Payables Upgrade Credit Encumbrance Type Identifier
133684 , p_source_77 IN NUMBER
133685 --Payables Upgrade Debit Encumbrance Type Identifier
133686 , p_source_78 IN NUMBER
133687 --Business Flow Accounts Payable Application Identifier
133688 , p_source_79 IN NUMBER
133689 --Business Flow Invoice Distribution Type
133690 , p_source_80 IN VARCHAR2
133691 --Business Flow Invoice Entity Code
133692 , p_source_81 IN VARCHAR2
133693 --Business Flow Invoice Distribution Identifier
133694 , p_source_82 IN NUMBER
133695 --Business Flow Invoice Identifier
133696 , p_source_83 IN NUMBER
133697 --Purchasing Encumbrance Option
133698 , p_source_86 IN VARCHAR2
133699 , p_source_86_meaning IN VARCHAR2
133700 --Invoice Encumbered Option
133701 , p_source_87 IN VARCHAR2
133702 , p_source_87_meaning IN VARCHAR2
133703 --Self-Assessed Tax Flag
133704 , p_source_135 IN VARCHAR2
133705 , p_source_135_meaning IN VARCHAR2
133706 --Invoice Distribution Encumbrance Amount
133707 , p_source_143 IN NUMBER
133708 --Invoice Distribution Encumbrance Ledger Amount
133709 , p_source_144 IN NUMBER
133710 )
133711 IS
133712
133713 l_component_type VARCHAR2(80);
133714 l_component_code VARCHAR2(30);
133715 l_component_type_code VARCHAR2(1);
133716 l_component_appl_id INTEGER;
133717 l_amb_context_code VARCHAR2(30);
133718 l_entity_code VARCHAR2(30);
133719 l_event_class_code VARCHAR2(30);
133720 l_ae_header_id NUMBER;
133721 l_event_type_code VARCHAR2(30);
133722 l_line_definition_code VARCHAR2(30);
133723 l_line_definition_owner_code VARCHAR2(1);
133724 --
133725 -- adr variables
133726 l_segment VARCHAR2(30);
133727 l_ccid NUMBER;
133728 l_adr_transaction_coa_id NUMBER;
133729 l_adr_accounting_coa_id NUMBER;
133730 l_adr_flexfield_segment_code VARCHAR2(30);
133731 l_adr_flex_value_set_id NUMBER;
133732 l_adr_value_type_code VARCHAR2(30);
133733 l_adr_value_combination_id NUMBER;
133734 l_adr_value_segment_code VARCHAR2(30);
133735
133736 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
133737 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
133738 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
133739 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
133740
133741 -- 4262811 Variables ------------------------------------------------------------------------------------------
133742 l_entered_amt_idx NUMBER;
133743 l_accted_amt_idx NUMBER;
133744 l_acc_rev_flag VARCHAR2(1);
133745 l_accrual_line_num NUMBER;
133746 l_tmp_amt NUMBER;
133747 l_acc_rev_natural_side_code VARCHAR2(1);
133748
133749 l_num_entries NUMBER;
133753 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
133750 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
133751 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
133752 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
133754 l_recog_line_1 NUMBER;
133755 l_recog_line_2 NUMBER;
133756
133757 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
133758 l_bflow_applied_to_amt NUMBER; -- 5132302
133759 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
133760
133761 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
133762
133763 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
133764 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
133765
133766 ---------------------------------------------------------------------------------------------------------------
133767
133768
133769 --
133770 -- bulk performance
133771 --
133772 l_balance_type_code VARCHAR2(1);
133773 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
133774 l_log_module VARCHAR2(240);
133775
133776 --
133777 -- Upgrade strategy
133778 --
133779 l_actual_upg_option VARCHAR2(1);
133780 l_enc_upg_option VARCHAR2(1);
133781
133782 --
133783 BEGIN
133784 --
133785 IF g_log_enabled THEN
133786 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_223';
133787 END IF;
133788 --
133789 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
133790
133791 trace
133792 (p_msg => 'BEGIN of AcctLineType_223'
133793 ,p_level => C_LEVEL_PROCEDURE
133794 ,p_module => l_log_module);
133795
133796 END IF;
133797 --
133798 l_component_type := 'AMB_JLT';
133799 l_component_code := 'AP_RECOV_TAX_DM_ENC';
133800 l_component_type_code := 'S';
133801 l_component_appl_id := 200;
133802 l_amb_context_code := 'DEFAULT';
133803 l_entity_code := 'AP_INVOICES';
133804 l_event_class_code := 'DEBIT MEMOS';
133805 l_event_type_code := 'DEBIT MEMOS_ALL';
133806 l_line_definition_owner_code := 'S';
133807 l_line_definition_code := 'ENC_REV_DM_ALL';
133808 --
133809 l_balance_type_code := 'E';
133810 l_segment := NULL;
133811 l_ccid := NULL;
133812 l_adr_transaction_coa_id := NULL;
133813 l_adr_accounting_coa_id := NULL;
133814 l_adr_flexfield_segment_code := NULL;
133815 l_adr_flex_value_set_id := NULL;
133816 l_adr_value_type_code := NULL;
133817 l_adr_value_combination_id := NULL;
133818 l_adr_value_segment_code := NULL;
133819
133820 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
133821 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
133822 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
133823 l_budgetary_control_flag := 'N';
133824
133825 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133826 l_bflow_applied_to_amt := NULL; -- 5132302
133827 l_entered_amt_idx := NULL; -- 4262811
133828 l_accted_amt_idx := NULL; -- 4262811
133829 l_acc_rev_flag := NULL; -- 4262811
133830 l_accrual_line_num := NULL; -- 4262811
133831 l_tmp_amt := NULL; -- 4262811
133832 --
133833
133834 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
133835 l_balance_type_code <> 'B' THEN
133836 IF NVL(p_source_21,'
133837 ') = 'REC_TAX' AND
133838 NVL(p_source_135,'
133839 ') <> 'Y' AND
133840 NVL(p_source_86,'
133841 ') = 'Y' AND
133842 NVL(p_source_87,'
133843 ') = 'Y'
133844 THEN
133845
133846 --
133847 XLA_AE_LINES_PKG.SetNewLine;
133848
133849 p_balance_type_code := l_balance_type_code;
133850 -- set the flag so later we will know whether the gain loss line needs to be created
133851
133852 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
133853 p_actual_flag :='A';
133854 END IF;
133855
133856 --
133857 -- bulk performance
133858 --
133859 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
133860 p_header_num => 0); -- 4262811
133861 --
133862 -- set accounting line options
133863 --
133864 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
133865 p_natural_side_code => 'C'
133866 , p_gain_or_loss_flag => 'N'
133867 , p_gl_transfer_mode_code => 'S'
133868 , p_acct_entry_type_code => 'E'
133869 , p_switch_side_flag => 'Y'
133870 , p_merge_duplicate_code => 'A'
133871 );
133872 --
133873 l_acc_rev_natural_side_code := 'D'; -- 4262811
133874 --
133875 --
133876 -- set accounting line type info
133877 --
133878 xla_ae_lines_pkg.SetAcctLineType
133879 (p_component_type => l_component_type
133880 ,p_event_type_code => l_event_type_code
133881 ,p_line_definition_owner_code => l_line_definition_owner_code
133882 ,p_line_definition_code => l_line_definition_code
133886 ,p_amb_context_code => l_amb_context_code
133883 ,p_accounting_line_code => l_component_code
133884 ,p_accounting_line_type_code => l_component_type_code
133885 ,p_accounting_line_appl_id => l_component_appl_id
133887 ,p_entity_code => l_entity_code
133888 ,p_event_class_code => l_event_class_code);
133889 --
133890 -- set accounting class
133891 --
133892 xla_ae_lines_pkg.SetAcctClass(
133893 p_accounting_class_code => 'RTAX'
133894 , p_ae_header_id => l_ae_header_id
133895 );
133896
133897 --
133898 -- set rounding class
133899 --
133900 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
133901 'RTAX';
133902
133903 --
133904 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
133905 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
133906 --
133907 -- bulk performance
133908 --
133909 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
133910
133911 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
133912 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
133913
133914 -- 4955764
133915 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
133916 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
133917
133918 -- 4458381 Public Sector Enh
133919
133920 --
133921 -- set accounting attributes for the line type
133922 --
133923 l_entered_amt_idx := 23;
133924 l_accted_amt_idx := 25;
133925 l_bflow_applied_to_amt_idx := NULL; -- 5132302
133926 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
133927 l_rec_acct_attrs.array_char_value(1) := p_source_41;
133928 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
133929 l_rec_acct_attrs.array_num_value(2) :=
133930 xla_ae_sources_pkg.GetSystemSourceNum(
133931 p_source_code => 'XLA_EVENT_APPL_ID'
133932 , p_source_type_code => 'Y'
133933 , p_source_application_id => 602
133934 );
133935 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
133936 l_rec_acct_attrs.array_char_value(3) := p_source_43;
133937 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
133938 l_rec_acct_attrs.array_char_value(4) :=
133939 xla_ae_sources_pkg.GetSystemSourceChar(
133940 p_source_code => 'XLA_ENTITY_CODE'
133941 , p_source_type_code => 'Y'
133942 , p_source_application_id => 602
133943 );
133944 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
133945 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
133946 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
133947 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
133948 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
133949 l_rec_acct_attrs.array_num_value(7) := p_source_79;
133950 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
133951 l_rec_acct_attrs.array_char_value(8) := p_source_80;
133952 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
133953 l_rec_acct_attrs.array_char_value(9) := p_source_81;
133954 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
133955 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
133956 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
133957 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
133958 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
133959 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
133960 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
133961 l_rec_acct_attrs.array_char_value(13) := p_source_43;
133962 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
133963 l_rec_acct_attrs.array_num_value(14) := p_source_53;
133964 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
133965 l_rec_acct_attrs.array_num_value(15) := p_source_54;
133966 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
133967 l_rec_acct_attrs.array_char_value(16) := p_source_55;
133968 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
133969 l_rec_acct_attrs.array_num_value(17) := p_source_56;
133970 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
133971 l_rec_acct_attrs.array_num_value(18) := p_source_57;
133972 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
133973 l_rec_acct_attrs.array_num_value(19) := p_source_58;
133974 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
133975 l_rec_acct_attrs.array_char_value(20) := p_source_55;
133976 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
133977 l_rec_acct_attrs.array_num_value(21) := p_source_59;
133978 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
133979 l_rec_acct_attrs.array_char_value(22) := p_source_60;
133980 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
133981 l_rec_acct_attrs.array_num_value(23) := p_source_143;
133982 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
133983 l_rec_acct_attrs.array_char_value(24) := p_source_55;
133987 l_rec_acct_attrs.array_date_value(26) := p_source_65;
133984 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
133985 l_rec_acct_attrs.array_num_value(25) := p_source_144;
133986 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
133988 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
133989 l_rec_acct_attrs.array_char_value(27) := p_source_66;
133990 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
133991 l_rec_acct_attrs.array_date_value(28) := p_source_67;
133992 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
133993 l_rec_acct_attrs.array_char_value(29) := p_source_68;
133994 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
133995 l_rec_acct_attrs.array_char_value(30) := p_source_71;
133996 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
133997 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
133998 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
133999 l_rec_acct_attrs.array_char_value(32) := p_source_43;
134000 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
134001 l_rec_acct_attrs.array_num_value(33) := p_source_74;
134002 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
134003 l_rec_acct_attrs.array_num_value(34) := p_source_75;
134004 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
134005 l_rec_acct_attrs.array_num_value(35) := p_source_76;
134006 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
134007 l_rec_acct_attrs.array_num_value(36) := p_source_77;
134008 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
134009 l_rec_acct_attrs.array_num_value(37) := p_source_78;
134010
134011 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
134012 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
134013
134014 ---------------------------------------------------------------------------------------------------------------
134015 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
134016 ---------------------------------------------------------------------------------------------------------------
134017 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
134018
134019 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134020 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134021
134022 IF xla_accounting_cache_pkg.GetValueChar
134023 (p_source_code => 'LEDGER_CATEGORY_CODE'
134024 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
134025 AND l_bflow_method_code = 'PRIOR_ENTRY'
134026 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
134027 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
134028 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
134029 )
134030 THEN
134031 xla_ae_lines_pkg.BflowUpgEntry
134032 (p_business_method_code => l_bflow_method_code
134033 ,p_business_class_code => l_bflow_class_code
134034 ,p_balance_type => l_balance_type_code);
134035 ELSE
134036 NULL;
134037 XLA_AE_LINES_PKG.business_flow_validation(
134038 p_business_method_code => l_bflow_method_code
134039 ,p_business_class_code => l_bflow_class_code
134040 ,p_inherit_description_flag => l_inherit_desc_flag);
134041 END IF;
134042
134043 --
134044 -- call analytical criteria
134045 --
134046 -- Inherited Analytical Criteria for business flow method of Prior Entry.
134047 --
134048 -- call description
134049 --
134050 -- No description or it is inherited.
134051 --
134052 -- call ADRs
134053 -- Bug 4922099
134054 --
134055 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134056 (NVL(l_actual_upg_option, 'N') = 'O') OR
134057 (NVL(l_enc_upg_option, 'N') = 'O')
134058 )
134059 THEN
134060 NULL;
134061 --
134062 --
134063
134064 --
134065 --
134066 END IF;
134067 --
134068 -- Bug 4922099
134069 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134070 (NVL(l_enc_upg_option, 'N') = 'O')
134071 ) AND
134072 (l_bflow_method_code = 'PRIOR_ENTRY')
134073 )
134074 THEN
134075 IF
134076 --
134077 1 = 1
134078 --
134079 THEN
134080 xla_accounting_err_pkg.build_message
134081 (p_appli_s_name => 'XLA'
134082 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134083 ,p_token_1 => 'LINE_NUMBER'
134084 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134085 ,p_token_2 => 'LINE_TYPE_NAME'
134086 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134087 l_component_type
134088 ,l_component_code
134089 ,l_component_type_code
134093 ,l_event_class_code
134090 ,l_component_appl_id
134091 ,l_amb_context_code
134092 ,l_entity_code
134094 )
134095 ,p_token_3 => 'OWNER'
134096 ,p_value_3 => xla_lookups_pkg.get_meaning(
134097 p_lookup_type => 'XLA_OWNER_TYPE'
134098 ,p_lookup_code => l_component_type_code
134099 )
134100 ,p_token_4 => 'PRODUCT_NAME'
134101 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134102 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134103 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134104 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134105 ,p_ae_header_id => NULL
134106 );
134107
134108 IF (C_LEVEL_ERROR>= g_log_level) THEN
134109 trace
134110 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134111 ,p_level => C_LEVEL_ERROR
134112 ,p_module => l_log_module);
134113 END IF;
134114 END IF;
134115 END IF;
134116 --
134117 --
134118 ------------------------------------------------------------------------------------------------
134119 -- 4219869 Business Flow
134120 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134121 -- Prior Entry. Currently, the following code is always generated.
134122 ------------------------------------------------------------------------------------------------
134123 -- No ValidateCurrentLine for business flow method of Prior Entry
134124
134125 ------------------------------------------------------------------------------------
134126 -- 4219869 Business Flow
134127 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134128 ------------------------------------------------------------------------------------
134129 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134130
134131 ----------------------------------------------------------------------------------
134132 -- 4219869 Business Flow
134133 -- Update journal entry status -- Need to generate this within IF <condition>
134134 ----------------------------------------------------------------------------------
134135 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134136 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134137 ,p_balance_type_code => l_balance_type_code
134138 );
134139
134140 -------------------------------------------------------------------------------------------
134141 -- 4262811 - Generate the Accrual Reversal lines
134142 -------------------------------------------------------------------------------------------
134143 BEGIN
134144 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
134145 (g_array_event(p_event_id).array_value_num('header_index'));
134146 IF l_acc_rev_flag IS NULL THEN
134147 l_acc_rev_flag := 'N';
134148 END IF;
134149 EXCEPTION
134150 WHEN OTHERS THEN
134151 l_acc_rev_flag := 'N';
134152 END;
134153 --
134154 IF (l_acc_rev_flag = 'Y') THEN
134155
134156 -- 4645092 ------------------------------------------------------------------------------
134157 -- To allow MPA report to determine if it should generate report process
134158 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
134159 ------------------------------------------------------------------------------------------
134160
134161 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
134162 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
134163 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
134164 -- call ADRs
134165 -- Bug 4922099
134166 --
134167 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134168 (NVL(l_actual_upg_option, 'N') = 'O') OR
134169 (NVL(l_enc_upg_option, 'N') = 'O')
134170 )
134171 THEN
134172 NULL;
134173 --
134174 --
134175
134176 --
134177 --
134178 END IF;
134179
134180 --
134181 -- Update the line information that should be overwritten
134182 --
134183 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134184 p_header_num => 1);
134185 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134186
134187 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134188
134189 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134193 --
134190 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134191 END IF;
134192
134194 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134195 --
134196 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134197 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134198 ELSE
134199 ---------------------------------------------------------------------------------------------------
134200 -- 4262811a Switch Sign
134201 ---------------------------------------------------------------------------------------------------
134202 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134203 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134204 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134205 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134206 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134207 -- 5132302
134208 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134209 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134210
134211 END IF;
134212
134213 -- 4955764
134214 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134215 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134216
134217
134218 XLA_AE_LINES_PKG.ValidateCurrentLine;
134219 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134220
134221 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134222 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134223 ,p_balance_type_code => l_balance_type_code);
134224
134225 END IF;
134226
134227 -----------------------------------------------------------------------------------------
134228 -- 4262811 Multiperiod Accounting
134229 -----------------------------------------------------------------------------------------
134230 -- No MPA option is assigned.
134231
134232
134233 END IF;
134234 END IF;
134235 --
134236
134237 --
134238 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134239 trace
134240 (p_msg => 'END of AcctLineType_223'
134241 ,p_level => C_LEVEL_PROCEDURE
134242 ,p_module => l_log_module);
134243 END IF;
134244 --
134245 EXCEPTION
134246 WHEN xla_exceptions_pkg.application_exception THEN
134247 RAISE;
134248 WHEN OTHERS THEN
134249 xla_exceptions_pkg.raise_message
134250 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_223');
134251 END AcctLineType_223;
134252 --
134253
134254 ---------------------------------------
134255 --
134256 -- PRIVATE FUNCTION
134257 -- AcctLineType_224
134258 --
134259 ---------------------------------------
134260 PROCEDURE AcctLineType_224 (
134261 p_application_id IN NUMBER
134262 ,p_event_id IN NUMBER
134263 ,p_calculate_acctd_flag IN VARCHAR2
134264 ,p_calculate_g_l_flag IN VARCHAR2
134265 ,p_actual_flag IN OUT VARCHAR2
134266 ,p_balance_type_code OUT VARCHAR2
134267 ,p_gain_or_loss_ref OUT VARCHAR2
134268
134269 --Invoice Distribution Description
134270 , p_source_1 IN VARCHAR2
134271 --Invoice Distribution Ledger Amount
134272 , p_source_9 IN NUMBER
134273 --Invoice Distribution Account
134274 , p_source_18 IN NUMBER
134275 --Invoice Distribution Type
134276 , p_source_21 IN VARCHAR2
134277 , p_source_21_meaning IN VARCHAR2
134278 --Accounting Reversal Indicator
134279 , p_source_41 IN VARCHAR2
134280 --Distribution Link Type
134281 , p_source_43 IN VARCHAR2
134282 --Allocation to Main Distribution Identifier
134283 , p_source_45 IN NUMBER
134284 --Invoice Identifier
134285 , p_source_46 IN NUMBER
134286 --Invoice Distribution Identifier
134287 , p_source_52 IN NUMBER
134288 --Payables Encumbrance Upgrade Credit Account
134289 , p_source_53 IN NUMBER
134290 --Payables Encumbrance Upgrade Credit Amount
134291 , p_source_54 IN NUMBER
134292 --Invoice Currency Code
134293 , p_source_55 IN VARCHAR2
134294 --Payables Encumbrance Upgrade Credit Base Amount
134295 , p_source_56 IN NUMBER
134296 --Payables Encumbrance Upgrade Debit Account
134297 , p_source_57 IN NUMBER
134298 --Payables Encumbrance Upgrade Debit Amount
134299 , p_source_58 IN NUMBER
134300 --Payables Encumbrance Upgrade Debit Base Amount
134301 , p_source_59 IN NUMBER
134302 --Payables Encumbrance Upgrade Option
134303 , p_source_60 IN VARCHAR2
134304 --Invoice Distribution Amount
134305 , p_source_61 IN NUMBER
134306 --Deferred Accounting End Date
134307 , p_source_65 IN DATE
134308 --Deferred Accounting Option
134309 , p_source_66 IN VARCHAR2
134310 --Deferred Accounting Start Date
134311 , p_source_67 IN DATE
134315 --Invoice Supplier Identifier
134312 --Override Accounted Amount Indicator
134313 , p_source_68 IN VARCHAR2
134314 , p_source_68_meaning IN VARCHAR2
134316 , p_source_69 IN NUMBER
134317 --Invoice Supplier Site Identifier
134318 , p_source_70 IN NUMBER
134319 --Third Party Type
134320 , p_source_71 IN VARCHAR2
134321 --Parent Reversal Identifier
134322 , p_source_72 IN NUMBER
134323 --Invoice Distribution Statistical Amount
134324 , p_source_73 IN NUMBER
134325 --Invoice Distribution Tax Line Identifier
134326 , p_source_74 IN NUMBER
134327 --Invoice Distribution Tax Distribution Identifier from Tax
134328 , p_source_75 IN NUMBER
134329 --Invoice Distribution Summary Tax Line Identifier
134330 , p_source_76 IN NUMBER
134331 --Payables Upgrade Credit Encumbrance Type Identifier
134332 , p_source_77 IN NUMBER
134333 --Payables Upgrade Debit Encumbrance Type Identifier
134334 , p_source_78 IN NUMBER
134335 --Business Flow Accounts Payable Application Identifier
134336 , p_source_79 IN NUMBER
134337 --Business Flow Invoice Distribution Type
134338 , p_source_80 IN VARCHAR2
134339 --Business Flow Invoice Entity Code
134340 , p_source_81 IN VARCHAR2
134341 --Business Flow Invoice Distribution Identifier
134342 , p_source_82 IN NUMBER
134343 --Business Flow Invoice Identifier
134344 , p_source_83 IN NUMBER
134345 --Self-Assessed Tax Flag
134346 , p_source_135 IN VARCHAR2
134347 , p_source_135_meaning IN VARCHAR2
134348 --Invoice Exchange Date
134349 , p_source_136 IN DATE
134350 --Invoice Exchange Rate
134351 , p_source_137 IN NUMBER
134352 --Invoice Exchange Rate Type
134353 , p_source_138 IN VARCHAR2
134354 )
134355 IS
134356
134357 l_component_type VARCHAR2(80);
134358 l_component_code VARCHAR2(30);
134359 l_component_type_code VARCHAR2(1);
134360 l_component_appl_id INTEGER;
134361 l_amb_context_code VARCHAR2(30);
134362 l_entity_code VARCHAR2(30);
134363 l_event_class_code VARCHAR2(30);
134364 l_ae_header_id NUMBER;
134365 l_event_type_code VARCHAR2(30);
134366 l_line_definition_code VARCHAR2(30);
134367 l_line_definition_owner_code VARCHAR2(1);
134368 --
134369 -- adr variables
134370 l_segment VARCHAR2(30);
134371 l_ccid NUMBER;
134372 l_adr_transaction_coa_id NUMBER;
134373 l_adr_accounting_coa_id NUMBER;
134374 l_adr_flexfield_segment_code VARCHAR2(30);
134375 l_adr_flex_value_set_id NUMBER;
134376 l_adr_value_type_code VARCHAR2(30);
134377 l_adr_value_combination_id NUMBER;
134378 l_adr_value_segment_code VARCHAR2(30);
134379
134380 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
134381 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
134382 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
134383 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
134384
134385 -- 4262811 Variables ------------------------------------------------------------------------------------------
134386 l_entered_amt_idx NUMBER;
134387 l_accted_amt_idx NUMBER;
134388 l_acc_rev_flag VARCHAR2(1);
134389 l_accrual_line_num NUMBER;
134390 l_tmp_amt NUMBER;
134391 l_acc_rev_natural_side_code VARCHAR2(1);
134392
134393 l_num_entries NUMBER;
134394 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
134395 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
134396 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
134397 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
134398 l_recog_line_1 NUMBER;
134399 l_recog_line_2 NUMBER;
134400
134401 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
134402 l_bflow_applied_to_amt NUMBER; -- 5132302
134403 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
134404
134405 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
134406
134407 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
134408 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
134409
134410 ---------------------------------------------------------------------------------------------------------------
134411
134412
134413 --
134414 -- bulk performance
134415 --
134416 l_balance_type_code VARCHAR2(1);
134417 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
134418 l_log_module VARCHAR2(240);
134419
134420 --
134421 -- Upgrade strategy
134422 --
134423 l_actual_upg_option VARCHAR2(1);
134424 l_enc_upg_option VARCHAR2(1);
134425
134426 --
134427 BEGIN
134428 --
134429 IF g_log_enabled THEN
134430 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_224';
134431 END IF;
134432 --
134433 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134434
134435 trace
134436 (p_msg => 'BEGIN of AcctLineType_224'
134437 ,p_level => C_LEVEL_PROCEDURE
134438 ,p_module => l_log_module);
134439
134440 END IF;
134444 l_component_type_code := 'S';
134441 --
134442 l_component_type := 'AMB_JLT';
134443 l_component_code := 'AP_RECOV_TAX_INV';
134445 l_component_appl_id := 200;
134446 l_amb_context_code := 'DEFAULT';
134447 l_entity_code := 'AP_INVOICES';
134448 l_event_class_code := 'INVOICES';
134449 l_event_type_code := 'INVOICES_ALL';
134450 l_line_definition_owner_code := 'S';
134451 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
134452 --
134453 l_balance_type_code := 'A';
134454 l_segment := NULL;
134455 l_ccid := NULL;
134456 l_adr_transaction_coa_id := NULL;
134457 l_adr_accounting_coa_id := NULL;
134458 l_adr_flexfield_segment_code := NULL;
134459 l_adr_flex_value_set_id := NULL;
134460 l_adr_value_type_code := NULL;
134461 l_adr_value_combination_id := NULL;
134462 l_adr_value_segment_code := NULL;
134463
134464 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
134465 l_bflow_class_code := 'AP_DEF_REC_TAX'; -- 4219869 Business Flow
134466 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
134467 l_budgetary_control_flag := 'N';
134468
134469 l_bflow_applied_to_amt_idx := NULL; -- 5132302
134470 l_bflow_applied_to_amt := NULL; -- 5132302
134471 l_entered_amt_idx := NULL; -- 4262811
134472 l_accted_amt_idx := NULL; -- 4262811
134473 l_acc_rev_flag := NULL; -- 4262811
134474 l_accrual_line_num := NULL; -- 4262811
134475 l_tmp_amt := NULL; -- 4262811
134476 --
134477
134478 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
134479 l_balance_type_code <> 'B' THEN
134480 IF NVL(p_source_21,'
134481 ') = 'REC_TAX' AND
134482 NVL(p_source_135,'
134483 ') <> 'Y'
134484 THEN
134485
134486 --
134487 XLA_AE_LINES_PKG.SetNewLine;
134488
134489 p_balance_type_code := l_balance_type_code;
134490 -- set the flag so later we will know whether the gain loss line needs to be created
134491
134492 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
134493 p_actual_flag :='A';
134494 END IF;
134495
134496 --
134497 -- bulk performance
134498 --
134499 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
134500 p_header_num => 0); -- 4262811
134501 --
134502 -- set accounting line options
134503 --
134504 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
134505 p_natural_side_code => 'D'
134506 , p_gain_or_loss_flag => 'N'
134507 , p_gl_transfer_mode_code => 'S'
134508 , p_acct_entry_type_code => 'A'
134509 , p_switch_side_flag => 'Y'
134510 , p_merge_duplicate_code => 'A'
134511 );
134512 --
134513 l_acc_rev_natural_side_code := 'C'; -- 4262811
134514 --
134515 --
134516 -- set accounting line type info
134517 --
134518 xla_ae_lines_pkg.SetAcctLineType
134519 (p_component_type => l_component_type
134520 ,p_event_type_code => l_event_type_code
134521 ,p_line_definition_owner_code => l_line_definition_owner_code
134522 ,p_line_definition_code => l_line_definition_code
134523 ,p_accounting_line_code => l_component_code
134524 ,p_accounting_line_type_code => l_component_type_code
134525 ,p_accounting_line_appl_id => l_component_appl_id
134526 ,p_amb_context_code => l_amb_context_code
134527 ,p_entity_code => l_entity_code
134528 ,p_event_class_code => l_event_class_code);
134529 --
134530 -- set accounting class
134531 --
134532 xla_ae_lines_pkg.SetAcctClass(
134533 p_accounting_class_code => 'RTAX'
134534 , p_ae_header_id => l_ae_header_id
134535 );
134536
134537 --
134538 -- set rounding class
134539 --
134540 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
134541 'RTAX';
134542
134543 --
134544 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
134545 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
134546 --
134547 -- bulk performance
134548 --
134549 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
134550
134551 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
134552 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
134553
134554 -- 4955764
134555 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134556 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
134557
134558 -- 4458381 Public Sector Enh
134559
134560 --
134561 -- set accounting attributes for the line type
134562 --
134563 l_entered_amt_idx := 24;
134564 l_accted_amt_idx := 29;
134565 l_bflow_applied_to_amt_idx := 7; -- 5132302
134566 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
134567 l_rec_acct_attrs.array_char_value(1) := p_source_41;
134568 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
134569 l_rec_acct_attrs.array_num_value(2) :=
134573 , p_source_application_id => 602
134570 xla_ae_sources_pkg.GetSystemSourceNum(
134571 p_source_code => 'XLA_EVENT_APPL_ID'
134572 , p_source_type_code => 'Y'
134574 );
134575 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
134576 l_rec_acct_attrs.array_char_value(3) := p_source_43;
134577 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
134578 l_rec_acct_attrs.array_char_value(4) :=
134579 xla_ae_sources_pkg.GetSystemSourceChar(
134580 p_source_code => 'XLA_ENTITY_CODE'
134581 , p_source_type_code => 'Y'
134582 , p_source_application_id => 602
134583 );
134584 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
134585 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
134586 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
134587 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
134588 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
134589 l_rec_acct_attrs.array_num_value(7) := p_source_61;
134590 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
134591 l_rec_acct_attrs.array_num_value(8) := p_source_79;
134592 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
134593 l_rec_acct_attrs.array_char_value(9) := p_source_80;
134594 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
134595 l_rec_acct_attrs.array_char_value(10) := p_source_81;
134596 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
134597 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
134598 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
134599 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
134600 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
134601 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
134602 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
134603 l_rec_acct_attrs.array_char_value(14) := p_source_43;
134604 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
134605 l_rec_acct_attrs.array_num_value(15) := p_source_53;
134606 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
134607 l_rec_acct_attrs.array_num_value(16) := p_source_54;
134608 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
134609 l_rec_acct_attrs.array_char_value(17) := p_source_55;
134610 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
134611 l_rec_acct_attrs.array_num_value(18) := p_source_56;
134612 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
134613 l_rec_acct_attrs.array_num_value(19) := p_source_57;
134614 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
134615 l_rec_acct_attrs.array_num_value(20) := p_source_58;
134616 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
134617 l_rec_acct_attrs.array_char_value(21) := p_source_55;
134618 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
134619 l_rec_acct_attrs.array_num_value(22) := p_source_59;
134620 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
134621 l_rec_acct_attrs.array_char_value(23) := p_source_60;
134622 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
134623 l_rec_acct_attrs.array_num_value(24) := p_source_61;
134624 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
134625 l_rec_acct_attrs.array_char_value(25) := p_source_55;
134626 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
134627 l_rec_acct_attrs.array_date_value(26) := p_source_136;
134628 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
134629 l_rec_acct_attrs.array_num_value(27) := p_source_137;
134630 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
134631 l_rec_acct_attrs.array_char_value(28) := p_source_138;
134632 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
134633 l_rec_acct_attrs.array_num_value(29) := p_source_9;
134634 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
134635 l_rec_acct_attrs.array_date_value(30) := p_source_65;
134636 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
134637 l_rec_acct_attrs.array_char_value(31) := p_source_66;
134638 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
134639 l_rec_acct_attrs.array_date_value(32) := p_source_67;
134640 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
134641 l_rec_acct_attrs.array_char_value(33) := p_source_68;
134642 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
134643 l_rec_acct_attrs.array_num_value(34) := p_source_69;
134644 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
134645 l_rec_acct_attrs.array_num_value(35) := p_source_70;
134646 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
134647 l_rec_acct_attrs.array_char_value(36) := p_source_71;
134648 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
134649 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
134650 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
134651 l_rec_acct_attrs.array_char_value(38) := p_source_43;
134652 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
134653 l_rec_acct_attrs.array_num_value(39) := p_source_73;
134654 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
134655 l_rec_acct_attrs.array_num_value(40) := p_source_74;
134656 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
134657 l_rec_acct_attrs.array_num_value(41) := p_source_75;
134661 l_rec_acct_attrs.array_num_value(43) := p_source_77;
134658 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
134659 l_rec_acct_attrs.array_num_value(42) := p_source_76;
134660 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
134662 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
134663 l_rec_acct_attrs.array_num_value(44) := p_source_78;
134664
134665 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
134666 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
134667
134668 ---------------------------------------------------------------------------------------------------------------
134669 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
134670 ---------------------------------------------------------------------------------------------------------------
134671 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
134672
134673 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134674 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
134675
134676 IF xla_accounting_cache_pkg.GetValueChar
134677 (p_source_code => 'LEDGER_CATEGORY_CODE'
134678 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
134679 AND l_bflow_method_code = 'PRIOR_ENTRY'
134680 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
134681 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
134682 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
134683 )
134684 THEN
134685 xla_ae_lines_pkg.BflowUpgEntry
134686 (p_business_method_code => l_bflow_method_code
134687 ,p_business_class_code => l_bflow_class_code
134688 ,p_balance_type => l_balance_type_code);
134689 ELSE
134690 NULL;
134691 -- No business flow processing for business flow method of NONE.
134692 END IF;
134693
134694 --
134695 -- call analytical criteria
134696 --
134697
134698 --
134699 -- call description
134700 --
134701
134702 xla_ae_lines_pkg.SetLineDescription(
134703 p_ae_header_id => l_ae_header_id
134704 ,p_description => Description_2 (
134705 p_application_id => p_application_id
134706 , p_ae_header_id => l_ae_header_id
134707 , p_source_1 => p_source_1
134708 )
134709 );
134710
134711
134712 --
134713 -- call ADRs
134714 -- Bug 4922099
134715 --
134716 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134717 (NVL(l_actual_upg_option, 'N') = 'O') OR
134718 (NVL(l_enc_upg_option, 'N') = 'O')
134719 )
134720 THEN
134721 NULL;
134722 --
134723 --
134724
134725 l_ccid := AcctDerRule_32(
134726 p_application_id => p_application_id
134727 , p_ae_header_id => l_ae_header_id
134728 , p_source_18 => p_source_18
134729 , x_transaction_coa_id => l_adr_transaction_coa_id
134730 , x_accounting_coa_id => l_adr_accounting_coa_id
134731 , x_value_type_code => l_adr_value_type_code
134732 , p_side => 'NA'
134733 );
134734
134735 xla_ae_lines_pkg.set_ccid(
134736 p_code_combination_id => l_ccid
134737 , p_value_type_code => l_adr_value_type_code
134738 , p_transaction_coa_id => l_adr_transaction_coa_id
134739 , p_accounting_coa_id => l_adr_accounting_coa_id
134740 , p_adr_code => 'AP_INVOICE_DIST'
134741 , p_adr_type_code => 'S'
134742 , p_component_type => l_component_type
134743 , p_component_code => l_component_code
134744 , p_component_type_code => l_component_type_code
134745 , p_component_appl_id => l_component_appl_id
134746 , p_amb_context_code => l_amb_context_code
134747 , p_side => 'NA'
134748 );
134749
134750
134751 --
134752 --
134753 END IF;
134754 --
134755 -- Bug 4922099
134756 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
134757 (NVL(l_enc_upg_option, 'N') = 'O')
134758 ) AND
134759 (l_bflow_method_code = 'PRIOR_ENTRY')
134760 )
134761 THEN
134762 IF
134763 --
134764 1 = 2
134765 --
134766 THEN
134767 xla_accounting_err_pkg.build_message
134768 (p_appli_s_name => 'XLA'
134769 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134770 ,p_token_1 => 'LINE_NUMBER'
134771 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
134772 ,p_token_2 => 'LINE_TYPE_NAME'
134773 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
134774 l_component_type
134775 ,l_component_code
134776 ,l_component_type_code
134777 ,l_component_appl_id
134781 )
134778 ,l_amb_context_code
134779 ,l_entity_code
134780 ,l_event_class_code
134782 ,p_token_3 => 'OWNER'
134783 ,p_value_3 => xla_lookups_pkg.get_meaning(
134784 p_lookup_type => 'XLA_OWNER_TYPE'
134785 ,p_lookup_code => l_component_type_code
134786 )
134787 ,p_token_4 => 'PRODUCT_NAME'
134788 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
134789 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
134790 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
134791 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
134792 ,p_ae_header_id => NULL
134793 );
134794
134795 IF (C_LEVEL_ERROR>= g_log_level) THEN
134796 trace
134797 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
134798 ,p_level => C_LEVEL_ERROR
134799 ,p_module => l_log_module);
134800 END IF;
134801 END IF;
134802 END IF;
134803 --
134804 --
134805 ------------------------------------------------------------------------------------------------
134806 -- 4219869 Business Flow
134807 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
134808 -- Prior Entry. Currently, the following code is always generated.
134809 ------------------------------------------------------------------------------------------------
134810 XLA_AE_LINES_PKG.ValidateCurrentLine;
134811
134812 ------------------------------------------------------------------------------------
134813 -- 4219869 Business Flow
134814 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
134815 ------------------------------------------------------------------------------------
134816 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134817
134818 ----------------------------------------------------------------------------------
134819 -- 4219869 Business Flow
134820 -- Update journal entry status -- Need to generate this within IF <condition>
134821 ----------------------------------------------------------------------------------
134822 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134823 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
134824 ,p_balance_type_code => l_balance_type_code
134825 );
134826
134827 -------------------------------------------------------------------------------------------
134828 -- 4262811 - Generate the Accrual Reversal lines
134829 -------------------------------------------------------------------------------------------
134830 BEGIN
134831 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
134832 (g_array_event(p_event_id).array_value_num('header_index'));
134833 IF l_acc_rev_flag IS NULL THEN
134834 l_acc_rev_flag := 'N';
134835 END IF;
134836 EXCEPTION
134837 WHEN OTHERS THEN
134838 l_acc_rev_flag := 'N';
134839 END;
134840 --
134841 IF (l_acc_rev_flag = 'Y') THEN
134842
134843 -- 4645092 ------------------------------------------------------------------------------
134844 -- To allow MPA report to determine if it should generate report process
134845 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
134846 ------------------------------------------------------------------------------------------
134847
134848 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
134849 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
134850 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
134851 -- call ADRs
134852 -- Bug 4922099
134853 --
134854 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
134855 (NVL(l_actual_upg_option, 'N') = 'O') OR
134856 (NVL(l_enc_upg_option, 'N') = 'O')
134857 )
134858 THEN
134859 NULL;
134860 --
134861 --
134862
134863 l_ccid := AcctDerRule_32(
134864 p_application_id => p_application_id
134865 , p_ae_header_id => l_ae_header_id
134866 , p_source_18 => p_source_18
134867 , x_transaction_coa_id => l_adr_transaction_coa_id
134868 , x_accounting_coa_id => l_adr_accounting_coa_id
134869 , x_value_type_code => l_adr_value_type_code
134870 , p_side => 'NA'
134871 );
134872
134873 xla_ae_lines_pkg.set_ccid(
134874 p_code_combination_id => l_ccid
134875 , p_value_type_code => l_adr_value_type_code
134876 , p_transaction_coa_id => l_adr_transaction_coa_id
134877 , p_accounting_coa_id => l_adr_accounting_coa_id
134881 , p_component_code => l_component_code
134878 , p_adr_code => 'AP_INVOICE_DIST'
134879 , p_adr_type_code => 'S'
134880 , p_component_type => l_component_type
134882 , p_component_type_code => l_component_type_code
134883 , p_component_appl_id => l_component_appl_id
134884 , p_amb_context_code => l_amb_context_code
134885 , p_side => 'NA'
134886 );
134887
134888
134889 --
134890 --
134891 END IF;
134892
134893 --
134894 -- Update the line information that should be overwritten
134895 --
134896 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
134897 p_header_num => 1);
134898 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
134899
134900 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
134901
134902 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
134903 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
134904 END IF;
134905
134906 --
134907 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
134908 --
134909 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
134910 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
134911 ELSE
134912 ---------------------------------------------------------------------------------------------------
134913 -- 4262811a Switch Sign
134914 ---------------------------------------------------------------------------------------------------
134915 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
134916 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134918 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
134919 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134920 -- 5132302
134921 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
134922 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
134923
134924 END IF;
134925
134926 -- 4955764
134927 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
134928 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
134929
134930
134931 XLA_AE_LINES_PKG.ValidateCurrentLine;
134932 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
134933
134934 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
134935 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
134936 ,p_balance_type_code => l_balance_type_code);
134937
134938 END IF;
134939
134940 -----------------------------------------------------------------------------------------
134941 -- 4262811 Multiperiod Accounting
134942 -----------------------------------------------------------------------------------------
134943 -- No MPA option is assigned.
134944
134945
134946 END IF;
134947 END IF;
134948 --
134949
134950 --
134951 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
134952 trace
134953 (p_msg => 'END of AcctLineType_224'
134954 ,p_level => C_LEVEL_PROCEDURE
134955 ,p_module => l_log_module);
134956 END IF;
134957 --
134958 EXCEPTION
134959 WHEN xla_exceptions_pkg.application_exception THEN
134960 RAISE;
134961 WHEN OTHERS THEN
134962 xla_exceptions_pkg.raise_message
134963 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_224');
134964 END AcctLineType_224;
134965 --
134966
134967 ---------------------------------------
134968 --
134969 -- PRIVATE FUNCTION
134970 -- AcctLineType_225
134971 --
134972 ---------------------------------------
134973 PROCEDURE AcctLineType_225 (
134974 p_application_id IN NUMBER
134975 ,p_event_id IN NUMBER
134976 ,p_calculate_acctd_flag IN VARCHAR2
134977 ,p_calculate_g_l_flag IN VARCHAR2
134978 ,p_actual_flag IN OUT VARCHAR2
134979 ,p_balance_type_code OUT VARCHAR2
134980 ,p_gain_or_loss_ref OUT VARCHAR2
134981
134982 --Invoice Distribution Type
134983 , p_source_21 IN VARCHAR2
134984 , p_source_21_meaning IN VARCHAR2
134985 --Accounting Reversal Indicator
134986 , p_source_41 IN VARCHAR2
134987 --Distribution Link Type
134988 , p_source_43 IN VARCHAR2
134989 --Allocation to Main Distribution Identifier
134990 , p_source_45 IN NUMBER
134991 --Invoice Identifier
134992 , p_source_46 IN NUMBER
134993 --Invoice Distribution Identifier
134994 , p_source_52 IN NUMBER
134995 --Payables Encumbrance Upgrade Credit Account
134996 , p_source_53 IN NUMBER
134997 --Payables Encumbrance Upgrade Credit Amount
134998 , p_source_54 IN NUMBER
134999 --Invoice Currency Code
135003 --Payables Encumbrance Upgrade Debit Account
135000 , p_source_55 IN VARCHAR2
135001 --Payables Encumbrance Upgrade Credit Base Amount
135002 , p_source_56 IN NUMBER
135004 , p_source_57 IN NUMBER
135005 --Payables Encumbrance Upgrade Debit Amount
135006 , p_source_58 IN NUMBER
135007 --Payables Encumbrance Upgrade Debit Base Amount
135008 , p_source_59 IN NUMBER
135009 --Payables Encumbrance Upgrade Option
135010 , p_source_60 IN VARCHAR2
135011 --Invoice Distribution Amount
135012 , p_source_61 IN NUMBER
135013 --Deferred Accounting End Date
135014 , p_source_65 IN DATE
135015 --Deferred Accounting Option
135016 , p_source_66 IN VARCHAR2
135017 --Deferred Accounting Start Date
135018 , p_source_67 IN DATE
135019 --Override Accounted Amount Indicator
135020 , p_source_68 IN VARCHAR2
135021 , p_source_68_meaning IN VARCHAR2
135022 --Third Party Type
135023 , p_source_71 IN VARCHAR2
135024 --Parent Reversal Identifier
135025 , p_source_72 IN NUMBER
135026 --Invoice Distribution Statistical Amount
135027 , p_source_73 IN NUMBER
135028 --Invoice Distribution Tax Line Identifier
135029 , p_source_74 IN NUMBER
135030 --Invoice Distribution Tax Distribution Identifier from Tax
135031 , p_source_75 IN NUMBER
135032 --Invoice Distribution Summary Tax Line Identifier
135033 , p_source_76 IN NUMBER
135034 --Payables Upgrade Credit Encumbrance Type Identifier
135035 , p_source_77 IN NUMBER
135036 --Payables Upgrade Debit Encumbrance Type Identifier
135037 , p_source_78 IN NUMBER
135038 --Business Flow Accounts Payable Application Identifier
135039 , p_source_79 IN NUMBER
135040 --Business Flow Invoice Distribution Type
135041 , p_source_80 IN VARCHAR2
135042 --Business Flow Invoice Entity Code
135043 , p_source_81 IN VARCHAR2
135044 --Business Flow Invoice Distribution Identifier
135045 , p_source_82 IN NUMBER
135046 --Business Flow Invoice Identifier
135047 , p_source_83 IN NUMBER
135048 --Purchasing Encumbrance Option
135049 , p_source_86 IN VARCHAR2
135050 , p_source_86_meaning IN VARCHAR2
135051 --Invoice Encumbered Option
135052 , p_source_87 IN VARCHAR2
135053 , p_source_87_meaning IN VARCHAR2
135054 --Self-Assessed Tax Flag
135055 , p_source_135 IN VARCHAR2
135056 , p_source_135_meaning IN VARCHAR2
135057 --Invoice Distribution Encumbrance Amount
135058 , p_source_143 IN NUMBER
135059 --Invoice Distribution Encumbrance Ledger Amount
135060 , p_source_144 IN NUMBER
135061 )
135062 IS
135063
135064 l_component_type VARCHAR2(80);
135065 l_component_code VARCHAR2(30);
135066 l_component_type_code VARCHAR2(1);
135067 l_component_appl_id INTEGER;
135068 l_amb_context_code VARCHAR2(30);
135069 l_entity_code VARCHAR2(30);
135070 l_event_class_code VARCHAR2(30);
135071 l_ae_header_id NUMBER;
135072 l_event_type_code VARCHAR2(30);
135073 l_line_definition_code VARCHAR2(30);
135074 l_line_definition_owner_code VARCHAR2(1);
135075 --
135076 -- adr variables
135077 l_segment VARCHAR2(30);
135078 l_ccid NUMBER;
135079 l_adr_transaction_coa_id NUMBER;
135080 l_adr_accounting_coa_id NUMBER;
135081 l_adr_flexfield_segment_code VARCHAR2(30);
135082 l_adr_flex_value_set_id NUMBER;
135083 l_adr_value_type_code VARCHAR2(30);
135084 l_adr_value_combination_id NUMBER;
135085 l_adr_value_segment_code VARCHAR2(30);
135086
135087 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135088 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135089 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135090 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135091
135092 -- 4262811 Variables ------------------------------------------------------------------------------------------
135093 l_entered_amt_idx NUMBER;
135094 l_accted_amt_idx NUMBER;
135095 l_acc_rev_flag VARCHAR2(1);
135096 l_accrual_line_num NUMBER;
135097 l_tmp_amt NUMBER;
135098 l_acc_rev_natural_side_code VARCHAR2(1);
135099
135100 l_num_entries NUMBER;
135101 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135102 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135103 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135104 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135105 l_recog_line_1 NUMBER;
135106 l_recog_line_2 NUMBER;
135107
135108 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135109 l_bflow_applied_to_amt NUMBER; -- 5132302
135110 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
135111
135112 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
135113
135114 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
135115 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
135116
135117 ---------------------------------------------------------------------------------------------------------------
135121 -- bulk performance
135118
135119
135120 --
135122 --
135123 l_balance_type_code VARCHAR2(1);
135124 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135125 l_log_module VARCHAR2(240);
135126
135127 --
135128 -- Upgrade strategy
135129 --
135130 l_actual_upg_option VARCHAR2(1);
135131 l_enc_upg_option VARCHAR2(1);
135132
135133 --
135134 BEGIN
135135 --
135136 IF g_log_enabled THEN
135137 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_225';
135138 END IF;
135139 --
135140 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135141
135142 trace
135143 (p_msg => 'BEGIN of AcctLineType_225'
135144 ,p_level => C_LEVEL_PROCEDURE
135145 ,p_module => l_log_module);
135146
135147 END IF;
135148 --
135149 l_component_type := 'AMB_JLT';
135150 l_component_code := 'AP_RECOV_TAX_INV_ENC';
135151 l_component_type_code := 'S';
135152 l_component_appl_id := 200;
135153 l_amb_context_code := 'DEFAULT';
135154 l_entity_code := 'AP_INVOICES';
135155 l_event_class_code := 'INVOICES';
135156 l_event_type_code := 'INVOICES_ALL';
135157 l_line_definition_owner_code := 'S';
135158 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
135159 --
135160 l_balance_type_code := 'E';
135161 l_segment := NULL;
135162 l_ccid := NULL;
135163 l_adr_transaction_coa_id := NULL;
135164 l_adr_accounting_coa_id := NULL;
135165 l_adr_flexfield_segment_code := NULL;
135166 l_adr_flex_value_set_id := NULL;
135167 l_adr_value_type_code := NULL;
135168 l_adr_value_combination_id := NULL;
135169 l_adr_value_segment_code := NULL;
135170
135171 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
135172 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
135173 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135174 l_budgetary_control_flag := 'N';
135175
135176 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135177 l_bflow_applied_to_amt := NULL; -- 5132302
135178 l_entered_amt_idx := NULL; -- 4262811
135179 l_accted_amt_idx := NULL; -- 4262811
135180 l_acc_rev_flag := NULL; -- 4262811
135181 l_accrual_line_num := NULL; -- 4262811
135182 l_tmp_amt := NULL; -- 4262811
135183 --
135184
135185 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135186 l_balance_type_code <> 'B' THEN
135187 IF NVL(p_source_21,'
135188 ') = 'REC_TAX' AND
135189 NVL(p_source_135,'
135190 ') <> 'Y' AND
135191 NVL(p_source_86,'
135192 ') = 'Y' AND
135193 NVL(p_source_87,'
135194 ') = 'Y'
135195 THEN
135196
135197 --
135198 XLA_AE_LINES_PKG.SetNewLine;
135199
135200 p_balance_type_code := l_balance_type_code;
135201 -- set the flag so later we will know whether the gain loss line needs to be created
135202
135203 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135204 p_actual_flag :='A';
135205 END IF;
135206
135207 --
135208 -- bulk performance
135209 --
135210 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135211 p_header_num => 0); -- 4262811
135212 --
135213 -- set accounting line options
135214 --
135215 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135216 p_natural_side_code => 'C'
135217 , p_gain_or_loss_flag => 'N'
135218 , p_gl_transfer_mode_code => 'S'
135219 , p_acct_entry_type_code => 'E'
135220 , p_switch_side_flag => 'Y'
135221 , p_merge_duplicate_code => 'A'
135222 );
135223 --
135224 l_acc_rev_natural_side_code := 'D'; -- 4262811
135225 --
135226 --
135227 -- set accounting line type info
135228 --
135229 xla_ae_lines_pkg.SetAcctLineType
135230 (p_component_type => l_component_type
135231 ,p_event_type_code => l_event_type_code
135232 ,p_line_definition_owner_code => l_line_definition_owner_code
135233 ,p_line_definition_code => l_line_definition_code
135234 ,p_accounting_line_code => l_component_code
135235 ,p_accounting_line_type_code => l_component_type_code
135236 ,p_accounting_line_appl_id => l_component_appl_id
135237 ,p_amb_context_code => l_amb_context_code
135238 ,p_entity_code => l_entity_code
135239 ,p_event_class_code => l_event_class_code);
135240 --
135241 -- set accounting class
135242 --
135243 xla_ae_lines_pkg.SetAcctClass(
135244 p_accounting_class_code => 'RTAX'
135245 , p_ae_header_id => l_ae_header_id
135246 );
135247
135248 --
135249 -- set rounding class
135250 --
135251 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135252 'RTAX';
135253
135254 --
135255 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135256 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135257 --
135258 -- bulk performance
135259 --
135263 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135260 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135261
135262 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135264
135265 -- 4955764
135266 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135267 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135268
135269 -- 4458381 Public Sector Enh
135270
135271 --
135272 -- set accounting attributes for the line type
135273 --
135274 l_entered_amt_idx := 24;
135275 l_accted_amt_idx := 26;
135276 l_bflow_applied_to_amt_idx := 7; -- 5132302
135277 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135278 l_rec_acct_attrs.array_char_value(1) := p_source_41;
135279 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135280 l_rec_acct_attrs.array_num_value(2) :=
135281 xla_ae_sources_pkg.GetSystemSourceNum(
135282 p_source_code => 'XLA_EVENT_APPL_ID'
135283 , p_source_type_code => 'Y'
135284 , p_source_application_id => 602
135285 );
135286 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135287 l_rec_acct_attrs.array_char_value(3) := p_source_43;
135288 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
135289 l_rec_acct_attrs.array_char_value(4) :=
135290 xla_ae_sources_pkg.GetSystemSourceChar(
135291 p_source_code => 'XLA_ENTITY_CODE'
135292 , p_source_type_code => 'Y'
135293 , p_source_application_id => 602
135294 );
135295 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
135296 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
135297 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
135298 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
135299 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
135300 l_rec_acct_attrs.array_num_value(7) := p_source_61;
135301 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
135302 l_rec_acct_attrs.array_num_value(8) := p_source_79;
135303 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
135304 l_rec_acct_attrs.array_char_value(9) := p_source_80;
135305 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
135306 l_rec_acct_attrs.array_char_value(10) := p_source_81;
135307 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
135308 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
135309 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
135310 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
135311 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
135312 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
135313 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
135314 l_rec_acct_attrs.array_char_value(14) := p_source_43;
135315 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
135316 l_rec_acct_attrs.array_num_value(15) := p_source_53;
135317 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
135318 l_rec_acct_attrs.array_num_value(16) := p_source_54;
135319 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
135320 l_rec_acct_attrs.array_char_value(17) := p_source_55;
135321 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
135322 l_rec_acct_attrs.array_num_value(18) := p_source_56;
135323 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
135324 l_rec_acct_attrs.array_num_value(19) := p_source_57;
135325 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
135326 l_rec_acct_attrs.array_num_value(20) := p_source_58;
135327 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
135328 l_rec_acct_attrs.array_char_value(21) := p_source_55;
135329 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
135330 l_rec_acct_attrs.array_num_value(22) := p_source_59;
135331 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
135332 l_rec_acct_attrs.array_char_value(23) := p_source_60;
135333 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
135334 l_rec_acct_attrs.array_num_value(24) := p_source_143;
135335 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
135336 l_rec_acct_attrs.array_char_value(25) := p_source_55;
135337 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
135338 l_rec_acct_attrs.array_num_value(26) := p_source_144;
135339 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
135340 l_rec_acct_attrs.array_date_value(27) := p_source_65;
135341 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
135342 l_rec_acct_attrs.array_char_value(28) := p_source_66;
135343 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
135344 l_rec_acct_attrs.array_date_value(29) := p_source_67;
135345 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
135346 l_rec_acct_attrs.array_char_value(30) := p_source_68;
135347 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
135348 l_rec_acct_attrs.array_char_value(31) := p_source_71;
135349 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
135350 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
135351 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
135352 l_rec_acct_attrs.array_char_value(33) := p_source_43;
135356 l_rec_acct_attrs.array_num_value(35) := p_source_74;
135353 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
135354 l_rec_acct_attrs.array_num_value(34) := p_source_73;
135355 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
135357 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
135358 l_rec_acct_attrs.array_num_value(36) := p_source_75;
135359 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
135360 l_rec_acct_attrs.array_num_value(37) := p_source_76;
135361 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
135362 l_rec_acct_attrs.array_num_value(38) := p_source_77;
135363 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
135364 l_rec_acct_attrs.array_num_value(39) := p_source_78;
135365
135366 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
135367 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
135368
135369 ---------------------------------------------------------------------------------------------------------------
135370 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
135371 ---------------------------------------------------------------------------------------------------------------
135372 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
135373
135374 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135375 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
135376
135377 IF xla_accounting_cache_pkg.GetValueChar
135378 (p_source_code => 'LEDGER_CATEGORY_CODE'
135379 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
135380 AND l_bflow_method_code = 'PRIOR_ENTRY'
135381 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
135382 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
135383 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
135384 )
135385 THEN
135386 xla_ae_lines_pkg.BflowUpgEntry
135387 (p_business_method_code => l_bflow_method_code
135388 ,p_business_class_code => l_bflow_class_code
135389 ,p_balance_type => l_balance_type_code);
135390 ELSE
135391 NULL;
135392 XLA_AE_LINES_PKG.business_flow_validation(
135393 p_business_method_code => l_bflow_method_code
135394 ,p_business_class_code => l_bflow_class_code
135395 ,p_inherit_description_flag => l_inherit_desc_flag);
135396 END IF;
135397
135398 --
135399 -- call analytical criteria
135400 --
135401 -- Inherited Analytical Criteria for business flow method of Prior Entry.
135402 --
135403 -- call description
135404 --
135405 -- No description or it is inherited.
135406 --
135407 -- call ADRs
135408 -- Bug 4922099
135409 --
135410 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135411 (NVL(l_actual_upg_option, 'N') = 'O') OR
135412 (NVL(l_enc_upg_option, 'N') = 'O')
135413 )
135414 THEN
135415 NULL;
135416 --
135417 --
135418
135419 --
135420 --
135421 END IF;
135422 --
135423 -- Bug 4922099
135424 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
135425 (NVL(l_enc_upg_option, 'N') = 'O')
135426 ) AND
135427 (l_bflow_method_code = 'PRIOR_ENTRY')
135428 )
135429 THEN
135430 IF
135431 --
135432 1 = 1
135433 --
135434 THEN
135435 xla_accounting_err_pkg.build_message
135436 (p_appli_s_name => 'XLA'
135437 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135438 ,p_token_1 => 'LINE_NUMBER'
135439 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
135440 ,p_token_2 => 'LINE_TYPE_NAME'
135441 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
135442 l_component_type
135443 ,l_component_code
135444 ,l_component_type_code
135445 ,l_component_appl_id
135446 ,l_amb_context_code
135447 ,l_entity_code
135448 ,l_event_class_code
135449 )
135450 ,p_token_3 => 'OWNER'
135451 ,p_value_3 => xla_lookups_pkg.get_meaning(
135452 p_lookup_type => 'XLA_OWNER_TYPE'
135453 ,p_lookup_code => l_component_type_code
135454 )
135458 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
135455 ,p_token_4 => 'PRODUCT_NAME'
135456 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
135457 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
135459 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
135460 ,p_ae_header_id => NULL
135461 );
135462
135463 IF (C_LEVEL_ERROR>= g_log_level) THEN
135464 trace
135465 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
135466 ,p_level => C_LEVEL_ERROR
135467 ,p_module => l_log_module);
135468 END IF;
135469 END IF;
135470 END IF;
135471 --
135472 --
135473 ------------------------------------------------------------------------------------------------
135474 -- 4219869 Business Flow
135475 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
135476 -- Prior Entry. Currently, the following code is always generated.
135477 ------------------------------------------------------------------------------------------------
135478 -- No ValidateCurrentLine for business flow method of Prior Entry
135479
135480 ------------------------------------------------------------------------------------
135481 -- 4219869 Business Flow
135482 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
135483 ------------------------------------------------------------------------------------
135484 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135485
135486 ----------------------------------------------------------------------------------
135487 -- 4219869 Business Flow
135488 -- Update journal entry status -- Need to generate this within IF <condition>
135489 ----------------------------------------------------------------------------------
135490 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135491 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
135492 ,p_balance_type_code => l_balance_type_code
135493 );
135494
135495 -------------------------------------------------------------------------------------------
135496 -- 4262811 - Generate the Accrual Reversal lines
135497 -------------------------------------------------------------------------------------------
135498 BEGIN
135499 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
135500 (g_array_event(p_event_id).array_value_num('header_index'));
135501 IF l_acc_rev_flag IS NULL THEN
135502 l_acc_rev_flag := 'N';
135503 END IF;
135504 EXCEPTION
135505 WHEN OTHERS THEN
135506 l_acc_rev_flag := 'N';
135507 END;
135508 --
135509 IF (l_acc_rev_flag = 'Y') THEN
135510
135511 -- 4645092 ------------------------------------------------------------------------------
135512 -- To allow MPA report to determine if it should generate report process
135513 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
135514 ------------------------------------------------------------------------------------------
135515
135516 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
135517 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
135518 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
135519 -- call ADRs
135520 -- Bug 4922099
135521 --
135522 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
135523 (NVL(l_actual_upg_option, 'N') = 'O') OR
135524 (NVL(l_enc_upg_option, 'N') = 'O')
135525 )
135526 THEN
135527 NULL;
135528 --
135529 --
135530
135531 --
135532 --
135533 END IF;
135534
135535 --
135536 -- Update the line information that should be overwritten
135537 --
135538 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
135539 p_header_num => 1);
135540 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
135541
135542 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
135543
135544 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
135545 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
135546 END IF;
135547
135548 --
135549 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
135550 --
135551 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
135552 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
135553 ELSE
135554 ---------------------------------------------------------------------------------------------------
135555 -- 4262811a Switch Sign
135556 ---------------------------------------------------------------------------------------------------
135557 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
135561 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135558 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135559 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135560 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
135562 -- 5132302
135563 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
135564 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
135565
135566 END IF;
135567
135568 -- 4955764
135569 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135570 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
135571
135572
135573 XLA_AE_LINES_PKG.ValidateCurrentLine;
135574 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
135575
135576 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
135577 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
135578 ,p_balance_type_code => l_balance_type_code);
135579
135580 END IF;
135581
135582 -----------------------------------------------------------------------------------------
135583 -- 4262811 Multiperiod Accounting
135584 -----------------------------------------------------------------------------------------
135585 -- No MPA option is assigned.
135586
135587
135588 END IF;
135589 END IF;
135590 --
135591
135592 --
135593 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135594 trace
135595 (p_msg => 'END of AcctLineType_225'
135596 ,p_level => C_LEVEL_PROCEDURE
135597 ,p_module => l_log_module);
135598 END IF;
135599 --
135600 EXCEPTION
135601 WHEN xla_exceptions_pkg.application_exception THEN
135602 RAISE;
135603 WHEN OTHERS THEN
135604 xla_exceptions_pkg.raise_message
135605 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_225');
135606 END AcctLineType_225;
135607 --
135608
135609 ---------------------------------------
135610 --
135611 -- PRIVATE FUNCTION
135612 -- AcctLineType_226
135613 --
135614 ---------------------------------------
135615 PROCEDURE AcctLineType_226 (
135616 p_application_id IN NUMBER
135617 ,p_event_id IN NUMBER
135618 ,p_calculate_acctd_flag IN VARCHAR2
135619 ,p_calculate_g_l_flag IN VARCHAR2
135620 ,p_actual_flag IN OUT VARCHAR2
135621 ,p_balance_type_code OUT VARCHAR2
135622 ,p_gain_or_loss_ref OUT VARCHAR2
135623
135624 --Invoice Distribution Type
135625 , p_source_21 IN VARCHAR2
135626 , p_source_21_meaning IN VARCHAR2
135627 --Accounting Reversal Indicator
135628 , p_source_41 IN VARCHAR2
135629 --Distribution Link Type
135630 , p_source_43 IN VARCHAR2
135631 --Allocation to Main Distribution Identifier
135632 , p_source_45 IN NUMBER
135633 --Invoice Identifier
135634 , p_source_46 IN NUMBER
135635 --Invoice Distribution Identifier
135636 , p_source_52 IN NUMBER
135637 --Payables Encumbrance Upgrade Credit Account
135638 , p_source_53 IN NUMBER
135639 --Payables Encumbrance Upgrade Credit Amount
135640 , p_source_54 IN NUMBER
135641 --Invoice Currency Code
135642 , p_source_55 IN VARCHAR2
135643 --Payables Encumbrance Upgrade Credit Base Amount
135644 , p_source_56 IN NUMBER
135645 --Payables Encumbrance Upgrade Debit Account
135646 , p_source_57 IN NUMBER
135647 --Payables Encumbrance Upgrade Debit Amount
135648 , p_source_58 IN NUMBER
135649 --Payables Encumbrance Upgrade Debit Base Amount
135650 , p_source_59 IN NUMBER
135651 --Payables Encumbrance Upgrade Option
135652 , p_source_60 IN VARCHAR2
135653 --Deferred Accounting End Date
135654 , p_source_65 IN DATE
135655 --Deferred Accounting Option
135656 , p_source_66 IN VARCHAR2
135657 --Deferred Accounting Start Date
135658 , p_source_67 IN DATE
135659 --Override Accounted Amount Indicator
135660 , p_source_68 IN VARCHAR2
135661 , p_source_68_meaning IN VARCHAR2
135662 --Third Party Type
135663 , p_source_71 IN VARCHAR2
135664 --Parent Reversal Identifier
135665 , p_source_72 IN NUMBER
135666 --Invoice Distribution Statistical Amount
135667 , p_source_73 IN NUMBER
135668 --Invoice Distribution Tax Line Identifier
135669 , p_source_74 IN NUMBER
135670 --Invoice Distribution Tax Distribution Identifier from Tax
135671 , p_source_75 IN NUMBER
135672 --Invoice Distribution Summary Tax Line Identifier
135673 , p_source_76 IN NUMBER
135674 --Payables Upgrade Credit Encumbrance Type Identifier
135675 , p_source_77 IN NUMBER
135676 --Payables Upgrade Debit Encumbrance Type Identifier
135677 , p_source_78 IN NUMBER
135678 --Business Flow Accounts Payable Application Identifier
135679 , p_source_79 IN NUMBER
135680 --Business Flow Invoice Distribution Type
135681 , p_source_80 IN VARCHAR2
135682 --Business Flow Invoice Entity Code
135683 , p_source_81 IN VARCHAR2
135684 --Business Flow Invoice Distribution Identifier
135685 , p_source_82 IN NUMBER
135689 , p_source_86 IN VARCHAR2
135686 --Business Flow Invoice Identifier
135687 , p_source_83 IN NUMBER
135688 --Purchasing Encumbrance Option
135690 , p_source_86_meaning IN VARCHAR2
135691 --Invoice Encumbered Option
135692 , p_source_87 IN VARCHAR2
135693 , p_source_87_meaning IN VARCHAR2
135694 --Self-Assessed Tax Flag
135695 , p_source_135 IN VARCHAR2
135696 , p_source_135_meaning IN VARCHAR2
135697 --Invoice Distribution Encumbrance Amount
135698 , p_source_143 IN NUMBER
135699 --Invoice Distribution Encumbrance Ledger Amount
135700 , p_source_144 IN NUMBER
135701 )
135702 IS
135703
135704 l_component_type VARCHAR2(80);
135705 l_component_code VARCHAR2(30);
135706 l_component_type_code VARCHAR2(1);
135707 l_component_appl_id INTEGER;
135708 l_amb_context_code VARCHAR2(30);
135709 l_entity_code VARCHAR2(30);
135710 l_event_class_code VARCHAR2(30);
135711 l_ae_header_id NUMBER;
135712 l_event_type_code VARCHAR2(30);
135713 l_line_definition_code VARCHAR2(30);
135714 l_line_definition_owner_code VARCHAR2(1);
135715 --
135716 -- adr variables
135717 l_segment VARCHAR2(30);
135718 l_ccid NUMBER;
135719 l_adr_transaction_coa_id NUMBER;
135720 l_adr_accounting_coa_id NUMBER;
135721 l_adr_flexfield_segment_code VARCHAR2(30);
135722 l_adr_flex_value_set_id NUMBER;
135723 l_adr_value_type_code VARCHAR2(30);
135724 l_adr_value_combination_id NUMBER;
135725 l_adr_value_segment_code VARCHAR2(30);
135726
135727 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
135728 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
135729 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
135730 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
135731
135732 -- 4262811 Variables ------------------------------------------------------------------------------------------
135733 l_entered_amt_idx NUMBER;
135734 l_accted_amt_idx NUMBER;
135735 l_acc_rev_flag VARCHAR2(1);
135736 l_accrual_line_num NUMBER;
135737 l_tmp_amt NUMBER;
135738 l_acc_rev_natural_side_code VARCHAR2(1);
135739
135740 l_num_entries NUMBER;
135741 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
135742 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
135743 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
135744 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
135745 l_recog_line_1 NUMBER;
135746 l_recog_line_2 NUMBER;
135747
135748 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
135749 l_bflow_applied_to_amt NUMBER; -- 5132302
135750 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
135751
135752 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
135753
135754 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
135755 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
135756
135757 ---------------------------------------------------------------------------------------------------------------
135758
135759
135760 --
135761 -- bulk performance
135762 --
135763 l_balance_type_code VARCHAR2(1);
135764 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
135765 l_log_module VARCHAR2(240);
135766
135767 --
135768 -- Upgrade strategy
135769 --
135770 l_actual_upg_option VARCHAR2(1);
135771 l_enc_upg_option VARCHAR2(1);
135772
135773 --
135774 BEGIN
135775 --
135776 IF g_log_enabled THEN
135777 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_226';
135778 END IF;
135779 --
135780 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
135781
135782 trace
135783 (p_msg => 'BEGIN of AcctLineType_226'
135784 ,p_level => C_LEVEL_PROCEDURE
135785 ,p_module => l_log_module);
135786
135787 END IF;
135788 --
135789 l_component_type := 'AMB_JLT';
135790 l_component_code := 'AP_RECOV_TAX_PP_ENC';
135791 l_component_type_code := 'S';
135792 l_component_appl_id := 200;
135793 l_amb_context_code := 'DEFAULT';
135794 l_entity_code := 'AP_INVOICES';
135795 l_event_class_code := 'PREPAYMENTS';
135796 l_event_type_code := 'PREPAYMENTS_ALL';
135797 l_line_definition_owner_code := 'S';
135798 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
135799 --
135800 l_balance_type_code := 'E';
135801 l_segment := NULL;
135802 l_ccid := NULL;
135803 l_adr_transaction_coa_id := NULL;
135804 l_adr_accounting_coa_id := NULL;
135805 l_adr_flexfield_segment_code := NULL;
135806 l_adr_flex_value_set_id := NULL;
135807 l_adr_value_type_code := NULL;
135808 l_adr_value_combination_id := NULL;
135809 l_adr_value_segment_code := NULL;
135810
135811 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
135812 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
135816 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135813 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
135814 l_budgetary_control_flag := 'N';
135815
135817 l_bflow_applied_to_amt := NULL; -- 5132302
135818 l_entered_amt_idx := NULL; -- 4262811
135819 l_accted_amt_idx := NULL; -- 4262811
135820 l_acc_rev_flag := NULL; -- 4262811
135821 l_accrual_line_num := NULL; -- 4262811
135822 l_tmp_amt := NULL; -- 4262811
135823 --
135824
135825 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
135826 l_balance_type_code <> 'B' THEN
135827 IF NVL(p_source_21,'
135828 ') = 'REC_TAX' AND
135829 NVL(p_source_135,'
135830 ') <> 'Y' AND
135831 NVL(p_source_86,'
135832 ') = 'Y' AND
135833 NVL(p_source_87,'
135834 ') = 'Y'
135835 THEN
135836
135837 --
135838 XLA_AE_LINES_PKG.SetNewLine;
135839
135840 p_balance_type_code := l_balance_type_code;
135841 -- set the flag so later we will know whether the gain loss line needs to be created
135842
135843 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
135844 p_actual_flag :='A';
135845 END IF;
135846
135847 --
135848 -- bulk performance
135849 --
135850 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
135851 p_header_num => 0); -- 4262811
135852 --
135853 -- set accounting line options
135854 --
135855 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
135856 p_natural_side_code => 'C'
135857 , p_gain_or_loss_flag => 'N'
135858 , p_gl_transfer_mode_code => 'S'
135859 , p_acct_entry_type_code => 'E'
135860 , p_switch_side_flag => 'Y'
135861 , p_merge_duplicate_code => 'A'
135862 );
135863 --
135864 l_acc_rev_natural_side_code := 'D'; -- 4262811
135865 --
135866 --
135867 -- set accounting line type info
135868 --
135869 xla_ae_lines_pkg.SetAcctLineType
135870 (p_component_type => l_component_type
135871 ,p_event_type_code => l_event_type_code
135872 ,p_line_definition_owner_code => l_line_definition_owner_code
135873 ,p_line_definition_code => l_line_definition_code
135874 ,p_accounting_line_code => l_component_code
135875 ,p_accounting_line_type_code => l_component_type_code
135876 ,p_accounting_line_appl_id => l_component_appl_id
135877 ,p_amb_context_code => l_amb_context_code
135878 ,p_entity_code => l_entity_code
135879 ,p_event_class_code => l_event_class_code);
135880 --
135881 -- set accounting class
135882 --
135883 xla_ae_lines_pkg.SetAcctClass(
135884 p_accounting_class_code => 'RTAX'
135885 , p_ae_header_id => l_ae_header_id
135886 );
135887
135888 --
135889 -- set rounding class
135890 --
135891 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
135892 'RTAX';
135893
135894 --
135895 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
135896 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
135897 --
135898 -- bulk performance
135899 --
135900 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
135901
135902 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
135903 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
135904
135905 -- 4955764
135906 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
135907 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
135908
135909 -- 4458381 Public Sector Enh
135910
135911 --
135912 -- set accounting attributes for the line type
135913 --
135914 l_entered_amt_idx := 23;
135915 l_accted_amt_idx := 25;
135916 l_bflow_applied_to_amt_idx := NULL; -- 5132302
135917 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
135918 l_rec_acct_attrs.array_char_value(1) := p_source_41;
135919 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
135920 l_rec_acct_attrs.array_num_value(2) :=
135921 xla_ae_sources_pkg.GetSystemSourceNum(
135922 p_source_code => 'XLA_EVENT_APPL_ID'
135923 , p_source_type_code => 'Y'
135924 , p_source_application_id => 602
135925 );
135926 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
135927 l_rec_acct_attrs.array_char_value(3) := p_source_43;
135928 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
135929 l_rec_acct_attrs.array_char_value(4) :=
135930 xla_ae_sources_pkg.GetSystemSourceChar(
135931 p_source_code => 'XLA_ENTITY_CODE'
135932 , p_source_type_code => 'Y'
135933 , p_source_application_id => 602
135934 );
135935 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
135936 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
135937 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
135938 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
135939 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
135943 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
135940 l_rec_acct_attrs.array_num_value(7) := p_source_79;
135941 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
135942 l_rec_acct_attrs.array_char_value(8) := p_source_80;
135944 l_rec_acct_attrs.array_char_value(9) := p_source_81;
135945 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
135946 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
135947 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
135948 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
135949 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
135950 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
135951 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
135952 l_rec_acct_attrs.array_char_value(13) := p_source_43;
135953 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
135954 l_rec_acct_attrs.array_num_value(14) := p_source_53;
135955 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
135956 l_rec_acct_attrs.array_num_value(15) := p_source_54;
135957 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
135958 l_rec_acct_attrs.array_char_value(16) := p_source_55;
135959 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
135960 l_rec_acct_attrs.array_num_value(17) := p_source_56;
135961 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
135962 l_rec_acct_attrs.array_num_value(18) := p_source_57;
135963 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
135964 l_rec_acct_attrs.array_num_value(19) := p_source_58;
135965 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
135966 l_rec_acct_attrs.array_char_value(20) := p_source_55;
135967 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
135968 l_rec_acct_attrs.array_num_value(21) := p_source_59;
135969 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
135970 l_rec_acct_attrs.array_char_value(22) := p_source_60;
135971 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
135972 l_rec_acct_attrs.array_num_value(23) := p_source_143;
135973 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
135974 l_rec_acct_attrs.array_char_value(24) := p_source_55;
135975 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
135976 l_rec_acct_attrs.array_num_value(25) := p_source_144;
135977 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
135978 l_rec_acct_attrs.array_date_value(26) := p_source_65;
135979 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
135980 l_rec_acct_attrs.array_char_value(27) := p_source_66;
135981 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
135982 l_rec_acct_attrs.array_date_value(28) := p_source_67;
135983 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
135984 l_rec_acct_attrs.array_char_value(29) := p_source_68;
135985 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
135986 l_rec_acct_attrs.array_char_value(30) := p_source_71;
135987 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
135988 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
135989 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
135990 l_rec_acct_attrs.array_char_value(32) := p_source_43;
135991 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
135992 l_rec_acct_attrs.array_num_value(33) := p_source_73;
135993 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
135994 l_rec_acct_attrs.array_num_value(34) := p_source_74;
135995 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
135996 l_rec_acct_attrs.array_num_value(35) := p_source_75;
135997 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
135998 l_rec_acct_attrs.array_num_value(36) := p_source_76;
135999 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
136000 l_rec_acct_attrs.array_num_value(37) := p_source_77;
136001 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
136002 l_rec_acct_attrs.array_num_value(38) := p_source_78;
136003
136004 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136005 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136006
136007 ---------------------------------------------------------------------------------------------------------------
136008 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136009 ---------------------------------------------------------------------------------------------------------------
136010 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136011
136012 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136013 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136014
136015 IF xla_accounting_cache_pkg.GetValueChar
136016 (p_source_code => 'LEDGER_CATEGORY_CODE'
136017 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136018 AND l_bflow_method_code = 'PRIOR_ENTRY'
136019 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136020 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136021 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136025 (p_business_method_code => l_bflow_method_code
136022 )
136023 THEN
136024 xla_ae_lines_pkg.BflowUpgEntry
136026 ,p_business_class_code => l_bflow_class_code
136027 ,p_balance_type => l_balance_type_code);
136028 ELSE
136029 NULL;
136030 XLA_AE_LINES_PKG.business_flow_validation(
136031 p_business_method_code => l_bflow_method_code
136032 ,p_business_class_code => l_bflow_class_code
136033 ,p_inherit_description_flag => l_inherit_desc_flag);
136034 END IF;
136035
136036 --
136037 -- call analytical criteria
136038 --
136039 -- Inherited Analytical Criteria for business flow method of Prior Entry.
136040 --
136041 -- call description
136042 --
136043 -- No description or it is inherited.
136044 --
136045 -- call ADRs
136046 -- Bug 4922099
136047 --
136048 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136049 (NVL(l_actual_upg_option, 'N') = 'O') OR
136050 (NVL(l_enc_upg_option, 'N') = 'O')
136051 )
136052 THEN
136053 NULL;
136054 --
136055 --
136056
136057 --
136058 --
136059 END IF;
136060 --
136061 -- Bug 4922099
136062 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136063 (NVL(l_enc_upg_option, 'N') = 'O')
136064 ) AND
136065 (l_bflow_method_code = 'PRIOR_ENTRY')
136066 )
136067 THEN
136068 IF
136069 --
136070 1 = 1
136071 --
136072 THEN
136073 xla_accounting_err_pkg.build_message
136074 (p_appli_s_name => 'XLA'
136075 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136076 ,p_token_1 => 'LINE_NUMBER'
136077 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136078 ,p_token_2 => 'LINE_TYPE_NAME'
136079 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136080 l_component_type
136081 ,l_component_code
136082 ,l_component_type_code
136083 ,l_component_appl_id
136084 ,l_amb_context_code
136085 ,l_entity_code
136086 ,l_event_class_code
136087 )
136088 ,p_token_3 => 'OWNER'
136089 ,p_value_3 => xla_lookups_pkg.get_meaning(
136090 p_lookup_type => 'XLA_OWNER_TYPE'
136091 ,p_lookup_code => l_component_type_code
136092 )
136093 ,p_token_4 => 'PRODUCT_NAME'
136094 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136095 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136096 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136097 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136098 ,p_ae_header_id => NULL
136099 );
136100
136101 IF (C_LEVEL_ERROR>= g_log_level) THEN
136102 trace
136103 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136104 ,p_level => C_LEVEL_ERROR
136105 ,p_module => l_log_module);
136106 END IF;
136107 END IF;
136108 END IF;
136109 --
136110 --
136111 ------------------------------------------------------------------------------------------------
136112 -- 4219869 Business Flow
136113 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136114 -- Prior Entry. Currently, the following code is always generated.
136115 ------------------------------------------------------------------------------------------------
136116 -- No ValidateCurrentLine for business flow method of Prior Entry
136117
136118 ------------------------------------------------------------------------------------
136119 -- 4219869 Business Flow
136120 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136121 ------------------------------------------------------------------------------------
136122 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136123
136124 ----------------------------------------------------------------------------------
136125 -- 4219869 Business Flow
136126 -- Update journal entry status -- Need to generate this within IF <condition>
136127 ----------------------------------------------------------------------------------
136128 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136132
136129 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136130 ,p_balance_type_code => l_balance_type_code
136131 );
136133 -------------------------------------------------------------------------------------------
136134 -- 4262811 - Generate the Accrual Reversal lines
136135 -------------------------------------------------------------------------------------------
136136 BEGIN
136137 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136138 (g_array_event(p_event_id).array_value_num('header_index'));
136139 IF l_acc_rev_flag IS NULL THEN
136140 l_acc_rev_flag := 'N';
136141 END IF;
136142 EXCEPTION
136143 WHEN OTHERS THEN
136144 l_acc_rev_flag := 'N';
136145 END;
136146 --
136147 IF (l_acc_rev_flag = 'Y') THEN
136148
136149 -- 4645092 ------------------------------------------------------------------------------
136150 -- To allow MPA report to determine if it should generate report process
136151 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136152 ------------------------------------------------------------------------------------------
136153
136154 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136155 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136156 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136157 -- call ADRs
136158 -- Bug 4922099
136159 --
136160 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136161 (NVL(l_actual_upg_option, 'N') = 'O') OR
136162 (NVL(l_enc_upg_option, 'N') = 'O')
136163 )
136164 THEN
136165 NULL;
136166 --
136167 --
136168
136169 --
136170 --
136171 END IF;
136172
136173 --
136174 -- Update the line information that should be overwritten
136175 --
136176 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
136177 p_header_num => 1);
136178 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
136179
136180 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
136181
136182 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
136183 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
136184 END IF;
136185
136186 --
136187 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
136188 --
136189 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
136190 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
136191 ELSE
136192 ---------------------------------------------------------------------------------------------------
136193 -- 4262811a Switch Sign
136194 ---------------------------------------------------------------------------------------------------
136195 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
136196 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136197 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136198 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136199 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136200 -- 5132302
136201 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
136202 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136203
136204 END IF;
136205
136206 -- 4955764
136207 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136208 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
136209
136210
136211 XLA_AE_LINES_PKG.ValidateCurrentLine;
136212 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136213
136214 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136215 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
136216 ,p_balance_type_code => l_balance_type_code);
136217
136218 END IF;
136219
136220 -----------------------------------------------------------------------------------------
136221 -- 4262811 Multiperiod Accounting
136222 -----------------------------------------------------------------------------------------
136223 -- No MPA option is assigned.
136224
136225
136226 END IF;
136227 END IF;
136228 --
136229
136230 --
136231 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136232 trace
136233 (p_msg => 'END of AcctLineType_226'
136234 ,p_level => C_LEVEL_PROCEDURE
136235 ,p_module => l_log_module);
136236 END IF;
136237 --
136238 EXCEPTION
136239 WHEN xla_exceptions_pkg.application_exception THEN
136240 RAISE;
136241 WHEN OTHERS THEN
136242 xla_exceptions_pkg.raise_message
136243 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_226');
136244 END AcctLineType_226;
136245 --
136246
136247 ---------------------------------------
136251 --
136248 --
136249 -- PRIVATE FUNCTION
136250 -- AcctLineType_227
136252 ---------------------------------------
136253 PROCEDURE AcctLineType_227 (
136254 p_application_id IN NUMBER
136255 ,p_event_id IN NUMBER
136256 ,p_calculate_acctd_flag IN VARCHAR2
136257 ,p_calculate_g_l_flag IN VARCHAR2
136258 ,p_actual_flag IN OUT VARCHAR2
136259 ,p_balance_type_code OUT VARCHAR2
136260 ,p_gain_or_loss_ref OUT VARCHAR2
136261
136262 --Invoice Distribution Description
136263 , p_source_1 IN VARCHAR2
136264 --Invoice Distribution Ledger Amount
136265 , p_source_9 IN NUMBER
136266 --Invoice Distribution Account
136267 , p_source_18 IN NUMBER
136268 --Invoice Distribution Type
136269 , p_source_21 IN VARCHAR2
136270 , p_source_21_meaning IN VARCHAR2
136271 --Accounting Reversal Indicator
136272 , p_source_41 IN VARCHAR2
136273 --Distribution Link Type
136274 , p_source_43 IN VARCHAR2
136275 --Allocation to Main Distribution Identifier
136276 , p_source_45 IN NUMBER
136277 --Invoice Identifier
136278 , p_source_46 IN NUMBER
136279 --Invoice Distribution Identifier
136280 , p_source_52 IN NUMBER
136281 --Payables Encumbrance Upgrade Credit Account
136282 , p_source_53 IN NUMBER
136283 --Payables Encumbrance Upgrade Credit Amount
136284 , p_source_54 IN NUMBER
136285 --Invoice Currency Code
136286 , p_source_55 IN VARCHAR2
136287 --Payables Encumbrance Upgrade Credit Base Amount
136288 , p_source_56 IN NUMBER
136289 --Payables Encumbrance Upgrade Debit Account
136290 , p_source_57 IN NUMBER
136291 --Payables Encumbrance Upgrade Debit Amount
136292 , p_source_58 IN NUMBER
136293 --Payables Encumbrance Upgrade Debit Base Amount
136294 , p_source_59 IN NUMBER
136295 --Payables Encumbrance Upgrade Option
136296 , p_source_60 IN VARCHAR2
136297 --Invoice Distribution Amount
136298 , p_source_61 IN NUMBER
136299 --Deferred Accounting End Date
136300 , p_source_65 IN DATE
136301 --Deferred Accounting Option
136302 , p_source_66 IN VARCHAR2
136303 --Deferred Accounting Start Date
136304 , p_source_67 IN DATE
136305 --Override Accounted Amount Indicator
136306 , p_source_68 IN VARCHAR2
136307 , p_source_68_meaning IN VARCHAR2
136308 --Invoice Supplier Identifier
136309 , p_source_69 IN NUMBER
136310 --Invoice Supplier Site Identifier
136311 , p_source_70 IN NUMBER
136312 --Third Party Type
136313 , p_source_71 IN VARCHAR2
136314 --Parent Reversal Identifier
136315 , p_source_72 IN NUMBER
136316 --Invoice Distribution Statistical Amount
136317 , p_source_73 IN NUMBER
136318 --Invoice Distribution Tax Line Identifier
136319 , p_source_74 IN NUMBER
136320 --Invoice Distribution Tax Distribution Identifier from Tax
136321 , p_source_75 IN NUMBER
136322 --Invoice Distribution Summary Tax Line Identifier
136323 , p_source_76 IN NUMBER
136324 --Payables Upgrade Credit Encumbrance Type Identifier
136325 , p_source_77 IN NUMBER
136326 --Payables Upgrade Debit Encumbrance Type Identifier
136327 , p_source_78 IN NUMBER
136328 --Business Flow Accounts Payable Application Identifier
136329 , p_source_79 IN NUMBER
136330 --Business Flow Invoice Distribution Type
136331 , p_source_80 IN VARCHAR2
136332 --Business Flow Invoice Entity Code
136333 , p_source_81 IN VARCHAR2
136334 --Business Flow Invoice Distribution Identifier
136335 , p_source_82 IN NUMBER
136336 --Business Flow Invoice Identifier
136337 , p_source_83 IN NUMBER
136338 --Deferred Recoverable Tax Option
136339 , p_source_130 IN VARCHAR2
136340 , p_source_130_meaning IN VARCHAR2
136341 --Self-Assessed Tax Flag
136342 , p_source_135 IN VARCHAR2
136343 , p_source_135_meaning IN VARCHAR2
136344 --Invoice Exchange Date
136345 , p_source_136 IN DATE
136346 --Invoice Exchange Rate
136347 , p_source_137 IN NUMBER
136348 --Invoice Exchange Rate Type
136349 , p_source_138 IN VARCHAR2
136350 )
136351 IS
136352
136353 l_component_type VARCHAR2(80);
136354 l_component_code VARCHAR2(30);
136355 l_component_type_code VARCHAR2(1);
136356 l_component_appl_id INTEGER;
136357 l_amb_context_code VARCHAR2(30);
136358 l_entity_code VARCHAR2(30);
136359 l_event_class_code VARCHAR2(30);
136360 l_ae_header_id NUMBER;
136361 l_event_type_code VARCHAR2(30);
136362 l_line_definition_code VARCHAR2(30);
136363 l_line_definition_owner_code VARCHAR2(1);
136364 --
136365 -- adr variables
136366 l_segment VARCHAR2(30);
136367 l_ccid NUMBER;
136368 l_adr_transaction_coa_id NUMBER;
136369 l_adr_accounting_coa_id NUMBER;
136370 l_adr_flexfield_segment_code VARCHAR2(30);
136371 l_adr_flex_value_set_id NUMBER;
136372 l_adr_value_type_code VARCHAR2(30);
136373 l_adr_value_combination_id NUMBER;
136374 l_adr_value_segment_code VARCHAR2(30);
136375
136376 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
136377 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
136381 -- 4262811 Variables ------------------------------------------------------------------------------------------
136378 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
136379 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
136380
136382 l_entered_amt_idx NUMBER;
136383 l_accted_amt_idx NUMBER;
136384 l_acc_rev_flag VARCHAR2(1);
136385 l_accrual_line_num NUMBER;
136386 l_tmp_amt NUMBER;
136387 l_acc_rev_natural_side_code VARCHAR2(1);
136388
136389 l_num_entries NUMBER;
136390 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
136391 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
136392 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
136393 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
136394 l_recog_line_1 NUMBER;
136395 l_recog_line_2 NUMBER;
136396
136397 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
136398 l_bflow_applied_to_amt NUMBER; -- 5132302
136399 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
136400
136401 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
136402
136403 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
136404 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
136405
136406 ---------------------------------------------------------------------------------------------------------------
136407
136408
136409 --
136410 -- bulk performance
136411 --
136412 l_balance_type_code VARCHAR2(1);
136413 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
136414 l_log_module VARCHAR2(240);
136415
136416 --
136417 -- Upgrade strategy
136418 --
136419 l_actual_upg_option VARCHAR2(1);
136420 l_enc_upg_option VARCHAR2(1);
136421
136422 --
136423 BEGIN
136424 --
136425 IF g_log_enabled THEN
136426 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_227';
136427 END IF;
136428 --
136429 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136430
136431 trace
136432 (p_msg => 'BEGIN of AcctLineType_227'
136433 ,p_level => C_LEVEL_PROCEDURE
136434 ,p_module => l_log_module);
136435
136436 END IF;
136437 --
136438 l_component_type := 'AMB_JLT';
136439 l_component_code := 'AP_RECOV_TAX_PREPAY';
136440 l_component_type_code := 'S';
136441 l_component_appl_id := 200;
136442 l_amb_context_code := 'DEFAULT';
136443 l_entity_code := 'AP_INVOICES';
136444 l_event_class_code := 'PREPAYMENTS';
136445 l_event_type_code := 'PREPAYMENTS_ALL';
136446 l_line_definition_owner_code := 'S';
136447 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
136448 --
136449 l_balance_type_code := 'A';
136450 l_segment := NULL;
136451 l_ccid := NULL;
136452 l_adr_transaction_coa_id := NULL;
136453 l_adr_accounting_coa_id := NULL;
136454 l_adr_flexfield_segment_code := NULL;
136455 l_adr_flex_value_set_id := NULL;
136456 l_adr_value_type_code := NULL;
136457 l_adr_value_combination_id := NULL;
136458 l_adr_value_segment_code := NULL;
136459
136460 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
136461 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
136462 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
136463 l_budgetary_control_flag := 'N';
136464
136465 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136466 l_bflow_applied_to_amt := NULL; -- 5132302
136467 l_entered_amt_idx := NULL; -- 4262811
136468 l_accted_amt_idx := NULL; -- 4262811
136469 l_acc_rev_flag := NULL; -- 4262811
136470 l_accrual_line_num := NULL; -- 4262811
136471 l_tmp_amt := NULL; -- 4262811
136472 --
136473
136474 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
136475 l_balance_type_code <> 'B' THEN
136476 IF NVL(p_source_21,'
136477 ') = 'REC_TAX' AND
136478 NVL(p_source_130,'
136479 ') = 'IMMEDIATE' AND
136480 NVL(p_source_135,'
136481 ') <> 'Y'
136482 THEN
136483
136484 --
136485 XLA_AE_LINES_PKG.SetNewLine;
136486
136487 p_balance_type_code := l_balance_type_code;
136488 -- set the flag so later we will know whether the gain loss line needs to be created
136489
136490 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
136491 p_actual_flag :='A';
136492 END IF;
136493
136494 --
136495 -- bulk performance
136496 --
136497 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
136498 p_header_num => 0); -- 4262811
136499 --
136500 -- set accounting line options
136501 --
136502 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
136503 p_natural_side_code => 'D'
136504 , p_gain_or_loss_flag => 'N'
136505 , p_gl_transfer_mode_code => 'S'
136506 , p_acct_entry_type_code => 'A'
136507 , p_switch_side_flag => 'Y'
136511 l_acc_rev_natural_side_code := 'C'; -- 4262811
136508 , p_merge_duplicate_code => 'A'
136509 );
136510 --
136512 --
136513 --
136514 -- set accounting line type info
136515 --
136516 xla_ae_lines_pkg.SetAcctLineType
136517 (p_component_type => l_component_type
136518 ,p_event_type_code => l_event_type_code
136519 ,p_line_definition_owner_code => l_line_definition_owner_code
136520 ,p_line_definition_code => l_line_definition_code
136521 ,p_accounting_line_code => l_component_code
136522 ,p_accounting_line_type_code => l_component_type_code
136523 ,p_accounting_line_appl_id => l_component_appl_id
136524 ,p_amb_context_code => l_amb_context_code
136525 ,p_entity_code => l_entity_code
136526 ,p_event_class_code => l_event_class_code);
136527 --
136528 -- set accounting class
136529 --
136530 xla_ae_lines_pkg.SetAcctClass(
136531 p_accounting_class_code => 'RTAX'
136532 , p_ae_header_id => l_ae_header_id
136533 );
136534
136535 --
136536 -- set rounding class
136537 --
136538 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
136539 'RTAX';
136540
136541 --
136542 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
136543 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
136544 --
136545 -- bulk performance
136546 --
136547 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
136548
136549 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
136550 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
136551
136552 -- 4955764
136553 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136554 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
136555
136556 -- 4458381 Public Sector Enh
136557
136558 --
136559 -- set accounting attributes for the line type
136560 --
136561 l_entered_amt_idx := 23;
136562 l_accted_amt_idx := 28;
136563 l_bflow_applied_to_amt_idx := NULL; -- 5132302
136564 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
136565 l_rec_acct_attrs.array_char_value(1) := p_source_41;
136566 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
136567 l_rec_acct_attrs.array_num_value(2) :=
136568 xla_ae_sources_pkg.GetSystemSourceNum(
136569 p_source_code => 'XLA_EVENT_APPL_ID'
136570 , p_source_type_code => 'Y'
136571 , p_source_application_id => 602
136572 );
136573 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
136574 l_rec_acct_attrs.array_char_value(3) := p_source_43;
136575 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
136576 l_rec_acct_attrs.array_char_value(4) :=
136577 xla_ae_sources_pkg.GetSystemSourceChar(
136578 p_source_code => 'XLA_ENTITY_CODE'
136579 , p_source_type_code => 'Y'
136580 , p_source_application_id => 602
136581 );
136582 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
136583 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
136584 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
136585 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
136586 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
136587 l_rec_acct_attrs.array_num_value(7) := p_source_79;
136588 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
136589 l_rec_acct_attrs.array_char_value(8) := p_source_80;
136590 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
136591 l_rec_acct_attrs.array_char_value(9) := p_source_81;
136592 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
136593 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
136594 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
136595 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
136596 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
136597 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
136598 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
136599 l_rec_acct_attrs.array_char_value(13) := p_source_43;
136600 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
136601 l_rec_acct_attrs.array_num_value(14) := p_source_53;
136602 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
136603 l_rec_acct_attrs.array_num_value(15) := p_source_54;
136604 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
136605 l_rec_acct_attrs.array_char_value(16) := p_source_55;
136606 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
136607 l_rec_acct_attrs.array_num_value(17) := p_source_56;
136608 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
136609 l_rec_acct_attrs.array_num_value(18) := p_source_57;
136610 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
136611 l_rec_acct_attrs.array_num_value(19) := p_source_58;
136612 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
136613 l_rec_acct_attrs.array_char_value(20) := p_source_55;
136614 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
136618 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
136615 l_rec_acct_attrs.array_num_value(21) := p_source_59;
136616 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
136617 l_rec_acct_attrs.array_char_value(22) := p_source_60;
136619 l_rec_acct_attrs.array_num_value(23) := p_source_61;
136620 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
136621 l_rec_acct_attrs.array_char_value(24) := p_source_55;
136622 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
136623 l_rec_acct_attrs.array_date_value(25) := p_source_136;
136624 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
136625 l_rec_acct_attrs.array_num_value(26) := p_source_137;
136626 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
136627 l_rec_acct_attrs.array_char_value(27) := p_source_138;
136628 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
136629 l_rec_acct_attrs.array_num_value(28) := p_source_9;
136630 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
136631 l_rec_acct_attrs.array_date_value(29) := p_source_65;
136632 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
136633 l_rec_acct_attrs.array_char_value(30) := p_source_66;
136634 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
136635 l_rec_acct_attrs.array_date_value(31) := p_source_67;
136636 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
136637 l_rec_acct_attrs.array_char_value(32) := p_source_68;
136638 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
136639 l_rec_acct_attrs.array_num_value(33) := p_source_69;
136640 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
136641 l_rec_acct_attrs.array_num_value(34) := p_source_70;
136642 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
136643 l_rec_acct_attrs.array_char_value(35) := p_source_71;
136644 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
136645 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
136646 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
136647 l_rec_acct_attrs.array_char_value(37) := p_source_43;
136648 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
136649 l_rec_acct_attrs.array_num_value(38) := p_source_73;
136650 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
136651 l_rec_acct_attrs.array_num_value(39) := p_source_74;
136652 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
136653 l_rec_acct_attrs.array_num_value(40) := p_source_75;
136654 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
136655 l_rec_acct_attrs.array_num_value(41) := p_source_76;
136656 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
136657 l_rec_acct_attrs.array_num_value(42) := p_source_77;
136658 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
136659 l_rec_acct_attrs.array_num_value(43) := p_source_78;
136660
136661 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
136662 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
136663
136664 ---------------------------------------------------------------------------------------------------------------
136665 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
136666 ---------------------------------------------------------------------------------------------------------------
136667 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
136668
136669 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136670 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
136671
136672 IF xla_accounting_cache_pkg.GetValueChar
136673 (p_source_code => 'LEDGER_CATEGORY_CODE'
136674 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
136675 AND l_bflow_method_code = 'PRIOR_ENTRY'
136676 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
136677 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
136678 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
136679 )
136680 THEN
136681 xla_ae_lines_pkg.BflowUpgEntry
136682 (p_business_method_code => l_bflow_method_code
136683 ,p_business_class_code => l_bflow_class_code
136684 ,p_balance_type => l_balance_type_code);
136685 ELSE
136686 NULL;
136687 -- No business flow processing for business flow method of NONE.
136688 END IF;
136689
136690 --
136691 -- call analytical criteria
136692 --
136693
136694 --
136695 -- call description
136696 --
136697
136698 xla_ae_lines_pkg.SetLineDescription(
136699 p_ae_header_id => l_ae_header_id
136700 ,p_description => Description_2 (
136701 p_application_id => p_application_id
136702 , p_ae_header_id => l_ae_header_id
136703 , p_source_1 => p_source_1
136704 )
136705 );
136706
136707
136708 --
136709 -- call ADRs
136710 -- Bug 4922099
136711 --
136712 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136713 (NVL(l_actual_upg_option, 'N') = 'O') OR
136714 (NVL(l_enc_upg_option, 'N') = 'O')
136715 )
136716 THEN
136717 NULL;
136718 --
136719 --
136720
136721 l_ccid := AcctDerRule_32(
136725 , x_transaction_coa_id => l_adr_transaction_coa_id
136722 p_application_id => p_application_id
136723 , p_ae_header_id => l_ae_header_id
136724 , p_source_18 => p_source_18
136726 , x_accounting_coa_id => l_adr_accounting_coa_id
136727 , x_value_type_code => l_adr_value_type_code
136728 , p_side => 'NA'
136729 );
136730
136731 xla_ae_lines_pkg.set_ccid(
136732 p_code_combination_id => l_ccid
136733 , p_value_type_code => l_adr_value_type_code
136734 , p_transaction_coa_id => l_adr_transaction_coa_id
136735 , p_accounting_coa_id => l_adr_accounting_coa_id
136736 , p_adr_code => 'AP_INVOICE_DIST'
136737 , p_adr_type_code => 'S'
136738 , p_component_type => l_component_type
136739 , p_component_code => l_component_code
136740 , p_component_type_code => l_component_type_code
136741 , p_component_appl_id => l_component_appl_id
136742 , p_amb_context_code => l_amb_context_code
136743 , p_side => 'NA'
136744 );
136745
136746
136747 --
136748 --
136749 END IF;
136750 --
136751 -- Bug 4922099
136752 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
136753 (NVL(l_enc_upg_option, 'N') = 'O')
136754 ) AND
136755 (l_bflow_method_code = 'PRIOR_ENTRY')
136756 )
136757 THEN
136758 IF
136759 --
136760 1 = 2
136761 --
136762 THEN
136763 xla_accounting_err_pkg.build_message
136764 (p_appli_s_name => 'XLA'
136765 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136766 ,p_token_1 => 'LINE_NUMBER'
136767 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
136768 ,p_token_2 => 'LINE_TYPE_NAME'
136769 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
136770 l_component_type
136771 ,l_component_code
136772 ,l_component_type_code
136773 ,l_component_appl_id
136774 ,l_amb_context_code
136775 ,l_entity_code
136776 ,l_event_class_code
136777 )
136778 ,p_token_3 => 'OWNER'
136779 ,p_value_3 => xla_lookups_pkg.get_meaning(
136780 p_lookup_type => 'XLA_OWNER_TYPE'
136781 ,p_lookup_code => l_component_type_code
136782 )
136783 ,p_token_4 => 'PRODUCT_NAME'
136784 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
136785 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
136786 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
136787 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
136788 ,p_ae_header_id => NULL
136789 );
136790
136791 IF (C_LEVEL_ERROR>= g_log_level) THEN
136792 trace
136793 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
136794 ,p_level => C_LEVEL_ERROR
136795 ,p_module => l_log_module);
136796 END IF;
136797 END IF;
136798 END IF;
136799 --
136800 --
136801 ------------------------------------------------------------------------------------------------
136802 -- 4219869 Business Flow
136803 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
136804 -- Prior Entry. Currently, the following code is always generated.
136805 ------------------------------------------------------------------------------------------------
136806 XLA_AE_LINES_PKG.ValidateCurrentLine;
136807
136808 ------------------------------------------------------------------------------------
136809 -- 4219869 Business Flow
136810 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
136811 ------------------------------------------------------------------------------------
136812 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136813
136814 ----------------------------------------------------------------------------------
136815 -- 4219869 Business Flow
136816 -- Update journal entry status -- Need to generate this within IF <condition>
136817 ----------------------------------------------------------------------------------
136818 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136822
136819 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
136820 ,p_balance_type_code => l_balance_type_code
136821 );
136823 -------------------------------------------------------------------------------------------
136824 -- 4262811 - Generate the Accrual Reversal lines
136825 -------------------------------------------------------------------------------------------
136826 BEGIN
136827 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
136828 (g_array_event(p_event_id).array_value_num('header_index'));
136829 IF l_acc_rev_flag IS NULL THEN
136830 l_acc_rev_flag := 'N';
136831 END IF;
136832 EXCEPTION
136833 WHEN OTHERS THEN
136834 l_acc_rev_flag := 'N';
136835 END;
136836 --
136837 IF (l_acc_rev_flag = 'Y') THEN
136838
136839 -- 4645092 ------------------------------------------------------------------------------
136840 -- To allow MPA report to determine if it should generate report process
136841 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
136842 ------------------------------------------------------------------------------------------
136843
136844 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
136845 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
136846 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
136847 -- call ADRs
136848 -- Bug 4922099
136849 --
136850 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
136851 (NVL(l_actual_upg_option, 'N') = 'O') OR
136852 (NVL(l_enc_upg_option, 'N') = 'O')
136853 )
136854 THEN
136855 NULL;
136856 --
136857 --
136858
136859 l_ccid := AcctDerRule_32(
136860 p_application_id => p_application_id
136861 , p_ae_header_id => l_ae_header_id
136862 , p_source_18 => p_source_18
136863 , x_transaction_coa_id => l_adr_transaction_coa_id
136864 , x_accounting_coa_id => l_adr_accounting_coa_id
136865 , x_value_type_code => l_adr_value_type_code
136866 , p_side => 'NA'
136867 );
136868
136869 xla_ae_lines_pkg.set_ccid(
136870 p_code_combination_id => l_ccid
136871 , p_value_type_code => l_adr_value_type_code
136872 , p_transaction_coa_id => l_adr_transaction_coa_id
136873 , p_accounting_coa_id => l_adr_accounting_coa_id
136874 , p_adr_code => 'AP_INVOICE_DIST'
136875 , p_adr_type_code => 'S'
136876 , p_component_type => l_component_type
136877 , p_component_code => l_component_code
136878 , p_component_type_code => l_component_type_code
136879 , p_component_appl_id => l_component_appl_id
136880 , p_amb_context_code => l_amb_context_code
136881 , p_side => 'NA'
136882 );
136883
136884
136885 --
136886 --
136887 END IF;
136888
136889 --
136890 -- Update the line information that should be overwritten
136891 --
136892 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
136893 p_header_num => 1);
136894 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
136895
136896 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
136897
136898 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
136899 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
136900 END IF;
136901
136902 --
136903 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
136904 --
136905 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
136906 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
136907 ELSE
136908 ---------------------------------------------------------------------------------------------------
136909 -- 4262811a Switch Sign
136910 ---------------------------------------------------------------------------------------------------
136911 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
136912 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136913 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136914 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
136915 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136916 -- 5132302
136917 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
136918 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
136919
136920 END IF;
136921
136922 -- 4955764
136923 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
136924 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
136925
136926
136927 XLA_AE_LINES_PKG.ValidateCurrentLine;
136931 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
136928 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
136929
136930 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
136932 ,p_balance_type_code => l_balance_type_code);
136933
136934 END IF;
136935
136936 -----------------------------------------------------------------------------------------
136937 -- 4262811 Multiperiod Accounting
136938 -----------------------------------------------------------------------------------------
136939 -- No MPA option is assigned.
136940
136941
136942 END IF;
136943 END IF;
136944 --
136945
136946 --
136947 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
136948 trace
136949 (p_msg => 'END of AcctLineType_227'
136950 ,p_level => C_LEVEL_PROCEDURE
136951 ,p_module => l_log_module);
136952 END IF;
136953 --
136954 EXCEPTION
136955 WHEN xla_exceptions_pkg.application_exception THEN
136956 RAISE;
136957 WHEN OTHERS THEN
136958 xla_exceptions_pkg.raise_message
136959 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_227');
136960 END AcctLineType_227;
136961 --
136962
136963 ---------------------------------------
136964 --
136965 -- PRIVATE FUNCTION
136966 -- AcctLineType_228
136967 --
136968 ---------------------------------------
136969 PROCEDURE AcctLineType_228 (
136970 p_application_id IN NUMBER
136971 ,p_event_id IN NUMBER
136972 ,p_calculate_acctd_flag IN VARCHAR2
136973 ,p_calculate_g_l_flag IN VARCHAR2
136974 ,p_actual_flag IN OUT VARCHAR2
136975 ,p_balance_type_code OUT VARCHAR2
136976 ,p_gain_or_loss_ref OUT VARCHAR2
136977
136978 --Invoice Distribution Description
136979 , p_source_1 IN VARCHAR2
136980 --Automatic Offsets Value
136981 , p_source_3 IN VARCHAR2
136982 , p_source_3_meaning IN VARCHAR2
136983 --Invoice Distribution Ledger Amount
136984 , p_source_9 IN NUMBER
136985 --Invoice Distribution Account
136986 , p_source_18 IN NUMBER
136987 --Invoice Distribution Type
136988 , p_source_21 IN VARCHAR2
136989 , p_source_21_meaning IN VARCHAR2
136990 --Retainage Account
136991 , p_source_28 IN NUMBER
136992 --Retainage Related Item Distribution Account
136993 , p_source_30 IN NUMBER
136994 --Accounting Reversal Indicator
136995 , p_source_41 IN VARCHAR2
136996 --Distribution Link Type
136997 , p_source_43 IN VARCHAR2
136998 --Allocation to Main Distribution Identifier
136999 , p_source_45 IN NUMBER
137000 --Invoice Identifier
137001 , p_source_46 IN NUMBER
137002 --Invoice Distribution Identifier
137003 , p_source_52 IN NUMBER
137004 --Payables Encumbrance Upgrade Credit Account
137005 , p_source_53 IN NUMBER
137006 --Payables Encumbrance Upgrade Credit Amount
137007 , p_source_54 IN NUMBER
137008 --Invoice Currency Code
137009 , p_source_55 IN VARCHAR2
137010 --Payables Encumbrance Upgrade Credit Base Amount
137011 , p_source_56 IN NUMBER
137012 --Payables Encumbrance Upgrade Debit Account
137013 , p_source_57 IN NUMBER
137014 --Payables Encumbrance Upgrade Debit Amount
137015 , p_source_58 IN NUMBER
137016 --Payables Encumbrance Upgrade Debit Base Amount
137017 , p_source_59 IN NUMBER
137018 --Payables Encumbrance Upgrade Option
137019 , p_source_60 IN VARCHAR2
137020 --Invoice Distribution Amount
137021 , p_source_61 IN NUMBER
137022 --Deferred Accounting End Date
137023 , p_source_65 IN DATE
137024 --Deferred Accounting Option
137025 , p_source_66 IN VARCHAR2
137026 --Deferred Accounting Start Date
137027 , p_source_67 IN DATE
137028 --Override Accounted Amount Indicator
137029 , p_source_68 IN VARCHAR2
137030 , p_source_68_meaning IN VARCHAR2
137031 --Invoice Supplier Identifier
137032 , p_source_69 IN NUMBER
137033 --Invoice Supplier Site Identifier
137034 , p_source_70 IN NUMBER
137035 --Third Party Type
137036 , p_source_71 IN VARCHAR2
137037 --Parent Reversal Identifier
137038 , p_source_72 IN NUMBER
137039 --Invoice Distribution Statistical Amount
137040 , p_source_73 IN NUMBER
137041 --Invoice Distribution Tax Line Identifier
137042 , p_source_74 IN NUMBER
137043 --Invoice Distribution Tax Distribution Identifier from Tax
137044 , p_source_75 IN NUMBER
137045 --Invoice Distribution Summary Tax Line Identifier
137046 , p_source_76 IN NUMBER
137047 --Payables Upgrade Credit Encumbrance Type Identifier
137048 , p_source_77 IN NUMBER
137049 --Payables Upgrade Debit Encumbrance Type Identifier
137050 , p_source_78 IN NUMBER
137051 --Business Flow Accounts Payable Application Identifier
137052 , p_source_79 IN NUMBER
137053 --Business Flow Invoice Distribution Type
137054 , p_source_80 IN VARCHAR2
137055 --Business Flow Invoice Entity Code
137056 , p_source_81 IN VARCHAR2
137057 --Business Flow Invoice Distribution Identifier
137058 , p_source_82 IN NUMBER
137059 --Business Flow Invoice Identifier
137060 , p_source_83 IN NUMBER
137061 --Invoice Exchange Date
137062 , p_source_136 IN DATE
137063 --Invoice Exchange Rate
137067 --Invoice Type
137064 , p_source_137 IN NUMBER
137065 --Invoice Exchange Rate Type
137066 , p_source_138 IN VARCHAR2
137068 , p_source_159 IN VARCHAR2
137069 , p_source_159_meaning IN VARCHAR2
137070 )
137071 IS
137072
137073 l_component_type VARCHAR2(80);
137074 l_component_code VARCHAR2(30);
137075 l_component_type_code VARCHAR2(1);
137076 l_component_appl_id INTEGER;
137077 l_amb_context_code VARCHAR2(30);
137078 l_entity_code VARCHAR2(30);
137079 l_event_class_code VARCHAR2(30);
137080 l_ae_header_id NUMBER;
137081 l_event_type_code VARCHAR2(30);
137082 l_line_definition_code VARCHAR2(30);
137083 l_line_definition_owner_code VARCHAR2(1);
137084 --
137085 -- adr variables
137086 l_segment VARCHAR2(30);
137087 l_ccid NUMBER;
137088 l_adr_transaction_coa_id NUMBER;
137089 l_adr_accounting_coa_id NUMBER;
137090 l_adr_flexfield_segment_code VARCHAR2(30);
137091 l_adr_flex_value_set_id NUMBER;
137092 l_adr_value_type_code VARCHAR2(30);
137093 l_adr_value_combination_id NUMBER;
137094 l_adr_value_segment_code VARCHAR2(30);
137095
137096 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137097 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137098 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137099 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137100
137101 -- 4262811 Variables ------------------------------------------------------------------------------------------
137102 l_entered_amt_idx NUMBER;
137103 l_accted_amt_idx NUMBER;
137104 l_acc_rev_flag VARCHAR2(1);
137105 l_accrual_line_num NUMBER;
137106 l_tmp_amt NUMBER;
137107 l_acc_rev_natural_side_code VARCHAR2(1);
137108
137109 l_num_entries NUMBER;
137110 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
137111 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
137112 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
137113 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
137114 l_recog_line_1 NUMBER;
137115 l_recog_line_2 NUMBER;
137116
137117 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
137118 l_bflow_applied_to_amt NUMBER; -- 5132302
137119 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
137120
137121 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
137122
137123 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
137124 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
137125
137126 ---------------------------------------------------------------------------------------------------------------
137127
137128
137129 --
137130 -- bulk performance
137131 --
137132 l_balance_type_code VARCHAR2(1);
137133 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
137134 l_log_module VARCHAR2(240);
137135
137136 --
137137 -- Upgrade strategy
137138 --
137139 l_actual_upg_option VARCHAR2(1);
137140 l_enc_upg_option VARCHAR2(1);
137141
137142 --
137143 BEGIN
137144 --
137145 IF g_log_enabled THEN
137146 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_228';
137147 END IF;
137148 --
137149 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137150
137151 trace
137152 (p_msg => 'BEGIN of AcctLineType_228'
137153 ,p_level => C_LEVEL_PROCEDURE
137154 ,p_module => l_log_module);
137155
137156 END IF;
137157 --
137158 l_component_type := 'AMB_JLT';
137159 l_component_code := 'AP_RETAINAGE_ACC';
137160 l_component_type_code := 'S';
137161 l_component_appl_id := 200;
137162 l_amb_context_code := 'DEFAULT';
137163 l_entity_code := 'AP_INVOICES';
137164 l_event_class_code := 'INVOICES';
137165 l_event_type_code := 'INVOICES_ALL';
137166 l_line_definition_owner_code := 'S';
137167 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
137168 --
137169 l_balance_type_code := 'A';
137170 l_segment := NULL;
137171 l_ccid := NULL;
137172 l_adr_transaction_coa_id := NULL;
137173 l_adr_accounting_coa_id := NULL;
137174 l_adr_flexfield_segment_code := NULL;
137175 l_adr_flex_value_set_id := NULL;
137176 l_adr_value_type_code := NULL;
137177 l_adr_value_combination_id := NULL;
137178 l_adr_value_segment_code := NULL;
137179
137180 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
137181 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
137182 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
137183 l_budgetary_control_flag := 'N';
137184
137185 l_bflow_applied_to_amt_idx := NULL; -- 5132302
137186 l_bflow_applied_to_amt := NULL; -- 5132302
137187 l_entered_amt_idx := NULL; -- 4262811
137188 l_accted_amt_idx := NULL; -- 4262811
137189 l_acc_rev_flag := NULL; -- 4262811
137190 l_accrual_line_num := NULL; -- 4262811
137191 l_tmp_amt := NULL; -- 4262811
137192 --
137196 IF NVL(p_source_159,'
137193
137194 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
137195 l_balance_type_code <> 'B' THEN
137197 ') = 'STANDARD' AND
137198 NVL(p_source_21,'
137199 ') = 'RETAINAGE'
137200 THEN
137201
137202 --
137203 XLA_AE_LINES_PKG.SetNewLine;
137204
137205 p_balance_type_code := l_balance_type_code;
137206 -- set the flag so later we will know whether the gain loss line needs to be created
137207
137208 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
137209 p_actual_flag :='A';
137210 END IF;
137211
137212 --
137213 -- bulk performance
137214 --
137215 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
137216 p_header_num => 0); -- 4262811
137217 --
137218 -- set accounting line options
137219 --
137220 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
137221 p_natural_side_code => 'D'
137222 , p_gain_or_loss_flag => 'N'
137223 , p_gl_transfer_mode_code => 'S'
137224 , p_acct_entry_type_code => 'A'
137225 , p_switch_side_flag => 'Y'
137226 , p_merge_duplicate_code => 'A'
137227 );
137228 --
137229 l_acc_rev_natural_side_code := 'C'; -- 4262811
137230 --
137231 --
137232 -- set accounting line type info
137233 --
137234 xla_ae_lines_pkg.SetAcctLineType
137235 (p_component_type => l_component_type
137236 ,p_event_type_code => l_event_type_code
137237 ,p_line_definition_owner_code => l_line_definition_owner_code
137238 ,p_line_definition_code => l_line_definition_code
137239 ,p_accounting_line_code => l_component_code
137240 ,p_accounting_line_type_code => l_component_type_code
137241 ,p_accounting_line_appl_id => l_component_appl_id
137242 ,p_amb_context_code => l_amb_context_code
137243 ,p_entity_code => l_entity_code
137244 ,p_event_class_code => l_event_class_code);
137245 --
137246 -- set accounting class
137247 --
137248 xla_ae_lines_pkg.SetAcctClass(
137249 p_accounting_class_code => 'RETAINAGE'
137250 , p_ae_header_id => l_ae_header_id
137251 );
137252
137253 --
137254 -- set rounding class
137255 --
137256 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
137257 'RETAINAGE';
137258
137259 --
137260 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
137261 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
137262 --
137263 -- bulk performance
137264 --
137265 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
137266
137267 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
137268 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
137269
137270 -- 4955764
137271 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137272 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
137273
137274 -- 4458381 Public Sector Enh
137275
137276 --
137277 -- set accounting attributes for the line type
137278 --
137279 l_entered_amt_idx := 24;
137280 l_accted_amt_idx := 29;
137281 l_bflow_applied_to_amt_idx := 7; -- 5132302
137282 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
137283 l_rec_acct_attrs.array_char_value(1) := p_source_41;
137284 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
137285 l_rec_acct_attrs.array_num_value(2) :=
137286 xla_ae_sources_pkg.GetSystemSourceNum(
137287 p_source_code => 'XLA_EVENT_APPL_ID'
137288 , p_source_type_code => 'Y'
137289 , p_source_application_id => 602
137290 );
137291 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
137292 l_rec_acct_attrs.array_char_value(3) := p_source_43;
137293 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
137294 l_rec_acct_attrs.array_char_value(4) :=
137295 xla_ae_sources_pkg.GetSystemSourceChar(
137296 p_source_code => 'XLA_ENTITY_CODE'
137297 , p_source_type_code => 'Y'
137298 , p_source_application_id => 602
137299 );
137300 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
137301 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
137302 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
137303 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
137304 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
137305 l_rec_acct_attrs.array_num_value(7) := p_source_61;
137306 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
137307 l_rec_acct_attrs.array_num_value(8) := p_source_79;
137308 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
137309 l_rec_acct_attrs.array_char_value(9) := p_source_80;
137310 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
137311 l_rec_acct_attrs.array_char_value(10) := p_source_81;
137312 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
137316 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
137313 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
137314 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
137315 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
137317 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
137318 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
137319 l_rec_acct_attrs.array_char_value(14) := p_source_43;
137320 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
137321 l_rec_acct_attrs.array_num_value(15) := p_source_53;
137322 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
137323 l_rec_acct_attrs.array_num_value(16) := p_source_54;
137324 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
137325 l_rec_acct_attrs.array_char_value(17) := p_source_55;
137326 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
137327 l_rec_acct_attrs.array_num_value(18) := p_source_56;
137328 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
137329 l_rec_acct_attrs.array_num_value(19) := p_source_57;
137330 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
137331 l_rec_acct_attrs.array_num_value(20) := p_source_58;
137332 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
137333 l_rec_acct_attrs.array_char_value(21) := p_source_55;
137334 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
137335 l_rec_acct_attrs.array_num_value(22) := p_source_59;
137336 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
137337 l_rec_acct_attrs.array_char_value(23) := p_source_60;
137338 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
137339 l_rec_acct_attrs.array_num_value(24) := p_source_61;
137340 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
137341 l_rec_acct_attrs.array_char_value(25) := p_source_55;
137342 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
137343 l_rec_acct_attrs.array_date_value(26) := p_source_136;
137344 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
137345 l_rec_acct_attrs.array_num_value(27) := p_source_137;
137346 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
137347 l_rec_acct_attrs.array_char_value(28) := p_source_138;
137348 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
137349 l_rec_acct_attrs.array_num_value(29) := p_source_9;
137350 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
137351 l_rec_acct_attrs.array_date_value(30) := p_source_65;
137352 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
137353 l_rec_acct_attrs.array_char_value(31) := p_source_66;
137354 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
137355 l_rec_acct_attrs.array_date_value(32) := p_source_67;
137356 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
137357 l_rec_acct_attrs.array_char_value(33) := p_source_68;
137358 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
137359 l_rec_acct_attrs.array_num_value(34) := p_source_69;
137360 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
137361 l_rec_acct_attrs.array_num_value(35) := p_source_70;
137362 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
137363 l_rec_acct_attrs.array_char_value(36) := p_source_71;
137364 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
137365 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
137366 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
137367 l_rec_acct_attrs.array_char_value(38) := p_source_43;
137368 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
137369 l_rec_acct_attrs.array_num_value(39) := p_source_73;
137370 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
137371 l_rec_acct_attrs.array_num_value(40) := p_source_74;
137372 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
137373 l_rec_acct_attrs.array_num_value(41) := p_source_75;
137374 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
137375 l_rec_acct_attrs.array_num_value(42) := p_source_76;
137376 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
137377 l_rec_acct_attrs.array_num_value(43) := p_source_77;
137378 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
137379 l_rec_acct_attrs.array_num_value(44) := p_source_78;
137380
137381 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
137382 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
137383
137384 ---------------------------------------------------------------------------------------------------------------
137385 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
137386 ---------------------------------------------------------------------------------------------------------------
137387 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
137388
137389 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137390 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
137391
137392 IF xla_accounting_cache_pkg.GetValueChar
137393 (p_source_code => 'LEDGER_CATEGORY_CODE'
137394 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
137395 AND l_bflow_method_code = 'PRIOR_ENTRY'
137399 )
137396 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
137397 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
137398 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
137400 THEN
137401 xla_ae_lines_pkg.BflowUpgEntry
137402 (p_business_method_code => l_bflow_method_code
137403 ,p_business_class_code => l_bflow_class_code
137404 ,p_balance_type => l_balance_type_code);
137405 ELSE
137406 NULL;
137407 -- No business flow processing for business flow method of NONE.
137408 END IF;
137409
137410 --
137411 -- call analytical criteria
137412 --
137413
137414 --
137415 -- call description
137416 --
137417
137418 xla_ae_lines_pkg.SetLineDescription(
137419 p_ae_header_id => l_ae_header_id
137420 ,p_description => Description_2 (
137421 p_application_id => p_application_id
137422 , p_ae_header_id => l_ae_header_id
137423 , p_source_1 => p_source_1
137424 )
137425 );
137426
137427
137428 --
137429 -- call ADRs
137430 -- Bug 4922099
137431 --
137432 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137433 (NVL(l_actual_upg_option, 'N') = 'O') OR
137434 (NVL(l_enc_upg_option, 'N') = 'O')
137435 )
137436 THEN
137437 NULL;
137438 --
137439 --
137440
137441 l_ccid := AcctDerRule_39(
137442 p_application_id => p_application_id
137443 , p_ae_header_id => l_ae_header_id
137444 , p_source_3 => p_source_3
137445 , p_source_3_meaning => p_source_3_meaning
137446 , p_source_18 => p_source_18
137447 , p_source_30 => p_source_30
137448 , x_transaction_coa_id => l_adr_transaction_coa_id
137449 , x_accounting_coa_id => l_adr_accounting_coa_id
137450 , x_value_type_code => l_adr_value_type_code
137451 , p_side => 'NA'
137452 );
137453
137454 xla_ae_lines_pkg.set_ccid(
137455 p_code_combination_id => l_ccid
137456 , p_value_type_code => l_adr_value_type_code
137457 , p_transaction_coa_id => l_adr_transaction_coa_id
137458 , p_accounting_coa_id => l_adr_accounting_coa_id
137459 , p_adr_code => 'AP_RETAINAGE'
137460 , p_adr_type_code => 'S'
137461 , p_component_type => l_component_type
137462 , p_component_code => l_component_code
137463 , p_component_type_code => l_component_type_code
137464 , p_component_appl_id => l_component_appl_id
137465 , p_amb_context_code => l_amb_context_code
137466 , p_side => 'NA'
137467 );
137468
137469
137470 l_segment := AcctDerRule_18(
137471 p_application_id => p_application_id
137472 , p_ae_header_id => l_ae_header_id
137473 , p_source_28 => p_source_28
137474 , x_transaction_coa_id => l_adr_transaction_coa_id
137475 , x_accounting_coa_id => l_adr_accounting_coa_id
137476 , x_flexfield_segment_code => l_adr_flexfield_segment_code
137477 , x_flex_value_set_id => l_adr_flex_value_set_id
137478 , x_value_type_code => l_adr_value_type_code
137479 , x_value_combination_id => l_adr_value_combination_id
137480 , x_value_segment_code => l_adr_value_segment_code
137481 , p_side => 'NA'
137482 , p_override_seg_flag => 'Y'
137483 );
137484
137485 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
137486
137487 xla_ae_lines_pkg.set_segment(
137488 p_to_segment_code => 'GL_ACCOUNT'
137489 , p_segment_value => l_segment
137490 , p_from_segment_code => l_adr_value_segment_code
137491 , p_from_combination_id => l_adr_value_combination_id
137492 , p_value_type_code => l_adr_value_type_code
137493 , p_transaction_coa_id => l_adr_transaction_coa_id
137494 , p_accounting_coa_id => l_adr_accounting_coa_id
137495 , p_flexfield_segment_code => l_adr_flexfield_segment_code
137496 , p_flex_value_set_id => l_adr_flex_value_set_id
137497 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
137498 , p_adr_type_code => 'S'
137499 , p_component_type => l_component_type
137500 , p_component_code => l_component_code
137501 , p_component_type_code => l_component_type_code
137502 , p_component_appl_id => l_component_appl_id
137503 , p_amb_context_code => l_amb_context_code
137504 , p_entity_code => 'AP_INVOICES'
137505 , p_event_class_code => 'INVOICES'
137506 , p_side => 'NA'
137507 );
137508
137509 END IF;
137510
137511 l_segment := AcctDerRule_23(
137512 p_application_id => p_application_id
137513 , p_ae_header_id => l_ae_header_id
137514 , p_source_3 => p_source_3
137515 , p_source_3_meaning => p_source_3_meaning
137516 , p_source_30 => p_source_30
137517 , x_transaction_coa_id => l_adr_transaction_coa_id
137518 , x_accounting_coa_id => l_adr_accounting_coa_id
137519 , x_flexfield_segment_code => l_adr_flexfield_segment_code
137520 , x_flex_value_set_id => l_adr_flex_value_set_id
137524 , p_side => 'NA'
137521 , x_value_type_code => l_adr_value_type_code
137522 , x_value_combination_id => l_adr_value_combination_id
137523 , x_value_segment_code => l_adr_value_segment_code
137525 , p_override_seg_flag => 'Y'
137526 );
137527
137528 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
137529
137530 xla_ae_lines_pkg.set_segment(
137531 p_to_segment_code => 'GL_BALANCING'
137532 , p_segment_value => l_segment
137533 , p_from_segment_code => l_adr_value_segment_code
137534 , p_from_combination_id => l_adr_value_combination_id
137535 , p_value_type_code => l_adr_value_type_code
137536 , p_transaction_coa_id => l_adr_transaction_coa_id
137537 , p_accounting_coa_id => l_adr_accounting_coa_id
137538 , p_flexfield_segment_code => l_adr_flexfield_segment_code
137539 , p_flex_value_set_id => l_adr_flex_value_set_id
137540 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
137541 , p_adr_type_code => 'S'
137542 , p_component_type => l_component_type
137543 , p_component_code => l_component_code
137544 , p_component_type_code => l_component_type_code
137545 , p_component_appl_id => l_component_appl_id
137546 , p_amb_context_code => l_amb_context_code
137547 , p_entity_code => 'AP_INVOICES'
137548 , p_event_class_code => 'INVOICES'
137549 , p_side => 'NA'
137550 );
137551
137552 END IF;
137553
137554 --
137555 --
137556 END IF;
137557 --
137558 -- Bug 4922099
137559 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
137560 (NVL(l_enc_upg_option, 'N') = 'O')
137561 ) AND
137562 (l_bflow_method_code = 'PRIOR_ENTRY')
137563 )
137564 THEN
137565 IF
137566 --
137567 1 = 2
137568 --
137569 THEN
137570 xla_accounting_err_pkg.build_message
137571 (p_appli_s_name => 'XLA'
137572 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137573 ,p_token_1 => 'LINE_NUMBER'
137574 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
137575 ,p_token_2 => 'LINE_TYPE_NAME'
137576 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
137577 l_component_type
137578 ,l_component_code
137579 ,l_component_type_code
137580 ,l_component_appl_id
137581 ,l_amb_context_code
137582 ,l_entity_code
137583 ,l_event_class_code
137584 )
137585 ,p_token_3 => 'OWNER'
137586 ,p_value_3 => xla_lookups_pkg.get_meaning(
137587 p_lookup_type => 'XLA_OWNER_TYPE'
137588 ,p_lookup_code => l_component_type_code
137589 )
137590 ,p_token_4 => 'PRODUCT_NAME'
137591 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
137592 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
137593 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
137594 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
137595 ,p_ae_header_id => NULL
137596 );
137597
137598 IF (C_LEVEL_ERROR>= g_log_level) THEN
137599 trace
137600 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
137601 ,p_level => C_LEVEL_ERROR
137602 ,p_module => l_log_module);
137603 END IF;
137604 END IF;
137605 END IF;
137606 --
137607 --
137608 ------------------------------------------------------------------------------------------------
137609 -- 4219869 Business Flow
137610 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
137611 -- Prior Entry. Currently, the following code is always generated.
137612 ------------------------------------------------------------------------------------------------
137613 XLA_AE_LINES_PKG.ValidateCurrentLine;
137614
137615 ------------------------------------------------------------------------------------
137616 -- 4219869 Business Flow
137620
137617 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
137618 ------------------------------------------------------------------------------------
137619 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137621 ----------------------------------------------------------------------------------
137622 -- 4219869 Business Flow
137623 -- Update journal entry status -- Need to generate this within IF <condition>
137624 ----------------------------------------------------------------------------------
137625 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137626 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
137627 ,p_balance_type_code => l_balance_type_code
137628 );
137629
137630 -------------------------------------------------------------------------------------------
137631 -- 4262811 - Generate the Accrual Reversal lines
137632 -------------------------------------------------------------------------------------------
137633 BEGIN
137634 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
137635 (g_array_event(p_event_id).array_value_num('header_index'));
137636 IF l_acc_rev_flag IS NULL THEN
137637 l_acc_rev_flag := 'N';
137638 END IF;
137639 EXCEPTION
137640 WHEN OTHERS THEN
137641 l_acc_rev_flag := 'N';
137642 END;
137643 --
137644 IF (l_acc_rev_flag = 'Y') THEN
137645
137646 -- 4645092 ------------------------------------------------------------------------------
137647 -- To allow MPA report to determine if it should generate report process
137648 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
137649 ------------------------------------------------------------------------------------------
137650
137651 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
137652 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
137653 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
137654 -- call ADRs
137655 -- Bug 4922099
137656 --
137657 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
137658 (NVL(l_actual_upg_option, 'N') = 'O') OR
137659 (NVL(l_enc_upg_option, 'N') = 'O')
137660 )
137661 THEN
137662 NULL;
137663 --
137664 --
137665
137666 l_ccid := AcctDerRule_39(
137667 p_application_id => p_application_id
137668 , p_ae_header_id => l_ae_header_id
137669 , p_source_3 => p_source_3
137670 , p_source_3_meaning => p_source_3_meaning
137671 , p_source_18 => p_source_18
137672 , p_source_30 => p_source_30
137673 , x_transaction_coa_id => l_adr_transaction_coa_id
137674 , x_accounting_coa_id => l_adr_accounting_coa_id
137675 , x_value_type_code => l_adr_value_type_code
137676 , p_side => 'NA'
137677 );
137678
137679 xla_ae_lines_pkg.set_ccid(
137680 p_code_combination_id => l_ccid
137681 , p_value_type_code => l_adr_value_type_code
137682 , p_transaction_coa_id => l_adr_transaction_coa_id
137683 , p_accounting_coa_id => l_adr_accounting_coa_id
137684 , p_adr_code => 'AP_RETAINAGE'
137685 , p_adr_type_code => 'S'
137686 , p_component_type => l_component_type
137687 , p_component_code => l_component_code
137688 , p_component_type_code => l_component_type_code
137689 , p_component_appl_id => l_component_appl_id
137690 , p_amb_context_code => l_amb_context_code
137691 , p_side => 'NA'
137692 );
137693
137694
137695 l_segment := AcctDerRule_18(
137696 p_application_id => p_application_id
137697 , p_ae_header_id => l_ae_header_id
137698 , p_source_28 => p_source_28
137699 , x_transaction_coa_id => l_adr_transaction_coa_id
137700 , x_accounting_coa_id => l_adr_accounting_coa_id
137701 , x_flexfield_segment_code => l_adr_flexfield_segment_code
137702 , x_flex_value_set_id => l_adr_flex_value_set_id
137703 , x_value_type_code => l_adr_value_type_code
137704 , x_value_combination_id => l_adr_value_combination_id
137705 , x_value_segment_code => l_adr_value_segment_code
137706 , p_side => 'NA'
137707 , p_override_seg_flag => 'Y'
137708 );
137709
137710 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
137711
137712 xla_ae_lines_pkg.set_segment(
137713 p_to_segment_code => 'GL_ACCOUNT'
137714 , p_segment_value => l_segment
137715 , p_from_segment_code => l_adr_value_segment_code
137716 , p_from_combination_id => l_adr_value_combination_id
137717 , p_value_type_code => l_adr_value_type_code
137718 , p_transaction_coa_id => l_adr_transaction_coa_id
137719 , p_accounting_coa_id => l_adr_accounting_coa_id
137720 , p_flexfield_segment_code => l_adr_flexfield_segment_code
137721 , p_flex_value_set_id => l_adr_flex_value_set_id
137722 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
137723 , p_adr_type_code => 'S'
137724 , p_component_type => l_component_type
137725 , p_component_code => l_component_code
137726 , p_component_type_code => l_component_type_code
137730 , p_event_class_code => 'INVOICES'
137727 , p_component_appl_id => l_component_appl_id
137728 , p_amb_context_code => l_amb_context_code
137729 , p_entity_code => 'AP_INVOICES'
137731 , p_side => 'NA'
137732 );
137733
137734 END IF;
137735
137736 l_segment := AcctDerRule_23(
137737 p_application_id => p_application_id
137738 , p_ae_header_id => l_ae_header_id
137739 , p_source_3 => p_source_3
137740 , p_source_3_meaning => p_source_3_meaning
137741 , p_source_30 => p_source_30
137742 , x_transaction_coa_id => l_adr_transaction_coa_id
137743 , x_accounting_coa_id => l_adr_accounting_coa_id
137744 , x_flexfield_segment_code => l_adr_flexfield_segment_code
137745 , x_flex_value_set_id => l_adr_flex_value_set_id
137746 , x_value_type_code => l_adr_value_type_code
137747 , x_value_combination_id => l_adr_value_combination_id
137748 , x_value_segment_code => l_adr_value_segment_code
137749 , p_side => 'NA'
137750 , p_override_seg_flag => 'Y'
137751 );
137752
137753 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
137754
137755 xla_ae_lines_pkg.set_segment(
137756 p_to_segment_code => 'GL_BALANCING'
137757 , p_segment_value => l_segment
137758 , p_from_segment_code => l_adr_value_segment_code
137759 , p_from_combination_id => l_adr_value_combination_id
137760 , p_value_type_code => l_adr_value_type_code
137761 , p_transaction_coa_id => l_adr_transaction_coa_id
137762 , p_accounting_coa_id => l_adr_accounting_coa_id
137763 , p_flexfield_segment_code => l_adr_flexfield_segment_code
137764 , p_flex_value_set_id => l_adr_flex_value_set_id
137765 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
137766 , p_adr_type_code => 'S'
137767 , p_component_type => l_component_type
137768 , p_component_code => l_component_code
137769 , p_component_type_code => l_component_type_code
137770 , p_component_appl_id => l_component_appl_id
137771 , p_amb_context_code => l_amb_context_code
137772 , p_entity_code => 'AP_INVOICES'
137773 , p_event_class_code => 'INVOICES'
137774 , p_side => 'NA'
137775 );
137776
137777 END IF;
137778
137779 --
137780 --
137781 END IF;
137782
137783 --
137784 -- Update the line information that should be overwritten
137785 --
137786 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
137787 p_header_num => 1);
137788 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
137789
137790 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
137791
137792 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
137793 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
137794 END IF;
137795
137796 --
137797 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
137798 --
137799 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
137800 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
137801 ELSE
137802 ---------------------------------------------------------------------------------------------------
137803 -- 4262811a Switch Sign
137804 ---------------------------------------------------------------------------------------------------
137805 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
137806 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137807 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137808 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
137809 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137810 -- 5132302
137811 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
137812 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
137813
137814 END IF;
137815
137816 -- 4955764
137817 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
137818 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
137819
137820
137821 XLA_AE_LINES_PKG.ValidateCurrentLine;
137822 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
137823
137824 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
137825 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
137826 ,p_balance_type_code => l_balance_type_code);
137827
137828 END IF;
137829
137830 -----------------------------------------------------------------------------------------
137831 -- 4262811 Multiperiod Accounting
137832 -----------------------------------------------------------------------------------------
137836 END IF;
137833 -- No MPA option is assigned.
137834
137835
137837 END IF;
137838 --
137839
137840 --
137841 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
137842 trace
137843 (p_msg => 'END of AcctLineType_228'
137844 ,p_level => C_LEVEL_PROCEDURE
137845 ,p_module => l_log_module);
137846 END IF;
137847 --
137848 EXCEPTION
137849 WHEN xla_exceptions_pkg.application_exception THEN
137850 RAISE;
137851 WHEN OTHERS THEN
137852 xla_exceptions_pkg.raise_message
137853 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_228');
137854 END AcctLineType_228;
137855 --
137856
137857 ---------------------------------------
137858 --
137859 -- PRIVATE FUNCTION
137860 -- AcctLineType_229
137861 --
137862 ---------------------------------------
137863 PROCEDURE AcctLineType_229 (
137864 p_application_id IN NUMBER
137865 ,p_event_id IN NUMBER
137866 ,p_calculate_acctd_flag IN VARCHAR2
137867 ,p_calculate_g_l_flag IN VARCHAR2
137868 ,p_actual_flag IN OUT VARCHAR2
137869 ,p_balance_type_code OUT VARCHAR2
137870 ,p_gain_or_loss_ref OUT VARCHAR2
137871
137872 --Invoice Distribution Description
137873 , p_source_1 IN VARCHAR2
137874 --Automatic Offsets Value
137875 , p_source_3 IN VARCHAR2
137876 , p_source_3_meaning IN VARCHAR2
137877 --Invoice Distribution Ledger Amount
137878 , p_source_9 IN NUMBER
137879 --Invoice Distribution Account
137880 , p_source_18 IN NUMBER
137881 --Invoice Distribution Type
137882 , p_source_21 IN VARCHAR2
137883 , p_source_21_meaning IN VARCHAR2
137884 --Retainage Account
137885 , p_source_28 IN NUMBER
137886 --Retainage Related Item Distribution Account
137887 , p_source_30 IN NUMBER
137888 --Accounting Reversal Indicator
137889 , p_source_41 IN VARCHAR2
137890 --Distribution Link Type
137891 , p_source_43 IN VARCHAR2
137892 --Allocation to Main Distribution Identifier
137893 , p_source_45 IN NUMBER
137894 --Invoice Identifier
137895 , p_source_46 IN NUMBER
137896 --Invoice Distribution Identifier
137897 , p_source_52 IN NUMBER
137898 --Payables Encumbrance Upgrade Credit Account
137899 , p_source_53 IN NUMBER
137900 --Payables Encumbrance Upgrade Credit Amount
137901 , p_source_54 IN NUMBER
137902 --Invoice Currency Code
137903 , p_source_55 IN VARCHAR2
137904 --Payables Encumbrance Upgrade Credit Base Amount
137905 , p_source_56 IN NUMBER
137906 --Payables Encumbrance Upgrade Debit Account
137907 , p_source_57 IN NUMBER
137908 --Payables Encumbrance Upgrade Debit Amount
137909 , p_source_58 IN NUMBER
137910 --Payables Encumbrance Upgrade Debit Base Amount
137911 , p_source_59 IN NUMBER
137912 --Payables Encumbrance Upgrade Option
137913 , p_source_60 IN VARCHAR2
137914 --Invoice Distribution Amount
137915 , p_source_61 IN NUMBER
137916 --Deferred Accounting End Date
137917 , p_source_65 IN DATE
137918 --Deferred Accounting Option
137919 , p_source_66 IN VARCHAR2
137920 --Deferred Accounting Start Date
137921 , p_source_67 IN DATE
137922 --Override Accounted Amount Indicator
137923 , p_source_68 IN VARCHAR2
137924 , p_source_68_meaning IN VARCHAR2
137925 --Invoice Supplier Identifier
137926 , p_source_69 IN NUMBER
137927 --Invoice Supplier Site Identifier
137928 , p_source_70 IN NUMBER
137929 --Third Party Type
137930 , p_source_71 IN VARCHAR2
137931 --Parent Reversal Identifier
137932 , p_source_72 IN NUMBER
137933 --Invoice Distribution Statistical Amount
137934 , p_source_73 IN NUMBER
137935 --Invoice Distribution Tax Line Identifier
137936 , p_source_74 IN NUMBER
137937 --Invoice Distribution Tax Distribution Identifier from Tax
137938 , p_source_75 IN NUMBER
137939 --Invoice Distribution Summary Tax Line Identifier
137940 , p_source_76 IN NUMBER
137941 --Payables Upgrade Credit Encumbrance Type Identifier
137942 , p_source_77 IN NUMBER
137943 --Payables Upgrade Debit Encumbrance Type Identifier
137944 , p_source_78 IN NUMBER
137945 --Business Flow Accounts Payable Application Identifier
137946 , p_source_79 IN NUMBER
137947 --Business Flow Invoice Distribution Type
137948 , p_source_80 IN VARCHAR2
137949 --Business Flow Invoice Entity Code
137950 , p_source_81 IN VARCHAR2
137951 --Business Flow Invoice Distribution Identifier
137952 , p_source_82 IN NUMBER
137953 --Business Flow Invoice Identifier
137954 , p_source_83 IN NUMBER
137955 --Invoice Exchange Date
137956 , p_source_136 IN DATE
137957 --Invoice Exchange Rate
137958 , p_source_137 IN NUMBER
137959 --Invoice Exchange Rate Type
137960 , p_source_138 IN VARCHAR2
137961 --Invoice Type
137962 , p_source_159 IN VARCHAR2
137963 , p_source_159_meaning IN VARCHAR2
137964 )
137965 IS
137966
137967 l_component_type VARCHAR2(80);
137968 l_component_code VARCHAR2(30);
137969 l_component_type_code VARCHAR2(1);
137970 l_component_appl_id INTEGER;
137971 l_amb_context_code VARCHAR2(30);
137972 l_entity_code VARCHAR2(30);
137976 l_line_definition_code VARCHAR2(30);
137973 l_event_class_code VARCHAR2(30);
137974 l_ae_header_id NUMBER;
137975 l_event_type_code VARCHAR2(30);
137977 l_line_definition_owner_code VARCHAR2(1);
137978 --
137979 -- adr variables
137980 l_segment VARCHAR2(30);
137981 l_ccid NUMBER;
137982 l_adr_transaction_coa_id NUMBER;
137983 l_adr_accounting_coa_id NUMBER;
137984 l_adr_flexfield_segment_code VARCHAR2(30);
137985 l_adr_flex_value_set_id NUMBER;
137986 l_adr_value_type_code VARCHAR2(30);
137987 l_adr_value_combination_id NUMBER;
137988 l_adr_value_segment_code VARCHAR2(30);
137989
137990 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
137991 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
137992 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
137993 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
137994
137995 -- 4262811 Variables ------------------------------------------------------------------------------------------
137996 l_entered_amt_idx NUMBER;
137997 l_accted_amt_idx NUMBER;
137998 l_acc_rev_flag VARCHAR2(1);
137999 l_accrual_line_num NUMBER;
138000 l_tmp_amt NUMBER;
138001 l_acc_rev_natural_side_code VARCHAR2(1);
138002
138003 l_num_entries NUMBER;
138004 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
138005 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
138006 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
138007 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
138008 l_recog_line_1 NUMBER;
138009 l_recog_line_2 NUMBER;
138010
138011 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
138012 l_bflow_applied_to_amt NUMBER; -- 5132302
138013 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
138014
138015 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
138016
138017 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
138018 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
138019
138020 ---------------------------------------------------------------------------------------------------------------
138021
138022
138023 --
138024 -- bulk performance
138025 --
138026 l_balance_type_code VARCHAR2(1);
138027 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
138028 l_log_module VARCHAR2(240);
138029
138030 --
138031 -- Upgrade strategy
138032 --
138033 l_actual_upg_option VARCHAR2(1);
138034 l_enc_upg_option VARCHAR2(1);
138035
138036 --
138037 BEGIN
138038 --
138039 IF g_log_enabled THEN
138040 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_229';
138041 END IF;
138042 --
138043 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138044
138045 trace
138046 (p_msg => 'BEGIN of AcctLineType_229'
138047 ,p_level => C_LEVEL_PROCEDURE
138048 ,p_module => l_log_module);
138049
138050 END IF;
138051 --
138052 l_component_type := 'AMB_JLT';
138053 l_component_code := 'AP_RETAINAGE_ACC_CM';
138054 l_component_type_code := 'S';
138055 l_component_appl_id := 200;
138056 l_amb_context_code := 'DEFAULT';
138057 l_entity_code := 'AP_INVOICES';
138058 l_event_class_code := 'CREDIT MEMOS';
138059 l_event_type_code := 'CREDIT MEMOS_ALL';
138060 l_line_definition_owner_code := 'S';
138061 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
138062 --
138063 l_balance_type_code := 'A';
138064 l_segment := NULL;
138065 l_ccid := NULL;
138066 l_adr_transaction_coa_id := NULL;
138067 l_adr_accounting_coa_id := NULL;
138068 l_adr_flexfield_segment_code := NULL;
138069 l_adr_flex_value_set_id := NULL;
138070 l_adr_value_type_code := NULL;
138071 l_adr_value_combination_id := NULL;
138072 l_adr_value_segment_code := NULL;
138073
138074 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138075 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
138076 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138077 l_budgetary_control_flag := 'N';
138078
138079 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138080 l_bflow_applied_to_amt := NULL; -- 5132302
138081 l_entered_amt_idx := NULL; -- 4262811
138082 l_accted_amt_idx := NULL; -- 4262811
138083 l_acc_rev_flag := NULL; -- 4262811
138084 l_accrual_line_num := NULL; -- 4262811
138085 l_tmp_amt := NULL; -- 4262811
138086 --
138087
138088 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138089 l_balance_type_code <> 'B' THEN
138090 IF NVL(p_source_21,'
138091 ') = 'RETAINAGE' AND
138092 NVL(p_source_159,'
138093 ') <> 'RETAINAGE RELEASE'
138094 THEN
138095
138096 --
138097 XLA_AE_LINES_PKG.SetNewLine;
138098
138099 p_balance_type_code := l_balance_type_code;
138100 -- set the flag so later we will know whether the gain loss line needs to be created
138101
138105
138102 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138103 p_actual_flag :='A';
138104 END IF;
138106 --
138107 -- bulk performance
138108 --
138109 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138110 p_header_num => 0); -- 4262811
138111 --
138112 -- set accounting line options
138113 --
138114 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
138115 p_natural_side_code => 'D'
138116 , p_gain_or_loss_flag => 'N'
138117 , p_gl_transfer_mode_code => 'S'
138118 , p_acct_entry_type_code => 'A'
138119 , p_switch_side_flag => 'Y'
138120 , p_merge_duplicate_code => 'A'
138121 );
138122 --
138123 l_acc_rev_natural_side_code := 'C'; -- 4262811
138124 --
138125 --
138126 -- set accounting line type info
138127 --
138128 xla_ae_lines_pkg.SetAcctLineType
138129 (p_component_type => l_component_type
138130 ,p_event_type_code => l_event_type_code
138131 ,p_line_definition_owner_code => l_line_definition_owner_code
138132 ,p_line_definition_code => l_line_definition_code
138133 ,p_accounting_line_code => l_component_code
138134 ,p_accounting_line_type_code => l_component_type_code
138135 ,p_accounting_line_appl_id => l_component_appl_id
138136 ,p_amb_context_code => l_amb_context_code
138137 ,p_entity_code => l_entity_code
138138 ,p_event_class_code => l_event_class_code);
138139 --
138140 -- set accounting class
138141 --
138142 xla_ae_lines_pkg.SetAcctClass(
138143 p_accounting_class_code => 'RETAINAGE'
138144 , p_ae_header_id => l_ae_header_id
138145 );
138146
138147 --
138148 -- set rounding class
138149 --
138150 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
138151 'RETAINAGE';
138152
138153 --
138154 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
138155 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
138156 --
138157 -- bulk performance
138158 --
138159 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
138160
138161 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
138162 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
138163
138164 -- 4955764
138165 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138166 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
138167
138168 -- 4458381 Public Sector Enh
138169
138170 --
138171 -- set accounting attributes for the line type
138172 --
138173 l_entered_amt_idx := 23;
138174 l_accted_amt_idx := 28;
138175 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138176 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
138177 l_rec_acct_attrs.array_char_value(1) := p_source_41;
138178 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
138179 l_rec_acct_attrs.array_num_value(2) :=
138180 xla_ae_sources_pkg.GetSystemSourceNum(
138181 p_source_code => 'XLA_EVENT_APPL_ID'
138182 , p_source_type_code => 'Y'
138183 , p_source_application_id => 602
138184 );
138185 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
138186 l_rec_acct_attrs.array_char_value(3) := p_source_43;
138187 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
138188 l_rec_acct_attrs.array_char_value(4) :=
138189 xla_ae_sources_pkg.GetSystemSourceChar(
138190 p_source_code => 'XLA_ENTITY_CODE'
138191 , p_source_type_code => 'Y'
138192 , p_source_application_id => 602
138193 );
138194 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
138195 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
138196 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
138197 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
138198 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
138199 l_rec_acct_attrs.array_num_value(7) := p_source_79;
138200 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
138201 l_rec_acct_attrs.array_char_value(8) := p_source_80;
138202 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
138203 l_rec_acct_attrs.array_char_value(9) := p_source_81;
138204 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
138205 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
138206 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
138207 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
138208 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
138209 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
138210 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
138211 l_rec_acct_attrs.array_char_value(13) := p_source_43;
138212 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
138213 l_rec_acct_attrs.array_num_value(14) := p_source_53;
138217 l_rec_acct_attrs.array_char_value(16) := p_source_55;
138214 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
138215 l_rec_acct_attrs.array_num_value(15) := p_source_54;
138216 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
138218 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
138219 l_rec_acct_attrs.array_num_value(17) := p_source_56;
138220 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
138221 l_rec_acct_attrs.array_num_value(18) := p_source_57;
138222 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
138223 l_rec_acct_attrs.array_num_value(19) := p_source_58;
138224 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
138225 l_rec_acct_attrs.array_char_value(20) := p_source_55;
138226 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
138227 l_rec_acct_attrs.array_num_value(21) := p_source_59;
138228 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
138229 l_rec_acct_attrs.array_char_value(22) := p_source_60;
138230 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
138231 l_rec_acct_attrs.array_num_value(23) := p_source_61;
138232 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
138233 l_rec_acct_attrs.array_char_value(24) := p_source_55;
138234 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
138235 l_rec_acct_attrs.array_date_value(25) := p_source_136;
138236 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
138237 l_rec_acct_attrs.array_num_value(26) := p_source_137;
138238 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
138239 l_rec_acct_attrs.array_char_value(27) := p_source_138;
138240 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
138241 l_rec_acct_attrs.array_num_value(28) := p_source_9;
138242 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
138243 l_rec_acct_attrs.array_date_value(29) := p_source_65;
138244 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
138245 l_rec_acct_attrs.array_char_value(30) := p_source_66;
138246 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
138247 l_rec_acct_attrs.array_date_value(31) := p_source_67;
138248 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
138249 l_rec_acct_attrs.array_char_value(32) := p_source_68;
138250 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
138251 l_rec_acct_attrs.array_num_value(33) := p_source_69;
138252 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
138253 l_rec_acct_attrs.array_num_value(34) := p_source_70;
138254 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
138255 l_rec_acct_attrs.array_char_value(35) := p_source_71;
138256 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
138257 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
138258 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
138259 l_rec_acct_attrs.array_char_value(37) := p_source_43;
138260 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
138261 l_rec_acct_attrs.array_num_value(38) := p_source_73;
138262 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
138263 l_rec_acct_attrs.array_num_value(39) := p_source_74;
138264 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
138265 l_rec_acct_attrs.array_num_value(40) := p_source_75;
138266 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
138267 l_rec_acct_attrs.array_num_value(41) := p_source_76;
138268 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
138269 l_rec_acct_attrs.array_num_value(42) := p_source_77;
138270 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
138271 l_rec_acct_attrs.array_num_value(43) := p_source_78;
138272
138273 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
138274 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
138275
138276 ---------------------------------------------------------------------------------------------------------------
138277 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
138278 ---------------------------------------------------------------------------------------------------------------
138279 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
138280
138281 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138282 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
138283
138284 IF xla_accounting_cache_pkg.GetValueChar
138285 (p_source_code => 'LEDGER_CATEGORY_CODE'
138286 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
138287 AND l_bflow_method_code = 'PRIOR_ENTRY'
138288 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
138289 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
138290 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
138291 )
138292 THEN
138293 xla_ae_lines_pkg.BflowUpgEntry
138294 (p_business_method_code => l_bflow_method_code
138295 ,p_business_class_code => l_bflow_class_code
138296 ,p_balance_type => l_balance_type_code);
138297 ELSE
138298 NULL;
138299 -- No business flow processing for business flow method of NONE.
138300 END IF;
138301
138305
138302 --
138303 -- call analytical criteria
138304 --
138306 --
138307 -- call description
138308 --
138309
138310 xla_ae_lines_pkg.SetLineDescription(
138311 p_ae_header_id => l_ae_header_id
138312 ,p_description => Description_2 (
138313 p_application_id => p_application_id
138314 , p_ae_header_id => l_ae_header_id
138315 , p_source_1 => p_source_1
138316 )
138317 );
138318
138319
138320 --
138321 -- call ADRs
138322 -- Bug 4922099
138323 --
138324 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138325 (NVL(l_actual_upg_option, 'N') = 'O') OR
138326 (NVL(l_enc_upg_option, 'N') = 'O')
138327 )
138328 THEN
138329 NULL;
138330 --
138331 --
138332
138333 l_ccid := AcctDerRule_39(
138334 p_application_id => p_application_id
138335 , p_ae_header_id => l_ae_header_id
138336 , p_source_3 => p_source_3
138337 , p_source_3_meaning => p_source_3_meaning
138338 , p_source_18 => p_source_18
138339 , p_source_30 => p_source_30
138340 , x_transaction_coa_id => l_adr_transaction_coa_id
138341 , x_accounting_coa_id => l_adr_accounting_coa_id
138342 , x_value_type_code => l_adr_value_type_code
138343 , p_side => 'NA'
138344 );
138345
138346 xla_ae_lines_pkg.set_ccid(
138347 p_code_combination_id => l_ccid
138348 , p_value_type_code => l_adr_value_type_code
138349 , p_transaction_coa_id => l_adr_transaction_coa_id
138350 , p_accounting_coa_id => l_adr_accounting_coa_id
138351 , p_adr_code => 'AP_RETAINAGE'
138352 , p_adr_type_code => 'S'
138353 , p_component_type => l_component_type
138354 , p_component_code => l_component_code
138355 , p_component_type_code => l_component_type_code
138356 , p_component_appl_id => l_component_appl_id
138357 , p_amb_context_code => l_amb_context_code
138358 , p_side => 'NA'
138359 );
138360
138361
138362 l_segment := AcctDerRule_18(
138363 p_application_id => p_application_id
138364 , p_ae_header_id => l_ae_header_id
138365 , p_source_28 => p_source_28
138366 , x_transaction_coa_id => l_adr_transaction_coa_id
138367 , x_accounting_coa_id => l_adr_accounting_coa_id
138368 , x_flexfield_segment_code => l_adr_flexfield_segment_code
138369 , x_flex_value_set_id => l_adr_flex_value_set_id
138370 , x_value_type_code => l_adr_value_type_code
138371 , x_value_combination_id => l_adr_value_combination_id
138372 , x_value_segment_code => l_adr_value_segment_code
138373 , p_side => 'NA'
138374 , p_override_seg_flag => 'Y'
138375 );
138376
138377 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
138378
138379 xla_ae_lines_pkg.set_segment(
138380 p_to_segment_code => 'GL_ACCOUNT'
138381 , p_segment_value => l_segment
138382 , p_from_segment_code => l_adr_value_segment_code
138383 , p_from_combination_id => l_adr_value_combination_id
138384 , p_value_type_code => l_adr_value_type_code
138385 , p_transaction_coa_id => l_adr_transaction_coa_id
138386 , p_accounting_coa_id => l_adr_accounting_coa_id
138387 , p_flexfield_segment_code => l_adr_flexfield_segment_code
138388 , p_flex_value_set_id => l_adr_flex_value_set_id
138389 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
138390 , p_adr_type_code => 'S'
138391 , p_component_type => l_component_type
138392 , p_component_code => l_component_code
138393 , p_component_type_code => l_component_type_code
138394 , p_component_appl_id => l_component_appl_id
138395 , p_amb_context_code => l_amb_context_code
138396 , p_entity_code => 'AP_INVOICES'
138397 , p_event_class_code => 'CREDIT MEMOS'
138398 , p_side => 'NA'
138399 );
138400
138401 END IF;
138402
138403 l_segment := AcctDerRule_23(
138404 p_application_id => p_application_id
138405 , p_ae_header_id => l_ae_header_id
138406 , p_source_3 => p_source_3
138407 , p_source_3_meaning => p_source_3_meaning
138408 , p_source_30 => p_source_30
138409 , x_transaction_coa_id => l_adr_transaction_coa_id
138410 , x_accounting_coa_id => l_adr_accounting_coa_id
138411 , x_flexfield_segment_code => l_adr_flexfield_segment_code
138412 , x_flex_value_set_id => l_adr_flex_value_set_id
138413 , x_value_type_code => l_adr_value_type_code
138414 , x_value_combination_id => l_adr_value_combination_id
138415 , x_value_segment_code => l_adr_value_segment_code
138416 , p_side => 'NA'
138417 , p_override_seg_flag => 'Y'
138418 );
138419
138420 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
138421
138422 xla_ae_lines_pkg.set_segment(
138423 p_to_segment_code => 'GL_BALANCING'
138424 , p_segment_value => l_segment
138425 , p_from_segment_code => l_adr_value_segment_code
138429 , p_accounting_coa_id => l_adr_accounting_coa_id
138426 , p_from_combination_id => l_adr_value_combination_id
138427 , p_value_type_code => l_adr_value_type_code
138428 , p_transaction_coa_id => l_adr_transaction_coa_id
138430 , p_flexfield_segment_code => l_adr_flexfield_segment_code
138431 , p_flex_value_set_id => l_adr_flex_value_set_id
138432 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
138433 , p_adr_type_code => 'S'
138434 , p_component_type => l_component_type
138435 , p_component_code => l_component_code
138436 , p_component_type_code => l_component_type_code
138437 , p_component_appl_id => l_component_appl_id
138438 , p_amb_context_code => l_amb_context_code
138439 , p_entity_code => 'AP_INVOICES'
138440 , p_event_class_code => 'CREDIT MEMOS'
138441 , p_side => 'NA'
138442 );
138443
138444 END IF;
138445
138446 --
138447 --
138448 END IF;
138449 --
138450 -- Bug 4922099
138451 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
138452 (NVL(l_enc_upg_option, 'N') = 'O')
138453 ) AND
138454 (l_bflow_method_code = 'PRIOR_ENTRY')
138455 )
138456 THEN
138457 IF
138458 --
138459 1 = 2
138460 --
138461 THEN
138462 xla_accounting_err_pkg.build_message
138463 (p_appli_s_name => 'XLA'
138464 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138465 ,p_token_1 => 'LINE_NUMBER'
138466 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
138467 ,p_token_2 => 'LINE_TYPE_NAME'
138468 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
138469 l_component_type
138470 ,l_component_code
138471 ,l_component_type_code
138472 ,l_component_appl_id
138473 ,l_amb_context_code
138474 ,l_entity_code
138475 ,l_event_class_code
138476 )
138477 ,p_token_3 => 'OWNER'
138478 ,p_value_3 => xla_lookups_pkg.get_meaning(
138479 p_lookup_type => 'XLA_OWNER_TYPE'
138480 ,p_lookup_code => l_component_type_code
138481 )
138482 ,p_token_4 => 'PRODUCT_NAME'
138483 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
138484 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
138485 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
138486 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
138487 ,p_ae_header_id => NULL
138488 );
138489
138490 IF (C_LEVEL_ERROR>= g_log_level) THEN
138491 trace
138492 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
138493 ,p_level => C_LEVEL_ERROR
138494 ,p_module => l_log_module);
138495 END IF;
138496 END IF;
138497 END IF;
138498 --
138499 --
138500 ------------------------------------------------------------------------------------------------
138501 -- 4219869 Business Flow
138502 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
138503 -- Prior Entry. Currently, the following code is always generated.
138504 ------------------------------------------------------------------------------------------------
138505 XLA_AE_LINES_PKG.ValidateCurrentLine;
138506
138507 ------------------------------------------------------------------------------------
138508 -- 4219869 Business Flow
138509 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
138510 ------------------------------------------------------------------------------------
138511 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138512
138513 ----------------------------------------------------------------------------------
138514 -- 4219869 Business Flow
138515 -- Update journal entry status -- Need to generate this within IF <condition>
138516 ----------------------------------------------------------------------------------
138517 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138518 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
138519 ,p_balance_type_code => l_balance_type_code
138520 );
138521
138525 BEGIN
138522 -------------------------------------------------------------------------------------------
138523 -- 4262811 - Generate the Accrual Reversal lines
138524 -------------------------------------------------------------------------------------------
138526 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
138527 (g_array_event(p_event_id).array_value_num('header_index'));
138528 IF l_acc_rev_flag IS NULL THEN
138529 l_acc_rev_flag := 'N';
138530 END IF;
138531 EXCEPTION
138532 WHEN OTHERS THEN
138533 l_acc_rev_flag := 'N';
138534 END;
138535 --
138536 IF (l_acc_rev_flag = 'Y') THEN
138537
138538 -- 4645092 ------------------------------------------------------------------------------
138539 -- To allow MPA report to determine if it should generate report process
138540 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
138541 ------------------------------------------------------------------------------------------
138542
138543 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
138544 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
138545 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
138546 -- call ADRs
138547 -- Bug 4922099
138548 --
138549 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
138550 (NVL(l_actual_upg_option, 'N') = 'O') OR
138551 (NVL(l_enc_upg_option, 'N') = 'O')
138552 )
138553 THEN
138554 NULL;
138555 --
138556 --
138557
138558 l_ccid := AcctDerRule_39(
138559 p_application_id => p_application_id
138560 , p_ae_header_id => l_ae_header_id
138561 , p_source_3 => p_source_3
138562 , p_source_3_meaning => p_source_3_meaning
138563 , p_source_18 => p_source_18
138564 , p_source_30 => p_source_30
138565 , x_transaction_coa_id => l_adr_transaction_coa_id
138566 , x_accounting_coa_id => l_adr_accounting_coa_id
138567 , x_value_type_code => l_adr_value_type_code
138568 , p_side => 'NA'
138569 );
138570
138571 xla_ae_lines_pkg.set_ccid(
138572 p_code_combination_id => l_ccid
138573 , p_value_type_code => l_adr_value_type_code
138574 , p_transaction_coa_id => l_adr_transaction_coa_id
138575 , p_accounting_coa_id => l_adr_accounting_coa_id
138576 , p_adr_code => 'AP_RETAINAGE'
138577 , p_adr_type_code => 'S'
138578 , p_component_type => l_component_type
138579 , p_component_code => l_component_code
138580 , p_component_type_code => l_component_type_code
138581 , p_component_appl_id => l_component_appl_id
138582 , p_amb_context_code => l_amb_context_code
138583 , p_side => 'NA'
138584 );
138585
138586
138587 l_segment := AcctDerRule_18(
138588 p_application_id => p_application_id
138589 , p_ae_header_id => l_ae_header_id
138590 , p_source_28 => p_source_28
138591 , x_transaction_coa_id => l_adr_transaction_coa_id
138592 , x_accounting_coa_id => l_adr_accounting_coa_id
138593 , x_flexfield_segment_code => l_adr_flexfield_segment_code
138594 , x_flex_value_set_id => l_adr_flex_value_set_id
138595 , x_value_type_code => l_adr_value_type_code
138596 , x_value_combination_id => l_adr_value_combination_id
138597 , x_value_segment_code => l_adr_value_segment_code
138598 , p_side => 'NA'
138599 , p_override_seg_flag => 'Y'
138600 );
138601
138602 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
138603
138604 xla_ae_lines_pkg.set_segment(
138605 p_to_segment_code => 'GL_ACCOUNT'
138606 , p_segment_value => l_segment
138607 , p_from_segment_code => l_adr_value_segment_code
138608 , p_from_combination_id => l_adr_value_combination_id
138609 , p_value_type_code => l_adr_value_type_code
138610 , p_transaction_coa_id => l_adr_transaction_coa_id
138611 , p_accounting_coa_id => l_adr_accounting_coa_id
138612 , p_flexfield_segment_code => l_adr_flexfield_segment_code
138613 , p_flex_value_set_id => l_adr_flex_value_set_id
138614 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
138615 , p_adr_type_code => 'S'
138616 , p_component_type => l_component_type
138617 , p_component_code => l_component_code
138618 , p_component_type_code => l_component_type_code
138619 , p_component_appl_id => l_component_appl_id
138620 , p_amb_context_code => l_amb_context_code
138621 , p_entity_code => 'AP_INVOICES'
138622 , p_event_class_code => 'CREDIT MEMOS'
138623 , p_side => 'NA'
138624 );
138625
138626 END IF;
138627
138628 l_segment := AcctDerRule_23(
138629 p_application_id => p_application_id
138630 , p_ae_header_id => l_ae_header_id
138631 , p_source_3 => p_source_3
138632 , p_source_3_meaning => p_source_3_meaning
138633 , p_source_30 => p_source_30
138634 , x_transaction_coa_id => l_adr_transaction_coa_id
138635 , x_accounting_coa_id => l_adr_accounting_coa_id
138636 , x_flexfield_segment_code => l_adr_flexfield_segment_code
138640 , x_value_segment_code => l_adr_value_segment_code
138637 , x_flex_value_set_id => l_adr_flex_value_set_id
138638 , x_value_type_code => l_adr_value_type_code
138639 , x_value_combination_id => l_adr_value_combination_id
138641 , p_side => 'NA'
138642 , p_override_seg_flag => 'Y'
138643 );
138644
138645 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
138646
138647 xla_ae_lines_pkg.set_segment(
138648 p_to_segment_code => 'GL_BALANCING'
138649 , p_segment_value => l_segment
138650 , p_from_segment_code => l_adr_value_segment_code
138651 , p_from_combination_id => l_adr_value_combination_id
138652 , p_value_type_code => l_adr_value_type_code
138653 , p_transaction_coa_id => l_adr_transaction_coa_id
138654 , p_accounting_coa_id => l_adr_accounting_coa_id
138655 , p_flexfield_segment_code => l_adr_flexfield_segment_code
138656 , p_flex_value_set_id => l_adr_flex_value_set_id
138657 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
138658 , p_adr_type_code => 'S'
138659 , p_component_type => l_component_type
138660 , p_component_code => l_component_code
138661 , p_component_type_code => l_component_type_code
138662 , p_component_appl_id => l_component_appl_id
138663 , p_amb_context_code => l_amb_context_code
138664 , p_entity_code => 'AP_INVOICES'
138665 , p_event_class_code => 'CREDIT MEMOS'
138666 , p_side => 'NA'
138667 );
138668
138669 END IF;
138670
138671 --
138672 --
138673 END IF;
138674
138675 --
138676 -- Update the line information that should be overwritten
138677 --
138678 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
138679 p_header_num => 1);
138680 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
138681
138682 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
138683
138684 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
138685 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
138686 END IF;
138687
138688 --
138689 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
138690 --
138691 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
138692 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
138693 ELSE
138694 ---------------------------------------------------------------------------------------------------
138695 -- 4262811a Switch Sign
138696 ---------------------------------------------------------------------------------------------------
138697 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
138698 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138699 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138700 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
138701 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138702 -- 5132302
138703 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
138704 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
138705
138706 END IF;
138707
138708 -- 4955764
138709 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
138710 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
138711
138712
138713 XLA_AE_LINES_PKG.ValidateCurrentLine;
138714 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
138715
138716 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
138717 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
138718 ,p_balance_type_code => l_balance_type_code);
138719
138720 END IF;
138721
138722 -----------------------------------------------------------------------------------------
138723 -- 4262811 Multiperiod Accounting
138724 -----------------------------------------------------------------------------------------
138725 -- No MPA option is assigned.
138726
138727
138728 END IF;
138729 END IF;
138730 --
138731
138732 --
138733 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138734 trace
138735 (p_msg => 'END of AcctLineType_229'
138736 ,p_level => C_LEVEL_PROCEDURE
138737 ,p_module => l_log_module);
138738 END IF;
138739 --
138740 EXCEPTION
138741 WHEN xla_exceptions_pkg.application_exception THEN
138742 RAISE;
138743 WHEN OTHERS THEN
138744 xla_exceptions_pkg.raise_message
138745 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_229');
138746 END AcctLineType_229;
138747 --
138748
138749 ---------------------------------------
138750 --
138751 -- PRIVATE FUNCTION
138755 PROCEDURE AcctLineType_230 (
138752 -- AcctLineType_230
138753 --
138754 ---------------------------------------
138756 p_application_id IN NUMBER
138757 ,p_event_id IN NUMBER
138758 ,p_calculate_acctd_flag IN VARCHAR2
138759 ,p_calculate_g_l_flag IN VARCHAR2
138760 ,p_actual_flag IN OUT VARCHAR2
138761 ,p_balance_type_code OUT VARCHAR2
138762 ,p_gain_or_loss_ref OUT VARCHAR2
138763
138764 --Invoice Distribution Description
138765 , p_source_1 IN VARCHAR2
138766 --Automatic Offsets Value
138767 , p_source_3 IN VARCHAR2
138768 , p_source_3_meaning IN VARCHAR2
138769 --Invoice Distribution Ledger Amount
138770 , p_source_9 IN NUMBER
138771 --Invoice Distribution Account
138772 , p_source_18 IN NUMBER
138773 --Invoice Distribution Type
138774 , p_source_21 IN VARCHAR2
138775 , p_source_21_meaning IN VARCHAR2
138776 --Retainage Account
138777 , p_source_28 IN NUMBER
138778 --Retainage Related Item Distribution Account
138779 , p_source_30 IN NUMBER
138780 --Accounting Reversal Indicator
138781 , p_source_41 IN VARCHAR2
138782 --Distribution Link Type
138783 , p_source_43 IN VARCHAR2
138784 --Allocation to Main Distribution Identifier
138785 , p_source_45 IN NUMBER
138786 --Invoice Identifier
138787 , p_source_46 IN NUMBER
138788 --Invoice Distribution Identifier
138789 , p_source_52 IN NUMBER
138790 --Payables Encumbrance Upgrade Credit Account
138791 , p_source_53 IN NUMBER
138792 --Payables Encumbrance Upgrade Credit Amount
138793 , p_source_54 IN NUMBER
138794 --Invoice Currency Code
138795 , p_source_55 IN VARCHAR2
138796 --Payables Encumbrance Upgrade Credit Base Amount
138797 , p_source_56 IN NUMBER
138798 --Payables Encumbrance Upgrade Debit Account
138799 , p_source_57 IN NUMBER
138800 --Payables Encumbrance Upgrade Debit Amount
138801 , p_source_58 IN NUMBER
138802 --Payables Encumbrance Upgrade Debit Base Amount
138803 , p_source_59 IN NUMBER
138804 --Payables Encumbrance Upgrade Option
138805 , p_source_60 IN VARCHAR2
138806 --Invoice Distribution Amount
138807 , p_source_61 IN NUMBER
138808 --Deferred Accounting End Date
138809 , p_source_65 IN DATE
138810 --Deferred Accounting Option
138811 , p_source_66 IN VARCHAR2
138812 --Deferred Accounting Start Date
138813 , p_source_67 IN DATE
138814 --Override Accounted Amount Indicator
138815 , p_source_68 IN VARCHAR2
138816 , p_source_68_meaning IN VARCHAR2
138817 --Invoice Supplier Identifier
138818 , p_source_69 IN NUMBER
138819 --Invoice Supplier Site Identifier
138820 , p_source_70 IN NUMBER
138821 --Third Party Type
138822 , p_source_71 IN VARCHAR2
138823 --Parent Reversal Identifier
138824 , p_source_72 IN NUMBER
138825 --Invoice Distribution Tax Line Identifier
138826 , p_source_74 IN NUMBER
138827 --Invoice Distribution Tax Distribution Identifier from Tax
138828 , p_source_75 IN NUMBER
138829 --Invoice Distribution Summary Tax Line Identifier
138830 , p_source_76 IN NUMBER
138831 --Payables Upgrade Credit Encumbrance Type Identifier
138832 , p_source_77 IN NUMBER
138833 --Payables Upgrade Debit Encumbrance Type Identifier
138834 , p_source_78 IN NUMBER
138835 --Business Flow Accounts Payable Application Identifier
138836 , p_source_79 IN NUMBER
138837 --Business Flow Invoice Distribution Type
138838 , p_source_80 IN VARCHAR2
138839 --Business Flow Invoice Entity Code
138840 , p_source_81 IN VARCHAR2
138841 --Business Flow Invoice Distribution Identifier
138842 , p_source_82 IN NUMBER
138843 --Business Flow Invoice Identifier
138844 , p_source_83 IN NUMBER
138845 --Invoice Exchange Date
138846 , p_source_136 IN DATE
138847 --Invoice Exchange Rate
138848 , p_source_137 IN NUMBER
138849 --Invoice Exchange Rate Type
138850 , p_source_138 IN VARCHAR2
138851 )
138852 IS
138853
138854 l_component_type VARCHAR2(80);
138855 l_component_code VARCHAR2(30);
138856 l_component_type_code VARCHAR2(1);
138857 l_component_appl_id INTEGER;
138858 l_amb_context_code VARCHAR2(30);
138859 l_entity_code VARCHAR2(30);
138860 l_event_class_code VARCHAR2(30);
138861 l_ae_header_id NUMBER;
138862 l_event_type_code VARCHAR2(30);
138863 l_line_definition_code VARCHAR2(30);
138864 l_line_definition_owner_code VARCHAR2(1);
138865 --
138866 -- adr variables
138867 l_segment VARCHAR2(30);
138868 l_ccid NUMBER;
138869 l_adr_transaction_coa_id NUMBER;
138870 l_adr_accounting_coa_id NUMBER;
138871 l_adr_flexfield_segment_code VARCHAR2(30);
138872 l_adr_flex_value_set_id NUMBER;
138873 l_adr_value_type_code VARCHAR2(30);
138874 l_adr_value_combination_id NUMBER;
138875 l_adr_value_segment_code VARCHAR2(30);
138876
138877 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
138878 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
138879 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
138880 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
138884 l_accted_amt_idx NUMBER;
138881
138882 -- 4262811 Variables ------------------------------------------------------------------------------------------
138883 l_entered_amt_idx NUMBER;
138885 l_acc_rev_flag VARCHAR2(1);
138886 l_accrual_line_num NUMBER;
138887 l_tmp_amt NUMBER;
138888 l_acc_rev_natural_side_code VARCHAR2(1);
138889
138890 l_num_entries NUMBER;
138891 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
138892 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
138893 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
138894 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
138895 l_recog_line_1 NUMBER;
138896 l_recog_line_2 NUMBER;
138897
138898 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
138899 l_bflow_applied_to_amt NUMBER; -- 5132302
138900 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
138901
138902 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
138903
138904 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
138905 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
138906
138907 ---------------------------------------------------------------------------------------------------------------
138908
138909
138910 --
138911 -- bulk performance
138912 --
138913 l_balance_type_code VARCHAR2(1);
138914 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
138915 l_log_module VARCHAR2(240);
138916
138917 --
138918 -- Upgrade strategy
138919 --
138920 l_actual_upg_option VARCHAR2(1);
138921 l_enc_upg_option VARCHAR2(1);
138922
138923 --
138924 BEGIN
138925 --
138926 IF g_log_enabled THEN
138927 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_230';
138928 END IF;
138929 --
138930 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
138931
138932 trace
138933 (p_msg => 'BEGIN of AcctLineType_230'
138934 ,p_level => C_LEVEL_PROCEDURE
138935 ,p_module => l_log_module);
138936
138937 END IF;
138938 --
138939 l_component_type := 'AMB_JLT';
138940 l_component_code := 'AP_RETAINAGE_ACC_DM';
138941 l_component_type_code := 'S';
138942 l_component_appl_id := 200;
138943 l_amb_context_code := 'DEFAULT';
138944 l_entity_code := 'AP_INVOICES';
138945 l_event_class_code := 'DEBIT MEMOS';
138946 l_event_type_code := 'DEBIT MEMOS_ALL';
138947 l_line_definition_owner_code := 'S';
138948 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
138949 --
138950 l_balance_type_code := 'A';
138951 l_segment := NULL;
138952 l_ccid := NULL;
138953 l_adr_transaction_coa_id := NULL;
138954 l_adr_accounting_coa_id := NULL;
138955 l_adr_flexfield_segment_code := NULL;
138956 l_adr_flex_value_set_id := NULL;
138957 l_adr_value_type_code := NULL;
138958 l_adr_value_combination_id := NULL;
138959 l_adr_value_segment_code := NULL;
138960
138961 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
138962 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
138963 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
138964 l_budgetary_control_flag := 'N';
138965
138966 l_bflow_applied_to_amt_idx := NULL; -- 5132302
138967 l_bflow_applied_to_amt := NULL; -- 5132302
138968 l_entered_amt_idx := NULL; -- 4262811
138969 l_accted_amt_idx := NULL; -- 4262811
138970 l_acc_rev_flag := NULL; -- 4262811
138971 l_accrual_line_num := NULL; -- 4262811
138972 l_tmp_amt := NULL; -- 4262811
138973 --
138974
138975 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
138976 l_balance_type_code <> 'B' THEN
138977 IF NVL(p_source_21,'
138978 ') = 'RETAINAGE'
138979 THEN
138980
138981 --
138982 XLA_AE_LINES_PKG.SetNewLine;
138983
138984 p_balance_type_code := l_balance_type_code;
138985 -- set the flag so later we will know whether the gain loss line needs to be created
138986
138987 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
138988 p_actual_flag :='A';
138989 END IF;
138990
138991 --
138992 -- bulk performance
138993 --
138994 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
138995 p_header_num => 0); -- 4262811
138996 --
138997 -- set accounting line options
138998 --
138999 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
139000 p_natural_side_code => 'D'
139001 , p_gain_or_loss_flag => 'N'
139002 , p_gl_transfer_mode_code => 'S'
139003 , p_acct_entry_type_code => 'A'
139004 , p_switch_side_flag => 'Y'
139005 , p_merge_duplicate_code => 'A'
139006 );
139007 --
139008 l_acc_rev_natural_side_code := 'C'; -- 4262811
139009 --
139010 --
139011 -- set accounting line type info
139012 --
139013 xla_ae_lines_pkg.SetAcctLineType
139017 ,p_line_definition_code => l_line_definition_code
139014 (p_component_type => l_component_type
139015 ,p_event_type_code => l_event_type_code
139016 ,p_line_definition_owner_code => l_line_definition_owner_code
139018 ,p_accounting_line_code => l_component_code
139019 ,p_accounting_line_type_code => l_component_type_code
139020 ,p_accounting_line_appl_id => l_component_appl_id
139021 ,p_amb_context_code => l_amb_context_code
139022 ,p_entity_code => l_entity_code
139023 ,p_event_class_code => l_event_class_code);
139024 --
139025 -- set accounting class
139026 --
139027 xla_ae_lines_pkg.SetAcctClass(
139028 p_accounting_class_code => 'RETAINAGE'
139029 , p_ae_header_id => l_ae_header_id
139030 );
139031
139032 --
139033 -- set rounding class
139034 --
139035 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
139036 'RETAINAGE';
139037
139038 --
139039 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
139040 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
139041 --
139042 -- bulk performance
139043 --
139044 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
139045
139046 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
139047 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
139048
139049 -- 4955764
139050 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139051 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
139052
139053 -- 4458381 Public Sector Enh
139054
139055 --
139056 -- set accounting attributes for the line type
139057 --
139058 l_entered_amt_idx := 23;
139059 l_accted_amt_idx := 28;
139060 l_bflow_applied_to_amt_idx := NULL; -- 5132302
139061 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
139062 l_rec_acct_attrs.array_char_value(1) := p_source_41;
139063 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
139064 l_rec_acct_attrs.array_num_value(2) :=
139065 xla_ae_sources_pkg.GetSystemSourceNum(
139066 p_source_code => 'XLA_EVENT_APPL_ID'
139067 , p_source_type_code => 'Y'
139068 , p_source_application_id => 602
139069 );
139070 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
139071 l_rec_acct_attrs.array_char_value(3) := p_source_43;
139072 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
139073 l_rec_acct_attrs.array_char_value(4) :=
139074 xla_ae_sources_pkg.GetSystemSourceChar(
139075 p_source_code => 'XLA_ENTITY_CODE'
139076 , p_source_type_code => 'Y'
139077 , p_source_application_id => 602
139078 );
139079 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
139080 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
139081 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
139082 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
139083 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
139084 l_rec_acct_attrs.array_num_value(7) := p_source_79;
139085 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
139086 l_rec_acct_attrs.array_char_value(8) := p_source_80;
139087 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
139088 l_rec_acct_attrs.array_char_value(9) := p_source_81;
139089 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
139090 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
139091 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
139092 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
139093 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
139094 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
139095 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
139096 l_rec_acct_attrs.array_char_value(13) := p_source_43;
139097 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
139098 l_rec_acct_attrs.array_num_value(14) := p_source_53;
139099 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
139100 l_rec_acct_attrs.array_num_value(15) := p_source_54;
139101 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
139102 l_rec_acct_attrs.array_char_value(16) := p_source_55;
139103 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
139104 l_rec_acct_attrs.array_num_value(17) := p_source_56;
139105 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
139106 l_rec_acct_attrs.array_num_value(18) := p_source_57;
139107 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
139108 l_rec_acct_attrs.array_num_value(19) := p_source_58;
139109 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
139110 l_rec_acct_attrs.array_char_value(20) := p_source_55;
139111 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
139112 l_rec_acct_attrs.array_num_value(21) := p_source_59;
139113 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
139114 l_rec_acct_attrs.array_char_value(22) := p_source_60;
139115 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
139119 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
139116 l_rec_acct_attrs.array_num_value(23) := p_source_61;
139117 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
139118 l_rec_acct_attrs.array_char_value(24) := p_source_55;
139120 l_rec_acct_attrs.array_date_value(25) := p_source_136;
139121 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
139122 l_rec_acct_attrs.array_num_value(26) := p_source_137;
139123 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
139124 l_rec_acct_attrs.array_char_value(27) := p_source_138;
139125 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
139126 l_rec_acct_attrs.array_num_value(28) := p_source_9;
139127 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
139128 l_rec_acct_attrs.array_date_value(29) := p_source_65;
139129 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
139130 l_rec_acct_attrs.array_char_value(30) := p_source_66;
139131 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
139132 l_rec_acct_attrs.array_date_value(31) := p_source_67;
139133 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
139134 l_rec_acct_attrs.array_char_value(32) := p_source_68;
139135 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
139136 l_rec_acct_attrs.array_num_value(33) := p_source_69;
139137 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
139138 l_rec_acct_attrs.array_num_value(34) := p_source_70;
139139 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
139140 l_rec_acct_attrs.array_char_value(35) := p_source_71;
139141 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
139142 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
139143 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
139144 l_rec_acct_attrs.array_char_value(37) := p_source_43;
139145 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
139146 l_rec_acct_attrs.array_num_value(38) := p_source_74;
139147 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
139148 l_rec_acct_attrs.array_num_value(39) := p_source_75;
139149 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
139150 l_rec_acct_attrs.array_num_value(40) := p_source_76;
139151 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
139152 l_rec_acct_attrs.array_num_value(41) := p_source_77;
139153 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
139154 l_rec_acct_attrs.array_num_value(42) := p_source_78;
139155
139156 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
139157 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
139158
139159 ---------------------------------------------------------------------------------------------------------------
139160 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
139161 ---------------------------------------------------------------------------------------------------------------
139162 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
139163
139164 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139165 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
139166
139167 IF xla_accounting_cache_pkg.GetValueChar
139168 (p_source_code => 'LEDGER_CATEGORY_CODE'
139169 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
139170 AND l_bflow_method_code = 'PRIOR_ENTRY'
139171 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
139172 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
139173 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
139174 )
139175 THEN
139176 xla_ae_lines_pkg.BflowUpgEntry
139177 (p_business_method_code => l_bflow_method_code
139178 ,p_business_class_code => l_bflow_class_code
139179 ,p_balance_type => l_balance_type_code);
139180 ELSE
139181 NULL;
139182 -- No business flow processing for business flow method of NONE.
139183 END IF;
139184
139185 --
139186 -- call analytical criteria
139187 --
139188
139189 --
139190 -- call description
139191 --
139192
139193 xla_ae_lines_pkg.SetLineDescription(
139194 p_ae_header_id => l_ae_header_id
139195 ,p_description => Description_2 (
139196 p_application_id => p_application_id
139197 , p_ae_header_id => l_ae_header_id
139198 , p_source_1 => p_source_1
139199 )
139200 );
139201
139202
139203 --
139204 -- call ADRs
139205 -- Bug 4922099
139206 --
139207 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139208 (NVL(l_actual_upg_option, 'N') = 'O') OR
139209 (NVL(l_enc_upg_option, 'N') = 'O')
139210 )
139211 THEN
139212 NULL;
139213 --
139214 --
139215
139216 l_ccid := AcctDerRule_39(
139217 p_application_id => p_application_id
139218 , p_ae_header_id => l_ae_header_id
139219 , p_source_3 => p_source_3
139220 , p_source_3_meaning => p_source_3_meaning
139221 , p_source_18 => p_source_18
139222 , p_source_30 => p_source_30
139223 , x_transaction_coa_id => l_adr_transaction_coa_id
139227 );
139224 , x_accounting_coa_id => l_adr_accounting_coa_id
139225 , x_value_type_code => l_adr_value_type_code
139226 , p_side => 'NA'
139228
139229 xla_ae_lines_pkg.set_ccid(
139230 p_code_combination_id => l_ccid
139231 , p_value_type_code => l_adr_value_type_code
139232 , p_transaction_coa_id => l_adr_transaction_coa_id
139233 , p_accounting_coa_id => l_adr_accounting_coa_id
139234 , p_adr_code => 'AP_RETAINAGE'
139235 , p_adr_type_code => 'S'
139236 , p_component_type => l_component_type
139237 , p_component_code => l_component_code
139238 , p_component_type_code => l_component_type_code
139239 , p_component_appl_id => l_component_appl_id
139240 , p_amb_context_code => l_amb_context_code
139241 , p_side => 'NA'
139242 );
139243
139244
139245 l_segment := AcctDerRule_18(
139246 p_application_id => p_application_id
139247 , p_ae_header_id => l_ae_header_id
139248 , p_source_28 => p_source_28
139249 , x_transaction_coa_id => l_adr_transaction_coa_id
139250 , x_accounting_coa_id => l_adr_accounting_coa_id
139251 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139252 , x_flex_value_set_id => l_adr_flex_value_set_id
139253 , x_value_type_code => l_adr_value_type_code
139254 , x_value_combination_id => l_adr_value_combination_id
139255 , x_value_segment_code => l_adr_value_segment_code
139256 , p_side => 'NA'
139257 , p_override_seg_flag => 'Y'
139258 );
139259
139260 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139261
139262 xla_ae_lines_pkg.set_segment(
139263 p_to_segment_code => 'GL_ACCOUNT'
139264 , p_segment_value => l_segment
139265 , p_from_segment_code => l_adr_value_segment_code
139266 , p_from_combination_id => l_adr_value_combination_id
139267 , p_value_type_code => l_adr_value_type_code
139268 , p_transaction_coa_id => l_adr_transaction_coa_id
139269 , p_accounting_coa_id => l_adr_accounting_coa_id
139270 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139271 , p_flex_value_set_id => l_adr_flex_value_set_id
139272 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
139273 , p_adr_type_code => 'S'
139274 , p_component_type => l_component_type
139275 , p_component_code => l_component_code
139276 , p_component_type_code => l_component_type_code
139277 , p_component_appl_id => l_component_appl_id
139278 , p_amb_context_code => l_amb_context_code
139279 , p_entity_code => 'AP_INVOICES'
139280 , p_event_class_code => 'DEBIT MEMOS'
139281 , p_side => 'NA'
139282 );
139283
139284 END IF;
139285
139286 l_segment := AcctDerRule_23(
139287 p_application_id => p_application_id
139288 , p_ae_header_id => l_ae_header_id
139289 , p_source_3 => p_source_3
139290 , p_source_3_meaning => p_source_3_meaning
139291 , p_source_30 => p_source_30
139292 , x_transaction_coa_id => l_adr_transaction_coa_id
139293 , x_accounting_coa_id => l_adr_accounting_coa_id
139294 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139295 , x_flex_value_set_id => l_adr_flex_value_set_id
139296 , x_value_type_code => l_adr_value_type_code
139297 , x_value_combination_id => l_adr_value_combination_id
139298 , x_value_segment_code => l_adr_value_segment_code
139299 , p_side => 'NA'
139300 , p_override_seg_flag => 'Y'
139301 );
139302
139303 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139304
139305 xla_ae_lines_pkg.set_segment(
139306 p_to_segment_code => 'GL_BALANCING'
139307 , p_segment_value => l_segment
139308 , p_from_segment_code => l_adr_value_segment_code
139309 , p_from_combination_id => l_adr_value_combination_id
139310 , p_value_type_code => l_adr_value_type_code
139311 , p_transaction_coa_id => l_adr_transaction_coa_id
139312 , p_accounting_coa_id => l_adr_accounting_coa_id
139313 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139314 , p_flex_value_set_id => l_adr_flex_value_set_id
139315 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
139316 , p_adr_type_code => 'S'
139317 , p_component_type => l_component_type
139318 , p_component_code => l_component_code
139319 , p_component_type_code => l_component_type_code
139320 , p_component_appl_id => l_component_appl_id
139321 , p_amb_context_code => l_amb_context_code
139322 , p_entity_code => 'AP_INVOICES'
139323 , p_event_class_code => 'DEBIT MEMOS'
139324 , p_side => 'NA'
139325 );
139326
139327 END IF;
139328
139329 --
139330 --
139331 END IF;
139332 --
139333 -- Bug 4922099
139334 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
139335 (NVL(l_enc_upg_option, 'N') = 'O')
139336 ) AND
139337 (l_bflow_method_code = 'PRIOR_ENTRY')
139338 )
139342 1 = 2
139339 THEN
139340 IF
139341 --
139343 --
139344 THEN
139345 xla_accounting_err_pkg.build_message
139346 (p_appli_s_name => 'XLA'
139347 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139348 ,p_token_1 => 'LINE_NUMBER'
139349 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
139350 ,p_token_2 => 'LINE_TYPE_NAME'
139351 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
139352 l_component_type
139353 ,l_component_code
139354 ,l_component_type_code
139355 ,l_component_appl_id
139356 ,l_amb_context_code
139357 ,l_entity_code
139358 ,l_event_class_code
139359 )
139360 ,p_token_3 => 'OWNER'
139361 ,p_value_3 => xla_lookups_pkg.get_meaning(
139362 p_lookup_type => 'XLA_OWNER_TYPE'
139363 ,p_lookup_code => l_component_type_code
139364 )
139365 ,p_token_4 => 'PRODUCT_NAME'
139366 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
139367 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
139368 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
139369 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
139370 ,p_ae_header_id => NULL
139371 );
139372
139373 IF (C_LEVEL_ERROR>= g_log_level) THEN
139374 trace
139375 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
139376 ,p_level => C_LEVEL_ERROR
139377 ,p_module => l_log_module);
139378 END IF;
139379 END IF;
139380 END IF;
139381 --
139382 --
139383 ------------------------------------------------------------------------------------------------
139384 -- 4219869 Business Flow
139385 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
139386 -- Prior Entry. Currently, the following code is always generated.
139387 ------------------------------------------------------------------------------------------------
139388 XLA_AE_LINES_PKG.ValidateCurrentLine;
139389
139390 ------------------------------------------------------------------------------------
139391 -- 4219869 Business Flow
139392 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
139393 ------------------------------------------------------------------------------------
139394 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139395
139396 ----------------------------------------------------------------------------------
139397 -- 4219869 Business Flow
139398 -- Update journal entry status -- Need to generate this within IF <condition>
139399 ----------------------------------------------------------------------------------
139400 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139401 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
139402 ,p_balance_type_code => l_balance_type_code
139403 );
139404
139405 -------------------------------------------------------------------------------------------
139406 -- 4262811 - Generate the Accrual Reversal lines
139407 -------------------------------------------------------------------------------------------
139408 BEGIN
139409 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
139410 (g_array_event(p_event_id).array_value_num('header_index'));
139411 IF l_acc_rev_flag IS NULL THEN
139412 l_acc_rev_flag := 'N';
139413 END IF;
139414 EXCEPTION
139415 WHEN OTHERS THEN
139416 l_acc_rev_flag := 'N';
139417 END;
139418 --
139419 IF (l_acc_rev_flag = 'Y') THEN
139420
139421 -- 4645092 ------------------------------------------------------------------------------
139422 -- To allow MPA report to determine if it should generate report process
139423 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
139424 ------------------------------------------------------------------------------------------
139425
139426 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
139427 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
139428 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
139432 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
139429 -- call ADRs
139430 -- Bug 4922099
139431 --
139433 (NVL(l_actual_upg_option, 'N') = 'O') OR
139434 (NVL(l_enc_upg_option, 'N') = 'O')
139435 )
139436 THEN
139437 NULL;
139438 --
139439 --
139440
139441 l_ccid := AcctDerRule_39(
139442 p_application_id => p_application_id
139443 , p_ae_header_id => l_ae_header_id
139444 , p_source_3 => p_source_3
139445 , p_source_3_meaning => p_source_3_meaning
139446 , p_source_18 => p_source_18
139447 , p_source_30 => p_source_30
139448 , x_transaction_coa_id => l_adr_transaction_coa_id
139449 , x_accounting_coa_id => l_adr_accounting_coa_id
139450 , x_value_type_code => l_adr_value_type_code
139451 , p_side => 'NA'
139452 );
139453
139454 xla_ae_lines_pkg.set_ccid(
139455 p_code_combination_id => l_ccid
139456 , p_value_type_code => l_adr_value_type_code
139457 , p_transaction_coa_id => l_adr_transaction_coa_id
139458 , p_accounting_coa_id => l_adr_accounting_coa_id
139459 , p_adr_code => 'AP_RETAINAGE'
139460 , p_adr_type_code => 'S'
139461 , p_component_type => l_component_type
139462 , p_component_code => l_component_code
139463 , p_component_type_code => l_component_type_code
139464 , p_component_appl_id => l_component_appl_id
139465 , p_amb_context_code => l_amb_context_code
139466 , p_side => 'NA'
139467 );
139468
139469
139470 l_segment := AcctDerRule_18(
139471 p_application_id => p_application_id
139472 , p_ae_header_id => l_ae_header_id
139473 , p_source_28 => p_source_28
139474 , x_transaction_coa_id => l_adr_transaction_coa_id
139475 , x_accounting_coa_id => l_adr_accounting_coa_id
139476 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139477 , x_flex_value_set_id => l_adr_flex_value_set_id
139478 , x_value_type_code => l_adr_value_type_code
139479 , x_value_combination_id => l_adr_value_combination_id
139480 , x_value_segment_code => l_adr_value_segment_code
139481 , p_side => 'NA'
139482 , p_override_seg_flag => 'Y'
139483 );
139484
139485 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139486
139487 xla_ae_lines_pkg.set_segment(
139488 p_to_segment_code => 'GL_ACCOUNT'
139489 , p_segment_value => l_segment
139490 , p_from_segment_code => l_adr_value_segment_code
139491 , p_from_combination_id => l_adr_value_combination_id
139492 , p_value_type_code => l_adr_value_type_code
139493 , p_transaction_coa_id => l_adr_transaction_coa_id
139494 , p_accounting_coa_id => l_adr_accounting_coa_id
139495 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139496 , p_flex_value_set_id => l_adr_flex_value_set_id
139497 , p_adr_code => 'AP_RETAIN_NAT_ACCT_SEG'
139498 , p_adr_type_code => 'S'
139499 , p_component_type => l_component_type
139500 , p_component_code => l_component_code
139501 , p_component_type_code => l_component_type_code
139502 , p_component_appl_id => l_component_appl_id
139503 , p_amb_context_code => l_amb_context_code
139504 , p_entity_code => 'AP_INVOICES'
139505 , p_event_class_code => 'DEBIT MEMOS'
139506 , p_side => 'NA'
139507 );
139508
139509 END IF;
139510
139511 l_segment := AcctDerRule_23(
139512 p_application_id => p_application_id
139513 , p_ae_header_id => l_ae_header_id
139514 , p_source_3 => p_source_3
139515 , p_source_3_meaning => p_source_3_meaning
139516 , p_source_30 => p_source_30
139517 , x_transaction_coa_id => l_adr_transaction_coa_id
139518 , x_accounting_coa_id => l_adr_accounting_coa_id
139519 , x_flexfield_segment_code => l_adr_flexfield_segment_code
139520 , x_flex_value_set_id => l_adr_flex_value_set_id
139521 , x_value_type_code => l_adr_value_type_code
139522 , x_value_combination_id => l_adr_value_combination_id
139523 , x_value_segment_code => l_adr_value_segment_code
139524 , p_side => 'NA'
139525 , p_override_seg_flag => 'Y'
139526 );
139527
139528 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
139529
139530 xla_ae_lines_pkg.set_segment(
139531 p_to_segment_code => 'GL_BALANCING'
139532 , p_segment_value => l_segment
139533 , p_from_segment_code => l_adr_value_segment_code
139534 , p_from_combination_id => l_adr_value_combination_id
139535 , p_value_type_code => l_adr_value_type_code
139536 , p_transaction_coa_id => l_adr_transaction_coa_id
139537 , p_accounting_coa_id => l_adr_accounting_coa_id
139538 , p_flexfield_segment_code => l_adr_flexfield_segment_code
139539 , p_flex_value_set_id => l_adr_flex_value_set_id
139540 , p_adr_code => 'AP_RETAIN_RELATED_BAL_SEG'
139541 , p_adr_type_code => 'S'
139545 , p_component_appl_id => l_component_appl_id
139542 , p_component_type => l_component_type
139543 , p_component_code => l_component_code
139544 , p_component_type_code => l_component_type_code
139546 , p_amb_context_code => l_amb_context_code
139547 , p_entity_code => 'AP_INVOICES'
139548 , p_event_class_code => 'DEBIT MEMOS'
139549 , p_side => 'NA'
139550 );
139551
139552 END IF;
139553
139554 --
139555 --
139556 END IF;
139557
139558 --
139559 -- Update the line information that should be overwritten
139560 --
139561 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
139562 p_header_num => 1);
139563 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
139564
139565 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
139566
139567 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
139568 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
139569 END IF;
139570
139571 --
139572 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
139573 --
139574 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
139575 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
139576 ELSE
139577 ---------------------------------------------------------------------------------------------------
139578 -- 4262811a Switch Sign
139579 ---------------------------------------------------------------------------------------------------
139580 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
139581 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139582 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139583 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
139584 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139585 -- 5132302
139586 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
139587 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
139588
139589 END IF;
139590
139591 -- 4955764
139592 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139593 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
139594
139595
139596 XLA_AE_LINES_PKG.ValidateCurrentLine;
139597 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
139598
139599 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
139600 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
139601 ,p_balance_type_code => l_balance_type_code);
139602
139603 END IF;
139604
139605 -----------------------------------------------------------------------------------------
139606 -- 4262811 Multiperiod Accounting
139607 -----------------------------------------------------------------------------------------
139608 -- No MPA option is assigned.
139609
139610
139611 END IF;
139612 END IF;
139613 --
139614
139615 --
139616 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139617 trace
139618 (p_msg => 'END of AcctLineType_230'
139619 ,p_level => C_LEVEL_PROCEDURE
139620 ,p_module => l_log_module);
139621 END IF;
139622 --
139623 EXCEPTION
139624 WHEN xla_exceptions_pkg.application_exception THEN
139625 RAISE;
139626 WHEN OTHERS THEN
139627 xla_exceptions_pkg.raise_message
139628 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_230');
139629 END AcctLineType_230;
139630 --
139631
139632 ---------------------------------------
139633 --
139634 -- PRIVATE FUNCTION
139635 -- AcctLineType_231
139636 --
139637 ---------------------------------------
139638 PROCEDURE AcctLineType_231 (
139639 p_application_id IN NUMBER
139640 ,p_event_id IN NUMBER
139641 ,p_calculate_acctd_flag IN VARCHAR2
139642 ,p_calculate_g_l_flag IN VARCHAR2
139643 ,p_actual_flag IN OUT VARCHAR2
139644 ,p_balance_type_code OUT VARCHAR2
139645 ,p_gain_or_loss_ref OUT VARCHAR2
139646
139647 --Invoice Distribution Description
139648 , p_source_1 IN VARCHAR2
139649 --Invoice Distribution Ledger Amount
139650 , p_source_9 IN NUMBER
139651 --Invoice Distribution Type
139652 , p_source_21 IN VARCHAR2
139653 , p_source_21_meaning IN VARCHAR2
139654 --Accounting Reversal Indicator
139655 , p_source_41 IN VARCHAR2
139656 --Distribution Link Type
139657 , p_source_43 IN VARCHAR2
139658 --Allocation to Main Distribution Identifier
139659 , p_source_45 IN NUMBER
139660 --Invoice Identifier
139661 , p_source_46 IN NUMBER
139662 --Invoice Distribution Identifier
139663 , p_source_52 IN NUMBER
139667 , p_source_54 IN NUMBER
139664 --Payables Encumbrance Upgrade Credit Account
139665 , p_source_53 IN NUMBER
139666 --Payables Encumbrance Upgrade Credit Amount
139668 --Invoice Currency Code
139669 , p_source_55 IN VARCHAR2
139670 --Payables Encumbrance Upgrade Credit Base Amount
139671 , p_source_56 IN NUMBER
139672 --Payables Encumbrance Upgrade Debit Account
139673 , p_source_57 IN NUMBER
139674 --Payables Encumbrance Upgrade Debit Amount
139675 , p_source_58 IN NUMBER
139676 --Payables Encumbrance Upgrade Debit Base Amount
139677 , p_source_59 IN NUMBER
139678 --Payables Encumbrance Upgrade Option
139679 , p_source_60 IN VARCHAR2
139680 --Invoice Distribution Amount
139681 , p_source_61 IN NUMBER
139682 --Deferred Accounting End Date
139683 , p_source_65 IN DATE
139684 --Deferred Accounting Option
139685 , p_source_66 IN VARCHAR2
139686 --Deferred Accounting Start Date
139687 , p_source_67 IN DATE
139688 --Override Accounted Amount Indicator
139689 , p_source_68 IN VARCHAR2
139690 , p_source_68_meaning IN VARCHAR2
139691 --Third Party Type
139692 , p_source_71 IN VARCHAR2
139693 --Parent Reversal Identifier
139694 , p_source_72 IN NUMBER
139695 --Invoice Distribution Statistical Amount
139696 , p_source_73 IN NUMBER
139697 --Invoice Distribution Tax Line Identifier
139698 , p_source_74 IN NUMBER
139699 --Invoice Distribution Tax Distribution Identifier from Tax
139700 , p_source_75 IN NUMBER
139701 --Invoice Distribution Summary Tax Line Identifier
139702 , p_source_76 IN NUMBER
139703 --Payables Upgrade Credit Encumbrance Type Identifier
139704 , p_source_77 IN NUMBER
139705 --Payables Upgrade Debit Encumbrance Type Identifier
139706 , p_source_78 IN NUMBER
139707 --Business Flow Accounts Payable Application Identifier
139708 , p_source_79 IN NUMBER
139709 --Business Flow Invoice Distribution Type
139710 , p_source_80 IN VARCHAR2
139711 --Business Flow Invoice Entity Code
139712 , p_source_81 IN VARCHAR2
139713 --Invoice Type
139714 , p_source_159 IN VARCHAR2
139715 , p_source_159_meaning IN VARCHAR2
139716 --Business Flow Retained Invoice Distribution
139717 , p_source_163 IN NUMBER
139718 --Business Flow Retained Invoice
139719 , p_source_164 IN NUMBER
139720 )
139721 IS
139722
139723 l_component_type VARCHAR2(80);
139724 l_component_code VARCHAR2(30);
139725 l_component_type_code VARCHAR2(1);
139726 l_component_appl_id INTEGER;
139727 l_amb_context_code VARCHAR2(30);
139728 l_entity_code VARCHAR2(30);
139729 l_event_class_code VARCHAR2(30);
139730 l_ae_header_id NUMBER;
139731 l_event_type_code VARCHAR2(30);
139732 l_line_definition_code VARCHAR2(30);
139733 l_line_definition_owner_code VARCHAR2(1);
139734 --
139735 -- adr variables
139736 l_segment VARCHAR2(30);
139737 l_ccid NUMBER;
139738 l_adr_transaction_coa_id NUMBER;
139739 l_adr_accounting_coa_id NUMBER;
139740 l_adr_flexfield_segment_code VARCHAR2(30);
139741 l_adr_flex_value_set_id NUMBER;
139742 l_adr_value_type_code VARCHAR2(30);
139743 l_adr_value_combination_id NUMBER;
139744 l_adr_value_segment_code VARCHAR2(30);
139745
139746 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
139747 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
139748 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
139749 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
139750
139751 -- 4262811 Variables ------------------------------------------------------------------------------------------
139752 l_entered_amt_idx NUMBER;
139753 l_accted_amt_idx NUMBER;
139754 l_acc_rev_flag VARCHAR2(1);
139755 l_accrual_line_num NUMBER;
139756 l_tmp_amt NUMBER;
139757 l_acc_rev_natural_side_code VARCHAR2(1);
139758
139759 l_num_entries NUMBER;
139760 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
139761 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
139762 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
139763 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
139764 l_recog_line_1 NUMBER;
139765 l_recog_line_2 NUMBER;
139766
139767 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
139768 l_bflow_applied_to_amt NUMBER; -- 5132302
139769 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
139770
139771 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
139772
139773 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
139774 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
139775
139776 ---------------------------------------------------------------------------------------------------------------
139777
139778
139779 --
139780 -- bulk performance
139781 --
139782 l_balance_type_code VARCHAR2(1);
139783 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
139784 l_log_module VARCHAR2(240);
139785
139786 --
139787 -- Upgrade strategy
139788 --
139792 --
139789 l_actual_upg_option VARCHAR2(1);
139790 l_enc_upg_option VARCHAR2(1);
139791
139793 BEGIN
139794 --
139795 IF g_log_enabled THEN
139796 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_231';
139797 END IF;
139798 --
139799 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
139800
139801 trace
139802 (p_msg => 'BEGIN of AcctLineType_231'
139803 ,p_level => C_LEVEL_PROCEDURE
139804 ,p_module => l_log_module);
139805
139806 END IF;
139807 --
139808 l_component_type := 'AMB_JLT';
139809 l_component_code := 'AP_RETAINAGE_RELEASE_ACCR';
139810 l_component_type_code := 'S';
139811 l_component_appl_id := 200;
139812 l_amb_context_code := 'DEFAULT';
139813 l_entity_code := 'AP_INVOICES';
139814 l_event_class_code := 'INVOICES';
139815 l_event_type_code := 'INVOICES_ALL';
139816 l_line_definition_owner_code := 'S';
139817 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
139818 --
139819 l_balance_type_code := 'A';
139820 l_segment := NULL;
139821 l_ccid := NULL;
139822 l_adr_transaction_coa_id := NULL;
139823 l_adr_accounting_coa_id := NULL;
139824 l_adr_flexfield_segment_code := NULL;
139825 l_adr_flex_value_set_id := NULL;
139826 l_adr_value_type_code := NULL;
139827 l_adr_value_combination_id := NULL;
139828 l_adr_value_segment_code := NULL;
139829
139830 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
139831 l_bflow_class_code := 'AP_RETAINAGE'; -- 4219869 Business Flow
139832 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
139833 l_budgetary_control_flag := 'N';
139834
139835 l_bflow_applied_to_amt_idx := NULL; -- 5132302
139836 l_bflow_applied_to_amt := NULL; -- 5132302
139837 l_entered_amt_idx := NULL; -- 4262811
139838 l_accted_amt_idx := NULL; -- 4262811
139839 l_acc_rev_flag := NULL; -- 4262811
139840 l_accrual_line_num := NULL; -- 4262811
139841 l_tmp_amt := NULL; -- 4262811
139842 --
139843
139844 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
139845 l_balance_type_code <> 'B' THEN
139846 IF NVL(p_source_159,'
139847 ') = 'RETAINAGE RELEASE' AND
139848 NVL(p_source_21,'
139849 ') = 'RETAINAGE'
139850 THEN
139851
139852 --
139853 XLA_AE_LINES_PKG.SetNewLine;
139854
139855 p_balance_type_code := l_balance_type_code;
139856 -- set the flag so later we will know whether the gain loss line needs to be created
139857
139858 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
139859 p_actual_flag :='A';
139860 END IF;
139861
139862 --
139863 -- bulk performance
139864 --
139865 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
139866 p_header_num => 0); -- 4262811
139867 --
139868 -- set accounting line options
139869 --
139870 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
139871 p_natural_side_code => 'D'
139872 , p_gain_or_loss_flag => 'N'
139873 , p_gl_transfer_mode_code => 'S'
139874 , p_acct_entry_type_code => 'A'
139875 , p_switch_side_flag => 'Y'
139876 , p_merge_duplicate_code => 'A'
139877 );
139878 --
139879 l_acc_rev_natural_side_code := 'C'; -- 4262811
139880 --
139881 --
139882 -- set accounting line type info
139883 --
139884 xla_ae_lines_pkg.SetAcctLineType
139885 (p_component_type => l_component_type
139886 ,p_event_type_code => l_event_type_code
139887 ,p_line_definition_owner_code => l_line_definition_owner_code
139888 ,p_line_definition_code => l_line_definition_code
139889 ,p_accounting_line_code => l_component_code
139890 ,p_accounting_line_type_code => l_component_type_code
139891 ,p_accounting_line_appl_id => l_component_appl_id
139892 ,p_amb_context_code => l_amb_context_code
139893 ,p_entity_code => l_entity_code
139894 ,p_event_class_code => l_event_class_code);
139895 --
139896 -- set accounting class
139897 --
139898 xla_ae_lines_pkg.SetAcctClass(
139899 p_accounting_class_code => 'RETAINAGE'
139900 , p_ae_header_id => l_ae_header_id
139901 );
139902
139903 --
139904 -- set rounding class
139905 --
139906 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
139907 'RETAINAGE';
139908
139909 --
139910 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
139911 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
139912 --
139913 -- bulk performance
139914 --
139915 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
139916
139917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
139918 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
139919
139920 -- 4955764
139921 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
139925
139922 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
139923
139924 -- 4458381 Public Sector Enh
139926 --
139927 -- set accounting attributes for the line type
139928 --
139929 l_entered_amt_idx := 24;
139930 l_accted_amt_idx := 26;
139931 l_bflow_applied_to_amt_idx := 7; -- 5132302
139932 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
139933 l_rec_acct_attrs.array_char_value(1) := p_source_41;
139934 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
139935 l_rec_acct_attrs.array_num_value(2) :=
139936 xla_ae_sources_pkg.GetSystemSourceNum(
139937 p_source_code => 'XLA_EVENT_APPL_ID'
139938 , p_source_type_code => 'Y'
139939 , p_source_application_id => 602
139940 );
139941 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
139942 l_rec_acct_attrs.array_char_value(3) := p_source_43;
139943 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
139944 l_rec_acct_attrs.array_char_value(4) :=
139945 xla_ae_sources_pkg.GetSystemSourceChar(
139946 p_source_code => 'XLA_ENTITY_CODE'
139947 , p_source_type_code => 'Y'
139948 , p_source_application_id => 602
139949 );
139950 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
139951 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
139952 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
139953 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
139954 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
139955 l_rec_acct_attrs.array_num_value(7) := p_source_61;
139956 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
139957 l_rec_acct_attrs.array_num_value(8) := p_source_79;
139958 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
139959 l_rec_acct_attrs.array_char_value(9) := p_source_80;
139960 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
139961 l_rec_acct_attrs.array_char_value(10) := p_source_81;
139962 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
139963 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_163);
139964 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
139965 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_164);
139966 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
139967 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
139968 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
139969 l_rec_acct_attrs.array_char_value(14) := p_source_43;
139970 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
139971 l_rec_acct_attrs.array_num_value(15) := p_source_53;
139972 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
139973 l_rec_acct_attrs.array_num_value(16) := p_source_54;
139974 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
139975 l_rec_acct_attrs.array_char_value(17) := p_source_55;
139976 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
139977 l_rec_acct_attrs.array_num_value(18) := p_source_56;
139978 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
139979 l_rec_acct_attrs.array_num_value(19) := p_source_57;
139980 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
139981 l_rec_acct_attrs.array_num_value(20) := p_source_58;
139982 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
139983 l_rec_acct_attrs.array_char_value(21) := p_source_55;
139984 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
139985 l_rec_acct_attrs.array_num_value(22) := p_source_59;
139986 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
139987 l_rec_acct_attrs.array_char_value(23) := p_source_60;
139988 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
139989 l_rec_acct_attrs.array_num_value(24) := p_source_61;
139990 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
139991 l_rec_acct_attrs.array_char_value(25) := p_source_55;
139992 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
139993 l_rec_acct_attrs.array_num_value(26) := p_source_9;
139994 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
139995 l_rec_acct_attrs.array_date_value(27) := p_source_65;
139996 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
139997 l_rec_acct_attrs.array_char_value(28) := p_source_66;
139998 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
139999 l_rec_acct_attrs.array_date_value(29) := p_source_67;
140000 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
140001 l_rec_acct_attrs.array_char_value(30) := p_source_68;
140002 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
140003 l_rec_acct_attrs.array_char_value(31) := p_source_71;
140004 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
140005 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
140006 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
140007 l_rec_acct_attrs.array_char_value(33) := p_source_43;
140008 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
140009 l_rec_acct_attrs.array_num_value(34) := p_source_73;
140010 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
140011 l_rec_acct_attrs.array_num_value(35) := p_source_74;
140012 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
140016 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
140013 l_rec_acct_attrs.array_num_value(36) := p_source_75;
140014 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
140015 l_rec_acct_attrs.array_num_value(37) := p_source_76;
140017 l_rec_acct_attrs.array_num_value(38) := p_source_77;
140018 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
140019 l_rec_acct_attrs.array_num_value(39) := p_source_78;
140020
140021 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
140022 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
140023
140024 ---------------------------------------------------------------------------------------------------------------
140025 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
140026 ---------------------------------------------------------------------------------------------------------------
140027 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
140028
140029 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140030 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140031
140032 IF xla_accounting_cache_pkg.GetValueChar
140033 (p_source_code => 'LEDGER_CATEGORY_CODE'
140034 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
140035 AND l_bflow_method_code = 'PRIOR_ENTRY'
140036 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
140037 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
140038 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
140039 )
140040 THEN
140041 xla_ae_lines_pkg.BflowUpgEntry
140042 (p_business_method_code => l_bflow_method_code
140043 ,p_business_class_code => l_bflow_class_code
140044 ,p_balance_type => l_balance_type_code);
140045 ELSE
140046 NULL;
140047 XLA_AE_LINES_PKG.business_flow_validation(
140048 p_business_method_code => l_bflow_method_code
140049 ,p_business_class_code => l_bflow_class_code
140050 ,p_inherit_description_flag => l_inherit_desc_flag);
140051 END IF;
140052
140053 --
140054 -- call analytical criteria
140055 --
140056 -- Inherited Analytical Criteria for business flow method of Prior Entry.
140057 --
140058 -- call description
140059 --
140060
140061 xla_ae_lines_pkg.SetLineDescription(
140062 p_ae_header_id => l_ae_header_id
140063 ,p_description => Description_2 (
140064 p_application_id => p_application_id
140065 , p_ae_header_id => l_ae_header_id
140066 , p_source_1 => p_source_1
140067 )
140068 );
140069
140070
140071 --
140072 -- call ADRs
140073 -- Bug 4922099
140074 --
140075 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140076 (NVL(l_actual_upg_option, 'N') = 'O') OR
140077 (NVL(l_enc_upg_option, 'N') = 'O')
140078 )
140079 THEN
140080 NULL;
140081 --
140082 --
140083
140084 --
140085 --
140086 END IF;
140087 --
140088 -- Bug 4922099
140089 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
140090 (NVL(l_enc_upg_option, 'N') = 'O')
140091 ) AND
140092 (l_bflow_method_code = 'PRIOR_ENTRY')
140093 )
140094 THEN
140095 IF
140096 --
140097 1 = 1
140098 --
140099 THEN
140100 xla_accounting_err_pkg.build_message
140101 (p_appli_s_name => 'XLA'
140102 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140103 ,p_token_1 => 'LINE_NUMBER'
140104 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
140105 ,p_token_2 => 'LINE_TYPE_NAME'
140106 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
140107 l_component_type
140108 ,l_component_code
140109 ,l_component_type_code
140110 ,l_component_appl_id
140111 ,l_amb_context_code
140112 ,l_entity_code
140113 ,l_event_class_code
140114 )
140115 ,p_token_3 => 'OWNER'
140116 ,p_value_3 => xla_lookups_pkg.get_meaning(
140117 p_lookup_type => 'XLA_OWNER_TYPE'
140118 ,p_lookup_code => l_component_type_code
140119 )
140123 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
140120 ,p_token_4 => 'PRODUCT_NAME'
140121 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
140122 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
140124 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
140125 ,p_ae_header_id => NULL
140126 );
140127
140128 IF (C_LEVEL_ERROR>= g_log_level) THEN
140129 trace
140130 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140131 ,p_level => C_LEVEL_ERROR
140132 ,p_module => l_log_module);
140133 END IF;
140134 END IF;
140135 END IF;
140136 --
140137 --
140138 ------------------------------------------------------------------------------------------------
140139 -- 4219869 Business Flow
140140 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
140141 -- Prior Entry. Currently, the following code is always generated.
140142 ------------------------------------------------------------------------------------------------
140143 -- No ValidateCurrentLine for business flow method of Prior Entry
140144
140145 ------------------------------------------------------------------------------------
140146 -- 4219869 Business Flow
140147 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
140148 ------------------------------------------------------------------------------------
140149 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140150
140151 ----------------------------------------------------------------------------------
140152 -- 4219869 Business Flow
140153 -- Update journal entry status -- Need to generate this within IF <condition>
140154 ----------------------------------------------------------------------------------
140155 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140156 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
140157 ,p_balance_type_code => l_balance_type_code
140158 );
140159
140160 -------------------------------------------------------------------------------------------
140161 -- 4262811 - Generate the Accrual Reversal lines
140162 -------------------------------------------------------------------------------------------
140163 BEGIN
140164 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
140165 (g_array_event(p_event_id).array_value_num('header_index'));
140166 IF l_acc_rev_flag IS NULL THEN
140167 l_acc_rev_flag := 'N';
140168 END IF;
140169 EXCEPTION
140170 WHEN OTHERS THEN
140171 l_acc_rev_flag := 'N';
140172 END;
140173 --
140174 IF (l_acc_rev_flag = 'Y') THEN
140175
140176 -- 4645092 ------------------------------------------------------------------------------
140177 -- To allow MPA report to determine if it should generate report process
140178 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
140179 ------------------------------------------------------------------------------------------
140180
140181 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
140182 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
140183 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
140184 -- call ADRs
140185 -- Bug 4922099
140186 --
140187 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140188 (NVL(l_actual_upg_option, 'N') = 'O') OR
140189 (NVL(l_enc_upg_option, 'N') = 'O')
140190 )
140191 THEN
140192 NULL;
140193 --
140194 --
140195
140196 --
140197 --
140198 END IF;
140199
140200 --
140201 -- Update the line information that should be overwritten
140202 --
140203 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
140204 p_header_num => 1);
140205 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
140206
140207 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
140208
140209 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
140210 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
140211 END IF;
140212
140213 --
140214 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
140215 --
140216 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
140217 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
140218 ELSE
140219 ---------------------------------------------------------------------------------------------------
140220 -- 4262811a Switch Sign
140221 ---------------------------------------------------------------------------------------------------
140222 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
140226 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140223 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140224 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140225 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140227 -- 5132302
140228 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
140229 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140230
140231 END IF;
140232
140233 -- 4955764
140234 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140235 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
140236
140237
140238 XLA_AE_LINES_PKG.ValidateCurrentLine;
140239 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140240
140241 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140242 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
140243 ,p_balance_type_code => l_balance_type_code);
140244
140245 END IF;
140246
140247 -----------------------------------------------------------------------------------------
140248 -- 4262811 Multiperiod Accounting
140249 -----------------------------------------------------------------------------------------
140250 -- No MPA option is assigned.
140251
140252
140253 END IF;
140254 END IF;
140255 --
140256
140257 --
140258 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140259 trace
140260 (p_msg => 'END of AcctLineType_231'
140261 ,p_level => C_LEVEL_PROCEDURE
140262 ,p_module => l_log_module);
140263 END IF;
140264 --
140265 EXCEPTION
140266 WHEN xla_exceptions_pkg.application_exception THEN
140267 RAISE;
140268 WHEN OTHERS THEN
140269 xla_exceptions_pkg.raise_message
140270 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_231');
140271 END AcctLineType_231;
140272 --
140273
140274 ---------------------------------------
140275 --
140276 -- PRIVATE FUNCTION
140277 -- AcctLineType_232
140278 --
140279 ---------------------------------------
140280 PROCEDURE AcctLineType_232 (
140281 p_application_id IN NUMBER
140282 ,p_event_id IN NUMBER
140283 ,p_calculate_acctd_flag IN VARCHAR2
140284 ,p_calculate_g_l_flag IN VARCHAR2
140285 ,p_actual_flag IN OUT VARCHAR2
140286 ,p_balance_type_code OUT VARCHAR2
140287 ,p_gain_or_loss_ref OUT VARCHAR2
140288
140289 --Invoice Distribution Type
140290 , p_source_21 IN VARCHAR2
140291 , p_source_21_meaning IN VARCHAR2
140292 --Accounting Reversal Indicator
140293 , p_source_41 IN VARCHAR2
140294 --Distribution Link Type
140295 , p_source_43 IN VARCHAR2
140296 --Allocation to Main Distribution Identifier
140297 , p_source_45 IN NUMBER
140298 --Invoice Identifier
140299 , p_source_46 IN NUMBER
140300 --Invoice Distribution Identifier
140301 , p_source_52 IN NUMBER
140302 --Payables Encumbrance Upgrade Credit Account
140303 , p_source_53 IN NUMBER
140304 --Payables Encumbrance Upgrade Credit Amount
140305 , p_source_54 IN NUMBER
140306 --Invoice Currency Code
140307 , p_source_55 IN VARCHAR2
140308 --Payables Encumbrance Upgrade Credit Base Amount
140309 , p_source_56 IN NUMBER
140310 --Payables Encumbrance Upgrade Debit Account
140311 , p_source_57 IN NUMBER
140312 --Payables Encumbrance Upgrade Debit Amount
140313 , p_source_58 IN NUMBER
140314 --Payables Encumbrance Upgrade Debit Base Amount
140315 , p_source_59 IN NUMBER
140316 --Payables Encumbrance Upgrade Option
140317 , p_source_60 IN VARCHAR2
140318 --Deferred Accounting End Date
140319 , p_source_65 IN DATE
140320 --Deferred Accounting Option
140321 , p_source_66 IN VARCHAR2
140322 --Deferred Accounting Start Date
140323 , p_source_67 IN DATE
140324 --Override Accounted Amount Indicator
140325 , p_source_68 IN VARCHAR2
140326 , p_source_68_meaning IN VARCHAR2
140327 --Third Party Type
140328 , p_source_71 IN VARCHAR2
140329 --Parent Reversal Identifier
140330 , p_source_72 IN NUMBER
140331 --Invoice Distribution Statistical Amount
140332 , p_source_73 IN NUMBER
140333 --Invoice Distribution Tax Line Identifier
140334 , p_source_74 IN NUMBER
140335 --Invoice Distribution Tax Distribution Identifier from Tax
140336 , p_source_75 IN NUMBER
140337 --Invoice Distribution Summary Tax Line Identifier
140338 , p_source_76 IN NUMBER
140339 --Payables Upgrade Credit Encumbrance Type Identifier
140340 , p_source_77 IN NUMBER
140341 --Payables Upgrade Debit Encumbrance Type Identifier
140342 , p_source_78 IN NUMBER
140343 --Business Flow Accounts Payable Application Identifier
140344 , p_source_79 IN NUMBER
140345 --Business Flow Invoice Distribution Type
140346 , p_source_80 IN VARCHAR2
140347 --Business Flow Invoice Entity Code
140348 , p_source_81 IN VARCHAR2
140349 --Business Flow Invoice Distribution Identifier
140350 , p_source_82 IN NUMBER
140351 --Business Flow Invoice Identifier
140352 , p_source_83 IN NUMBER
140356 --Invoice Encumbered Option
140353 --Purchasing Encumbrance Option
140354 , p_source_86 IN VARCHAR2
140355 , p_source_86_meaning IN VARCHAR2
140357 , p_source_87 IN VARCHAR2
140358 , p_source_87_meaning IN VARCHAR2
140359 --Self-Assessed Tax Flag
140360 , p_source_135 IN VARCHAR2
140361 , p_source_135_meaning IN VARCHAR2
140362 --Invoice Distribution Encumbrance Amount
140363 , p_source_143 IN NUMBER
140364 --Invoice Distribution Encumbrance Ledger Amount
140365 , p_source_144 IN NUMBER
140366 )
140367 IS
140368
140369 l_component_type VARCHAR2(80);
140370 l_component_code VARCHAR2(30);
140371 l_component_type_code VARCHAR2(1);
140372 l_component_appl_id INTEGER;
140373 l_amb_context_code VARCHAR2(30);
140374 l_entity_code VARCHAR2(30);
140375 l_event_class_code VARCHAR2(30);
140376 l_ae_header_id NUMBER;
140377 l_event_type_code VARCHAR2(30);
140378 l_line_definition_code VARCHAR2(30);
140379 l_line_definition_owner_code VARCHAR2(1);
140380 --
140381 -- adr variables
140382 l_segment VARCHAR2(30);
140383 l_ccid NUMBER;
140384 l_adr_transaction_coa_id NUMBER;
140385 l_adr_accounting_coa_id NUMBER;
140386 l_adr_flexfield_segment_code VARCHAR2(30);
140387 l_adr_flex_value_set_id NUMBER;
140388 l_adr_value_type_code VARCHAR2(30);
140389 l_adr_value_combination_id NUMBER;
140390 l_adr_value_segment_code VARCHAR2(30);
140391
140392 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
140393 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
140394 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
140395 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
140396
140397 -- 4262811 Variables ------------------------------------------------------------------------------------------
140398 l_entered_amt_idx NUMBER;
140399 l_accted_amt_idx NUMBER;
140400 l_acc_rev_flag VARCHAR2(1);
140401 l_accrual_line_num NUMBER;
140402 l_tmp_amt NUMBER;
140403 l_acc_rev_natural_side_code VARCHAR2(1);
140404
140405 l_num_entries NUMBER;
140406 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
140407 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
140408 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
140409 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
140410 l_recog_line_1 NUMBER;
140411 l_recog_line_2 NUMBER;
140412
140413 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
140414 l_bflow_applied_to_amt NUMBER; -- 5132302
140415 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
140416
140417 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
140418
140419 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
140420 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
140421
140422 ---------------------------------------------------------------------------------------------------------------
140423
140424
140425 --
140426 -- bulk performance
140427 --
140428 l_balance_type_code VARCHAR2(1);
140429 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
140430 l_log_module VARCHAR2(240);
140431
140432 --
140433 -- Upgrade strategy
140434 --
140435 l_actual_upg_option VARCHAR2(1);
140436 l_enc_upg_option VARCHAR2(1);
140437
140438 --
140439 BEGIN
140440 --
140441 IF g_log_enabled THEN
140442 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_232';
140443 END IF;
140444 --
140445 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140446
140447 trace
140448 (p_msg => 'BEGIN of AcctLineType_232'
140449 ,p_level => C_LEVEL_PROCEDURE
140450 ,p_module => l_log_module);
140451
140452 END IF;
140453 --
140454 l_component_type := 'AMB_JLT';
140455 l_component_code := 'AP_SELF_ASSD_NREC_TAX_CM_ENC';
140456 l_component_type_code := 'S';
140457 l_component_appl_id := 200;
140458 l_amb_context_code := 'DEFAULT';
140459 l_entity_code := 'AP_INVOICES';
140460 l_event_class_code := 'CREDIT MEMOS';
140461 l_event_type_code := 'CREDIT MEMOS_ALL';
140462 l_line_definition_owner_code := 'S';
140463 l_line_definition_code := 'ENC_REV_CM_ALL';
140464 --
140465 l_balance_type_code := 'E';
140466 l_segment := NULL;
140467 l_ccid := NULL;
140468 l_adr_transaction_coa_id := NULL;
140469 l_adr_accounting_coa_id := NULL;
140470 l_adr_flexfield_segment_code := NULL;
140471 l_adr_flex_value_set_id := NULL;
140472 l_adr_value_type_code := NULL;
140473 l_adr_value_combination_id := NULL;
140474 l_adr_value_segment_code := NULL;
140475
140476 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
140477 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
140478 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
140479 l_budgetary_control_flag := 'N';
140480
140481 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140485 l_acc_rev_flag := NULL; -- 4262811
140482 l_bflow_applied_to_amt := NULL; -- 5132302
140483 l_entered_amt_idx := NULL; -- 4262811
140484 l_accted_amt_idx := NULL; -- 4262811
140486 l_accrual_line_num := NULL; -- 4262811
140487 l_tmp_amt := NULL; -- 4262811
140488 --
140489
140490 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
140491 l_balance_type_code <> 'B' THEN
140492 IF NVL(p_source_21,'
140493 ') = 'NONREC_TAX' AND
140494 NVL(p_source_135,'
140495 ') = 'Y' AND
140496 NVL(p_source_86,'
140497 ') = 'Y' AND
140498 NVL(p_source_87,'
140499 ') = 'Y'
140500 THEN
140501
140502 --
140503 XLA_AE_LINES_PKG.SetNewLine;
140504
140505 p_balance_type_code := l_balance_type_code;
140506 -- set the flag so later we will know whether the gain loss line needs to be created
140507
140508 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
140509 p_actual_flag :='A';
140510 END IF;
140511
140512 --
140513 -- bulk performance
140514 --
140515 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
140516 p_header_num => 0); -- 4262811
140517 --
140518 -- set accounting line options
140519 --
140520 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
140521 p_natural_side_code => 'C'
140522 , p_gain_or_loss_flag => 'N'
140523 , p_gl_transfer_mode_code => 'S'
140524 , p_acct_entry_type_code => 'E'
140525 , p_switch_side_flag => 'Y'
140526 , p_merge_duplicate_code => 'A'
140527 );
140528 --
140529 l_acc_rev_natural_side_code := 'D'; -- 4262811
140530 --
140531 --
140532 -- set accounting line type info
140533 --
140534 xla_ae_lines_pkg.SetAcctLineType
140535 (p_component_type => l_component_type
140536 ,p_event_type_code => l_event_type_code
140537 ,p_line_definition_owner_code => l_line_definition_owner_code
140538 ,p_line_definition_code => l_line_definition_code
140539 ,p_accounting_line_code => l_component_code
140540 ,p_accounting_line_type_code => l_component_type_code
140541 ,p_accounting_line_appl_id => l_component_appl_id
140542 ,p_amb_context_code => l_amb_context_code
140543 ,p_entity_code => l_entity_code
140544 ,p_event_class_code => l_event_class_code);
140545 --
140546 -- set accounting class
140547 --
140548 xla_ae_lines_pkg.SetAcctClass(
140549 p_accounting_class_code => 'SELF_ASSESSED_TAX'
140550 , p_ae_header_id => l_ae_header_id
140551 );
140552
140553 --
140554 -- set rounding class
140555 --
140556 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
140557 'SELF_ASSESSED_TAX';
140558
140559 --
140560 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
140561 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
140562 --
140563 -- bulk performance
140564 --
140565 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
140566
140567 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
140568 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
140569
140570 -- 4955764
140571 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140572 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
140573
140574 -- 4458381 Public Sector Enh
140575
140576 --
140577 -- set accounting attributes for the line type
140578 --
140579 l_entered_amt_idx := 23;
140580 l_accted_amt_idx := 25;
140581 l_bflow_applied_to_amt_idx := NULL; -- 5132302
140582 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
140583 l_rec_acct_attrs.array_char_value(1) := p_source_41;
140584 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
140585 l_rec_acct_attrs.array_num_value(2) :=
140586 xla_ae_sources_pkg.GetSystemSourceNum(
140587 p_source_code => 'XLA_EVENT_APPL_ID'
140588 , p_source_type_code => 'Y'
140589 , p_source_application_id => 602
140590 );
140591 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
140592 l_rec_acct_attrs.array_char_value(3) := p_source_43;
140593 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
140594 l_rec_acct_attrs.array_char_value(4) :=
140595 xla_ae_sources_pkg.GetSystemSourceChar(
140596 p_source_code => 'XLA_ENTITY_CODE'
140597 , p_source_type_code => 'Y'
140598 , p_source_application_id => 602
140599 );
140600 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
140601 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
140602 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
140603 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
140604 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
140605 l_rec_acct_attrs.array_num_value(7) := p_source_79;
140606 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
140607 l_rec_acct_attrs.array_char_value(8) := p_source_80;
140611 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
140608 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
140609 l_rec_acct_attrs.array_char_value(9) := p_source_81;
140610 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
140612 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
140613 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
140614 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
140615 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
140616 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
140617 l_rec_acct_attrs.array_char_value(13) := p_source_43;
140618 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
140619 l_rec_acct_attrs.array_num_value(14) := p_source_53;
140620 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
140621 l_rec_acct_attrs.array_num_value(15) := p_source_54;
140622 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
140623 l_rec_acct_attrs.array_char_value(16) := p_source_55;
140624 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
140625 l_rec_acct_attrs.array_num_value(17) := p_source_56;
140626 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
140627 l_rec_acct_attrs.array_num_value(18) := p_source_57;
140628 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
140629 l_rec_acct_attrs.array_num_value(19) := p_source_58;
140630 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
140631 l_rec_acct_attrs.array_char_value(20) := p_source_55;
140632 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
140633 l_rec_acct_attrs.array_num_value(21) := p_source_59;
140634 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
140635 l_rec_acct_attrs.array_char_value(22) := p_source_60;
140636 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
140637 l_rec_acct_attrs.array_num_value(23) := p_source_143;
140638 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
140639 l_rec_acct_attrs.array_char_value(24) := p_source_55;
140640 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
140641 l_rec_acct_attrs.array_num_value(25) := p_source_144;
140642 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
140643 l_rec_acct_attrs.array_date_value(26) := p_source_65;
140644 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
140645 l_rec_acct_attrs.array_char_value(27) := p_source_66;
140646 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
140647 l_rec_acct_attrs.array_date_value(28) := p_source_67;
140648 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
140649 l_rec_acct_attrs.array_char_value(29) := p_source_68;
140650 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
140651 l_rec_acct_attrs.array_char_value(30) := p_source_71;
140652 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
140653 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
140654 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
140655 l_rec_acct_attrs.array_char_value(32) := p_source_43;
140656 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
140657 l_rec_acct_attrs.array_num_value(33) := p_source_73;
140658 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
140659 l_rec_acct_attrs.array_num_value(34) := p_source_74;
140660 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
140661 l_rec_acct_attrs.array_num_value(35) := p_source_75;
140662 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
140663 l_rec_acct_attrs.array_num_value(36) := p_source_76;
140664 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
140665 l_rec_acct_attrs.array_num_value(37) := p_source_77;
140666 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
140667 l_rec_acct_attrs.array_num_value(38) := p_source_78;
140668
140669 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
140670 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
140671
140672 ---------------------------------------------------------------------------------------------------------------
140673 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
140674 ---------------------------------------------------------------------------------------------------------------
140675 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
140676
140677 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140678 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
140679
140680 IF xla_accounting_cache_pkg.GetValueChar
140681 (p_source_code => 'LEDGER_CATEGORY_CODE'
140682 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
140683 AND l_bflow_method_code = 'PRIOR_ENTRY'
140684 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
140685 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
140686 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
140687 )
140688 THEN
140689 xla_ae_lines_pkg.BflowUpgEntry
140690 (p_business_method_code => l_bflow_method_code
140694 NULL;
140691 ,p_business_class_code => l_bflow_class_code
140692 ,p_balance_type => l_balance_type_code);
140693 ELSE
140695 XLA_AE_LINES_PKG.business_flow_validation(
140696 p_business_method_code => l_bflow_method_code
140697 ,p_business_class_code => l_bflow_class_code
140698 ,p_inherit_description_flag => l_inherit_desc_flag);
140699 END IF;
140700
140701 --
140702 -- call analytical criteria
140703 --
140704 -- Inherited Analytical Criteria for business flow method of Prior Entry.
140705 --
140706 -- call description
140707 --
140708 -- No description or it is inherited.
140709 --
140710 -- call ADRs
140711 -- Bug 4922099
140712 --
140713 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140714 (NVL(l_actual_upg_option, 'N') = 'O') OR
140715 (NVL(l_enc_upg_option, 'N') = 'O')
140716 )
140717 THEN
140718 NULL;
140719 --
140720 --
140721
140722 --
140723 --
140724 END IF;
140725 --
140726 -- Bug 4922099
140727 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
140728 (NVL(l_enc_upg_option, 'N') = 'O')
140729 ) AND
140730 (l_bflow_method_code = 'PRIOR_ENTRY')
140731 )
140732 THEN
140733 IF
140734 --
140735 1 = 1
140736 --
140737 THEN
140738 xla_accounting_err_pkg.build_message
140739 (p_appli_s_name => 'XLA'
140740 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140741 ,p_token_1 => 'LINE_NUMBER'
140742 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
140743 ,p_token_2 => 'LINE_TYPE_NAME'
140744 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
140745 l_component_type
140746 ,l_component_code
140747 ,l_component_type_code
140748 ,l_component_appl_id
140749 ,l_amb_context_code
140750 ,l_entity_code
140751 ,l_event_class_code
140752 )
140753 ,p_token_3 => 'OWNER'
140754 ,p_value_3 => xla_lookups_pkg.get_meaning(
140755 p_lookup_type => 'XLA_OWNER_TYPE'
140756 ,p_lookup_code => l_component_type_code
140757 )
140758 ,p_token_4 => 'PRODUCT_NAME'
140759 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
140760 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
140761 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
140762 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
140763 ,p_ae_header_id => NULL
140764 );
140765
140766 IF (C_LEVEL_ERROR>= g_log_level) THEN
140767 trace
140768 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
140769 ,p_level => C_LEVEL_ERROR
140770 ,p_module => l_log_module);
140771 END IF;
140772 END IF;
140773 END IF;
140774 --
140775 --
140776 ------------------------------------------------------------------------------------------------
140777 -- 4219869 Business Flow
140778 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
140779 -- Prior Entry. Currently, the following code is always generated.
140780 ------------------------------------------------------------------------------------------------
140781 -- No ValidateCurrentLine for business flow method of Prior Entry
140782
140783 ------------------------------------------------------------------------------------
140784 -- 4219869 Business Flow
140785 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
140786 ------------------------------------------------------------------------------------
140787 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140788
140789 ----------------------------------------------------------------------------------
140790 -- 4219869 Business Flow
140791 -- Update journal entry status -- Need to generate this within IF <condition>
140792 ----------------------------------------------------------------------------------
140793 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140797
140794 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
140795 ,p_balance_type_code => l_balance_type_code
140796 );
140798 -------------------------------------------------------------------------------------------
140799 -- 4262811 - Generate the Accrual Reversal lines
140800 -------------------------------------------------------------------------------------------
140801 BEGIN
140802 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
140803 (g_array_event(p_event_id).array_value_num('header_index'));
140804 IF l_acc_rev_flag IS NULL THEN
140805 l_acc_rev_flag := 'N';
140806 END IF;
140807 EXCEPTION
140808 WHEN OTHERS THEN
140809 l_acc_rev_flag := 'N';
140810 END;
140811 --
140812 IF (l_acc_rev_flag = 'Y') THEN
140813
140814 -- 4645092 ------------------------------------------------------------------------------
140815 -- To allow MPA report to determine if it should generate report process
140816 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
140817 ------------------------------------------------------------------------------------------
140818
140819 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
140820 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
140821 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
140822 -- call ADRs
140823 -- Bug 4922099
140824 --
140825 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
140826 (NVL(l_actual_upg_option, 'N') = 'O') OR
140827 (NVL(l_enc_upg_option, 'N') = 'O')
140828 )
140829 THEN
140830 NULL;
140831 --
140832 --
140833
140834 --
140835 --
140836 END IF;
140837
140838 --
140839 -- Update the line information that should be overwritten
140840 --
140841 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
140842 p_header_num => 1);
140843 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
140844
140845 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
140846
140847 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
140848 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
140849 END IF;
140850
140851 --
140852 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
140853 --
140854 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
140855 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
140856 ELSE
140857 ---------------------------------------------------------------------------------------------------
140858 -- 4262811a Switch Sign
140859 ---------------------------------------------------------------------------------------------------
140860 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
140861 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140862 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140863 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
140864 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140865 -- 5132302
140866 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
140867 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
140868
140869 END IF;
140870
140871 -- 4955764
140872 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
140873 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
140874
140875
140876 XLA_AE_LINES_PKG.ValidateCurrentLine;
140877 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
140878
140879 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
140880 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
140881 ,p_balance_type_code => l_balance_type_code);
140882
140883 END IF;
140884
140885 -----------------------------------------------------------------------------------------
140886 -- 4262811 Multiperiod Accounting
140887 -----------------------------------------------------------------------------------------
140888 -- No MPA option is assigned.
140889
140890
140891 END IF;
140892 END IF;
140893 --
140894
140895 --
140896 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
140897 trace
140898 (p_msg => 'END of AcctLineType_232'
140899 ,p_level => C_LEVEL_PROCEDURE
140900 ,p_module => l_log_module);
140901 END IF;
140902 --
140903 EXCEPTION
140904 WHEN xla_exceptions_pkg.application_exception THEN
140905 RAISE;
140906 WHEN OTHERS THEN
140907 xla_exceptions_pkg.raise_message
140908 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_232');
140909 END AcctLineType_232;
140910 --
140911
140915 -- AcctLineType_233
140912 ---------------------------------------
140913 --
140914 -- PRIVATE FUNCTION
140916 --
140917 ---------------------------------------
140918 PROCEDURE AcctLineType_233 (
140919 p_application_id IN NUMBER
140920 ,p_event_id IN NUMBER
140921 ,p_calculate_acctd_flag IN VARCHAR2
140922 ,p_calculate_g_l_flag IN VARCHAR2
140923 ,p_actual_flag IN OUT VARCHAR2
140924 ,p_balance_type_code OUT VARCHAR2
140925 ,p_gain_or_loss_ref OUT VARCHAR2
140926
140927 --Invoice Distribution Type
140928 , p_source_21 IN VARCHAR2
140929 , p_source_21_meaning IN VARCHAR2
140930 --Accounting Reversal Indicator
140931 , p_source_41 IN VARCHAR2
140932 --Distribution Link Type
140933 , p_source_43 IN VARCHAR2
140934 --Allocation to Main Distribution Identifier
140935 , p_source_45 IN NUMBER
140936 --Invoice Identifier
140937 , p_source_46 IN NUMBER
140938 --Invoice Distribution Identifier
140939 , p_source_52 IN NUMBER
140940 --Payables Encumbrance Upgrade Credit Account
140941 , p_source_53 IN NUMBER
140942 --Payables Encumbrance Upgrade Credit Amount
140943 , p_source_54 IN NUMBER
140944 --Invoice Currency Code
140945 , p_source_55 IN VARCHAR2
140946 --Payables Encumbrance Upgrade Credit Base Amount
140947 , p_source_56 IN NUMBER
140948 --Payables Encumbrance Upgrade Debit Account
140949 , p_source_57 IN NUMBER
140950 --Payables Encumbrance Upgrade Debit Amount
140951 , p_source_58 IN NUMBER
140952 --Payables Encumbrance Upgrade Debit Base Amount
140953 , p_source_59 IN NUMBER
140954 --Payables Encumbrance Upgrade Option
140955 , p_source_60 IN VARCHAR2
140956 --Invoice Distribution Amount
140957 , p_source_61 IN NUMBER
140958 --Deferred Accounting End Date
140959 , p_source_65 IN DATE
140960 --Deferred Accounting Option
140961 , p_source_66 IN VARCHAR2
140962 --Deferred Accounting Start Date
140963 , p_source_67 IN DATE
140964 --Override Accounted Amount Indicator
140965 , p_source_68 IN VARCHAR2
140966 , p_source_68_meaning IN VARCHAR2
140967 --Third Party Type
140968 , p_source_71 IN VARCHAR2
140969 --Parent Reversal Identifier
140970 , p_source_72 IN NUMBER
140971 --Invoice Distribution Tax Line Identifier
140972 , p_source_74 IN NUMBER
140973 --Invoice Distribution Tax Distribution Identifier from Tax
140974 , p_source_75 IN NUMBER
140975 --Invoice Distribution Summary Tax Line Identifier
140976 , p_source_76 IN NUMBER
140977 --Payables Upgrade Credit Encumbrance Type Identifier
140978 , p_source_77 IN NUMBER
140979 --Payables Upgrade Debit Encumbrance Type Identifier
140980 , p_source_78 IN NUMBER
140981 --Business Flow Accounts Payable Application Identifier
140982 , p_source_79 IN NUMBER
140983 --Business Flow Invoice Distribution Type
140984 , p_source_80 IN VARCHAR2
140985 --Business Flow Invoice Entity Code
140986 , p_source_81 IN VARCHAR2
140987 --Business Flow Invoice Distribution Identifier
140988 , p_source_82 IN NUMBER
140989 --Business Flow Invoice Identifier
140990 , p_source_83 IN NUMBER
140991 --Purchasing Encumbrance Option
140992 , p_source_86 IN VARCHAR2
140993 , p_source_86_meaning IN VARCHAR2
140994 --Invoice Encumbered Option
140995 , p_source_87 IN VARCHAR2
140996 , p_source_87_meaning IN VARCHAR2
140997 --Self-Assessed Tax Flag
140998 , p_source_135 IN VARCHAR2
140999 , p_source_135_meaning IN VARCHAR2
141000 --Invoice Distribution Encumbrance Ledger Amount
141001 , p_source_144 IN NUMBER
141002 )
141003 IS
141004
141005 l_component_type VARCHAR2(80);
141006 l_component_code VARCHAR2(30);
141007 l_component_type_code VARCHAR2(1);
141008 l_component_appl_id INTEGER;
141009 l_amb_context_code VARCHAR2(30);
141010 l_entity_code VARCHAR2(30);
141011 l_event_class_code VARCHAR2(30);
141012 l_ae_header_id NUMBER;
141013 l_event_type_code VARCHAR2(30);
141014 l_line_definition_code VARCHAR2(30);
141015 l_line_definition_owner_code VARCHAR2(1);
141016 --
141017 -- adr variables
141018 l_segment VARCHAR2(30);
141019 l_ccid NUMBER;
141020 l_adr_transaction_coa_id NUMBER;
141021 l_adr_accounting_coa_id NUMBER;
141022 l_adr_flexfield_segment_code VARCHAR2(30);
141023 l_adr_flex_value_set_id NUMBER;
141024 l_adr_value_type_code VARCHAR2(30);
141025 l_adr_value_combination_id NUMBER;
141026 l_adr_value_segment_code VARCHAR2(30);
141027
141028 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
141029 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
141030 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
141031 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
141032
141033 -- 4262811 Variables ------------------------------------------------------------------------------------------
141034 l_entered_amt_idx NUMBER;
141035 l_accted_amt_idx NUMBER;
141036 l_acc_rev_flag VARCHAR2(1);
141037 l_accrual_line_num NUMBER;
141038 l_tmp_amt NUMBER;
141039 l_acc_rev_natural_side_code VARCHAR2(1);
141040
141041 l_num_entries NUMBER;
141045 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
141042 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
141043 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
141044 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
141046 l_recog_line_1 NUMBER;
141047 l_recog_line_2 NUMBER;
141048
141049 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
141050 l_bflow_applied_to_amt NUMBER; -- 5132302
141051 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
141052
141053 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
141054
141055 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
141056 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
141057
141058 ---------------------------------------------------------------------------------------------------------------
141059
141060
141061 --
141062 -- bulk performance
141063 --
141064 l_balance_type_code VARCHAR2(1);
141065 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
141066 l_log_module VARCHAR2(240);
141067
141068 --
141069 -- Upgrade strategy
141070 --
141071 l_actual_upg_option VARCHAR2(1);
141072 l_enc_upg_option VARCHAR2(1);
141073
141074 --
141075 BEGIN
141076 --
141077 IF g_log_enabled THEN
141078 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_233';
141079 END IF;
141080 --
141081 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141082
141083 trace
141084 (p_msg => 'BEGIN of AcctLineType_233'
141085 ,p_level => C_LEVEL_PROCEDURE
141086 ,p_module => l_log_module);
141087
141088 END IF;
141089 --
141090 l_component_type := 'AMB_JLT';
141091 l_component_code := 'AP_SELF_ASSD_NREC_TAX_DM_ENC';
141092 l_component_type_code := 'S';
141093 l_component_appl_id := 200;
141094 l_amb_context_code := 'DEFAULT';
141095 l_entity_code := 'AP_INVOICES';
141096 l_event_class_code := 'DEBIT MEMOS';
141097 l_event_type_code := 'DEBIT MEMOS_ALL';
141098 l_line_definition_owner_code := 'S';
141099 l_line_definition_code := 'ENC_REV_DM_ALL';
141100 --
141101 l_balance_type_code := 'E';
141102 l_segment := NULL;
141103 l_ccid := NULL;
141104 l_adr_transaction_coa_id := NULL;
141105 l_adr_accounting_coa_id := NULL;
141106 l_adr_flexfield_segment_code := NULL;
141107 l_adr_flex_value_set_id := NULL;
141108 l_adr_value_type_code := NULL;
141109 l_adr_value_combination_id := NULL;
141110 l_adr_value_segment_code := NULL;
141111
141112 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
141113 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
141114 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
141115 l_budgetary_control_flag := 'N';
141116
141117 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141118 l_bflow_applied_to_amt := NULL; -- 5132302
141119 l_entered_amt_idx := NULL; -- 4262811
141120 l_accted_amt_idx := NULL; -- 4262811
141121 l_acc_rev_flag := NULL; -- 4262811
141122 l_accrual_line_num := NULL; -- 4262811
141123 l_tmp_amt := NULL; -- 4262811
141124 --
141125
141126 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
141127 l_balance_type_code <> 'B' THEN
141128 IF NVL(p_source_21,'
141129 ') = 'NONREC_TAX' AND
141130 NVL(p_source_135,'
141131 ') = 'Y' AND
141132 NVL(p_source_86,'
141133 ') = 'Y' AND
141134 NVL(p_source_87,'
141135 ') = 'Y'
141136 THEN
141137
141138 --
141139 XLA_AE_LINES_PKG.SetNewLine;
141140
141141 p_balance_type_code := l_balance_type_code;
141142 -- set the flag so later we will know whether the gain loss line needs to be created
141143
141144 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
141145 p_actual_flag :='A';
141146 END IF;
141147
141148 --
141149 -- bulk performance
141150 --
141151 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
141152 p_header_num => 0); -- 4262811
141153 --
141154 -- set accounting line options
141155 --
141156 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
141157 p_natural_side_code => 'C'
141158 , p_gain_or_loss_flag => 'N'
141159 , p_gl_transfer_mode_code => 'S'
141160 , p_acct_entry_type_code => 'E'
141161 , p_switch_side_flag => 'Y'
141162 , p_merge_duplicate_code => 'A'
141163 );
141164 --
141165 l_acc_rev_natural_side_code := 'D'; -- 4262811
141166 --
141167 --
141168 -- set accounting line type info
141169 --
141170 xla_ae_lines_pkg.SetAcctLineType
141171 (p_component_type => l_component_type
141172 ,p_event_type_code => l_event_type_code
141173 ,p_line_definition_owner_code => l_line_definition_owner_code
141174 ,p_line_definition_code => l_line_definition_code
141175 ,p_accounting_line_code => l_component_code
141179 ,p_entity_code => l_entity_code
141176 ,p_accounting_line_type_code => l_component_type_code
141177 ,p_accounting_line_appl_id => l_component_appl_id
141178 ,p_amb_context_code => l_amb_context_code
141180 ,p_event_class_code => l_event_class_code);
141181 --
141182 -- set accounting class
141183 --
141184 xla_ae_lines_pkg.SetAcctClass(
141185 p_accounting_class_code => 'SELF_ASSESSED_TAX'
141186 , p_ae_header_id => l_ae_header_id
141187 );
141188
141189 --
141190 -- set rounding class
141191 --
141192 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
141193 'SELF_ASSESSED_TAX';
141194
141195 --
141196 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
141197 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
141198 --
141199 -- bulk performance
141200 --
141201 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
141202
141203 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
141204 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
141205
141206 -- 4955764
141207 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141208 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
141209
141210 -- 4458381 Public Sector Enh
141211
141212 --
141213 -- set accounting attributes for the line type
141214 --
141215 l_entered_amt_idx := 23;
141216 l_accted_amt_idx := 25;
141217 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141218 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
141219 l_rec_acct_attrs.array_char_value(1) := p_source_41;
141220 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
141221 l_rec_acct_attrs.array_num_value(2) :=
141222 xla_ae_sources_pkg.GetSystemSourceNum(
141223 p_source_code => 'XLA_EVENT_APPL_ID'
141224 , p_source_type_code => 'Y'
141225 , p_source_application_id => 602
141226 );
141227 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
141228 l_rec_acct_attrs.array_char_value(3) := p_source_43;
141229 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
141230 l_rec_acct_attrs.array_char_value(4) :=
141231 xla_ae_sources_pkg.GetSystemSourceChar(
141232 p_source_code => 'XLA_ENTITY_CODE'
141233 , p_source_type_code => 'Y'
141234 , p_source_application_id => 602
141235 );
141236 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
141237 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
141238 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
141239 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
141240 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
141241 l_rec_acct_attrs.array_num_value(7) := p_source_79;
141242 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
141243 l_rec_acct_attrs.array_char_value(8) := p_source_80;
141244 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
141245 l_rec_acct_attrs.array_char_value(9) := p_source_81;
141246 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
141247 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
141248 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
141249 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
141250 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
141251 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
141252 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
141253 l_rec_acct_attrs.array_char_value(13) := p_source_43;
141254 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
141255 l_rec_acct_attrs.array_num_value(14) := p_source_53;
141256 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
141257 l_rec_acct_attrs.array_num_value(15) := p_source_54;
141258 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
141259 l_rec_acct_attrs.array_char_value(16) := p_source_55;
141260 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
141261 l_rec_acct_attrs.array_num_value(17) := p_source_56;
141262 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
141263 l_rec_acct_attrs.array_num_value(18) := p_source_57;
141264 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
141265 l_rec_acct_attrs.array_num_value(19) := p_source_58;
141266 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
141267 l_rec_acct_attrs.array_char_value(20) := p_source_55;
141268 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
141269 l_rec_acct_attrs.array_num_value(21) := p_source_59;
141270 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
141271 l_rec_acct_attrs.array_char_value(22) := p_source_60;
141272 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
141273 l_rec_acct_attrs.array_num_value(23) := p_source_61;
141274 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
141275 l_rec_acct_attrs.array_char_value(24) := p_source_55;
141276 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
141277 l_rec_acct_attrs.array_num_value(25) := p_source_144;
141281 l_rec_acct_attrs.array_char_value(27) := p_source_66;
141278 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
141279 l_rec_acct_attrs.array_date_value(26) := p_source_65;
141280 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
141282 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
141283 l_rec_acct_attrs.array_date_value(28) := p_source_67;
141284 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
141285 l_rec_acct_attrs.array_char_value(29) := p_source_68;
141286 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
141287 l_rec_acct_attrs.array_char_value(30) := p_source_71;
141288 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
141289 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
141290 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
141291 l_rec_acct_attrs.array_char_value(32) := p_source_43;
141292 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
141293 l_rec_acct_attrs.array_num_value(33) := p_source_74;
141294 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
141295 l_rec_acct_attrs.array_num_value(34) := p_source_75;
141296 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
141297 l_rec_acct_attrs.array_num_value(35) := p_source_76;
141298 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
141299 l_rec_acct_attrs.array_num_value(36) := p_source_77;
141300 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
141301 l_rec_acct_attrs.array_num_value(37) := p_source_78;
141302
141303 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
141304 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
141305
141306 ---------------------------------------------------------------------------------------------------------------
141307 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
141308 ---------------------------------------------------------------------------------------------------------------
141309 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
141310
141311 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141312 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141313
141314 IF xla_accounting_cache_pkg.GetValueChar
141315 (p_source_code => 'LEDGER_CATEGORY_CODE'
141316 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
141317 AND l_bflow_method_code = 'PRIOR_ENTRY'
141318 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
141319 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
141320 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
141321 )
141322 THEN
141323 xla_ae_lines_pkg.BflowUpgEntry
141324 (p_business_method_code => l_bflow_method_code
141325 ,p_business_class_code => l_bflow_class_code
141326 ,p_balance_type => l_balance_type_code);
141327 ELSE
141328 NULL;
141329 XLA_AE_LINES_PKG.business_flow_validation(
141330 p_business_method_code => l_bflow_method_code
141331 ,p_business_class_code => l_bflow_class_code
141332 ,p_inherit_description_flag => l_inherit_desc_flag);
141333 END IF;
141334
141335 --
141336 -- call analytical criteria
141337 --
141338 -- Inherited Analytical Criteria for business flow method of Prior Entry.
141339 --
141340 -- call description
141341 --
141342 -- No description or it is inherited.
141343 --
141344 -- call ADRs
141345 -- Bug 4922099
141346 --
141347 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141348 (NVL(l_actual_upg_option, 'N') = 'O') OR
141349 (NVL(l_enc_upg_option, 'N') = 'O')
141350 )
141351 THEN
141352 NULL;
141353 --
141354 --
141355
141356 --
141357 --
141358 END IF;
141359 --
141360 -- Bug 4922099
141361 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
141362 (NVL(l_enc_upg_option, 'N') = 'O')
141363 ) AND
141364 (l_bflow_method_code = 'PRIOR_ENTRY')
141365 )
141366 THEN
141367 IF
141368 --
141369 1 = 1
141370 --
141371 THEN
141372 xla_accounting_err_pkg.build_message
141373 (p_appli_s_name => 'XLA'
141374 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141375 ,p_token_1 => 'LINE_NUMBER'
141376 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
141377 ,p_token_2 => 'LINE_TYPE_NAME'
141378 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
141379 l_component_type
141380 ,l_component_code
141381 ,l_component_type_code
141382 ,l_component_appl_id
141386 )
141383 ,l_amb_context_code
141384 ,l_entity_code
141385 ,l_event_class_code
141387 ,p_token_3 => 'OWNER'
141388 ,p_value_3 => xla_lookups_pkg.get_meaning(
141389 p_lookup_type => 'XLA_OWNER_TYPE'
141390 ,p_lookup_code => l_component_type_code
141391 )
141392 ,p_token_4 => 'PRODUCT_NAME'
141393 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
141394 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
141395 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
141396 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
141397 ,p_ae_header_id => NULL
141398 );
141399
141400 IF (C_LEVEL_ERROR>= g_log_level) THEN
141401 trace
141402 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
141403 ,p_level => C_LEVEL_ERROR
141404 ,p_module => l_log_module);
141405 END IF;
141406 END IF;
141407 END IF;
141408 --
141409 --
141410 ------------------------------------------------------------------------------------------------
141411 -- 4219869 Business Flow
141412 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
141413 -- Prior Entry. Currently, the following code is always generated.
141414 ------------------------------------------------------------------------------------------------
141415 -- No ValidateCurrentLine for business flow method of Prior Entry
141416
141417 ------------------------------------------------------------------------------------
141418 -- 4219869 Business Flow
141419 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
141420 ------------------------------------------------------------------------------------
141421 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141422
141423 ----------------------------------------------------------------------------------
141424 -- 4219869 Business Flow
141425 -- Update journal entry status -- Need to generate this within IF <condition>
141426 ----------------------------------------------------------------------------------
141427 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141428 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
141429 ,p_balance_type_code => l_balance_type_code
141430 );
141431
141432 -------------------------------------------------------------------------------------------
141433 -- 4262811 - Generate the Accrual Reversal lines
141434 -------------------------------------------------------------------------------------------
141435 BEGIN
141436 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
141437 (g_array_event(p_event_id).array_value_num('header_index'));
141438 IF l_acc_rev_flag IS NULL THEN
141439 l_acc_rev_flag := 'N';
141440 END IF;
141441 EXCEPTION
141442 WHEN OTHERS THEN
141443 l_acc_rev_flag := 'N';
141444 END;
141445 --
141446 IF (l_acc_rev_flag = 'Y') THEN
141447
141448 -- 4645092 ------------------------------------------------------------------------------
141449 -- To allow MPA report to determine if it should generate report process
141450 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
141451 ------------------------------------------------------------------------------------------
141452
141453 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
141454 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
141455 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
141456 -- call ADRs
141457 -- Bug 4922099
141458 --
141459 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141460 (NVL(l_actual_upg_option, 'N') = 'O') OR
141461 (NVL(l_enc_upg_option, 'N') = 'O')
141462 )
141463 THEN
141464 NULL;
141465 --
141466 --
141467
141468 --
141469 --
141470 END IF;
141471
141472 --
141473 -- Update the line information that should be overwritten
141474 --
141475 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
141476 p_header_num => 1);
141477 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
141478
141479 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
141480
141481 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
141485 --
141482 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
141483 END IF;
141484
141486 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
141487 --
141488 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
141489 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
141490 ELSE
141491 ---------------------------------------------------------------------------------------------------
141492 -- 4262811a Switch Sign
141493 ---------------------------------------------------------------------------------------------------
141494 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
141495 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141496 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141497 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
141498 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141499 -- 5132302
141500 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
141501 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
141502
141503 END IF;
141504
141505 -- 4955764
141506 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141507 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
141508
141509
141510 XLA_AE_LINES_PKG.ValidateCurrentLine;
141511 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
141512
141513 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
141514 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
141515 ,p_balance_type_code => l_balance_type_code);
141516
141517 END IF;
141518
141519 -----------------------------------------------------------------------------------------
141520 -- 4262811 Multiperiod Accounting
141521 -----------------------------------------------------------------------------------------
141522 -- No MPA option is assigned.
141523
141524
141525 END IF;
141526 END IF;
141527 --
141528
141529 --
141530 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141531 trace
141532 (p_msg => 'END of AcctLineType_233'
141533 ,p_level => C_LEVEL_PROCEDURE
141534 ,p_module => l_log_module);
141535 END IF;
141536 --
141537 EXCEPTION
141538 WHEN xla_exceptions_pkg.application_exception THEN
141539 RAISE;
141540 WHEN OTHERS THEN
141541 xla_exceptions_pkg.raise_message
141542 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_233');
141543 END AcctLineType_233;
141544 --
141545
141546 ---------------------------------------
141547 --
141548 -- PRIVATE FUNCTION
141549 -- AcctLineType_234
141550 --
141551 ---------------------------------------
141552 PROCEDURE AcctLineType_234 (
141553 p_application_id IN NUMBER
141554 ,p_event_id IN NUMBER
141555 ,p_calculate_acctd_flag IN VARCHAR2
141556 ,p_calculate_g_l_flag IN VARCHAR2
141557 ,p_actual_flag IN OUT VARCHAR2
141558 ,p_balance_type_code OUT VARCHAR2
141559 ,p_gain_or_loss_ref OUT VARCHAR2
141560
141561 --Invoice Distribution Type
141562 , p_source_21 IN VARCHAR2
141563 , p_source_21_meaning IN VARCHAR2
141564 --Accounting Reversal Indicator
141565 , p_source_41 IN VARCHAR2
141566 --Distribution Link Type
141567 , p_source_43 IN VARCHAR2
141568 --Allocation to Main Distribution Identifier
141569 , p_source_45 IN NUMBER
141570 --Invoice Identifier
141571 , p_source_46 IN NUMBER
141572 --Invoice Distribution Identifier
141573 , p_source_52 IN NUMBER
141574 --Payables Encumbrance Upgrade Credit Account
141575 , p_source_53 IN NUMBER
141576 --Payables Encumbrance Upgrade Credit Amount
141577 , p_source_54 IN NUMBER
141578 --Invoice Currency Code
141579 , p_source_55 IN VARCHAR2
141580 --Payables Encumbrance Upgrade Credit Base Amount
141581 , p_source_56 IN NUMBER
141582 --Payables Encumbrance Upgrade Debit Account
141583 , p_source_57 IN NUMBER
141584 --Payables Encumbrance Upgrade Debit Amount
141585 , p_source_58 IN NUMBER
141586 --Payables Encumbrance Upgrade Debit Base Amount
141587 , p_source_59 IN NUMBER
141588 --Payables Encumbrance Upgrade Option
141589 , p_source_60 IN VARCHAR2
141590 --Invoice Distribution Amount
141591 , p_source_61 IN NUMBER
141592 --Deferred Accounting End Date
141593 , p_source_65 IN DATE
141594 --Deferred Accounting Option
141595 , p_source_66 IN VARCHAR2
141596 --Deferred Accounting Start Date
141597 , p_source_67 IN DATE
141598 --Override Accounted Amount Indicator
141599 , p_source_68 IN VARCHAR2
141600 , p_source_68_meaning IN VARCHAR2
141601 --Third Party Type
141602 , p_source_71 IN VARCHAR2
141603 --Parent Reversal Identifier
141604 , p_source_72 IN NUMBER
141608 , p_source_74 IN NUMBER
141605 --Invoice Distribution Statistical Amount
141606 , p_source_73 IN NUMBER
141607 --Invoice Distribution Tax Line Identifier
141609 --Invoice Distribution Tax Distribution Identifier from Tax
141610 , p_source_75 IN NUMBER
141611 --Invoice Distribution Summary Tax Line Identifier
141612 , p_source_76 IN NUMBER
141613 --Payables Upgrade Credit Encumbrance Type Identifier
141614 , p_source_77 IN NUMBER
141615 --Payables Upgrade Debit Encumbrance Type Identifier
141616 , p_source_78 IN NUMBER
141617 --Business Flow Accounts Payable Application Identifier
141618 , p_source_79 IN NUMBER
141619 --Business Flow Invoice Distribution Type
141620 , p_source_80 IN VARCHAR2
141621 --Business Flow Invoice Entity Code
141622 , p_source_81 IN VARCHAR2
141623 --Business Flow Invoice Distribution Identifier
141624 , p_source_82 IN NUMBER
141625 --Business Flow Invoice Identifier
141626 , p_source_83 IN NUMBER
141627 --Purchasing Encumbrance Option
141628 , p_source_86 IN VARCHAR2
141629 , p_source_86_meaning IN VARCHAR2
141630 --Invoice Encumbered Option
141631 , p_source_87 IN VARCHAR2
141632 , p_source_87_meaning IN VARCHAR2
141633 --Self-Assessed Tax Flag
141634 , p_source_135 IN VARCHAR2
141635 , p_source_135_meaning IN VARCHAR2
141636 --Invoice Distribution Encumbrance Amount
141637 , p_source_143 IN NUMBER
141638 --Invoice Distribution Encumbrance Ledger Amount
141639 , p_source_144 IN NUMBER
141640 )
141641 IS
141642
141643 l_component_type VARCHAR2(80);
141644 l_component_code VARCHAR2(30);
141645 l_component_type_code VARCHAR2(1);
141646 l_component_appl_id INTEGER;
141647 l_amb_context_code VARCHAR2(30);
141648 l_entity_code VARCHAR2(30);
141649 l_event_class_code VARCHAR2(30);
141650 l_ae_header_id NUMBER;
141651 l_event_type_code VARCHAR2(30);
141652 l_line_definition_code VARCHAR2(30);
141653 l_line_definition_owner_code VARCHAR2(1);
141654 --
141655 -- adr variables
141656 l_segment VARCHAR2(30);
141657 l_ccid NUMBER;
141658 l_adr_transaction_coa_id NUMBER;
141659 l_adr_accounting_coa_id NUMBER;
141660 l_adr_flexfield_segment_code VARCHAR2(30);
141661 l_adr_flex_value_set_id NUMBER;
141662 l_adr_value_type_code VARCHAR2(30);
141663 l_adr_value_combination_id NUMBER;
141664 l_adr_value_segment_code VARCHAR2(30);
141665
141666 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
141667 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
141668 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
141669 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
141670
141671 -- 4262811 Variables ------------------------------------------------------------------------------------------
141672 l_entered_amt_idx NUMBER;
141673 l_accted_amt_idx NUMBER;
141674 l_acc_rev_flag VARCHAR2(1);
141675 l_accrual_line_num NUMBER;
141676 l_tmp_amt NUMBER;
141677 l_acc_rev_natural_side_code VARCHAR2(1);
141678
141679 l_num_entries NUMBER;
141680 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
141681 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
141682 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
141683 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
141684 l_recog_line_1 NUMBER;
141685 l_recog_line_2 NUMBER;
141686
141687 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
141688 l_bflow_applied_to_amt NUMBER; -- 5132302
141689 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
141690
141691 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
141692
141693 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
141694 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
141695
141696 ---------------------------------------------------------------------------------------------------------------
141697
141698
141699 --
141700 -- bulk performance
141701 --
141702 l_balance_type_code VARCHAR2(1);
141703 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
141704 l_log_module VARCHAR2(240);
141705
141706 --
141707 -- Upgrade strategy
141708 --
141709 l_actual_upg_option VARCHAR2(1);
141710 l_enc_upg_option VARCHAR2(1);
141711
141712 --
141713 BEGIN
141714 --
141715 IF g_log_enabled THEN
141716 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_234';
141717 END IF;
141718 --
141719 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
141720
141721 trace
141722 (p_msg => 'BEGIN of AcctLineType_234'
141723 ,p_level => C_LEVEL_PROCEDURE
141724 ,p_module => l_log_module);
141725
141726 END IF;
141727 --
141728 l_component_type := 'AMB_JLT';
141729 l_component_code := 'AP_SELF_ASSD_NREC_TAX_INV_ENC';
141730 l_component_type_code := 'S';
141731 l_component_appl_id := 200;
141732 l_amb_context_code := 'DEFAULT';
141733 l_entity_code := 'AP_INVOICES';
141737 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
141734 l_event_class_code := 'INVOICES';
141735 l_event_type_code := 'INVOICES_ALL';
141736 l_line_definition_owner_code := 'S';
141738 --
141739 l_balance_type_code := 'E';
141740 l_segment := NULL;
141741 l_ccid := NULL;
141742 l_adr_transaction_coa_id := NULL;
141743 l_adr_accounting_coa_id := NULL;
141744 l_adr_flexfield_segment_code := NULL;
141745 l_adr_flex_value_set_id := NULL;
141746 l_adr_value_type_code := NULL;
141747 l_adr_value_combination_id := NULL;
141748 l_adr_value_segment_code := NULL;
141749
141750 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
141751 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
141752 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
141753 l_budgetary_control_flag := 'N';
141754
141755 l_bflow_applied_to_amt_idx := NULL; -- 5132302
141756 l_bflow_applied_to_amt := NULL; -- 5132302
141757 l_entered_amt_idx := NULL; -- 4262811
141758 l_accted_amt_idx := NULL; -- 4262811
141759 l_acc_rev_flag := NULL; -- 4262811
141760 l_accrual_line_num := NULL; -- 4262811
141761 l_tmp_amt := NULL; -- 4262811
141762 --
141763
141764 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
141765 l_balance_type_code <> 'B' THEN
141766 IF NVL(p_source_21,'
141767 ') = 'NONREC_TAX' AND
141768 NVL(p_source_135,'
141769 ') = 'Y' AND
141770 NVL(p_source_86,'
141771 ') = 'Y' AND
141772 NVL(p_source_87,'
141773 ') = 'Y'
141774 THEN
141775
141776 --
141777 XLA_AE_LINES_PKG.SetNewLine;
141778
141779 p_balance_type_code := l_balance_type_code;
141780 -- set the flag so later we will know whether the gain loss line needs to be created
141781
141782 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
141783 p_actual_flag :='A';
141784 END IF;
141785
141786 --
141787 -- bulk performance
141788 --
141789 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
141790 p_header_num => 0); -- 4262811
141791 --
141792 -- set accounting line options
141793 --
141794 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
141795 p_natural_side_code => 'C'
141796 , p_gain_or_loss_flag => 'N'
141797 , p_gl_transfer_mode_code => 'S'
141798 , p_acct_entry_type_code => 'E'
141799 , p_switch_side_flag => 'Y'
141800 , p_merge_duplicate_code => 'A'
141801 );
141802 --
141803 l_acc_rev_natural_side_code := 'D'; -- 4262811
141804 --
141805 --
141806 -- set accounting line type info
141807 --
141808 xla_ae_lines_pkg.SetAcctLineType
141809 (p_component_type => l_component_type
141810 ,p_event_type_code => l_event_type_code
141811 ,p_line_definition_owner_code => l_line_definition_owner_code
141812 ,p_line_definition_code => l_line_definition_code
141813 ,p_accounting_line_code => l_component_code
141814 ,p_accounting_line_type_code => l_component_type_code
141815 ,p_accounting_line_appl_id => l_component_appl_id
141816 ,p_amb_context_code => l_amb_context_code
141817 ,p_entity_code => l_entity_code
141818 ,p_event_class_code => l_event_class_code);
141819 --
141820 -- set accounting class
141821 --
141822 xla_ae_lines_pkg.SetAcctClass(
141823 p_accounting_class_code => 'SELF_ASSESSED_TAX'
141824 , p_ae_header_id => l_ae_header_id
141825 );
141826
141827 --
141828 -- set rounding class
141829 --
141830 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
141831 'SELF_ASSESSED_TAX';
141832
141833 --
141834 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
141835 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
141836 --
141837 -- bulk performance
141838 --
141839 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
141840
141841 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
141842 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
141843
141844 -- 4955764
141845 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
141846 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
141847
141848 -- 4458381 Public Sector Enh
141849
141850 --
141851 -- set accounting attributes for the line type
141852 --
141853 l_entered_amt_idx := 24;
141854 l_accted_amt_idx := 26;
141855 l_bflow_applied_to_amt_idx := 7; -- 5132302
141856 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
141857 l_rec_acct_attrs.array_char_value(1) := p_source_41;
141858 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
141859 l_rec_acct_attrs.array_num_value(2) :=
141860 xla_ae_sources_pkg.GetSystemSourceNum(
141861 p_source_code => 'XLA_EVENT_APPL_ID'
141865 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
141862 , p_source_type_code => 'Y'
141863 , p_source_application_id => 602
141864 );
141866 l_rec_acct_attrs.array_char_value(3) := p_source_43;
141867 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
141868 l_rec_acct_attrs.array_char_value(4) :=
141869 xla_ae_sources_pkg.GetSystemSourceChar(
141870 p_source_code => 'XLA_ENTITY_CODE'
141871 , p_source_type_code => 'Y'
141872 , p_source_application_id => 602
141873 );
141874 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
141875 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
141876 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
141877 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
141878 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
141879 l_rec_acct_attrs.array_num_value(7) := p_source_61;
141880 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
141881 l_rec_acct_attrs.array_num_value(8) := p_source_79;
141882 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
141883 l_rec_acct_attrs.array_char_value(9) := p_source_80;
141884 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
141885 l_rec_acct_attrs.array_char_value(10) := p_source_81;
141886 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
141887 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
141888 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
141889 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
141890 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
141891 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
141892 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
141893 l_rec_acct_attrs.array_char_value(14) := p_source_43;
141894 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
141895 l_rec_acct_attrs.array_num_value(15) := p_source_53;
141896 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
141897 l_rec_acct_attrs.array_num_value(16) := p_source_54;
141898 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
141899 l_rec_acct_attrs.array_char_value(17) := p_source_55;
141900 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
141901 l_rec_acct_attrs.array_num_value(18) := p_source_56;
141902 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
141903 l_rec_acct_attrs.array_num_value(19) := p_source_57;
141904 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
141905 l_rec_acct_attrs.array_num_value(20) := p_source_58;
141906 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
141907 l_rec_acct_attrs.array_char_value(21) := p_source_55;
141908 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
141909 l_rec_acct_attrs.array_num_value(22) := p_source_59;
141910 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
141911 l_rec_acct_attrs.array_char_value(23) := p_source_60;
141912 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
141913 l_rec_acct_attrs.array_num_value(24) := p_source_143;
141914 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
141915 l_rec_acct_attrs.array_char_value(25) := p_source_55;
141916 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
141917 l_rec_acct_attrs.array_num_value(26) := p_source_144;
141918 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
141919 l_rec_acct_attrs.array_date_value(27) := p_source_65;
141920 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
141921 l_rec_acct_attrs.array_char_value(28) := p_source_66;
141922 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
141923 l_rec_acct_attrs.array_date_value(29) := p_source_67;
141924 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
141925 l_rec_acct_attrs.array_char_value(30) := p_source_68;
141926 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
141927 l_rec_acct_attrs.array_char_value(31) := p_source_71;
141928 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
141929 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
141930 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
141931 l_rec_acct_attrs.array_char_value(33) := p_source_43;
141932 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
141933 l_rec_acct_attrs.array_num_value(34) := p_source_73;
141934 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
141935 l_rec_acct_attrs.array_num_value(35) := p_source_74;
141936 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
141937 l_rec_acct_attrs.array_num_value(36) := p_source_75;
141938 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
141939 l_rec_acct_attrs.array_num_value(37) := p_source_76;
141940 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
141941 l_rec_acct_attrs.array_num_value(38) := p_source_77;
141942 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
141943 l_rec_acct_attrs.array_num_value(39) := p_source_78;
141944
141945 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
141946 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
141947
141948 ---------------------------------------------------------------------------------------------------------------
141952
141949 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
141950 ---------------------------------------------------------------------------------------------------------------
141951 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
141953 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141954 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
141955
141956 IF xla_accounting_cache_pkg.GetValueChar
141957 (p_source_code => 'LEDGER_CATEGORY_CODE'
141958 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
141959 AND l_bflow_method_code = 'PRIOR_ENTRY'
141960 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
141961 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
141962 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
141963 )
141964 THEN
141965 xla_ae_lines_pkg.BflowUpgEntry
141966 (p_business_method_code => l_bflow_method_code
141967 ,p_business_class_code => l_bflow_class_code
141968 ,p_balance_type => l_balance_type_code);
141969 ELSE
141970 NULL;
141971 XLA_AE_LINES_PKG.business_flow_validation(
141972 p_business_method_code => l_bflow_method_code
141973 ,p_business_class_code => l_bflow_class_code
141974 ,p_inherit_description_flag => l_inherit_desc_flag);
141975 END IF;
141976
141977 --
141978 -- call analytical criteria
141979 --
141980 -- Inherited Analytical Criteria for business flow method of Prior Entry.
141981 --
141982 -- call description
141983 --
141984 -- No description or it is inherited.
141985 --
141986 -- call ADRs
141987 -- Bug 4922099
141988 --
141989 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
141990 (NVL(l_actual_upg_option, 'N') = 'O') OR
141991 (NVL(l_enc_upg_option, 'N') = 'O')
141992 )
141993 THEN
141994 NULL;
141995 --
141996 --
141997
141998 --
141999 --
142000 END IF;
142001 --
142002 -- Bug 4922099
142003 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
142004 (NVL(l_enc_upg_option, 'N') = 'O')
142005 ) AND
142006 (l_bflow_method_code = 'PRIOR_ENTRY')
142007 )
142008 THEN
142009 IF
142010 --
142011 1 = 1
142012 --
142013 THEN
142014 xla_accounting_err_pkg.build_message
142015 (p_appli_s_name => 'XLA'
142016 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142017 ,p_token_1 => 'LINE_NUMBER'
142018 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
142019 ,p_token_2 => 'LINE_TYPE_NAME'
142020 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
142021 l_component_type
142022 ,l_component_code
142023 ,l_component_type_code
142024 ,l_component_appl_id
142025 ,l_amb_context_code
142026 ,l_entity_code
142027 ,l_event_class_code
142028 )
142029 ,p_token_3 => 'OWNER'
142030 ,p_value_3 => xla_lookups_pkg.get_meaning(
142031 p_lookup_type => 'XLA_OWNER_TYPE'
142032 ,p_lookup_code => l_component_type_code
142033 )
142034 ,p_token_4 => 'PRODUCT_NAME'
142035 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
142036 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
142037 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
142038 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
142039 ,p_ae_header_id => NULL
142040 );
142041
142042 IF (C_LEVEL_ERROR>= g_log_level) THEN
142043 trace
142044 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142045 ,p_level => C_LEVEL_ERROR
142046 ,p_module => l_log_module);
142047 END IF;
142048 END IF;
142049 END IF;
142050 --
142051 --
142055 -- Prior Entry. Currently, the following code is always generated.
142052 ------------------------------------------------------------------------------------------------
142053 -- 4219869 Business Flow
142054 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
142056 ------------------------------------------------------------------------------------------------
142057 -- No ValidateCurrentLine for business flow method of Prior Entry
142058
142059 ------------------------------------------------------------------------------------
142060 -- 4219869 Business Flow
142061 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
142062 ------------------------------------------------------------------------------------
142063 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142064
142065 ----------------------------------------------------------------------------------
142066 -- 4219869 Business Flow
142067 -- Update journal entry status -- Need to generate this within IF <condition>
142068 ----------------------------------------------------------------------------------
142069 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142070 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
142071 ,p_balance_type_code => l_balance_type_code
142072 );
142073
142074 -------------------------------------------------------------------------------------------
142075 -- 4262811 - Generate the Accrual Reversal lines
142076 -------------------------------------------------------------------------------------------
142077 BEGIN
142078 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
142079 (g_array_event(p_event_id).array_value_num('header_index'));
142080 IF l_acc_rev_flag IS NULL THEN
142081 l_acc_rev_flag := 'N';
142082 END IF;
142083 EXCEPTION
142084 WHEN OTHERS THEN
142085 l_acc_rev_flag := 'N';
142086 END;
142087 --
142088 IF (l_acc_rev_flag = 'Y') THEN
142089
142090 -- 4645092 ------------------------------------------------------------------------------
142091 -- To allow MPA report to determine if it should generate report process
142092 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
142093 ------------------------------------------------------------------------------------------
142094
142095 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
142096 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
142097 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
142098 -- call ADRs
142099 -- Bug 4922099
142100 --
142101 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142102 (NVL(l_actual_upg_option, 'N') = 'O') OR
142103 (NVL(l_enc_upg_option, 'N') = 'O')
142104 )
142105 THEN
142106 NULL;
142107 --
142108 --
142109
142110 --
142111 --
142112 END IF;
142113
142114 --
142115 -- Update the line information that should be overwritten
142116 --
142117 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
142118 p_header_num => 1);
142119 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
142120
142121 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
142122
142123 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
142124 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
142125 END IF;
142126
142127 --
142128 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
142129 --
142130 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
142131 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
142132 ELSE
142133 ---------------------------------------------------------------------------------------------------
142134 -- 4262811a Switch Sign
142135 ---------------------------------------------------------------------------------------------------
142136 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
142137 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142138 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142139 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142140 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142141 -- 5132302
142142 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
142143 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142144
142145 END IF;
142146
142147 -- 4955764
142148 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142149 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
142150
142151
142152 XLA_AE_LINES_PKG.ValidateCurrentLine;
142153 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142154
142158
142155 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142156 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
142157 ,p_balance_type_code => l_balance_type_code);
142159 END IF;
142160
142161 -----------------------------------------------------------------------------------------
142162 -- 4262811 Multiperiod Accounting
142163 -----------------------------------------------------------------------------------------
142164 -- No MPA option is assigned.
142165
142166
142167 END IF;
142168 END IF;
142169 --
142170
142171 --
142172 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142173 trace
142174 (p_msg => 'END of AcctLineType_234'
142175 ,p_level => C_LEVEL_PROCEDURE
142176 ,p_module => l_log_module);
142177 END IF;
142178 --
142179 EXCEPTION
142180 WHEN xla_exceptions_pkg.application_exception THEN
142181 RAISE;
142182 WHEN OTHERS THEN
142183 xla_exceptions_pkg.raise_message
142184 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_234');
142185 END AcctLineType_234;
142186 --
142187
142188 ---------------------------------------
142189 --
142190 -- PRIVATE FUNCTION
142191 -- AcctLineType_235
142192 --
142193 ---------------------------------------
142194 PROCEDURE AcctLineType_235 (
142195 p_application_id IN NUMBER
142196 ,p_event_id IN NUMBER
142197 ,p_calculate_acctd_flag IN VARCHAR2
142198 ,p_calculate_g_l_flag IN VARCHAR2
142199 ,p_actual_flag IN OUT VARCHAR2
142200 ,p_balance_type_code OUT VARCHAR2
142201 ,p_gain_or_loss_ref OUT VARCHAR2
142202
142203 --Invoice Distribution Type
142204 , p_source_21 IN VARCHAR2
142205 , p_source_21_meaning IN VARCHAR2
142206 --Accounting Reversal Indicator
142207 , p_source_41 IN VARCHAR2
142208 --Distribution Link Type
142209 , p_source_43 IN VARCHAR2
142210 --Allocation to Main Distribution Identifier
142211 , p_source_45 IN NUMBER
142212 --Invoice Identifier
142213 , p_source_46 IN NUMBER
142214 --Invoice Distribution Identifier
142215 , p_source_52 IN NUMBER
142216 --Payables Encumbrance Upgrade Credit Account
142217 , p_source_53 IN NUMBER
142218 --Payables Encumbrance Upgrade Credit Amount
142219 , p_source_54 IN NUMBER
142220 --Invoice Currency Code
142221 , p_source_55 IN VARCHAR2
142222 --Payables Encumbrance Upgrade Credit Base Amount
142223 , p_source_56 IN NUMBER
142224 --Payables Encumbrance Upgrade Debit Account
142225 , p_source_57 IN NUMBER
142226 --Payables Encumbrance Upgrade Debit Amount
142227 , p_source_58 IN NUMBER
142228 --Payables Encumbrance Upgrade Debit Base Amount
142229 , p_source_59 IN NUMBER
142230 --Payables Encumbrance Upgrade Option
142231 , p_source_60 IN VARCHAR2
142232 --Deferred Accounting End Date
142233 , p_source_65 IN DATE
142234 --Deferred Accounting Option
142235 , p_source_66 IN VARCHAR2
142236 --Deferred Accounting Start Date
142237 , p_source_67 IN DATE
142238 --Override Accounted Amount Indicator
142239 , p_source_68 IN VARCHAR2
142240 , p_source_68_meaning IN VARCHAR2
142241 --Third Party Type
142242 , p_source_71 IN VARCHAR2
142243 --Parent Reversal Identifier
142244 , p_source_72 IN NUMBER
142245 --Invoice Distribution Statistical Amount
142246 , p_source_73 IN NUMBER
142247 --Invoice Distribution Tax Line Identifier
142248 , p_source_74 IN NUMBER
142249 --Invoice Distribution Tax Distribution Identifier from Tax
142250 , p_source_75 IN NUMBER
142251 --Invoice Distribution Summary Tax Line Identifier
142252 , p_source_76 IN NUMBER
142253 --Payables Upgrade Credit Encumbrance Type Identifier
142254 , p_source_77 IN NUMBER
142255 --Payables Upgrade Debit Encumbrance Type Identifier
142256 , p_source_78 IN NUMBER
142257 --Business Flow Accounts Payable Application Identifier
142258 , p_source_79 IN NUMBER
142259 --Business Flow Invoice Distribution Type
142260 , p_source_80 IN VARCHAR2
142261 --Business Flow Invoice Entity Code
142262 , p_source_81 IN VARCHAR2
142263 --Business Flow Invoice Distribution Identifier
142264 , p_source_82 IN NUMBER
142265 --Business Flow Invoice Identifier
142266 , p_source_83 IN NUMBER
142267 --Purchasing Encumbrance Option
142268 , p_source_86 IN VARCHAR2
142269 , p_source_86_meaning IN VARCHAR2
142270 --Invoice Encumbered Option
142271 , p_source_87 IN VARCHAR2
142272 , p_source_87_meaning IN VARCHAR2
142273 --Self-Assessed Tax Flag
142274 , p_source_135 IN VARCHAR2
142275 , p_source_135_meaning IN VARCHAR2
142276 --Invoice Distribution Encumbrance Amount
142277 , p_source_143 IN NUMBER
142278 --Invoice Distribution Encumbrance Ledger Amount
142279 , p_source_144 IN NUMBER
142280 )
142281 IS
142282
142283 l_component_type VARCHAR2(80);
142284 l_component_code VARCHAR2(30);
142285 l_component_type_code VARCHAR2(1);
142286 l_component_appl_id INTEGER;
142287 l_amb_context_code VARCHAR2(30);
142288 l_entity_code VARCHAR2(30);
142289 l_event_class_code VARCHAR2(30);
142290 l_ae_header_id NUMBER;
142291 l_event_type_code VARCHAR2(30);
142292 l_line_definition_code VARCHAR2(30);
142296 l_segment VARCHAR2(30);
142293 l_line_definition_owner_code VARCHAR2(1);
142294 --
142295 -- adr variables
142297 l_ccid NUMBER;
142298 l_adr_transaction_coa_id NUMBER;
142299 l_adr_accounting_coa_id NUMBER;
142300 l_adr_flexfield_segment_code VARCHAR2(30);
142301 l_adr_flex_value_set_id NUMBER;
142302 l_adr_value_type_code VARCHAR2(30);
142303 l_adr_value_combination_id NUMBER;
142304 l_adr_value_segment_code VARCHAR2(30);
142305
142306 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
142307 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
142308 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
142309 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
142310
142311 -- 4262811 Variables ------------------------------------------------------------------------------------------
142312 l_entered_amt_idx NUMBER;
142313 l_accted_amt_idx NUMBER;
142314 l_acc_rev_flag VARCHAR2(1);
142315 l_accrual_line_num NUMBER;
142316 l_tmp_amt NUMBER;
142317 l_acc_rev_natural_side_code VARCHAR2(1);
142318
142319 l_num_entries NUMBER;
142320 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
142321 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
142322 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
142323 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
142324 l_recog_line_1 NUMBER;
142325 l_recog_line_2 NUMBER;
142326
142327 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
142328 l_bflow_applied_to_amt NUMBER; -- 5132302
142329 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
142330
142331 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
142332
142333 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
142334 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
142335
142336 ---------------------------------------------------------------------------------------------------------------
142337
142338
142339 --
142340 -- bulk performance
142341 --
142342 l_balance_type_code VARCHAR2(1);
142343 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
142344 l_log_module VARCHAR2(240);
142345
142346 --
142347 -- Upgrade strategy
142348 --
142349 l_actual_upg_option VARCHAR2(1);
142350 l_enc_upg_option VARCHAR2(1);
142351
142352 --
142353 BEGIN
142354 --
142355 IF g_log_enabled THEN
142356 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_235';
142357 END IF;
142358 --
142359 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142360
142361 trace
142362 (p_msg => 'BEGIN of AcctLineType_235'
142363 ,p_level => C_LEVEL_PROCEDURE
142364 ,p_module => l_log_module);
142365
142366 END IF;
142367 --
142368 l_component_type := 'AMB_JLT';
142369 l_component_code := 'AP_SELF_ASSD_NREC_TAX_PP_ENC';
142370 l_component_type_code := 'S';
142371 l_component_appl_id := 200;
142372 l_amb_context_code := 'DEFAULT';
142373 l_entity_code := 'AP_INVOICES';
142374 l_event_class_code := 'PREPAYMENTS';
142375 l_event_type_code := 'PREPAYMENTS_ALL';
142376 l_line_definition_owner_code := 'S';
142377 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
142378 --
142379 l_balance_type_code := 'E';
142380 l_segment := NULL;
142381 l_ccid := NULL;
142382 l_adr_transaction_coa_id := NULL;
142383 l_adr_accounting_coa_id := NULL;
142384 l_adr_flexfield_segment_code := NULL;
142385 l_adr_flex_value_set_id := NULL;
142386 l_adr_value_type_code := NULL;
142387 l_adr_value_combination_id := NULL;
142388 l_adr_value_segment_code := NULL;
142389
142390 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
142391 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
142392 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
142393 l_budgetary_control_flag := 'N';
142394
142395 l_bflow_applied_to_amt_idx := NULL; -- 5132302
142396 l_bflow_applied_to_amt := NULL; -- 5132302
142397 l_entered_amt_idx := NULL; -- 4262811
142398 l_accted_amt_idx := NULL; -- 4262811
142399 l_acc_rev_flag := NULL; -- 4262811
142400 l_accrual_line_num := NULL; -- 4262811
142401 l_tmp_amt := NULL; -- 4262811
142402 --
142403
142404 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
142405 l_balance_type_code <> 'B' THEN
142406 IF NVL(p_source_21,'
142407 ') = 'NONREC_TAX' AND
142408 NVL(p_source_135,'
142409 ') = 'Y' AND
142410 NVL(p_source_86,'
142411 ') = 'Y' AND
142412 NVL(p_source_87,'
142413 ') = 'Y'
142414 THEN
142415
142416 --
142417 XLA_AE_LINES_PKG.SetNewLine;
142418
142419 p_balance_type_code := l_balance_type_code;
142420 -- set the flag so later we will know whether the gain loss line needs to be created
142421
142422 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
142426 --
142423 p_actual_flag :='A';
142424 END IF;
142425
142427 -- bulk performance
142428 --
142429 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
142430 p_header_num => 0); -- 4262811
142431 --
142432 -- set accounting line options
142433 --
142434 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
142435 p_natural_side_code => 'C'
142436 , p_gain_or_loss_flag => 'N'
142437 , p_gl_transfer_mode_code => 'S'
142438 , p_acct_entry_type_code => 'E'
142439 , p_switch_side_flag => 'Y'
142440 , p_merge_duplicate_code => 'A'
142441 );
142442 --
142443 l_acc_rev_natural_side_code := 'D'; -- 4262811
142444 --
142445 --
142446 -- set accounting line type info
142447 --
142448 xla_ae_lines_pkg.SetAcctLineType
142449 (p_component_type => l_component_type
142450 ,p_event_type_code => l_event_type_code
142451 ,p_line_definition_owner_code => l_line_definition_owner_code
142452 ,p_line_definition_code => l_line_definition_code
142453 ,p_accounting_line_code => l_component_code
142454 ,p_accounting_line_type_code => l_component_type_code
142455 ,p_accounting_line_appl_id => l_component_appl_id
142456 ,p_amb_context_code => l_amb_context_code
142457 ,p_entity_code => l_entity_code
142458 ,p_event_class_code => l_event_class_code);
142459 --
142460 -- set accounting class
142461 --
142462 xla_ae_lines_pkg.SetAcctClass(
142463 p_accounting_class_code => 'SELF_ASSESSED_TAX'
142464 , p_ae_header_id => l_ae_header_id
142465 );
142466
142467 --
142468 -- set rounding class
142469 --
142470 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
142471 'SELF_ASSESSED_TAX';
142472
142473 --
142474 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
142475 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
142476 --
142477 -- bulk performance
142478 --
142479 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
142480
142481 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
142482 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
142483
142484 -- 4955764
142485 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142486 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
142487
142488 -- 4458381 Public Sector Enh
142489
142490 --
142491 -- set accounting attributes for the line type
142492 --
142493 l_entered_amt_idx := 23;
142494 l_accted_amt_idx := 25;
142495 l_bflow_applied_to_amt_idx := NULL; -- 5132302
142496 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
142497 l_rec_acct_attrs.array_char_value(1) := p_source_41;
142498 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
142499 l_rec_acct_attrs.array_num_value(2) :=
142500 xla_ae_sources_pkg.GetSystemSourceNum(
142501 p_source_code => 'XLA_EVENT_APPL_ID'
142502 , p_source_type_code => 'Y'
142503 , p_source_application_id => 602
142504 );
142505 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
142506 l_rec_acct_attrs.array_char_value(3) := p_source_43;
142507 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
142508 l_rec_acct_attrs.array_char_value(4) :=
142509 xla_ae_sources_pkg.GetSystemSourceChar(
142510 p_source_code => 'XLA_ENTITY_CODE'
142511 , p_source_type_code => 'Y'
142512 , p_source_application_id => 602
142513 );
142514 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
142515 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
142516 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
142517 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
142518 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
142519 l_rec_acct_attrs.array_num_value(7) := p_source_79;
142520 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
142521 l_rec_acct_attrs.array_char_value(8) := p_source_80;
142522 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
142523 l_rec_acct_attrs.array_char_value(9) := p_source_81;
142524 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
142525 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
142526 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
142527 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
142528 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
142529 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
142530 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
142531 l_rec_acct_attrs.array_char_value(13) := p_source_43;
142532 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
142533 l_rec_acct_attrs.array_num_value(14) := p_source_53;
142534 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
142535 l_rec_acct_attrs.array_num_value(15) := p_source_54;
142539 l_rec_acct_attrs.array_num_value(17) := p_source_56;
142536 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
142537 l_rec_acct_attrs.array_char_value(16) := p_source_55;
142538 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
142540 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
142541 l_rec_acct_attrs.array_num_value(18) := p_source_57;
142542 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
142543 l_rec_acct_attrs.array_num_value(19) := p_source_58;
142544 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
142545 l_rec_acct_attrs.array_char_value(20) := p_source_55;
142546 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
142547 l_rec_acct_attrs.array_num_value(21) := p_source_59;
142548 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
142549 l_rec_acct_attrs.array_char_value(22) := p_source_60;
142550 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
142551 l_rec_acct_attrs.array_num_value(23) := p_source_143;
142552 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
142553 l_rec_acct_attrs.array_char_value(24) := p_source_55;
142554 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
142555 l_rec_acct_attrs.array_num_value(25) := p_source_144;
142556 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
142557 l_rec_acct_attrs.array_date_value(26) := p_source_65;
142558 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
142559 l_rec_acct_attrs.array_char_value(27) := p_source_66;
142560 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
142561 l_rec_acct_attrs.array_date_value(28) := p_source_67;
142562 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
142563 l_rec_acct_attrs.array_char_value(29) := p_source_68;
142564 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
142565 l_rec_acct_attrs.array_char_value(30) := p_source_71;
142566 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
142567 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
142568 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
142569 l_rec_acct_attrs.array_char_value(32) := p_source_43;
142570 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
142571 l_rec_acct_attrs.array_num_value(33) := p_source_73;
142572 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
142573 l_rec_acct_attrs.array_num_value(34) := p_source_74;
142574 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
142575 l_rec_acct_attrs.array_num_value(35) := p_source_75;
142576 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
142577 l_rec_acct_attrs.array_num_value(36) := p_source_76;
142578 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
142579 l_rec_acct_attrs.array_num_value(37) := p_source_77;
142580 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
142581 l_rec_acct_attrs.array_num_value(38) := p_source_78;
142582
142583 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
142584 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
142585
142586 ---------------------------------------------------------------------------------------------------------------
142587 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
142588 ---------------------------------------------------------------------------------------------------------------
142589 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
142590
142591 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142592 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
142593
142594 IF xla_accounting_cache_pkg.GetValueChar
142595 (p_source_code => 'LEDGER_CATEGORY_CODE'
142596 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
142597 AND l_bflow_method_code = 'PRIOR_ENTRY'
142598 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
142599 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
142600 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
142601 )
142602 THEN
142603 xla_ae_lines_pkg.BflowUpgEntry
142604 (p_business_method_code => l_bflow_method_code
142605 ,p_business_class_code => l_bflow_class_code
142606 ,p_balance_type => l_balance_type_code);
142607 ELSE
142608 NULL;
142609 XLA_AE_LINES_PKG.business_flow_validation(
142610 p_business_method_code => l_bflow_method_code
142611 ,p_business_class_code => l_bflow_class_code
142612 ,p_inherit_description_flag => l_inherit_desc_flag);
142613 END IF;
142614
142615 --
142616 -- call analytical criteria
142617 --
142618 -- Inherited Analytical Criteria for business flow method of Prior Entry.
142619 --
142620 -- call description
142621 --
142622 -- No description or it is inherited.
142623 --
142624 -- call ADRs
142625 -- Bug 4922099
142626 --
142627 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142628 (NVL(l_actual_upg_option, 'N') = 'O') OR
142629 (NVL(l_enc_upg_option, 'N') = 'O')
142633 --
142630 )
142631 THEN
142632 NULL;
142634 --
142635
142636 --
142637 --
142638 END IF;
142639 --
142640 -- Bug 4922099
142641 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
142642 (NVL(l_enc_upg_option, 'N') = 'O')
142643 ) AND
142644 (l_bflow_method_code = 'PRIOR_ENTRY')
142645 )
142646 THEN
142647 IF
142648 --
142649 1 = 1
142650 --
142651 THEN
142652 xla_accounting_err_pkg.build_message
142653 (p_appli_s_name => 'XLA'
142654 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142655 ,p_token_1 => 'LINE_NUMBER'
142656 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
142657 ,p_token_2 => 'LINE_TYPE_NAME'
142658 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
142659 l_component_type
142660 ,l_component_code
142661 ,l_component_type_code
142662 ,l_component_appl_id
142663 ,l_amb_context_code
142664 ,l_entity_code
142665 ,l_event_class_code
142666 )
142667 ,p_token_3 => 'OWNER'
142668 ,p_value_3 => xla_lookups_pkg.get_meaning(
142669 p_lookup_type => 'XLA_OWNER_TYPE'
142670 ,p_lookup_code => l_component_type_code
142671 )
142672 ,p_token_4 => 'PRODUCT_NAME'
142673 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
142674 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
142675 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
142676 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
142677 ,p_ae_header_id => NULL
142678 );
142679
142680 IF (C_LEVEL_ERROR>= g_log_level) THEN
142681 trace
142682 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
142683 ,p_level => C_LEVEL_ERROR
142684 ,p_module => l_log_module);
142685 END IF;
142686 END IF;
142687 END IF;
142688 --
142689 --
142690 ------------------------------------------------------------------------------------------------
142691 -- 4219869 Business Flow
142692 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
142693 -- Prior Entry. Currently, the following code is always generated.
142694 ------------------------------------------------------------------------------------------------
142695 -- No ValidateCurrentLine for business flow method of Prior Entry
142696
142697 ------------------------------------------------------------------------------------
142698 -- 4219869 Business Flow
142699 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
142700 ------------------------------------------------------------------------------------
142701 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142702
142703 ----------------------------------------------------------------------------------
142704 -- 4219869 Business Flow
142705 -- Update journal entry status -- Need to generate this within IF <condition>
142706 ----------------------------------------------------------------------------------
142707 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142708 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
142709 ,p_balance_type_code => l_balance_type_code
142710 );
142711
142712 -------------------------------------------------------------------------------------------
142713 -- 4262811 - Generate the Accrual Reversal lines
142714 -------------------------------------------------------------------------------------------
142715 BEGIN
142716 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
142717 (g_array_event(p_event_id).array_value_num('header_index'));
142718 IF l_acc_rev_flag IS NULL THEN
142719 l_acc_rev_flag := 'N';
142720 END IF;
142721 EXCEPTION
142722 WHEN OTHERS THEN
142723 l_acc_rev_flag := 'N';
142724 END;
142725 --
142726 IF (l_acc_rev_flag = 'Y') THEN
142727
142728 -- 4645092 ------------------------------------------------------------------------------
142732
142729 -- To allow MPA report to determine if it should generate report process
142730 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
142731 ------------------------------------------------------------------------------------------
142733 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
142734 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
142735 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
142736 -- call ADRs
142737 -- Bug 4922099
142738 --
142739 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
142740 (NVL(l_actual_upg_option, 'N') = 'O') OR
142741 (NVL(l_enc_upg_option, 'N') = 'O')
142742 )
142743 THEN
142744 NULL;
142745 --
142746 --
142747
142748 --
142749 --
142750 END IF;
142751
142752 --
142753 -- Update the line information that should be overwritten
142754 --
142755 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
142756 p_header_num => 1);
142757 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
142758
142759 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
142760
142761 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
142762 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
142763 END IF;
142764
142765 --
142766 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
142767 --
142768 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
142769 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
142770 ELSE
142771 ---------------------------------------------------------------------------------------------------
142772 -- 4262811a Switch Sign
142773 ---------------------------------------------------------------------------------------------------
142774 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
142775 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142776 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142777 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
142778 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142779 -- 5132302
142780 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
142781 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
142782
142783 END IF;
142784
142785 -- 4955764
142786 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
142787 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
142788
142789
142790 XLA_AE_LINES_PKG.ValidateCurrentLine;
142791 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
142792
142793 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
142794 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
142795 ,p_balance_type_code => l_balance_type_code);
142796
142797 END IF;
142798
142799 -----------------------------------------------------------------------------------------
142800 -- 4262811 Multiperiod Accounting
142801 -----------------------------------------------------------------------------------------
142802 -- No MPA option is assigned.
142803
142804
142805 END IF;
142806 END IF;
142807 --
142808
142809 --
142810 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
142811 trace
142812 (p_msg => 'END of AcctLineType_235'
142813 ,p_level => C_LEVEL_PROCEDURE
142814 ,p_module => l_log_module);
142815 END IF;
142816 --
142817 EXCEPTION
142818 WHEN xla_exceptions_pkg.application_exception THEN
142819 RAISE;
142820 WHEN OTHERS THEN
142821 xla_exceptions_pkg.raise_message
142822 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_235');
142823 END AcctLineType_235;
142824 --
142825
142826 ---------------------------------------
142827 --
142828 -- PRIVATE FUNCTION
142829 -- AcctLineType_236
142830 --
142831 ---------------------------------------
142832 PROCEDURE AcctLineType_236 (
142833 p_application_id IN NUMBER
142834 ,p_event_id IN NUMBER
142835 ,p_calculate_acctd_flag IN VARCHAR2
142836 ,p_calculate_g_l_flag IN VARCHAR2
142837 ,p_actual_flag IN OUT VARCHAR2
142838 ,p_balance_type_code OUT VARCHAR2
142839 ,p_gain_or_loss_ref OUT VARCHAR2
142840
142841 --Invoice Distribution Description
142842 , p_source_1 IN VARCHAR2
142843 --Invoice Distribution Ledger Amount
142844 , p_source_9 IN NUMBER
142845 --Invoice Distribution Type
142846 , p_source_21 IN VARCHAR2
142847 , p_source_21_meaning IN VARCHAR2
142848 --Self-Assessed Tax Account
142849 , p_source_38 IN NUMBER
142850 --Accounting Reversal Indicator
142851 , p_source_41 IN VARCHAR2
142852 --Distribution Link Type
142853 , p_source_43 IN VARCHAR2
142854 --Allocation to Main Distribution Identifier
142858 --Invoice Distribution Identifier
142855 , p_source_45 IN NUMBER
142856 --Invoice Identifier
142857 , p_source_46 IN NUMBER
142859 , p_source_52 IN NUMBER
142860 --Payables Encumbrance Upgrade Credit Account
142861 , p_source_53 IN NUMBER
142862 --Payables Encumbrance Upgrade Credit Amount
142863 , p_source_54 IN NUMBER
142864 --Invoice Currency Code
142865 , p_source_55 IN VARCHAR2
142866 --Payables Encumbrance Upgrade Credit Base Amount
142867 , p_source_56 IN NUMBER
142868 --Payables Encumbrance Upgrade Debit Account
142869 , p_source_57 IN NUMBER
142870 --Payables Encumbrance Upgrade Debit Amount
142871 , p_source_58 IN NUMBER
142872 --Payables Encumbrance Upgrade Debit Base Amount
142873 , p_source_59 IN NUMBER
142874 --Payables Encumbrance Upgrade Option
142875 , p_source_60 IN VARCHAR2
142876 --Invoice Distribution Amount
142877 , p_source_61 IN NUMBER
142878 --Deferred Accounting End Date
142879 , p_source_65 IN DATE
142880 --Deferred Accounting Option
142881 , p_source_66 IN VARCHAR2
142882 --Deferred Accounting Start Date
142883 , p_source_67 IN DATE
142884 --Override Accounted Amount Indicator
142885 , p_source_68 IN VARCHAR2
142886 , p_source_68_meaning IN VARCHAR2
142887 --Invoice Supplier Identifier
142888 , p_source_69 IN NUMBER
142889 --Invoice Supplier Site Identifier
142890 , p_source_70 IN NUMBER
142891 --Third Party Type
142892 , p_source_71 IN VARCHAR2
142893 --Parent Reversal Identifier
142894 , p_source_72 IN NUMBER
142895 --Invoice Distribution Statistical Amount
142896 , p_source_73 IN NUMBER
142897 --Invoice Distribution Tax Line Identifier
142898 , p_source_74 IN NUMBER
142899 --Invoice Distribution Tax Distribution Identifier from Tax
142900 , p_source_75 IN NUMBER
142901 --Invoice Distribution Summary Tax Line Identifier
142902 , p_source_76 IN NUMBER
142903 --Payables Upgrade Credit Encumbrance Type Identifier
142904 , p_source_77 IN NUMBER
142905 --Payables Upgrade Debit Encumbrance Type Identifier
142906 , p_source_78 IN NUMBER
142907 --Business Flow Accounts Payable Application Identifier
142908 , p_source_79 IN NUMBER
142909 --Business Flow Invoice Distribution Type
142910 , p_source_80 IN VARCHAR2
142911 --Business Flow Invoice Entity Code
142912 , p_source_81 IN VARCHAR2
142913 --Business Flow Invoice Distribution Identifier
142914 , p_source_82 IN NUMBER
142915 --Business Flow Invoice Identifier
142916 , p_source_83 IN NUMBER
142917 --Accrue on Receipt Option
142918 , p_source_84 IN VARCHAR2
142919 , p_source_84_meaning IN VARCHAR2
142920 --Self-Assessed Tax Flag
142921 , p_source_135 IN VARCHAR2
142922 , p_source_135_meaning IN VARCHAR2
142923 --Invoice Exchange Date
142924 , p_source_136 IN DATE
142925 --Invoice Exchange Rate
142926 , p_source_137 IN NUMBER
142927 --Invoice Exchange Rate Type
142928 , p_source_138 IN VARCHAR2
142929 )
142930 IS
142931
142932 l_component_type VARCHAR2(80);
142933 l_component_code VARCHAR2(30);
142934 l_component_type_code VARCHAR2(1);
142935 l_component_appl_id INTEGER;
142936 l_amb_context_code VARCHAR2(30);
142937 l_entity_code VARCHAR2(30);
142938 l_event_class_code VARCHAR2(30);
142939 l_ae_header_id NUMBER;
142940 l_event_type_code VARCHAR2(30);
142941 l_line_definition_code VARCHAR2(30);
142942 l_line_definition_owner_code VARCHAR2(1);
142943 --
142944 -- adr variables
142945 l_segment VARCHAR2(30);
142946 l_ccid NUMBER;
142947 l_adr_transaction_coa_id NUMBER;
142948 l_adr_accounting_coa_id NUMBER;
142949 l_adr_flexfield_segment_code VARCHAR2(30);
142950 l_adr_flex_value_set_id NUMBER;
142951 l_adr_value_type_code VARCHAR2(30);
142952 l_adr_value_combination_id NUMBER;
142953 l_adr_value_segment_code VARCHAR2(30);
142954
142955 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
142956 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
142957 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
142958 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
142959
142960 -- 4262811 Variables ------------------------------------------------------------------------------------------
142961 l_entered_amt_idx NUMBER;
142962 l_accted_amt_idx NUMBER;
142963 l_acc_rev_flag VARCHAR2(1);
142964 l_accrual_line_num NUMBER;
142965 l_tmp_amt NUMBER;
142966 l_acc_rev_natural_side_code VARCHAR2(1);
142967
142968 l_num_entries NUMBER;
142969 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
142970 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
142971 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
142972 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
142973 l_recog_line_1 NUMBER;
142974 l_recog_line_2 NUMBER;
142975
142976 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
142977 l_bflow_applied_to_amt NUMBER; -- 5132302
142981
142978 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
142979
142980 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
142982 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
142983 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
142984
142985 ---------------------------------------------------------------------------------------------------------------
142986
142987
142988 --
142989 -- bulk performance
142990 --
142991 l_balance_type_code VARCHAR2(1);
142992 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
142993 l_log_module VARCHAR2(240);
142994
142995 --
142996 -- Upgrade strategy
142997 --
142998 l_actual_upg_option VARCHAR2(1);
142999 l_enc_upg_option VARCHAR2(1);
143000
143001 --
143002 BEGIN
143003 --
143004 IF g_log_enabled THEN
143005 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_236';
143006 END IF;
143007 --
143008 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143009
143010 trace
143011 (p_msg => 'BEGIN of AcctLineType_236'
143012 ,p_level => C_LEVEL_PROCEDURE
143013 ,p_module => l_log_module);
143014
143015 END IF;
143016 --
143017 l_component_type := 'AMB_JLT';
143018 l_component_code := 'AP_SELF_ASSESSED_NONREC_PREPAY';
143019 l_component_type_code := 'S';
143020 l_component_appl_id := 200;
143021 l_amb_context_code := 'DEFAULT';
143022 l_entity_code := 'AP_INVOICES';
143023 l_event_class_code := 'PREPAYMENTS';
143024 l_event_type_code := 'PREPAYMENTS_ALL';
143025 l_line_definition_owner_code := 'S';
143026 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
143027 --
143028 l_balance_type_code := 'A';
143029 l_segment := NULL;
143030 l_ccid := NULL;
143031 l_adr_transaction_coa_id := NULL;
143032 l_adr_accounting_coa_id := NULL;
143033 l_adr_flexfield_segment_code := NULL;
143034 l_adr_flex_value_set_id := NULL;
143035 l_adr_value_type_code := NULL;
143036 l_adr_value_combination_id := NULL;
143037 l_adr_value_segment_code := NULL;
143038
143039 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
143040 l_bflow_class_code := ''; -- 4219869 Business Flow
143041 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
143042 l_budgetary_control_flag := 'N';
143043
143044 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143045 l_bflow_applied_to_amt := NULL; -- 5132302
143046 l_entered_amt_idx := NULL; -- 4262811
143047 l_accted_amt_idx := NULL; -- 4262811
143048 l_acc_rev_flag := NULL; -- 4262811
143049 l_accrual_line_num := NULL; -- 4262811
143050 l_tmp_amt := NULL; -- 4262811
143051 --
143052
143053 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
143054 l_balance_type_code <> 'B' THEN
143055 IF (NVL(p_source_21,'
143056 ') = 'NONREC_TAX' OR
143057 NVL(p_source_21,'
143058 ') = 'TERV' OR
143059 NVL(p_source_21,'
143060 ') = 'TIPV' OR
143061 NVL(p_source_21,'
143062 ') = 'TRV') AND
143063 NVL(p_source_84,'
143064 ') <> 'Y' AND
143065 NVL(p_source_135,'
143066 ') = 'Y'
143067 THEN
143068
143069 --
143070 XLA_AE_LINES_PKG.SetNewLine;
143071
143072 p_balance_type_code := l_balance_type_code;
143073 -- set the flag so later we will know whether the gain loss line needs to be created
143074
143075 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
143076 p_actual_flag :='A';
143077 END IF;
143078
143079 --
143080 -- bulk performance
143081 --
143082 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
143083 p_header_num => 0); -- 4262811
143084 --
143085 -- set accounting line options
143086 --
143087 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
143088 p_natural_side_code => 'D'
143089 , p_gain_or_loss_flag => 'N'
143090 , p_gl_transfer_mode_code => 'S'
143091 , p_acct_entry_type_code => 'A'
143092 , p_switch_side_flag => 'Y'
143093 , p_merge_duplicate_code => 'A'
143094 );
143095 --
143096 l_acc_rev_natural_side_code := 'C'; -- 4262811
143097 --
143098 --
143099 -- set accounting line type info
143100 --
143101 xla_ae_lines_pkg.SetAcctLineType
143102 (p_component_type => l_component_type
143103 ,p_event_type_code => l_event_type_code
143104 ,p_line_definition_owner_code => l_line_definition_owner_code
143105 ,p_line_definition_code => l_line_definition_code
143106 ,p_accounting_line_code => l_component_code
143107 ,p_accounting_line_type_code => l_component_type_code
143108 ,p_accounting_line_appl_id => l_component_appl_id
143109 ,p_amb_context_code => l_amb_context_code
143110 ,p_entity_code => l_entity_code
143111 ,p_event_class_code => l_event_class_code);
143112 --
143113 -- set accounting class
143114 --
143115 xla_ae_lines_pkg.SetAcctClass(
143116 p_accounting_class_code => 'SELF_ASSESSED_TAX'
143120 --
143117 , p_ae_header_id => l_ae_header_id
143118 );
143119
143121 -- set rounding class
143122 --
143123 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
143124 'SELF_ASSESSED_TAX';
143125
143126 --
143127 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
143128 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
143129 --
143130 -- bulk performance
143131 --
143132 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
143133
143134 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
143135 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
143136
143137 -- 4955764
143138 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143139 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
143140
143141 -- 4458381 Public Sector Enh
143142
143143 --
143144 -- set accounting attributes for the line type
143145 --
143146 l_entered_amt_idx := 23;
143147 l_accted_amt_idx := 28;
143148 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143149 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
143150 l_rec_acct_attrs.array_char_value(1) := p_source_41;
143151 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
143152 l_rec_acct_attrs.array_num_value(2) :=
143153 xla_ae_sources_pkg.GetSystemSourceNum(
143154 p_source_code => 'XLA_EVENT_APPL_ID'
143155 , p_source_type_code => 'Y'
143156 , p_source_application_id => 602
143157 );
143158 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
143159 l_rec_acct_attrs.array_char_value(3) := p_source_43;
143160 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
143161 l_rec_acct_attrs.array_char_value(4) :=
143162 xla_ae_sources_pkg.GetSystemSourceChar(
143163 p_source_code => 'XLA_ENTITY_CODE'
143164 , p_source_type_code => 'Y'
143165 , p_source_application_id => 602
143166 );
143167 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
143168 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
143169 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
143170 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
143171 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
143172 l_rec_acct_attrs.array_num_value(7) := p_source_79;
143173 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
143174 l_rec_acct_attrs.array_char_value(8) := p_source_80;
143175 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
143176 l_rec_acct_attrs.array_char_value(9) := p_source_81;
143177 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
143178 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
143179 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
143180 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
143181 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
143182 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
143183 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
143184 l_rec_acct_attrs.array_char_value(13) := p_source_43;
143185 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
143186 l_rec_acct_attrs.array_num_value(14) := p_source_53;
143187 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
143188 l_rec_acct_attrs.array_num_value(15) := p_source_54;
143189 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
143190 l_rec_acct_attrs.array_char_value(16) := p_source_55;
143191 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
143192 l_rec_acct_attrs.array_num_value(17) := p_source_56;
143193 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
143194 l_rec_acct_attrs.array_num_value(18) := p_source_57;
143195 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
143196 l_rec_acct_attrs.array_num_value(19) := p_source_58;
143197 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
143198 l_rec_acct_attrs.array_char_value(20) := p_source_55;
143199 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
143200 l_rec_acct_attrs.array_num_value(21) := p_source_59;
143201 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
143202 l_rec_acct_attrs.array_char_value(22) := p_source_60;
143203 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
143204 l_rec_acct_attrs.array_num_value(23) := p_source_61;
143205 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
143206 l_rec_acct_attrs.array_char_value(24) := p_source_55;
143207 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
143208 l_rec_acct_attrs.array_date_value(25) := p_source_136;
143209 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
143210 l_rec_acct_attrs.array_num_value(26) := p_source_137;
143211 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
143212 l_rec_acct_attrs.array_char_value(27) := p_source_138;
143213 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
143214 l_rec_acct_attrs.array_num_value(28) := p_source_9;
143218 l_rec_acct_attrs.array_char_value(30) := p_source_66;
143215 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
143216 l_rec_acct_attrs.array_date_value(29) := p_source_65;
143217 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
143219 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
143220 l_rec_acct_attrs.array_date_value(31) := p_source_67;
143221 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
143222 l_rec_acct_attrs.array_char_value(32) := p_source_68;
143223 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
143224 l_rec_acct_attrs.array_num_value(33) := p_source_69;
143225 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
143226 l_rec_acct_attrs.array_num_value(34) := p_source_70;
143227 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
143228 l_rec_acct_attrs.array_char_value(35) := p_source_71;
143229 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
143230 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
143231 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
143232 l_rec_acct_attrs.array_char_value(37) := p_source_43;
143233 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
143234 l_rec_acct_attrs.array_num_value(38) := p_source_73;
143235 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
143236 l_rec_acct_attrs.array_num_value(39) := p_source_74;
143237 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
143238 l_rec_acct_attrs.array_num_value(40) := p_source_75;
143239 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
143240 l_rec_acct_attrs.array_num_value(41) := p_source_76;
143241 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
143242 l_rec_acct_attrs.array_num_value(42) := p_source_77;
143243 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
143244 l_rec_acct_attrs.array_num_value(43) := p_source_78;
143245
143246 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
143247 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
143248
143249 ---------------------------------------------------------------------------------------------------------------
143250 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
143251 ---------------------------------------------------------------------------------------------------------------
143252 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
143253
143254 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143255 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143256
143257 IF xla_accounting_cache_pkg.GetValueChar
143258 (p_source_code => 'LEDGER_CATEGORY_CODE'
143259 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
143260 AND l_bflow_method_code = 'PRIOR_ENTRY'
143261 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
143262 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
143263 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
143264 )
143265 THEN
143266 xla_ae_lines_pkg.BflowUpgEntry
143267 (p_business_method_code => l_bflow_method_code
143268 ,p_business_class_code => l_bflow_class_code
143269 ,p_balance_type => l_balance_type_code);
143270 ELSE
143271 NULL;
143272 -- No business flow processing for business flow method of NONE.
143273 END IF;
143274
143275 --
143276 -- call analytical criteria
143277 --
143278
143279 --
143280 -- call description
143281 --
143282
143283 xla_ae_lines_pkg.SetLineDescription(
143284 p_ae_header_id => l_ae_header_id
143285 ,p_description => Description_2 (
143286 p_application_id => p_application_id
143287 , p_ae_header_id => l_ae_header_id
143288 , p_source_1 => p_source_1
143289 )
143290 );
143291
143292
143293 --
143294 -- call ADRs
143295 -- Bug 4922099
143296 --
143297 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143298 (NVL(l_actual_upg_option, 'N') = 'O') OR
143299 (NVL(l_enc_upg_option, 'N') = 'O')
143300 )
143301 THEN
143302 NULL;
143303 --
143304 --
143305
143306 l_ccid := AcctDerRule_41(
143307 p_application_id => p_application_id
143308 , p_ae_header_id => l_ae_header_id
143309 , p_source_38 => p_source_38
143310 , x_transaction_coa_id => l_adr_transaction_coa_id
143311 , x_accounting_coa_id => l_adr_accounting_coa_id
143312 , x_value_type_code => l_adr_value_type_code
143313 , p_side => 'NA'
143314 );
143315
143316 xla_ae_lines_pkg.set_ccid(
143317 p_code_combination_id => l_ccid
143318 , p_value_type_code => l_adr_value_type_code
143319 , p_transaction_coa_id => l_adr_transaction_coa_id
143320 , p_accounting_coa_id => l_adr_accounting_coa_id
143321 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
143322 , p_adr_type_code => 'S'
143326 , p_component_appl_id => l_component_appl_id
143323 , p_component_type => l_component_type
143324 , p_component_code => l_component_code
143325 , p_component_type_code => l_component_type_code
143327 , p_amb_context_code => l_amb_context_code
143328 , p_side => 'NA'
143329 );
143330
143331
143332 --
143333 --
143334 END IF;
143335 --
143336 -- Bug 4922099
143337 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
143338 (NVL(l_enc_upg_option, 'N') = 'O')
143339 ) AND
143340 (l_bflow_method_code = 'PRIOR_ENTRY')
143341 )
143342 THEN
143343 IF
143344 --
143345 1 = 2
143346 --
143347 THEN
143348 xla_accounting_err_pkg.build_message
143349 (p_appli_s_name => 'XLA'
143350 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143351 ,p_token_1 => 'LINE_NUMBER'
143352 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
143353 ,p_token_2 => 'LINE_TYPE_NAME'
143354 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
143355 l_component_type
143356 ,l_component_code
143357 ,l_component_type_code
143358 ,l_component_appl_id
143359 ,l_amb_context_code
143360 ,l_entity_code
143361 ,l_event_class_code
143362 )
143363 ,p_token_3 => 'OWNER'
143364 ,p_value_3 => xla_lookups_pkg.get_meaning(
143365 p_lookup_type => 'XLA_OWNER_TYPE'
143366 ,p_lookup_code => l_component_type_code
143367 )
143368 ,p_token_4 => 'PRODUCT_NAME'
143369 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
143370 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
143371 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
143372 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
143373 ,p_ae_header_id => NULL
143374 );
143375
143376 IF (C_LEVEL_ERROR>= g_log_level) THEN
143377 trace
143378 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
143379 ,p_level => C_LEVEL_ERROR
143380 ,p_module => l_log_module);
143381 END IF;
143382 END IF;
143383 END IF;
143384 --
143385 --
143386 ------------------------------------------------------------------------------------------------
143387 -- 4219869 Business Flow
143388 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
143389 -- Prior Entry. Currently, the following code is always generated.
143390 ------------------------------------------------------------------------------------------------
143391 XLA_AE_LINES_PKG.ValidateCurrentLine;
143392
143393 ------------------------------------------------------------------------------------
143394 -- 4219869 Business Flow
143395 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
143396 ------------------------------------------------------------------------------------
143397 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143398
143399 ----------------------------------------------------------------------------------
143400 -- 4219869 Business Flow
143401 -- Update journal entry status -- Need to generate this within IF <condition>
143402 ----------------------------------------------------------------------------------
143403 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143404 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
143405 ,p_balance_type_code => l_balance_type_code
143406 );
143407
143408 -------------------------------------------------------------------------------------------
143409 -- 4262811 - Generate the Accrual Reversal lines
143410 -------------------------------------------------------------------------------------------
143411 BEGIN
143412 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
143413 (g_array_event(p_event_id).array_value_num('header_index'));
143414 IF l_acc_rev_flag IS NULL THEN
143415 l_acc_rev_flag := 'N';
143416 END IF;
143417 EXCEPTION
143418 WHEN OTHERS THEN
143419 l_acc_rev_flag := 'N';
143420 END;
143421 --
143425 -- To allow MPA report to determine if it should generate report process
143422 IF (l_acc_rev_flag = 'Y') THEN
143423
143424 -- 4645092 ------------------------------------------------------------------------------
143426 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
143427 ------------------------------------------------------------------------------------------
143428
143429 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
143430 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
143431 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
143432 -- call ADRs
143433 -- Bug 4922099
143434 --
143435 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
143436 (NVL(l_actual_upg_option, 'N') = 'O') OR
143437 (NVL(l_enc_upg_option, 'N') = 'O')
143438 )
143439 THEN
143440 NULL;
143441 --
143442 --
143443
143444 l_ccid := AcctDerRule_41(
143445 p_application_id => p_application_id
143446 , p_ae_header_id => l_ae_header_id
143447 , p_source_38 => p_source_38
143448 , x_transaction_coa_id => l_adr_transaction_coa_id
143449 , x_accounting_coa_id => l_adr_accounting_coa_id
143450 , x_value_type_code => l_adr_value_type_code
143451 , p_side => 'NA'
143452 );
143453
143454 xla_ae_lines_pkg.set_ccid(
143455 p_code_combination_id => l_ccid
143456 , p_value_type_code => l_adr_value_type_code
143457 , p_transaction_coa_id => l_adr_transaction_coa_id
143458 , p_accounting_coa_id => l_adr_accounting_coa_id
143459 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
143460 , p_adr_type_code => 'S'
143461 , p_component_type => l_component_type
143462 , p_component_code => l_component_code
143463 , p_component_type_code => l_component_type_code
143464 , p_component_appl_id => l_component_appl_id
143465 , p_amb_context_code => l_amb_context_code
143466 , p_side => 'NA'
143467 );
143468
143469
143470 --
143471 --
143472 END IF;
143473
143474 --
143475 -- Update the line information that should be overwritten
143476 --
143477 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
143478 p_header_num => 1);
143479 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
143480
143481 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
143482
143483 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
143484 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
143485 END IF;
143486
143487 --
143488 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
143489 --
143490 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
143491 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
143492 ELSE
143493 ---------------------------------------------------------------------------------------------------
143494 -- 4262811a Switch Sign
143495 ---------------------------------------------------------------------------------------------------
143496 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
143497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143498 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143499 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
143500 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143501 -- 5132302
143502 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
143503 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
143504
143505 END IF;
143506
143507 -- 4955764
143508 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143509 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
143510
143511
143512 XLA_AE_LINES_PKG.ValidateCurrentLine;
143513 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
143514
143515 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
143516 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
143517 ,p_balance_type_code => l_balance_type_code);
143518
143519 END IF;
143520
143521 -----------------------------------------------------------------------------------------
143522 -- 4262811 Multiperiod Accounting
143523 -----------------------------------------------------------------------------------------
143524 -- No MPA option is assigned.
143525
143526
143527 END IF;
143528 END IF;
143529 --
143530
143531 --
143532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143533 trace
143534 (p_msg => 'END of AcctLineType_236'
143535 ,p_level => C_LEVEL_PROCEDURE
143536 ,p_module => l_log_module);
143537 END IF;
143538 --
143542 WHEN OTHERS THEN
143539 EXCEPTION
143540 WHEN xla_exceptions_pkg.application_exception THEN
143541 RAISE;
143543 xla_exceptions_pkg.raise_message
143544 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_236');
143545 END AcctLineType_236;
143546 --
143547
143548 ---------------------------------------
143549 --
143550 -- PRIVATE FUNCTION
143551 -- AcctLineType_237
143552 --
143553 ---------------------------------------
143554 PROCEDURE AcctLineType_237 (
143555 p_application_id IN NUMBER
143556 ,p_event_id IN NUMBER
143557 ,p_calculate_acctd_flag IN VARCHAR2
143558 ,p_calculate_g_l_flag IN VARCHAR2
143559 ,p_actual_flag IN OUT VARCHAR2
143560 ,p_balance_type_code OUT VARCHAR2
143561 ,p_gain_or_loss_ref OUT VARCHAR2
143562
143563 --Invoice Distribution Description
143564 , p_source_1 IN VARCHAR2
143565 --Invoice Distribution Ledger Amount
143566 , p_source_9 IN NUMBER
143567 --Invoice Distribution Type
143568 , p_source_21 IN VARCHAR2
143569 , p_source_21_meaning IN VARCHAR2
143570 --Self-Assessed Tax Account
143571 , p_source_38 IN NUMBER
143572 --Accounting Reversal Indicator
143573 , p_source_41 IN VARCHAR2
143574 --Distribution Link Type
143575 , p_source_43 IN VARCHAR2
143576 --Allocation to Main Distribution Identifier
143577 , p_source_45 IN NUMBER
143578 --Invoice Identifier
143579 , p_source_46 IN NUMBER
143580 --Invoice Distribution Identifier
143581 , p_source_52 IN NUMBER
143582 --Payables Encumbrance Upgrade Credit Account
143583 , p_source_53 IN NUMBER
143584 --Payables Encumbrance Upgrade Credit Amount
143585 , p_source_54 IN NUMBER
143586 --Invoice Currency Code
143587 , p_source_55 IN VARCHAR2
143588 --Payables Encumbrance Upgrade Credit Base Amount
143589 , p_source_56 IN NUMBER
143590 --Payables Encumbrance Upgrade Debit Account
143591 , p_source_57 IN NUMBER
143592 --Payables Encumbrance Upgrade Debit Amount
143593 , p_source_58 IN NUMBER
143594 --Payables Encumbrance Upgrade Debit Base Amount
143595 , p_source_59 IN NUMBER
143596 --Payables Encumbrance Upgrade Option
143597 , p_source_60 IN VARCHAR2
143598 --Invoice Distribution Amount
143599 , p_source_61 IN NUMBER
143600 --Deferred Accounting End Date
143601 , p_source_65 IN DATE
143602 --Deferred Accounting Option
143603 , p_source_66 IN VARCHAR2
143604 --Deferred Accounting Start Date
143605 , p_source_67 IN DATE
143606 --Override Accounted Amount Indicator
143607 , p_source_68 IN VARCHAR2
143608 , p_source_68_meaning IN VARCHAR2
143609 --Invoice Supplier Identifier
143610 , p_source_69 IN NUMBER
143611 --Invoice Supplier Site Identifier
143612 , p_source_70 IN NUMBER
143613 --Third Party Type
143614 , p_source_71 IN VARCHAR2
143615 --Parent Reversal Identifier
143616 , p_source_72 IN NUMBER
143617 --Invoice Distribution Statistical Amount
143618 , p_source_73 IN NUMBER
143619 --Invoice Distribution Tax Line Identifier
143620 , p_source_74 IN NUMBER
143621 --Invoice Distribution Tax Distribution Identifier from Tax
143622 , p_source_75 IN NUMBER
143623 --Invoice Distribution Summary Tax Line Identifier
143624 , p_source_76 IN NUMBER
143625 --Payables Upgrade Credit Encumbrance Type Identifier
143626 , p_source_77 IN NUMBER
143627 --Payables Upgrade Debit Encumbrance Type Identifier
143628 , p_source_78 IN NUMBER
143629 --Business Flow Accounts Payable Application Identifier
143630 , p_source_79 IN NUMBER
143631 --Business Flow Invoice Distribution Type
143632 , p_source_80 IN VARCHAR2
143633 --Business Flow Invoice Entity Code
143634 , p_source_81 IN VARCHAR2
143635 --Business Flow Invoice Distribution Identifier
143636 , p_source_82 IN NUMBER
143637 --Business Flow Invoice Identifier
143638 , p_source_83 IN NUMBER
143639 --Accrue on Receipt Option
143640 , p_source_84 IN VARCHAR2
143641 , p_source_84_meaning IN VARCHAR2
143642 --Self-Assessed Tax Flag
143643 , p_source_135 IN VARCHAR2
143644 , p_source_135_meaning IN VARCHAR2
143645 --Invoice Exchange Date
143646 , p_source_136 IN DATE
143647 --Invoice Exchange Rate
143648 , p_source_137 IN NUMBER
143649 --Invoice Exchange Rate Type
143650 , p_source_138 IN VARCHAR2
143651 )
143652 IS
143653
143654 l_component_type VARCHAR2(80);
143655 l_component_code VARCHAR2(30);
143656 l_component_type_code VARCHAR2(1);
143657 l_component_appl_id INTEGER;
143658 l_amb_context_code VARCHAR2(30);
143659 l_entity_code VARCHAR2(30);
143660 l_event_class_code VARCHAR2(30);
143661 l_ae_header_id NUMBER;
143662 l_event_type_code VARCHAR2(30);
143663 l_line_definition_code VARCHAR2(30);
143664 l_line_definition_owner_code VARCHAR2(1);
143665 --
143666 -- adr variables
143667 l_segment VARCHAR2(30);
143668 l_ccid NUMBER;
143669 l_adr_transaction_coa_id NUMBER;
143670 l_adr_accounting_coa_id NUMBER;
143671 l_adr_flexfield_segment_code VARCHAR2(30);
143672 l_adr_flex_value_set_id NUMBER;
143673 l_adr_value_type_code VARCHAR2(30);
143674 l_adr_value_combination_id NUMBER;
143678 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
143675 l_adr_value_segment_code VARCHAR2(30);
143676
143677 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
143679 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
143680 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
143681
143682 -- 4262811 Variables ------------------------------------------------------------------------------------------
143683 l_entered_amt_idx NUMBER;
143684 l_accted_amt_idx NUMBER;
143685 l_acc_rev_flag VARCHAR2(1);
143686 l_accrual_line_num NUMBER;
143687 l_tmp_amt NUMBER;
143688 l_acc_rev_natural_side_code VARCHAR2(1);
143689
143690 l_num_entries NUMBER;
143691 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
143692 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
143693 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
143694 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
143695 l_recog_line_1 NUMBER;
143696 l_recog_line_2 NUMBER;
143697
143698 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
143699 l_bflow_applied_to_amt NUMBER; -- 5132302
143700 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
143701
143702 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
143703
143704 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
143705 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
143706
143707 ---------------------------------------------------------------------------------------------------------------
143708
143709
143710 --
143711 -- bulk performance
143712 --
143713 l_balance_type_code VARCHAR2(1);
143714 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
143715 l_log_module VARCHAR2(240);
143716
143717 --
143718 -- Upgrade strategy
143719 --
143720 l_actual_upg_option VARCHAR2(1);
143721 l_enc_upg_option VARCHAR2(1);
143722
143723 --
143724 BEGIN
143725 --
143726 IF g_log_enabled THEN
143727 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_237';
143728 END IF;
143729 --
143730 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
143731
143732 trace
143733 (p_msg => 'BEGIN of AcctLineType_237'
143734 ,p_level => C_LEVEL_PROCEDURE
143735 ,p_module => l_log_module);
143736
143737 END IF;
143738 --
143739 l_component_type := 'AMB_JLT';
143740 l_component_code := 'AP_SELF_ASSESSED_NON_REC_CM';
143741 l_component_type_code := 'S';
143742 l_component_appl_id := 200;
143743 l_amb_context_code := 'DEFAULT';
143744 l_entity_code := 'AP_INVOICES';
143745 l_event_class_code := 'CREDIT MEMOS';
143746 l_event_type_code := 'CREDIT MEMOS_ALL';
143747 l_line_definition_owner_code := 'S';
143748 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
143749 --
143750 l_balance_type_code := 'A';
143751 l_segment := NULL;
143752 l_ccid := NULL;
143753 l_adr_transaction_coa_id := NULL;
143754 l_adr_accounting_coa_id := NULL;
143755 l_adr_flexfield_segment_code := NULL;
143756 l_adr_flex_value_set_id := NULL;
143757 l_adr_value_type_code := NULL;
143758 l_adr_value_combination_id := NULL;
143759 l_adr_value_segment_code := NULL;
143760
143761 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
143762 l_bflow_class_code := ''; -- 4219869 Business Flow
143763 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
143764 l_budgetary_control_flag := 'N';
143765
143766 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143767 l_bflow_applied_to_amt := NULL; -- 5132302
143768 l_entered_amt_idx := NULL; -- 4262811
143769 l_accted_amt_idx := NULL; -- 4262811
143770 l_acc_rev_flag := NULL; -- 4262811
143771 l_accrual_line_num := NULL; -- 4262811
143772 l_tmp_amt := NULL; -- 4262811
143773 --
143774
143775 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
143776 l_balance_type_code <> 'B' THEN
143777 IF (NVL(p_source_21,'
143778 ') = 'NONREC_TAX' OR
143779 NVL(p_source_21,'
143780 ') = 'TERV' OR
143781 NVL(p_source_21,'
143782 ') = 'TIPV' OR
143783 NVL(p_source_21,'
143784 ') = 'TRV') AND
143785 NVL(p_source_84,'
143786 ') <> 'Y' AND
143787 NVL(p_source_135,'
143788 ') = 'Y'
143789 THEN
143790
143791 --
143792 XLA_AE_LINES_PKG.SetNewLine;
143793
143794 p_balance_type_code := l_balance_type_code;
143795 -- set the flag so later we will know whether the gain loss line needs to be created
143796
143797 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
143798 p_actual_flag :='A';
143799 END IF;
143800
143801 --
143802 -- bulk performance
143803 --
143804 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
143805 p_header_num => 0); -- 4262811
143806 --
143807 -- set accounting line options
143811 , p_gain_or_loss_flag => 'N'
143808 --
143809 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
143810 p_natural_side_code => 'D'
143812 , p_gl_transfer_mode_code => 'S'
143813 , p_acct_entry_type_code => 'A'
143814 , p_switch_side_flag => 'Y'
143815 , p_merge_duplicate_code => 'A'
143816 );
143817 --
143818 l_acc_rev_natural_side_code := 'C'; -- 4262811
143819 --
143820 --
143821 -- set accounting line type info
143822 --
143823 xla_ae_lines_pkg.SetAcctLineType
143824 (p_component_type => l_component_type
143825 ,p_event_type_code => l_event_type_code
143826 ,p_line_definition_owner_code => l_line_definition_owner_code
143827 ,p_line_definition_code => l_line_definition_code
143828 ,p_accounting_line_code => l_component_code
143829 ,p_accounting_line_type_code => l_component_type_code
143830 ,p_accounting_line_appl_id => l_component_appl_id
143831 ,p_amb_context_code => l_amb_context_code
143832 ,p_entity_code => l_entity_code
143833 ,p_event_class_code => l_event_class_code);
143834 --
143835 -- set accounting class
143836 --
143837 xla_ae_lines_pkg.SetAcctClass(
143838 p_accounting_class_code => 'SELF_ASSESSED_TAX'
143839 , p_ae_header_id => l_ae_header_id
143840 );
143841
143842 --
143843 -- set rounding class
143844 --
143845 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
143846 'SELF_ASSESSED_TAX';
143847
143848 --
143849 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
143850 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
143851 --
143852 -- bulk performance
143853 --
143854 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
143855
143856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
143857 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
143858
143859 -- 4955764
143860 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
143861 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
143862
143863 -- 4458381 Public Sector Enh
143864
143865 --
143866 -- set accounting attributes for the line type
143867 --
143868 l_entered_amt_idx := 23;
143869 l_accted_amt_idx := 28;
143870 l_bflow_applied_to_amt_idx := NULL; -- 5132302
143871 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
143872 l_rec_acct_attrs.array_char_value(1) := p_source_41;
143873 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
143874 l_rec_acct_attrs.array_num_value(2) :=
143875 xla_ae_sources_pkg.GetSystemSourceNum(
143876 p_source_code => 'XLA_EVENT_APPL_ID'
143877 , p_source_type_code => 'Y'
143878 , p_source_application_id => 602
143879 );
143880 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
143881 l_rec_acct_attrs.array_char_value(3) := p_source_43;
143882 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
143883 l_rec_acct_attrs.array_char_value(4) :=
143884 xla_ae_sources_pkg.GetSystemSourceChar(
143885 p_source_code => 'XLA_ENTITY_CODE'
143886 , p_source_type_code => 'Y'
143887 , p_source_application_id => 602
143888 );
143889 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
143890 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
143891 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
143892 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
143893 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
143894 l_rec_acct_attrs.array_num_value(7) := p_source_79;
143895 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
143896 l_rec_acct_attrs.array_char_value(8) := p_source_80;
143897 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
143898 l_rec_acct_attrs.array_char_value(9) := p_source_81;
143899 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
143900 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
143901 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
143902 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
143903 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
143904 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
143905 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
143906 l_rec_acct_attrs.array_char_value(13) := p_source_43;
143907 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
143908 l_rec_acct_attrs.array_num_value(14) := p_source_53;
143909 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
143910 l_rec_acct_attrs.array_num_value(15) := p_source_54;
143911 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
143912 l_rec_acct_attrs.array_char_value(16) := p_source_55;
143913 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
143914 l_rec_acct_attrs.array_num_value(17) := p_source_56;
143918 l_rec_acct_attrs.array_num_value(19) := p_source_58;
143915 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
143916 l_rec_acct_attrs.array_num_value(18) := p_source_57;
143917 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
143919 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
143920 l_rec_acct_attrs.array_char_value(20) := p_source_55;
143921 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
143922 l_rec_acct_attrs.array_num_value(21) := p_source_59;
143923 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
143924 l_rec_acct_attrs.array_char_value(22) := p_source_60;
143925 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
143926 l_rec_acct_attrs.array_num_value(23) := p_source_61;
143927 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
143928 l_rec_acct_attrs.array_char_value(24) := p_source_55;
143929 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
143930 l_rec_acct_attrs.array_date_value(25) := p_source_136;
143931 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
143932 l_rec_acct_attrs.array_num_value(26) := p_source_137;
143933 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
143934 l_rec_acct_attrs.array_char_value(27) := p_source_138;
143935 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
143936 l_rec_acct_attrs.array_num_value(28) := p_source_9;
143937 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
143938 l_rec_acct_attrs.array_date_value(29) := p_source_65;
143939 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
143940 l_rec_acct_attrs.array_char_value(30) := p_source_66;
143941 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
143942 l_rec_acct_attrs.array_date_value(31) := p_source_67;
143943 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
143944 l_rec_acct_attrs.array_char_value(32) := p_source_68;
143945 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
143946 l_rec_acct_attrs.array_num_value(33) := p_source_69;
143947 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
143948 l_rec_acct_attrs.array_num_value(34) := p_source_70;
143949 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
143950 l_rec_acct_attrs.array_char_value(35) := p_source_71;
143951 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
143952 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
143953 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
143954 l_rec_acct_attrs.array_char_value(37) := p_source_43;
143955 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
143956 l_rec_acct_attrs.array_num_value(38) := p_source_73;
143957 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
143958 l_rec_acct_attrs.array_num_value(39) := p_source_74;
143959 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
143960 l_rec_acct_attrs.array_num_value(40) := p_source_75;
143961 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
143962 l_rec_acct_attrs.array_num_value(41) := p_source_76;
143963 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
143964 l_rec_acct_attrs.array_num_value(42) := p_source_77;
143965 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
143966 l_rec_acct_attrs.array_num_value(43) := p_source_78;
143967
143968 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
143969 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
143970
143971 ---------------------------------------------------------------------------------------------------------------
143972 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
143973 ---------------------------------------------------------------------------------------------------------------
143974 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
143975
143976 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143977 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
143978
143979 IF xla_accounting_cache_pkg.GetValueChar
143980 (p_source_code => 'LEDGER_CATEGORY_CODE'
143981 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
143982 AND l_bflow_method_code = 'PRIOR_ENTRY'
143983 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
143984 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
143985 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
143986 )
143987 THEN
143988 xla_ae_lines_pkg.BflowUpgEntry
143989 (p_business_method_code => l_bflow_method_code
143990 ,p_business_class_code => l_bflow_class_code
143991 ,p_balance_type => l_balance_type_code);
143992 ELSE
143993 NULL;
143994 -- No business flow processing for business flow method of NONE.
143995 END IF;
143996
143997 --
143998 -- call analytical criteria
143999 --
144000
144001 --
144002 -- call description
144003 --
144004
144005 xla_ae_lines_pkg.SetLineDescription(
144006 p_ae_header_id => l_ae_header_id
144007 ,p_description => Description_2 (
144011 )
144008 p_application_id => p_application_id
144009 , p_ae_header_id => l_ae_header_id
144010 , p_source_1 => p_source_1
144012 );
144013
144014
144015 --
144016 -- call ADRs
144017 -- Bug 4922099
144018 --
144019 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
144020 (NVL(l_actual_upg_option, 'N') = 'O') OR
144021 (NVL(l_enc_upg_option, 'N') = 'O')
144022 )
144023 THEN
144024 NULL;
144025 --
144026 --
144027
144028 l_ccid := AcctDerRule_41(
144029 p_application_id => p_application_id
144030 , p_ae_header_id => l_ae_header_id
144031 , p_source_38 => p_source_38
144032 , x_transaction_coa_id => l_adr_transaction_coa_id
144033 , x_accounting_coa_id => l_adr_accounting_coa_id
144034 , x_value_type_code => l_adr_value_type_code
144035 , p_side => 'NA'
144036 );
144037
144038 xla_ae_lines_pkg.set_ccid(
144039 p_code_combination_id => l_ccid
144040 , p_value_type_code => l_adr_value_type_code
144041 , p_transaction_coa_id => l_adr_transaction_coa_id
144042 , p_accounting_coa_id => l_adr_accounting_coa_id
144043 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
144044 , p_adr_type_code => 'S'
144045 , p_component_type => l_component_type
144046 , p_component_code => l_component_code
144047 , p_component_type_code => l_component_type_code
144048 , p_component_appl_id => l_component_appl_id
144049 , p_amb_context_code => l_amb_context_code
144050 , p_side => 'NA'
144051 );
144052
144053
144054 --
144055 --
144056 END IF;
144057 --
144058 -- Bug 4922099
144059 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
144060 (NVL(l_enc_upg_option, 'N') = 'O')
144061 ) AND
144062 (l_bflow_method_code = 'PRIOR_ENTRY')
144063 )
144064 THEN
144065 IF
144066 --
144067 1 = 2
144068 --
144069 THEN
144070 xla_accounting_err_pkg.build_message
144071 (p_appli_s_name => 'XLA'
144072 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
144073 ,p_token_1 => 'LINE_NUMBER'
144074 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
144075 ,p_token_2 => 'LINE_TYPE_NAME'
144076 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
144077 l_component_type
144078 ,l_component_code
144079 ,l_component_type_code
144080 ,l_component_appl_id
144081 ,l_amb_context_code
144082 ,l_entity_code
144083 ,l_event_class_code
144084 )
144085 ,p_token_3 => 'OWNER'
144086 ,p_value_3 => xla_lookups_pkg.get_meaning(
144087 p_lookup_type => 'XLA_OWNER_TYPE'
144088 ,p_lookup_code => l_component_type_code
144089 )
144090 ,p_token_4 => 'PRODUCT_NAME'
144091 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
144092 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
144093 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
144094 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
144095 ,p_ae_header_id => NULL
144096 );
144097
144098 IF (C_LEVEL_ERROR>= g_log_level) THEN
144099 trace
144100 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
144101 ,p_level => C_LEVEL_ERROR
144102 ,p_module => l_log_module);
144103 END IF;
144104 END IF;
144105 END IF;
144106 --
144107 --
144108 ------------------------------------------------------------------------------------------------
144109 -- 4219869 Business Flow
144110 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
144111 -- Prior Entry. Currently, the following code is always generated.
144112 ------------------------------------------------------------------------------------------------
144113 XLA_AE_LINES_PKG.ValidateCurrentLine;
144114
144115 ------------------------------------------------------------------------------------
144116 -- 4219869 Business Flow
144120
144117 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
144118 ------------------------------------------------------------------------------------
144119 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144121 ----------------------------------------------------------------------------------
144122 -- 4219869 Business Flow
144123 -- Update journal entry status -- Need to generate this within IF <condition>
144124 ----------------------------------------------------------------------------------
144125 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144126 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
144127 ,p_balance_type_code => l_balance_type_code
144128 );
144129
144130 -------------------------------------------------------------------------------------------
144131 -- 4262811 - Generate the Accrual Reversal lines
144132 -------------------------------------------------------------------------------------------
144133 BEGIN
144134 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
144135 (g_array_event(p_event_id).array_value_num('header_index'));
144136 IF l_acc_rev_flag IS NULL THEN
144137 l_acc_rev_flag := 'N';
144138 END IF;
144139 EXCEPTION
144140 WHEN OTHERS THEN
144141 l_acc_rev_flag := 'N';
144142 END;
144143 --
144144 IF (l_acc_rev_flag = 'Y') THEN
144145
144146 -- 4645092 ------------------------------------------------------------------------------
144147 -- To allow MPA report to determine if it should generate report process
144148 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
144149 ------------------------------------------------------------------------------------------
144150
144151 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
144152 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
144153 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
144154 -- call ADRs
144155 -- Bug 4922099
144156 --
144157 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
144158 (NVL(l_actual_upg_option, 'N') = 'O') OR
144159 (NVL(l_enc_upg_option, 'N') = 'O')
144160 )
144161 THEN
144162 NULL;
144163 --
144164 --
144165
144166 l_ccid := AcctDerRule_41(
144167 p_application_id => p_application_id
144168 , p_ae_header_id => l_ae_header_id
144169 , p_source_38 => p_source_38
144170 , x_transaction_coa_id => l_adr_transaction_coa_id
144171 , x_accounting_coa_id => l_adr_accounting_coa_id
144172 , x_value_type_code => l_adr_value_type_code
144173 , p_side => 'NA'
144174 );
144175
144176 xla_ae_lines_pkg.set_ccid(
144177 p_code_combination_id => l_ccid
144178 , p_value_type_code => l_adr_value_type_code
144179 , p_transaction_coa_id => l_adr_transaction_coa_id
144180 , p_accounting_coa_id => l_adr_accounting_coa_id
144181 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
144182 , p_adr_type_code => 'S'
144183 , p_component_type => l_component_type
144184 , p_component_code => l_component_code
144185 , p_component_type_code => l_component_type_code
144186 , p_component_appl_id => l_component_appl_id
144187 , p_amb_context_code => l_amb_context_code
144188 , p_side => 'NA'
144189 );
144190
144191
144192 --
144193 --
144194 END IF;
144195
144196 --
144197 -- Update the line information that should be overwritten
144198 --
144199 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
144200 p_header_num => 1);
144201 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
144202
144203 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
144204
144205 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
144206 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
144207 END IF;
144208
144209 --
144210 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
144211 --
144212 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
144213 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
144214 ELSE
144215 ---------------------------------------------------------------------------------------------------
144216 -- 4262811a Switch Sign
144217 ---------------------------------------------------------------------------------------------------
144218 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
144219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144220 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144221 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144222 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144223 -- 5132302
144227 END IF;
144224 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
144225 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144226
144228
144229 -- 4955764
144230 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
144231 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
144232
144233
144234 XLA_AE_LINES_PKG.ValidateCurrentLine;
144235 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144236
144237 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144238 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
144239 ,p_balance_type_code => l_balance_type_code);
144240
144241 END IF;
144242
144243 -----------------------------------------------------------------------------------------
144244 -- 4262811 Multiperiod Accounting
144245 -----------------------------------------------------------------------------------------
144246 -- No MPA option is assigned.
144247
144248
144249 END IF;
144250 END IF;
144251 --
144252
144253 --
144254 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144255 trace
144256 (p_msg => 'END of AcctLineType_237'
144257 ,p_level => C_LEVEL_PROCEDURE
144258 ,p_module => l_log_module);
144259 END IF;
144260 --
144261 EXCEPTION
144262 WHEN xla_exceptions_pkg.application_exception THEN
144263 RAISE;
144264 WHEN OTHERS THEN
144265 xla_exceptions_pkg.raise_message
144266 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_237');
144267 END AcctLineType_237;
144268 --
144269
144270 ---------------------------------------
144271 --
144272 -- PRIVATE FUNCTION
144273 -- AcctLineType_238
144274 --
144275 ---------------------------------------
144276 PROCEDURE AcctLineType_238 (
144277 p_application_id IN NUMBER
144278 ,p_event_id IN NUMBER
144279 ,p_calculate_acctd_flag IN VARCHAR2
144280 ,p_calculate_g_l_flag IN VARCHAR2
144281 ,p_actual_flag IN OUT VARCHAR2
144282 ,p_balance_type_code OUT VARCHAR2
144283 ,p_gain_or_loss_ref OUT VARCHAR2
144284
144285 --Invoice Distribution Description
144286 , p_source_1 IN VARCHAR2
144287 --Invoice Distribution Ledger Amount
144288 , p_source_9 IN NUMBER
144289 --Invoice Distribution Type
144290 , p_source_21 IN VARCHAR2
144291 , p_source_21_meaning IN VARCHAR2
144292 --Self-Assessed Tax Account
144293 , p_source_38 IN NUMBER
144294 --Accounting Reversal Indicator
144295 , p_source_41 IN VARCHAR2
144296 --Distribution Link Type
144297 , p_source_43 IN VARCHAR2
144298 --Allocation to Main Distribution Identifier
144299 , p_source_45 IN NUMBER
144300 --Invoice Identifier
144301 , p_source_46 IN NUMBER
144302 --Invoice Distribution Identifier
144303 , p_source_52 IN NUMBER
144304 --Payables Encumbrance Upgrade Credit Account
144305 , p_source_53 IN NUMBER
144306 --Payables Encumbrance Upgrade Credit Amount
144307 , p_source_54 IN NUMBER
144308 --Invoice Currency Code
144309 , p_source_55 IN VARCHAR2
144310 --Payables Encumbrance Upgrade Credit Base Amount
144311 , p_source_56 IN NUMBER
144312 --Payables Encumbrance Upgrade Debit Account
144313 , p_source_57 IN NUMBER
144314 --Payables Encumbrance Upgrade Debit Amount
144315 , p_source_58 IN NUMBER
144316 --Payables Encumbrance Upgrade Debit Base Amount
144317 , p_source_59 IN NUMBER
144318 --Payables Encumbrance Upgrade Option
144319 , p_source_60 IN VARCHAR2
144320 --Invoice Distribution Amount
144321 , p_source_61 IN NUMBER
144322 --Deferred Accounting End Date
144323 , p_source_65 IN DATE
144324 --Deferred Accounting Option
144325 , p_source_66 IN VARCHAR2
144326 --Deferred Accounting Start Date
144327 , p_source_67 IN DATE
144328 --Override Accounted Amount Indicator
144329 , p_source_68 IN VARCHAR2
144330 , p_source_68_meaning IN VARCHAR2
144331 --Invoice Supplier Identifier
144332 , p_source_69 IN NUMBER
144333 --Invoice Supplier Site Identifier
144334 , p_source_70 IN NUMBER
144335 --Third Party Type
144336 , p_source_71 IN VARCHAR2
144337 --Parent Reversal Identifier
144338 , p_source_72 IN NUMBER
144339 --Invoice Distribution Tax Line Identifier
144340 , p_source_74 IN NUMBER
144341 --Invoice Distribution Tax Distribution Identifier from Tax
144342 , p_source_75 IN NUMBER
144343 --Invoice Distribution Summary Tax Line Identifier
144344 , p_source_76 IN NUMBER
144345 --Payables Upgrade Credit Encumbrance Type Identifier
144346 , p_source_77 IN NUMBER
144347 --Payables Upgrade Debit Encumbrance Type Identifier
144348 , p_source_78 IN NUMBER
144349 --Business Flow Accounts Payable Application Identifier
144350 , p_source_79 IN NUMBER
144351 --Business Flow Invoice Distribution Type
144352 , p_source_80 IN VARCHAR2
144353 --Business Flow Invoice Entity Code
144354 , p_source_81 IN VARCHAR2
144355 --Business Flow Invoice Distribution Identifier
144356 , p_source_82 IN NUMBER
144357 --Business Flow Invoice Identifier
144361 , p_source_84_meaning IN VARCHAR2
144358 , p_source_83 IN NUMBER
144359 --Accrue on Receipt Option
144360 , p_source_84 IN VARCHAR2
144362 --Self-Assessed Tax Flag
144363 , p_source_135 IN VARCHAR2
144364 , p_source_135_meaning IN VARCHAR2
144365 --Invoice Exchange Date
144366 , p_source_136 IN DATE
144367 --Invoice Exchange Rate
144368 , p_source_137 IN NUMBER
144369 --Invoice Exchange Rate Type
144370 , p_source_138 IN VARCHAR2
144371 )
144372 IS
144373
144374 l_component_type VARCHAR2(80);
144375 l_component_code VARCHAR2(30);
144376 l_component_type_code VARCHAR2(1);
144377 l_component_appl_id INTEGER;
144378 l_amb_context_code VARCHAR2(30);
144379 l_entity_code VARCHAR2(30);
144380 l_event_class_code VARCHAR2(30);
144381 l_ae_header_id NUMBER;
144382 l_event_type_code VARCHAR2(30);
144383 l_line_definition_code VARCHAR2(30);
144384 l_line_definition_owner_code VARCHAR2(1);
144385 --
144386 -- adr variables
144387 l_segment VARCHAR2(30);
144388 l_ccid NUMBER;
144389 l_adr_transaction_coa_id NUMBER;
144390 l_adr_accounting_coa_id NUMBER;
144391 l_adr_flexfield_segment_code VARCHAR2(30);
144392 l_adr_flex_value_set_id NUMBER;
144393 l_adr_value_type_code VARCHAR2(30);
144394 l_adr_value_combination_id NUMBER;
144395 l_adr_value_segment_code VARCHAR2(30);
144396
144397 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
144398 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
144399 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
144400 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
144401
144402 -- 4262811 Variables ------------------------------------------------------------------------------------------
144403 l_entered_amt_idx NUMBER;
144404 l_accted_amt_idx NUMBER;
144405 l_acc_rev_flag VARCHAR2(1);
144406 l_accrual_line_num NUMBER;
144407 l_tmp_amt NUMBER;
144408 l_acc_rev_natural_side_code VARCHAR2(1);
144409
144410 l_num_entries NUMBER;
144411 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
144412 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
144413 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
144414 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
144415 l_recog_line_1 NUMBER;
144416 l_recog_line_2 NUMBER;
144417
144418 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
144419 l_bflow_applied_to_amt NUMBER; -- 5132302
144420 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
144421
144422 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
144423
144424 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
144425 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
144426
144427 ---------------------------------------------------------------------------------------------------------------
144428
144429
144430 --
144431 -- bulk performance
144432 --
144433 l_balance_type_code VARCHAR2(1);
144434 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
144435 l_log_module VARCHAR2(240);
144436
144437 --
144438 -- Upgrade strategy
144439 --
144440 l_actual_upg_option VARCHAR2(1);
144441 l_enc_upg_option VARCHAR2(1);
144442
144443 --
144444 BEGIN
144445 --
144446 IF g_log_enabled THEN
144447 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_238';
144448 END IF;
144449 --
144450 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144451
144452 trace
144453 (p_msg => 'BEGIN of AcctLineType_238'
144454 ,p_level => C_LEVEL_PROCEDURE
144455 ,p_module => l_log_module);
144456
144457 END IF;
144458 --
144459 l_component_type := 'AMB_JLT';
144460 l_component_code := 'AP_SELF_ASSESSED_NON_REC_DM';
144461 l_component_type_code := 'S';
144462 l_component_appl_id := 200;
144463 l_amb_context_code := 'DEFAULT';
144464 l_entity_code := 'AP_INVOICES';
144465 l_event_class_code := 'DEBIT MEMOS';
144466 l_event_type_code := 'DEBIT MEMOS_ALL';
144467 l_line_definition_owner_code := 'S';
144468 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
144469 --
144470 l_balance_type_code := 'A';
144471 l_segment := NULL;
144472 l_ccid := NULL;
144473 l_adr_transaction_coa_id := NULL;
144474 l_adr_accounting_coa_id := NULL;
144475 l_adr_flexfield_segment_code := NULL;
144476 l_adr_flex_value_set_id := NULL;
144477 l_adr_value_type_code := NULL;
144478 l_adr_value_combination_id := NULL;
144479 l_adr_value_segment_code := NULL;
144480
144481 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
144482 l_bflow_class_code := ''; -- 4219869 Business Flow
144483 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
144484 l_budgetary_control_flag := 'N';
144485
144486 l_bflow_applied_to_amt_idx := NULL; -- 5132302
144487 l_bflow_applied_to_amt := NULL; -- 5132302
144488 l_entered_amt_idx := NULL; -- 4262811
144492 l_tmp_amt := NULL; -- 4262811
144489 l_accted_amt_idx := NULL; -- 4262811
144490 l_acc_rev_flag := NULL; -- 4262811
144491 l_accrual_line_num := NULL; -- 4262811
144493 --
144494
144495 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
144496 l_balance_type_code <> 'B' THEN
144497 IF (NVL(p_source_21,'
144498 ') = 'NONREC_TAX' OR
144499 NVL(p_source_21,'
144500 ') = 'TERV' OR
144501 NVL(p_source_21,'
144502 ') = 'TIPV' OR
144503 NVL(p_source_21,'
144504 ') = 'TRV') AND
144505 NVL(p_source_84,'
144506 ') <> 'Y' AND
144507 NVL(p_source_135,'
144508 ') = 'Y'
144509 THEN
144510
144511 --
144512 XLA_AE_LINES_PKG.SetNewLine;
144513
144514 p_balance_type_code := l_balance_type_code;
144515 -- set the flag so later we will know whether the gain loss line needs to be created
144516
144517 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
144518 p_actual_flag :='A';
144519 END IF;
144520
144521 --
144522 -- bulk performance
144523 --
144524 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
144525 p_header_num => 0); -- 4262811
144526 --
144527 -- set accounting line options
144528 --
144529 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
144530 p_natural_side_code => 'D'
144531 , p_gain_or_loss_flag => 'N'
144532 , p_gl_transfer_mode_code => 'S'
144533 , p_acct_entry_type_code => 'A'
144534 , p_switch_side_flag => 'Y'
144535 , p_merge_duplicate_code => 'A'
144536 );
144537 --
144538 l_acc_rev_natural_side_code := 'C'; -- 4262811
144539 --
144540 --
144541 -- set accounting line type info
144542 --
144543 xla_ae_lines_pkg.SetAcctLineType
144544 (p_component_type => l_component_type
144545 ,p_event_type_code => l_event_type_code
144546 ,p_line_definition_owner_code => l_line_definition_owner_code
144547 ,p_line_definition_code => l_line_definition_code
144548 ,p_accounting_line_code => l_component_code
144549 ,p_accounting_line_type_code => l_component_type_code
144550 ,p_accounting_line_appl_id => l_component_appl_id
144551 ,p_amb_context_code => l_amb_context_code
144552 ,p_entity_code => l_entity_code
144553 ,p_event_class_code => l_event_class_code);
144554 --
144555 -- set accounting class
144556 --
144557 xla_ae_lines_pkg.SetAcctClass(
144558 p_accounting_class_code => 'SELF_ASSESSED_TAX'
144559 , p_ae_header_id => l_ae_header_id
144560 );
144561
144562 --
144563 -- set rounding class
144564 --
144565 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
144566 'SELF_ASSESSED_TAX';
144567
144568 --
144569 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
144570 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
144571 --
144572 -- bulk performance
144573 --
144574 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
144575
144576 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
144577 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
144578
144579 -- 4955764
144580 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
144581 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
144582
144583 -- 4458381 Public Sector Enh
144584
144585 --
144586 -- set accounting attributes for the line type
144587 --
144588 l_entered_amt_idx := 23;
144589 l_accted_amt_idx := 28;
144590 l_bflow_applied_to_amt_idx := NULL; -- 5132302
144591 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
144592 l_rec_acct_attrs.array_char_value(1) := p_source_41;
144593 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
144594 l_rec_acct_attrs.array_num_value(2) :=
144595 xla_ae_sources_pkg.GetSystemSourceNum(
144596 p_source_code => 'XLA_EVENT_APPL_ID'
144597 , p_source_type_code => 'Y'
144598 , p_source_application_id => 602
144599 );
144600 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
144601 l_rec_acct_attrs.array_char_value(3) := p_source_43;
144602 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
144603 l_rec_acct_attrs.array_char_value(4) :=
144604 xla_ae_sources_pkg.GetSystemSourceChar(
144605 p_source_code => 'XLA_ENTITY_CODE'
144606 , p_source_type_code => 'Y'
144607 , p_source_application_id => 602
144608 );
144609 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
144610 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
144611 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
144612 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
144613 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
144617 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
144614 l_rec_acct_attrs.array_num_value(7) := p_source_79;
144615 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
144616 l_rec_acct_attrs.array_char_value(8) := p_source_80;
144618 l_rec_acct_attrs.array_char_value(9) := p_source_81;
144619 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
144620 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
144621 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
144622 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
144623 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
144624 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
144625 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
144626 l_rec_acct_attrs.array_char_value(13) := p_source_43;
144627 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
144628 l_rec_acct_attrs.array_num_value(14) := p_source_53;
144629 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
144630 l_rec_acct_attrs.array_num_value(15) := p_source_54;
144631 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
144632 l_rec_acct_attrs.array_char_value(16) := p_source_55;
144633 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
144634 l_rec_acct_attrs.array_num_value(17) := p_source_56;
144635 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
144636 l_rec_acct_attrs.array_num_value(18) := p_source_57;
144637 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
144638 l_rec_acct_attrs.array_num_value(19) := p_source_58;
144639 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
144640 l_rec_acct_attrs.array_char_value(20) := p_source_55;
144641 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
144642 l_rec_acct_attrs.array_num_value(21) := p_source_59;
144643 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
144644 l_rec_acct_attrs.array_char_value(22) := p_source_60;
144645 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
144646 l_rec_acct_attrs.array_num_value(23) := p_source_61;
144647 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
144648 l_rec_acct_attrs.array_char_value(24) := p_source_55;
144649 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
144650 l_rec_acct_attrs.array_date_value(25) := p_source_136;
144651 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
144652 l_rec_acct_attrs.array_num_value(26) := p_source_137;
144653 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
144654 l_rec_acct_attrs.array_char_value(27) := p_source_138;
144655 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
144656 l_rec_acct_attrs.array_num_value(28) := p_source_9;
144657 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
144658 l_rec_acct_attrs.array_date_value(29) := p_source_65;
144659 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
144660 l_rec_acct_attrs.array_char_value(30) := p_source_66;
144661 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
144662 l_rec_acct_attrs.array_date_value(31) := p_source_67;
144663 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
144664 l_rec_acct_attrs.array_char_value(32) := p_source_68;
144665 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
144666 l_rec_acct_attrs.array_num_value(33) := p_source_69;
144667 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
144668 l_rec_acct_attrs.array_num_value(34) := p_source_70;
144669 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
144670 l_rec_acct_attrs.array_char_value(35) := p_source_71;
144671 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
144672 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
144673 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
144674 l_rec_acct_attrs.array_char_value(37) := p_source_43;
144675 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
144676 l_rec_acct_attrs.array_num_value(38) := p_source_74;
144677 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
144678 l_rec_acct_attrs.array_num_value(39) := p_source_75;
144679 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
144680 l_rec_acct_attrs.array_num_value(40) := p_source_76;
144681 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
144682 l_rec_acct_attrs.array_num_value(41) := p_source_77;
144683 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
144684 l_rec_acct_attrs.array_num_value(42) := p_source_78;
144685
144686 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
144687 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
144688
144689 ---------------------------------------------------------------------------------------------------------------
144690 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
144691 ---------------------------------------------------------------------------------------------------------------
144692 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
144693
144694 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
144698 (p_source_code => 'LEDGER_CATEGORY_CODE'
144695 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
144696
144697 IF xla_accounting_cache_pkg.GetValueChar
144699 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
144700 AND l_bflow_method_code = 'PRIOR_ENTRY'
144701 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
144702 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
144703 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
144704 )
144705 THEN
144706 xla_ae_lines_pkg.BflowUpgEntry
144707 (p_business_method_code => l_bflow_method_code
144708 ,p_business_class_code => l_bflow_class_code
144709 ,p_balance_type => l_balance_type_code);
144710 ELSE
144711 NULL;
144712 -- No business flow processing for business flow method of NONE.
144713 END IF;
144714
144715 --
144716 -- call analytical criteria
144717 --
144718
144719 --
144720 -- call description
144721 --
144722
144723 xla_ae_lines_pkg.SetLineDescription(
144724 p_ae_header_id => l_ae_header_id
144725 ,p_description => Description_2 (
144726 p_application_id => p_application_id
144727 , p_ae_header_id => l_ae_header_id
144728 , p_source_1 => p_source_1
144729 )
144730 );
144731
144732
144733 --
144734 -- call ADRs
144735 -- Bug 4922099
144736 --
144737 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
144738 (NVL(l_actual_upg_option, 'N') = 'O') OR
144739 (NVL(l_enc_upg_option, 'N') = 'O')
144740 )
144741 THEN
144742 NULL;
144743 --
144744 --
144745
144746 l_ccid := AcctDerRule_41(
144747 p_application_id => p_application_id
144748 , p_ae_header_id => l_ae_header_id
144749 , p_source_38 => p_source_38
144750 , x_transaction_coa_id => l_adr_transaction_coa_id
144751 , x_accounting_coa_id => l_adr_accounting_coa_id
144752 , x_value_type_code => l_adr_value_type_code
144753 , p_side => 'NA'
144754 );
144755
144756 xla_ae_lines_pkg.set_ccid(
144757 p_code_combination_id => l_ccid
144758 , p_value_type_code => l_adr_value_type_code
144759 , p_transaction_coa_id => l_adr_transaction_coa_id
144760 , p_accounting_coa_id => l_adr_accounting_coa_id
144761 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
144762 , p_adr_type_code => 'S'
144763 , p_component_type => l_component_type
144764 , p_component_code => l_component_code
144765 , p_component_type_code => l_component_type_code
144766 , p_component_appl_id => l_component_appl_id
144767 , p_amb_context_code => l_amb_context_code
144768 , p_side => 'NA'
144769 );
144770
144771
144772 --
144773 --
144774 END IF;
144775 --
144776 -- Bug 4922099
144777 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
144778 (NVL(l_enc_upg_option, 'N') = 'O')
144779 ) AND
144780 (l_bflow_method_code = 'PRIOR_ENTRY')
144781 )
144782 THEN
144783 IF
144784 --
144785 1 = 2
144786 --
144787 THEN
144788 xla_accounting_err_pkg.build_message
144789 (p_appli_s_name => 'XLA'
144790 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
144791 ,p_token_1 => 'LINE_NUMBER'
144792 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
144793 ,p_token_2 => 'LINE_TYPE_NAME'
144794 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
144795 l_component_type
144796 ,l_component_code
144797 ,l_component_type_code
144798 ,l_component_appl_id
144799 ,l_amb_context_code
144800 ,l_entity_code
144801 ,l_event_class_code
144802 )
144803 ,p_token_3 => 'OWNER'
144804 ,p_value_3 => xla_lookups_pkg.get_meaning(
144805 p_lookup_type => 'XLA_OWNER_TYPE'
144806 ,p_lookup_code => l_component_type_code
144807 )
144808 ,p_token_4 => 'PRODUCT_NAME'
144809 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
144813 ,p_ae_header_id => NULL
144810 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
144811 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
144812 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
144814 );
144815
144816 IF (C_LEVEL_ERROR>= g_log_level) THEN
144817 trace
144818 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
144819 ,p_level => C_LEVEL_ERROR
144820 ,p_module => l_log_module);
144821 END IF;
144822 END IF;
144823 END IF;
144824 --
144825 --
144826 ------------------------------------------------------------------------------------------------
144827 -- 4219869 Business Flow
144828 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
144829 -- Prior Entry. Currently, the following code is always generated.
144830 ------------------------------------------------------------------------------------------------
144831 XLA_AE_LINES_PKG.ValidateCurrentLine;
144832
144833 ------------------------------------------------------------------------------------
144834 -- 4219869 Business Flow
144835 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
144836 ------------------------------------------------------------------------------------
144837 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144838
144839 ----------------------------------------------------------------------------------
144840 -- 4219869 Business Flow
144841 -- Update journal entry status -- Need to generate this within IF <condition>
144842 ----------------------------------------------------------------------------------
144843 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144844 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
144845 ,p_balance_type_code => l_balance_type_code
144846 );
144847
144848 -------------------------------------------------------------------------------------------
144849 -- 4262811 - Generate the Accrual Reversal lines
144850 -------------------------------------------------------------------------------------------
144851 BEGIN
144852 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
144853 (g_array_event(p_event_id).array_value_num('header_index'));
144854 IF l_acc_rev_flag IS NULL THEN
144855 l_acc_rev_flag := 'N';
144856 END IF;
144857 EXCEPTION
144858 WHEN OTHERS THEN
144859 l_acc_rev_flag := 'N';
144860 END;
144861 --
144862 IF (l_acc_rev_flag = 'Y') THEN
144863
144864 -- 4645092 ------------------------------------------------------------------------------
144865 -- To allow MPA report to determine if it should generate report process
144866 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
144867 ------------------------------------------------------------------------------------------
144868
144869 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
144870 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
144871 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
144872 -- call ADRs
144873 -- Bug 4922099
144874 --
144875 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
144876 (NVL(l_actual_upg_option, 'N') = 'O') OR
144877 (NVL(l_enc_upg_option, 'N') = 'O')
144878 )
144879 THEN
144880 NULL;
144881 --
144882 --
144883
144884 l_ccid := AcctDerRule_41(
144885 p_application_id => p_application_id
144886 , p_ae_header_id => l_ae_header_id
144887 , p_source_38 => p_source_38
144888 , x_transaction_coa_id => l_adr_transaction_coa_id
144889 , x_accounting_coa_id => l_adr_accounting_coa_id
144890 , x_value_type_code => l_adr_value_type_code
144891 , p_side => 'NA'
144892 );
144893
144894 xla_ae_lines_pkg.set_ccid(
144895 p_code_combination_id => l_ccid
144896 , p_value_type_code => l_adr_value_type_code
144897 , p_transaction_coa_id => l_adr_transaction_coa_id
144898 , p_accounting_coa_id => l_adr_accounting_coa_id
144899 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
144900 , p_adr_type_code => 'S'
144901 , p_component_type => l_component_type
144902 , p_component_code => l_component_code
144903 , p_component_type_code => l_component_type_code
144904 , p_component_appl_id => l_component_appl_id
144905 , p_amb_context_code => l_amb_context_code
144906 , p_side => 'NA'
144907 );
144908
144909
144910 --
144911 --
144912 END IF;
144913
144914 --
144915 -- Update the line information that should be overwritten
144916 --
144917 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
144918 p_header_num => 1);
144919 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
144920
144921 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
144922
144923 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
144927 --
144924 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
144925 END IF;
144926
144928 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
144929 --
144930 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
144931 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
144932 ELSE
144933 ---------------------------------------------------------------------------------------------------
144934 -- 4262811a Switch Sign
144935 ---------------------------------------------------------------------------------------------------
144936 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
144937 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144938 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144939 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
144940 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144941 -- 5132302
144942 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
144943 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
144944
144945 END IF;
144946
144947 -- 4955764
144948 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
144949 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
144950
144951
144952 XLA_AE_LINES_PKG.ValidateCurrentLine;
144953 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
144954
144955 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
144956 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
144957 ,p_balance_type_code => l_balance_type_code);
144958
144959 END IF;
144960
144961 -----------------------------------------------------------------------------------------
144962 -- 4262811 Multiperiod Accounting
144963 -----------------------------------------------------------------------------------------
144964 -- No MPA option is assigned.
144965
144966
144967 END IF;
144968 END IF;
144969 --
144970
144971 --
144972 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
144973 trace
144974 (p_msg => 'END of AcctLineType_238'
144975 ,p_level => C_LEVEL_PROCEDURE
144976 ,p_module => l_log_module);
144977 END IF;
144978 --
144979 EXCEPTION
144980 WHEN xla_exceptions_pkg.application_exception THEN
144981 RAISE;
144982 WHEN OTHERS THEN
144983 xla_exceptions_pkg.raise_message
144984 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_238');
144985 END AcctLineType_238;
144986 --
144987
144988 ---------------------------------------
144989 --
144990 -- PRIVATE FUNCTION
144991 -- AcctLineType_239
144992 --
144993 ---------------------------------------
144994 PROCEDURE AcctLineType_239 (
144995 p_application_id IN NUMBER
144996 ,p_event_id IN NUMBER
144997 ,p_calculate_acctd_flag IN VARCHAR2
144998 ,p_calculate_g_l_flag IN VARCHAR2
144999 ,p_actual_flag IN OUT VARCHAR2
145000 ,p_balance_type_code OUT VARCHAR2
145001 ,p_gain_or_loss_ref OUT VARCHAR2
145002
145003 --Invoice Distribution Description
145004 , p_source_1 IN VARCHAR2
145005 --Invoice Distribution Ledger Amount
145006 , p_source_9 IN NUMBER
145007 --Invoice Distribution Type
145008 , p_source_21 IN VARCHAR2
145009 , p_source_21_meaning IN VARCHAR2
145010 --Self-Assessed Tax Account
145011 , p_source_38 IN NUMBER
145012 --Accounting Reversal Indicator
145013 , p_source_41 IN VARCHAR2
145014 --Distribution Link Type
145015 , p_source_43 IN VARCHAR2
145016 --Allocation to Main Distribution Identifier
145017 , p_source_45 IN NUMBER
145018 --Invoice Identifier
145019 , p_source_46 IN NUMBER
145020 --Invoice Distribution Identifier
145021 , p_source_52 IN NUMBER
145022 --Payables Encumbrance Upgrade Credit Account
145023 , p_source_53 IN NUMBER
145024 --Payables Encumbrance Upgrade Credit Amount
145025 , p_source_54 IN NUMBER
145026 --Invoice Currency Code
145027 , p_source_55 IN VARCHAR2
145028 --Payables Encumbrance Upgrade Credit Base Amount
145029 , p_source_56 IN NUMBER
145030 --Payables Encumbrance Upgrade Debit Account
145031 , p_source_57 IN NUMBER
145032 --Payables Encumbrance Upgrade Debit Amount
145033 , p_source_58 IN NUMBER
145034 --Payables Encumbrance Upgrade Debit Base Amount
145035 , p_source_59 IN NUMBER
145036 --Payables Encumbrance Upgrade Option
145037 , p_source_60 IN VARCHAR2
145038 --Invoice Distribution Amount
145039 , p_source_61 IN NUMBER
145040 --Deferred Accounting End Date
145041 , p_source_65 IN DATE
145042 --Deferred Accounting Option
145043 , p_source_66 IN VARCHAR2
145044 --Deferred Accounting Start Date
145045 , p_source_67 IN DATE
145046 --Override Accounted Amount Indicator
145047 , p_source_68 IN VARCHAR2
145051 --Invoice Supplier Site Identifier
145048 , p_source_68_meaning IN VARCHAR2
145049 --Invoice Supplier Identifier
145050 , p_source_69 IN NUMBER
145052 , p_source_70 IN NUMBER
145053 --Third Party Type
145054 , p_source_71 IN VARCHAR2
145055 --Parent Reversal Identifier
145056 , p_source_72 IN NUMBER
145057 --Invoice Distribution Statistical Amount
145058 , p_source_73 IN NUMBER
145059 --Invoice Distribution Tax Line Identifier
145060 , p_source_74 IN NUMBER
145061 --Invoice Distribution Tax Distribution Identifier from Tax
145062 , p_source_75 IN NUMBER
145063 --Invoice Distribution Summary Tax Line Identifier
145064 , p_source_76 IN NUMBER
145065 --Payables Upgrade Credit Encumbrance Type Identifier
145066 , p_source_77 IN NUMBER
145067 --Payables Upgrade Debit Encumbrance Type Identifier
145068 , p_source_78 IN NUMBER
145069 --Business Flow Accounts Payable Application Identifier
145070 , p_source_79 IN NUMBER
145071 --Business Flow Invoice Distribution Type
145072 , p_source_80 IN VARCHAR2
145073 --Business Flow Invoice Entity Code
145074 , p_source_81 IN VARCHAR2
145075 --Business Flow Invoice Distribution Identifier
145076 , p_source_82 IN NUMBER
145077 --Business Flow Invoice Identifier
145078 , p_source_83 IN NUMBER
145079 --Accrue on Receipt Option
145080 , p_source_84 IN VARCHAR2
145081 , p_source_84_meaning IN VARCHAR2
145082 --Self-Assessed Tax Flag
145083 , p_source_135 IN VARCHAR2
145084 , p_source_135_meaning IN VARCHAR2
145085 --Invoice Exchange Date
145086 , p_source_136 IN DATE
145087 --Invoice Exchange Rate
145088 , p_source_137 IN NUMBER
145089 --Invoice Exchange Rate Type
145090 , p_source_138 IN VARCHAR2
145091 )
145092 IS
145093
145094 l_component_type VARCHAR2(80);
145095 l_component_code VARCHAR2(30);
145096 l_component_type_code VARCHAR2(1);
145097 l_component_appl_id INTEGER;
145098 l_amb_context_code VARCHAR2(30);
145099 l_entity_code VARCHAR2(30);
145100 l_event_class_code VARCHAR2(30);
145101 l_ae_header_id NUMBER;
145102 l_event_type_code VARCHAR2(30);
145103 l_line_definition_code VARCHAR2(30);
145104 l_line_definition_owner_code VARCHAR2(1);
145105 --
145106 -- adr variables
145107 l_segment VARCHAR2(30);
145108 l_ccid NUMBER;
145109 l_adr_transaction_coa_id NUMBER;
145110 l_adr_accounting_coa_id NUMBER;
145111 l_adr_flexfield_segment_code VARCHAR2(30);
145112 l_adr_flex_value_set_id NUMBER;
145113 l_adr_value_type_code VARCHAR2(30);
145114 l_adr_value_combination_id NUMBER;
145115 l_adr_value_segment_code VARCHAR2(30);
145116
145117 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
145118 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
145119 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
145120 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
145121
145122 -- 4262811 Variables ------------------------------------------------------------------------------------------
145123 l_entered_amt_idx NUMBER;
145124 l_accted_amt_idx NUMBER;
145125 l_acc_rev_flag VARCHAR2(1);
145126 l_accrual_line_num NUMBER;
145127 l_tmp_amt NUMBER;
145128 l_acc_rev_natural_side_code VARCHAR2(1);
145129
145130 l_num_entries NUMBER;
145131 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
145132 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
145133 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
145134 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
145135 l_recog_line_1 NUMBER;
145136 l_recog_line_2 NUMBER;
145137
145138 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
145139 l_bflow_applied_to_amt NUMBER; -- 5132302
145140 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
145141
145142 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
145143
145144 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
145145 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
145146
145147 ---------------------------------------------------------------------------------------------------------------
145148
145149
145150 --
145151 -- bulk performance
145152 --
145153 l_balance_type_code VARCHAR2(1);
145154 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
145155 l_log_module VARCHAR2(240);
145156
145157 --
145158 -- Upgrade strategy
145159 --
145160 l_actual_upg_option VARCHAR2(1);
145161 l_enc_upg_option VARCHAR2(1);
145162
145163 --
145164 BEGIN
145165 --
145166 IF g_log_enabled THEN
145167 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_239';
145168 END IF;
145169 --
145170 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
145171
145172 trace
145173 (p_msg => 'BEGIN of AcctLineType_239'
145174 ,p_level => C_LEVEL_PROCEDURE
145175 ,p_module => l_log_module);
145176
145177 END IF;
145178 --
145182 l_component_appl_id := 200;
145179 l_component_type := 'AMB_JLT';
145180 l_component_code := 'AP_SELF_ASSESSED_NON_REC_INV';
145181 l_component_type_code := 'S';
145183 l_amb_context_code := 'DEFAULT';
145184 l_entity_code := 'AP_INVOICES';
145185 l_event_class_code := 'INVOICES';
145186 l_event_type_code := 'INVOICES_ALL';
145187 l_line_definition_owner_code := 'S';
145188 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
145189 --
145190 l_balance_type_code := 'A';
145191 l_segment := NULL;
145192 l_ccid := NULL;
145193 l_adr_transaction_coa_id := NULL;
145194 l_adr_accounting_coa_id := NULL;
145195 l_adr_flexfield_segment_code := NULL;
145196 l_adr_flex_value_set_id := NULL;
145197 l_adr_value_type_code := NULL;
145198 l_adr_value_combination_id := NULL;
145199 l_adr_value_segment_code := NULL;
145200
145201 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
145202 l_bflow_class_code := ''; -- 4219869 Business Flow
145203 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
145204 l_budgetary_control_flag := 'N';
145205
145206 l_bflow_applied_to_amt_idx := NULL; -- 5132302
145207 l_bflow_applied_to_amt := NULL; -- 5132302
145208 l_entered_amt_idx := NULL; -- 4262811
145209 l_accted_amt_idx := NULL; -- 4262811
145210 l_acc_rev_flag := NULL; -- 4262811
145211 l_accrual_line_num := NULL; -- 4262811
145212 l_tmp_amt := NULL; -- 4262811
145213 --
145214
145215 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
145216 l_balance_type_code <> 'B' THEN
145217 IF (NVL(p_source_21,'
145218 ') = 'NONREC_TAX' OR
145219 NVL(p_source_21,'
145220 ') = 'TERV' OR
145221 NVL(p_source_21,'
145222 ') = 'TIPV' OR
145223 NVL(p_source_21,'
145224 ') = 'TRV') AND
145225 NVL(p_source_84,'
145226 ') <> 'Y' AND
145227 NVL(p_source_135,'
145228 ') = 'Y'
145229 THEN
145230
145231 --
145232 XLA_AE_LINES_PKG.SetNewLine;
145233
145234 p_balance_type_code := l_balance_type_code;
145235 -- set the flag so later we will know whether the gain loss line needs to be created
145236
145237 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
145238 p_actual_flag :='A';
145239 END IF;
145240
145241 --
145242 -- bulk performance
145243 --
145244 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
145245 p_header_num => 0); -- 4262811
145246 --
145247 -- set accounting line options
145248 --
145249 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
145250 p_natural_side_code => 'D'
145251 , p_gain_or_loss_flag => 'N'
145252 , p_gl_transfer_mode_code => 'S'
145253 , p_acct_entry_type_code => 'A'
145254 , p_switch_side_flag => 'Y'
145255 , p_merge_duplicate_code => 'A'
145256 );
145257 --
145258 l_acc_rev_natural_side_code := 'C'; -- 4262811
145259 --
145260 --
145261 -- set accounting line type info
145262 --
145263 xla_ae_lines_pkg.SetAcctLineType
145264 (p_component_type => l_component_type
145265 ,p_event_type_code => l_event_type_code
145266 ,p_line_definition_owner_code => l_line_definition_owner_code
145267 ,p_line_definition_code => l_line_definition_code
145268 ,p_accounting_line_code => l_component_code
145269 ,p_accounting_line_type_code => l_component_type_code
145270 ,p_accounting_line_appl_id => l_component_appl_id
145271 ,p_amb_context_code => l_amb_context_code
145272 ,p_entity_code => l_entity_code
145273 ,p_event_class_code => l_event_class_code);
145274 --
145275 -- set accounting class
145276 --
145277 xla_ae_lines_pkg.SetAcctClass(
145278 p_accounting_class_code => 'SELF_ASSESSED_TAX'
145279 , p_ae_header_id => l_ae_header_id
145280 );
145281
145282 --
145283 -- set rounding class
145284 --
145285 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
145286 'SELF_ASSESSED_TAX';
145287
145288 --
145289 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
145290 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
145291 --
145292 -- bulk performance
145293 --
145294 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
145295
145296 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
145297 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
145298
145299 -- 4955764
145300 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
145301 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
145302
145303 -- 4458381 Public Sector Enh
145304
145305 --
145306 -- set accounting attributes for the line type
145307 --
145308 l_entered_amt_idx := 24;
145312 l_rec_acct_attrs.array_char_value(1) := p_source_41;
145309 l_accted_amt_idx := 29;
145310 l_bflow_applied_to_amt_idx := 7; -- 5132302
145311 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
145313 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
145314 l_rec_acct_attrs.array_num_value(2) :=
145315 xla_ae_sources_pkg.GetSystemSourceNum(
145316 p_source_code => 'XLA_EVENT_APPL_ID'
145317 , p_source_type_code => 'Y'
145318 , p_source_application_id => 602
145319 );
145320 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
145321 l_rec_acct_attrs.array_char_value(3) := p_source_43;
145322 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
145323 l_rec_acct_attrs.array_char_value(4) :=
145324 xla_ae_sources_pkg.GetSystemSourceChar(
145325 p_source_code => 'XLA_ENTITY_CODE'
145326 , p_source_type_code => 'Y'
145327 , p_source_application_id => 602
145328 );
145329 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
145330 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
145331 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
145332 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
145333 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
145334 l_rec_acct_attrs.array_num_value(7) := p_source_61;
145335 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
145336 l_rec_acct_attrs.array_num_value(8) := p_source_79;
145337 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
145338 l_rec_acct_attrs.array_char_value(9) := p_source_80;
145339 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
145340 l_rec_acct_attrs.array_char_value(10) := p_source_81;
145341 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
145342 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
145343 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
145344 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
145345 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
145346 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
145347 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
145348 l_rec_acct_attrs.array_char_value(14) := p_source_43;
145349 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
145350 l_rec_acct_attrs.array_num_value(15) := p_source_53;
145351 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
145352 l_rec_acct_attrs.array_num_value(16) := p_source_54;
145353 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
145354 l_rec_acct_attrs.array_char_value(17) := p_source_55;
145355 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
145356 l_rec_acct_attrs.array_num_value(18) := p_source_56;
145357 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
145358 l_rec_acct_attrs.array_num_value(19) := p_source_57;
145359 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
145360 l_rec_acct_attrs.array_num_value(20) := p_source_58;
145361 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
145362 l_rec_acct_attrs.array_char_value(21) := p_source_55;
145363 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
145364 l_rec_acct_attrs.array_num_value(22) := p_source_59;
145365 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
145366 l_rec_acct_attrs.array_char_value(23) := p_source_60;
145367 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
145368 l_rec_acct_attrs.array_num_value(24) := p_source_61;
145369 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
145370 l_rec_acct_attrs.array_char_value(25) := p_source_55;
145371 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
145372 l_rec_acct_attrs.array_date_value(26) := p_source_136;
145373 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
145374 l_rec_acct_attrs.array_num_value(27) := p_source_137;
145375 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
145376 l_rec_acct_attrs.array_char_value(28) := p_source_138;
145377 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
145378 l_rec_acct_attrs.array_num_value(29) := p_source_9;
145379 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
145380 l_rec_acct_attrs.array_date_value(30) := p_source_65;
145381 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
145382 l_rec_acct_attrs.array_char_value(31) := p_source_66;
145383 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
145384 l_rec_acct_attrs.array_date_value(32) := p_source_67;
145385 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
145386 l_rec_acct_attrs.array_char_value(33) := p_source_68;
145387 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
145388 l_rec_acct_attrs.array_num_value(34) := p_source_69;
145389 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
145390 l_rec_acct_attrs.array_num_value(35) := p_source_70;
145391 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
145392 l_rec_acct_attrs.array_char_value(36) := p_source_71;
145393 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
145394 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
145395 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
145399 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
145396 l_rec_acct_attrs.array_char_value(38) := p_source_43;
145397 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
145398 l_rec_acct_attrs.array_num_value(39) := p_source_73;
145400 l_rec_acct_attrs.array_num_value(40) := p_source_74;
145401 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
145402 l_rec_acct_attrs.array_num_value(41) := p_source_75;
145403 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
145404 l_rec_acct_attrs.array_num_value(42) := p_source_76;
145405 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
145406 l_rec_acct_attrs.array_num_value(43) := p_source_77;
145407 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
145408 l_rec_acct_attrs.array_num_value(44) := p_source_78;
145409
145410 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
145411 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
145412
145413 ---------------------------------------------------------------------------------------------------------------
145414 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
145415 ---------------------------------------------------------------------------------------------------------------
145416 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
145417
145418 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
145419 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
145420
145421 IF xla_accounting_cache_pkg.GetValueChar
145422 (p_source_code => 'LEDGER_CATEGORY_CODE'
145423 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
145424 AND l_bflow_method_code = 'PRIOR_ENTRY'
145425 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
145426 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
145427 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
145428 )
145429 THEN
145430 xla_ae_lines_pkg.BflowUpgEntry
145431 (p_business_method_code => l_bflow_method_code
145432 ,p_business_class_code => l_bflow_class_code
145433 ,p_balance_type => l_balance_type_code);
145434 ELSE
145435 NULL;
145436 -- No business flow processing for business flow method of NONE.
145437 END IF;
145438
145439 --
145440 -- call analytical criteria
145441 --
145442
145443 --
145444 -- call description
145445 --
145446
145447 xla_ae_lines_pkg.SetLineDescription(
145448 p_ae_header_id => l_ae_header_id
145449 ,p_description => Description_2 (
145450 p_application_id => p_application_id
145451 , p_ae_header_id => l_ae_header_id
145452 , p_source_1 => p_source_1
145453 )
145454 );
145455
145456
145457 --
145458 -- call ADRs
145459 -- Bug 4922099
145460 --
145461 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
145462 (NVL(l_actual_upg_option, 'N') = 'O') OR
145463 (NVL(l_enc_upg_option, 'N') = 'O')
145464 )
145465 THEN
145466 NULL;
145467 --
145468 --
145469
145470 l_ccid := AcctDerRule_41(
145471 p_application_id => p_application_id
145472 , p_ae_header_id => l_ae_header_id
145473 , p_source_38 => p_source_38
145474 , x_transaction_coa_id => l_adr_transaction_coa_id
145475 , x_accounting_coa_id => l_adr_accounting_coa_id
145476 , x_value_type_code => l_adr_value_type_code
145477 , p_side => 'NA'
145478 );
145479
145480 xla_ae_lines_pkg.set_ccid(
145481 p_code_combination_id => l_ccid
145482 , p_value_type_code => l_adr_value_type_code
145483 , p_transaction_coa_id => l_adr_transaction_coa_id
145484 , p_accounting_coa_id => l_adr_accounting_coa_id
145485 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
145486 , p_adr_type_code => 'S'
145487 , p_component_type => l_component_type
145488 , p_component_code => l_component_code
145489 , p_component_type_code => l_component_type_code
145490 , p_component_appl_id => l_component_appl_id
145491 , p_amb_context_code => l_amb_context_code
145492 , p_side => 'NA'
145493 );
145494
145495
145496 --
145497 --
145498 END IF;
145499 --
145500 -- Bug 4922099
145501 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
145502 (NVL(l_enc_upg_option, 'N') = 'O')
145503 ) AND
145504 (l_bflow_method_code = 'PRIOR_ENTRY')
145505 )
145506 THEN
145507 IF
145508 --
145509 1 = 2
145510 --
145511 THEN
145512 xla_accounting_err_pkg.build_message
145513 (p_appli_s_name => 'XLA'
145514 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
145515 ,p_token_1 => 'LINE_NUMBER'
145516 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
145517 ,p_token_2 => 'LINE_TYPE_NAME'
145521 ,l_component_type_code
145518 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
145519 l_component_type
145520 ,l_component_code
145522 ,l_component_appl_id
145523 ,l_amb_context_code
145524 ,l_entity_code
145525 ,l_event_class_code
145526 )
145527 ,p_token_3 => 'OWNER'
145528 ,p_value_3 => xla_lookups_pkg.get_meaning(
145529 p_lookup_type => 'XLA_OWNER_TYPE'
145530 ,p_lookup_code => l_component_type_code
145531 )
145532 ,p_token_4 => 'PRODUCT_NAME'
145533 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
145534 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
145535 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
145536 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
145537 ,p_ae_header_id => NULL
145538 );
145539
145540 IF (C_LEVEL_ERROR>= g_log_level) THEN
145541 trace
145542 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
145543 ,p_level => C_LEVEL_ERROR
145544 ,p_module => l_log_module);
145545 END IF;
145546 END IF;
145547 END IF;
145548 --
145549 --
145550 ------------------------------------------------------------------------------------------------
145551 -- 4219869 Business Flow
145552 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
145553 -- Prior Entry. Currently, the following code is always generated.
145554 ------------------------------------------------------------------------------------------------
145555 XLA_AE_LINES_PKG.ValidateCurrentLine;
145556
145557 ------------------------------------------------------------------------------------
145558 -- 4219869 Business Flow
145559 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
145560 ------------------------------------------------------------------------------------
145561 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
145562
145563 ----------------------------------------------------------------------------------
145564 -- 4219869 Business Flow
145565 -- Update journal entry status -- Need to generate this within IF <condition>
145566 ----------------------------------------------------------------------------------
145567 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
145568 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
145569 ,p_balance_type_code => l_balance_type_code
145570 );
145571
145572 -------------------------------------------------------------------------------------------
145573 -- 4262811 - Generate the Accrual Reversal lines
145574 -------------------------------------------------------------------------------------------
145575 BEGIN
145576 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
145577 (g_array_event(p_event_id).array_value_num('header_index'));
145578 IF l_acc_rev_flag IS NULL THEN
145579 l_acc_rev_flag := 'N';
145580 END IF;
145581 EXCEPTION
145582 WHEN OTHERS THEN
145583 l_acc_rev_flag := 'N';
145584 END;
145585 --
145586 IF (l_acc_rev_flag = 'Y') THEN
145587
145588 -- 4645092 ------------------------------------------------------------------------------
145589 -- To allow MPA report to determine if it should generate report process
145590 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
145591 ------------------------------------------------------------------------------------------
145592
145593 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
145594 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
145595 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
145596 -- call ADRs
145597 -- Bug 4922099
145598 --
145599 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
145600 (NVL(l_actual_upg_option, 'N') = 'O') OR
145601 (NVL(l_enc_upg_option, 'N') = 'O')
145602 )
145603 THEN
145604 NULL;
145605 --
145606 --
145607
145608 l_ccid := AcctDerRule_41(
145609 p_application_id => p_application_id
145610 , p_ae_header_id => l_ae_header_id
145611 , p_source_38 => p_source_38
145612 , x_transaction_coa_id => l_adr_transaction_coa_id
145613 , x_accounting_coa_id => l_adr_accounting_coa_id
145617
145614 , x_value_type_code => l_adr_value_type_code
145615 , p_side => 'NA'
145616 );
145618 xla_ae_lines_pkg.set_ccid(
145619 p_code_combination_id => l_ccid
145620 , p_value_type_code => l_adr_value_type_code
145621 , p_transaction_coa_id => l_adr_transaction_coa_id
145622 , p_accounting_coa_id => l_adr_accounting_coa_id
145623 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
145624 , p_adr_type_code => 'S'
145625 , p_component_type => l_component_type
145626 , p_component_code => l_component_code
145627 , p_component_type_code => l_component_type_code
145628 , p_component_appl_id => l_component_appl_id
145629 , p_amb_context_code => l_amb_context_code
145630 , p_side => 'NA'
145631 );
145632
145633
145634 --
145635 --
145636 END IF;
145637
145638 --
145639 -- Update the line information that should be overwritten
145640 --
145641 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
145642 p_header_num => 1);
145643 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
145644
145645 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
145646
145647 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
145648 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
145649 END IF;
145650
145651 --
145652 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
145653 --
145654 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
145655 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
145656 ELSE
145657 ---------------------------------------------------------------------------------------------------
145658 -- 4262811a Switch Sign
145659 ---------------------------------------------------------------------------------------------------
145660 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
145661 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
145662 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
145663 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
145664 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
145665 -- 5132302
145666 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
145667 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
145668
145669 END IF;
145670
145671 -- 4955764
145672 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
145673 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
145674
145675
145676 XLA_AE_LINES_PKG.ValidateCurrentLine;
145677 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
145678
145679 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
145680 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
145681 ,p_balance_type_code => l_balance_type_code);
145682
145683 END IF;
145684
145685 -----------------------------------------------------------------------------------------
145686 -- 4262811 Multiperiod Accounting
145687 -----------------------------------------------------------------------------------------
145688 -- No MPA option is assigned.
145689
145690
145691 END IF;
145692 END IF;
145693 --
145694
145695 --
145696 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
145697 trace
145698 (p_msg => 'END of AcctLineType_239'
145699 ,p_level => C_LEVEL_PROCEDURE
145700 ,p_module => l_log_module);
145701 END IF;
145702 --
145703 EXCEPTION
145704 WHEN xla_exceptions_pkg.application_exception THEN
145705 RAISE;
145706 WHEN OTHERS THEN
145707 xla_exceptions_pkg.raise_message
145708 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_239');
145709 END AcctLineType_239;
145710 --
145711
145712 ---------------------------------------
145713 --
145714 -- PRIVATE FUNCTION
145715 -- AcctLineType_240
145716 --
145717 ---------------------------------------
145718 PROCEDURE AcctLineType_240 (
145719 p_application_id IN NUMBER
145720 ,p_event_id IN NUMBER
145721 ,p_calculate_acctd_flag IN VARCHAR2
145722 ,p_calculate_g_l_flag IN VARCHAR2
145723 ,p_actual_flag IN OUT VARCHAR2
145724 ,p_balance_type_code OUT VARCHAR2
145725 ,p_gain_or_loss_ref OUT VARCHAR2
145726
145727 --Invoice Distribution Description
145728 , p_source_1 IN VARCHAR2
145729 --Invoice Distribution Ledger Amount
145730 , p_source_9 IN NUMBER
145731 --Invoice Distribution Type
145732 , p_source_21 IN VARCHAR2
145733 , p_source_21_meaning IN VARCHAR2
145734 --Self-Assessed Tax Account
145735 , p_source_38 IN NUMBER
145736 --Accounting Reversal Indicator
145737 , p_source_41 IN VARCHAR2
145741 , p_source_45 IN NUMBER
145738 --Distribution Link Type
145739 , p_source_43 IN VARCHAR2
145740 --Allocation to Main Distribution Identifier
145742 --Invoice Identifier
145743 , p_source_46 IN NUMBER
145744 --Invoice Distribution Identifier
145745 , p_source_52 IN NUMBER
145746 --Payables Encumbrance Upgrade Credit Account
145747 , p_source_53 IN NUMBER
145748 --Payables Encumbrance Upgrade Credit Amount
145749 , p_source_54 IN NUMBER
145750 --Invoice Currency Code
145751 , p_source_55 IN VARCHAR2
145752 --Payables Encumbrance Upgrade Credit Base Amount
145753 , p_source_56 IN NUMBER
145754 --Payables Encumbrance Upgrade Debit Account
145755 , p_source_57 IN NUMBER
145756 --Payables Encumbrance Upgrade Debit Amount
145757 , p_source_58 IN NUMBER
145758 --Payables Encumbrance Upgrade Debit Base Amount
145759 , p_source_59 IN NUMBER
145760 --Payables Encumbrance Upgrade Option
145761 , p_source_60 IN VARCHAR2
145762 --Invoice Distribution Amount
145763 , p_source_61 IN NUMBER
145764 --Deferred Accounting End Date
145765 , p_source_65 IN DATE
145766 --Deferred Accounting Option
145767 , p_source_66 IN VARCHAR2
145768 --Deferred Accounting Start Date
145769 , p_source_67 IN DATE
145770 --Override Accounted Amount Indicator
145771 , p_source_68 IN VARCHAR2
145772 , p_source_68_meaning IN VARCHAR2
145773 --Invoice Supplier Identifier
145774 , p_source_69 IN NUMBER
145775 --Invoice Supplier Site Identifier
145776 , p_source_70 IN NUMBER
145777 --Third Party Type
145778 , p_source_71 IN VARCHAR2
145779 --Parent Reversal Identifier
145780 , p_source_72 IN NUMBER
145781 --Invoice Distribution Statistical Amount
145782 , p_source_73 IN NUMBER
145783 --Invoice Distribution Tax Line Identifier
145784 , p_source_74 IN NUMBER
145785 --Invoice Distribution Tax Distribution Identifier from Tax
145786 , p_source_75 IN NUMBER
145787 --Invoice Distribution Summary Tax Line Identifier
145788 , p_source_76 IN NUMBER
145789 --Payables Upgrade Credit Encumbrance Type Identifier
145790 , p_source_77 IN NUMBER
145791 --Payables Upgrade Debit Encumbrance Type Identifier
145792 , p_source_78 IN NUMBER
145793 --Business Flow Accounts Payable Application Identifier
145794 , p_source_79 IN NUMBER
145795 --Business Flow Invoice Distribution Type
145796 , p_source_80 IN VARCHAR2
145797 --Business Flow Invoice Entity Code
145798 , p_source_81 IN VARCHAR2
145799 --Business Flow Invoice Distribution Identifier
145800 , p_source_82 IN NUMBER
145801 --Business Flow Invoice Identifier
145802 , p_source_83 IN NUMBER
145803 --Self-Assessed Tax Flag
145804 , p_source_135 IN VARCHAR2
145805 , p_source_135_meaning IN VARCHAR2
145806 --Invoice Exchange Date
145807 , p_source_136 IN DATE
145808 --Invoice Exchange Rate
145809 , p_source_137 IN NUMBER
145810 --Invoice Exchange Rate Type
145811 , p_source_138 IN VARCHAR2
145812 )
145813 IS
145814
145815 l_component_type VARCHAR2(80);
145816 l_component_code VARCHAR2(30);
145817 l_component_type_code VARCHAR2(1);
145818 l_component_appl_id INTEGER;
145819 l_amb_context_code VARCHAR2(30);
145820 l_entity_code VARCHAR2(30);
145821 l_event_class_code VARCHAR2(30);
145822 l_ae_header_id NUMBER;
145823 l_event_type_code VARCHAR2(30);
145824 l_line_definition_code VARCHAR2(30);
145825 l_line_definition_owner_code VARCHAR2(1);
145826 --
145827 -- adr variables
145828 l_segment VARCHAR2(30);
145829 l_ccid NUMBER;
145830 l_adr_transaction_coa_id NUMBER;
145831 l_adr_accounting_coa_id NUMBER;
145832 l_adr_flexfield_segment_code VARCHAR2(30);
145833 l_adr_flex_value_set_id NUMBER;
145834 l_adr_value_type_code VARCHAR2(30);
145835 l_adr_value_combination_id NUMBER;
145836 l_adr_value_segment_code VARCHAR2(30);
145837
145838 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
145839 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
145840 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
145841 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
145842
145843 -- 4262811 Variables ------------------------------------------------------------------------------------------
145844 l_entered_amt_idx NUMBER;
145845 l_accted_amt_idx NUMBER;
145846 l_acc_rev_flag VARCHAR2(1);
145847 l_accrual_line_num NUMBER;
145848 l_tmp_amt NUMBER;
145849 l_acc_rev_natural_side_code VARCHAR2(1);
145850
145851 l_num_entries NUMBER;
145852 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
145853 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
145854 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
145855 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
145856 l_recog_line_1 NUMBER;
145857 l_recog_line_2 NUMBER;
145858
145859 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
145860 l_bflow_applied_to_amt NUMBER; -- 5132302
145864
145861 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
145862
145863 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
145865 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
145866 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
145867
145868 ---------------------------------------------------------------------------------------------------------------
145869
145870
145871 --
145872 -- bulk performance
145873 --
145874 l_balance_type_code VARCHAR2(1);
145875 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
145876 l_log_module VARCHAR2(240);
145877
145878 --
145879 -- Upgrade strategy
145880 --
145881 l_actual_upg_option VARCHAR2(1);
145882 l_enc_upg_option VARCHAR2(1);
145883
145884 --
145885 BEGIN
145886 --
145887 IF g_log_enabled THEN
145888 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_240';
145889 END IF;
145890 --
145891 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
145892
145893 trace
145894 (p_msg => 'BEGIN of AcctLineType_240'
145895 ,p_level => C_LEVEL_PROCEDURE
145896 ,p_module => l_log_module);
145897
145898 END IF;
145899 --
145900 l_component_type := 'AMB_JLT';
145901 l_component_code := 'AP_SELF_ASSESSED_RECTAX_PREPAY';
145902 l_component_type_code := 'S';
145903 l_component_appl_id := 200;
145904 l_amb_context_code := 'DEFAULT';
145905 l_entity_code := 'AP_INVOICES';
145906 l_event_class_code := 'PREPAYMENTS';
145907 l_event_type_code := 'PREPAYMENTS_ALL';
145908 l_line_definition_owner_code := 'S';
145909 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
145910 --
145911 l_balance_type_code := 'A';
145912 l_segment := NULL;
145913 l_ccid := NULL;
145914 l_adr_transaction_coa_id := NULL;
145915 l_adr_accounting_coa_id := NULL;
145916 l_adr_flexfield_segment_code := NULL;
145917 l_adr_flex_value_set_id := NULL;
145918 l_adr_value_type_code := NULL;
145919 l_adr_value_combination_id := NULL;
145920 l_adr_value_segment_code := NULL;
145921
145922 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
145923 l_bflow_class_code := ''; -- 4219869 Business Flow
145924 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
145925 l_budgetary_control_flag := 'N';
145926
145927 l_bflow_applied_to_amt_idx := NULL; -- 5132302
145928 l_bflow_applied_to_amt := NULL; -- 5132302
145929 l_entered_amt_idx := NULL; -- 4262811
145930 l_accted_amt_idx := NULL; -- 4262811
145931 l_acc_rev_flag := NULL; -- 4262811
145932 l_accrual_line_num := NULL; -- 4262811
145933 l_tmp_amt := NULL; -- 4262811
145934 --
145935
145936 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
145937 l_balance_type_code <> 'B' THEN
145938 IF NVL(p_source_21,'
145939 ') = 'REC_TAX' AND
145940 NVL(p_source_135,'
145941 ') = 'Y'
145942 THEN
145943
145944 --
145945 XLA_AE_LINES_PKG.SetNewLine;
145946
145947 p_balance_type_code := l_balance_type_code;
145948 -- set the flag so later we will know whether the gain loss line needs to be created
145949
145950 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
145951 p_actual_flag :='A';
145952 END IF;
145953
145954 --
145955 -- bulk performance
145956 --
145957 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
145958 p_header_num => 0); -- 4262811
145959 --
145960 -- set accounting line options
145961 --
145962 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
145963 p_natural_side_code => 'D'
145964 , p_gain_or_loss_flag => 'N'
145965 , p_gl_transfer_mode_code => 'S'
145966 , p_acct_entry_type_code => 'A'
145967 , p_switch_side_flag => 'Y'
145968 , p_merge_duplicate_code => 'A'
145969 );
145970 --
145971 l_acc_rev_natural_side_code := 'C'; -- 4262811
145972 --
145973 --
145974 -- set accounting line type info
145975 --
145976 xla_ae_lines_pkg.SetAcctLineType
145977 (p_component_type => l_component_type
145978 ,p_event_type_code => l_event_type_code
145979 ,p_line_definition_owner_code => l_line_definition_owner_code
145980 ,p_line_definition_code => l_line_definition_code
145981 ,p_accounting_line_code => l_component_code
145982 ,p_accounting_line_type_code => l_component_type_code
145983 ,p_accounting_line_appl_id => l_component_appl_id
145984 ,p_amb_context_code => l_amb_context_code
145985 ,p_entity_code => l_entity_code
145986 ,p_event_class_code => l_event_class_code);
145987 --
145988 -- set accounting class
145989 --
145990 xla_ae_lines_pkg.SetAcctClass(
145991 p_accounting_class_code => 'SELF_ASSESSED_TAX'
145992 , p_ae_header_id => l_ae_header_id
145993 );
145994
145995 --
145999 'SELF_ASSESSED_TAX';
145996 -- set rounding class
145997 --
145998 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
146000
146001 --
146002 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
146003 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
146004 --
146005 -- bulk performance
146006 --
146007 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
146008
146009 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
146010 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
146011
146012 -- 4955764
146013 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
146014 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
146015
146016 -- 4458381 Public Sector Enh
146017
146018 --
146019 -- set accounting attributes for the line type
146020 --
146021 l_entered_amt_idx := 23;
146022 l_accted_amt_idx := 28;
146023 l_bflow_applied_to_amt_idx := NULL; -- 5132302
146024 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
146025 l_rec_acct_attrs.array_char_value(1) := p_source_41;
146026 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
146027 l_rec_acct_attrs.array_num_value(2) :=
146028 xla_ae_sources_pkg.GetSystemSourceNum(
146029 p_source_code => 'XLA_EVENT_APPL_ID'
146030 , p_source_type_code => 'Y'
146031 , p_source_application_id => 602
146032 );
146033 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
146034 l_rec_acct_attrs.array_char_value(3) := p_source_43;
146035 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
146036 l_rec_acct_attrs.array_char_value(4) :=
146037 xla_ae_sources_pkg.GetSystemSourceChar(
146038 p_source_code => 'XLA_ENTITY_CODE'
146039 , p_source_type_code => 'Y'
146040 , p_source_application_id => 602
146041 );
146042 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
146043 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
146044 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
146045 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
146046 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
146047 l_rec_acct_attrs.array_num_value(7) := p_source_79;
146048 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
146049 l_rec_acct_attrs.array_char_value(8) := p_source_80;
146050 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
146051 l_rec_acct_attrs.array_char_value(9) := p_source_81;
146052 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
146053 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
146054 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
146055 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
146056 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
146057 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
146058 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
146059 l_rec_acct_attrs.array_char_value(13) := p_source_43;
146060 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
146061 l_rec_acct_attrs.array_num_value(14) := p_source_53;
146062 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
146063 l_rec_acct_attrs.array_num_value(15) := p_source_54;
146064 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
146065 l_rec_acct_attrs.array_char_value(16) := p_source_55;
146066 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
146067 l_rec_acct_attrs.array_num_value(17) := p_source_56;
146068 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
146069 l_rec_acct_attrs.array_num_value(18) := p_source_57;
146070 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
146071 l_rec_acct_attrs.array_num_value(19) := p_source_58;
146072 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
146073 l_rec_acct_attrs.array_char_value(20) := p_source_55;
146074 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
146075 l_rec_acct_attrs.array_num_value(21) := p_source_59;
146076 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
146077 l_rec_acct_attrs.array_char_value(22) := p_source_60;
146078 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
146079 l_rec_acct_attrs.array_num_value(23) := p_source_61;
146080 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
146081 l_rec_acct_attrs.array_char_value(24) := p_source_55;
146082 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
146083 l_rec_acct_attrs.array_date_value(25) := p_source_136;
146084 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
146085 l_rec_acct_attrs.array_num_value(26) := p_source_137;
146086 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
146087 l_rec_acct_attrs.array_char_value(27) := p_source_138;
146088 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
146089 l_rec_acct_attrs.array_num_value(28) := p_source_9;
146090 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
146091 l_rec_acct_attrs.array_date_value(29) := p_source_65;
146095 l_rec_acct_attrs.array_date_value(31) := p_source_67;
146092 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
146093 l_rec_acct_attrs.array_char_value(30) := p_source_66;
146094 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
146096 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
146097 l_rec_acct_attrs.array_char_value(32) := p_source_68;
146098 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
146099 l_rec_acct_attrs.array_num_value(33) := p_source_69;
146100 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
146101 l_rec_acct_attrs.array_num_value(34) := p_source_70;
146102 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
146103 l_rec_acct_attrs.array_char_value(35) := p_source_71;
146104 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
146105 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
146106 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
146107 l_rec_acct_attrs.array_char_value(37) := p_source_43;
146108 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
146109 l_rec_acct_attrs.array_num_value(38) := p_source_73;
146110 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
146111 l_rec_acct_attrs.array_num_value(39) := p_source_74;
146112 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
146113 l_rec_acct_attrs.array_num_value(40) := p_source_75;
146114 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
146115 l_rec_acct_attrs.array_num_value(41) := p_source_76;
146116 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
146117 l_rec_acct_attrs.array_num_value(42) := p_source_77;
146118 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
146119 l_rec_acct_attrs.array_num_value(43) := p_source_78;
146120
146121 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
146122 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
146123
146124 ---------------------------------------------------------------------------------------------------------------
146125 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
146126 ---------------------------------------------------------------------------------------------------------------
146127 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
146128
146129 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
146130 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
146131
146132 IF xla_accounting_cache_pkg.GetValueChar
146133 (p_source_code => 'LEDGER_CATEGORY_CODE'
146134 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
146135 AND l_bflow_method_code = 'PRIOR_ENTRY'
146136 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
146137 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
146138 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
146139 )
146140 THEN
146141 xla_ae_lines_pkg.BflowUpgEntry
146142 (p_business_method_code => l_bflow_method_code
146143 ,p_business_class_code => l_bflow_class_code
146144 ,p_balance_type => l_balance_type_code);
146145 ELSE
146146 NULL;
146147 -- No business flow processing for business flow method of NONE.
146148 END IF;
146149
146150 --
146151 -- call analytical criteria
146152 --
146153
146154 --
146155 -- call description
146156 --
146157
146158 xla_ae_lines_pkg.SetLineDescription(
146159 p_ae_header_id => l_ae_header_id
146160 ,p_description => Description_2 (
146161 p_application_id => p_application_id
146162 , p_ae_header_id => l_ae_header_id
146163 , p_source_1 => p_source_1
146164 )
146165 );
146166
146167
146168 --
146169 -- call ADRs
146170 -- Bug 4922099
146171 --
146172 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
146173 (NVL(l_actual_upg_option, 'N') = 'O') OR
146174 (NVL(l_enc_upg_option, 'N') = 'O')
146175 )
146176 THEN
146177 NULL;
146178 --
146179 --
146180
146181 l_ccid := AcctDerRule_41(
146182 p_application_id => p_application_id
146183 , p_ae_header_id => l_ae_header_id
146184 , p_source_38 => p_source_38
146185 , x_transaction_coa_id => l_adr_transaction_coa_id
146186 , x_accounting_coa_id => l_adr_accounting_coa_id
146187 , x_value_type_code => l_adr_value_type_code
146188 , p_side => 'NA'
146189 );
146190
146191 xla_ae_lines_pkg.set_ccid(
146192 p_code_combination_id => l_ccid
146193 , p_value_type_code => l_adr_value_type_code
146194 , p_transaction_coa_id => l_adr_transaction_coa_id
146195 , p_accounting_coa_id => l_adr_accounting_coa_id
146196 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
146197 , p_adr_type_code => 'S'
146198 , p_component_type => l_component_type
146199 , p_component_code => l_component_code
146200 , p_component_type_code => l_component_type_code
146201 , p_component_appl_id => l_component_appl_id
146202 , p_amb_context_code => l_amb_context_code
146203 , p_side => 'NA'
146207 --
146204 );
146205
146206
146208 --
146209 END IF;
146210 --
146211 -- Bug 4922099
146212 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
146213 (NVL(l_enc_upg_option, 'N') = 'O')
146214 ) AND
146215 (l_bflow_method_code = 'PRIOR_ENTRY')
146216 )
146217 THEN
146218 IF
146219 --
146220 1 = 2
146221 --
146222 THEN
146223 xla_accounting_err_pkg.build_message
146224 (p_appli_s_name => 'XLA'
146225 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
146226 ,p_token_1 => 'LINE_NUMBER'
146227 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
146228 ,p_token_2 => 'LINE_TYPE_NAME'
146229 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
146230 l_component_type
146231 ,l_component_code
146232 ,l_component_type_code
146233 ,l_component_appl_id
146234 ,l_amb_context_code
146235 ,l_entity_code
146236 ,l_event_class_code
146237 )
146238 ,p_token_3 => 'OWNER'
146239 ,p_value_3 => xla_lookups_pkg.get_meaning(
146240 p_lookup_type => 'XLA_OWNER_TYPE'
146241 ,p_lookup_code => l_component_type_code
146242 )
146243 ,p_token_4 => 'PRODUCT_NAME'
146244 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
146245 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
146246 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
146247 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
146248 ,p_ae_header_id => NULL
146249 );
146250
146251 IF (C_LEVEL_ERROR>= g_log_level) THEN
146252 trace
146253 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
146254 ,p_level => C_LEVEL_ERROR
146255 ,p_module => l_log_module);
146256 END IF;
146257 END IF;
146258 END IF;
146259 --
146260 --
146261 ------------------------------------------------------------------------------------------------
146262 -- 4219869 Business Flow
146263 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
146264 -- Prior Entry. Currently, the following code is always generated.
146265 ------------------------------------------------------------------------------------------------
146266 XLA_AE_LINES_PKG.ValidateCurrentLine;
146267
146268 ------------------------------------------------------------------------------------
146269 -- 4219869 Business Flow
146270 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
146271 ------------------------------------------------------------------------------------
146272 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
146273
146274 ----------------------------------------------------------------------------------
146275 -- 4219869 Business Flow
146276 -- Update journal entry status -- Need to generate this within IF <condition>
146277 ----------------------------------------------------------------------------------
146278 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
146279 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
146280 ,p_balance_type_code => l_balance_type_code
146281 );
146282
146283 -------------------------------------------------------------------------------------------
146284 -- 4262811 - Generate the Accrual Reversal lines
146285 -------------------------------------------------------------------------------------------
146286 BEGIN
146287 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
146288 (g_array_event(p_event_id).array_value_num('header_index'));
146289 IF l_acc_rev_flag IS NULL THEN
146290 l_acc_rev_flag := 'N';
146291 END IF;
146292 EXCEPTION
146293 WHEN OTHERS THEN
146294 l_acc_rev_flag := 'N';
146295 END;
146296 --
146297 IF (l_acc_rev_flag = 'Y') THEN
146298
146299 -- 4645092 ------------------------------------------------------------------------------
146300 -- To allow MPA report to determine if it should generate report process
146301 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
146305 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
146302 ------------------------------------------------------------------------------------------
146303
146304 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
146306 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
146307 -- call ADRs
146308 -- Bug 4922099
146309 --
146310 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
146311 (NVL(l_actual_upg_option, 'N') = 'O') OR
146312 (NVL(l_enc_upg_option, 'N') = 'O')
146313 )
146314 THEN
146315 NULL;
146316 --
146317 --
146318
146319 l_ccid := AcctDerRule_41(
146320 p_application_id => p_application_id
146321 , p_ae_header_id => l_ae_header_id
146322 , p_source_38 => p_source_38
146323 , x_transaction_coa_id => l_adr_transaction_coa_id
146324 , x_accounting_coa_id => l_adr_accounting_coa_id
146325 , x_value_type_code => l_adr_value_type_code
146326 , p_side => 'NA'
146327 );
146328
146329 xla_ae_lines_pkg.set_ccid(
146330 p_code_combination_id => l_ccid
146331 , p_value_type_code => l_adr_value_type_code
146332 , p_transaction_coa_id => l_adr_transaction_coa_id
146333 , p_accounting_coa_id => l_adr_accounting_coa_id
146334 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
146335 , p_adr_type_code => 'S'
146336 , p_component_type => l_component_type
146337 , p_component_code => l_component_code
146338 , p_component_type_code => l_component_type_code
146339 , p_component_appl_id => l_component_appl_id
146340 , p_amb_context_code => l_amb_context_code
146341 , p_side => 'NA'
146342 );
146343
146344
146345 --
146346 --
146347 END IF;
146348
146349 --
146350 -- Update the line information that should be overwritten
146351 --
146352 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
146353 p_header_num => 1);
146354 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
146355
146356 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
146357
146358 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
146359 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
146360 END IF;
146361
146362 --
146363 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
146364 --
146365 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
146366 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
146367 ELSE
146368 ---------------------------------------------------------------------------------------------------
146369 -- 4262811a Switch Sign
146370 ---------------------------------------------------------------------------------------------------
146371 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
146372 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
146373 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
146374 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
146375 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
146376 -- 5132302
146377 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
146378 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
146379
146380 END IF;
146381
146382 -- 4955764
146383 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
146384 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
146385
146386
146387 XLA_AE_LINES_PKG.ValidateCurrentLine;
146388 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
146389
146390 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
146391 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
146392 ,p_balance_type_code => l_balance_type_code);
146393
146394 END IF;
146395
146396 -----------------------------------------------------------------------------------------
146397 -- 4262811 Multiperiod Accounting
146398 -----------------------------------------------------------------------------------------
146399 -- No MPA option is assigned.
146400
146401
146402 END IF;
146403 END IF;
146404 --
146405
146406 --
146407 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
146408 trace
146409 (p_msg => 'END of AcctLineType_240'
146410 ,p_level => C_LEVEL_PROCEDURE
146411 ,p_module => l_log_module);
146412 END IF;
146413 --
146414 EXCEPTION
146415 WHEN xla_exceptions_pkg.application_exception THEN
146416 RAISE;
146417 WHEN OTHERS THEN
146418 xla_exceptions_pkg.raise_message
146419 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_240');
146423 ---------------------------------------
146420 END AcctLineType_240;
146421 --
146422
146424 --
146425 -- PRIVATE FUNCTION
146426 -- AcctLineType_241
146427 --
146428 ---------------------------------------
146429 PROCEDURE AcctLineType_241 (
146430 p_application_id IN NUMBER
146431 ,p_event_id IN NUMBER
146432 ,p_calculate_acctd_flag IN VARCHAR2
146433 ,p_calculate_g_l_flag IN VARCHAR2
146434 ,p_actual_flag IN OUT VARCHAR2
146435 ,p_balance_type_code OUT VARCHAR2
146436 ,p_gain_or_loss_ref OUT VARCHAR2
146437
146438 --Invoice Distribution Description
146439 , p_source_1 IN VARCHAR2
146440 --Invoice Distribution Ledger Amount
146441 , p_source_9 IN NUMBER
146442 --Invoice Distribution Type
146443 , p_source_21 IN VARCHAR2
146444 , p_source_21_meaning IN VARCHAR2
146445 --Self-Assessed Tax Account
146446 , p_source_38 IN NUMBER
146447 --Accounting Reversal Indicator
146448 , p_source_41 IN VARCHAR2
146449 --Distribution Link Type
146450 , p_source_43 IN VARCHAR2
146451 --Allocation to Main Distribution Identifier
146452 , p_source_45 IN NUMBER
146453 --Invoice Identifier
146454 , p_source_46 IN NUMBER
146455 --Invoice Distribution Identifier
146456 , p_source_52 IN NUMBER
146457 --Payables Encumbrance Upgrade Credit Account
146458 , p_source_53 IN NUMBER
146459 --Payables Encumbrance Upgrade Credit Amount
146460 , p_source_54 IN NUMBER
146461 --Invoice Currency Code
146462 , p_source_55 IN VARCHAR2
146463 --Payables Encumbrance Upgrade Credit Base Amount
146464 , p_source_56 IN NUMBER
146465 --Payables Encumbrance Upgrade Debit Account
146466 , p_source_57 IN NUMBER
146467 --Payables Encumbrance Upgrade Debit Amount
146468 , p_source_58 IN NUMBER
146469 --Payables Encumbrance Upgrade Debit Base Amount
146470 , p_source_59 IN NUMBER
146471 --Payables Encumbrance Upgrade Option
146472 , p_source_60 IN VARCHAR2
146473 --Invoice Distribution Amount
146474 , p_source_61 IN NUMBER
146475 --Deferred Accounting End Date
146476 , p_source_65 IN DATE
146477 --Deferred Accounting Option
146478 , p_source_66 IN VARCHAR2
146479 --Deferred Accounting Start Date
146480 , p_source_67 IN DATE
146481 --Override Accounted Amount Indicator
146482 , p_source_68 IN VARCHAR2
146483 , p_source_68_meaning IN VARCHAR2
146484 --Invoice Supplier Identifier
146485 , p_source_69 IN NUMBER
146486 --Invoice Supplier Site Identifier
146487 , p_source_70 IN NUMBER
146488 --Third Party Type
146489 , p_source_71 IN VARCHAR2
146490 --Parent Reversal Identifier
146491 , p_source_72 IN NUMBER
146492 --Invoice Distribution Statistical Amount
146493 , p_source_73 IN NUMBER
146494 --Invoice Distribution Tax Line Identifier
146495 , p_source_74 IN NUMBER
146496 --Invoice Distribution Tax Distribution Identifier from Tax
146497 , p_source_75 IN NUMBER
146498 --Invoice Distribution Summary Tax Line Identifier
146499 , p_source_76 IN NUMBER
146500 --Payables Upgrade Credit Encumbrance Type Identifier
146501 , p_source_77 IN NUMBER
146502 --Payables Upgrade Debit Encumbrance Type Identifier
146503 , p_source_78 IN NUMBER
146504 --Business Flow Accounts Payable Application Identifier
146505 , p_source_79 IN NUMBER
146506 --Business Flow Invoice Distribution Type
146507 , p_source_80 IN VARCHAR2
146508 --Business Flow Invoice Entity Code
146509 , p_source_81 IN VARCHAR2
146510 --Business Flow Invoice Distribution Identifier
146511 , p_source_82 IN NUMBER
146512 --Business Flow Invoice Identifier
146513 , p_source_83 IN NUMBER
146514 --Self-Assessed Tax Flag
146515 , p_source_135 IN VARCHAR2
146516 , p_source_135_meaning IN VARCHAR2
146517 --Invoice Exchange Date
146518 , p_source_136 IN DATE
146519 --Invoice Exchange Rate
146520 , p_source_137 IN NUMBER
146521 --Invoice Exchange Rate Type
146522 , p_source_138 IN VARCHAR2
146523 )
146524 IS
146525
146526 l_component_type VARCHAR2(80);
146527 l_component_code VARCHAR2(30);
146528 l_component_type_code VARCHAR2(1);
146529 l_component_appl_id INTEGER;
146530 l_amb_context_code VARCHAR2(30);
146531 l_entity_code VARCHAR2(30);
146532 l_event_class_code VARCHAR2(30);
146533 l_ae_header_id NUMBER;
146534 l_event_type_code VARCHAR2(30);
146535 l_line_definition_code VARCHAR2(30);
146536 l_line_definition_owner_code VARCHAR2(1);
146537 --
146538 -- adr variables
146539 l_segment VARCHAR2(30);
146540 l_ccid NUMBER;
146541 l_adr_transaction_coa_id NUMBER;
146542 l_adr_accounting_coa_id NUMBER;
146543 l_adr_flexfield_segment_code VARCHAR2(30);
146544 l_adr_flex_value_set_id NUMBER;
146545 l_adr_value_type_code VARCHAR2(30);
146546 l_adr_value_combination_id NUMBER;
146547 l_adr_value_segment_code VARCHAR2(30);
146548
146549 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
146550 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
146551 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
146552 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
146553
146557 l_acc_rev_flag VARCHAR2(1);
146554 -- 4262811 Variables ------------------------------------------------------------------------------------------
146555 l_entered_amt_idx NUMBER;
146556 l_accted_amt_idx NUMBER;
146558 l_accrual_line_num NUMBER;
146559 l_tmp_amt NUMBER;
146560 l_acc_rev_natural_side_code VARCHAR2(1);
146561
146562 l_num_entries NUMBER;
146563 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
146564 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
146565 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
146566 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
146567 l_recog_line_1 NUMBER;
146568 l_recog_line_2 NUMBER;
146569
146570 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
146571 l_bflow_applied_to_amt NUMBER; -- 5132302
146572 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
146573
146574 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
146575
146576 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
146577 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
146578
146579 ---------------------------------------------------------------------------------------------------------------
146580
146581
146582 --
146583 -- bulk performance
146584 --
146585 l_balance_type_code VARCHAR2(1);
146586 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
146587 l_log_module VARCHAR2(240);
146588
146589 --
146590 -- Upgrade strategy
146591 --
146592 l_actual_upg_option VARCHAR2(1);
146593 l_enc_upg_option VARCHAR2(1);
146594
146595 --
146596 BEGIN
146597 --
146598 IF g_log_enabled THEN
146599 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_241';
146600 END IF;
146601 --
146602 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
146603
146604 trace
146605 (p_msg => 'BEGIN of AcctLineType_241'
146606 ,p_level => C_LEVEL_PROCEDURE
146607 ,p_module => l_log_module);
146608
146609 END IF;
146610 --
146611 l_component_type := 'AMB_JLT';
146612 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_CM';
146613 l_component_type_code := 'S';
146614 l_component_appl_id := 200;
146615 l_amb_context_code := 'DEFAULT';
146616 l_entity_code := 'AP_INVOICES';
146617 l_event_class_code := 'CREDIT MEMOS';
146618 l_event_type_code := 'CREDIT MEMOS_ALL';
146619 l_line_definition_owner_code := 'S';
146620 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
146621 --
146622 l_balance_type_code := 'A';
146623 l_segment := NULL;
146624 l_ccid := NULL;
146625 l_adr_transaction_coa_id := NULL;
146626 l_adr_accounting_coa_id := NULL;
146627 l_adr_flexfield_segment_code := NULL;
146628 l_adr_flex_value_set_id := NULL;
146629 l_adr_value_type_code := NULL;
146630 l_adr_value_combination_id := NULL;
146631 l_adr_value_segment_code := NULL;
146632
146633 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
146634 l_bflow_class_code := ''; -- 4219869 Business Flow
146635 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
146636 l_budgetary_control_flag := 'N';
146637
146638 l_bflow_applied_to_amt_idx := NULL; -- 5132302
146639 l_bflow_applied_to_amt := NULL; -- 5132302
146640 l_entered_amt_idx := NULL; -- 4262811
146641 l_accted_amt_idx := NULL; -- 4262811
146642 l_acc_rev_flag := NULL; -- 4262811
146643 l_accrual_line_num := NULL; -- 4262811
146644 l_tmp_amt := NULL; -- 4262811
146645 --
146646
146647 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
146648 l_balance_type_code <> 'B' THEN
146649 IF NVL(p_source_21,'
146650 ') = 'REC_TAX' AND
146651 NVL(p_source_135,'
146652 ') = 'Y'
146653 THEN
146654
146655 --
146656 XLA_AE_LINES_PKG.SetNewLine;
146657
146658 p_balance_type_code := l_balance_type_code;
146659 -- set the flag so later we will know whether the gain loss line needs to be created
146660
146661 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
146662 p_actual_flag :='A';
146663 END IF;
146664
146665 --
146666 -- bulk performance
146667 --
146668 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
146669 p_header_num => 0); -- 4262811
146670 --
146671 -- set accounting line options
146672 --
146673 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
146674 p_natural_side_code => 'D'
146675 , p_gain_or_loss_flag => 'N'
146676 , p_gl_transfer_mode_code => 'S'
146677 , p_acct_entry_type_code => 'A'
146678 , p_switch_side_flag => 'Y'
146679 , p_merge_duplicate_code => 'A'
146680 );
146681 --
146682 l_acc_rev_natural_side_code := 'C'; -- 4262811
146683 --
146684 --
146688 (p_component_type => l_component_type
146685 -- set accounting line type info
146686 --
146687 xla_ae_lines_pkg.SetAcctLineType
146689 ,p_event_type_code => l_event_type_code
146690 ,p_line_definition_owner_code => l_line_definition_owner_code
146691 ,p_line_definition_code => l_line_definition_code
146692 ,p_accounting_line_code => l_component_code
146693 ,p_accounting_line_type_code => l_component_type_code
146694 ,p_accounting_line_appl_id => l_component_appl_id
146695 ,p_amb_context_code => l_amb_context_code
146696 ,p_entity_code => l_entity_code
146697 ,p_event_class_code => l_event_class_code);
146698 --
146699 -- set accounting class
146700 --
146701 xla_ae_lines_pkg.SetAcctClass(
146702 p_accounting_class_code => 'SELF_ASSESSED_TAX'
146703 , p_ae_header_id => l_ae_header_id
146704 );
146705
146706 --
146707 -- set rounding class
146708 --
146709 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
146710 'SELF_ASSESSED_TAX';
146711
146712 --
146713 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
146714 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
146715 --
146716 -- bulk performance
146717 --
146718 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
146719
146720 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
146721 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
146722
146723 -- 4955764
146724 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
146725 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
146726
146727 -- 4458381 Public Sector Enh
146728
146729 --
146730 -- set accounting attributes for the line type
146731 --
146732 l_entered_amt_idx := 23;
146733 l_accted_amt_idx := 28;
146734 l_bflow_applied_to_amt_idx := NULL; -- 5132302
146735 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
146736 l_rec_acct_attrs.array_char_value(1) := p_source_41;
146737 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
146738 l_rec_acct_attrs.array_num_value(2) :=
146739 xla_ae_sources_pkg.GetSystemSourceNum(
146740 p_source_code => 'XLA_EVENT_APPL_ID'
146741 , p_source_type_code => 'Y'
146742 , p_source_application_id => 602
146743 );
146744 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
146745 l_rec_acct_attrs.array_char_value(3) := p_source_43;
146746 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
146747 l_rec_acct_attrs.array_char_value(4) :=
146748 xla_ae_sources_pkg.GetSystemSourceChar(
146749 p_source_code => 'XLA_ENTITY_CODE'
146750 , p_source_type_code => 'Y'
146751 , p_source_application_id => 602
146752 );
146753 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
146754 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
146755 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
146756 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
146757 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
146758 l_rec_acct_attrs.array_num_value(7) := p_source_79;
146759 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
146760 l_rec_acct_attrs.array_char_value(8) := p_source_80;
146761 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
146762 l_rec_acct_attrs.array_char_value(9) := p_source_81;
146763 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
146764 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
146765 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
146766 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
146767 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
146768 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
146769 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
146770 l_rec_acct_attrs.array_char_value(13) := p_source_43;
146771 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
146772 l_rec_acct_attrs.array_num_value(14) := p_source_53;
146773 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
146774 l_rec_acct_attrs.array_num_value(15) := p_source_54;
146775 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
146776 l_rec_acct_attrs.array_char_value(16) := p_source_55;
146777 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
146778 l_rec_acct_attrs.array_num_value(17) := p_source_56;
146779 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
146780 l_rec_acct_attrs.array_num_value(18) := p_source_57;
146781 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
146782 l_rec_acct_attrs.array_num_value(19) := p_source_58;
146783 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
146784 l_rec_acct_attrs.array_char_value(20) := p_source_55;
146785 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
146786 l_rec_acct_attrs.array_num_value(21) := p_source_59;
146790 l_rec_acct_attrs.array_num_value(23) := p_source_61;
146787 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
146788 l_rec_acct_attrs.array_char_value(22) := p_source_60;
146789 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
146791 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
146792 l_rec_acct_attrs.array_char_value(24) := p_source_55;
146793 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
146794 l_rec_acct_attrs.array_date_value(25) := p_source_136;
146795 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
146796 l_rec_acct_attrs.array_num_value(26) := p_source_137;
146797 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
146798 l_rec_acct_attrs.array_char_value(27) := p_source_138;
146799 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
146800 l_rec_acct_attrs.array_num_value(28) := p_source_9;
146801 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
146802 l_rec_acct_attrs.array_date_value(29) := p_source_65;
146803 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
146804 l_rec_acct_attrs.array_char_value(30) := p_source_66;
146805 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
146806 l_rec_acct_attrs.array_date_value(31) := p_source_67;
146807 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
146808 l_rec_acct_attrs.array_char_value(32) := p_source_68;
146809 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
146810 l_rec_acct_attrs.array_num_value(33) := p_source_69;
146811 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
146812 l_rec_acct_attrs.array_num_value(34) := p_source_70;
146813 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
146814 l_rec_acct_attrs.array_char_value(35) := p_source_71;
146815 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
146816 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
146817 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
146818 l_rec_acct_attrs.array_char_value(37) := p_source_43;
146819 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
146820 l_rec_acct_attrs.array_num_value(38) := p_source_73;
146821 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
146822 l_rec_acct_attrs.array_num_value(39) := p_source_74;
146823 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
146824 l_rec_acct_attrs.array_num_value(40) := p_source_75;
146825 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
146826 l_rec_acct_attrs.array_num_value(41) := p_source_76;
146827 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
146828 l_rec_acct_attrs.array_num_value(42) := p_source_77;
146829 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
146830 l_rec_acct_attrs.array_num_value(43) := p_source_78;
146831
146832 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
146833 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
146834
146835 ---------------------------------------------------------------------------------------------------------------
146836 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
146837 ---------------------------------------------------------------------------------------------------------------
146838 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
146839
146840 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
146841 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
146842
146843 IF xla_accounting_cache_pkg.GetValueChar
146844 (p_source_code => 'LEDGER_CATEGORY_CODE'
146845 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
146846 AND l_bflow_method_code = 'PRIOR_ENTRY'
146847 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
146848 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
146849 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
146850 )
146851 THEN
146852 xla_ae_lines_pkg.BflowUpgEntry
146853 (p_business_method_code => l_bflow_method_code
146854 ,p_business_class_code => l_bflow_class_code
146855 ,p_balance_type => l_balance_type_code);
146856 ELSE
146857 NULL;
146858 -- No business flow processing for business flow method of NONE.
146859 END IF;
146860
146861 --
146862 -- call analytical criteria
146863 --
146864
146865 --
146866 -- call description
146867 --
146868
146869 xla_ae_lines_pkg.SetLineDescription(
146870 p_ae_header_id => l_ae_header_id
146871 ,p_description => Description_2 (
146872 p_application_id => p_application_id
146873 , p_ae_header_id => l_ae_header_id
146874 , p_source_1 => p_source_1
146875 )
146876 );
146877
146878
146879 --
146880 -- call ADRs
146881 -- Bug 4922099
146882 --
146883 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
146884 (NVL(l_actual_upg_option, 'N') = 'O') OR
146885 (NVL(l_enc_upg_option, 'N') = 'O')
146886 )
146887 THEN
146888 NULL;
146889 --
146890 --
146891
146892 l_ccid := AcctDerRule_41(
146896 , x_transaction_coa_id => l_adr_transaction_coa_id
146893 p_application_id => p_application_id
146894 , p_ae_header_id => l_ae_header_id
146895 , p_source_38 => p_source_38
146897 , x_accounting_coa_id => l_adr_accounting_coa_id
146898 , x_value_type_code => l_adr_value_type_code
146899 , p_side => 'NA'
146900 );
146901
146902 xla_ae_lines_pkg.set_ccid(
146903 p_code_combination_id => l_ccid
146904 , p_value_type_code => l_adr_value_type_code
146905 , p_transaction_coa_id => l_adr_transaction_coa_id
146906 , p_accounting_coa_id => l_adr_accounting_coa_id
146907 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
146908 , p_adr_type_code => 'S'
146909 , p_component_type => l_component_type
146910 , p_component_code => l_component_code
146911 , p_component_type_code => l_component_type_code
146912 , p_component_appl_id => l_component_appl_id
146913 , p_amb_context_code => l_amb_context_code
146914 , p_side => 'NA'
146915 );
146916
146917
146918 --
146919 --
146920 END IF;
146921 --
146922 -- Bug 4922099
146923 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
146924 (NVL(l_enc_upg_option, 'N') = 'O')
146925 ) AND
146926 (l_bflow_method_code = 'PRIOR_ENTRY')
146927 )
146928 THEN
146929 IF
146930 --
146931 1 = 2
146932 --
146933 THEN
146934 xla_accounting_err_pkg.build_message
146935 (p_appli_s_name => 'XLA'
146936 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
146937 ,p_token_1 => 'LINE_NUMBER'
146938 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
146939 ,p_token_2 => 'LINE_TYPE_NAME'
146940 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
146941 l_component_type
146942 ,l_component_code
146943 ,l_component_type_code
146944 ,l_component_appl_id
146945 ,l_amb_context_code
146946 ,l_entity_code
146947 ,l_event_class_code
146948 )
146949 ,p_token_3 => 'OWNER'
146950 ,p_value_3 => xla_lookups_pkg.get_meaning(
146951 p_lookup_type => 'XLA_OWNER_TYPE'
146952 ,p_lookup_code => l_component_type_code
146953 )
146954 ,p_token_4 => 'PRODUCT_NAME'
146955 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
146956 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
146957 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
146958 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
146959 ,p_ae_header_id => NULL
146960 );
146961
146962 IF (C_LEVEL_ERROR>= g_log_level) THEN
146963 trace
146964 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
146965 ,p_level => C_LEVEL_ERROR
146966 ,p_module => l_log_module);
146967 END IF;
146968 END IF;
146969 END IF;
146970 --
146971 --
146972 ------------------------------------------------------------------------------------------------
146973 -- 4219869 Business Flow
146974 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
146975 -- Prior Entry. Currently, the following code is always generated.
146976 ------------------------------------------------------------------------------------------------
146977 XLA_AE_LINES_PKG.ValidateCurrentLine;
146978
146979 ------------------------------------------------------------------------------------
146980 -- 4219869 Business Flow
146981 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
146982 ------------------------------------------------------------------------------------
146983 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
146984
146985 ----------------------------------------------------------------------------------
146986 -- 4219869 Business Flow
146987 -- Update journal entry status -- Need to generate this within IF <condition>
146988 ----------------------------------------------------------------------------------
146989 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
146993
146990 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
146991 ,p_balance_type_code => l_balance_type_code
146992 );
146994 -------------------------------------------------------------------------------------------
146995 -- 4262811 - Generate the Accrual Reversal lines
146996 -------------------------------------------------------------------------------------------
146997 BEGIN
146998 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
146999 (g_array_event(p_event_id).array_value_num('header_index'));
147000 IF l_acc_rev_flag IS NULL THEN
147001 l_acc_rev_flag := 'N';
147002 END IF;
147003 EXCEPTION
147004 WHEN OTHERS THEN
147005 l_acc_rev_flag := 'N';
147006 END;
147007 --
147008 IF (l_acc_rev_flag = 'Y') THEN
147009
147010 -- 4645092 ------------------------------------------------------------------------------
147011 -- To allow MPA report to determine if it should generate report process
147012 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
147013 ------------------------------------------------------------------------------------------
147014
147015 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
147016 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
147017 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
147018 -- call ADRs
147019 -- Bug 4922099
147020 --
147021 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
147022 (NVL(l_actual_upg_option, 'N') = 'O') OR
147023 (NVL(l_enc_upg_option, 'N') = 'O')
147024 )
147025 THEN
147026 NULL;
147027 --
147028 --
147029
147030 l_ccid := AcctDerRule_41(
147031 p_application_id => p_application_id
147032 , p_ae_header_id => l_ae_header_id
147033 , p_source_38 => p_source_38
147034 , x_transaction_coa_id => l_adr_transaction_coa_id
147035 , x_accounting_coa_id => l_adr_accounting_coa_id
147036 , x_value_type_code => l_adr_value_type_code
147037 , p_side => 'NA'
147038 );
147039
147040 xla_ae_lines_pkg.set_ccid(
147041 p_code_combination_id => l_ccid
147042 , p_value_type_code => l_adr_value_type_code
147043 , p_transaction_coa_id => l_adr_transaction_coa_id
147044 , p_accounting_coa_id => l_adr_accounting_coa_id
147045 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
147046 , p_adr_type_code => 'S'
147047 , p_component_type => l_component_type
147048 , p_component_code => l_component_code
147049 , p_component_type_code => l_component_type_code
147050 , p_component_appl_id => l_component_appl_id
147051 , p_amb_context_code => l_amb_context_code
147052 , p_side => 'NA'
147053 );
147054
147055
147056 --
147057 --
147058 END IF;
147059
147060 --
147061 -- Update the line information that should be overwritten
147062 --
147063 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
147064 p_header_num => 1);
147065 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
147066
147067 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
147068
147069 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
147070 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
147071 END IF;
147072
147073 --
147074 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
147075 --
147076 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
147077 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
147078 ELSE
147079 ---------------------------------------------------------------------------------------------------
147080 -- 4262811a Switch Sign
147081 ---------------------------------------------------------------------------------------------------
147082 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
147083 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
147084 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147085 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
147086 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147087 -- 5132302
147088 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
147089 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147090
147091 END IF;
147092
147093 -- 4955764
147094 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
147095 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
147096
147097
147098 XLA_AE_LINES_PKG.ValidateCurrentLine;
147099 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
147100
147101 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
147105 END IF;
147102 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
147103 ,p_balance_type_code => l_balance_type_code);
147104
147106
147107 -----------------------------------------------------------------------------------------
147108 -- 4262811 Multiperiod Accounting
147109 -----------------------------------------------------------------------------------------
147110 -- No MPA option is assigned.
147111
147112
147113 END IF;
147114 END IF;
147115 --
147116
147117 --
147118 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147119 trace
147120 (p_msg => 'END of AcctLineType_241'
147121 ,p_level => C_LEVEL_PROCEDURE
147122 ,p_module => l_log_module);
147123 END IF;
147124 --
147125 EXCEPTION
147126 WHEN xla_exceptions_pkg.application_exception THEN
147127 RAISE;
147128 WHEN OTHERS THEN
147129 xla_exceptions_pkg.raise_message
147130 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_241');
147131 END AcctLineType_241;
147132 --
147133
147134 ---------------------------------------
147135 --
147136 -- PRIVATE FUNCTION
147137 -- AcctLineType_242
147138 --
147139 ---------------------------------------
147140 PROCEDURE AcctLineType_242 (
147141 p_application_id IN NUMBER
147142 ,p_event_id IN NUMBER
147143 ,p_calculate_acctd_flag IN VARCHAR2
147144 ,p_calculate_g_l_flag IN VARCHAR2
147145 ,p_actual_flag IN OUT VARCHAR2
147146 ,p_balance_type_code OUT VARCHAR2
147147 ,p_gain_or_loss_ref OUT VARCHAR2
147148
147149 --Invoice Distribution Description
147150 , p_source_1 IN VARCHAR2
147151 --Invoice Distribution Ledger Amount
147152 , p_source_9 IN NUMBER
147153 --Invoice Distribution Type
147154 , p_source_21 IN VARCHAR2
147155 , p_source_21_meaning IN VARCHAR2
147156 --Self-Assessed Tax Account
147157 , p_source_38 IN NUMBER
147158 --Accounting Reversal Indicator
147159 , p_source_41 IN VARCHAR2
147160 --Distribution Link Type
147161 , p_source_43 IN VARCHAR2
147162 --Allocation to Main Distribution Identifier
147163 , p_source_45 IN NUMBER
147164 --Invoice Identifier
147165 , p_source_46 IN NUMBER
147166 --Invoice Distribution Identifier
147167 , p_source_52 IN NUMBER
147168 --Payables Encumbrance Upgrade Credit Account
147169 , p_source_53 IN NUMBER
147170 --Payables Encumbrance Upgrade Credit Amount
147171 , p_source_54 IN NUMBER
147172 --Invoice Currency Code
147173 , p_source_55 IN VARCHAR2
147174 --Payables Encumbrance Upgrade Credit Base Amount
147175 , p_source_56 IN NUMBER
147176 --Payables Encumbrance Upgrade Debit Account
147177 , p_source_57 IN NUMBER
147178 --Payables Encumbrance Upgrade Debit Amount
147179 , p_source_58 IN NUMBER
147180 --Payables Encumbrance Upgrade Debit Base Amount
147181 , p_source_59 IN NUMBER
147182 --Payables Encumbrance Upgrade Option
147183 , p_source_60 IN VARCHAR2
147184 --Invoice Distribution Amount
147185 , p_source_61 IN NUMBER
147186 --Deferred Accounting End Date
147187 , p_source_65 IN DATE
147188 --Deferred Accounting Option
147189 , p_source_66 IN VARCHAR2
147190 --Deferred Accounting Start Date
147191 , p_source_67 IN DATE
147192 --Override Accounted Amount Indicator
147193 , p_source_68 IN VARCHAR2
147194 , p_source_68_meaning IN VARCHAR2
147195 --Invoice Supplier Identifier
147196 , p_source_69 IN NUMBER
147197 --Invoice Supplier Site Identifier
147198 , p_source_70 IN NUMBER
147199 --Third Party Type
147200 , p_source_71 IN VARCHAR2
147201 --Parent Reversal Identifier
147202 , p_source_72 IN NUMBER
147203 --Invoice Distribution Tax Line Identifier
147204 , p_source_74 IN NUMBER
147205 --Invoice Distribution Tax Distribution Identifier from Tax
147206 , p_source_75 IN NUMBER
147207 --Invoice Distribution Summary Tax Line Identifier
147208 , p_source_76 IN NUMBER
147209 --Payables Upgrade Credit Encumbrance Type Identifier
147210 , p_source_77 IN NUMBER
147211 --Payables Upgrade Debit Encumbrance Type Identifier
147212 , p_source_78 IN NUMBER
147213 --Business Flow Accounts Payable Application Identifier
147214 , p_source_79 IN NUMBER
147215 --Business Flow Invoice Distribution Type
147216 , p_source_80 IN VARCHAR2
147217 --Business Flow Invoice Entity Code
147218 , p_source_81 IN VARCHAR2
147219 --Business Flow Invoice Distribution Identifier
147220 , p_source_82 IN NUMBER
147221 --Business Flow Invoice Identifier
147222 , p_source_83 IN NUMBER
147223 --Self-Assessed Tax Flag
147224 , p_source_135 IN VARCHAR2
147225 , p_source_135_meaning IN VARCHAR2
147226 --Invoice Exchange Date
147227 , p_source_136 IN DATE
147228 --Invoice Exchange Rate
147229 , p_source_137 IN NUMBER
147230 --Invoice Exchange Rate Type
147231 , p_source_138 IN VARCHAR2
147232 )
147233 IS
147234
147235 l_component_type VARCHAR2(80);
147236 l_component_code VARCHAR2(30);
147237 l_component_type_code VARCHAR2(1);
147238 l_component_appl_id INTEGER;
147239 l_amb_context_code VARCHAR2(30);
147243 l_event_type_code VARCHAR2(30);
147240 l_entity_code VARCHAR2(30);
147241 l_event_class_code VARCHAR2(30);
147242 l_ae_header_id NUMBER;
147244 l_line_definition_code VARCHAR2(30);
147245 l_line_definition_owner_code VARCHAR2(1);
147246 --
147247 -- adr variables
147248 l_segment VARCHAR2(30);
147249 l_ccid NUMBER;
147250 l_adr_transaction_coa_id NUMBER;
147251 l_adr_accounting_coa_id NUMBER;
147252 l_adr_flexfield_segment_code VARCHAR2(30);
147253 l_adr_flex_value_set_id NUMBER;
147254 l_adr_value_type_code VARCHAR2(30);
147255 l_adr_value_combination_id NUMBER;
147256 l_adr_value_segment_code VARCHAR2(30);
147257
147258 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
147259 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
147260 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
147261 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
147262
147263 -- 4262811 Variables ------------------------------------------------------------------------------------------
147264 l_entered_amt_idx NUMBER;
147265 l_accted_amt_idx NUMBER;
147266 l_acc_rev_flag VARCHAR2(1);
147267 l_accrual_line_num NUMBER;
147268 l_tmp_amt NUMBER;
147269 l_acc_rev_natural_side_code VARCHAR2(1);
147270
147271 l_num_entries NUMBER;
147272 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
147273 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
147274 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
147275 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
147276 l_recog_line_1 NUMBER;
147277 l_recog_line_2 NUMBER;
147278
147279 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
147280 l_bflow_applied_to_amt NUMBER; -- 5132302
147281 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
147282
147283 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
147284
147285 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
147286 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
147287
147288 ---------------------------------------------------------------------------------------------------------------
147289
147290
147291 --
147292 -- bulk performance
147293 --
147294 l_balance_type_code VARCHAR2(1);
147295 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
147296 l_log_module VARCHAR2(240);
147297
147298 --
147299 -- Upgrade strategy
147300 --
147301 l_actual_upg_option VARCHAR2(1);
147302 l_enc_upg_option VARCHAR2(1);
147303
147304 --
147305 BEGIN
147306 --
147307 IF g_log_enabled THEN
147308 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_242';
147309 END IF;
147310 --
147311 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147312
147313 trace
147314 (p_msg => 'BEGIN of AcctLineType_242'
147315 ,p_level => C_LEVEL_PROCEDURE
147316 ,p_module => l_log_module);
147317
147318 END IF;
147319 --
147320 l_component_type := 'AMB_JLT';
147321 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_DM';
147322 l_component_type_code := 'S';
147323 l_component_appl_id := 200;
147324 l_amb_context_code := 'DEFAULT';
147325 l_entity_code := 'AP_INVOICES';
147326 l_event_class_code := 'DEBIT MEMOS';
147327 l_event_type_code := 'DEBIT MEMOS_ALL';
147328 l_line_definition_owner_code := 'S';
147329 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
147330 --
147331 l_balance_type_code := 'A';
147332 l_segment := NULL;
147333 l_ccid := NULL;
147334 l_adr_transaction_coa_id := NULL;
147335 l_adr_accounting_coa_id := NULL;
147336 l_adr_flexfield_segment_code := NULL;
147337 l_adr_flex_value_set_id := NULL;
147338 l_adr_value_type_code := NULL;
147339 l_adr_value_combination_id := NULL;
147340 l_adr_value_segment_code := NULL;
147341
147342 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
147343 l_bflow_class_code := ''; -- 4219869 Business Flow
147344 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
147345 l_budgetary_control_flag := 'N';
147346
147347 l_bflow_applied_to_amt_idx := NULL; -- 5132302
147348 l_bflow_applied_to_amt := NULL; -- 5132302
147349 l_entered_amt_idx := NULL; -- 4262811
147350 l_accted_amt_idx := NULL; -- 4262811
147351 l_acc_rev_flag := NULL; -- 4262811
147352 l_accrual_line_num := NULL; -- 4262811
147353 l_tmp_amt := NULL; -- 4262811
147354 --
147355
147356 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
147357 l_balance_type_code <> 'B' THEN
147358 IF NVL(p_source_21,'
147359 ') = 'REC_TAX' AND
147360 NVL(p_source_135,'
147361 ') = 'Y'
147362 THEN
147363
147364 --
147365 XLA_AE_LINES_PKG.SetNewLine;
147366
147367 p_balance_type_code := l_balance_type_code;
147371 p_actual_flag :='A';
147368 -- set the flag so later we will know whether the gain loss line needs to be created
147369
147370 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
147372 END IF;
147373
147374 --
147375 -- bulk performance
147376 --
147377 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
147378 p_header_num => 0); -- 4262811
147379 --
147380 -- set accounting line options
147381 --
147382 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
147383 p_natural_side_code => 'D'
147384 , p_gain_or_loss_flag => 'N'
147385 , p_gl_transfer_mode_code => 'S'
147386 , p_acct_entry_type_code => 'A'
147387 , p_switch_side_flag => 'Y'
147388 , p_merge_duplicate_code => 'A'
147389 );
147390 --
147391 l_acc_rev_natural_side_code := 'C'; -- 4262811
147392 --
147393 --
147394 -- set accounting line type info
147395 --
147396 xla_ae_lines_pkg.SetAcctLineType
147397 (p_component_type => l_component_type
147398 ,p_event_type_code => l_event_type_code
147399 ,p_line_definition_owner_code => l_line_definition_owner_code
147400 ,p_line_definition_code => l_line_definition_code
147401 ,p_accounting_line_code => l_component_code
147402 ,p_accounting_line_type_code => l_component_type_code
147403 ,p_accounting_line_appl_id => l_component_appl_id
147404 ,p_amb_context_code => l_amb_context_code
147405 ,p_entity_code => l_entity_code
147406 ,p_event_class_code => l_event_class_code);
147407 --
147408 -- set accounting class
147409 --
147410 xla_ae_lines_pkg.SetAcctClass(
147411 p_accounting_class_code => 'SELF_ASSESSED_TAX'
147412 , p_ae_header_id => l_ae_header_id
147413 );
147414
147415 --
147416 -- set rounding class
147417 --
147418 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
147419 'SELF_ASSESSED_TAX';
147420
147421 --
147422 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
147423 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
147424 --
147425 -- bulk performance
147426 --
147427 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
147428
147429 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
147430 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
147431
147432 -- 4955764
147433 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
147434 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
147435
147436 -- 4458381 Public Sector Enh
147437
147438 --
147439 -- set accounting attributes for the line type
147440 --
147441 l_entered_amt_idx := 23;
147442 l_accted_amt_idx := 28;
147443 l_bflow_applied_to_amt_idx := NULL; -- 5132302
147444 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
147445 l_rec_acct_attrs.array_char_value(1) := p_source_41;
147446 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
147447 l_rec_acct_attrs.array_num_value(2) :=
147448 xla_ae_sources_pkg.GetSystemSourceNum(
147449 p_source_code => 'XLA_EVENT_APPL_ID'
147450 , p_source_type_code => 'Y'
147451 , p_source_application_id => 602
147452 );
147453 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
147454 l_rec_acct_attrs.array_char_value(3) := p_source_43;
147455 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
147456 l_rec_acct_attrs.array_char_value(4) :=
147457 xla_ae_sources_pkg.GetSystemSourceChar(
147458 p_source_code => 'XLA_ENTITY_CODE'
147459 , p_source_type_code => 'Y'
147460 , p_source_application_id => 602
147461 );
147462 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
147463 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
147464 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
147465 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
147466 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
147467 l_rec_acct_attrs.array_num_value(7) := p_source_79;
147468 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
147469 l_rec_acct_attrs.array_char_value(8) := p_source_80;
147470 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
147471 l_rec_acct_attrs.array_char_value(9) := p_source_81;
147472 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
147473 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
147474 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
147475 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
147476 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
147477 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
147478 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
147479 l_rec_acct_attrs.array_char_value(13) := p_source_43;
147483 l_rec_acct_attrs.array_num_value(15) := p_source_54;
147480 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
147481 l_rec_acct_attrs.array_num_value(14) := p_source_53;
147482 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
147484 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
147485 l_rec_acct_attrs.array_char_value(16) := p_source_55;
147486 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
147487 l_rec_acct_attrs.array_num_value(17) := p_source_56;
147488 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
147489 l_rec_acct_attrs.array_num_value(18) := p_source_57;
147490 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
147491 l_rec_acct_attrs.array_num_value(19) := p_source_58;
147492 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
147493 l_rec_acct_attrs.array_char_value(20) := p_source_55;
147494 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
147495 l_rec_acct_attrs.array_num_value(21) := p_source_59;
147496 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
147497 l_rec_acct_attrs.array_char_value(22) := p_source_60;
147498 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
147499 l_rec_acct_attrs.array_num_value(23) := p_source_61;
147500 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
147501 l_rec_acct_attrs.array_char_value(24) := p_source_55;
147502 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
147503 l_rec_acct_attrs.array_date_value(25) := p_source_136;
147504 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
147505 l_rec_acct_attrs.array_num_value(26) := p_source_137;
147506 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
147507 l_rec_acct_attrs.array_char_value(27) := p_source_138;
147508 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
147509 l_rec_acct_attrs.array_num_value(28) := p_source_9;
147510 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
147511 l_rec_acct_attrs.array_date_value(29) := p_source_65;
147512 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
147513 l_rec_acct_attrs.array_char_value(30) := p_source_66;
147514 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
147515 l_rec_acct_attrs.array_date_value(31) := p_source_67;
147516 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
147517 l_rec_acct_attrs.array_char_value(32) := p_source_68;
147518 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
147519 l_rec_acct_attrs.array_num_value(33) := p_source_69;
147520 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
147521 l_rec_acct_attrs.array_num_value(34) := p_source_70;
147522 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
147523 l_rec_acct_attrs.array_char_value(35) := p_source_71;
147524 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
147525 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
147526 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
147527 l_rec_acct_attrs.array_char_value(37) := p_source_43;
147528 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
147529 l_rec_acct_attrs.array_num_value(38) := p_source_74;
147530 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
147531 l_rec_acct_attrs.array_num_value(39) := p_source_75;
147532 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
147533 l_rec_acct_attrs.array_num_value(40) := p_source_76;
147534 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
147535 l_rec_acct_attrs.array_num_value(41) := p_source_77;
147536 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
147537 l_rec_acct_attrs.array_num_value(42) := p_source_78;
147538
147539 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
147540 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
147541
147542 ---------------------------------------------------------------------------------------------------------------
147543 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
147544 ---------------------------------------------------------------------------------------------------------------
147545 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
147546
147547 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
147548 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
147549
147550 IF xla_accounting_cache_pkg.GetValueChar
147551 (p_source_code => 'LEDGER_CATEGORY_CODE'
147552 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
147553 AND l_bflow_method_code = 'PRIOR_ENTRY'
147554 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
147555 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
147556 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
147557 )
147558 THEN
147559 xla_ae_lines_pkg.BflowUpgEntry
147560 (p_business_method_code => l_bflow_method_code
147561 ,p_business_class_code => l_bflow_class_code
147562 ,p_balance_type => l_balance_type_code);
147563 ELSE
147564 NULL;
147565 -- No business flow processing for business flow method of NONE.
147566 END IF;
147567
147568 --
147569 -- call analytical criteria
147573 -- call description
147570 --
147571
147572 --
147574 --
147575
147576 xla_ae_lines_pkg.SetLineDescription(
147577 p_ae_header_id => l_ae_header_id
147578 ,p_description => Description_2 (
147579 p_application_id => p_application_id
147580 , p_ae_header_id => l_ae_header_id
147581 , p_source_1 => p_source_1
147582 )
147583 );
147584
147585
147586 --
147587 -- call ADRs
147588 -- Bug 4922099
147589 --
147590 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
147591 (NVL(l_actual_upg_option, 'N') = 'O') OR
147592 (NVL(l_enc_upg_option, 'N') = 'O')
147593 )
147594 THEN
147595 NULL;
147596 --
147597 --
147598
147599 l_ccid := AcctDerRule_41(
147600 p_application_id => p_application_id
147601 , p_ae_header_id => l_ae_header_id
147602 , p_source_38 => p_source_38
147603 , x_transaction_coa_id => l_adr_transaction_coa_id
147604 , x_accounting_coa_id => l_adr_accounting_coa_id
147605 , x_value_type_code => l_adr_value_type_code
147606 , p_side => 'NA'
147607 );
147608
147609 xla_ae_lines_pkg.set_ccid(
147610 p_code_combination_id => l_ccid
147611 , p_value_type_code => l_adr_value_type_code
147612 , p_transaction_coa_id => l_adr_transaction_coa_id
147613 , p_accounting_coa_id => l_adr_accounting_coa_id
147614 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
147615 , p_adr_type_code => 'S'
147616 , p_component_type => l_component_type
147617 , p_component_code => l_component_code
147618 , p_component_type_code => l_component_type_code
147619 , p_component_appl_id => l_component_appl_id
147620 , p_amb_context_code => l_amb_context_code
147621 , p_side => 'NA'
147622 );
147623
147624
147625 --
147626 --
147627 END IF;
147628 --
147629 -- Bug 4922099
147630 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
147631 (NVL(l_enc_upg_option, 'N') = 'O')
147632 ) AND
147633 (l_bflow_method_code = 'PRIOR_ENTRY')
147634 )
147635 THEN
147636 IF
147637 --
147638 1 = 2
147639 --
147640 THEN
147641 xla_accounting_err_pkg.build_message
147642 (p_appli_s_name => 'XLA'
147643 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
147644 ,p_token_1 => 'LINE_NUMBER'
147645 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
147646 ,p_token_2 => 'LINE_TYPE_NAME'
147647 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
147648 l_component_type
147649 ,l_component_code
147650 ,l_component_type_code
147651 ,l_component_appl_id
147652 ,l_amb_context_code
147653 ,l_entity_code
147654 ,l_event_class_code
147655 )
147656 ,p_token_3 => 'OWNER'
147657 ,p_value_3 => xla_lookups_pkg.get_meaning(
147658 p_lookup_type => 'XLA_OWNER_TYPE'
147659 ,p_lookup_code => l_component_type_code
147660 )
147661 ,p_token_4 => 'PRODUCT_NAME'
147662 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
147663 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
147664 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
147665 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
147666 ,p_ae_header_id => NULL
147667 );
147668
147669 IF (C_LEVEL_ERROR>= g_log_level) THEN
147670 trace
147671 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
147672 ,p_level => C_LEVEL_ERROR
147673 ,p_module => l_log_module);
147674 END IF;
147675 END IF;
147676 END IF;
147677 --
147678 --
147679 ------------------------------------------------------------------------------------------------
147680 -- 4219869 Business Flow
147681 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
147682 -- Prior Entry. Currently, the following code is always generated.
147686 ------------------------------------------------------------------------------------
147683 ------------------------------------------------------------------------------------------------
147684 XLA_AE_LINES_PKG.ValidateCurrentLine;
147685
147687 -- 4219869 Business Flow
147688 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
147689 ------------------------------------------------------------------------------------
147690 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
147691
147692 ----------------------------------------------------------------------------------
147693 -- 4219869 Business Flow
147694 -- Update journal entry status -- Need to generate this within IF <condition>
147695 ----------------------------------------------------------------------------------
147696 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
147697 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
147698 ,p_balance_type_code => l_balance_type_code
147699 );
147700
147701 -------------------------------------------------------------------------------------------
147702 -- 4262811 - Generate the Accrual Reversal lines
147703 -------------------------------------------------------------------------------------------
147704 BEGIN
147705 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
147706 (g_array_event(p_event_id).array_value_num('header_index'));
147707 IF l_acc_rev_flag IS NULL THEN
147708 l_acc_rev_flag := 'N';
147709 END IF;
147710 EXCEPTION
147711 WHEN OTHERS THEN
147712 l_acc_rev_flag := 'N';
147713 END;
147714 --
147715 IF (l_acc_rev_flag = 'Y') THEN
147716
147717 -- 4645092 ------------------------------------------------------------------------------
147718 -- To allow MPA report to determine if it should generate report process
147719 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
147720 ------------------------------------------------------------------------------------------
147721
147722 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
147723 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
147724 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
147725 -- call ADRs
147726 -- Bug 4922099
147727 --
147728 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
147729 (NVL(l_actual_upg_option, 'N') = 'O') OR
147730 (NVL(l_enc_upg_option, 'N') = 'O')
147731 )
147732 THEN
147733 NULL;
147734 --
147735 --
147736
147737 l_ccid := AcctDerRule_41(
147738 p_application_id => p_application_id
147739 , p_ae_header_id => l_ae_header_id
147740 , p_source_38 => p_source_38
147741 , x_transaction_coa_id => l_adr_transaction_coa_id
147742 , x_accounting_coa_id => l_adr_accounting_coa_id
147743 , x_value_type_code => l_adr_value_type_code
147744 , p_side => 'NA'
147745 );
147746
147747 xla_ae_lines_pkg.set_ccid(
147748 p_code_combination_id => l_ccid
147749 , p_value_type_code => l_adr_value_type_code
147750 , p_transaction_coa_id => l_adr_transaction_coa_id
147751 , p_accounting_coa_id => l_adr_accounting_coa_id
147752 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
147753 , p_adr_type_code => 'S'
147754 , p_component_type => l_component_type
147755 , p_component_code => l_component_code
147756 , p_component_type_code => l_component_type_code
147757 , p_component_appl_id => l_component_appl_id
147758 , p_amb_context_code => l_amb_context_code
147759 , p_side => 'NA'
147760 );
147761
147762
147763 --
147764 --
147765 END IF;
147766
147767 --
147768 -- Update the line information that should be overwritten
147769 --
147770 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
147771 p_header_num => 1);
147772 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
147773
147774 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
147775
147776 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
147777 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
147778 END IF;
147779
147780 --
147781 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
147782 --
147783 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
147784 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
147785 ELSE
147786 ---------------------------------------------------------------------------------------------------
147787 -- 4262811a Switch Sign
147788 ---------------------------------------------------------------------------------------------------
147789 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
147790 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
147791 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147795 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
147792 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
147793 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147794 -- 5132302
147796 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
147797
147798 END IF;
147799
147800 -- 4955764
147801 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
147802 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
147803
147804
147805 XLA_AE_LINES_PKG.ValidateCurrentLine;
147806 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
147807
147808 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
147809 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
147810 ,p_balance_type_code => l_balance_type_code);
147811
147812 END IF;
147813
147814 -----------------------------------------------------------------------------------------
147815 -- 4262811 Multiperiod Accounting
147816 -----------------------------------------------------------------------------------------
147817 -- No MPA option is assigned.
147818
147819
147820 END IF;
147821 END IF;
147822 --
147823
147824 --
147825 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
147826 trace
147827 (p_msg => 'END of AcctLineType_242'
147828 ,p_level => C_LEVEL_PROCEDURE
147829 ,p_module => l_log_module);
147830 END IF;
147831 --
147832 EXCEPTION
147833 WHEN xla_exceptions_pkg.application_exception THEN
147834 RAISE;
147835 WHEN OTHERS THEN
147836 xla_exceptions_pkg.raise_message
147837 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_242');
147838 END AcctLineType_242;
147839 --
147840
147841 ---------------------------------------
147842 --
147843 -- PRIVATE FUNCTION
147844 -- AcctLineType_243
147845 --
147846 ---------------------------------------
147847 PROCEDURE AcctLineType_243 (
147848 p_application_id IN NUMBER
147849 ,p_event_id IN NUMBER
147850 ,p_calculate_acctd_flag IN VARCHAR2
147851 ,p_calculate_g_l_flag IN VARCHAR2
147852 ,p_actual_flag IN OUT VARCHAR2
147853 ,p_balance_type_code OUT VARCHAR2
147854 ,p_gain_or_loss_ref OUT VARCHAR2
147855
147856 --Invoice Distribution Description
147857 , p_source_1 IN VARCHAR2
147858 --Invoice Distribution Ledger Amount
147859 , p_source_9 IN NUMBER
147860 --Invoice Distribution Type
147861 , p_source_21 IN VARCHAR2
147862 , p_source_21_meaning IN VARCHAR2
147863 --Self-Assessed Tax Account
147864 , p_source_38 IN NUMBER
147865 --Accounting Reversal Indicator
147866 , p_source_41 IN VARCHAR2
147867 --Distribution Link Type
147868 , p_source_43 IN VARCHAR2
147869 --Allocation to Main Distribution Identifier
147870 , p_source_45 IN NUMBER
147871 --Invoice Identifier
147872 , p_source_46 IN NUMBER
147873 --Invoice Distribution Identifier
147874 , p_source_52 IN NUMBER
147875 --Payables Encumbrance Upgrade Credit Account
147876 , p_source_53 IN NUMBER
147877 --Payables Encumbrance Upgrade Credit Amount
147878 , p_source_54 IN NUMBER
147879 --Invoice Currency Code
147880 , p_source_55 IN VARCHAR2
147881 --Payables Encumbrance Upgrade Credit Base Amount
147882 , p_source_56 IN NUMBER
147883 --Payables Encumbrance Upgrade Debit Account
147884 , p_source_57 IN NUMBER
147885 --Payables Encumbrance Upgrade Debit Amount
147886 , p_source_58 IN NUMBER
147887 --Payables Encumbrance Upgrade Debit Base Amount
147888 , p_source_59 IN NUMBER
147889 --Payables Encumbrance Upgrade Option
147890 , p_source_60 IN VARCHAR2
147891 --Invoice Distribution Amount
147892 , p_source_61 IN NUMBER
147893 --Deferred Accounting End Date
147894 , p_source_65 IN DATE
147895 --Deferred Accounting Option
147896 , p_source_66 IN VARCHAR2
147897 --Deferred Accounting Start Date
147898 , p_source_67 IN DATE
147899 --Override Accounted Amount Indicator
147900 , p_source_68 IN VARCHAR2
147901 , p_source_68_meaning IN VARCHAR2
147902 --Invoice Supplier Identifier
147903 , p_source_69 IN NUMBER
147904 --Invoice Supplier Site Identifier
147905 , p_source_70 IN NUMBER
147906 --Third Party Type
147907 , p_source_71 IN VARCHAR2
147908 --Parent Reversal Identifier
147909 , p_source_72 IN NUMBER
147910 --Invoice Distribution Statistical Amount
147911 , p_source_73 IN NUMBER
147912 --Invoice Distribution Tax Line Identifier
147913 , p_source_74 IN NUMBER
147914 --Invoice Distribution Tax Distribution Identifier from Tax
147915 , p_source_75 IN NUMBER
147916 --Invoice Distribution Summary Tax Line Identifier
147917 , p_source_76 IN NUMBER
147918 --Payables Upgrade Credit Encumbrance Type Identifier
147919 , p_source_77 IN NUMBER
147920 --Payables Upgrade Debit Encumbrance Type Identifier
147921 , p_source_78 IN NUMBER
147922 --Business Flow Accounts Payable Application Identifier
147923 , p_source_79 IN NUMBER
147924 --Business Flow Invoice Distribution Type
147925 , p_source_80 IN VARCHAR2
147929 , p_source_82 IN NUMBER
147926 --Business Flow Invoice Entity Code
147927 , p_source_81 IN VARCHAR2
147928 --Business Flow Invoice Distribution Identifier
147930 --Business Flow Invoice Identifier
147931 , p_source_83 IN NUMBER
147932 --Self-Assessed Tax Flag
147933 , p_source_135 IN VARCHAR2
147934 , p_source_135_meaning IN VARCHAR2
147935 --Invoice Exchange Date
147936 , p_source_136 IN DATE
147937 --Invoice Exchange Rate
147938 , p_source_137 IN NUMBER
147939 --Invoice Exchange Rate Type
147940 , p_source_138 IN VARCHAR2
147941 )
147942 IS
147943
147944 l_component_type VARCHAR2(80);
147945 l_component_code VARCHAR2(30);
147946 l_component_type_code VARCHAR2(1);
147947 l_component_appl_id INTEGER;
147948 l_amb_context_code VARCHAR2(30);
147949 l_entity_code VARCHAR2(30);
147950 l_event_class_code VARCHAR2(30);
147951 l_ae_header_id NUMBER;
147952 l_event_type_code VARCHAR2(30);
147953 l_line_definition_code VARCHAR2(30);
147954 l_line_definition_owner_code VARCHAR2(1);
147955 --
147956 -- adr variables
147957 l_segment VARCHAR2(30);
147958 l_ccid NUMBER;
147959 l_adr_transaction_coa_id NUMBER;
147960 l_adr_accounting_coa_id NUMBER;
147961 l_adr_flexfield_segment_code VARCHAR2(30);
147962 l_adr_flex_value_set_id NUMBER;
147963 l_adr_value_type_code VARCHAR2(30);
147964 l_adr_value_combination_id NUMBER;
147965 l_adr_value_segment_code VARCHAR2(30);
147966
147967 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
147968 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
147969 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
147970 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
147971
147972 -- 4262811 Variables ------------------------------------------------------------------------------------------
147973 l_entered_amt_idx NUMBER;
147974 l_accted_amt_idx NUMBER;
147975 l_acc_rev_flag VARCHAR2(1);
147976 l_accrual_line_num NUMBER;
147977 l_tmp_amt NUMBER;
147978 l_acc_rev_natural_side_code VARCHAR2(1);
147979
147980 l_num_entries NUMBER;
147981 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
147982 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
147983 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
147984 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
147985 l_recog_line_1 NUMBER;
147986 l_recog_line_2 NUMBER;
147987
147988 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
147989 l_bflow_applied_to_amt NUMBER; -- 5132302
147990 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
147991
147992 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
147993
147994 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
147995 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
147996
147997 ---------------------------------------------------------------------------------------------------------------
147998
147999
148000 --
148001 -- bulk performance
148002 --
148003 l_balance_type_code VARCHAR2(1);
148004 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
148005 l_log_module VARCHAR2(240);
148006
148007 --
148008 -- Upgrade strategy
148009 --
148010 l_actual_upg_option VARCHAR2(1);
148011 l_enc_upg_option VARCHAR2(1);
148012
148013 --
148014 BEGIN
148015 --
148016 IF g_log_enabled THEN
148017 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_243';
148018 END IF;
148019 --
148020 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148021
148022 trace
148023 (p_msg => 'BEGIN of AcctLineType_243'
148024 ,p_level => C_LEVEL_PROCEDURE
148025 ,p_module => l_log_module);
148026
148027 END IF;
148028 --
148029 l_component_type := 'AMB_JLT';
148030 l_component_code := 'AP_SELF_ASSESSED_REC_TAX_INV';
148031 l_component_type_code := 'S';
148032 l_component_appl_id := 200;
148033 l_amb_context_code := 'DEFAULT';
148034 l_entity_code := 'AP_INVOICES';
148035 l_event_class_code := 'INVOICES';
148036 l_event_type_code := 'INVOICES_ALL';
148037 l_line_definition_owner_code := 'S';
148038 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
148039 --
148040 l_balance_type_code := 'A';
148041 l_segment := NULL;
148042 l_ccid := NULL;
148043 l_adr_transaction_coa_id := NULL;
148044 l_adr_accounting_coa_id := NULL;
148045 l_adr_flexfield_segment_code := NULL;
148046 l_adr_flex_value_set_id := NULL;
148047 l_adr_value_type_code := NULL;
148048 l_adr_value_combination_id := NULL;
148049 l_adr_value_segment_code := NULL;
148050
148051 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
148052 l_bflow_class_code := ''; -- 4219869 Business Flow
148053 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
148054 l_budgetary_control_flag := 'N';
148055
148059 l_accted_amt_idx := NULL; -- 4262811
148056 l_bflow_applied_to_amt_idx := NULL; -- 5132302
148057 l_bflow_applied_to_amt := NULL; -- 5132302
148058 l_entered_amt_idx := NULL; -- 4262811
148060 l_acc_rev_flag := NULL; -- 4262811
148061 l_accrual_line_num := NULL; -- 4262811
148062 l_tmp_amt := NULL; -- 4262811
148063 --
148064
148065 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
148066 l_balance_type_code <> 'B' THEN
148067 IF NVL(p_source_21,'
148068 ') = 'REC_TAX' AND
148069 NVL(p_source_135,'
148070 ') = 'Y'
148071 THEN
148072
148073 --
148074 XLA_AE_LINES_PKG.SetNewLine;
148075
148076 p_balance_type_code := l_balance_type_code;
148077 -- set the flag so later we will know whether the gain loss line needs to be created
148078
148079 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
148080 p_actual_flag :='A';
148081 END IF;
148082
148083 --
148084 -- bulk performance
148085 --
148086 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
148087 p_header_num => 0); -- 4262811
148088 --
148089 -- set accounting line options
148090 --
148091 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
148092 p_natural_side_code => 'D'
148093 , p_gain_or_loss_flag => 'N'
148094 , p_gl_transfer_mode_code => 'S'
148095 , p_acct_entry_type_code => 'A'
148096 , p_switch_side_flag => 'Y'
148097 , p_merge_duplicate_code => 'A'
148098 );
148099 --
148100 l_acc_rev_natural_side_code := 'C'; -- 4262811
148101 --
148102 --
148103 -- set accounting line type info
148104 --
148105 xla_ae_lines_pkg.SetAcctLineType
148106 (p_component_type => l_component_type
148107 ,p_event_type_code => l_event_type_code
148108 ,p_line_definition_owner_code => l_line_definition_owner_code
148109 ,p_line_definition_code => l_line_definition_code
148110 ,p_accounting_line_code => l_component_code
148111 ,p_accounting_line_type_code => l_component_type_code
148112 ,p_accounting_line_appl_id => l_component_appl_id
148113 ,p_amb_context_code => l_amb_context_code
148114 ,p_entity_code => l_entity_code
148115 ,p_event_class_code => l_event_class_code);
148116 --
148117 -- set accounting class
148118 --
148119 xla_ae_lines_pkg.SetAcctClass(
148120 p_accounting_class_code => 'SELF_ASSESSED_TAX'
148121 , p_ae_header_id => l_ae_header_id
148122 );
148123
148124 --
148125 -- set rounding class
148126 --
148127 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
148128 'SELF_ASSESSED_TAX';
148129
148130 --
148131 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
148132 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
148133 --
148134 -- bulk performance
148135 --
148136 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
148137
148138 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
148139 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
148140
148141 -- 4955764
148142 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
148143 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
148144
148145 -- 4458381 Public Sector Enh
148146
148147 --
148148 -- set accounting attributes for the line type
148149 --
148150 l_entered_amt_idx := 24;
148151 l_accted_amt_idx := 29;
148152 l_bflow_applied_to_amt_idx := 7; -- 5132302
148153 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
148154 l_rec_acct_attrs.array_char_value(1) := p_source_41;
148155 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
148156 l_rec_acct_attrs.array_num_value(2) :=
148157 xla_ae_sources_pkg.GetSystemSourceNum(
148158 p_source_code => 'XLA_EVENT_APPL_ID'
148159 , p_source_type_code => 'Y'
148160 , p_source_application_id => 602
148161 );
148162 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
148163 l_rec_acct_attrs.array_char_value(3) := p_source_43;
148164 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
148165 l_rec_acct_attrs.array_char_value(4) :=
148166 xla_ae_sources_pkg.GetSystemSourceChar(
148167 p_source_code => 'XLA_ENTITY_CODE'
148168 , p_source_type_code => 'Y'
148169 , p_source_application_id => 602
148170 );
148171 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
148172 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
148173 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
148174 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
148175 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
148176 l_rec_acct_attrs.array_num_value(7) := p_source_61;
148180 l_rec_acct_attrs.array_char_value(9) := p_source_80;
148177 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
148178 l_rec_acct_attrs.array_num_value(8) := p_source_79;
148179 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
148181 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
148182 l_rec_acct_attrs.array_char_value(10) := p_source_81;
148183 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
148184 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
148185 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
148186 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
148187 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
148188 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
148189 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
148190 l_rec_acct_attrs.array_char_value(14) := p_source_43;
148191 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
148192 l_rec_acct_attrs.array_num_value(15) := p_source_53;
148193 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
148194 l_rec_acct_attrs.array_num_value(16) := p_source_54;
148195 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
148196 l_rec_acct_attrs.array_char_value(17) := p_source_55;
148197 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
148198 l_rec_acct_attrs.array_num_value(18) := p_source_56;
148199 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
148200 l_rec_acct_attrs.array_num_value(19) := p_source_57;
148201 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
148202 l_rec_acct_attrs.array_num_value(20) := p_source_58;
148203 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
148204 l_rec_acct_attrs.array_char_value(21) := p_source_55;
148205 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
148206 l_rec_acct_attrs.array_num_value(22) := p_source_59;
148207 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
148208 l_rec_acct_attrs.array_char_value(23) := p_source_60;
148209 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
148210 l_rec_acct_attrs.array_num_value(24) := p_source_61;
148211 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
148212 l_rec_acct_attrs.array_char_value(25) := p_source_55;
148213 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
148214 l_rec_acct_attrs.array_date_value(26) := p_source_136;
148215 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
148216 l_rec_acct_attrs.array_num_value(27) := p_source_137;
148217 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
148218 l_rec_acct_attrs.array_char_value(28) := p_source_138;
148219 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
148220 l_rec_acct_attrs.array_num_value(29) := p_source_9;
148221 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
148222 l_rec_acct_attrs.array_date_value(30) := p_source_65;
148223 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
148224 l_rec_acct_attrs.array_char_value(31) := p_source_66;
148225 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
148226 l_rec_acct_attrs.array_date_value(32) := p_source_67;
148227 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
148228 l_rec_acct_attrs.array_char_value(33) := p_source_68;
148229 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
148230 l_rec_acct_attrs.array_num_value(34) := p_source_69;
148231 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
148232 l_rec_acct_attrs.array_num_value(35) := p_source_70;
148233 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
148234 l_rec_acct_attrs.array_char_value(36) := p_source_71;
148235 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
148236 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
148237 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
148238 l_rec_acct_attrs.array_char_value(38) := p_source_43;
148239 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
148240 l_rec_acct_attrs.array_num_value(39) := p_source_73;
148241 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
148242 l_rec_acct_attrs.array_num_value(40) := p_source_74;
148243 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
148244 l_rec_acct_attrs.array_num_value(41) := p_source_75;
148245 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
148246 l_rec_acct_attrs.array_num_value(42) := p_source_76;
148247 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
148248 l_rec_acct_attrs.array_num_value(43) := p_source_77;
148249 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
148250 l_rec_acct_attrs.array_num_value(44) := p_source_78;
148251
148252 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
148253 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
148254
148255 ---------------------------------------------------------------------------------------------------------------
148256 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
148257 ---------------------------------------------------------------------------------------------------------------
148261 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
148258 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
148259
148260 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
148262
148263 IF xla_accounting_cache_pkg.GetValueChar
148264 (p_source_code => 'LEDGER_CATEGORY_CODE'
148265 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
148266 AND l_bflow_method_code = 'PRIOR_ENTRY'
148267 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
148268 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
148269 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
148270 )
148271 THEN
148272 xla_ae_lines_pkg.BflowUpgEntry
148273 (p_business_method_code => l_bflow_method_code
148274 ,p_business_class_code => l_bflow_class_code
148275 ,p_balance_type => l_balance_type_code);
148276 ELSE
148277 NULL;
148278 -- No business flow processing for business flow method of NONE.
148279 END IF;
148280
148281 --
148282 -- call analytical criteria
148283 --
148284
148285 --
148286 -- call description
148287 --
148288
148289 xla_ae_lines_pkg.SetLineDescription(
148290 p_ae_header_id => l_ae_header_id
148291 ,p_description => Description_2 (
148292 p_application_id => p_application_id
148293 , p_ae_header_id => l_ae_header_id
148294 , p_source_1 => p_source_1
148295 )
148296 );
148297
148298
148299 --
148300 -- call ADRs
148301 -- Bug 4922099
148302 --
148303 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
148304 (NVL(l_actual_upg_option, 'N') = 'O') OR
148305 (NVL(l_enc_upg_option, 'N') = 'O')
148306 )
148307 THEN
148308 NULL;
148309 --
148310 --
148311
148312 l_ccid := AcctDerRule_41(
148313 p_application_id => p_application_id
148314 , p_ae_header_id => l_ae_header_id
148315 , p_source_38 => p_source_38
148316 , x_transaction_coa_id => l_adr_transaction_coa_id
148317 , x_accounting_coa_id => l_adr_accounting_coa_id
148318 , x_value_type_code => l_adr_value_type_code
148319 , p_side => 'NA'
148320 );
148321
148322 xla_ae_lines_pkg.set_ccid(
148323 p_code_combination_id => l_ccid
148324 , p_value_type_code => l_adr_value_type_code
148325 , p_transaction_coa_id => l_adr_transaction_coa_id
148326 , p_accounting_coa_id => l_adr_accounting_coa_id
148327 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
148328 , p_adr_type_code => 'S'
148329 , p_component_type => l_component_type
148330 , p_component_code => l_component_code
148331 , p_component_type_code => l_component_type_code
148332 , p_component_appl_id => l_component_appl_id
148333 , p_amb_context_code => l_amb_context_code
148334 , p_side => 'NA'
148335 );
148336
148337
148338 --
148339 --
148340 END IF;
148341 --
148342 -- Bug 4922099
148343 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
148344 (NVL(l_enc_upg_option, 'N') = 'O')
148345 ) AND
148346 (l_bflow_method_code = 'PRIOR_ENTRY')
148347 )
148348 THEN
148349 IF
148350 --
148351 1 = 2
148352 --
148353 THEN
148354 xla_accounting_err_pkg.build_message
148355 (p_appli_s_name => 'XLA'
148356 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
148357 ,p_token_1 => 'LINE_NUMBER'
148358 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
148359 ,p_token_2 => 'LINE_TYPE_NAME'
148360 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
148361 l_component_type
148362 ,l_component_code
148363 ,l_component_type_code
148364 ,l_component_appl_id
148365 ,l_amb_context_code
148366 ,l_entity_code
148367 ,l_event_class_code
148368 )
148369 ,p_token_3 => 'OWNER'
148370 ,p_value_3 => xla_lookups_pkg.get_meaning(
148371 p_lookup_type => 'XLA_OWNER_TYPE'
148372 ,p_lookup_code => l_component_type_code
148373 )
148374 ,p_token_4 => 'PRODUCT_NAME'
148378 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
148375 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
148376 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
148377 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
148379 ,p_ae_header_id => NULL
148380 );
148381
148382 IF (C_LEVEL_ERROR>= g_log_level) THEN
148383 trace
148384 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
148385 ,p_level => C_LEVEL_ERROR
148386 ,p_module => l_log_module);
148387 END IF;
148388 END IF;
148389 END IF;
148390 --
148391 --
148392 ------------------------------------------------------------------------------------------------
148393 -- 4219869 Business Flow
148394 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
148395 -- Prior Entry. Currently, the following code is always generated.
148396 ------------------------------------------------------------------------------------------------
148397 XLA_AE_LINES_PKG.ValidateCurrentLine;
148398
148399 ------------------------------------------------------------------------------------
148400 -- 4219869 Business Flow
148401 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
148402 ------------------------------------------------------------------------------------
148403 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
148404
148405 ----------------------------------------------------------------------------------
148406 -- 4219869 Business Flow
148407 -- Update journal entry status -- Need to generate this within IF <condition>
148408 ----------------------------------------------------------------------------------
148409 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
148410 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
148411 ,p_balance_type_code => l_balance_type_code
148412 );
148413
148414 -------------------------------------------------------------------------------------------
148415 -- 4262811 - Generate the Accrual Reversal lines
148416 -------------------------------------------------------------------------------------------
148417 BEGIN
148418 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
148419 (g_array_event(p_event_id).array_value_num('header_index'));
148420 IF l_acc_rev_flag IS NULL THEN
148421 l_acc_rev_flag := 'N';
148422 END IF;
148423 EXCEPTION
148424 WHEN OTHERS THEN
148425 l_acc_rev_flag := 'N';
148426 END;
148427 --
148428 IF (l_acc_rev_flag = 'Y') THEN
148429
148430 -- 4645092 ------------------------------------------------------------------------------
148431 -- To allow MPA report to determine if it should generate report process
148432 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
148433 ------------------------------------------------------------------------------------------
148434
148435 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
148436 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
148437 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
148438 -- call ADRs
148439 -- Bug 4922099
148440 --
148441 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
148442 (NVL(l_actual_upg_option, 'N') = 'O') OR
148443 (NVL(l_enc_upg_option, 'N') = 'O')
148444 )
148445 THEN
148446 NULL;
148447 --
148448 --
148449
148450 l_ccid := AcctDerRule_41(
148451 p_application_id => p_application_id
148452 , p_ae_header_id => l_ae_header_id
148453 , p_source_38 => p_source_38
148454 , x_transaction_coa_id => l_adr_transaction_coa_id
148455 , x_accounting_coa_id => l_adr_accounting_coa_id
148456 , x_value_type_code => l_adr_value_type_code
148457 , p_side => 'NA'
148458 );
148459
148460 xla_ae_lines_pkg.set_ccid(
148461 p_code_combination_id => l_ccid
148462 , p_value_type_code => l_adr_value_type_code
148463 , p_transaction_coa_id => l_adr_transaction_coa_id
148464 , p_accounting_coa_id => l_adr_accounting_coa_id
148465 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
148466 , p_adr_type_code => 'S'
148467 , p_component_type => l_component_type
148468 , p_component_code => l_component_code
148469 , p_component_type_code => l_component_type_code
148470 , p_component_appl_id => l_component_appl_id
148471 , p_amb_context_code => l_amb_context_code
148472 , p_side => 'NA'
148473 );
148474
148475
148476 --
148477 --
148478 END IF;
148479
148480 --
148481 -- Update the line information that should be overwritten
148482 --
148483 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
148484 p_header_num => 1);
148485 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
148486
148490 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
148487 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
148488
148489 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
148491 END IF;
148492
148493 --
148494 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
148495 --
148496 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
148497 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
148498 ELSE
148499 ---------------------------------------------------------------------------------------------------
148500 -- 4262811a Switch Sign
148501 ---------------------------------------------------------------------------------------------------
148502 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
148503 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
148504 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
148505 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
148506 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
148507 -- 5132302
148508 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
148509 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
148510
148511 END IF;
148512
148513 -- 4955764
148514 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
148515 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
148516
148517
148518 XLA_AE_LINES_PKG.ValidateCurrentLine;
148519 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
148520
148521 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
148522 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
148523 ,p_balance_type_code => l_balance_type_code);
148524
148525 END IF;
148526
148527 -----------------------------------------------------------------------------------------
148528 -- 4262811 Multiperiod Accounting
148529 -----------------------------------------------------------------------------------------
148530 -- No MPA option is assigned.
148531
148532
148533 END IF;
148534 END IF;
148535 --
148536
148537 --
148538 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148539 trace
148540 (p_msg => 'END of AcctLineType_243'
148541 ,p_level => C_LEVEL_PROCEDURE
148542 ,p_module => l_log_module);
148543 END IF;
148544 --
148545 EXCEPTION
148546 WHEN xla_exceptions_pkg.application_exception THEN
148547 RAISE;
148548 WHEN OTHERS THEN
148549 xla_exceptions_pkg.raise_message
148550 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_243');
148551 END AcctLineType_243;
148552 --
148553
148554 ---------------------------------------
148555 --
148556 -- PRIVATE FUNCTION
148557 -- AcctLineType_244
148558 --
148559 ---------------------------------------
148560 PROCEDURE AcctLineType_244 (
148561 p_application_id IN NUMBER
148562 ,p_event_id IN NUMBER
148563 ,p_calculate_acctd_flag IN VARCHAR2
148564 ,p_calculate_g_l_flag IN VARCHAR2
148565 ,p_actual_flag IN OUT VARCHAR2
148566 ,p_balance_type_code OUT VARCHAR2
148567 ,p_gain_or_loss_ref OUT VARCHAR2
148568
148569 --Invoice Distribution Description
148570 , p_source_1 IN VARCHAR2
148571 --Invoice Distribution Ledger Amount
148572 , p_source_9 IN NUMBER
148573 --Invoice Distribution Type
148574 , p_source_21 IN VARCHAR2
148575 , p_source_21_meaning IN VARCHAR2
148576 --Self-Assessed Tax Liability Account
148577 , p_source_39 IN NUMBER
148578 --Accounting Reversal Indicator
148579 , p_source_41 IN VARCHAR2
148580 --Distribution Link Type
148581 , p_source_43 IN VARCHAR2
148582 --Allocation to Main Distribution Identifier
148583 , p_source_45 IN NUMBER
148584 --Invoice Identifier
148585 , p_source_46 IN NUMBER
148586 --Invoice Distribution Identifier
148587 , p_source_52 IN NUMBER
148588 --Payables Encumbrance Upgrade Credit Account
148589 , p_source_53 IN NUMBER
148590 --Payables Encumbrance Upgrade Credit Amount
148591 , p_source_54 IN NUMBER
148592 --Invoice Currency Code
148593 , p_source_55 IN VARCHAR2
148594 --Payables Encumbrance Upgrade Credit Base Amount
148595 , p_source_56 IN NUMBER
148596 --Payables Encumbrance Upgrade Debit Account
148597 , p_source_57 IN NUMBER
148598 --Payables Encumbrance Upgrade Debit Amount
148599 , p_source_58 IN NUMBER
148600 --Payables Encumbrance Upgrade Debit Base Amount
148601 , p_source_59 IN NUMBER
148602 --Payables Encumbrance Upgrade Option
148603 , p_source_60 IN VARCHAR2
148604 --Invoice Distribution Amount
148605 , p_source_61 IN NUMBER
148606 --Deferred Accounting End Date
148607 , p_source_65 IN DATE
148608 --Deferred Accounting Option
148609 , p_source_66 IN VARCHAR2
148613 , p_source_68 IN VARCHAR2
148610 --Deferred Accounting Start Date
148611 , p_source_67 IN DATE
148612 --Override Accounted Amount Indicator
148614 , p_source_68_meaning IN VARCHAR2
148615 --Invoice Supplier Identifier
148616 , p_source_69 IN NUMBER
148617 --Invoice Supplier Site Identifier
148618 , p_source_70 IN NUMBER
148619 --Third Party Type
148620 , p_source_71 IN VARCHAR2
148621 --Parent Reversal Identifier
148622 , p_source_72 IN NUMBER
148623 --Invoice Distribution Statistical Amount
148624 , p_source_73 IN NUMBER
148625 --Invoice Distribution Tax Line Identifier
148626 , p_source_74 IN NUMBER
148627 --Invoice Distribution Tax Distribution Identifier from Tax
148628 , p_source_75 IN NUMBER
148629 --Invoice Distribution Summary Tax Line Identifier
148630 , p_source_76 IN NUMBER
148631 --Payables Upgrade Credit Encumbrance Type Identifier
148632 , p_source_77 IN NUMBER
148633 --Payables Upgrade Debit Encumbrance Type Identifier
148634 , p_source_78 IN NUMBER
148635 --Business Flow Accounts Payable Application Identifier
148636 , p_source_79 IN NUMBER
148637 --Business Flow Invoice Distribution Type
148638 , p_source_80 IN VARCHAR2
148639 --Business Flow Invoice Entity Code
148640 , p_source_81 IN VARCHAR2
148641 --Business Flow Invoice Distribution Identifier
148642 , p_source_82 IN NUMBER
148643 --Business Flow Invoice Identifier
148644 , p_source_83 IN NUMBER
148645 --Self-Assessed Tax Flag
148646 , p_source_135 IN VARCHAR2
148647 , p_source_135_meaning IN VARCHAR2
148648 --Invoice Exchange Date
148649 , p_source_136 IN DATE
148650 --Invoice Exchange Rate
148651 , p_source_137 IN NUMBER
148652 --Invoice Exchange Rate Type
148653 , p_source_138 IN VARCHAR2
148654 )
148655 IS
148656
148657 l_component_type VARCHAR2(80);
148658 l_component_code VARCHAR2(30);
148659 l_component_type_code VARCHAR2(1);
148660 l_component_appl_id INTEGER;
148661 l_amb_context_code VARCHAR2(30);
148662 l_entity_code VARCHAR2(30);
148663 l_event_class_code VARCHAR2(30);
148664 l_ae_header_id NUMBER;
148665 l_event_type_code VARCHAR2(30);
148666 l_line_definition_code VARCHAR2(30);
148667 l_line_definition_owner_code VARCHAR2(1);
148668 --
148669 -- adr variables
148670 l_segment VARCHAR2(30);
148671 l_ccid NUMBER;
148672 l_adr_transaction_coa_id NUMBER;
148673 l_adr_accounting_coa_id NUMBER;
148674 l_adr_flexfield_segment_code VARCHAR2(30);
148675 l_adr_flex_value_set_id NUMBER;
148676 l_adr_value_type_code VARCHAR2(30);
148677 l_adr_value_combination_id NUMBER;
148678 l_adr_value_segment_code VARCHAR2(30);
148679
148680 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
148681 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
148682 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
148683 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
148684
148685 -- 4262811 Variables ------------------------------------------------------------------------------------------
148686 l_entered_amt_idx NUMBER;
148687 l_accted_amt_idx NUMBER;
148688 l_acc_rev_flag VARCHAR2(1);
148689 l_accrual_line_num NUMBER;
148690 l_tmp_amt NUMBER;
148691 l_acc_rev_natural_side_code VARCHAR2(1);
148692
148693 l_num_entries NUMBER;
148694 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
148695 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
148696 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
148697 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
148698 l_recog_line_1 NUMBER;
148699 l_recog_line_2 NUMBER;
148700
148701 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
148702 l_bflow_applied_to_amt NUMBER; -- 5132302
148703 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
148704
148705 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
148706
148707 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
148708 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
148709
148710 ---------------------------------------------------------------------------------------------------------------
148711
148712
148713 --
148714 -- bulk performance
148715 --
148716 l_balance_type_code VARCHAR2(1);
148717 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
148718 l_log_module VARCHAR2(240);
148719
148720 --
148721 -- Upgrade strategy
148722 --
148723 l_actual_upg_option VARCHAR2(1);
148724 l_enc_upg_option VARCHAR2(1);
148725
148726 --
148727 BEGIN
148728 --
148729 IF g_log_enabled THEN
148730 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_244';
148731 END IF;
148732 --
148733 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
148734
148735 trace
148736 (p_msg => 'BEGIN of AcctLineType_244'
148737 ,p_level => C_LEVEL_PROCEDURE
148741 --
148738 ,p_module => l_log_module);
148739
148740 END IF;
148742 l_component_type := 'AMB_JLT';
148743 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_CM';
148744 l_component_type_code := 'S';
148745 l_component_appl_id := 200;
148746 l_amb_context_code := 'DEFAULT';
148747 l_entity_code := 'AP_INVOICES';
148748 l_event_class_code := 'CREDIT MEMOS';
148749 l_event_type_code := 'CREDIT MEMOS_ALL';
148750 l_line_definition_owner_code := 'S';
148751 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
148752 --
148753 l_balance_type_code := 'A';
148754 l_segment := NULL;
148755 l_ccid := NULL;
148756 l_adr_transaction_coa_id := NULL;
148757 l_adr_accounting_coa_id := NULL;
148758 l_adr_flexfield_segment_code := NULL;
148759 l_adr_flex_value_set_id := NULL;
148760 l_adr_value_type_code := NULL;
148761 l_adr_value_combination_id := NULL;
148762 l_adr_value_segment_code := NULL;
148763
148764 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
148765 l_bflow_class_code := ''; -- 4219869 Business Flow
148766 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
148767 l_budgetary_control_flag := 'N';
148768
148769 l_bflow_applied_to_amt_idx := NULL; -- 5132302
148770 l_bflow_applied_to_amt := NULL; -- 5132302
148771 l_entered_amt_idx := NULL; -- 4262811
148772 l_accted_amt_idx := NULL; -- 4262811
148773 l_acc_rev_flag := NULL; -- 4262811
148774 l_accrual_line_num := NULL; -- 4262811
148775 l_tmp_amt := NULL; -- 4262811
148776 --
148777
148778 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
148779 l_balance_type_code <> 'B' THEN
148780 IF (NVL(p_source_21,'
148781 ') = 'REC_TAX' OR
148782 NVL(p_source_21,'
148783 ') = 'NONREC_TAX') AND
148784 NVL(p_source_135,'
148785 ') = 'Y'
148786 THEN
148787
148788 --
148789 XLA_AE_LINES_PKG.SetNewLine;
148790
148791 p_balance_type_code := l_balance_type_code;
148792 -- set the flag so later we will know whether the gain loss line needs to be created
148793
148794 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
148795 p_actual_flag :='A';
148796 END IF;
148797
148798 --
148799 -- bulk performance
148800 --
148801 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
148802 p_header_num => 0); -- 4262811
148803 --
148804 -- set accounting line options
148805 --
148806 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
148807 p_natural_side_code => 'C'
148808 , p_gain_or_loss_flag => 'N'
148809 , p_gl_transfer_mode_code => 'S'
148810 , p_acct_entry_type_code => 'A'
148811 , p_switch_side_flag => 'Y'
148812 , p_merge_duplicate_code => 'A'
148813 );
148814 --
148815 l_acc_rev_natural_side_code := 'D'; -- 4262811
148816 --
148817 --
148818 -- set accounting line type info
148819 --
148820 xla_ae_lines_pkg.SetAcctLineType
148821 (p_component_type => l_component_type
148822 ,p_event_type_code => l_event_type_code
148823 ,p_line_definition_owner_code => l_line_definition_owner_code
148824 ,p_line_definition_code => l_line_definition_code
148825 ,p_accounting_line_code => l_component_code
148826 ,p_accounting_line_type_code => l_component_type_code
148827 ,p_accounting_line_appl_id => l_component_appl_id
148828 ,p_amb_context_code => l_amb_context_code
148829 ,p_entity_code => l_entity_code
148830 ,p_event_class_code => l_event_class_code);
148831 --
148832 -- set accounting class
148833 --
148834 xla_ae_lines_pkg.SetAcctClass(
148835 p_accounting_class_code => 'SELF_ASSESSED_TAX'
148836 , p_ae_header_id => l_ae_header_id
148837 );
148838
148839 --
148840 -- set rounding class
148841 --
148842 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
148843 'SELF_ASSESSED_TAX';
148844
148845 --
148846 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
148847 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
148848 --
148849 -- bulk performance
148850 --
148851 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
148852
148853 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
148854 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
148855
148856 -- 4955764
148857 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
148858 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
148859
148860 -- 4458381 Public Sector Enh
148861
148862 --
148863 -- set accounting attributes for the line type
148864 --
148865 l_entered_amt_idx := 23;
148866 l_accted_amt_idx := 28;
148870 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
148867 l_bflow_applied_to_amt_idx := NULL; -- 5132302
148868 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
148869 l_rec_acct_attrs.array_char_value(1) := p_source_41;
148871 l_rec_acct_attrs.array_num_value(2) :=
148872 xla_ae_sources_pkg.GetSystemSourceNum(
148873 p_source_code => 'XLA_EVENT_APPL_ID'
148874 , p_source_type_code => 'Y'
148875 , p_source_application_id => 602
148876 );
148877 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
148878 l_rec_acct_attrs.array_char_value(3) := p_source_43;
148879 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
148880 l_rec_acct_attrs.array_char_value(4) :=
148881 xla_ae_sources_pkg.GetSystemSourceChar(
148882 p_source_code => 'XLA_ENTITY_CODE'
148883 , p_source_type_code => 'Y'
148884 , p_source_application_id => 602
148885 );
148886 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
148887 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
148888 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
148889 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
148890 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
148891 l_rec_acct_attrs.array_num_value(7) := p_source_79;
148892 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
148893 l_rec_acct_attrs.array_char_value(8) := p_source_80;
148894 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
148895 l_rec_acct_attrs.array_char_value(9) := p_source_81;
148896 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
148897 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
148898 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
148899 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
148900 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
148901 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
148902 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
148903 l_rec_acct_attrs.array_char_value(13) := p_source_43;
148904 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
148905 l_rec_acct_attrs.array_num_value(14) := p_source_53;
148906 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
148907 l_rec_acct_attrs.array_num_value(15) := p_source_54;
148908 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
148909 l_rec_acct_attrs.array_char_value(16) := p_source_55;
148910 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
148911 l_rec_acct_attrs.array_num_value(17) := p_source_56;
148912 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
148913 l_rec_acct_attrs.array_num_value(18) := p_source_57;
148914 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
148915 l_rec_acct_attrs.array_num_value(19) := p_source_58;
148916 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
148917 l_rec_acct_attrs.array_char_value(20) := p_source_55;
148918 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
148919 l_rec_acct_attrs.array_num_value(21) := p_source_59;
148920 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
148921 l_rec_acct_attrs.array_char_value(22) := p_source_60;
148922 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
148923 l_rec_acct_attrs.array_num_value(23) := p_source_61;
148924 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
148925 l_rec_acct_attrs.array_char_value(24) := p_source_55;
148926 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
148927 l_rec_acct_attrs.array_date_value(25) := p_source_136;
148928 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
148929 l_rec_acct_attrs.array_num_value(26) := p_source_137;
148930 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
148931 l_rec_acct_attrs.array_char_value(27) := p_source_138;
148932 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
148933 l_rec_acct_attrs.array_num_value(28) := p_source_9;
148934 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
148935 l_rec_acct_attrs.array_date_value(29) := p_source_65;
148936 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
148937 l_rec_acct_attrs.array_char_value(30) := p_source_66;
148938 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
148939 l_rec_acct_attrs.array_date_value(31) := p_source_67;
148940 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
148941 l_rec_acct_attrs.array_char_value(32) := p_source_68;
148942 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
148943 l_rec_acct_attrs.array_num_value(33) := p_source_69;
148944 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
148945 l_rec_acct_attrs.array_num_value(34) := p_source_70;
148946 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
148947 l_rec_acct_attrs.array_char_value(35) := p_source_71;
148948 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
148949 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
148950 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
148951 l_rec_acct_attrs.array_char_value(37) := p_source_43;
148952 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
148953 l_rec_acct_attrs.array_num_value(38) := p_source_73;
148957 l_rec_acct_attrs.array_num_value(40) := p_source_75;
148954 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
148955 l_rec_acct_attrs.array_num_value(39) := p_source_74;
148956 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
148958 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
148959 l_rec_acct_attrs.array_num_value(41) := p_source_76;
148960 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
148961 l_rec_acct_attrs.array_num_value(42) := p_source_77;
148962 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
148963 l_rec_acct_attrs.array_num_value(43) := p_source_78;
148964
148965 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
148966 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
148967
148968 ---------------------------------------------------------------------------------------------------------------
148969 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
148970 ---------------------------------------------------------------------------------------------------------------
148971 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
148972
148973 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
148974 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
148975
148976 IF xla_accounting_cache_pkg.GetValueChar
148977 (p_source_code => 'LEDGER_CATEGORY_CODE'
148978 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
148979 AND l_bflow_method_code = 'PRIOR_ENTRY'
148980 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
148981 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
148982 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
148983 )
148984 THEN
148985 xla_ae_lines_pkg.BflowUpgEntry
148986 (p_business_method_code => l_bflow_method_code
148987 ,p_business_class_code => l_bflow_class_code
148988 ,p_balance_type => l_balance_type_code);
148989 ELSE
148990 NULL;
148991 -- No business flow processing for business flow method of NONE.
148992 END IF;
148993
148994 --
148995 -- call analytical criteria
148996 --
148997
148998 --
148999 -- call description
149000 --
149001
149002 xla_ae_lines_pkg.SetLineDescription(
149003 p_ae_header_id => l_ae_header_id
149004 ,p_description => Description_2 (
149005 p_application_id => p_application_id
149006 , p_ae_header_id => l_ae_header_id
149007 , p_source_1 => p_source_1
149008 )
149009 );
149010
149011
149012 --
149013 -- call ADRs
149014 -- Bug 4922099
149015 --
149016 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
149017 (NVL(l_actual_upg_option, 'N') = 'O') OR
149018 (NVL(l_enc_upg_option, 'N') = 'O')
149019 )
149020 THEN
149021 NULL;
149022 --
149023 --
149024
149025 l_ccid := AcctDerRule_42(
149026 p_application_id => p_application_id
149027 , p_ae_header_id => l_ae_header_id
149028 , p_source_39 => p_source_39
149029 , x_transaction_coa_id => l_adr_transaction_coa_id
149030 , x_accounting_coa_id => l_adr_accounting_coa_id
149031 , x_value_type_code => l_adr_value_type_code
149032 , p_side => 'NA'
149033 );
149034
149035 xla_ae_lines_pkg.set_ccid(
149036 p_code_combination_id => l_ccid
149037 , p_value_type_code => l_adr_value_type_code
149038 , p_transaction_coa_id => l_adr_transaction_coa_id
149039 , p_accounting_coa_id => l_adr_accounting_coa_id
149040 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
149041 , p_adr_type_code => 'S'
149042 , p_component_type => l_component_type
149043 , p_component_code => l_component_code
149044 , p_component_type_code => l_component_type_code
149045 , p_component_appl_id => l_component_appl_id
149046 , p_amb_context_code => l_amb_context_code
149047 , p_side => 'NA'
149048 );
149049
149050
149051 --
149052 --
149053 END IF;
149054 --
149055 -- Bug 4922099
149056 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
149057 (NVL(l_enc_upg_option, 'N') = 'O')
149058 ) AND
149059 (l_bflow_method_code = 'PRIOR_ENTRY')
149060 )
149061 THEN
149062 IF
149063 --
149064 1 = 2
149065 --
149066 THEN
149067 xla_accounting_err_pkg.build_message
149068 (p_appli_s_name => 'XLA'
149069 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
149070 ,p_token_1 => 'LINE_NUMBER'
149071 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
149072 ,p_token_2 => 'LINE_TYPE_NAME'
149073 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
149074 l_component_type
149078 ,l_amb_context_code
149075 ,l_component_code
149076 ,l_component_type_code
149077 ,l_component_appl_id
149079 ,l_entity_code
149080 ,l_event_class_code
149081 )
149082 ,p_token_3 => 'OWNER'
149083 ,p_value_3 => xla_lookups_pkg.get_meaning(
149084 p_lookup_type => 'XLA_OWNER_TYPE'
149085 ,p_lookup_code => l_component_type_code
149086 )
149087 ,p_token_4 => 'PRODUCT_NAME'
149088 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
149089 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
149090 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
149091 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
149092 ,p_ae_header_id => NULL
149093 );
149094
149095 IF (C_LEVEL_ERROR>= g_log_level) THEN
149096 trace
149097 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
149098 ,p_level => C_LEVEL_ERROR
149099 ,p_module => l_log_module);
149100 END IF;
149101 END IF;
149102 END IF;
149103 --
149104 --
149105 ------------------------------------------------------------------------------------------------
149106 -- 4219869 Business Flow
149107 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
149108 -- Prior Entry. Currently, the following code is always generated.
149109 ------------------------------------------------------------------------------------------------
149110 XLA_AE_LINES_PKG.ValidateCurrentLine;
149111
149112 ------------------------------------------------------------------------------------
149113 -- 4219869 Business Flow
149114 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
149115 ------------------------------------------------------------------------------------
149116 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149117
149118 ----------------------------------------------------------------------------------
149119 -- 4219869 Business Flow
149120 -- Update journal entry status -- Need to generate this within IF <condition>
149121 ----------------------------------------------------------------------------------
149122 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149123 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
149124 ,p_balance_type_code => l_balance_type_code
149125 );
149126
149127 -------------------------------------------------------------------------------------------
149128 -- 4262811 - Generate the Accrual Reversal lines
149129 -------------------------------------------------------------------------------------------
149130 BEGIN
149131 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
149132 (g_array_event(p_event_id).array_value_num('header_index'));
149133 IF l_acc_rev_flag IS NULL THEN
149134 l_acc_rev_flag := 'N';
149135 END IF;
149136 EXCEPTION
149137 WHEN OTHERS THEN
149138 l_acc_rev_flag := 'N';
149139 END;
149140 --
149141 IF (l_acc_rev_flag = 'Y') THEN
149142
149143 -- 4645092 ------------------------------------------------------------------------------
149144 -- To allow MPA report to determine if it should generate report process
149145 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
149146 ------------------------------------------------------------------------------------------
149147
149148 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
149149 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
149150 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
149151 -- call ADRs
149152 -- Bug 4922099
149153 --
149154 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
149155 (NVL(l_actual_upg_option, 'N') = 'O') OR
149156 (NVL(l_enc_upg_option, 'N') = 'O')
149157 )
149158 THEN
149159 NULL;
149160 --
149161 --
149162
149163 l_ccid := AcctDerRule_42(
149164 p_application_id => p_application_id
149165 , p_ae_header_id => l_ae_header_id
149166 , p_source_39 => p_source_39
149167 , x_transaction_coa_id => l_adr_transaction_coa_id
149168 , x_accounting_coa_id => l_adr_accounting_coa_id
149169 , x_value_type_code => l_adr_value_type_code
149170 , p_side => 'NA'
149171 );
149172
149176 , p_transaction_coa_id => l_adr_transaction_coa_id
149173 xla_ae_lines_pkg.set_ccid(
149174 p_code_combination_id => l_ccid
149175 , p_value_type_code => l_adr_value_type_code
149177 , p_accounting_coa_id => l_adr_accounting_coa_id
149178 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
149179 , p_adr_type_code => 'S'
149180 , p_component_type => l_component_type
149181 , p_component_code => l_component_code
149182 , p_component_type_code => l_component_type_code
149183 , p_component_appl_id => l_component_appl_id
149184 , p_amb_context_code => l_amb_context_code
149185 , p_side => 'NA'
149186 );
149187
149188
149189 --
149190 --
149191 END IF;
149192
149193 --
149194 -- Update the line information that should be overwritten
149195 --
149196 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
149197 p_header_num => 1);
149198 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
149199
149200 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
149201
149202 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
149203 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
149204 END IF;
149205
149206 --
149207 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
149208 --
149209 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
149210 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
149211 ELSE
149212 ---------------------------------------------------------------------------------------------------
149213 -- 4262811a Switch Sign
149214 ---------------------------------------------------------------------------------------------------
149215 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
149216 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149217 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149218 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149219 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149220 -- 5132302
149221 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
149222 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149223
149224 END IF;
149225
149226 -- 4955764
149227 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
149228 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
149229
149230
149231 XLA_AE_LINES_PKG.ValidateCurrentLine;
149232 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149233
149234 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149235 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
149236 ,p_balance_type_code => l_balance_type_code);
149237
149238 END IF;
149239
149240 -----------------------------------------------------------------------------------------
149241 -- 4262811 Multiperiod Accounting
149242 -----------------------------------------------------------------------------------------
149243 -- No MPA option is assigned.
149244
149245
149246 END IF;
149247 END IF;
149248 --
149249
149250 --
149251 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149252 trace
149253 (p_msg => 'END of AcctLineType_244'
149254 ,p_level => C_LEVEL_PROCEDURE
149255 ,p_module => l_log_module);
149256 END IF;
149257 --
149258 EXCEPTION
149259 WHEN xla_exceptions_pkg.application_exception THEN
149260 RAISE;
149261 WHEN OTHERS THEN
149262 xla_exceptions_pkg.raise_message
149263 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_244');
149264 END AcctLineType_244;
149265 --
149266
149267 ---------------------------------------
149268 --
149269 -- PRIVATE FUNCTION
149270 -- AcctLineType_245
149271 --
149272 ---------------------------------------
149273 PROCEDURE AcctLineType_245 (
149274 p_application_id IN NUMBER
149275 ,p_event_id IN NUMBER
149276 ,p_calculate_acctd_flag IN VARCHAR2
149277 ,p_calculate_g_l_flag IN VARCHAR2
149278 ,p_actual_flag IN OUT VARCHAR2
149279 ,p_balance_type_code OUT VARCHAR2
149280 ,p_gain_or_loss_ref OUT VARCHAR2
149281
149282 --Invoice Distribution Description
149283 , p_source_1 IN VARCHAR2
149284 --Invoice Distribution Ledger Amount
149285 , p_source_9 IN NUMBER
149286 --Invoice Distribution Type
149287 , p_source_21 IN VARCHAR2
149288 , p_source_21_meaning IN VARCHAR2
149289 --Self-Assessed Tax Liability Account
149290 , p_source_39 IN NUMBER
149291 --Accounting Reversal Indicator
149292 , p_source_41 IN VARCHAR2
149293 --Distribution Link Type
149294 , p_source_43 IN VARCHAR2
149295 --Allocation to Main Distribution Identifier
149299 --Invoice Distribution Identifier
149296 , p_source_45 IN NUMBER
149297 --Invoice Identifier
149298 , p_source_46 IN NUMBER
149300 , p_source_52 IN NUMBER
149301 --Payables Encumbrance Upgrade Credit Account
149302 , p_source_53 IN NUMBER
149303 --Payables Encumbrance Upgrade Credit Amount
149304 , p_source_54 IN NUMBER
149305 --Invoice Currency Code
149306 , p_source_55 IN VARCHAR2
149307 --Payables Encumbrance Upgrade Credit Base Amount
149308 , p_source_56 IN NUMBER
149309 --Payables Encumbrance Upgrade Debit Account
149310 , p_source_57 IN NUMBER
149311 --Payables Encumbrance Upgrade Debit Amount
149312 , p_source_58 IN NUMBER
149313 --Payables Encumbrance Upgrade Debit Base Amount
149314 , p_source_59 IN NUMBER
149315 --Payables Encumbrance Upgrade Option
149316 , p_source_60 IN VARCHAR2
149317 --Invoice Distribution Amount
149318 , p_source_61 IN NUMBER
149319 --Deferred Accounting End Date
149320 , p_source_65 IN DATE
149321 --Deferred Accounting Option
149322 , p_source_66 IN VARCHAR2
149323 --Deferred Accounting Start Date
149324 , p_source_67 IN DATE
149325 --Override Accounted Amount Indicator
149326 , p_source_68 IN VARCHAR2
149327 , p_source_68_meaning IN VARCHAR2
149328 --Invoice Supplier Identifier
149329 , p_source_69 IN NUMBER
149330 --Invoice Supplier Site Identifier
149331 , p_source_70 IN NUMBER
149332 --Third Party Type
149333 , p_source_71 IN VARCHAR2
149334 --Parent Reversal Identifier
149335 , p_source_72 IN NUMBER
149336 --Invoice Distribution Tax Line Identifier
149337 , p_source_74 IN NUMBER
149338 --Invoice Distribution Tax Distribution Identifier from Tax
149339 , p_source_75 IN NUMBER
149340 --Invoice Distribution Summary Tax Line Identifier
149341 , p_source_76 IN NUMBER
149342 --Payables Upgrade Credit Encumbrance Type Identifier
149343 , p_source_77 IN NUMBER
149344 --Payables Upgrade Debit Encumbrance Type Identifier
149345 , p_source_78 IN NUMBER
149346 --Business Flow Accounts Payable Application Identifier
149347 , p_source_79 IN NUMBER
149348 --Business Flow Invoice Distribution Type
149349 , p_source_80 IN VARCHAR2
149350 --Business Flow Invoice Entity Code
149351 , p_source_81 IN VARCHAR2
149352 --Business Flow Invoice Distribution Identifier
149353 , p_source_82 IN NUMBER
149354 --Business Flow Invoice Identifier
149355 , p_source_83 IN NUMBER
149356 --Self-Assessed Tax Flag
149357 , p_source_135 IN VARCHAR2
149358 , p_source_135_meaning IN VARCHAR2
149359 --Invoice Exchange Date
149360 , p_source_136 IN DATE
149361 --Invoice Exchange Rate
149362 , p_source_137 IN NUMBER
149363 --Invoice Exchange Rate Type
149364 , p_source_138 IN VARCHAR2
149365 )
149366 IS
149367
149368 l_component_type VARCHAR2(80);
149369 l_component_code VARCHAR2(30);
149370 l_component_type_code VARCHAR2(1);
149371 l_component_appl_id INTEGER;
149372 l_amb_context_code VARCHAR2(30);
149373 l_entity_code VARCHAR2(30);
149374 l_event_class_code VARCHAR2(30);
149375 l_ae_header_id NUMBER;
149376 l_event_type_code VARCHAR2(30);
149377 l_line_definition_code VARCHAR2(30);
149378 l_line_definition_owner_code VARCHAR2(1);
149379 --
149380 -- adr variables
149381 l_segment VARCHAR2(30);
149382 l_ccid NUMBER;
149383 l_adr_transaction_coa_id NUMBER;
149384 l_adr_accounting_coa_id NUMBER;
149385 l_adr_flexfield_segment_code VARCHAR2(30);
149386 l_adr_flex_value_set_id NUMBER;
149387 l_adr_value_type_code VARCHAR2(30);
149388 l_adr_value_combination_id NUMBER;
149389 l_adr_value_segment_code VARCHAR2(30);
149390
149391 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
149392 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
149393 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
149394 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
149395
149396 -- 4262811 Variables ------------------------------------------------------------------------------------------
149397 l_entered_amt_idx NUMBER;
149398 l_accted_amt_idx NUMBER;
149399 l_acc_rev_flag VARCHAR2(1);
149400 l_accrual_line_num NUMBER;
149401 l_tmp_amt NUMBER;
149402 l_acc_rev_natural_side_code VARCHAR2(1);
149403
149404 l_num_entries NUMBER;
149405 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
149406 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
149407 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
149408 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
149409 l_recog_line_1 NUMBER;
149410 l_recog_line_2 NUMBER;
149411
149412 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
149413 l_bflow_applied_to_amt NUMBER; -- 5132302
149414 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
149415
149416 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
149417
149421 ---------------------------------------------------------------------------------------------------------------
149418 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
149419 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
149420
149422
149423
149424 --
149425 -- bulk performance
149426 --
149427 l_balance_type_code VARCHAR2(1);
149428 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
149429 l_log_module VARCHAR2(240);
149430
149431 --
149432 -- Upgrade strategy
149433 --
149434 l_actual_upg_option VARCHAR2(1);
149435 l_enc_upg_option VARCHAR2(1);
149436
149437 --
149438 BEGIN
149439 --
149440 IF g_log_enabled THEN
149441 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_245';
149442 END IF;
149443 --
149444 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149445
149446 trace
149447 (p_msg => 'BEGIN of AcctLineType_245'
149448 ,p_level => C_LEVEL_PROCEDURE
149449 ,p_module => l_log_module);
149450
149451 END IF;
149452 --
149453 l_component_type := 'AMB_JLT';
149454 l_component_code := 'AP_SELF_ASSESSED_TAX_CLR_DM';
149455 l_component_type_code := 'S';
149456 l_component_appl_id := 200;
149457 l_amb_context_code := 'DEFAULT';
149458 l_entity_code := 'AP_INVOICES';
149459 l_event_class_code := 'DEBIT MEMOS';
149460 l_event_type_code := 'DEBIT MEMOS_ALL';
149461 l_line_definition_owner_code := 'S';
149462 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
149463 --
149464 l_balance_type_code := 'A';
149465 l_segment := NULL;
149466 l_ccid := NULL;
149467 l_adr_transaction_coa_id := NULL;
149468 l_adr_accounting_coa_id := NULL;
149469 l_adr_flexfield_segment_code := NULL;
149470 l_adr_flex_value_set_id := NULL;
149471 l_adr_value_type_code := NULL;
149472 l_adr_value_combination_id := NULL;
149473 l_adr_value_segment_code := NULL;
149474
149475 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
149476 l_bflow_class_code := ''; -- 4219869 Business Flow
149477 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
149478 l_budgetary_control_flag := 'N';
149479
149480 l_bflow_applied_to_amt_idx := NULL; -- 5132302
149481 l_bflow_applied_to_amt := NULL; -- 5132302
149482 l_entered_amt_idx := NULL; -- 4262811
149483 l_accted_amt_idx := NULL; -- 4262811
149484 l_acc_rev_flag := NULL; -- 4262811
149485 l_accrual_line_num := NULL; -- 4262811
149486 l_tmp_amt := NULL; -- 4262811
149487 --
149488
149489 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
149490 l_balance_type_code <> 'B' THEN
149491 IF (NVL(p_source_21,'
149492 ') = 'REC_TAX' OR
149493 NVL(p_source_21,'
149494 ') = 'NONREC_TAX') AND
149495 NVL(p_source_135,'
149496 ') = 'Y'
149497 THEN
149498
149499 --
149500 XLA_AE_LINES_PKG.SetNewLine;
149501
149502 p_balance_type_code := l_balance_type_code;
149503 -- set the flag so later we will know whether the gain loss line needs to be created
149504
149505 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
149506 p_actual_flag :='A';
149507 END IF;
149508
149509 --
149510 -- bulk performance
149511 --
149512 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
149513 p_header_num => 0); -- 4262811
149514 --
149515 -- set accounting line options
149516 --
149517 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
149518 p_natural_side_code => 'C'
149519 , p_gain_or_loss_flag => 'N'
149520 , p_gl_transfer_mode_code => 'S'
149521 , p_acct_entry_type_code => 'A'
149522 , p_switch_side_flag => 'Y'
149523 , p_merge_duplicate_code => 'A'
149524 );
149525 --
149526 l_acc_rev_natural_side_code := 'D'; -- 4262811
149527 --
149528 --
149529 -- set accounting line type info
149530 --
149531 xla_ae_lines_pkg.SetAcctLineType
149532 (p_component_type => l_component_type
149533 ,p_event_type_code => l_event_type_code
149534 ,p_line_definition_owner_code => l_line_definition_owner_code
149535 ,p_line_definition_code => l_line_definition_code
149536 ,p_accounting_line_code => l_component_code
149537 ,p_accounting_line_type_code => l_component_type_code
149538 ,p_accounting_line_appl_id => l_component_appl_id
149539 ,p_amb_context_code => l_amb_context_code
149540 ,p_entity_code => l_entity_code
149541 ,p_event_class_code => l_event_class_code);
149542 --
149543 -- set accounting class
149544 --
149545 xla_ae_lines_pkg.SetAcctClass(
149546 p_accounting_class_code => 'SELF_ASSESSED_TAX'
149547 , p_ae_header_id => l_ae_header_id
149548 );
149549
149550 --
149551 -- set rounding class
149552 --
149553 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
149557 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
149554 'SELF_ASSESSED_TAX';
149555
149556 --
149558 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
149559 --
149560 -- bulk performance
149561 --
149562 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
149563
149564 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
149565 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
149566
149567 -- 4955764
149568 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
149569 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
149570
149571 -- 4458381 Public Sector Enh
149572
149573 --
149574 -- set accounting attributes for the line type
149575 --
149576 l_entered_amt_idx := 23;
149577 l_accted_amt_idx := 28;
149578 l_bflow_applied_to_amt_idx := NULL; -- 5132302
149579 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
149580 l_rec_acct_attrs.array_char_value(1) := p_source_41;
149581 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
149582 l_rec_acct_attrs.array_num_value(2) :=
149583 xla_ae_sources_pkg.GetSystemSourceNum(
149584 p_source_code => 'XLA_EVENT_APPL_ID'
149585 , p_source_type_code => 'Y'
149586 , p_source_application_id => 602
149587 );
149588 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
149589 l_rec_acct_attrs.array_char_value(3) := p_source_43;
149590 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
149591 l_rec_acct_attrs.array_char_value(4) :=
149592 xla_ae_sources_pkg.GetSystemSourceChar(
149593 p_source_code => 'XLA_ENTITY_CODE'
149594 , p_source_type_code => 'Y'
149595 , p_source_application_id => 602
149596 );
149597 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
149598 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
149599 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
149600 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
149601 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
149602 l_rec_acct_attrs.array_num_value(7) := p_source_79;
149603 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
149604 l_rec_acct_attrs.array_char_value(8) := p_source_80;
149605 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
149606 l_rec_acct_attrs.array_char_value(9) := p_source_81;
149607 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
149608 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
149609 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
149610 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
149611 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
149612 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
149613 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
149614 l_rec_acct_attrs.array_char_value(13) := p_source_43;
149615 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
149616 l_rec_acct_attrs.array_num_value(14) := p_source_53;
149617 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
149618 l_rec_acct_attrs.array_num_value(15) := p_source_54;
149619 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
149620 l_rec_acct_attrs.array_char_value(16) := p_source_55;
149621 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
149622 l_rec_acct_attrs.array_num_value(17) := p_source_56;
149623 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
149624 l_rec_acct_attrs.array_num_value(18) := p_source_57;
149625 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
149626 l_rec_acct_attrs.array_num_value(19) := p_source_58;
149627 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
149628 l_rec_acct_attrs.array_char_value(20) := p_source_55;
149629 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
149630 l_rec_acct_attrs.array_num_value(21) := p_source_59;
149631 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
149632 l_rec_acct_attrs.array_char_value(22) := p_source_60;
149633 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
149634 l_rec_acct_attrs.array_num_value(23) := p_source_61;
149635 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
149636 l_rec_acct_attrs.array_char_value(24) := p_source_55;
149637 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
149638 l_rec_acct_attrs.array_date_value(25) := p_source_136;
149639 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
149640 l_rec_acct_attrs.array_num_value(26) := p_source_137;
149641 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
149642 l_rec_acct_attrs.array_char_value(27) := p_source_138;
149643 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
149644 l_rec_acct_attrs.array_num_value(28) := p_source_9;
149645 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
149646 l_rec_acct_attrs.array_date_value(29) := p_source_65;
149647 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
149651 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
149648 l_rec_acct_attrs.array_char_value(30) := p_source_66;
149649 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
149650 l_rec_acct_attrs.array_date_value(31) := p_source_67;
149652 l_rec_acct_attrs.array_char_value(32) := p_source_68;
149653 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
149654 l_rec_acct_attrs.array_num_value(33) := p_source_69;
149655 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
149656 l_rec_acct_attrs.array_num_value(34) := p_source_70;
149657 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
149658 l_rec_acct_attrs.array_char_value(35) := p_source_71;
149659 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
149660 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
149661 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
149662 l_rec_acct_attrs.array_char_value(37) := p_source_43;
149663 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
149664 l_rec_acct_attrs.array_num_value(38) := p_source_74;
149665 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
149666 l_rec_acct_attrs.array_num_value(39) := p_source_75;
149667 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
149668 l_rec_acct_attrs.array_num_value(40) := p_source_76;
149669 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
149670 l_rec_acct_attrs.array_num_value(41) := p_source_77;
149671 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
149672 l_rec_acct_attrs.array_num_value(42) := p_source_78;
149673
149674 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
149675 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
149676
149677 ---------------------------------------------------------------------------------------------------------------
149678 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
149679 ---------------------------------------------------------------------------------------------------------------
149680 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
149681
149682 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
149683 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
149684
149685 IF xla_accounting_cache_pkg.GetValueChar
149686 (p_source_code => 'LEDGER_CATEGORY_CODE'
149687 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
149688 AND l_bflow_method_code = 'PRIOR_ENTRY'
149689 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
149690 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
149691 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
149692 )
149693 THEN
149694 xla_ae_lines_pkg.BflowUpgEntry
149695 (p_business_method_code => l_bflow_method_code
149696 ,p_business_class_code => l_bflow_class_code
149697 ,p_balance_type => l_balance_type_code);
149698 ELSE
149699 NULL;
149700 -- No business flow processing for business flow method of NONE.
149701 END IF;
149702
149703 --
149704 -- call analytical criteria
149705 --
149706
149707 --
149708 -- call description
149709 --
149710
149711 xla_ae_lines_pkg.SetLineDescription(
149712 p_ae_header_id => l_ae_header_id
149713 ,p_description => Description_2 (
149714 p_application_id => p_application_id
149715 , p_ae_header_id => l_ae_header_id
149716 , p_source_1 => p_source_1
149717 )
149718 );
149719
149720
149721 --
149722 -- call ADRs
149723 -- Bug 4922099
149724 --
149725 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
149726 (NVL(l_actual_upg_option, 'N') = 'O') OR
149727 (NVL(l_enc_upg_option, 'N') = 'O')
149728 )
149729 THEN
149730 NULL;
149731 --
149732 --
149733
149734 l_ccid := AcctDerRule_42(
149735 p_application_id => p_application_id
149736 , p_ae_header_id => l_ae_header_id
149737 , p_source_39 => p_source_39
149738 , x_transaction_coa_id => l_adr_transaction_coa_id
149739 , x_accounting_coa_id => l_adr_accounting_coa_id
149740 , x_value_type_code => l_adr_value_type_code
149741 , p_side => 'NA'
149742 );
149743
149744 xla_ae_lines_pkg.set_ccid(
149745 p_code_combination_id => l_ccid
149746 , p_value_type_code => l_adr_value_type_code
149747 , p_transaction_coa_id => l_adr_transaction_coa_id
149748 , p_accounting_coa_id => l_adr_accounting_coa_id
149749 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
149750 , p_adr_type_code => 'S'
149751 , p_component_type => l_component_type
149752 , p_component_code => l_component_code
149753 , p_component_type_code => l_component_type_code
149754 , p_component_appl_id => l_component_appl_id
149755 , p_amb_context_code => l_amb_context_code
149756 , p_side => 'NA'
149757 );
149758
149759
149760 --
149761 --
149762 END IF;
149763 --
149764 -- Bug 4922099
149768 (l_bflow_method_code = 'PRIOR_ENTRY')
149765 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
149766 (NVL(l_enc_upg_option, 'N') = 'O')
149767 ) AND
149769 )
149770 THEN
149771 IF
149772 --
149773 1 = 2
149774 --
149775 THEN
149776 xla_accounting_err_pkg.build_message
149777 (p_appli_s_name => 'XLA'
149778 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
149779 ,p_token_1 => 'LINE_NUMBER'
149780 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
149781 ,p_token_2 => 'LINE_TYPE_NAME'
149782 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
149783 l_component_type
149784 ,l_component_code
149785 ,l_component_type_code
149786 ,l_component_appl_id
149787 ,l_amb_context_code
149788 ,l_entity_code
149789 ,l_event_class_code
149790 )
149791 ,p_token_3 => 'OWNER'
149792 ,p_value_3 => xla_lookups_pkg.get_meaning(
149793 p_lookup_type => 'XLA_OWNER_TYPE'
149794 ,p_lookup_code => l_component_type_code
149795 )
149796 ,p_token_4 => 'PRODUCT_NAME'
149797 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
149798 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
149799 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
149800 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
149801 ,p_ae_header_id => NULL
149802 );
149803
149804 IF (C_LEVEL_ERROR>= g_log_level) THEN
149805 trace
149806 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
149807 ,p_level => C_LEVEL_ERROR
149808 ,p_module => l_log_module);
149809 END IF;
149810 END IF;
149811 END IF;
149812 --
149813 --
149814 ------------------------------------------------------------------------------------------------
149815 -- 4219869 Business Flow
149816 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
149817 -- Prior Entry. Currently, the following code is always generated.
149818 ------------------------------------------------------------------------------------------------
149819 XLA_AE_LINES_PKG.ValidateCurrentLine;
149820
149821 ------------------------------------------------------------------------------------
149822 -- 4219869 Business Flow
149823 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
149824 ------------------------------------------------------------------------------------
149825 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149826
149827 ----------------------------------------------------------------------------------
149828 -- 4219869 Business Flow
149829 -- Update journal entry status -- Need to generate this within IF <condition>
149830 ----------------------------------------------------------------------------------
149831 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149832 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
149833 ,p_balance_type_code => l_balance_type_code
149834 );
149835
149836 -------------------------------------------------------------------------------------------
149837 -- 4262811 - Generate the Accrual Reversal lines
149838 -------------------------------------------------------------------------------------------
149839 BEGIN
149840 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
149841 (g_array_event(p_event_id).array_value_num('header_index'));
149842 IF l_acc_rev_flag IS NULL THEN
149843 l_acc_rev_flag := 'N';
149844 END IF;
149845 EXCEPTION
149846 WHEN OTHERS THEN
149847 l_acc_rev_flag := 'N';
149848 END;
149849 --
149850 IF (l_acc_rev_flag = 'Y') THEN
149851
149852 -- 4645092 ------------------------------------------------------------------------------
149853 -- To allow MPA report to determine if it should generate report process
149854 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
149855 ------------------------------------------------------------------------------------------
149856
149857 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
149858 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
149862 --
149859 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
149860 -- call ADRs
149861 -- Bug 4922099
149863 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
149864 (NVL(l_actual_upg_option, 'N') = 'O') OR
149865 (NVL(l_enc_upg_option, 'N') = 'O')
149866 )
149867 THEN
149868 NULL;
149869 --
149870 --
149871
149872 l_ccid := AcctDerRule_42(
149873 p_application_id => p_application_id
149874 , p_ae_header_id => l_ae_header_id
149875 , p_source_39 => p_source_39
149876 , x_transaction_coa_id => l_adr_transaction_coa_id
149877 , x_accounting_coa_id => l_adr_accounting_coa_id
149878 , x_value_type_code => l_adr_value_type_code
149879 , p_side => 'NA'
149880 );
149881
149882 xla_ae_lines_pkg.set_ccid(
149883 p_code_combination_id => l_ccid
149884 , p_value_type_code => l_adr_value_type_code
149885 , p_transaction_coa_id => l_adr_transaction_coa_id
149886 , p_accounting_coa_id => l_adr_accounting_coa_id
149887 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
149888 , p_adr_type_code => 'S'
149889 , p_component_type => l_component_type
149890 , p_component_code => l_component_code
149891 , p_component_type_code => l_component_type_code
149892 , p_component_appl_id => l_component_appl_id
149893 , p_amb_context_code => l_amb_context_code
149894 , p_side => 'NA'
149895 );
149896
149897
149898 --
149899 --
149900 END IF;
149901
149902 --
149903 -- Update the line information that should be overwritten
149904 --
149905 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
149906 p_header_num => 1);
149907 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
149908
149909 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
149910
149911 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
149912 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
149913 END IF;
149914
149915 --
149916 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
149917 --
149918 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
149919 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
149920 ELSE
149921 ---------------------------------------------------------------------------------------------------
149922 -- 4262811a Switch Sign
149923 ---------------------------------------------------------------------------------------------------
149924 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
149925 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149926 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149927 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
149928 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149929 -- 5132302
149930 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
149931 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
149932
149933 END IF;
149934
149935 -- 4955764
149936 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
149937 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
149938
149939
149940 XLA_AE_LINES_PKG.ValidateCurrentLine;
149941 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
149942
149943 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
149944 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
149945 ,p_balance_type_code => l_balance_type_code);
149946
149947 END IF;
149948
149949 -----------------------------------------------------------------------------------------
149950 -- 4262811 Multiperiod Accounting
149951 -----------------------------------------------------------------------------------------
149952 -- No MPA option is assigned.
149953
149954
149955 END IF;
149956 END IF;
149957 --
149958
149959 --
149960 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
149961 trace
149962 (p_msg => 'END of AcctLineType_245'
149963 ,p_level => C_LEVEL_PROCEDURE
149964 ,p_module => l_log_module);
149965 END IF;
149966 --
149967 EXCEPTION
149968 WHEN xla_exceptions_pkg.application_exception THEN
149969 RAISE;
149970 WHEN OTHERS THEN
149971 xla_exceptions_pkg.raise_message
149972 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_245');
149973 END AcctLineType_245;
149974 --
149975
149976 ---------------------------------------
149977 --
149978 -- PRIVATE FUNCTION
149979 -- AcctLineType_246
149983 p_application_id IN NUMBER
149980 --
149981 ---------------------------------------
149982 PROCEDURE AcctLineType_246 (
149984 ,p_event_id IN NUMBER
149985 ,p_calculate_acctd_flag IN VARCHAR2
149986 ,p_calculate_g_l_flag IN VARCHAR2
149987 ,p_actual_flag IN OUT VARCHAR2
149988 ,p_balance_type_code OUT VARCHAR2
149989 ,p_gain_or_loss_ref OUT VARCHAR2
149990
149991 --Invoice Distribution Description
149992 , p_source_1 IN VARCHAR2
149993 --Invoice Distribution Ledger Amount
149994 , p_source_9 IN NUMBER
149995 --Invoice Distribution Type
149996 , p_source_21 IN VARCHAR2
149997 , p_source_21_meaning IN VARCHAR2
149998 --Self-Assessed Tax Liability Account
149999 , p_source_39 IN NUMBER
150000 --Accounting Reversal Indicator
150001 , p_source_41 IN VARCHAR2
150002 --Distribution Link Type
150003 , p_source_43 IN VARCHAR2
150004 --Allocation to Main Distribution Identifier
150005 , p_source_45 IN NUMBER
150006 --Invoice Identifier
150007 , p_source_46 IN NUMBER
150008 --Invoice Distribution Identifier
150009 , p_source_52 IN NUMBER
150010 --Payables Encumbrance Upgrade Credit Account
150011 , p_source_53 IN NUMBER
150012 --Payables Encumbrance Upgrade Credit Amount
150013 , p_source_54 IN NUMBER
150014 --Invoice Currency Code
150015 , p_source_55 IN VARCHAR2
150016 --Payables Encumbrance Upgrade Credit Base Amount
150017 , p_source_56 IN NUMBER
150018 --Payables Encumbrance Upgrade Debit Account
150019 , p_source_57 IN NUMBER
150020 --Payables Encumbrance Upgrade Debit Amount
150021 , p_source_58 IN NUMBER
150022 --Payables Encumbrance Upgrade Debit Base Amount
150023 , p_source_59 IN NUMBER
150024 --Payables Encumbrance Upgrade Option
150025 , p_source_60 IN VARCHAR2
150026 --Invoice Distribution Amount
150027 , p_source_61 IN NUMBER
150028 --Deferred Accounting End Date
150029 , p_source_65 IN DATE
150030 --Deferred Accounting Option
150031 , p_source_66 IN VARCHAR2
150032 --Deferred Accounting Start Date
150033 , p_source_67 IN DATE
150034 --Override Accounted Amount Indicator
150035 , p_source_68 IN VARCHAR2
150036 , p_source_68_meaning IN VARCHAR2
150037 --Invoice Supplier Identifier
150038 , p_source_69 IN NUMBER
150039 --Invoice Supplier Site Identifier
150040 , p_source_70 IN NUMBER
150041 --Third Party Type
150042 , p_source_71 IN VARCHAR2
150043 --Parent Reversal Identifier
150044 , p_source_72 IN NUMBER
150045 --Invoice Distribution Statistical Amount
150046 , p_source_73 IN NUMBER
150047 --Invoice Distribution Tax Line Identifier
150048 , p_source_74 IN NUMBER
150049 --Invoice Distribution Tax Distribution Identifier from Tax
150050 , p_source_75 IN NUMBER
150051 --Invoice Distribution Summary Tax Line Identifier
150052 , p_source_76 IN NUMBER
150053 --Payables Upgrade Credit Encumbrance Type Identifier
150054 , p_source_77 IN NUMBER
150055 --Payables Upgrade Debit Encumbrance Type Identifier
150056 , p_source_78 IN NUMBER
150057 --Business Flow Accounts Payable Application Identifier
150058 , p_source_79 IN NUMBER
150059 --Business Flow Invoice Distribution Type
150060 , p_source_80 IN VARCHAR2
150061 --Business Flow Invoice Entity Code
150062 , p_source_81 IN VARCHAR2
150063 --Business Flow Invoice Distribution Identifier
150064 , p_source_82 IN NUMBER
150065 --Business Flow Invoice Identifier
150066 , p_source_83 IN NUMBER
150067 --Self-Assessed Tax Flag
150068 , p_source_135 IN VARCHAR2
150069 , p_source_135_meaning IN VARCHAR2
150070 --Invoice Exchange Date
150071 , p_source_136 IN DATE
150072 --Invoice Exchange Rate
150073 , p_source_137 IN NUMBER
150074 --Invoice Exchange Rate Type
150075 , p_source_138 IN VARCHAR2
150076 )
150077 IS
150078
150079 l_component_type VARCHAR2(80);
150080 l_component_code VARCHAR2(30);
150081 l_component_type_code VARCHAR2(1);
150082 l_component_appl_id INTEGER;
150083 l_amb_context_code VARCHAR2(30);
150084 l_entity_code VARCHAR2(30);
150085 l_event_class_code VARCHAR2(30);
150086 l_ae_header_id NUMBER;
150087 l_event_type_code VARCHAR2(30);
150088 l_line_definition_code VARCHAR2(30);
150089 l_line_definition_owner_code VARCHAR2(1);
150090 --
150091 -- adr variables
150092 l_segment VARCHAR2(30);
150093 l_ccid NUMBER;
150094 l_adr_transaction_coa_id NUMBER;
150095 l_adr_accounting_coa_id NUMBER;
150096 l_adr_flexfield_segment_code VARCHAR2(30);
150097 l_adr_flex_value_set_id NUMBER;
150098 l_adr_value_type_code VARCHAR2(30);
150099 l_adr_value_combination_id NUMBER;
150100 l_adr_value_segment_code VARCHAR2(30);
150101
150102 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
150103 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
150104 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
150105 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
150106
150107 -- 4262811 Variables ------------------------------------------------------------------------------------------
150108 l_entered_amt_idx NUMBER;
150109 l_accted_amt_idx NUMBER;
150113 l_acc_rev_natural_side_code VARCHAR2(1);
150110 l_acc_rev_flag VARCHAR2(1);
150111 l_accrual_line_num NUMBER;
150112 l_tmp_amt NUMBER;
150114
150115 l_num_entries NUMBER;
150116 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
150117 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
150118 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
150119 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
150120 l_recog_line_1 NUMBER;
150121 l_recog_line_2 NUMBER;
150122
150123 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
150124 l_bflow_applied_to_amt NUMBER; -- 5132302
150125 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
150126
150127 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
150128
150129 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
150130 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
150131
150132 ---------------------------------------------------------------------------------------------------------------
150133
150134
150135 --
150136 -- bulk performance
150137 --
150138 l_balance_type_code VARCHAR2(1);
150139 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
150140 l_log_module VARCHAR2(240);
150141
150142 --
150143 -- Upgrade strategy
150144 --
150145 l_actual_upg_option VARCHAR2(1);
150146 l_enc_upg_option VARCHAR2(1);
150147
150148 --
150149 BEGIN
150150 --
150151 IF g_log_enabled THEN
150152 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_246';
150153 END IF;
150154 --
150155 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150156
150157 trace
150158 (p_msg => 'BEGIN of AcctLineType_246'
150159 ,p_level => C_LEVEL_PROCEDURE
150160 ,p_module => l_log_module);
150161
150162 END IF;
150163 --
150164 l_component_type := 'AMB_JLT';
150165 l_component_code := 'AP_SELF_ASSESSED_TAX_CRL_INV';
150166 l_component_type_code := 'S';
150167 l_component_appl_id := 200;
150168 l_amb_context_code := 'DEFAULT';
150169 l_entity_code := 'AP_INVOICES';
150170 l_event_class_code := 'INVOICES';
150171 l_event_type_code := 'INVOICES_ALL';
150172 l_line_definition_owner_code := 'S';
150173 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
150174 --
150175 l_balance_type_code := 'A';
150176 l_segment := NULL;
150177 l_ccid := NULL;
150178 l_adr_transaction_coa_id := NULL;
150179 l_adr_accounting_coa_id := NULL;
150180 l_adr_flexfield_segment_code := NULL;
150181 l_adr_flex_value_set_id := NULL;
150182 l_adr_value_type_code := NULL;
150183 l_adr_value_combination_id := NULL;
150184 l_adr_value_segment_code := NULL;
150185
150186 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
150187 l_bflow_class_code := ''; -- 4219869 Business Flow
150188 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
150189 l_budgetary_control_flag := 'N';
150190
150191 l_bflow_applied_to_amt_idx := NULL; -- 5132302
150192 l_bflow_applied_to_amt := NULL; -- 5132302
150193 l_entered_amt_idx := NULL; -- 4262811
150194 l_accted_amt_idx := NULL; -- 4262811
150195 l_acc_rev_flag := NULL; -- 4262811
150196 l_accrual_line_num := NULL; -- 4262811
150197 l_tmp_amt := NULL; -- 4262811
150198 --
150199
150200 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
150201 l_balance_type_code <> 'B' THEN
150202 IF (NVL(p_source_21,'
150203 ') = 'REC_TAX' OR
150204 NVL(p_source_21,'
150205 ') = 'NONREC_TAX') AND
150206 NVL(p_source_135,'
150207 ') = 'Y'
150208 THEN
150209
150210 --
150211 XLA_AE_LINES_PKG.SetNewLine;
150212
150213 p_balance_type_code := l_balance_type_code;
150214 -- set the flag so later we will know whether the gain loss line needs to be created
150215
150216 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
150217 p_actual_flag :='A';
150218 END IF;
150219
150220 --
150221 -- bulk performance
150222 --
150223 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
150224 p_header_num => 0); -- 4262811
150225 --
150226 -- set accounting line options
150227 --
150228 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
150229 p_natural_side_code => 'C'
150230 , p_gain_or_loss_flag => 'N'
150231 , p_gl_transfer_mode_code => 'S'
150232 , p_acct_entry_type_code => 'A'
150233 , p_switch_side_flag => 'Y'
150234 , p_merge_duplicate_code => 'A'
150235 );
150236 --
150237 l_acc_rev_natural_side_code := 'D'; -- 4262811
150238 --
150239 --
150240 -- set accounting line type info
150241 --
150242 xla_ae_lines_pkg.SetAcctLineType
150243 (p_component_type => l_component_type
150247 ,p_accounting_line_code => l_component_code
150244 ,p_event_type_code => l_event_type_code
150245 ,p_line_definition_owner_code => l_line_definition_owner_code
150246 ,p_line_definition_code => l_line_definition_code
150248 ,p_accounting_line_type_code => l_component_type_code
150249 ,p_accounting_line_appl_id => l_component_appl_id
150250 ,p_amb_context_code => l_amb_context_code
150251 ,p_entity_code => l_entity_code
150252 ,p_event_class_code => l_event_class_code);
150253 --
150254 -- set accounting class
150255 --
150256 xla_ae_lines_pkg.SetAcctClass(
150257 p_accounting_class_code => 'SELF_ASSESSED_TAX'
150258 , p_ae_header_id => l_ae_header_id
150259 );
150260
150261 --
150262 -- set rounding class
150263 --
150264 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
150265 'SELF_ASSESSED_TAX';
150266
150267 --
150268 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
150269 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
150270 --
150271 -- bulk performance
150272 --
150273 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
150274
150275 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
150276 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
150277
150278 -- 4955764
150279 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
150280 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
150281
150282 -- 4458381 Public Sector Enh
150283
150284 --
150285 -- set accounting attributes for the line type
150286 --
150287 l_entered_amt_idx := 24;
150288 l_accted_amt_idx := 29;
150289 l_bflow_applied_to_amt_idx := 7; -- 5132302
150290 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
150291 l_rec_acct_attrs.array_char_value(1) := p_source_41;
150292 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
150293 l_rec_acct_attrs.array_num_value(2) :=
150294 xla_ae_sources_pkg.GetSystemSourceNum(
150295 p_source_code => 'XLA_EVENT_APPL_ID'
150296 , p_source_type_code => 'Y'
150297 , p_source_application_id => 602
150298 );
150299 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
150300 l_rec_acct_attrs.array_char_value(3) := p_source_43;
150301 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
150302 l_rec_acct_attrs.array_char_value(4) :=
150303 xla_ae_sources_pkg.GetSystemSourceChar(
150304 p_source_code => 'XLA_ENTITY_CODE'
150305 , p_source_type_code => 'Y'
150306 , p_source_application_id => 602
150307 );
150308 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
150309 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
150310 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
150311 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
150312 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
150313 l_rec_acct_attrs.array_num_value(7) := p_source_61;
150314 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
150315 l_rec_acct_attrs.array_num_value(8) := p_source_79;
150316 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
150317 l_rec_acct_attrs.array_char_value(9) := p_source_80;
150318 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
150319 l_rec_acct_attrs.array_char_value(10) := p_source_81;
150320 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
150321 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
150322 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
150323 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
150324 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
150325 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
150326 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
150327 l_rec_acct_attrs.array_char_value(14) := p_source_43;
150328 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
150329 l_rec_acct_attrs.array_num_value(15) := p_source_53;
150330 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
150331 l_rec_acct_attrs.array_num_value(16) := p_source_54;
150332 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
150333 l_rec_acct_attrs.array_char_value(17) := p_source_55;
150334 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
150335 l_rec_acct_attrs.array_num_value(18) := p_source_56;
150336 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
150337 l_rec_acct_attrs.array_num_value(19) := p_source_57;
150338 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
150339 l_rec_acct_attrs.array_num_value(20) := p_source_58;
150340 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
150341 l_rec_acct_attrs.array_char_value(21) := p_source_55;
150342 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
150343 l_rec_acct_attrs.array_num_value(22) := p_source_59;
150347 l_rec_acct_attrs.array_num_value(24) := p_source_61;
150344 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
150345 l_rec_acct_attrs.array_char_value(23) := p_source_60;
150346 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
150348 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
150349 l_rec_acct_attrs.array_char_value(25) := p_source_55;
150350 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
150351 l_rec_acct_attrs.array_date_value(26) := p_source_136;
150352 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
150353 l_rec_acct_attrs.array_num_value(27) := p_source_137;
150354 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
150355 l_rec_acct_attrs.array_char_value(28) := p_source_138;
150356 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
150357 l_rec_acct_attrs.array_num_value(29) := p_source_9;
150358 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
150359 l_rec_acct_attrs.array_date_value(30) := p_source_65;
150360 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
150361 l_rec_acct_attrs.array_char_value(31) := p_source_66;
150362 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
150363 l_rec_acct_attrs.array_date_value(32) := p_source_67;
150364 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
150365 l_rec_acct_attrs.array_char_value(33) := p_source_68;
150366 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
150367 l_rec_acct_attrs.array_num_value(34) := p_source_69;
150368 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
150369 l_rec_acct_attrs.array_num_value(35) := p_source_70;
150370 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
150371 l_rec_acct_attrs.array_char_value(36) := p_source_71;
150372 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
150373 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
150374 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
150375 l_rec_acct_attrs.array_char_value(38) := p_source_43;
150376 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
150377 l_rec_acct_attrs.array_num_value(39) := p_source_73;
150378 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
150379 l_rec_acct_attrs.array_num_value(40) := p_source_74;
150380 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
150381 l_rec_acct_attrs.array_num_value(41) := p_source_75;
150382 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
150383 l_rec_acct_attrs.array_num_value(42) := p_source_76;
150384 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
150385 l_rec_acct_attrs.array_num_value(43) := p_source_77;
150386 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
150387 l_rec_acct_attrs.array_num_value(44) := p_source_78;
150388
150389 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
150390 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
150391
150392 ---------------------------------------------------------------------------------------------------------------
150393 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
150394 ---------------------------------------------------------------------------------------------------------------
150395 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
150396
150397 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
150398 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
150399
150400 IF xla_accounting_cache_pkg.GetValueChar
150401 (p_source_code => 'LEDGER_CATEGORY_CODE'
150402 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
150403 AND l_bflow_method_code = 'PRIOR_ENTRY'
150404 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
150405 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
150406 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
150407 )
150408 THEN
150409 xla_ae_lines_pkg.BflowUpgEntry
150410 (p_business_method_code => l_bflow_method_code
150411 ,p_business_class_code => l_bflow_class_code
150412 ,p_balance_type => l_balance_type_code);
150413 ELSE
150414 NULL;
150415 -- No business flow processing for business flow method of NONE.
150416 END IF;
150417
150418 --
150419 -- call analytical criteria
150420 --
150421
150422 --
150423 -- call description
150424 --
150425
150426 xla_ae_lines_pkg.SetLineDescription(
150427 p_ae_header_id => l_ae_header_id
150428 ,p_description => Description_2 (
150429 p_application_id => p_application_id
150430 , p_ae_header_id => l_ae_header_id
150431 , p_source_1 => p_source_1
150432 )
150433 );
150434
150435
150436 --
150437 -- call ADRs
150438 -- Bug 4922099
150439 --
150440 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
150441 (NVL(l_actual_upg_option, 'N') = 'O') OR
150442 (NVL(l_enc_upg_option, 'N') = 'O')
150443 )
150444 THEN
150445 NULL;
150446 --
150447 --
150448
150449 l_ccid := AcctDerRule_42(
150450 p_application_id => p_application_id
150454 , x_accounting_coa_id => l_adr_accounting_coa_id
150451 , p_ae_header_id => l_ae_header_id
150452 , p_source_39 => p_source_39
150453 , x_transaction_coa_id => l_adr_transaction_coa_id
150455 , x_value_type_code => l_adr_value_type_code
150456 , p_side => 'NA'
150457 );
150458
150459 xla_ae_lines_pkg.set_ccid(
150460 p_code_combination_id => l_ccid
150461 , p_value_type_code => l_adr_value_type_code
150462 , p_transaction_coa_id => l_adr_transaction_coa_id
150463 , p_accounting_coa_id => l_adr_accounting_coa_id
150464 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
150465 , p_adr_type_code => 'S'
150466 , p_component_type => l_component_type
150467 , p_component_code => l_component_code
150468 , p_component_type_code => l_component_type_code
150469 , p_component_appl_id => l_component_appl_id
150470 , p_amb_context_code => l_amb_context_code
150471 , p_side => 'NA'
150472 );
150473
150474
150475 --
150476 --
150477 END IF;
150478 --
150479 -- Bug 4922099
150480 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
150481 (NVL(l_enc_upg_option, 'N') = 'O')
150482 ) AND
150483 (l_bflow_method_code = 'PRIOR_ENTRY')
150484 )
150485 THEN
150486 IF
150487 --
150488 1 = 2
150489 --
150490 THEN
150491 xla_accounting_err_pkg.build_message
150492 (p_appli_s_name => 'XLA'
150493 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
150494 ,p_token_1 => 'LINE_NUMBER'
150495 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
150496 ,p_token_2 => 'LINE_TYPE_NAME'
150497 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
150498 l_component_type
150499 ,l_component_code
150500 ,l_component_type_code
150501 ,l_component_appl_id
150502 ,l_amb_context_code
150503 ,l_entity_code
150504 ,l_event_class_code
150505 )
150506 ,p_token_3 => 'OWNER'
150507 ,p_value_3 => xla_lookups_pkg.get_meaning(
150508 p_lookup_type => 'XLA_OWNER_TYPE'
150509 ,p_lookup_code => l_component_type_code
150510 )
150511 ,p_token_4 => 'PRODUCT_NAME'
150512 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
150513 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
150514 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
150515 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
150516 ,p_ae_header_id => NULL
150517 );
150518
150519 IF (C_LEVEL_ERROR>= g_log_level) THEN
150520 trace
150521 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
150522 ,p_level => C_LEVEL_ERROR
150523 ,p_module => l_log_module);
150524 END IF;
150525 END IF;
150526 END IF;
150527 --
150528 --
150529 ------------------------------------------------------------------------------------------------
150530 -- 4219869 Business Flow
150531 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
150532 -- Prior Entry. Currently, the following code is always generated.
150533 ------------------------------------------------------------------------------------------------
150534 XLA_AE_LINES_PKG.ValidateCurrentLine;
150535
150536 ------------------------------------------------------------------------------------
150537 -- 4219869 Business Flow
150538 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
150539 ------------------------------------------------------------------------------------
150540 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
150541
150542 ----------------------------------------------------------------------------------
150543 -- 4219869 Business Flow
150544 -- Update journal entry status -- Need to generate this within IF <condition>
150545 ----------------------------------------------------------------------------------
150546 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
150547 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
150548 ,p_balance_type_code => l_balance_type_code
150552 -- 4262811 - Generate the Accrual Reversal lines
150549 );
150550
150551 -------------------------------------------------------------------------------------------
150553 -------------------------------------------------------------------------------------------
150554 BEGIN
150555 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
150556 (g_array_event(p_event_id).array_value_num('header_index'));
150557 IF l_acc_rev_flag IS NULL THEN
150558 l_acc_rev_flag := 'N';
150559 END IF;
150560 EXCEPTION
150561 WHEN OTHERS THEN
150562 l_acc_rev_flag := 'N';
150563 END;
150564 --
150565 IF (l_acc_rev_flag = 'Y') THEN
150566
150567 -- 4645092 ------------------------------------------------------------------------------
150568 -- To allow MPA report to determine if it should generate report process
150569 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
150570 ------------------------------------------------------------------------------------------
150571
150572 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
150573 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
150574 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
150575 -- call ADRs
150576 -- Bug 4922099
150577 --
150578 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
150579 (NVL(l_actual_upg_option, 'N') = 'O') OR
150580 (NVL(l_enc_upg_option, 'N') = 'O')
150581 )
150582 THEN
150583 NULL;
150584 --
150585 --
150586
150587 l_ccid := AcctDerRule_42(
150588 p_application_id => p_application_id
150589 , p_ae_header_id => l_ae_header_id
150590 , p_source_39 => p_source_39
150591 , x_transaction_coa_id => l_adr_transaction_coa_id
150592 , x_accounting_coa_id => l_adr_accounting_coa_id
150593 , x_value_type_code => l_adr_value_type_code
150594 , p_side => 'NA'
150595 );
150596
150597 xla_ae_lines_pkg.set_ccid(
150598 p_code_combination_id => l_ccid
150599 , p_value_type_code => l_adr_value_type_code
150600 , p_transaction_coa_id => l_adr_transaction_coa_id
150601 , p_accounting_coa_id => l_adr_accounting_coa_id
150602 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
150603 , p_adr_type_code => 'S'
150604 , p_component_type => l_component_type
150605 , p_component_code => l_component_code
150606 , p_component_type_code => l_component_type_code
150607 , p_component_appl_id => l_component_appl_id
150608 , p_amb_context_code => l_amb_context_code
150609 , p_side => 'NA'
150610 );
150611
150612
150613 --
150614 --
150615 END IF;
150616
150617 --
150618 -- Update the line information that should be overwritten
150619 --
150620 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
150621 p_header_num => 1);
150622 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
150623
150624 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
150625
150626 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
150627 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
150628 END IF;
150629
150630 --
150631 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
150632 --
150633 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
150634 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
150635 ELSE
150636 ---------------------------------------------------------------------------------------------------
150637 -- 4262811a Switch Sign
150638 ---------------------------------------------------------------------------------------------------
150639 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
150640 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
150641 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
150642 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
150643 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
150644 -- 5132302
150645 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
150646 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
150647
150648 END IF;
150649
150650 -- 4955764
150651 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
150652 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
150653
150654
150655 XLA_AE_LINES_PKG.ValidateCurrentLine;
150656 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
150657
150658 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
150662 END IF;
150659 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
150660 ,p_balance_type_code => l_balance_type_code);
150661
150663
150664 -----------------------------------------------------------------------------------------
150665 -- 4262811 Multiperiod Accounting
150666 -----------------------------------------------------------------------------------------
150667 -- No MPA option is assigned.
150668
150669
150670 END IF;
150671 END IF;
150672 --
150673
150674 --
150675 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150676 trace
150677 (p_msg => 'END of AcctLineType_246'
150678 ,p_level => C_LEVEL_PROCEDURE
150679 ,p_module => l_log_module);
150680 END IF;
150681 --
150682 EXCEPTION
150683 WHEN xla_exceptions_pkg.application_exception THEN
150684 RAISE;
150685 WHEN OTHERS THEN
150686 xla_exceptions_pkg.raise_message
150687 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_246');
150688 END AcctLineType_246;
150689 --
150690
150691 ---------------------------------------
150692 --
150693 -- PRIVATE FUNCTION
150694 -- AcctLineType_247
150695 --
150696 ---------------------------------------
150697 PROCEDURE AcctLineType_247 (
150698 p_application_id IN NUMBER
150699 ,p_event_id IN NUMBER
150700 ,p_calculate_acctd_flag IN VARCHAR2
150701 ,p_calculate_g_l_flag IN VARCHAR2
150702 ,p_actual_flag IN OUT VARCHAR2
150703 ,p_balance_type_code OUT VARCHAR2
150704 ,p_gain_or_loss_ref OUT VARCHAR2
150705
150706 --Invoice Distribution Description
150707 , p_source_1 IN VARCHAR2
150708 --Invoice Distribution Ledger Amount
150709 , p_source_9 IN NUMBER
150710 --Invoice Distribution Type
150711 , p_source_21 IN VARCHAR2
150712 , p_source_21_meaning IN VARCHAR2
150713 --Self-Assessed Tax Liability Account
150714 , p_source_39 IN NUMBER
150715 --Accounting Reversal Indicator
150716 , p_source_41 IN VARCHAR2
150717 --Distribution Link Type
150718 , p_source_43 IN VARCHAR2
150719 --Allocation to Main Distribution Identifier
150720 , p_source_45 IN NUMBER
150721 --Invoice Identifier
150722 , p_source_46 IN NUMBER
150723 --Invoice Distribution Identifier
150724 , p_source_52 IN NUMBER
150725 --Payables Encumbrance Upgrade Credit Account
150726 , p_source_53 IN NUMBER
150727 --Payables Encumbrance Upgrade Credit Amount
150728 , p_source_54 IN NUMBER
150729 --Invoice Currency Code
150730 , p_source_55 IN VARCHAR2
150731 --Payables Encumbrance Upgrade Credit Base Amount
150732 , p_source_56 IN NUMBER
150733 --Payables Encumbrance Upgrade Debit Account
150734 , p_source_57 IN NUMBER
150735 --Payables Encumbrance Upgrade Debit Amount
150736 , p_source_58 IN NUMBER
150737 --Payables Encumbrance Upgrade Debit Base Amount
150738 , p_source_59 IN NUMBER
150739 --Payables Encumbrance Upgrade Option
150740 , p_source_60 IN VARCHAR2
150741 --Invoice Distribution Amount
150742 , p_source_61 IN NUMBER
150743 --Deferred Accounting End Date
150744 , p_source_65 IN DATE
150745 --Deferred Accounting Option
150746 , p_source_66 IN VARCHAR2
150747 --Deferred Accounting Start Date
150748 , p_source_67 IN DATE
150749 --Override Accounted Amount Indicator
150750 , p_source_68 IN VARCHAR2
150751 , p_source_68_meaning IN VARCHAR2
150752 --Invoice Supplier Identifier
150753 , p_source_69 IN NUMBER
150754 --Invoice Supplier Site Identifier
150755 , p_source_70 IN NUMBER
150756 --Third Party Type
150757 , p_source_71 IN VARCHAR2
150758 --Parent Reversal Identifier
150759 , p_source_72 IN NUMBER
150760 --Invoice Distribution Statistical Amount
150761 , p_source_73 IN NUMBER
150762 --Invoice Distribution Tax Line Identifier
150763 , p_source_74 IN NUMBER
150764 --Invoice Distribution Tax Distribution Identifier from Tax
150765 , p_source_75 IN NUMBER
150766 --Invoice Distribution Summary Tax Line Identifier
150767 , p_source_76 IN NUMBER
150768 --Payables Upgrade Credit Encumbrance Type Identifier
150769 , p_source_77 IN NUMBER
150770 --Payables Upgrade Debit Encumbrance Type Identifier
150771 , p_source_78 IN NUMBER
150772 --Business Flow Accounts Payable Application Identifier
150773 , p_source_79 IN NUMBER
150774 --Business Flow Invoice Distribution Type
150775 , p_source_80 IN VARCHAR2
150776 --Business Flow Invoice Entity Code
150777 , p_source_81 IN VARCHAR2
150778 --Business Flow Invoice Distribution Identifier
150779 , p_source_82 IN NUMBER
150780 --Business Flow Invoice Identifier
150781 , p_source_83 IN NUMBER
150782 --Self-Assessed Tax Flag
150783 , p_source_135 IN VARCHAR2
150784 , p_source_135_meaning IN VARCHAR2
150785 --Invoice Exchange Date
150786 , p_source_136 IN DATE
150787 --Invoice Exchange Rate
150788 , p_source_137 IN NUMBER
150789 --Invoice Exchange Rate Type
150790 , p_source_138 IN VARCHAR2
150791 )
150792 IS
150793
150794 l_component_type VARCHAR2(80);
150795 l_component_code VARCHAR2(30);
150796 l_component_type_code VARCHAR2(1);
150797 l_component_appl_id INTEGER;
150798 l_amb_context_code VARCHAR2(30);
150802 l_event_type_code VARCHAR2(30);
150799 l_entity_code VARCHAR2(30);
150800 l_event_class_code VARCHAR2(30);
150801 l_ae_header_id NUMBER;
150803 l_line_definition_code VARCHAR2(30);
150804 l_line_definition_owner_code VARCHAR2(1);
150805 --
150806 -- adr variables
150807 l_segment VARCHAR2(30);
150808 l_ccid NUMBER;
150809 l_adr_transaction_coa_id NUMBER;
150810 l_adr_accounting_coa_id NUMBER;
150811 l_adr_flexfield_segment_code VARCHAR2(30);
150812 l_adr_flex_value_set_id NUMBER;
150813 l_adr_value_type_code VARCHAR2(30);
150814 l_adr_value_combination_id NUMBER;
150815 l_adr_value_segment_code VARCHAR2(30);
150816
150817 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
150818 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
150819 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
150820 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
150821
150822 -- 4262811 Variables ------------------------------------------------------------------------------------------
150823 l_entered_amt_idx NUMBER;
150824 l_accted_amt_idx NUMBER;
150825 l_acc_rev_flag VARCHAR2(1);
150826 l_accrual_line_num NUMBER;
150827 l_tmp_amt NUMBER;
150828 l_acc_rev_natural_side_code VARCHAR2(1);
150829
150830 l_num_entries NUMBER;
150831 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
150832 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
150833 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
150834 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
150835 l_recog_line_1 NUMBER;
150836 l_recog_line_2 NUMBER;
150837
150838 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
150839 l_bflow_applied_to_amt NUMBER; -- 5132302
150840 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
150841
150842 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
150843
150844 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
150845 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
150846
150847 ---------------------------------------------------------------------------------------------------------------
150848
150849
150850 --
150851 -- bulk performance
150852 --
150853 l_balance_type_code VARCHAR2(1);
150854 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
150855 l_log_module VARCHAR2(240);
150856
150857 --
150858 -- Upgrade strategy
150859 --
150860 l_actual_upg_option VARCHAR2(1);
150861 l_enc_upg_option VARCHAR2(1);
150862
150863 --
150864 BEGIN
150865 --
150866 IF g_log_enabled THEN
150867 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_247';
150868 END IF;
150869 --
150870 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
150871
150872 trace
150873 (p_msg => 'BEGIN of AcctLineType_247'
150874 ,p_level => C_LEVEL_PROCEDURE
150875 ,p_module => l_log_module);
150876
150877 END IF;
150878 --
150879 l_component_type := 'AMB_JLT';
150880 l_component_code := 'AP_SELF_ASSESSED_TAX_LIB_PP';
150881 l_component_type_code := 'S';
150882 l_component_appl_id := 200;
150883 l_amb_context_code := 'DEFAULT';
150884 l_entity_code := 'AP_INVOICES';
150885 l_event_class_code := 'PREPAYMENTS';
150886 l_event_type_code := 'PREPAYMENTS_ALL';
150887 l_line_definition_owner_code := 'S';
150888 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
150889 --
150890 l_balance_type_code := 'A';
150891 l_segment := NULL;
150892 l_ccid := NULL;
150893 l_adr_transaction_coa_id := NULL;
150894 l_adr_accounting_coa_id := NULL;
150895 l_adr_flexfield_segment_code := NULL;
150896 l_adr_flex_value_set_id := NULL;
150897 l_adr_value_type_code := NULL;
150898 l_adr_value_combination_id := NULL;
150899 l_adr_value_segment_code := NULL;
150900
150901 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
150902 l_bflow_class_code := ''; -- 4219869 Business Flow
150903 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
150904 l_budgetary_control_flag := 'N';
150905
150906 l_bflow_applied_to_amt_idx := NULL; -- 5132302
150907 l_bflow_applied_to_amt := NULL; -- 5132302
150908 l_entered_amt_idx := NULL; -- 4262811
150909 l_accted_amt_idx := NULL; -- 4262811
150910 l_acc_rev_flag := NULL; -- 4262811
150911 l_accrual_line_num := NULL; -- 4262811
150912 l_tmp_amt := NULL; -- 4262811
150913 --
150914
150915 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
150916 l_balance_type_code <> 'B' THEN
150917 IF (NVL(p_source_21,'
150918 ') = 'REC_TAX' OR
150919 NVL(p_source_21,'
150920 ') = 'NONREC_TAX') AND
150921 NVL(p_source_135,'
150922 ') = 'Y'
150923 THEN
150924
150925 --
150926 XLA_AE_LINES_PKG.SetNewLine;
150930
150927
150928 p_balance_type_code := l_balance_type_code;
150929 -- set the flag so later we will know whether the gain loss line needs to be created
150931 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
150932 p_actual_flag :='A';
150933 END IF;
150934
150935 --
150936 -- bulk performance
150937 --
150938 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
150939 p_header_num => 0); -- 4262811
150940 --
150941 -- set accounting line options
150942 --
150943 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
150944 p_natural_side_code => 'C'
150945 , p_gain_or_loss_flag => 'N'
150946 , p_gl_transfer_mode_code => 'S'
150947 , p_acct_entry_type_code => 'A'
150948 , p_switch_side_flag => 'Y'
150949 , p_merge_duplicate_code => 'A'
150950 );
150951 --
150952 l_acc_rev_natural_side_code := 'D'; -- 4262811
150953 --
150954 --
150955 -- set accounting line type info
150956 --
150957 xla_ae_lines_pkg.SetAcctLineType
150958 (p_component_type => l_component_type
150959 ,p_event_type_code => l_event_type_code
150960 ,p_line_definition_owner_code => l_line_definition_owner_code
150961 ,p_line_definition_code => l_line_definition_code
150962 ,p_accounting_line_code => l_component_code
150963 ,p_accounting_line_type_code => l_component_type_code
150964 ,p_accounting_line_appl_id => l_component_appl_id
150965 ,p_amb_context_code => l_amb_context_code
150966 ,p_entity_code => l_entity_code
150967 ,p_event_class_code => l_event_class_code);
150968 --
150969 -- set accounting class
150970 --
150971 xla_ae_lines_pkg.SetAcctClass(
150972 p_accounting_class_code => 'SELF_ASSESSED_TAX'
150973 , p_ae_header_id => l_ae_header_id
150974 );
150975
150976 --
150977 -- set rounding class
150978 --
150979 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
150980 'SELF_ASSESSED_TAX';
150981
150982 --
150983 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
150984 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
150985 --
150986 -- bulk performance
150987 --
150988 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
150989
150990 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
150991 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
150992
150993 -- 4955764
150994 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
150995 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
150996
150997 -- 4458381 Public Sector Enh
150998
150999 --
151000 -- set accounting attributes for the line type
151001 --
151002 l_entered_amt_idx := 23;
151003 l_accted_amt_idx := 28;
151004 l_bflow_applied_to_amt_idx := NULL; -- 5132302
151005 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
151006 l_rec_acct_attrs.array_char_value(1) := p_source_41;
151007 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
151008 l_rec_acct_attrs.array_num_value(2) :=
151009 xla_ae_sources_pkg.GetSystemSourceNum(
151010 p_source_code => 'XLA_EVENT_APPL_ID'
151011 , p_source_type_code => 'Y'
151012 , p_source_application_id => 602
151013 );
151014 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
151015 l_rec_acct_attrs.array_char_value(3) := p_source_43;
151016 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
151017 l_rec_acct_attrs.array_char_value(4) :=
151018 xla_ae_sources_pkg.GetSystemSourceChar(
151019 p_source_code => 'XLA_ENTITY_CODE'
151020 , p_source_type_code => 'Y'
151021 , p_source_application_id => 602
151022 );
151023 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
151024 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
151025 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
151026 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
151027 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
151028 l_rec_acct_attrs.array_num_value(7) := p_source_79;
151029 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
151030 l_rec_acct_attrs.array_char_value(8) := p_source_80;
151031 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
151032 l_rec_acct_attrs.array_char_value(9) := p_source_81;
151033 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
151034 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
151035 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
151036 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
151037 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
151038 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
151039 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
151040 l_rec_acct_attrs.array_char_value(13) := p_source_43;
151044 l_rec_acct_attrs.array_num_value(15) := p_source_54;
151041 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
151042 l_rec_acct_attrs.array_num_value(14) := p_source_53;
151043 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
151045 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
151046 l_rec_acct_attrs.array_char_value(16) := p_source_55;
151047 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
151048 l_rec_acct_attrs.array_num_value(17) := p_source_56;
151049 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
151050 l_rec_acct_attrs.array_num_value(18) := p_source_57;
151051 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
151052 l_rec_acct_attrs.array_num_value(19) := p_source_58;
151053 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
151054 l_rec_acct_attrs.array_char_value(20) := p_source_55;
151055 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
151056 l_rec_acct_attrs.array_num_value(21) := p_source_59;
151057 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
151058 l_rec_acct_attrs.array_char_value(22) := p_source_60;
151059 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
151060 l_rec_acct_attrs.array_num_value(23) := p_source_61;
151061 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
151062 l_rec_acct_attrs.array_char_value(24) := p_source_55;
151063 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
151064 l_rec_acct_attrs.array_date_value(25) := p_source_136;
151065 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
151066 l_rec_acct_attrs.array_num_value(26) := p_source_137;
151067 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
151068 l_rec_acct_attrs.array_char_value(27) := p_source_138;
151069 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
151070 l_rec_acct_attrs.array_num_value(28) := p_source_9;
151071 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
151072 l_rec_acct_attrs.array_date_value(29) := p_source_65;
151073 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
151074 l_rec_acct_attrs.array_char_value(30) := p_source_66;
151075 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
151076 l_rec_acct_attrs.array_date_value(31) := p_source_67;
151077 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
151078 l_rec_acct_attrs.array_char_value(32) := p_source_68;
151079 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
151080 l_rec_acct_attrs.array_num_value(33) := p_source_69;
151081 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
151082 l_rec_acct_attrs.array_num_value(34) := p_source_70;
151083 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
151084 l_rec_acct_attrs.array_char_value(35) := p_source_71;
151085 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
151086 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
151087 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
151088 l_rec_acct_attrs.array_char_value(37) := p_source_43;
151089 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
151090 l_rec_acct_attrs.array_num_value(38) := p_source_73;
151091 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
151092 l_rec_acct_attrs.array_num_value(39) := p_source_74;
151093 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
151094 l_rec_acct_attrs.array_num_value(40) := p_source_75;
151095 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
151096 l_rec_acct_attrs.array_num_value(41) := p_source_76;
151097 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
151098 l_rec_acct_attrs.array_num_value(42) := p_source_77;
151099 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
151100 l_rec_acct_attrs.array_num_value(43) := p_source_78;
151101
151102 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
151103 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
151104
151105 ---------------------------------------------------------------------------------------------------------------
151106 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
151107 ---------------------------------------------------------------------------------------------------------------
151108 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
151109
151110 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
151111 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
151112
151113 IF xla_accounting_cache_pkg.GetValueChar
151114 (p_source_code => 'LEDGER_CATEGORY_CODE'
151115 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
151116 AND l_bflow_method_code = 'PRIOR_ENTRY'
151117 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
151118 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
151119 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
151120 )
151121 THEN
151122 xla_ae_lines_pkg.BflowUpgEntry
151123 (p_business_method_code => l_bflow_method_code
151124 ,p_business_class_code => l_bflow_class_code
151125 ,p_balance_type => l_balance_type_code);
151129 END IF;
151126 ELSE
151127 NULL;
151128 -- No business flow processing for business flow method of NONE.
151130
151131 --
151132 -- call analytical criteria
151133 --
151134
151135 --
151136 -- call description
151137 --
151138
151139 xla_ae_lines_pkg.SetLineDescription(
151140 p_ae_header_id => l_ae_header_id
151141 ,p_description => Description_2 (
151142 p_application_id => p_application_id
151143 , p_ae_header_id => l_ae_header_id
151144 , p_source_1 => p_source_1
151145 )
151146 );
151147
151148
151149 --
151150 -- call ADRs
151151 -- Bug 4922099
151152 --
151153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
151154 (NVL(l_actual_upg_option, 'N') = 'O') OR
151155 (NVL(l_enc_upg_option, 'N') = 'O')
151156 )
151157 THEN
151158 NULL;
151159 --
151160 --
151161
151162 l_ccid := AcctDerRule_42(
151163 p_application_id => p_application_id
151164 , p_ae_header_id => l_ae_header_id
151165 , p_source_39 => p_source_39
151166 , x_transaction_coa_id => l_adr_transaction_coa_id
151167 , x_accounting_coa_id => l_adr_accounting_coa_id
151168 , x_value_type_code => l_adr_value_type_code
151169 , p_side => 'NA'
151170 );
151171
151172 xla_ae_lines_pkg.set_ccid(
151173 p_code_combination_id => l_ccid
151174 , p_value_type_code => l_adr_value_type_code
151175 , p_transaction_coa_id => l_adr_transaction_coa_id
151176 , p_accounting_coa_id => l_adr_accounting_coa_id
151177 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
151178 , p_adr_type_code => 'S'
151179 , p_component_type => l_component_type
151180 , p_component_code => l_component_code
151181 , p_component_type_code => l_component_type_code
151182 , p_component_appl_id => l_component_appl_id
151183 , p_amb_context_code => l_amb_context_code
151184 , p_side => 'NA'
151185 );
151186
151187
151188 --
151189 --
151190 END IF;
151191 --
151192 -- Bug 4922099
151193 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
151194 (NVL(l_enc_upg_option, 'N') = 'O')
151195 ) AND
151196 (l_bflow_method_code = 'PRIOR_ENTRY')
151197 )
151198 THEN
151199 IF
151200 --
151201 1 = 2
151202 --
151203 THEN
151204 xla_accounting_err_pkg.build_message
151205 (p_appli_s_name => 'XLA'
151206 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
151207 ,p_token_1 => 'LINE_NUMBER'
151208 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
151209 ,p_token_2 => 'LINE_TYPE_NAME'
151210 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
151211 l_component_type
151212 ,l_component_code
151213 ,l_component_type_code
151214 ,l_component_appl_id
151215 ,l_amb_context_code
151216 ,l_entity_code
151217 ,l_event_class_code
151218 )
151219 ,p_token_3 => 'OWNER'
151220 ,p_value_3 => xla_lookups_pkg.get_meaning(
151221 p_lookup_type => 'XLA_OWNER_TYPE'
151222 ,p_lookup_code => l_component_type_code
151223 )
151224 ,p_token_4 => 'PRODUCT_NAME'
151225 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
151226 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
151227 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
151228 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
151229 ,p_ae_header_id => NULL
151230 );
151231
151232 IF (C_LEVEL_ERROR>= g_log_level) THEN
151233 trace
151234 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
151235 ,p_level => C_LEVEL_ERROR
151236 ,p_module => l_log_module);
151237 END IF;
151238 END IF;
151239 END IF;
151240 --
151241 --
151242 ------------------------------------------------------------------------------------------------
151243 -- 4219869 Business Flow
151247 XLA_AE_LINES_PKG.ValidateCurrentLine;
151244 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
151245 -- Prior Entry. Currently, the following code is always generated.
151246 ------------------------------------------------------------------------------------------------
151248
151249 ------------------------------------------------------------------------------------
151250 -- 4219869 Business Flow
151251 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
151252 ------------------------------------------------------------------------------------
151253 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
151254
151255 ----------------------------------------------------------------------------------
151256 -- 4219869 Business Flow
151257 -- Update journal entry status -- Need to generate this within IF <condition>
151258 ----------------------------------------------------------------------------------
151259 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
151260 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
151261 ,p_balance_type_code => l_balance_type_code
151262 );
151263
151264 -------------------------------------------------------------------------------------------
151265 -- 4262811 - Generate the Accrual Reversal lines
151266 -------------------------------------------------------------------------------------------
151267 BEGIN
151268 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
151269 (g_array_event(p_event_id).array_value_num('header_index'));
151270 IF l_acc_rev_flag IS NULL THEN
151271 l_acc_rev_flag := 'N';
151272 END IF;
151273 EXCEPTION
151274 WHEN OTHERS THEN
151275 l_acc_rev_flag := 'N';
151276 END;
151277 --
151278 IF (l_acc_rev_flag = 'Y') THEN
151279
151280 -- 4645092 ------------------------------------------------------------------------------
151281 -- To allow MPA report to determine if it should generate report process
151282 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
151283 ------------------------------------------------------------------------------------------
151284
151285 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
151286 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
151287 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
151288 -- call ADRs
151289 -- Bug 4922099
151290 --
151291 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
151292 (NVL(l_actual_upg_option, 'N') = 'O') OR
151293 (NVL(l_enc_upg_option, 'N') = 'O')
151294 )
151295 THEN
151296 NULL;
151297 --
151298 --
151299
151300 l_ccid := AcctDerRule_42(
151301 p_application_id => p_application_id
151302 , p_ae_header_id => l_ae_header_id
151303 , p_source_39 => p_source_39
151304 , x_transaction_coa_id => l_adr_transaction_coa_id
151305 , x_accounting_coa_id => l_adr_accounting_coa_id
151306 , x_value_type_code => l_adr_value_type_code
151307 , p_side => 'NA'
151308 );
151309
151310 xla_ae_lines_pkg.set_ccid(
151311 p_code_combination_id => l_ccid
151312 , p_value_type_code => l_adr_value_type_code
151313 , p_transaction_coa_id => l_adr_transaction_coa_id
151314 , p_accounting_coa_id => l_adr_accounting_coa_id
151315 , p_adr_code => 'AP_SELF_ASSESSED_TAX_LIAB'
151316 , p_adr_type_code => 'S'
151317 , p_component_type => l_component_type
151318 , p_component_code => l_component_code
151319 , p_component_type_code => l_component_type_code
151320 , p_component_appl_id => l_component_appl_id
151321 , p_amb_context_code => l_amb_context_code
151322 , p_side => 'NA'
151323 );
151324
151325
151326 --
151327 --
151328 END IF;
151329
151330 --
151331 -- Update the line information that should be overwritten
151332 --
151333 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
151334 p_header_num => 1);
151335 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
151336
151337 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
151338
151339 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
151340 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
151341 END IF;
151342
151343 --
151344 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
151345 --
151346 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
151347 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
151348 ELSE
151349 ---------------------------------------------------------------------------------------------------
151350 -- 4262811a Switch Sign
151351 ---------------------------------------------------------------------------------------------------
151352 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
151356 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
151353 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
151354 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
151355 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
151357 -- 5132302
151358 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
151359 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
151360
151361 END IF;
151362
151363 -- 4955764
151364 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
151365 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
151366
151367
151368 XLA_AE_LINES_PKG.ValidateCurrentLine;
151369 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
151370
151371 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
151372 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
151373 ,p_balance_type_code => l_balance_type_code);
151374
151375 END IF;
151376
151377 -----------------------------------------------------------------------------------------
151378 -- 4262811 Multiperiod Accounting
151379 -----------------------------------------------------------------------------------------
151380 -- No MPA option is assigned.
151381
151382
151383 END IF;
151384 END IF;
151385 --
151386
151387 --
151388 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
151389 trace
151390 (p_msg => 'END of AcctLineType_247'
151391 ,p_level => C_LEVEL_PROCEDURE
151392 ,p_module => l_log_module);
151393 END IF;
151394 --
151395 EXCEPTION
151396 WHEN xla_exceptions_pkg.application_exception THEN
151397 RAISE;
151398 WHEN OTHERS THEN
151399 xla_exceptions_pkg.raise_message
151400 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_247');
151401 END AcctLineType_247;
151402 --
151403
151404 ---------------------------------------
151405 --
151406 -- PRIVATE FUNCTION
151407 -- AcctLineType_248
151408 --
151409 ---------------------------------------
151410 PROCEDURE AcctLineType_248 (
151411 p_application_id IN NUMBER
151412 ,p_event_id IN NUMBER
151413 ,p_calculate_acctd_flag IN VARCHAR2
151414 ,p_calculate_g_l_flag IN VARCHAR2
151415 ,p_actual_flag IN OUT VARCHAR2
151416 ,p_balance_type_code OUT VARCHAR2
151417 ,p_gain_or_loss_ref OUT VARCHAR2
151418
151419 --Invoice Distribution Description
151420 , p_source_1 IN VARCHAR2
151421 --Invoice Distribution Ledger Amount
151422 , p_source_9 IN NUMBER
151423 --Invoice Distribution Type
151424 , p_source_21 IN VARCHAR2
151425 , p_source_21_meaning IN VARCHAR2
151426 --Self-Assessed Tax Account
151427 , p_source_38 IN NUMBER
151428 --Accounting Reversal Indicator
151429 , p_source_41 IN VARCHAR2
151430 --Distribution Link Type
151431 , p_source_43 IN VARCHAR2
151432 --Allocation to Main Distribution Identifier
151433 , p_source_45 IN NUMBER
151434 --Invoice Identifier
151435 , p_source_46 IN NUMBER
151436 --Invoice Distribution Identifier
151437 , p_source_52 IN NUMBER
151438 --Payables Encumbrance Upgrade Credit Account
151439 , p_source_53 IN NUMBER
151440 --Payables Encumbrance Upgrade Credit Amount
151441 , p_source_54 IN NUMBER
151442 --Invoice Currency Code
151443 , p_source_55 IN VARCHAR2
151444 --Payables Encumbrance Upgrade Credit Base Amount
151445 , p_source_56 IN NUMBER
151446 --Payables Encumbrance Upgrade Debit Account
151447 , p_source_57 IN NUMBER
151448 --Payables Encumbrance Upgrade Debit Amount
151449 , p_source_58 IN NUMBER
151450 --Payables Encumbrance Upgrade Debit Base Amount
151451 , p_source_59 IN NUMBER
151452 --Payables Encumbrance Upgrade Option
151453 , p_source_60 IN VARCHAR2
151454 --Invoice Distribution Amount
151455 , p_source_61 IN NUMBER
151456 --Purchase Order Exchange Rate Date
151457 , p_source_62 IN DATE
151458 --Purchase Order Exchange Rate
151459 , p_source_63 IN NUMBER
151460 --Purchase Order Exchange Rate Type
151461 , p_source_64 IN VARCHAR2
151462 --Deferred Accounting End Date
151463 , p_source_65 IN DATE
151464 --Deferred Accounting Option
151465 , p_source_66 IN VARCHAR2
151466 --Deferred Accounting Start Date
151467 , p_source_67 IN DATE
151468 --Override Accounted Amount Indicator
151469 , p_source_68 IN VARCHAR2
151470 , p_source_68_meaning IN VARCHAR2
151471 --Invoice Supplier Identifier
151472 , p_source_69 IN NUMBER
151473 --Invoice Supplier Site Identifier
151474 , p_source_70 IN NUMBER
151475 --Third Party Type
151476 , p_source_71 IN VARCHAR2
151477 --Parent Reversal Identifier
151478 , p_source_72 IN NUMBER
151479 --Invoice Distribution Statistical Amount
151480 , p_source_73 IN NUMBER
151481 --Invoice Distribution Tax Line Identifier
151482 , p_source_74 IN NUMBER
151483 --Invoice Distribution Tax Distribution Identifier from Tax
151484 , p_source_75 IN NUMBER
151488 , p_source_77 IN NUMBER
151485 --Invoice Distribution Summary Tax Line Identifier
151486 , p_source_76 IN NUMBER
151487 --Payables Upgrade Credit Encumbrance Type Identifier
151489 --Payables Upgrade Debit Encumbrance Type Identifier
151490 , p_source_78 IN NUMBER
151491 --Business Flow Accounts Payable Application Identifier
151492 , p_source_79 IN NUMBER
151493 --Business Flow Invoice Distribution Type
151494 , p_source_80 IN VARCHAR2
151495 --Business Flow Invoice Entity Code
151496 , p_source_81 IN VARCHAR2
151497 --Business Flow Invoice Distribution Identifier
151498 , p_source_82 IN NUMBER
151499 --Business Flow Invoice Identifier
151500 , p_source_83 IN NUMBER
151501 --Accrue on Receipt Option
151502 , p_source_84 IN VARCHAR2
151503 , p_source_84_meaning IN VARCHAR2
151504 --Self-Assessed Tax Flag
151505 , p_source_135 IN VARCHAR2
151506 , p_source_135_meaning IN VARCHAR2
151507 )
151508 IS
151509
151510 l_component_type VARCHAR2(80);
151511 l_component_code VARCHAR2(30);
151512 l_component_type_code VARCHAR2(1);
151513 l_component_appl_id INTEGER;
151514 l_amb_context_code VARCHAR2(30);
151515 l_entity_code VARCHAR2(30);
151516 l_event_class_code VARCHAR2(30);
151517 l_ae_header_id NUMBER;
151518 l_event_type_code VARCHAR2(30);
151519 l_line_definition_code VARCHAR2(30);
151520 l_line_definition_owner_code VARCHAR2(1);
151521 --
151522 -- adr variables
151523 l_segment VARCHAR2(30);
151524 l_ccid NUMBER;
151525 l_adr_transaction_coa_id NUMBER;
151526 l_adr_accounting_coa_id NUMBER;
151527 l_adr_flexfield_segment_code VARCHAR2(30);
151528 l_adr_flex_value_set_id NUMBER;
151529 l_adr_value_type_code VARCHAR2(30);
151530 l_adr_value_combination_id NUMBER;
151531 l_adr_value_segment_code VARCHAR2(30);
151532
151533 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
151534 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
151535 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
151536 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
151537
151538 -- 4262811 Variables ------------------------------------------------------------------------------------------
151539 l_entered_amt_idx NUMBER;
151540 l_accted_amt_idx NUMBER;
151541 l_acc_rev_flag VARCHAR2(1);
151542 l_accrual_line_num NUMBER;
151543 l_tmp_amt NUMBER;
151544 l_acc_rev_natural_side_code VARCHAR2(1);
151545
151546 l_num_entries NUMBER;
151547 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
151548 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
151549 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
151550 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
151551 l_recog_line_1 NUMBER;
151552 l_recog_line_2 NUMBER;
151553
151554 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
151555 l_bflow_applied_to_amt NUMBER; -- 5132302
151556 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
151557
151558 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
151559
151560 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
151561 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
151562
151563 ---------------------------------------------------------------------------------------------------------------
151564
151565
151566 --
151567 -- bulk performance
151568 --
151569 l_balance_type_code VARCHAR2(1);
151570 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
151571 l_log_module VARCHAR2(240);
151572
151573 --
151574 -- Upgrade strategy
151575 --
151576 l_actual_upg_option VARCHAR2(1);
151577 l_enc_upg_option VARCHAR2(1);
151578
151579 --
151580 BEGIN
151581 --
151582 IF g_log_enabled THEN
151583 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_248';
151584 END IF;
151585 --
151586 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
151587
151588 trace
151589 (p_msg => 'BEGIN of AcctLineType_248'
151590 ,p_level => C_LEVEL_PROCEDURE
151591 ,p_module => l_log_module);
151592
151593 END IF;
151594 --
151595 l_component_type := 'AMB_JLT';
151596 l_component_code := 'AP_SELF_NONREC_ACCRUAL_PREPAY';
151597 l_component_type_code := 'S';
151598 l_component_appl_id := 200;
151599 l_amb_context_code := 'DEFAULT';
151600 l_entity_code := 'AP_INVOICES';
151601 l_event_class_code := 'PREPAYMENTS';
151602 l_event_type_code := 'PREPAYMENTS_ALL';
151603 l_line_definition_owner_code := 'S';
151604 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
151605 --
151606 l_balance_type_code := 'A';
151607 l_segment := NULL;
151608 l_ccid := NULL;
151609 l_adr_transaction_coa_id := NULL;
151610 l_adr_accounting_coa_id := NULL;
151611 l_adr_flexfield_segment_code := NULL;
151615 l_adr_value_segment_code := NULL;
151612 l_adr_flex_value_set_id := NULL;
151613 l_adr_value_type_code := NULL;
151614 l_adr_value_combination_id := NULL;
151616
151617 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
151618 l_bflow_class_code := ''; -- 4219869 Business Flow
151619 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
151620 l_budgetary_control_flag := 'N';
151621
151622 l_bflow_applied_to_amt_idx := NULL; -- 5132302
151623 l_bflow_applied_to_amt := NULL; -- 5132302
151624 l_entered_amt_idx := NULL; -- 4262811
151625 l_accted_amt_idx := NULL; -- 4262811
151626 l_acc_rev_flag := NULL; -- 4262811
151627 l_accrual_line_num := NULL; -- 4262811
151628 l_tmp_amt := NULL; -- 4262811
151629 --
151630
151631 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
151632 l_balance_type_code <> 'B' THEN
151633 IF NVL(p_source_21,'
151634 ') = 'NONREC_TAX' AND
151635 NVL(p_source_135,'
151636 ') = 'Y' AND
151637 NVL(p_source_84,'
151638 ') = 'Y'
151639 THEN
151640
151641 --
151642 XLA_AE_LINES_PKG.SetNewLine;
151643
151644 p_balance_type_code := l_balance_type_code;
151645 -- set the flag so later we will know whether the gain loss line needs to be created
151646
151647 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
151648 p_actual_flag :='A';
151649 END IF;
151650
151651 --
151652 -- bulk performance
151653 --
151654 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
151655 p_header_num => 0); -- 4262811
151656 --
151657 -- set accounting line options
151658 --
151659 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
151660 p_natural_side_code => 'D'
151661 , p_gain_or_loss_flag => 'N'
151662 , p_gl_transfer_mode_code => 'S'
151663 , p_acct_entry_type_code => 'A'
151664 , p_switch_side_flag => 'Y'
151665 , p_merge_duplicate_code => 'A'
151666 );
151667 --
151668 l_acc_rev_natural_side_code := 'C'; -- 4262811
151669 --
151670 --
151671 -- set accounting line type info
151672 --
151673 xla_ae_lines_pkg.SetAcctLineType
151674 (p_component_type => l_component_type
151675 ,p_event_type_code => l_event_type_code
151676 ,p_line_definition_owner_code => l_line_definition_owner_code
151677 ,p_line_definition_code => l_line_definition_code
151678 ,p_accounting_line_code => l_component_code
151679 ,p_accounting_line_type_code => l_component_type_code
151680 ,p_accounting_line_appl_id => l_component_appl_id
151681 ,p_amb_context_code => l_amb_context_code
151682 ,p_entity_code => l_entity_code
151683 ,p_event_class_code => l_event_class_code);
151684 --
151685 -- set accounting class
151686 --
151687 xla_ae_lines_pkg.SetAcctClass(
151688 p_accounting_class_code => 'SELF_ASSESSED_TAX'
151689 , p_ae_header_id => l_ae_header_id
151690 );
151691
151692 --
151693 -- set rounding class
151694 --
151695 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
151696 'SELF_ASSESSED_TAX';
151697
151698 --
151699 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
151700 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
151701 --
151702 -- bulk performance
151703 --
151704 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
151705
151706 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
151707 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
151708
151709 -- 4955764
151710 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
151711 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
151712
151713 -- 4458381 Public Sector Enh
151714
151715 --
151716 -- set accounting attributes for the line type
151717 --
151718 l_entered_amt_idx := 23;
151719 l_accted_amt_idx := 28;
151720 l_bflow_applied_to_amt_idx := NULL; -- 5132302
151721 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
151722 l_rec_acct_attrs.array_char_value(1) := p_source_41;
151723 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
151724 l_rec_acct_attrs.array_num_value(2) :=
151725 xla_ae_sources_pkg.GetSystemSourceNum(
151726 p_source_code => 'XLA_EVENT_APPL_ID'
151727 , p_source_type_code => 'Y'
151728 , p_source_application_id => 602
151729 );
151730 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
151731 l_rec_acct_attrs.array_char_value(3) := p_source_43;
151732 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
151733 l_rec_acct_attrs.array_char_value(4) :=
151734 xla_ae_sources_pkg.GetSystemSourceChar(
151735 p_source_code => 'XLA_ENTITY_CODE'
151736 , p_source_type_code => 'Y'
151740 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
151737 , p_source_application_id => 602
151738 );
151739 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
151741 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
151742 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
151743 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
151744 l_rec_acct_attrs.array_num_value(7) := p_source_79;
151745 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
151746 l_rec_acct_attrs.array_char_value(8) := p_source_80;
151747 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
151748 l_rec_acct_attrs.array_char_value(9) := p_source_81;
151749 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
151750 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
151751 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
151752 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
151753 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
151754 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
151755 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
151756 l_rec_acct_attrs.array_char_value(13) := p_source_43;
151757 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
151758 l_rec_acct_attrs.array_num_value(14) := p_source_53;
151759 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
151760 l_rec_acct_attrs.array_num_value(15) := p_source_54;
151761 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
151762 l_rec_acct_attrs.array_char_value(16) := p_source_55;
151763 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
151764 l_rec_acct_attrs.array_num_value(17) := p_source_56;
151765 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
151766 l_rec_acct_attrs.array_num_value(18) := p_source_57;
151767 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
151768 l_rec_acct_attrs.array_num_value(19) := p_source_58;
151769 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
151770 l_rec_acct_attrs.array_char_value(20) := p_source_55;
151771 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
151772 l_rec_acct_attrs.array_num_value(21) := p_source_59;
151773 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
151774 l_rec_acct_attrs.array_char_value(22) := p_source_60;
151775 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
151776 l_rec_acct_attrs.array_num_value(23) := p_source_61;
151777 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
151778 l_rec_acct_attrs.array_char_value(24) := p_source_55;
151779 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
151780 l_rec_acct_attrs.array_date_value(25) := p_source_62;
151781 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
151782 l_rec_acct_attrs.array_num_value(26) := p_source_63;
151783 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
151784 l_rec_acct_attrs.array_char_value(27) := p_source_64;
151785 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
151786 l_rec_acct_attrs.array_num_value(28) := p_source_9;
151787 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
151788 l_rec_acct_attrs.array_date_value(29) := p_source_65;
151789 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
151790 l_rec_acct_attrs.array_char_value(30) := p_source_66;
151791 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
151792 l_rec_acct_attrs.array_date_value(31) := p_source_67;
151793 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
151794 l_rec_acct_attrs.array_char_value(32) := p_source_68;
151795 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
151796 l_rec_acct_attrs.array_num_value(33) := p_source_69;
151797 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
151798 l_rec_acct_attrs.array_num_value(34) := p_source_70;
151799 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
151800 l_rec_acct_attrs.array_char_value(35) := p_source_71;
151801 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
151802 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
151803 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
151804 l_rec_acct_attrs.array_char_value(37) := p_source_43;
151805 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
151806 l_rec_acct_attrs.array_num_value(38) := p_source_73;
151807 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
151808 l_rec_acct_attrs.array_num_value(39) := p_source_74;
151809 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
151810 l_rec_acct_attrs.array_num_value(40) := p_source_75;
151811 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
151812 l_rec_acct_attrs.array_num_value(41) := p_source_76;
151813 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
151814 l_rec_acct_attrs.array_num_value(42) := p_source_77;
151815 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
151816 l_rec_acct_attrs.array_num_value(43) := p_source_78;
151817
151818 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
151819 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
151820
151824 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
151821 ---------------------------------------------------------------------------------------------------------------
151822 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
151823 ---------------------------------------------------------------------------------------------------------------
151825
151826 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
151827 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
151828
151829 IF xla_accounting_cache_pkg.GetValueChar
151830 (p_source_code => 'LEDGER_CATEGORY_CODE'
151831 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
151832 AND l_bflow_method_code = 'PRIOR_ENTRY'
151833 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
151834 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
151835 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
151836 )
151837 THEN
151838 xla_ae_lines_pkg.BflowUpgEntry
151839 (p_business_method_code => l_bflow_method_code
151840 ,p_business_class_code => l_bflow_class_code
151841 ,p_balance_type => l_balance_type_code);
151842 ELSE
151843 NULL;
151844 -- No business flow processing for business flow method of NONE.
151845 END IF;
151846
151847 --
151848 -- call analytical criteria
151849 --
151850
151851 --
151852 -- call description
151853 --
151854
151855 xla_ae_lines_pkg.SetLineDescription(
151856 p_ae_header_id => l_ae_header_id
151857 ,p_description => Description_2 (
151858 p_application_id => p_application_id
151859 , p_ae_header_id => l_ae_header_id
151860 , p_source_1 => p_source_1
151861 )
151862 );
151863
151864
151865 --
151866 -- call ADRs
151867 -- Bug 4922099
151868 --
151869 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
151870 (NVL(l_actual_upg_option, 'N') = 'O') OR
151871 (NVL(l_enc_upg_option, 'N') = 'O')
151872 )
151873 THEN
151874 NULL;
151875 --
151876 --
151877
151878 l_ccid := AcctDerRule_41(
151879 p_application_id => p_application_id
151880 , p_ae_header_id => l_ae_header_id
151881 , p_source_38 => p_source_38
151882 , x_transaction_coa_id => l_adr_transaction_coa_id
151883 , x_accounting_coa_id => l_adr_accounting_coa_id
151884 , x_value_type_code => l_adr_value_type_code
151885 , p_side => 'NA'
151886 );
151887
151888 xla_ae_lines_pkg.set_ccid(
151889 p_code_combination_id => l_ccid
151890 , p_value_type_code => l_adr_value_type_code
151891 , p_transaction_coa_id => l_adr_transaction_coa_id
151892 , p_accounting_coa_id => l_adr_accounting_coa_id
151893 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
151894 , p_adr_type_code => 'S'
151895 , p_component_type => l_component_type
151896 , p_component_code => l_component_code
151897 , p_component_type_code => l_component_type_code
151898 , p_component_appl_id => l_component_appl_id
151899 , p_amb_context_code => l_amb_context_code
151900 , p_side => 'NA'
151901 );
151902
151903
151904 --
151905 --
151906 END IF;
151907 --
151908 -- Bug 4922099
151909 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
151910 (NVL(l_enc_upg_option, 'N') = 'O')
151911 ) AND
151912 (l_bflow_method_code = 'PRIOR_ENTRY')
151913 )
151914 THEN
151915 IF
151916 --
151917 1 = 2
151918 --
151919 THEN
151920 xla_accounting_err_pkg.build_message
151921 (p_appli_s_name => 'XLA'
151922 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
151923 ,p_token_1 => 'LINE_NUMBER'
151924 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
151925 ,p_token_2 => 'LINE_TYPE_NAME'
151926 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
151927 l_component_type
151928 ,l_component_code
151929 ,l_component_type_code
151930 ,l_component_appl_id
151931 ,l_amb_context_code
151932 ,l_entity_code
151933 ,l_event_class_code
151934 )
151935 ,p_token_3 => 'OWNER'
151936 ,p_value_3 => xla_lookups_pkg.get_meaning(
151937 p_lookup_type => 'XLA_OWNER_TYPE'
151941 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
151938 ,p_lookup_code => l_component_type_code
151939 )
151940 ,p_token_4 => 'PRODUCT_NAME'
151942 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
151943 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
151944 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
151945 ,p_ae_header_id => NULL
151946 );
151947
151948 IF (C_LEVEL_ERROR>= g_log_level) THEN
151949 trace
151950 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
151951 ,p_level => C_LEVEL_ERROR
151952 ,p_module => l_log_module);
151953 END IF;
151954 END IF;
151955 END IF;
151956 --
151957 --
151958 ------------------------------------------------------------------------------------------------
151959 -- 4219869 Business Flow
151960 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
151961 -- Prior Entry. Currently, the following code is always generated.
151962 ------------------------------------------------------------------------------------------------
151963 XLA_AE_LINES_PKG.ValidateCurrentLine;
151964
151965 ------------------------------------------------------------------------------------
151966 -- 4219869 Business Flow
151967 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
151968 ------------------------------------------------------------------------------------
151969 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
151970
151971 ----------------------------------------------------------------------------------
151972 -- 4219869 Business Flow
151973 -- Update journal entry status -- Need to generate this within IF <condition>
151974 ----------------------------------------------------------------------------------
151975 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
151976 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
151977 ,p_balance_type_code => l_balance_type_code
151978 );
151979
151980 -------------------------------------------------------------------------------------------
151981 -- 4262811 - Generate the Accrual Reversal lines
151982 -------------------------------------------------------------------------------------------
151983 BEGIN
151984 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
151985 (g_array_event(p_event_id).array_value_num('header_index'));
151986 IF l_acc_rev_flag IS NULL THEN
151987 l_acc_rev_flag := 'N';
151988 END IF;
151989 EXCEPTION
151990 WHEN OTHERS THEN
151991 l_acc_rev_flag := 'N';
151992 END;
151993 --
151994 IF (l_acc_rev_flag = 'Y') THEN
151995
151996 -- 4645092 ------------------------------------------------------------------------------
151997 -- To allow MPA report to determine if it should generate report process
151998 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
151999 ------------------------------------------------------------------------------------------
152000
152001 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
152002 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
152003 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
152004 -- call ADRs
152005 -- Bug 4922099
152006 --
152007 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
152008 (NVL(l_actual_upg_option, 'N') = 'O') OR
152009 (NVL(l_enc_upg_option, 'N') = 'O')
152010 )
152011 THEN
152012 NULL;
152013 --
152014 --
152015
152016 l_ccid := AcctDerRule_41(
152017 p_application_id => p_application_id
152018 , p_ae_header_id => l_ae_header_id
152019 , p_source_38 => p_source_38
152020 , x_transaction_coa_id => l_adr_transaction_coa_id
152021 , x_accounting_coa_id => l_adr_accounting_coa_id
152022 , x_value_type_code => l_adr_value_type_code
152023 , p_side => 'NA'
152024 );
152025
152026 xla_ae_lines_pkg.set_ccid(
152027 p_code_combination_id => l_ccid
152028 , p_value_type_code => l_adr_value_type_code
152029 , p_transaction_coa_id => l_adr_transaction_coa_id
152030 , p_accounting_coa_id => l_adr_accounting_coa_id
152031 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
152032 , p_adr_type_code => 'S'
152033 , p_component_type => l_component_type
152034 , p_component_code => l_component_code
152035 , p_component_type_code => l_component_type_code
152036 , p_component_appl_id => l_component_appl_id
152037 , p_amb_context_code => l_amb_context_code
152038 , p_side => 'NA'
152039 );
152040
152041
152042 --
152043 --
152044 END IF;
152045
152046 --
152047 -- Update the line information that should be overwritten
152051 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
152048 --
152049 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
152050 p_header_num => 1);
152052
152053 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
152054
152055 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
152056 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
152057 END IF;
152058
152059 --
152060 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
152061 --
152062 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
152063 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
152064 ELSE
152065 ---------------------------------------------------------------------------------------------------
152066 -- 4262811a Switch Sign
152067 ---------------------------------------------------------------------------------------------------
152068 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
152069 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
152070 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152071 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
152072 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152073 -- 5132302
152074 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
152075 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152076
152077 END IF;
152078
152079 -- 4955764
152080 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
152081 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
152082
152083
152084 XLA_AE_LINES_PKG.ValidateCurrentLine;
152085 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
152086
152087 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
152088 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
152089 ,p_balance_type_code => l_balance_type_code);
152090
152091 END IF;
152092
152093 -----------------------------------------------------------------------------------------
152094 -- 4262811 Multiperiod Accounting
152095 -----------------------------------------------------------------------------------------
152096 -- No MPA option is assigned.
152097
152098
152099 END IF;
152100 END IF;
152101 --
152102
152103 --
152104 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152105 trace
152106 (p_msg => 'END of AcctLineType_248'
152107 ,p_level => C_LEVEL_PROCEDURE
152108 ,p_module => l_log_module);
152109 END IF;
152110 --
152111 EXCEPTION
152112 WHEN xla_exceptions_pkg.application_exception THEN
152113 RAISE;
152114 WHEN OTHERS THEN
152115 xla_exceptions_pkg.raise_message
152116 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_248');
152117 END AcctLineType_248;
152118 --
152119
152120 ---------------------------------------
152121 --
152122 -- PRIVATE FUNCTION
152123 -- AcctLineType_249
152124 --
152125 ---------------------------------------
152126 PROCEDURE AcctLineType_249 (
152127 p_application_id IN NUMBER
152128 ,p_event_id IN NUMBER
152129 ,p_calculate_acctd_flag IN VARCHAR2
152130 ,p_calculate_g_l_flag IN VARCHAR2
152131 ,p_actual_flag IN OUT VARCHAR2
152132 ,p_balance_type_code OUT VARCHAR2
152133 ,p_gain_or_loss_ref OUT VARCHAR2
152134
152135 --Invoice Distribution Description
152136 , p_source_1 IN VARCHAR2
152137 --Invoice Distribution Ledger Amount
152138 , p_source_9 IN NUMBER
152139 --Invoice Distribution Type
152140 , p_source_21 IN VARCHAR2
152141 , p_source_21_meaning IN VARCHAR2
152142 --Self-Assessed Tax Account
152143 , p_source_38 IN NUMBER
152144 --Accounting Reversal Indicator
152145 , p_source_41 IN VARCHAR2
152146 --Distribution Link Type
152147 , p_source_43 IN VARCHAR2
152148 --Allocation to Main Distribution Identifier
152149 , p_source_45 IN NUMBER
152150 --Invoice Identifier
152151 , p_source_46 IN NUMBER
152152 --Invoice Distribution Identifier
152153 , p_source_52 IN NUMBER
152154 --Payables Encumbrance Upgrade Credit Account
152155 , p_source_53 IN NUMBER
152156 --Payables Encumbrance Upgrade Credit Amount
152157 , p_source_54 IN NUMBER
152158 --Invoice Currency Code
152159 , p_source_55 IN VARCHAR2
152160 --Payables Encumbrance Upgrade Credit Base Amount
152161 , p_source_56 IN NUMBER
152162 --Payables Encumbrance Upgrade Debit Account
152163 , p_source_57 IN NUMBER
152164 --Payables Encumbrance Upgrade Debit Amount
152165 , p_source_58 IN NUMBER
152166 --Payables Encumbrance Upgrade Debit Base Amount
152167 , p_source_59 IN NUMBER
152168 --Payables Encumbrance Upgrade Option
152169 , p_source_60 IN VARCHAR2
152173 , p_source_62 IN DATE
152170 --Invoice Distribution Amount
152171 , p_source_61 IN NUMBER
152172 --Purchase Order Exchange Rate Date
152174 --Purchase Order Exchange Rate
152175 , p_source_63 IN NUMBER
152176 --Purchase Order Exchange Rate Type
152177 , p_source_64 IN VARCHAR2
152178 --Deferred Accounting End Date
152179 , p_source_65 IN DATE
152180 --Deferred Accounting Option
152181 , p_source_66 IN VARCHAR2
152182 --Deferred Accounting Start Date
152183 , p_source_67 IN DATE
152184 --Override Accounted Amount Indicator
152185 , p_source_68 IN VARCHAR2
152186 , p_source_68_meaning IN VARCHAR2
152187 --Invoice Supplier Identifier
152188 , p_source_69 IN NUMBER
152189 --Invoice Supplier Site Identifier
152190 , p_source_70 IN NUMBER
152191 --Third Party Type
152192 , p_source_71 IN VARCHAR2
152193 --Parent Reversal Identifier
152194 , p_source_72 IN NUMBER
152195 --Invoice Distribution Statistical Amount
152196 , p_source_73 IN NUMBER
152197 --Invoice Distribution Tax Line Identifier
152198 , p_source_74 IN NUMBER
152199 --Invoice Distribution Tax Distribution Identifier from Tax
152200 , p_source_75 IN NUMBER
152201 --Invoice Distribution Summary Tax Line Identifier
152202 , p_source_76 IN NUMBER
152203 --Payables Upgrade Credit Encumbrance Type Identifier
152204 , p_source_77 IN NUMBER
152205 --Payables Upgrade Debit Encumbrance Type Identifier
152206 , p_source_78 IN NUMBER
152207 --Business Flow Accounts Payable Application Identifier
152208 , p_source_79 IN NUMBER
152209 --Business Flow Invoice Distribution Type
152210 , p_source_80 IN VARCHAR2
152211 --Business Flow Invoice Entity Code
152212 , p_source_81 IN VARCHAR2
152213 --Business Flow Invoice Distribution Identifier
152214 , p_source_82 IN NUMBER
152215 --Business Flow Invoice Identifier
152216 , p_source_83 IN NUMBER
152217 --Accrue on Receipt Option
152218 , p_source_84 IN VARCHAR2
152219 , p_source_84_meaning IN VARCHAR2
152220 --Self-Assessed Tax Flag
152221 , p_source_135 IN VARCHAR2
152222 , p_source_135_meaning IN VARCHAR2
152223 )
152224 IS
152225
152226 l_component_type VARCHAR2(80);
152227 l_component_code VARCHAR2(30);
152228 l_component_type_code VARCHAR2(1);
152229 l_component_appl_id INTEGER;
152230 l_amb_context_code VARCHAR2(30);
152231 l_entity_code VARCHAR2(30);
152232 l_event_class_code VARCHAR2(30);
152233 l_ae_header_id NUMBER;
152234 l_event_type_code VARCHAR2(30);
152235 l_line_definition_code VARCHAR2(30);
152236 l_line_definition_owner_code VARCHAR2(1);
152237 --
152238 -- adr variables
152239 l_segment VARCHAR2(30);
152240 l_ccid NUMBER;
152241 l_adr_transaction_coa_id NUMBER;
152242 l_adr_accounting_coa_id NUMBER;
152243 l_adr_flexfield_segment_code VARCHAR2(30);
152244 l_adr_flex_value_set_id NUMBER;
152245 l_adr_value_type_code VARCHAR2(30);
152246 l_adr_value_combination_id NUMBER;
152247 l_adr_value_segment_code VARCHAR2(30);
152248
152249 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
152250 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
152251 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
152252 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
152253
152254 -- 4262811 Variables ------------------------------------------------------------------------------------------
152255 l_entered_amt_idx NUMBER;
152256 l_accted_amt_idx NUMBER;
152257 l_acc_rev_flag VARCHAR2(1);
152258 l_accrual_line_num NUMBER;
152259 l_tmp_amt NUMBER;
152260 l_acc_rev_natural_side_code VARCHAR2(1);
152261
152262 l_num_entries NUMBER;
152263 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
152264 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
152265 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
152266 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
152267 l_recog_line_1 NUMBER;
152268 l_recog_line_2 NUMBER;
152269
152270 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
152271 l_bflow_applied_to_amt NUMBER; -- 5132302
152272 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
152273
152274 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
152275
152276 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
152277 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
152278
152279 ---------------------------------------------------------------------------------------------------------------
152280
152281
152282 --
152283 -- bulk performance
152284 --
152285 l_balance_type_code VARCHAR2(1);
152286 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
152287 l_log_module VARCHAR2(240);
152288
152289 --
152290 -- Upgrade strategy
152291 --
152292 l_actual_upg_option VARCHAR2(1);
152296 BEGIN
152293 l_enc_upg_option VARCHAR2(1);
152294
152295 --
152297 --
152298 IF g_log_enabled THEN
152299 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_249';
152300 END IF;
152301 --
152302 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152303
152304 trace
152305 (p_msg => 'BEGIN of AcctLineType_249'
152306 ,p_level => C_LEVEL_PROCEDURE
152307 ,p_module => l_log_module);
152308
152309 END IF;
152310 --
152311 l_component_type := 'AMB_JLT';
152312 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_CM';
152313 l_component_type_code := 'S';
152314 l_component_appl_id := 200;
152315 l_amb_context_code := 'DEFAULT';
152316 l_entity_code := 'AP_INVOICES';
152317 l_event_class_code := 'CREDIT MEMOS';
152318 l_event_type_code := 'CREDIT MEMOS_ALL';
152319 l_line_definition_owner_code := 'S';
152320 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
152321 --
152322 l_balance_type_code := 'A';
152323 l_segment := NULL;
152324 l_ccid := NULL;
152325 l_adr_transaction_coa_id := NULL;
152326 l_adr_accounting_coa_id := NULL;
152327 l_adr_flexfield_segment_code := NULL;
152328 l_adr_flex_value_set_id := NULL;
152329 l_adr_value_type_code := NULL;
152330 l_adr_value_combination_id := NULL;
152331 l_adr_value_segment_code := NULL;
152332
152333 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
152334 l_bflow_class_code := ''; -- 4219869 Business Flow
152335 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
152336 l_budgetary_control_flag := 'N';
152337
152338 l_bflow_applied_to_amt_idx := NULL; -- 5132302
152339 l_bflow_applied_to_amt := NULL; -- 5132302
152340 l_entered_amt_idx := NULL; -- 4262811
152341 l_accted_amt_idx := NULL; -- 4262811
152342 l_acc_rev_flag := NULL; -- 4262811
152343 l_accrual_line_num := NULL; -- 4262811
152344 l_tmp_amt := NULL; -- 4262811
152345 --
152346
152347 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
152348 l_balance_type_code <> 'B' THEN
152349 IF NVL(p_source_21,'
152350 ') = 'NONREC_TAX' AND
152351 NVL(p_source_135,'
152352 ') = 'Y' AND
152353 NVL(p_source_84,'
152354 ') = 'Y'
152355 THEN
152356
152357 --
152358 XLA_AE_LINES_PKG.SetNewLine;
152359
152360 p_balance_type_code := l_balance_type_code;
152361 -- set the flag so later we will know whether the gain loss line needs to be created
152362
152363 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
152364 p_actual_flag :='A';
152365 END IF;
152366
152367 --
152368 -- bulk performance
152369 --
152370 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
152371 p_header_num => 0); -- 4262811
152372 --
152373 -- set accounting line options
152374 --
152375 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
152376 p_natural_side_code => 'D'
152377 , p_gain_or_loss_flag => 'N'
152378 , p_gl_transfer_mode_code => 'S'
152379 , p_acct_entry_type_code => 'A'
152380 , p_switch_side_flag => 'Y'
152381 , p_merge_duplicate_code => 'A'
152382 );
152383 --
152384 l_acc_rev_natural_side_code := 'C'; -- 4262811
152385 --
152386 --
152387 -- set accounting line type info
152388 --
152389 xla_ae_lines_pkg.SetAcctLineType
152390 (p_component_type => l_component_type
152391 ,p_event_type_code => l_event_type_code
152392 ,p_line_definition_owner_code => l_line_definition_owner_code
152393 ,p_line_definition_code => l_line_definition_code
152394 ,p_accounting_line_code => l_component_code
152395 ,p_accounting_line_type_code => l_component_type_code
152396 ,p_accounting_line_appl_id => l_component_appl_id
152397 ,p_amb_context_code => l_amb_context_code
152398 ,p_entity_code => l_entity_code
152399 ,p_event_class_code => l_event_class_code);
152400 --
152401 -- set accounting class
152402 --
152403 xla_ae_lines_pkg.SetAcctClass(
152404 p_accounting_class_code => 'SELF_ASSESSED_TAX'
152405 , p_ae_header_id => l_ae_header_id
152406 );
152407
152408 --
152409 -- set rounding class
152410 --
152411 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
152412 'SELF_ASSESSED_TAX';
152413
152414 --
152415 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
152416 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
152417 --
152418 -- bulk performance
152419 --
152420 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
152421
152422 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
152423 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
152424
152425 -- 4955764
152429 -- 4458381 Public Sector Enh
152426 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
152427 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
152428
152430
152431 --
152432 -- set accounting attributes for the line type
152433 --
152434 l_entered_amt_idx := 23;
152435 l_accted_amt_idx := 28;
152436 l_bflow_applied_to_amt_idx := NULL; -- 5132302
152437 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
152438 l_rec_acct_attrs.array_char_value(1) := p_source_41;
152439 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
152440 l_rec_acct_attrs.array_num_value(2) :=
152441 xla_ae_sources_pkg.GetSystemSourceNum(
152442 p_source_code => 'XLA_EVENT_APPL_ID'
152443 , p_source_type_code => 'Y'
152444 , p_source_application_id => 602
152445 );
152446 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
152447 l_rec_acct_attrs.array_char_value(3) := p_source_43;
152448 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
152449 l_rec_acct_attrs.array_char_value(4) :=
152450 xla_ae_sources_pkg.GetSystemSourceChar(
152451 p_source_code => 'XLA_ENTITY_CODE'
152452 , p_source_type_code => 'Y'
152453 , p_source_application_id => 602
152454 );
152455 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
152456 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
152457 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
152458 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
152459 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
152460 l_rec_acct_attrs.array_num_value(7) := p_source_79;
152461 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
152462 l_rec_acct_attrs.array_char_value(8) := p_source_80;
152463 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
152464 l_rec_acct_attrs.array_char_value(9) := p_source_81;
152465 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
152466 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
152467 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
152468 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
152469 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
152470 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
152471 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
152472 l_rec_acct_attrs.array_char_value(13) := p_source_43;
152473 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
152474 l_rec_acct_attrs.array_num_value(14) := p_source_53;
152475 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
152476 l_rec_acct_attrs.array_num_value(15) := p_source_54;
152477 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
152478 l_rec_acct_attrs.array_char_value(16) := p_source_55;
152479 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
152480 l_rec_acct_attrs.array_num_value(17) := p_source_56;
152481 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
152482 l_rec_acct_attrs.array_num_value(18) := p_source_57;
152483 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
152484 l_rec_acct_attrs.array_num_value(19) := p_source_58;
152485 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
152486 l_rec_acct_attrs.array_char_value(20) := p_source_55;
152487 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
152488 l_rec_acct_attrs.array_num_value(21) := p_source_59;
152489 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
152490 l_rec_acct_attrs.array_char_value(22) := p_source_60;
152491 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
152492 l_rec_acct_attrs.array_num_value(23) := p_source_61;
152493 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
152494 l_rec_acct_attrs.array_char_value(24) := p_source_55;
152495 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
152496 l_rec_acct_attrs.array_date_value(25) := p_source_62;
152497 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
152498 l_rec_acct_attrs.array_num_value(26) := p_source_63;
152499 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
152500 l_rec_acct_attrs.array_char_value(27) := p_source_64;
152501 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
152502 l_rec_acct_attrs.array_num_value(28) := p_source_9;
152503 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
152504 l_rec_acct_attrs.array_date_value(29) := p_source_65;
152505 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
152506 l_rec_acct_attrs.array_char_value(30) := p_source_66;
152507 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
152508 l_rec_acct_attrs.array_date_value(31) := p_source_67;
152509 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
152510 l_rec_acct_attrs.array_char_value(32) := p_source_68;
152511 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
152512 l_rec_acct_attrs.array_num_value(33) := p_source_69;
152513 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
152514 l_rec_acct_attrs.array_num_value(34) := p_source_70;
152515 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
152516 l_rec_acct_attrs.array_char_value(35) := p_source_71;
152520 l_rec_acct_attrs.array_char_value(37) := p_source_43;
152517 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
152518 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
152519 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
152521 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
152522 l_rec_acct_attrs.array_num_value(38) := p_source_73;
152523 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
152524 l_rec_acct_attrs.array_num_value(39) := p_source_74;
152525 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
152526 l_rec_acct_attrs.array_num_value(40) := p_source_75;
152527 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
152528 l_rec_acct_attrs.array_num_value(41) := p_source_76;
152529 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
152530 l_rec_acct_attrs.array_num_value(42) := p_source_77;
152531 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
152532 l_rec_acct_attrs.array_num_value(43) := p_source_78;
152533
152534 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
152535 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
152536
152537 ---------------------------------------------------------------------------------------------------------------
152538 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
152539 ---------------------------------------------------------------------------------------------------------------
152540 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
152541
152542 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
152543 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
152544
152545 IF xla_accounting_cache_pkg.GetValueChar
152546 (p_source_code => 'LEDGER_CATEGORY_CODE'
152547 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
152548 AND l_bflow_method_code = 'PRIOR_ENTRY'
152549 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
152550 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
152551 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
152552 )
152553 THEN
152554 xla_ae_lines_pkg.BflowUpgEntry
152555 (p_business_method_code => l_bflow_method_code
152556 ,p_business_class_code => l_bflow_class_code
152557 ,p_balance_type => l_balance_type_code);
152558 ELSE
152559 NULL;
152560 -- No business flow processing for business flow method of NONE.
152561 END IF;
152562
152563 --
152564 -- call analytical criteria
152565 --
152566
152567 --
152568 -- call description
152569 --
152570
152571 xla_ae_lines_pkg.SetLineDescription(
152572 p_ae_header_id => l_ae_header_id
152573 ,p_description => Description_2 (
152574 p_application_id => p_application_id
152575 , p_ae_header_id => l_ae_header_id
152576 , p_source_1 => p_source_1
152577 )
152578 );
152579
152580
152581 --
152582 -- call ADRs
152583 -- Bug 4922099
152584 --
152585 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
152586 (NVL(l_actual_upg_option, 'N') = 'O') OR
152587 (NVL(l_enc_upg_option, 'N') = 'O')
152588 )
152589 THEN
152590 NULL;
152591 --
152592 --
152593
152594 l_ccid := AcctDerRule_41(
152595 p_application_id => p_application_id
152596 , p_ae_header_id => l_ae_header_id
152597 , p_source_38 => p_source_38
152598 , x_transaction_coa_id => l_adr_transaction_coa_id
152599 , x_accounting_coa_id => l_adr_accounting_coa_id
152600 , x_value_type_code => l_adr_value_type_code
152601 , p_side => 'NA'
152602 );
152603
152604 xla_ae_lines_pkg.set_ccid(
152605 p_code_combination_id => l_ccid
152606 , p_value_type_code => l_adr_value_type_code
152607 , p_transaction_coa_id => l_adr_transaction_coa_id
152608 , p_accounting_coa_id => l_adr_accounting_coa_id
152609 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
152610 , p_adr_type_code => 'S'
152611 , p_component_type => l_component_type
152612 , p_component_code => l_component_code
152613 , p_component_type_code => l_component_type_code
152614 , p_component_appl_id => l_component_appl_id
152615 , p_amb_context_code => l_amb_context_code
152616 , p_side => 'NA'
152617 );
152618
152619
152620 --
152621 --
152622 END IF;
152623 --
152624 -- Bug 4922099
152625 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
152626 (NVL(l_enc_upg_option, 'N') = 'O')
152627 ) AND
152628 (l_bflow_method_code = 'PRIOR_ENTRY')
152629 )
152630 THEN
152631 IF
152632 --
152633 1 = 2
152634 --
152635 THEN
152636 xla_accounting_err_pkg.build_message
152637 (p_appli_s_name => 'XLA'
152638 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
152642 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
152639 ,p_token_1 => 'LINE_NUMBER'
152640 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
152641 ,p_token_2 => 'LINE_TYPE_NAME'
152643 l_component_type
152644 ,l_component_code
152645 ,l_component_type_code
152646 ,l_component_appl_id
152647 ,l_amb_context_code
152648 ,l_entity_code
152649 ,l_event_class_code
152650 )
152651 ,p_token_3 => 'OWNER'
152652 ,p_value_3 => xla_lookups_pkg.get_meaning(
152653 p_lookup_type => 'XLA_OWNER_TYPE'
152654 ,p_lookup_code => l_component_type_code
152655 )
152656 ,p_token_4 => 'PRODUCT_NAME'
152657 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
152658 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
152659 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
152660 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
152661 ,p_ae_header_id => NULL
152662 );
152663
152664 IF (C_LEVEL_ERROR>= g_log_level) THEN
152665 trace
152666 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
152667 ,p_level => C_LEVEL_ERROR
152668 ,p_module => l_log_module);
152669 END IF;
152670 END IF;
152671 END IF;
152672 --
152673 --
152674 ------------------------------------------------------------------------------------------------
152675 -- 4219869 Business Flow
152676 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
152677 -- Prior Entry. Currently, the following code is always generated.
152678 ------------------------------------------------------------------------------------------------
152679 XLA_AE_LINES_PKG.ValidateCurrentLine;
152680
152681 ------------------------------------------------------------------------------------
152682 -- 4219869 Business Flow
152683 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
152684 ------------------------------------------------------------------------------------
152685 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
152686
152687 ----------------------------------------------------------------------------------
152688 -- 4219869 Business Flow
152689 -- Update journal entry status -- Need to generate this within IF <condition>
152690 ----------------------------------------------------------------------------------
152691 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
152692 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
152693 ,p_balance_type_code => l_balance_type_code
152694 );
152695
152696 -------------------------------------------------------------------------------------------
152697 -- 4262811 - Generate the Accrual Reversal lines
152698 -------------------------------------------------------------------------------------------
152699 BEGIN
152700 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
152701 (g_array_event(p_event_id).array_value_num('header_index'));
152702 IF l_acc_rev_flag IS NULL THEN
152703 l_acc_rev_flag := 'N';
152704 END IF;
152705 EXCEPTION
152706 WHEN OTHERS THEN
152707 l_acc_rev_flag := 'N';
152708 END;
152709 --
152710 IF (l_acc_rev_flag = 'Y') THEN
152711
152712 -- 4645092 ------------------------------------------------------------------------------
152713 -- To allow MPA report to determine if it should generate report process
152714 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
152715 ------------------------------------------------------------------------------------------
152716
152717 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
152718 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
152719 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
152720 -- call ADRs
152721 -- Bug 4922099
152722 --
152723 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
152724 (NVL(l_actual_upg_option, 'N') = 'O') OR
152725 (NVL(l_enc_upg_option, 'N') = 'O')
152726 )
152727 THEN
152728 NULL;
152729 --
152730 --
152731
152732 l_ccid := AcctDerRule_41(
152736 , x_transaction_coa_id => l_adr_transaction_coa_id
152733 p_application_id => p_application_id
152734 , p_ae_header_id => l_ae_header_id
152735 , p_source_38 => p_source_38
152737 , x_accounting_coa_id => l_adr_accounting_coa_id
152738 , x_value_type_code => l_adr_value_type_code
152739 , p_side => 'NA'
152740 );
152741
152742 xla_ae_lines_pkg.set_ccid(
152743 p_code_combination_id => l_ccid
152744 , p_value_type_code => l_adr_value_type_code
152745 , p_transaction_coa_id => l_adr_transaction_coa_id
152746 , p_accounting_coa_id => l_adr_accounting_coa_id
152747 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
152748 , p_adr_type_code => 'S'
152749 , p_component_type => l_component_type
152750 , p_component_code => l_component_code
152751 , p_component_type_code => l_component_type_code
152752 , p_component_appl_id => l_component_appl_id
152753 , p_amb_context_code => l_amb_context_code
152754 , p_side => 'NA'
152755 );
152756
152757
152758 --
152759 --
152760 END IF;
152761
152762 --
152763 -- Update the line information that should be overwritten
152764 --
152765 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
152766 p_header_num => 1);
152767 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
152768
152769 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
152770
152771 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
152772 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
152773 END IF;
152774
152775 --
152776 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
152777 --
152778 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
152779 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
152780 ELSE
152781 ---------------------------------------------------------------------------------------------------
152782 -- 4262811a Switch Sign
152783 ---------------------------------------------------------------------------------------------------
152784 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
152785 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
152786 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152787 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
152788 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152789 -- 5132302
152790 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
152791 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
152792
152793 END IF;
152794
152795 -- 4955764
152796 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
152797 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
152798
152799
152800 XLA_AE_LINES_PKG.ValidateCurrentLine;
152801 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
152802
152803 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
152804 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
152805 ,p_balance_type_code => l_balance_type_code);
152806
152807 END IF;
152808
152809 -----------------------------------------------------------------------------------------
152810 -- 4262811 Multiperiod Accounting
152811 -----------------------------------------------------------------------------------------
152812 -- No MPA option is assigned.
152813
152814
152815 END IF;
152816 END IF;
152817 --
152818
152819 --
152820 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
152821 trace
152822 (p_msg => 'END of AcctLineType_249'
152823 ,p_level => C_LEVEL_PROCEDURE
152824 ,p_module => l_log_module);
152825 END IF;
152826 --
152827 EXCEPTION
152828 WHEN xla_exceptions_pkg.application_exception THEN
152829 RAISE;
152830 WHEN OTHERS THEN
152831 xla_exceptions_pkg.raise_message
152832 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_249');
152833 END AcctLineType_249;
152834 --
152835
152836 ---------------------------------------
152837 --
152838 -- PRIVATE FUNCTION
152839 -- AcctLineType_250
152840 --
152841 ---------------------------------------
152842 PROCEDURE AcctLineType_250 (
152843 p_application_id IN NUMBER
152844 ,p_event_id IN NUMBER
152845 ,p_calculate_acctd_flag IN VARCHAR2
152846 ,p_calculate_g_l_flag IN VARCHAR2
152847 ,p_actual_flag IN OUT VARCHAR2
152848 ,p_balance_type_code OUT VARCHAR2
152849 ,p_gain_or_loss_ref OUT VARCHAR2
152850
152851 --Invoice Distribution Description
152855 --Invoice Distribution Type
152852 , p_source_1 IN VARCHAR2
152853 --Invoice Distribution Ledger Amount
152854 , p_source_9 IN NUMBER
152856 , p_source_21 IN VARCHAR2
152857 , p_source_21_meaning IN VARCHAR2
152858 --Self-Assessed Tax Account
152859 , p_source_38 IN NUMBER
152860 --Accounting Reversal Indicator
152861 , p_source_41 IN VARCHAR2
152862 --Distribution Link Type
152863 , p_source_43 IN VARCHAR2
152864 --Allocation to Main Distribution Identifier
152865 , p_source_45 IN NUMBER
152866 --Invoice Identifier
152867 , p_source_46 IN NUMBER
152868 --Invoice Distribution Identifier
152869 , p_source_52 IN NUMBER
152870 --Payables Encumbrance Upgrade Credit Account
152871 , p_source_53 IN NUMBER
152872 --Payables Encumbrance Upgrade Credit Amount
152873 , p_source_54 IN NUMBER
152874 --Invoice Currency Code
152875 , p_source_55 IN VARCHAR2
152876 --Payables Encumbrance Upgrade Credit Base Amount
152877 , p_source_56 IN NUMBER
152878 --Payables Encumbrance Upgrade Debit Account
152879 , p_source_57 IN NUMBER
152880 --Payables Encumbrance Upgrade Debit Amount
152881 , p_source_58 IN NUMBER
152882 --Payables Encumbrance Upgrade Debit Base Amount
152883 , p_source_59 IN NUMBER
152884 --Payables Encumbrance Upgrade Option
152885 , p_source_60 IN VARCHAR2
152886 --Invoice Distribution Amount
152887 , p_source_61 IN NUMBER
152888 --Purchase Order Exchange Rate Date
152889 , p_source_62 IN DATE
152890 --Purchase Order Exchange Rate
152891 , p_source_63 IN NUMBER
152892 --Purchase Order Exchange Rate Type
152893 , p_source_64 IN VARCHAR2
152894 --Deferred Accounting End Date
152895 , p_source_65 IN DATE
152896 --Deferred Accounting Option
152897 , p_source_66 IN VARCHAR2
152898 --Deferred Accounting Start Date
152899 , p_source_67 IN DATE
152900 --Override Accounted Amount Indicator
152901 , p_source_68 IN VARCHAR2
152902 , p_source_68_meaning IN VARCHAR2
152903 --Invoice Supplier Identifier
152904 , p_source_69 IN NUMBER
152905 --Invoice Supplier Site Identifier
152906 , p_source_70 IN NUMBER
152907 --Third Party Type
152908 , p_source_71 IN VARCHAR2
152909 --Parent Reversal Identifier
152910 , p_source_72 IN NUMBER
152911 --Invoice Distribution Tax Line Identifier
152912 , p_source_74 IN NUMBER
152913 --Invoice Distribution Tax Distribution Identifier from Tax
152914 , p_source_75 IN NUMBER
152915 --Invoice Distribution Summary Tax Line Identifier
152916 , p_source_76 IN NUMBER
152917 --Payables Upgrade Credit Encumbrance Type Identifier
152918 , p_source_77 IN NUMBER
152919 --Payables Upgrade Debit Encumbrance Type Identifier
152920 , p_source_78 IN NUMBER
152921 --Business Flow Accounts Payable Application Identifier
152922 , p_source_79 IN NUMBER
152923 --Business Flow Invoice Distribution Type
152924 , p_source_80 IN VARCHAR2
152925 --Business Flow Invoice Entity Code
152926 , p_source_81 IN VARCHAR2
152927 --Business Flow Invoice Distribution Identifier
152928 , p_source_82 IN NUMBER
152929 --Business Flow Invoice Identifier
152930 , p_source_83 IN NUMBER
152931 --Accrue on Receipt Option
152932 , p_source_84 IN VARCHAR2
152933 , p_source_84_meaning IN VARCHAR2
152934 --Self-Assessed Tax Flag
152935 , p_source_135 IN VARCHAR2
152936 , p_source_135_meaning IN VARCHAR2
152937 )
152938 IS
152939
152940 l_component_type VARCHAR2(80);
152941 l_component_code VARCHAR2(30);
152942 l_component_type_code VARCHAR2(1);
152943 l_component_appl_id INTEGER;
152944 l_amb_context_code VARCHAR2(30);
152945 l_entity_code VARCHAR2(30);
152946 l_event_class_code VARCHAR2(30);
152947 l_ae_header_id NUMBER;
152948 l_event_type_code VARCHAR2(30);
152949 l_line_definition_code VARCHAR2(30);
152950 l_line_definition_owner_code VARCHAR2(1);
152951 --
152952 -- adr variables
152953 l_segment VARCHAR2(30);
152954 l_ccid NUMBER;
152955 l_adr_transaction_coa_id NUMBER;
152956 l_adr_accounting_coa_id NUMBER;
152957 l_adr_flexfield_segment_code VARCHAR2(30);
152958 l_adr_flex_value_set_id NUMBER;
152959 l_adr_value_type_code VARCHAR2(30);
152960 l_adr_value_combination_id NUMBER;
152961 l_adr_value_segment_code VARCHAR2(30);
152962
152963 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
152964 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
152965 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
152966 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
152967
152968 -- 4262811 Variables ------------------------------------------------------------------------------------------
152969 l_entered_amt_idx NUMBER;
152970 l_accted_amt_idx NUMBER;
152971 l_acc_rev_flag VARCHAR2(1);
152972 l_accrual_line_num NUMBER;
152973 l_tmp_amt NUMBER;
152974 l_acc_rev_natural_side_code VARCHAR2(1);
152975
152976 l_num_entries NUMBER;
152980 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
152977 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
152978 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
152979 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
152981 l_recog_line_1 NUMBER;
152982 l_recog_line_2 NUMBER;
152983
152984 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
152985 l_bflow_applied_to_amt NUMBER; -- 5132302
152986 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
152987
152988 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
152989
152990 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
152991 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
152992
152993 ---------------------------------------------------------------------------------------------------------------
152994
152995
152996 --
152997 -- bulk performance
152998 --
152999 l_balance_type_code VARCHAR2(1);
153000 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
153001 l_log_module VARCHAR2(240);
153002
153003 --
153004 -- Upgrade strategy
153005 --
153006 l_actual_upg_option VARCHAR2(1);
153007 l_enc_upg_option VARCHAR2(1);
153008
153009 --
153010 BEGIN
153011 --
153012 IF g_log_enabled THEN
153013 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_250';
153014 END IF;
153015 --
153016 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153017
153018 trace
153019 (p_msg => 'BEGIN of AcctLineType_250'
153020 ,p_level => C_LEVEL_PROCEDURE
153021 ,p_module => l_log_module);
153022
153023 END IF;
153024 --
153025 l_component_type := 'AMB_JLT';
153026 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_DM';
153027 l_component_type_code := 'S';
153028 l_component_appl_id := 200;
153029 l_amb_context_code := 'DEFAULT';
153030 l_entity_code := 'AP_INVOICES';
153031 l_event_class_code := 'DEBIT MEMOS';
153032 l_event_type_code := 'DEBIT MEMOS_ALL';
153033 l_line_definition_owner_code := 'S';
153034 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
153035 --
153036 l_balance_type_code := 'A';
153037 l_segment := NULL;
153038 l_ccid := NULL;
153039 l_adr_transaction_coa_id := NULL;
153040 l_adr_accounting_coa_id := NULL;
153041 l_adr_flexfield_segment_code := NULL;
153042 l_adr_flex_value_set_id := NULL;
153043 l_adr_value_type_code := NULL;
153044 l_adr_value_combination_id := NULL;
153045 l_adr_value_segment_code := NULL;
153046
153047 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
153048 l_bflow_class_code := ''; -- 4219869 Business Flow
153049 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
153050 l_budgetary_control_flag := 'N';
153051
153052 l_bflow_applied_to_amt_idx := NULL; -- 5132302
153053 l_bflow_applied_to_amt := NULL; -- 5132302
153054 l_entered_amt_idx := NULL; -- 4262811
153055 l_accted_amt_idx := NULL; -- 4262811
153056 l_acc_rev_flag := NULL; -- 4262811
153057 l_accrual_line_num := NULL; -- 4262811
153058 l_tmp_amt := NULL; -- 4262811
153059 --
153060
153061 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
153062 l_balance_type_code <> 'B' THEN
153063 IF NVL(p_source_21,'
153064 ') = 'NONREC_TAX' AND
153065 NVL(p_source_135,'
153066 ') = 'Y' AND
153067 NVL(p_source_84,'
153068 ') = 'Y'
153069 THEN
153070
153071 --
153072 XLA_AE_LINES_PKG.SetNewLine;
153073
153074 p_balance_type_code := l_balance_type_code;
153075 -- set the flag so later we will know whether the gain loss line needs to be created
153076
153077 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
153078 p_actual_flag :='A';
153079 END IF;
153080
153081 --
153082 -- bulk performance
153083 --
153084 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
153085 p_header_num => 0); -- 4262811
153086 --
153087 -- set accounting line options
153088 --
153089 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
153090 p_natural_side_code => 'D'
153091 , p_gain_or_loss_flag => 'N'
153092 , p_gl_transfer_mode_code => 'S'
153093 , p_acct_entry_type_code => 'A'
153094 , p_switch_side_flag => 'Y'
153095 , p_merge_duplicate_code => 'A'
153096 );
153097 --
153098 l_acc_rev_natural_side_code := 'C'; -- 4262811
153099 --
153100 --
153101 -- set accounting line type info
153102 --
153103 xla_ae_lines_pkg.SetAcctLineType
153104 (p_component_type => l_component_type
153105 ,p_event_type_code => l_event_type_code
153106 ,p_line_definition_owner_code => l_line_definition_owner_code
153107 ,p_line_definition_code => l_line_definition_code
153108 ,p_accounting_line_code => l_component_code
153112 ,p_entity_code => l_entity_code
153109 ,p_accounting_line_type_code => l_component_type_code
153110 ,p_accounting_line_appl_id => l_component_appl_id
153111 ,p_amb_context_code => l_amb_context_code
153113 ,p_event_class_code => l_event_class_code);
153114 --
153115 -- set accounting class
153116 --
153117 xla_ae_lines_pkg.SetAcctClass(
153118 p_accounting_class_code => 'SELF_ASSESSED_TAX'
153119 , p_ae_header_id => l_ae_header_id
153120 );
153121
153122 --
153123 -- set rounding class
153124 --
153125 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
153126 'SELF_ASSESSED_TAX';
153127
153128 --
153129 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
153130 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
153131 --
153132 -- bulk performance
153133 --
153134 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
153135
153136 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
153137 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
153138
153139 -- 4955764
153140 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
153141 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
153142
153143 -- 4458381 Public Sector Enh
153144
153145 --
153146 -- set accounting attributes for the line type
153147 --
153148 l_entered_amt_idx := 23;
153149 l_accted_amt_idx := 28;
153150 l_bflow_applied_to_amt_idx := NULL; -- 5132302
153151 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
153152 l_rec_acct_attrs.array_char_value(1) := p_source_41;
153153 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
153154 l_rec_acct_attrs.array_num_value(2) :=
153155 xla_ae_sources_pkg.GetSystemSourceNum(
153156 p_source_code => 'XLA_EVENT_APPL_ID'
153157 , p_source_type_code => 'Y'
153158 , p_source_application_id => 602
153159 );
153160 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
153161 l_rec_acct_attrs.array_char_value(3) := p_source_43;
153162 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
153163 l_rec_acct_attrs.array_char_value(4) :=
153164 xla_ae_sources_pkg.GetSystemSourceChar(
153165 p_source_code => 'XLA_ENTITY_CODE'
153166 , p_source_type_code => 'Y'
153167 , p_source_application_id => 602
153168 );
153169 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
153170 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
153171 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
153172 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
153173 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
153174 l_rec_acct_attrs.array_num_value(7) := p_source_79;
153175 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
153176 l_rec_acct_attrs.array_char_value(8) := p_source_80;
153177 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
153178 l_rec_acct_attrs.array_char_value(9) := p_source_81;
153179 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
153180 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
153181 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
153182 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
153183 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
153184 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
153185 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
153186 l_rec_acct_attrs.array_char_value(13) := p_source_43;
153187 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
153188 l_rec_acct_attrs.array_num_value(14) := p_source_53;
153189 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
153190 l_rec_acct_attrs.array_num_value(15) := p_source_54;
153191 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
153192 l_rec_acct_attrs.array_char_value(16) := p_source_55;
153193 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
153194 l_rec_acct_attrs.array_num_value(17) := p_source_56;
153195 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
153196 l_rec_acct_attrs.array_num_value(18) := p_source_57;
153197 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
153198 l_rec_acct_attrs.array_num_value(19) := p_source_58;
153199 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
153200 l_rec_acct_attrs.array_char_value(20) := p_source_55;
153201 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
153202 l_rec_acct_attrs.array_num_value(21) := p_source_59;
153203 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
153204 l_rec_acct_attrs.array_char_value(22) := p_source_60;
153205 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
153206 l_rec_acct_attrs.array_num_value(23) := p_source_61;
153207 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
153208 l_rec_acct_attrs.array_char_value(24) := p_source_55;
153209 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
153213 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
153210 l_rec_acct_attrs.array_date_value(25) := p_source_62;
153211 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
153212 l_rec_acct_attrs.array_num_value(26) := p_source_63;
153214 l_rec_acct_attrs.array_char_value(27) := p_source_64;
153215 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
153216 l_rec_acct_attrs.array_num_value(28) := p_source_9;
153217 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
153218 l_rec_acct_attrs.array_date_value(29) := p_source_65;
153219 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
153220 l_rec_acct_attrs.array_char_value(30) := p_source_66;
153221 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
153222 l_rec_acct_attrs.array_date_value(31) := p_source_67;
153223 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
153224 l_rec_acct_attrs.array_char_value(32) := p_source_68;
153225 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
153226 l_rec_acct_attrs.array_num_value(33) := p_source_69;
153227 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
153228 l_rec_acct_attrs.array_num_value(34) := p_source_70;
153229 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
153230 l_rec_acct_attrs.array_char_value(35) := p_source_71;
153231 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
153232 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
153233 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
153234 l_rec_acct_attrs.array_char_value(37) := p_source_43;
153235 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
153236 l_rec_acct_attrs.array_num_value(38) := p_source_74;
153237 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
153238 l_rec_acct_attrs.array_num_value(39) := p_source_75;
153239 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
153240 l_rec_acct_attrs.array_num_value(40) := p_source_76;
153241 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
153242 l_rec_acct_attrs.array_num_value(41) := p_source_77;
153243 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
153244 l_rec_acct_attrs.array_num_value(42) := p_source_78;
153245
153246 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
153247 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
153248
153249 ---------------------------------------------------------------------------------------------------------------
153250 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
153251 ---------------------------------------------------------------------------------------------------------------
153252 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
153253
153254 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
153255 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
153256
153257 IF xla_accounting_cache_pkg.GetValueChar
153258 (p_source_code => 'LEDGER_CATEGORY_CODE'
153259 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
153260 AND l_bflow_method_code = 'PRIOR_ENTRY'
153261 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
153262 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
153263 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
153264 )
153265 THEN
153266 xla_ae_lines_pkg.BflowUpgEntry
153267 (p_business_method_code => l_bflow_method_code
153268 ,p_business_class_code => l_bflow_class_code
153269 ,p_balance_type => l_balance_type_code);
153270 ELSE
153271 NULL;
153272 -- No business flow processing for business flow method of NONE.
153273 END IF;
153274
153275 --
153276 -- call analytical criteria
153277 --
153278
153279 --
153280 -- call description
153281 --
153282
153283 xla_ae_lines_pkg.SetLineDescription(
153284 p_ae_header_id => l_ae_header_id
153285 ,p_description => Description_2 (
153286 p_application_id => p_application_id
153287 , p_ae_header_id => l_ae_header_id
153288 , p_source_1 => p_source_1
153289 )
153290 );
153291
153292
153293 --
153294 -- call ADRs
153295 -- Bug 4922099
153296 --
153297 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
153298 (NVL(l_actual_upg_option, 'N') = 'O') OR
153299 (NVL(l_enc_upg_option, 'N') = 'O')
153300 )
153301 THEN
153302 NULL;
153303 --
153304 --
153305
153306 l_ccid := AcctDerRule_41(
153307 p_application_id => p_application_id
153308 , p_ae_header_id => l_ae_header_id
153309 , p_source_38 => p_source_38
153310 , x_transaction_coa_id => l_adr_transaction_coa_id
153311 , x_accounting_coa_id => l_adr_accounting_coa_id
153312 , x_value_type_code => l_adr_value_type_code
153313 , p_side => 'NA'
153314 );
153315
153316 xla_ae_lines_pkg.set_ccid(
153317 p_code_combination_id => l_ccid
153318 , p_value_type_code => l_adr_value_type_code
153319 , p_transaction_coa_id => l_adr_transaction_coa_id
153323 , p_component_type => l_component_type
153320 , p_accounting_coa_id => l_adr_accounting_coa_id
153321 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
153322 , p_adr_type_code => 'S'
153324 , p_component_code => l_component_code
153325 , p_component_type_code => l_component_type_code
153326 , p_component_appl_id => l_component_appl_id
153327 , p_amb_context_code => l_amb_context_code
153328 , p_side => 'NA'
153329 );
153330
153331
153332 --
153333 --
153334 END IF;
153335 --
153336 -- Bug 4922099
153337 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
153338 (NVL(l_enc_upg_option, 'N') = 'O')
153339 ) AND
153340 (l_bflow_method_code = 'PRIOR_ENTRY')
153341 )
153342 THEN
153343 IF
153344 --
153345 1 = 2
153346 --
153347 THEN
153348 xla_accounting_err_pkg.build_message
153349 (p_appli_s_name => 'XLA'
153350 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
153351 ,p_token_1 => 'LINE_NUMBER'
153352 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
153353 ,p_token_2 => 'LINE_TYPE_NAME'
153354 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
153355 l_component_type
153356 ,l_component_code
153357 ,l_component_type_code
153358 ,l_component_appl_id
153359 ,l_amb_context_code
153360 ,l_entity_code
153361 ,l_event_class_code
153362 )
153363 ,p_token_3 => 'OWNER'
153364 ,p_value_3 => xla_lookups_pkg.get_meaning(
153365 p_lookup_type => 'XLA_OWNER_TYPE'
153366 ,p_lookup_code => l_component_type_code
153367 )
153368 ,p_token_4 => 'PRODUCT_NAME'
153369 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
153370 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
153371 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
153372 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
153373 ,p_ae_header_id => NULL
153374 );
153375
153376 IF (C_LEVEL_ERROR>= g_log_level) THEN
153377 trace
153378 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
153379 ,p_level => C_LEVEL_ERROR
153380 ,p_module => l_log_module);
153381 END IF;
153382 END IF;
153383 END IF;
153384 --
153385 --
153386 ------------------------------------------------------------------------------------------------
153387 -- 4219869 Business Flow
153388 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
153389 -- Prior Entry. Currently, the following code is always generated.
153390 ------------------------------------------------------------------------------------------------
153391 XLA_AE_LINES_PKG.ValidateCurrentLine;
153392
153393 ------------------------------------------------------------------------------------
153394 -- 4219869 Business Flow
153395 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
153396 ------------------------------------------------------------------------------------
153397 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
153398
153399 ----------------------------------------------------------------------------------
153400 -- 4219869 Business Flow
153401 -- Update journal entry status -- Need to generate this within IF <condition>
153402 ----------------------------------------------------------------------------------
153403 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
153404 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
153405 ,p_balance_type_code => l_balance_type_code
153406 );
153407
153408 -------------------------------------------------------------------------------------------
153409 -- 4262811 - Generate the Accrual Reversal lines
153410 -------------------------------------------------------------------------------------------
153411 BEGIN
153412 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
153413 (g_array_event(p_event_id).array_value_num('header_index'));
153417 EXCEPTION
153414 IF l_acc_rev_flag IS NULL THEN
153415 l_acc_rev_flag := 'N';
153416 END IF;
153418 WHEN OTHERS THEN
153419 l_acc_rev_flag := 'N';
153420 END;
153421 --
153422 IF (l_acc_rev_flag = 'Y') THEN
153423
153424 -- 4645092 ------------------------------------------------------------------------------
153425 -- To allow MPA report to determine if it should generate report process
153426 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
153427 ------------------------------------------------------------------------------------------
153428
153429 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
153430 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
153431 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
153432 -- call ADRs
153433 -- Bug 4922099
153434 --
153435 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
153436 (NVL(l_actual_upg_option, 'N') = 'O') OR
153437 (NVL(l_enc_upg_option, 'N') = 'O')
153438 )
153439 THEN
153440 NULL;
153441 --
153442 --
153443
153444 l_ccid := AcctDerRule_41(
153445 p_application_id => p_application_id
153446 , p_ae_header_id => l_ae_header_id
153447 , p_source_38 => p_source_38
153448 , x_transaction_coa_id => l_adr_transaction_coa_id
153449 , x_accounting_coa_id => l_adr_accounting_coa_id
153450 , x_value_type_code => l_adr_value_type_code
153451 , p_side => 'NA'
153452 );
153453
153454 xla_ae_lines_pkg.set_ccid(
153455 p_code_combination_id => l_ccid
153456 , p_value_type_code => l_adr_value_type_code
153457 , p_transaction_coa_id => l_adr_transaction_coa_id
153458 , p_accounting_coa_id => l_adr_accounting_coa_id
153459 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
153460 , p_adr_type_code => 'S'
153461 , p_component_type => l_component_type
153462 , p_component_code => l_component_code
153463 , p_component_type_code => l_component_type_code
153464 , p_component_appl_id => l_component_appl_id
153465 , p_amb_context_code => l_amb_context_code
153466 , p_side => 'NA'
153467 );
153468
153469
153470 --
153471 --
153472 END IF;
153473
153474 --
153475 -- Update the line information that should be overwritten
153476 --
153477 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
153478 p_header_num => 1);
153479 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
153480
153481 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
153482
153483 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
153484 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
153485 END IF;
153486
153487 --
153488 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
153489 --
153490 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
153491 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
153492 ELSE
153493 ---------------------------------------------------------------------------------------------------
153494 -- 4262811a Switch Sign
153495 ---------------------------------------------------------------------------------------------------
153496 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
153497 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
153498 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
153499 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
153500 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
153501 -- 5132302
153502 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
153503 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
153504
153505 END IF;
153506
153507 -- 4955764
153508 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
153509 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
153510
153511
153512 XLA_AE_LINES_PKG.ValidateCurrentLine;
153513 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
153514
153515 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
153516 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
153517 ,p_balance_type_code => l_balance_type_code);
153518
153519 END IF;
153520
153521 -----------------------------------------------------------------------------------------
153522 -- 4262811 Multiperiod Accounting
153523 -----------------------------------------------------------------------------------------
153524 -- No MPA option is assigned.
153525
153526
153527 END IF;
153531 --
153528 END IF;
153529 --
153530
153532 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153533 trace
153534 (p_msg => 'END of AcctLineType_250'
153535 ,p_level => C_LEVEL_PROCEDURE
153536 ,p_module => l_log_module);
153537 END IF;
153538 --
153539 EXCEPTION
153540 WHEN xla_exceptions_pkg.application_exception THEN
153541 RAISE;
153542 WHEN OTHERS THEN
153543 xla_exceptions_pkg.raise_message
153544 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_250');
153545 END AcctLineType_250;
153546 --
153547
153548 ---------------------------------------
153549 --
153550 -- PRIVATE FUNCTION
153551 -- AcctLineType_251
153552 --
153553 ---------------------------------------
153554 PROCEDURE AcctLineType_251 (
153555 p_application_id IN NUMBER
153556 ,p_event_id IN NUMBER
153557 ,p_calculate_acctd_flag IN VARCHAR2
153558 ,p_calculate_g_l_flag IN VARCHAR2
153559 ,p_actual_flag IN OUT VARCHAR2
153560 ,p_balance_type_code OUT VARCHAR2
153561 ,p_gain_or_loss_ref OUT VARCHAR2
153562
153563 --Invoice Distribution Description
153564 , p_source_1 IN VARCHAR2
153565 --Invoice Distribution Ledger Amount
153566 , p_source_9 IN NUMBER
153567 --Invoice Distribution Type
153568 , p_source_21 IN VARCHAR2
153569 , p_source_21_meaning IN VARCHAR2
153570 --Self-Assessed Tax Account
153571 , p_source_38 IN NUMBER
153572 --Accounting Reversal Indicator
153573 , p_source_41 IN VARCHAR2
153574 --Distribution Link Type
153575 , p_source_43 IN VARCHAR2
153576 --Allocation to Main Distribution Identifier
153577 , p_source_45 IN NUMBER
153578 --Invoice Identifier
153579 , p_source_46 IN NUMBER
153580 --Invoice Distribution Identifier
153581 , p_source_52 IN NUMBER
153582 --Payables Encumbrance Upgrade Credit Account
153583 , p_source_53 IN NUMBER
153584 --Payables Encumbrance Upgrade Credit Amount
153585 , p_source_54 IN NUMBER
153586 --Invoice Currency Code
153587 , p_source_55 IN VARCHAR2
153588 --Payables Encumbrance Upgrade Credit Base Amount
153589 , p_source_56 IN NUMBER
153590 --Payables Encumbrance Upgrade Debit Account
153591 , p_source_57 IN NUMBER
153592 --Payables Encumbrance Upgrade Debit Amount
153593 , p_source_58 IN NUMBER
153594 --Payables Encumbrance Upgrade Debit Base Amount
153595 , p_source_59 IN NUMBER
153596 --Payables Encumbrance Upgrade Option
153597 , p_source_60 IN VARCHAR2
153598 --Invoice Distribution Amount
153599 , p_source_61 IN NUMBER
153600 --Purchase Order Exchange Rate Date
153601 , p_source_62 IN DATE
153602 --Purchase Order Exchange Rate
153603 , p_source_63 IN NUMBER
153604 --Purchase Order Exchange Rate Type
153605 , p_source_64 IN VARCHAR2
153606 --Deferred Accounting End Date
153607 , p_source_65 IN DATE
153608 --Deferred Accounting Option
153609 , p_source_66 IN VARCHAR2
153610 --Deferred Accounting Start Date
153611 , p_source_67 IN DATE
153612 --Override Accounted Amount Indicator
153613 , p_source_68 IN VARCHAR2
153614 , p_source_68_meaning IN VARCHAR2
153615 --Invoice Supplier Identifier
153616 , p_source_69 IN NUMBER
153617 --Invoice Supplier Site Identifier
153618 , p_source_70 IN NUMBER
153619 --Third Party Type
153620 , p_source_71 IN VARCHAR2
153621 --Parent Reversal Identifier
153622 , p_source_72 IN NUMBER
153623 --Invoice Distribution Statistical Amount
153624 , p_source_73 IN NUMBER
153625 --Invoice Distribution Tax Line Identifier
153626 , p_source_74 IN NUMBER
153627 --Invoice Distribution Tax Distribution Identifier from Tax
153628 , p_source_75 IN NUMBER
153629 --Invoice Distribution Summary Tax Line Identifier
153630 , p_source_76 IN NUMBER
153631 --Payables Upgrade Credit Encumbrance Type Identifier
153632 , p_source_77 IN NUMBER
153633 --Payables Upgrade Debit Encumbrance Type Identifier
153634 , p_source_78 IN NUMBER
153635 --Business Flow Accounts Payable Application Identifier
153636 , p_source_79 IN NUMBER
153637 --Business Flow Invoice Distribution Type
153638 , p_source_80 IN VARCHAR2
153639 --Business Flow Invoice Entity Code
153640 , p_source_81 IN VARCHAR2
153641 --Business Flow Invoice Distribution Identifier
153642 , p_source_82 IN NUMBER
153643 --Business Flow Invoice Identifier
153644 , p_source_83 IN NUMBER
153645 --Accrue on Receipt Option
153646 , p_source_84 IN VARCHAR2
153647 , p_source_84_meaning IN VARCHAR2
153648 --Self-Assessed Tax Flag
153649 , p_source_135 IN VARCHAR2
153650 , p_source_135_meaning IN VARCHAR2
153651 )
153652 IS
153653
153654 l_component_type VARCHAR2(80);
153655 l_component_code VARCHAR2(30);
153656 l_component_type_code VARCHAR2(1);
153657 l_component_appl_id INTEGER;
153658 l_amb_context_code VARCHAR2(30);
153659 l_entity_code VARCHAR2(30);
153660 l_event_class_code VARCHAR2(30);
153661 l_ae_header_id NUMBER;
153662 l_event_type_code VARCHAR2(30);
153663 l_line_definition_code VARCHAR2(30);
153664 l_line_definition_owner_code VARCHAR2(1);
153665 --
153669 l_adr_transaction_coa_id NUMBER;
153666 -- adr variables
153667 l_segment VARCHAR2(30);
153668 l_ccid NUMBER;
153670 l_adr_accounting_coa_id NUMBER;
153671 l_adr_flexfield_segment_code VARCHAR2(30);
153672 l_adr_flex_value_set_id NUMBER;
153673 l_adr_value_type_code VARCHAR2(30);
153674 l_adr_value_combination_id NUMBER;
153675 l_adr_value_segment_code VARCHAR2(30);
153676
153677 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
153678 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
153679 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
153680 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
153681
153682 -- 4262811 Variables ------------------------------------------------------------------------------------------
153683 l_entered_amt_idx NUMBER;
153684 l_accted_amt_idx NUMBER;
153685 l_acc_rev_flag VARCHAR2(1);
153686 l_accrual_line_num NUMBER;
153687 l_tmp_amt NUMBER;
153688 l_acc_rev_natural_side_code VARCHAR2(1);
153689
153690 l_num_entries NUMBER;
153691 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
153692 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
153693 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
153694 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
153695 l_recog_line_1 NUMBER;
153696 l_recog_line_2 NUMBER;
153697
153698 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
153699 l_bflow_applied_to_amt NUMBER; -- 5132302
153700 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
153701
153702 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
153703
153704 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
153705 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
153706
153707 ---------------------------------------------------------------------------------------------------------------
153708
153709
153710 --
153711 -- bulk performance
153712 --
153713 l_balance_type_code VARCHAR2(1);
153714 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
153715 l_log_module VARCHAR2(240);
153716
153717 --
153718 -- Upgrade strategy
153719 --
153720 l_actual_upg_option VARCHAR2(1);
153721 l_enc_upg_option VARCHAR2(1);
153722
153723 --
153724 BEGIN
153725 --
153726 IF g_log_enabled THEN
153727 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_251';
153728 END IF;
153729 --
153730 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
153731
153732 trace
153733 (p_msg => 'BEGIN of AcctLineType_251'
153734 ,p_level => C_LEVEL_PROCEDURE
153735 ,p_module => l_log_module);
153736
153737 END IF;
153738 --
153739 l_component_type := 'AMB_JLT';
153740 l_component_code := 'AP_SELF_NON_REC_ACCRUAL_INV';
153741 l_component_type_code := 'S';
153742 l_component_appl_id := 200;
153743 l_amb_context_code := 'DEFAULT';
153744 l_entity_code := 'AP_INVOICES';
153745 l_event_class_code := 'INVOICES';
153746 l_event_type_code := 'INVOICES_ALL';
153747 l_line_definition_owner_code := 'S';
153748 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
153749 --
153750 l_balance_type_code := 'A';
153751 l_segment := NULL;
153752 l_ccid := NULL;
153753 l_adr_transaction_coa_id := NULL;
153754 l_adr_accounting_coa_id := NULL;
153755 l_adr_flexfield_segment_code := NULL;
153756 l_adr_flex_value_set_id := NULL;
153757 l_adr_value_type_code := NULL;
153758 l_adr_value_combination_id := NULL;
153759 l_adr_value_segment_code := NULL;
153760
153761 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
153762 l_bflow_class_code := ''; -- 4219869 Business Flow
153763 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
153764 l_budgetary_control_flag := 'N';
153765
153766 l_bflow_applied_to_amt_idx := NULL; -- 5132302
153767 l_bflow_applied_to_amt := NULL; -- 5132302
153768 l_entered_amt_idx := NULL; -- 4262811
153769 l_accted_amt_idx := NULL; -- 4262811
153770 l_acc_rev_flag := NULL; -- 4262811
153771 l_accrual_line_num := NULL; -- 4262811
153772 l_tmp_amt := NULL; -- 4262811
153773 --
153774
153775 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
153776 l_balance_type_code <> 'B' THEN
153777 IF NVL(p_source_21,'
153778 ') = 'NONREC_TAX' AND
153779 NVL(p_source_135,'
153780 ') = 'Y' AND
153781 NVL(p_source_84,'
153782 ') = 'Y'
153783 THEN
153784
153785 --
153786 XLA_AE_LINES_PKG.SetNewLine;
153787
153788 p_balance_type_code := l_balance_type_code;
153789 -- set the flag so later we will know whether the gain loss line needs to be created
153790
153791 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
153792 p_actual_flag :='A';
153793 END IF;
153794
153795 --
153796 -- bulk performance
153797 --
153798 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
153802 --
153799 p_header_num => 0); -- 4262811
153800 --
153801 -- set accounting line options
153803 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
153804 p_natural_side_code => 'D'
153805 , p_gain_or_loss_flag => 'N'
153806 , p_gl_transfer_mode_code => 'S'
153807 , p_acct_entry_type_code => 'A'
153808 , p_switch_side_flag => 'Y'
153809 , p_merge_duplicate_code => 'A'
153810 );
153811 --
153812 l_acc_rev_natural_side_code := 'C'; -- 4262811
153813 --
153814 --
153815 -- set accounting line type info
153816 --
153817 xla_ae_lines_pkg.SetAcctLineType
153818 (p_component_type => l_component_type
153819 ,p_event_type_code => l_event_type_code
153820 ,p_line_definition_owner_code => l_line_definition_owner_code
153821 ,p_line_definition_code => l_line_definition_code
153822 ,p_accounting_line_code => l_component_code
153823 ,p_accounting_line_type_code => l_component_type_code
153824 ,p_accounting_line_appl_id => l_component_appl_id
153825 ,p_amb_context_code => l_amb_context_code
153826 ,p_entity_code => l_entity_code
153827 ,p_event_class_code => l_event_class_code);
153828 --
153829 -- set accounting class
153830 --
153831 xla_ae_lines_pkg.SetAcctClass(
153832 p_accounting_class_code => 'SELF_ASSESSED_TAX'
153833 , p_ae_header_id => l_ae_header_id
153834 );
153835
153836 --
153837 -- set rounding class
153838 --
153839 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
153840 'SELF_ASSESSED_TAX';
153841
153842 --
153843 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
153844 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
153845 --
153846 -- bulk performance
153847 --
153848 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
153849
153850 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
153851 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
153852
153853 -- 4955764
153854 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
153855 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
153856
153857 -- 4458381 Public Sector Enh
153858
153859 --
153860 -- set accounting attributes for the line type
153861 --
153862 l_entered_amt_idx := 24;
153863 l_accted_amt_idx := 29;
153864 l_bflow_applied_to_amt_idx := 7; -- 5132302
153865 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
153866 l_rec_acct_attrs.array_char_value(1) := p_source_41;
153867 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
153868 l_rec_acct_attrs.array_num_value(2) :=
153869 xla_ae_sources_pkg.GetSystemSourceNum(
153870 p_source_code => 'XLA_EVENT_APPL_ID'
153871 , p_source_type_code => 'Y'
153872 , p_source_application_id => 602
153873 );
153874 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
153875 l_rec_acct_attrs.array_char_value(3) := p_source_43;
153876 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
153877 l_rec_acct_attrs.array_char_value(4) :=
153878 xla_ae_sources_pkg.GetSystemSourceChar(
153879 p_source_code => 'XLA_ENTITY_CODE'
153880 , p_source_type_code => 'Y'
153881 , p_source_application_id => 602
153882 );
153883 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
153884 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
153885 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
153886 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
153887 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
153888 l_rec_acct_attrs.array_num_value(7) := p_source_61;
153889 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
153890 l_rec_acct_attrs.array_num_value(8) := p_source_79;
153891 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
153892 l_rec_acct_attrs.array_char_value(9) := p_source_80;
153893 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
153894 l_rec_acct_attrs.array_char_value(10) := p_source_81;
153895 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
153896 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
153897 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
153898 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
153899 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
153900 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
153901 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
153902 l_rec_acct_attrs.array_char_value(14) := p_source_43;
153903 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
153904 l_rec_acct_attrs.array_num_value(15) := p_source_53;
153905 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
153906 l_rec_acct_attrs.array_num_value(16) := p_source_54;
153907 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
153911 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
153908 l_rec_acct_attrs.array_char_value(17) := p_source_55;
153909 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
153910 l_rec_acct_attrs.array_num_value(18) := p_source_56;
153912 l_rec_acct_attrs.array_num_value(19) := p_source_57;
153913 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
153914 l_rec_acct_attrs.array_num_value(20) := p_source_58;
153915 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
153916 l_rec_acct_attrs.array_char_value(21) := p_source_55;
153917 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
153918 l_rec_acct_attrs.array_num_value(22) := p_source_59;
153919 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
153920 l_rec_acct_attrs.array_char_value(23) := p_source_60;
153921 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
153922 l_rec_acct_attrs.array_num_value(24) := p_source_61;
153923 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
153924 l_rec_acct_attrs.array_char_value(25) := p_source_55;
153925 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
153926 l_rec_acct_attrs.array_date_value(26) := p_source_62;
153927 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
153928 l_rec_acct_attrs.array_num_value(27) := p_source_63;
153929 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
153930 l_rec_acct_attrs.array_char_value(28) := p_source_64;
153931 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
153932 l_rec_acct_attrs.array_num_value(29) := p_source_9;
153933 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
153934 l_rec_acct_attrs.array_date_value(30) := p_source_65;
153935 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
153936 l_rec_acct_attrs.array_char_value(31) := p_source_66;
153937 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
153938 l_rec_acct_attrs.array_date_value(32) := p_source_67;
153939 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
153940 l_rec_acct_attrs.array_char_value(33) := p_source_68;
153941 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
153942 l_rec_acct_attrs.array_num_value(34) := p_source_69;
153943 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
153944 l_rec_acct_attrs.array_num_value(35) := p_source_70;
153945 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
153946 l_rec_acct_attrs.array_char_value(36) := p_source_71;
153947 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
153948 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
153949 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
153950 l_rec_acct_attrs.array_char_value(38) := p_source_43;
153951 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
153952 l_rec_acct_attrs.array_num_value(39) := p_source_73;
153953 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
153954 l_rec_acct_attrs.array_num_value(40) := p_source_74;
153955 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
153956 l_rec_acct_attrs.array_num_value(41) := p_source_75;
153957 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
153958 l_rec_acct_attrs.array_num_value(42) := p_source_76;
153959 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
153960 l_rec_acct_attrs.array_num_value(43) := p_source_77;
153961 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
153962 l_rec_acct_attrs.array_num_value(44) := p_source_78;
153963
153964 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
153965 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
153966
153967 ---------------------------------------------------------------------------------------------------------------
153968 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
153969 ---------------------------------------------------------------------------------------------------------------
153970 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
153971
153972 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
153973 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
153974
153975 IF xla_accounting_cache_pkg.GetValueChar
153976 (p_source_code => 'LEDGER_CATEGORY_CODE'
153977 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
153978 AND l_bflow_method_code = 'PRIOR_ENTRY'
153979 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
153980 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
153981 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
153982 )
153983 THEN
153984 xla_ae_lines_pkg.BflowUpgEntry
153985 (p_business_method_code => l_bflow_method_code
153986 ,p_business_class_code => l_bflow_class_code
153987 ,p_balance_type => l_balance_type_code);
153988 ELSE
153989 NULL;
153990 -- No business flow processing for business flow method of NONE.
153991 END IF;
153992
153993 --
153994 -- call analytical criteria
153995 --
153996
153997 --
153998 -- call description
153999 --
154000
154001 xla_ae_lines_pkg.SetLineDescription(
154002 p_ae_header_id => l_ae_header_id
154003 ,p_description => Description_2 (
154007 )
154004 p_application_id => p_application_id
154005 , p_ae_header_id => l_ae_header_id
154006 , p_source_1 => p_source_1
154008 );
154009
154010
154011 --
154012 -- call ADRs
154013 -- Bug 4922099
154014 --
154015 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
154016 (NVL(l_actual_upg_option, 'N') = 'O') OR
154017 (NVL(l_enc_upg_option, 'N') = 'O')
154018 )
154019 THEN
154020 NULL;
154021 --
154022 --
154023
154024 l_ccid := AcctDerRule_41(
154025 p_application_id => p_application_id
154026 , p_ae_header_id => l_ae_header_id
154027 , p_source_38 => p_source_38
154028 , x_transaction_coa_id => l_adr_transaction_coa_id
154029 , x_accounting_coa_id => l_adr_accounting_coa_id
154030 , x_value_type_code => l_adr_value_type_code
154031 , p_side => 'NA'
154032 );
154033
154034 xla_ae_lines_pkg.set_ccid(
154035 p_code_combination_id => l_ccid
154036 , p_value_type_code => l_adr_value_type_code
154037 , p_transaction_coa_id => l_adr_transaction_coa_id
154038 , p_accounting_coa_id => l_adr_accounting_coa_id
154039 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
154040 , p_adr_type_code => 'S'
154041 , p_component_type => l_component_type
154042 , p_component_code => l_component_code
154043 , p_component_type_code => l_component_type_code
154044 , p_component_appl_id => l_component_appl_id
154045 , p_amb_context_code => l_amb_context_code
154046 , p_side => 'NA'
154047 );
154048
154049
154050 --
154051 --
154052 END IF;
154053 --
154054 -- Bug 4922099
154055 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
154056 (NVL(l_enc_upg_option, 'N') = 'O')
154057 ) AND
154058 (l_bflow_method_code = 'PRIOR_ENTRY')
154059 )
154060 THEN
154061 IF
154062 --
154063 1 = 2
154064 --
154065 THEN
154066 xla_accounting_err_pkg.build_message
154067 (p_appli_s_name => 'XLA'
154068 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
154069 ,p_token_1 => 'LINE_NUMBER'
154070 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
154071 ,p_token_2 => 'LINE_TYPE_NAME'
154072 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
154073 l_component_type
154074 ,l_component_code
154075 ,l_component_type_code
154076 ,l_component_appl_id
154077 ,l_amb_context_code
154078 ,l_entity_code
154079 ,l_event_class_code
154080 )
154081 ,p_token_3 => 'OWNER'
154082 ,p_value_3 => xla_lookups_pkg.get_meaning(
154083 p_lookup_type => 'XLA_OWNER_TYPE'
154084 ,p_lookup_code => l_component_type_code
154085 )
154086 ,p_token_4 => 'PRODUCT_NAME'
154087 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
154088 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
154089 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
154090 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
154091 ,p_ae_header_id => NULL
154092 );
154093
154094 IF (C_LEVEL_ERROR>= g_log_level) THEN
154095 trace
154096 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
154097 ,p_level => C_LEVEL_ERROR
154098 ,p_module => l_log_module);
154099 END IF;
154100 END IF;
154101 END IF;
154102 --
154103 --
154104 ------------------------------------------------------------------------------------------------
154105 -- 4219869 Business Flow
154106 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
154107 -- Prior Entry. Currently, the following code is always generated.
154108 ------------------------------------------------------------------------------------------------
154109 XLA_AE_LINES_PKG.ValidateCurrentLine;
154110
154114 ------------------------------------------------------------------------------------
154111 ------------------------------------------------------------------------------------
154112 -- 4219869 Business Flow
154113 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
154115 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
154116
154117 ----------------------------------------------------------------------------------
154118 -- 4219869 Business Flow
154119 -- Update journal entry status -- Need to generate this within IF <condition>
154120 ----------------------------------------------------------------------------------
154121 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
154122 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
154123 ,p_balance_type_code => l_balance_type_code
154124 );
154125
154126 -------------------------------------------------------------------------------------------
154127 -- 4262811 - Generate the Accrual Reversal lines
154128 -------------------------------------------------------------------------------------------
154129 BEGIN
154130 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
154131 (g_array_event(p_event_id).array_value_num('header_index'));
154132 IF l_acc_rev_flag IS NULL THEN
154133 l_acc_rev_flag := 'N';
154134 END IF;
154135 EXCEPTION
154136 WHEN OTHERS THEN
154137 l_acc_rev_flag := 'N';
154138 END;
154139 --
154140 IF (l_acc_rev_flag = 'Y') THEN
154141
154142 -- 4645092 ------------------------------------------------------------------------------
154143 -- To allow MPA report to determine if it should generate report process
154144 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
154145 ------------------------------------------------------------------------------------------
154146
154147 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
154148 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
154149 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
154150 -- call ADRs
154151 -- Bug 4922099
154152 --
154153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
154154 (NVL(l_actual_upg_option, 'N') = 'O') OR
154155 (NVL(l_enc_upg_option, 'N') = 'O')
154156 )
154157 THEN
154158 NULL;
154159 --
154160 --
154161
154162 l_ccid := AcctDerRule_41(
154163 p_application_id => p_application_id
154164 , p_ae_header_id => l_ae_header_id
154165 , p_source_38 => p_source_38
154166 , x_transaction_coa_id => l_adr_transaction_coa_id
154167 , x_accounting_coa_id => l_adr_accounting_coa_id
154168 , x_value_type_code => l_adr_value_type_code
154169 , p_side => 'NA'
154170 );
154171
154172 xla_ae_lines_pkg.set_ccid(
154173 p_code_combination_id => l_ccid
154174 , p_value_type_code => l_adr_value_type_code
154175 , p_transaction_coa_id => l_adr_transaction_coa_id
154176 , p_accounting_coa_id => l_adr_accounting_coa_id
154177 , p_adr_code => 'AP_SELF_ASSESSED_TAX'
154178 , p_adr_type_code => 'S'
154179 , p_component_type => l_component_type
154180 , p_component_code => l_component_code
154181 , p_component_type_code => l_component_type_code
154182 , p_component_appl_id => l_component_appl_id
154183 , p_amb_context_code => l_amb_context_code
154184 , p_side => 'NA'
154185 );
154186
154187
154188 --
154189 --
154190 END IF;
154191
154192 --
154193 -- Update the line information that should be overwritten
154194 --
154195 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
154196 p_header_num => 1);
154197 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
154198
154199 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
154200
154201 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
154202 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
154203 END IF;
154204
154205 --
154206 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
154207 --
154208 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
154209 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
154210 ELSE
154211 ---------------------------------------------------------------------------------------------------
154212 -- 4262811a Switch Sign
154213 ---------------------------------------------------------------------------------------------------
154214 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
154215 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
154216 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
154217 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
154221 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
154218 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
154219 -- 5132302
154220 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
154222
154223 END IF;
154224
154225 -- 4955764
154226 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
154227 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
154228
154229
154230 XLA_AE_LINES_PKG.ValidateCurrentLine;
154231 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
154232
154233 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
154234 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
154235 ,p_balance_type_code => l_balance_type_code);
154236
154237 END IF;
154238
154239 -----------------------------------------------------------------------------------------
154240 -- 4262811 Multiperiod Accounting
154241 -----------------------------------------------------------------------------------------
154242 -- No MPA option is assigned.
154243
154244
154245 END IF;
154246 END IF;
154247 --
154248
154249 --
154250 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
154251 trace
154252 (p_msg => 'END of AcctLineType_251'
154253 ,p_level => C_LEVEL_PROCEDURE
154254 ,p_module => l_log_module);
154255 END IF;
154256 --
154257 EXCEPTION
154258 WHEN xla_exceptions_pkg.application_exception THEN
154259 RAISE;
154260 WHEN OTHERS THEN
154261 xla_exceptions_pkg.raise_message
154262 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_251');
154263 END AcctLineType_251;
154264 --
154265
154266 ---------------------------------------
154267 --
154268 -- PRIVATE FUNCTION
154269 -- AcctLineType_252
154270 --
154271 ---------------------------------------
154272 PROCEDURE AcctLineType_252 (
154273 p_application_id IN NUMBER
154274 ,p_event_id IN NUMBER
154275 ,p_calculate_acctd_flag IN VARCHAR2
154276 ,p_calculate_g_l_flag IN VARCHAR2
154277 ,p_actual_flag IN OUT VARCHAR2
154278 ,p_balance_type_code OUT VARCHAR2
154279 ,p_gain_or_loss_ref OUT VARCHAR2
154280
154281 --Invoice Distribution Type
154282 , p_source_21 IN VARCHAR2
154283 , p_source_21_meaning IN VARCHAR2
154284 --Accounting Reversal Indicator
154285 , p_source_41 IN VARCHAR2
154286 --Distribution Link Type
154287 , p_source_43 IN VARCHAR2
154288 --Allocation to Main Distribution Identifier
154289 , p_source_45 IN NUMBER
154290 --Invoice Identifier
154291 , p_source_46 IN NUMBER
154292 --Invoice Distribution Identifier
154293 , p_source_52 IN NUMBER
154294 --Payables Encumbrance Upgrade Credit Account
154295 , p_source_53 IN NUMBER
154296 --Payables Encumbrance Upgrade Credit Amount
154297 , p_source_54 IN NUMBER
154298 --Invoice Currency Code
154299 , p_source_55 IN VARCHAR2
154300 --Payables Encumbrance Upgrade Credit Base Amount
154301 , p_source_56 IN NUMBER
154302 --Payables Encumbrance Upgrade Debit Account
154303 , p_source_57 IN NUMBER
154304 --Payables Encumbrance Upgrade Debit Amount
154305 , p_source_58 IN NUMBER
154306 --Payables Encumbrance Upgrade Debit Base Amount
154307 , p_source_59 IN NUMBER
154308 --Payables Encumbrance Upgrade Option
154309 , p_source_60 IN VARCHAR2
154310 --Deferred Accounting End Date
154311 , p_source_65 IN DATE
154312 --Deferred Accounting Option
154313 , p_source_66 IN VARCHAR2
154314 --Deferred Accounting Start Date
154315 , p_source_67 IN DATE
154316 --Override Accounted Amount Indicator
154317 , p_source_68 IN VARCHAR2
154318 , p_source_68_meaning IN VARCHAR2
154319 --Third Party Type
154320 , p_source_71 IN VARCHAR2
154321 --Parent Reversal Identifier
154322 , p_source_72 IN NUMBER
154323 --Invoice Distribution Statistical Amount
154324 , p_source_73 IN NUMBER
154325 --Invoice Distribution Tax Line Identifier
154326 , p_source_74 IN NUMBER
154327 --Invoice Distribution Tax Distribution Identifier from Tax
154328 , p_source_75 IN NUMBER
154329 --Invoice Distribution Summary Tax Line Identifier
154330 , p_source_76 IN NUMBER
154331 --Payables Upgrade Credit Encumbrance Type Identifier
154332 , p_source_77 IN NUMBER
154333 --Payables Upgrade Debit Encumbrance Type Identifier
154334 , p_source_78 IN NUMBER
154335 --Business Flow Accounts Payable Application Identifier
154336 , p_source_79 IN NUMBER
154337 --Business Flow Invoice Distribution Type
154338 , p_source_80 IN VARCHAR2
154339 --Business Flow Invoice Entity Code
154340 , p_source_81 IN VARCHAR2
154341 --Business Flow Invoice Distribution Identifier
154342 , p_source_82 IN NUMBER
154343 --Business Flow Invoice Identifier
154344 , p_source_83 IN NUMBER
154345 --Accrue on Receipt Option
154346 , p_source_84 IN VARCHAR2
154347 , p_source_84_meaning IN VARCHAR2
154348 --Amount for Variance Amount
154349 , p_source_85 IN NUMBER
154350 --Purchasing Encumbrance Option
154354 , p_source_87 IN VARCHAR2
154351 , p_source_86 IN VARCHAR2
154352 , p_source_86_meaning IN VARCHAR2
154353 --Invoice Encumbered Option
154355 , p_source_87_meaning IN VARCHAR2
154356 --Variance Amount in Ledger Currency
154357 , p_source_88 IN NUMBER
154358 )
154359 IS
154360
154361 l_component_type VARCHAR2(80);
154362 l_component_code VARCHAR2(30);
154363 l_component_type_code VARCHAR2(1);
154364 l_component_appl_id INTEGER;
154365 l_amb_context_code VARCHAR2(30);
154366 l_entity_code VARCHAR2(30);
154367 l_event_class_code VARCHAR2(30);
154368 l_ae_header_id NUMBER;
154369 l_event_type_code VARCHAR2(30);
154370 l_line_definition_code VARCHAR2(30);
154371 l_line_definition_owner_code VARCHAR2(1);
154372 --
154373 -- adr variables
154374 l_segment VARCHAR2(30);
154375 l_ccid NUMBER;
154376 l_adr_transaction_coa_id NUMBER;
154377 l_adr_accounting_coa_id NUMBER;
154378 l_adr_flexfield_segment_code VARCHAR2(30);
154379 l_adr_flex_value_set_id NUMBER;
154380 l_adr_value_type_code VARCHAR2(30);
154381 l_adr_value_combination_id NUMBER;
154382 l_adr_value_segment_code VARCHAR2(30);
154383
154384 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
154385 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
154386 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
154387 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
154388
154389 -- 4262811 Variables ------------------------------------------------------------------------------------------
154390 l_entered_amt_idx NUMBER;
154391 l_accted_amt_idx NUMBER;
154392 l_acc_rev_flag VARCHAR2(1);
154393 l_accrual_line_num NUMBER;
154394 l_tmp_amt NUMBER;
154395 l_acc_rev_natural_side_code VARCHAR2(1);
154396
154397 l_num_entries NUMBER;
154398 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
154399 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
154400 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
154401 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
154402 l_recog_line_1 NUMBER;
154403 l_recog_line_2 NUMBER;
154404
154405 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
154406 l_bflow_applied_to_amt NUMBER; -- 5132302
154407 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
154408
154409 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
154410
154411 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
154412 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
154413
154414 ---------------------------------------------------------------------------------------------------------------
154415
154416
154417 --
154418 -- bulk performance
154419 --
154420 l_balance_type_code VARCHAR2(1);
154421 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
154422 l_log_module VARCHAR2(240);
154423
154424 --
154425 -- Upgrade strategy
154426 --
154427 l_actual_upg_option VARCHAR2(1);
154428 l_enc_upg_option VARCHAR2(1);
154429
154430 --
154431 BEGIN
154432 --
154433 IF g_log_enabled THEN
154434 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_252';
154435 END IF;
154436 --
154437 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
154438
154439 trace
154440 (p_msg => 'BEGIN of AcctLineType_252'
154441 ,p_level => C_LEVEL_PROCEDURE
154442 ,p_module => l_log_module);
154443
154444 END IF;
154445 --
154446 l_component_type := 'AMB_JLT';
154447 l_component_code := 'AP_TAX_AMOUNT_VARIANCE_CM_ENC';
154448 l_component_type_code := 'S';
154449 l_component_appl_id := 200;
154450 l_amb_context_code := 'DEFAULT';
154451 l_entity_code := 'AP_INVOICES';
154452 l_event_class_code := 'CREDIT MEMOS';
154453 l_event_type_code := 'CREDIT MEMOS_ALL';
154454 l_line_definition_owner_code := 'S';
154455 l_line_definition_code := 'ENC_REV_CM_ALL';
154456 --
154457 l_balance_type_code := 'E';
154458 l_segment := NULL;
154459 l_ccid := NULL;
154460 l_adr_transaction_coa_id := NULL;
154461 l_adr_accounting_coa_id := NULL;
154462 l_adr_flexfield_segment_code := NULL;
154463 l_adr_flex_value_set_id := NULL;
154464 l_adr_value_type_code := NULL;
154465 l_adr_value_combination_id := NULL;
154466 l_adr_value_segment_code := NULL;
154467
154468 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
154469 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
154470 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
154471 l_budgetary_control_flag := 'N';
154472
154473 l_bflow_applied_to_amt_idx := NULL; -- 5132302
154474 l_bflow_applied_to_amt := NULL; -- 5132302
154475 l_entered_amt_idx := NULL; -- 4262811
154476 l_accted_amt_idx := NULL; -- 4262811
154477 l_acc_rev_flag := NULL; -- 4262811
154478 l_accrual_line_num := NULL; -- 4262811
154482 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
154479 l_tmp_amt := NULL; -- 4262811
154480 --
154481
154483 l_balance_type_code <> 'B' THEN
154484 IF NVL(p_source_21,'
154485 ') = 'NONREC_TAX' AND
154486 p_source_85 IS NOT NULL AND
154487 NVL(p_source_84,'
154488 ') <> 'Y' AND
154489 NVL(p_source_86,'
154490 ') = 'Y' AND
154491 NVL(p_source_87,'
154492 ') = 'Y'
154493 THEN
154494
154495 --
154496 XLA_AE_LINES_PKG.SetNewLine;
154497
154498 p_balance_type_code := l_balance_type_code;
154499 -- set the flag so later we will know whether the gain loss line needs to be created
154500
154501 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
154502 p_actual_flag :='A';
154503 END IF;
154504
154505 --
154506 -- bulk performance
154507 --
154508 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
154509 p_header_num => 0); -- 4262811
154510 --
154511 -- set accounting line options
154512 --
154513 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
154514 p_natural_side_code => 'C'
154515 , p_gain_or_loss_flag => 'N'
154516 , p_gl_transfer_mode_code => 'S'
154517 , p_acct_entry_type_code => 'E'
154518 , p_switch_side_flag => 'Y'
154519 , p_merge_duplicate_code => 'A'
154520 );
154521 --
154522 l_acc_rev_natural_side_code := 'D'; -- 4262811
154523 --
154524 --
154525 -- set accounting line type info
154526 --
154527 xla_ae_lines_pkg.SetAcctLineType
154528 (p_component_type => l_component_type
154529 ,p_event_type_code => l_event_type_code
154530 ,p_line_definition_owner_code => l_line_definition_owner_code
154531 ,p_line_definition_code => l_line_definition_code
154532 ,p_accounting_line_code => l_component_code
154533 ,p_accounting_line_type_code => l_component_type_code
154534 ,p_accounting_line_appl_id => l_component_appl_id
154535 ,p_amb_context_code => l_amb_context_code
154536 ,p_entity_code => l_entity_code
154537 ,p_event_class_code => l_event_class_code);
154538 --
154539 -- set accounting class
154540 --
154541 xla_ae_lines_pkg.SetAcctClass(
154542 p_accounting_class_code => 'TAV'
154543 , p_ae_header_id => l_ae_header_id
154544 );
154545
154546 --
154547 -- set rounding class
154548 --
154549 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
154550 'TAV';
154551
154552 --
154553 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
154554 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
154555 --
154556 -- bulk performance
154557 --
154558 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
154559
154560 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
154561 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
154562
154563 -- 4955764
154564 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
154565 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
154566
154567 -- 4458381 Public Sector Enh
154568
154569 --
154570 -- set accounting attributes for the line type
154571 --
154572 l_entered_amt_idx := 23;
154573 l_accted_amt_idx := 25;
154574 l_bflow_applied_to_amt_idx := NULL; -- 5132302
154575 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
154576 l_rec_acct_attrs.array_char_value(1) := p_source_41;
154577 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
154578 l_rec_acct_attrs.array_num_value(2) :=
154579 xla_ae_sources_pkg.GetSystemSourceNum(
154580 p_source_code => 'XLA_EVENT_APPL_ID'
154581 , p_source_type_code => 'Y'
154582 , p_source_application_id => 602
154583 );
154584 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
154585 l_rec_acct_attrs.array_char_value(3) := p_source_43;
154586 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
154587 l_rec_acct_attrs.array_char_value(4) :=
154588 xla_ae_sources_pkg.GetSystemSourceChar(
154589 p_source_code => 'XLA_ENTITY_CODE'
154590 , p_source_type_code => 'Y'
154591 , p_source_application_id => 602
154592 );
154593 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
154594 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
154595 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
154596 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
154597 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
154598 l_rec_acct_attrs.array_num_value(7) := p_source_79;
154599 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
154600 l_rec_acct_attrs.array_char_value(8) := p_source_80;
154601 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
154602 l_rec_acct_attrs.array_char_value(9) := p_source_81;
154603 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
154604 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
154608 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
154605 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
154606 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
154607 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
154609 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
154610 l_rec_acct_attrs.array_char_value(13) := p_source_43;
154611 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
154612 l_rec_acct_attrs.array_num_value(14) := p_source_53;
154613 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
154614 l_rec_acct_attrs.array_num_value(15) := p_source_54;
154615 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
154616 l_rec_acct_attrs.array_char_value(16) := p_source_55;
154617 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
154618 l_rec_acct_attrs.array_num_value(17) := p_source_56;
154619 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
154620 l_rec_acct_attrs.array_num_value(18) := p_source_57;
154621 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
154622 l_rec_acct_attrs.array_num_value(19) := p_source_58;
154623 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
154624 l_rec_acct_attrs.array_char_value(20) := p_source_55;
154625 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
154626 l_rec_acct_attrs.array_num_value(21) := p_source_59;
154627 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
154628 l_rec_acct_attrs.array_char_value(22) := p_source_60;
154629 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
154630 l_rec_acct_attrs.array_num_value(23) := p_source_85;
154631 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
154632 l_rec_acct_attrs.array_char_value(24) := p_source_55;
154633 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
154634 l_rec_acct_attrs.array_num_value(25) := p_source_88;
154635 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
154636 l_rec_acct_attrs.array_date_value(26) := p_source_65;
154637 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
154638 l_rec_acct_attrs.array_char_value(27) := p_source_66;
154639 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
154640 l_rec_acct_attrs.array_date_value(28) := p_source_67;
154641 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
154642 l_rec_acct_attrs.array_char_value(29) := p_source_68;
154643 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
154644 l_rec_acct_attrs.array_char_value(30) := p_source_71;
154645 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
154646 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
154647 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
154648 l_rec_acct_attrs.array_char_value(32) := p_source_43;
154649 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
154650 l_rec_acct_attrs.array_num_value(33) := p_source_73;
154651 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
154652 l_rec_acct_attrs.array_num_value(34) := p_source_74;
154653 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
154654 l_rec_acct_attrs.array_num_value(35) := p_source_75;
154655 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
154656 l_rec_acct_attrs.array_num_value(36) := p_source_76;
154657 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
154658 l_rec_acct_attrs.array_num_value(37) := p_source_77;
154659 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
154660 l_rec_acct_attrs.array_num_value(38) := p_source_78;
154661
154662 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
154663 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
154664
154665 ---------------------------------------------------------------------------------------------------------------
154666 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
154667 ---------------------------------------------------------------------------------------------------------------
154668 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
154669
154670 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
154671 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
154672
154673 IF xla_accounting_cache_pkg.GetValueChar
154674 (p_source_code => 'LEDGER_CATEGORY_CODE'
154675 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
154676 AND l_bflow_method_code = 'PRIOR_ENTRY'
154677 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
154678 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
154679 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
154680 )
154681 THEN
154682 xla_ae_lines_pkg.BflowUpgEntry
154683 (p_business_method_code => l_bflow_method_code
154684 ,p_business_class_code => l_bflow_class_code
154685 ,p_balance_type => l_balance_type_code);
154686 ELSE
154687 NULL;
154688 XLA_AE_LINES_PKG.business_flow_validation(
154689 p_business_method_code => l_bflow_method_code
154693
154690 ,p_business_class_code => l_bflow_class_code
154691 ,p_inherit_description_flag => l_inherit_desc_flag);
154692 END IF;
154694 --
154695 -- call analytical criteria
154696 --
154697 -- Inherited Analytical Criteria for business flow method of Prior Entry.
154698 --
154699 -- call description
154700 --
154701 -- No description or it is inherited.
154702 --
154703 -- call ADRs
154704 -- Bug 4922099
154705 --
154706 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
154707 (NVL(l_actual_upg_option, 'N') = 'O') OR
154708 (NVL(l_enc_upg_option, 'N') = 'O')
154709 )
154710 THEN
154711 NULL;
154712 --
154713 --
154714
154715 --
154716 --
154717 END IF;
154718 --
154719 -- Bug 4922099
154720 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
154721 (NVL(l_enc_upg_option, 'N') = 'O')
154722 ) AND
154723 (l_bflow_method_code = 'PRIOR_ENTRY')
154724 )
154725 THEN
154726 IF
154727 --
154728 1 = 1
154729 --
154730 THEN
154731 xla_accounting_err_pkg.build_message
154732 (p_appli_s_name => 'XLA'
154733 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
154734 ,p_token_1 => 'LINE_NUMBER'
154735 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
154736 ,p_token_2 => 'LINE_TYPE_NAME'
154737 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
154738 l_component_type
154739 ,l_component_code
154740 ,l_component_type_code
154741 ,l_component_appl_id
154742 ,l_amb_context_code
154743 ,l_entity_code
154744 ,l_event_class_code
154745 )
154746 ,p_token_3 => 'OWNER'
154747 ,p_value_3 => xla_lookups_pkg.get_meaning(
154748 p_lookup_type => 'XLA_OWNER_TYPE'
154749 ,p_lookup_code => l_component_type_code
154750 )
154751 ,p_token_4 => 'PRODUCT_NAME'
154752 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
154753 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
154754 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
154755 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
154756 ,p_ae_header_id => NULL
154757 );
154758
154759 IF (C_LEVEL_ERROR>= g_log_level) THEN
154760 trace
154761 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
154762 ,p_level => C_LEVEL_ERROR
154763 ,p_module => l_log_module);
154764 END IF;
154765 END IF;
154766 END IF;
154767 --
154768 --
154769 ------------------------------------------------------------------------------------------------
154770 -- 4219869 Business Flow
154771 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
154772 -- Prior Entry. Currently, the following code is always generated.
154773 ------------------------------------------------------------------------------------------------
154774 -- No ValidateCurrentLine for business flow method of Prior Entry
154775
154776 ------------------------------------------------------------------------------------
154777 -- 4219869 Business Flow
154778 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
154779 ------------------------------------------------------------------------------------
154780 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
154781
154782 ----------------------------------------------------------------------------------
154783 -- 4219869 Business Flow
154784 -- Update journal entry status -- Need to generate this within IF <condition>
154785 ----------------------------------------------------------------------------------
154786 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
154787 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
154788 ,p_balance_type_code => l_balance_type_code
154789 );
154790
154791 -------------------------------------------------------------------------------------------
154792 -- 4262811 - Generate the Accrual Reversal lines
154796 (g_array_event(p_event_id).array_value_num('header_index'));
154793 -------------------------------------------------------------------------------------------
154794 BEGIN
154795 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
154797 IF l_acc_rev_flag IS NULL THEN
154798 l_acc_rev_flag := 'N';
154799 END IF;
154800 EXCEPTION
154801 WHEN OTHERS THEN
154802 l_acc_rev_flag := 'N';
154803 END;
154804 --
154805 IF (l_acc_rev_flag = 'Y') THEN
154806
154807 -- 4645092 ------------------------------------------------------------------------------
154808 -- To allow MPA report to determine if it should generate report process
154809 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
154810 ------------------------------------------------------------------------------------------
154811
154812 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
154813 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
154814 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
154815 -- call ADRs
154816 -- Bug 4922099
154817 --
154818 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
154819 (NVL(l_actual_upg_option, 'N') = 'O') OR
154820 (NVL(l_enc_upg_option, 'N') = 'O')
154821 )
154822 THEN
154823 NULL;
154824 --
154825 --
154826
154827 --
154828 --
154829 END IF;
154830
154831 --
154832 -- Update the line information that should be overwritten
154833 --
154834 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
154835 p_header_num => 1);
154836 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
154837
154838 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
154839
154840 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
154841 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
154842 END IF;
154843
154844 --
154845 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
154846 --
154847 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
154848 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
154849 ELSE
154850 ---------------------------------------------------------------------------------------------------
154851 -- 4262811a Switch Sign
154852 ---------------------------------------------------------------------------------------------------
154853 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
154854 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
154855 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
154856 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
154857 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
154858 -- 5132302
154859 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
154860 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
154861
154862 END IF;
154863
154864 -- 4955764
154865 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
154866 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
154867
154868
154869 XLA_AE_LINES_PKG.ValidateCurrentLine;
154870 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
154871
154872 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
154873 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
154874 ,p_balance_type_code => l_balance_type_code);
154875
154876 END IF;
154877
154878 -----------------------------------------------------------------------------------------
154879 -- 4262811 Multiperiod Accounting
154880 -----------------------------------------------------------------------------------------
154881 -- No MPA option is assigned.
154882
154883
154884 END IF;
154885 END IF;
154886 --
154887
154888 --
154889 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
154890 trace
154891 (p_msg => 'END of AcctLineType_252'
154892 ,p_level => C_LEVEL_PROCEDURE
154893 ,p_module => l_log_module);
154894 END IF;
154895 --
154896 EXCEPTION
154897 WHEN xla_exceptions_pkg.application_exception THEN
154898 RAISE;
154899 WHEN OTHERS THEN
154900 xla_exceptions_pkg.raise_message
154901 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_252');
154902 END AcctLineType_252;
154903 --
154904
154905 ---------------------------------------
154906 --
154907 -- PRIVATE FUNCTION
154908 -- AcctLineType_253
154909 --
154910 ---------------------------------------
154911 PROCEDURE AcctLineType_253 (
154912 p_application_id IN NUMBER
154913 ,p_event_id IN NUMBER
154917 ,p_balance_type_code OUT VARCHAR2
154914 ,p_calculate_acctd_flag IN VARCHAR2
154915 ,p_calculate_g_l_flag IN VARCHAR2
154916 ,p_actual_flag IN OUT VARCHAR2
154918 ,p_gain_or_loss_ref OUT VARCHAR2
154919
154920 --Invoice Distribution Type
154921 , p_source_21 IN VARCHAR2
154922 , p_source_21_meaning IN VARCHAR2
154923 --Accounting Reversal Indicator
154924 , p_source_41 IN VARCHAR2
154925 --Distribution Link Type
154926 , p_source_43 IN VARCHAR2
154927 --Allocation to Main Distribution Identifier
154928 , p_source_45 IN NUMBER
154929 --Invoice Identifier
154930 , p_source_46 IN NUMBER
154931 --Invoice Distribution Identifier
154932 , p_source_52 IN NUMBER
154933 --Payables Encumbrance Upgrade Credit Account
154934 , p_source_53 IN NUMBER
154935 --Payables Encumbrance Upgrade Credit Amount
154936 , p_source_54 IN NUMBER
154937 --Invoice Currency Code
154938 , p_source_55 IN VARCHAR2
154939 --Payables Encumbrance Upgrade Credit Base Amount
154940 , p_source_56 IN NUMBER
154941 --Payables Encumbrance Upgrade Debit Account
154942 , p_source_57 IN NUMBER
154943 --Payables Encumbrance Upgrade Debit Amount
154944 , p_source_58 IN NUMBER
154945 --Payables Encumbrance Upgrade Debit Base Amount
154946 , p_source_59 IN NUMBER
154947 --Payables Encumbrance Upgrade Option
154948 , p_source_60 IN VARCHAR2
154949 --Deferred Accounting End Date
154950 , p_source_65 IN DATE
154951 --Deferred Accounting Option
154952 , p_source_66 IN VARCHAR2
154953 --Deferred Accounting Start Date
154954 , p_source_67 IN DATE
154955 --Override Accounted Amount Indicator
154956 , p_source_68 IN VARCHAR2
154957 , p_source_68_meaning IN VARCHAR2
154958 --Third Party Type
154959 , p_source_71 IN VARCHAR2
154960 --Parent Reversal Identifier
154961 , p_source_72 IN NUMBER
154962 --Invoice Distribution Tax Line Identifier
154963 , p_source_74 IN NUMBER
154964 --Invoice Distribution Tax Distribution Identifier from Tax
154965 , p_source_75 IN NUMBER
154966 --Invoice Distribution Summary Tax Line Identifier
154967 , p_source_76 IN NUMBER
154968 --Payables Upgrade Credit Encumbrance Type Identifier
154969 , p_source_77 IN NUMBER
154970 --Payables Upgrade Debit Encumbrance Type Identifier
154971 , p_source_78 IN NUMBER
154972 --Business Flow Accounts Payable Application Identifier
154973 , p_source_79 IN NUMBER
154974 --Business Flow Invoice Distribution Type
154975 , p_source_80 IN VARCHAR2
154976 --Business Flow Invoice Entity Code
154977 , p_source_81 IN VARCHAR2
154978 --Business Flow Invoice Distribution Identifier
154979 , p_source_82 IN NUMBER
154980 --Business Flow Invoice Identifier
154981 , p_source_83 IN NUMBER
154982 --Accrue on Receipt Option
154983 , p_source_84 IN VARCHAR2
154984 , p_source_84_meaning IN VARCHAR2
154985 --Amount for Variance Amount
154986 , p_source_85 IN NUMBER
154987 --Purchasing Encumbrance Option
154988 , p_source_86 IN VARCHAR2
154989 , p_source_86_meaning IN VARCHAR2
154990 --Invoice Encumbered Option
154991 , p_source_87 IN VARCHAR2
154992 , p_source_87_meaning IN VARCHAR2
154993 --Variance Amount in Ledger Currency
154994 , p_source_88 IN NUMBER
154995 )
154996 IS
154997
154998 l_component_type VARCHAR2(80);
154999 l_component_code VARCHAR2(30);
155000 l_component_type_code VARCHAR2(1);
155001 l_component_appl_id INTEGER;
155002 l_amb_context_code VARCHAR2(30);
155003 l_entity_code VARCHAR2(30);
155004 l_event_class_code VARCHAR2(30);
155005 l_ae_header_id NUMBER;
155006 l_event_type_code VARCHAR2(30);
155007 l_line_definition_code VARCHAR2(30);
155008 l_line_definition_owner_code VARCHAR2(1);
155009 --
155010 -- adr variables
155011 l_segment VARCHAR2(30);
155012 l_ccid NUMBER;
155013 l_adr_transaction_coa_id NUMBER;
155014 l_adr_accounting_coa_id NUMBER;
155015 l_adr_flexfield_segment_code VARCHAR2(30);
155016 l_adr_flex_value_set_id NUMBER;
155017 l_adr_value_type_code VARCHAR2(30);
155018 l_adr_value_combination_id NUMBER;
155019 l_adr_value_segment_code VARCHAR2(30);
155020
155021 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
155022 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
155023 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
155024 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
155025
155026 -- 4262811 Variables ------------------------------------------------------------------------------------------
155027 l_entered_amt_idx NUMBER;
155028 l_accted_amt_idx NUMBER;
155029 l_acc_rev_flag VARCHAR2(1);
155030 l_accrual_line_num NUMBER;
155031 l_tmp_amt NUMBER;
155032 l_acc_rev_natural_side_code VARCHAR2(1);
155033
155034 l_num_entries NUMBER;
155035 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
155036 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
155037 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
155038 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
155039 l_recog_line_1 NUMBER;
155043 l_bflow_applied_to_amt NUMBER; -- 5132302
155040 l_recog_line_2 NUMBER;
155041
155042 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
155044 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
155045
155046 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
155047
155048 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
155049 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
155050
155051 ---------------------------------------------------------------------------------------------------------------
155052
155053
155054 --
155055 -- bulk performance
155056 --
155057 l_balance_type_code VARCHAR2(1);
155058 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
155059 l_log_module VARCHAR2(240);
155060
155061 --
155062 -- Upgrade strategy
155063 --
155064 l_actual_upg_option VARCHAR2(1);
155065 l_enc_upg_option VARCHAR2(1);
155066
155067 --
155068 BEGIN
155069 --
155070 IF g_log_enabled THEN
155071 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_253';
155072 END IF;
155073 --
155074 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
155075
155076 trace
155077 (p_msg => 'BEGIN of AcctLineType_253'
155078 ,p_level => C_LEVEL_PROCEDURE
155079 ,p_module => l_log_module);
155080
155081 END IF;
155082 --
155083 l_component_type := 'AMB_JLT';
155084 l_component_code := 'AP_TAX_AMOUNT_VARIANCE_DM_ENC';
155085 l_component_type_code := 'S';
155086 l_component_appl_id := 200;
155087 l_amb_context_code := 'DEFAULT';
155088 l_entity_code := 'AP_INVOICES';
155089 l_event_class_code := 'DEBIT MEMOS';
155090 l_event_type_code := 'DEBIT MEMOS_ALL';
155091 l_line_definition_owner_code := 'S';
155092 l_line_definition_code := 'ENC_REV_DM_ALL';
155093 --
155094 l_balance_type_code := 'E';
155095 l_segment := NULL;
155096 l_ccid := NULL;
155097 l_adr_transaction_coa_id := NULL;
155098 l_adr_accounting_coa_id := NULL;
155099 l_adr_flexfield_segment_code := NULL;
155100 l_adr_flex_value_set_id := NULL;
155101 l_adr_value_type_code := NULL;
155102 l_adr_value_combination_id := NULL;
155103 l_adr_value_segment_code := NULL;
155104
155105 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
155106 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
155107 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
155108 l_budgetary_control_flag := 'N';
155109
155110 l_bflow_applied_to_amt_idx := NULL; -- 5132302
155111 l_bflow_applied_to_amt := NULL; -- 5132302
155112 l_entered_amt_idx := NULL; -- 4262811
155113 l_accted_amt_idx := NULL; -- 4262811
155114 l_acc_rev_flag := NULL; -- 4262811
155115 l_accrual_line_num := NULL; -- 4262811
155116 l_tmp_amt := NULL; -- 4262811
155117 --
155118
155119 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
155120 l_balance_type_code <> 'B' THEN
155121 IF NVL(p_source_21,'
155122 ') = 'NONREC_TAX' AND
155123 p_source_85 IS NOT NULL AND
155124 NVL(p_source_84,'
155125 ') <> 'Y' AND
155126 NVL(p_source_86,'
155127 ') = 'Y' AND
155128 NVL(p_source_87,'
155129 ') = 'Y'
155130 THEN
155131
155132 --
155133 XLA_AE_LINES_PKG.SetNewLine;
155134
155135 p_balance_type_code := l_balance_type_code;
155136 -- set the flag so later we will know whether the gain loss line needs to be created
155137
155138 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
155139 p_actual_flag :='A';
155140 END IF;
155141
155142 --
155143 -- bulk performance
155144 --
155145 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
155146 p_header_num => 0); -- 4262811
155147 --
155148 -- set accounting line options
155149 --
155150 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
155151 p_natural_side_code => 'C'
155152 , p_gain_or_loss_flag => 'N'
155153 , p_gl_transfer_mode_code => 'S'
155154 , p_acct_entry_type_code => 'E'
155155 , p_switch_side_flag => 'Y'
155156 , p_merge_duplicate_code => 'A'
155157 );
155158 --
155159 l_acc_rev_natural_side_code := 'D'; -- 4262811
155160 --
155161 --
155162 -- set accounting line type info
155163 --
155164 xla_ae_lines_pkg.SetAcctLineType
155165 (p_component_type => l_component_type
155166 ,p_event_type_code => l_event_type_code
155167 ,p_line_definition_owner_code => l_line_definition_owner_code
155168 ,p_line_definition_code => l_line_definition_code
155169 ,p_accounting_line_code => l_component_code
155170 ,p_accounting_line_type_code => l_component_type_code
155171 ,p_accounting_line_appl_id => l_component_appl_id
155172 ,p_amb_context_code => l_amb_context_code
155173 ,p_entity_code => l_entity_code
155174 ,p_event_class_code => l_event_class_code);
155178 xla_ae_lines_pkg.SetAcctClass(
155175 --
155176 -- set accounting class
155177 --
155179 p_accounting_class_code => 'TAV'
155180 , p_ae_header_id => l_ae_header_id
155181 );
155182
155183 --
155184 -- set rounding class
155185 --
155186 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
155187 'TAV';
155188
155189 --
155190 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
155191 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
155192 --
155193 -- bulk performance
155194 --
155195 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
155196
155197 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
155198 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
155199
155200 -- 4955764
155201 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
155202 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
155203
155204 -- 4458381 Public Sector Enh
155205
155206 --
155207 -- set accounting attributes for the line type
155208 --
155209 l_entered_amt_idx := 23;
155210 l_accted_amt_idx := 25;
155211 l_bflow_applied_to_amt_idx := NULL; -- 5132302
155212 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
155213 l_rec_acct_attrs.array_char_value(1) := p_source_41;
155214 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
155215 l_rec_acct_attrs.array_num_value(2) :=
155216 xla_ae_sources_pkg.GetSystemSourceNum(
155217 p_source_code => 'XLA_EVENT_APPL_ID'
155218 , p_source_type_code => 'Y'
155219 , p_source_application_id => 602
155220 );
155221 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
155222 l_rec_acct_attrs.array_char_value(3) := p_source_43;
155223 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
155224 l_rec_acct_attrs.array_char_value(4) :=
155225 xla_ae_sources_pkg.GetSystemSourceChar(
155226 p_source_code => 'XLA_ENTITY_CODE'
155227 , p_source_type_code => 'Y'
155228 , p_source_application_id => 602
155229 );
155230 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
155231 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
155232 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
155233 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
155234 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
155235 l_rec_acct_attrs.array_num_value(7) := p_source_79;
155236 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
155237 l_rec_acct_attrs.array_char_value(8) := p_source_80;
155238 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
155239 l_rec_acct_attrs.array_char_value(9) := p_source_81;
155240 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
155241 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
155242 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
155243 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
155244 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
155245 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
155246 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
155247 l_rec_acct_attrs.array_char_value(13) := p_source_43;
155248 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
155249 l_rec_acct_attrs.array_num_value(14) := p_source_53;
155250 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
155251 l_rec_acct_attrs.array_num_value(15) := p_source_54;
155252 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
155253 l_rec_acct_attrs.array_char_value(16) := p_source_55;
155254 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
155255 l_rec_acct_attrs.array_num_value(17) := p_source_56;
155256 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
155257 l_rec_acct_attrs.array_num_value(18) := p_source_57;
155258 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
155259 l_rec_acct_attrs.array_num_value(19) := p_source_58;
155260 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
155261 l_rec_acct_attrs.array_char_value(20) := p_source_55;
155262 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
155263 l_rec_acct_attrs.array_num_value(21) := p_source_59;
155264 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
155265 l_rec_acct_attrs.array_char_value(22) := p_source_60;
155266 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
155267 l_rec_acct_attrs.array_num_value(23) := p_source_85;
155268 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
155269 l_rec_acct_attrs.array_char_value(24) := p_source_55;
155270 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
155271 l_rec_acct_attrs.array_num_value(25) := p_source_88;
155272 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
155273 l_rec_acct_attrs.array_date_value(26) := p_source_65;
155274 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
155275 l_rec_acct_attrs.array_char_value(27) := p_source_66;
155279 l_rec_acct_attrs.array_char_value(29) := p_source_68;
155276 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
155277 l_rec_acct_attrs.array_date_value(28) := p_source_67;
155278 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
155280 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
155281 l_rec_acct_attrs.array_char_value(30) := p_source_71;
155282 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
155283 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
155284 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
155285 l_rec_acct_attrs.array_char_value(32) := p_source_43;
155286 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
155287 l_rec_acct_attrs.array_num_value(33) := p_source_74;
155288 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
155289 l_rec_acct_attrs.array_num_value(34) := p_source_75;
155290 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
155291 l_rec_acct_attrs.array_num_value(35) := p_source_76;
155292 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
155293 l_rec_acct_attrs.array_num_value(36) := p_source_77;
155294 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
155295 l_rec_acct_attrs.array_num_value(37) := p_source_78;
155296
155297 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
155298 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
155299
155300 ---------------------------------------------------------------------------------------------------------------
155301 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
155302 ---------------------------------------------------------------------------------------------------------------
155303 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
155304
155305 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
155306 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
155307
155308 IF xla_accounting_cache_pkg.GetValueChar
155309 (p_source_code => 'LEDGER_CATEGORY_CODE'
155310 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
155311 AND l_bflow_method_code = 'PRIOR_ENTRY'
155312 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
155313 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
155314 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
155315 )
155316 THEN
155317 xla_ae_lines_pkg.BflowUpgEntry
155318 (p_business_method_code => l_bflow_method_code
155319 ,p_business_class_code => l_bflow_class_code
155320 ,p_balance_type => l_balance_type_code);
155321 ELSE
155322 NULL;
155323 XLA_AE_LINES_PKG.business_flow_validation(
155324 p_business_method_code => l_bflow_method_code
155325 ,p_business_class_code => l_bflow_class_code
155326 ,p_inherit_description_flag => l_inherit_desc_flag);
155327 END IF;
155328
155329 --
155330 -- call analytical criteria
155331 --
155332 -- Inherited Analytical Criteria for business flow method of Prior Entry.
155333 --
155334 -- call description
155335 --
155336 -- No description or it is inherited.
155337 --
155338 -- call ADRs
155339 -- Bug 4922099
155340 --
155341 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
155342 (NVL(l_actual_upg_option, 'N') = 'O') OR
155343 (NVL(l_enc_upg_option, 'N') = 'O')
155344 )
155345 THEN
155346 NULL;
155347 --
155348 --
155349
155350 --
155351 --
155352 END IF;
155353 --
155354 -- Bug 4922099
155355 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
155356 (NVL(l_enc_upg_option, 'N') = 'O')
155357 ) AND
155358 (l_bflow_method_code = 'PRIOR_ENTRY')
155359 )
155360 THEN
155361 IF
155362 --
155363 1 = 1
155364 --
155365 THEN
155366 xla_accounting_err_pkg.build_message
155367 (p_appli_s_name => 'XLA'
155368 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
155369 ,p_token_1 => 'LINE_NUMBER'
155370 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
155371 ,p_token_2 => 'LINE_TYPE_NAME'
155372 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
155373 l_component_type
155374 ,l_component_code
155375 ,l_component_type_code
155376 ,l_component_appl_id
155377 ,l_amb_context_code
155378 ,l_entity_code
155379 ,l_event_class_code
155383 p_lookup_type => 'XLA_OWNER_TYPE'
155380 )
155381 ,p_token_3 => 'OWNER'
155382 ,p_value_3 => xla_lookups_pkg.get_meaning(
155384 ,p_lookup_code => l_component_type_code
155385 )
155386 ,p_token_4 => 'PRODUCT_NAME'
155387 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
155388 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
155389 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
155390 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
155391 ,p_ae_header_id => NULL
155392 );
155393
155394 IF (C_LEVEL_ERROR>= g_log_level) THEN
155395 trace
155396 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
155397 ,p_level => C_LEVEL_ERROR
155398 ,p_module => l_log_module);
155399 END IF;
155400 END IF;
155401 END IF;
155402 --
155403 --
155404 ------------------------------------------------------------------------------------------------
155405 -- 4219869 Business Flow
155406 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
155407 -- Prior Entry. Currently, the following code is always generated.
155408 ------------------------------------------------------------------------------------------------
155409 -- No ValidateCurrentLine for business flow method of Prior Entry
155410
155411 ------------------------------------------------------------------------------------
155412 -- 4219869 Business Flow
155413 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
155414 ------------------------------------------------------------------------------------
155415 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
155416
155417 ----------------------------------------------------------------------------------
155418 -- 4219869 Business Flow
155419 -- Update journal entry status -- Need to generate this within IF <condition>
155420 ----------------------------------------------------------------------------------
155421 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
155422 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
155423 ,p_balance_type_code => l_balance_type_code
155424 );
155425
155426 -------------------------------------------------------------------------------------------
155427 -- 4262811 - Generate the Accrual Reversal lines
155428 -------------------------------------------------------------------------------------------
155429 BEGIN
155430 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
155431 (g_array_event(p_event_id).array_value_num('header_index'));
155432 IF l_acc_rev_flag IS NULL THEN
155433 l_acc_rev_flag := 'N';
155434 END IF;
155435 EXCEPTION
155436 WHEN OTHERS THEN
155437 l_acc_rev_flag := 'N';
155438 END;
155439 --
155440 IF (l_acc_rev_flag = 'Y') THEN
155441
155442 -- 4645092 ------------------------------------------------------------------------------
155443 -- To allow MPA report to determine if it should generate report process
155444 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
155445 ------------------------------------------------------------------------------------------
155446
155447 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
155448 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
155449 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
155450 -- call ADRs
155451 -- Bug 4922099
155452 --
155453 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
155454 (NVL(l_actual_upg_option, 'N') = 'O') OR
155455 (NVL(l_enc_upg_option, 'N') = 'O')
155456 )
155457 THEN
155458 NULL;
155459 --
155460 --
155461
155462 --
155463 --
155464 END IF;
155465
155466 --
155467 -- Update the line information that should be overwritten
155468 --
155469 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
155470 p_header_num => 1);
155471 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
155472
155473 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
155474
155475 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
155476 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
155477 END IF;
155478
155479 --
155480 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
155481 --
155482 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
155486 -- 4262811a Switch Sign
155483 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
155484 ELSE
155485 ---------------------------------------------------------------------------------------------------
155487 ---------------------------------------------------------------------------------------------------
155488 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
155489 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
155490 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
155491 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
155492 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
155493 -- 5132302
155494 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
155495 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
155496
155497 END IF;
155498
155499 -- 4955764
155500 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
155501 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
155502
155503
155504 XLA_AE_LINES_PKG.ValidateCurrentLine;
155505 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
155506
155507 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
155508 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
155509 ,p_balance_type_code => l_balance_type_code);
155510
155511 END IF;
155512
155513 -----------------------------------------------------------------------------------------
155514 -- 4262811 Multiperiod Accounting
155515 -----------------------------------------------------------------------------------------
155516 -- No MPA option is assigned.
155517
155518
155519 END IF;
155520 END IF;
155521 --
155522
155523 --
155524 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
155525 trace
155526 (p_msg => 'END of AcctLineType_253'
155527 ,p_level => C_LEVEL_PROCEDURE
155528 ,p_module => l_log_module);
155529 END IF;
155530 --
155531 EXCEPTION
155532 WHEN xla_exceptions_pkg.application_exception THEN
155533 RAISE;
155534 WHEN OTHERS THEN
155535 xla_exceptions_pkg.raise_message
155536 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_253');
155537 END AcctLineType_253;
155538 --
155539
155540 ---------------------------------------
155541 --
155542 -- PRIVATE FUNCTION
155543 -- AcctLineType_254
155544 --
155545 ---------------------------------------
155546 PROCEDURE AcctLineType_254 (
155547 p_application_id IN NUMBER
155548 ,p_event_id IN NUMBER
155549 ,p_calculate_acctd_flag IN VARCHAR2
155550 ,p_calculate_g_l_flag IN VARCHAR2
155551 ,p_actual_flag IN OUT VARCHAR2
155552 ,p_balance_type_code OUT VARCHAR2
155553 ,p_gain_or_loss_ref OUT VARCHAR2
155554
155555 --Invoice Distribution Type
155556 , p_source_21 IN VARCHAR2
155557 , p_source_21_meaning IN VARCHAR2
155558 --Accounting Reversal Indicator
155559 , p_source_41 IN VARCHAR2
155560 --Distribution Link Type
155561 , p_source_43 IN VARCHAR2
155562 --Allocation to Main Distribution Identifier
155563 , p_source_45 IN NUMBER
155564 --Invoice Identifier
155565 , p_source_46 IN NUMBER
155566 --Invoice Distribution Identifier
155567 , p_source_52 IN NUMBER
155568 --Payables Encumbrance Upgrade Credit Account
155569 , p_source_53 IN NUMBER
155570 --Payables Encumbrance Upgrade Credit Amount
155571 , p_source_54 IN NUMBER
155572 --Invoice Currency Code
155573 , p_source_55 IN VARCHAR2
155574 --Payables Encumbrance Upgrade Credit Base Amount
155575 , p_source_56 IN NUMBER
155576 --Payables Encumbrance Upgrade Debit Account
155577 , p_source_57 IN NUMBER
155578 --Payables Encumbrance Upgrade Debit Amount
155579 , p_source_58 IN NUMBER
155580 --Payables Encumbrance Upgrade Debit Base Amount
155581 , p_source_59 IN NUMBER
155582 --Payables Encumbrance Upgrade Option
155583 , p_source_60 IN VARCHAR2
155584 --Invoice Distribution Amount
155585 , p_source_61 IN NUMBER
155586 --Deferred Accounting End Date
155587 , p_source_65 IN DATE
155588 --Deferred Accounting Option
155589 , p_source_66 IN VARCHAR2
155590 --Deferred Accounting Start Date
155591 , p_source_67 IN DATE
155592 --Override Accounted Amount Indicator
155593 , p_source_68 IN VARCHAR2
155594 , p_source_68_meaning IN VARCHAR2
155595 --Third Party Type
155596 , p_source_71 IN VARCHAR2
155597 --Parent Reversal Identifier
155598 , p_source_72 IN NUMBER
155599 --Invoice Distribution Statistical Amount
155600 , p_source_73 IN NUMBER
155601 --Invoice Distribution Tax Line Identifier
155602 , p_source_74 IN NUMBER
155603 --Invoice Distribution Tax Distribution Identifier from Tax
155604 , p_source_75 IN NUMBER
155605 --Invoice Distribution Summary Tax Line Identifier
155606 , p_source_76 IN NUMBER
155607 --Payables Upgrade Credit Encumbrance Type Identifier
155608 , p_source_77 IN NUMBER
155612 , p_source_79 IN NUMBER
155609 --Payables Upgrade Debit Encumbrance Type Identifier
155610 , p_source_78 IN NUMBER
155611 --Business Flow Accounts Payable Application Identifier
155613 --Business Flow Invoice Distribution Type
155614 , p_source_80 IN VARCHAR2
155615 --Business Flow Invoice Entity Code
155616 , p_source_81 IN VARCHAR2
155617 --Business Flow Invoice Distribution Identifier
155618 , p_source_82 IN NUMBER
155619 --Business Flow Invoice Identifier
155620 , p_source_83 IN NUMBER
155621 --Accrue on Receipt Option
155622 , p_source_84 IN VARCHAR2
155623 , p_source_84_meaning IN VARCHAR2
155624 --Amount for Variance Amount
155625 , p_source_85 IN NUMBER
155626 --Purchasing Encumbrance Option
155627 , p_source_86 IN VARCHAR2
155628 , p_source_86_meaning IN VARCHAR2
155629 --Invoice Encumbered Option
155630 , p_source_87 IN VARCHAR2
155631 , p_source_87_meaning IN VARCHAR2
155632 --Variance Amount in Ledger Currency
155633 , p_source_88 IN NUMBER
155634 --Invoice Distribution Encumbrance Amount
155635 , p_source_143 IN NUMBER
155636 )
155637 IS
155638
155639 l_component_type VARCHAR2(80);
155640 l_component_code VARCHAR2(30);
155641 l_component_type_code VARCHAR2(1);
155642 l_component_appl_id INTEGER;
155643 l_amb_context_code VARCHAR2(30);
155644 l_entity_code VARCHAR2(30);
155645 l_event_class_code VARCHAR2(30);
155646 l_ae_header_id NUMBER;
155647 l_event_type_code VARCHAR2(30);
155648 l_line_definition_code VARCHAR2(30);
155649 l_line_definition_owner_code VARCHAR2(1);
155650 --
155651 -- adr variables
155652 l_segment VARCHAR2(30);
155653 l_ccid NUMBER;
155654 l_adr_transaction_coa_id NUMBER;
155655 l_adr_accounting_coa_id NUMBER;
155656 l_adr_flexfield_segment_code VARCHAR2(30);
155657 l_adr_flex_value_set_id NUMBER;
155658 l_adr_value_type_code VARCHAR2(30);
155659 l_adr_value_combination_id NUMBER;
155660 l_adr_value_segment_code VARCHAR2(30);
155661
155662 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
155663 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
155664 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
155665 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
155666
155667 -- 4262811 Variables ------------------------------------------------------------------------------------------
155668 l_entered_amt_idx NUMBER;
155669 l_accted_amt_idx NUMBER;
155670 l_acc_rev_flag VARCHAR2(1);
155671 l_accrual_line_num NUMBER;
155672 l_tmp_amt NUMBER;
155673 l_acc_rev_natural_side_code VARCHAR2(1);
155674
155675 l_num_entries NUMBER;
155676 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
155677 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
155678 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
155679 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
155680 l_recog_line_1 NUMBER;
155681 l_recog_line_2 NUMBER;
155682
155683 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
155684 l_bflow_applied_to_amt NUMBER; -- 5132302
155685 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
155686
155687 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
155688
155689 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
155690 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
155691
155692 ---------------------------------------------------------------------------------------------------------------
155693
155694
155695 --
155696 -- bulk performance
155697 --
155698 l_balance_type_code VARCHAR2(1);
155699 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
155700 l_log_module VARCHAR2(240);
155701
155702 --
155703 -- Upgrade strategy
155704 --
155705 l_actual_upg_option VARCHAR2(1);
155706 l_enc_upg_option VARCHAR2(1);
155707
155708 --
155709 BEGIN
155710 --
155711 IF g_log_enabled THEN
155712 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_254';
155713 END IF;
155714 --
155715 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
155716
155717 trace
155718 (p_msg => 'BEGIN of AcctLineType_254'
155719 ,p_level => C_LEVEL_PROCEDURE
155720 ,p_module => l_log_module);
155721
155722 END IF;
155723 --
155724 l_component_type := 'AMB_JLT';
155725 l_component_code := 'AP_TAX_AMOUNT_VARIANCE_INV_ENC';
155726 l_component_type_code := 'S';
155727 l_component_appl_id := 200;
155728 l_amb_context_code := 'DEFAULT';
155729 l_entity_code := 'AP_INVOICES';
155730 l_event_class_code := 'INVOICES';
155731 l_event_type_code := 'INVOICES_ALL';
155732 l_line_definition_owner_code := 'S';
155733 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
155734 --
155735 l_balance_type_code := 'E';
155736 l_segment := NULL;
155737 l_ccid := NULL;
155738 l_adr_transaction_coa_id := NULL;
155742 l_adr_value_type_code := NULL;
155739 l_adr_accounting_coa_id := NULL;
155740 l_adr_flexfield_segment_code := NULL;
155741 l_adr_flex_value_set_id := NULL;
155743 l_adr_value_combination_id := NULL;
155744 l_adr_value_segment_code := NULL;
155745
155746 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
155747 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
155748 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
155749 l_budgetary_control_flag := 'N';
155750
155751 l_bflow_applied_to_amt_idx := NULL; -- 5132302
155752 l_bflow_applied_to_amt := NULL; -- 5132302
155753 l_entered_amt_idx := NULL; -- 4262811
155754 l_accted_amt_idx := NULL; -- 4262811
155755 l_acc_rev_flag := NULL; -- 4262811
155756 l_accrual_line_num := NULL; -- 4262811
155757 l_tmp_amt := NULL; -- 4262811
155758 --
155759
155760 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
155761 l_balance_type_code <> 'B' THEN
155762 IF NVL(p_source_21,'
155763 ') = 'NONREC_TAX' AND
155764 p_source_85 IS NOT NULL AND
155765 NVL(p_source_84,'
155766 ') <> 'Y' AND
155767 NVL(p_source_86,'
155768 ') = 'Y' AND
155769 NVL(p_source_87,'
155770 ') = 'Y'
155771 THEN
155772
155773 --
155774 XLA_AE_LINES_PKG.SetNewLine;
155775
155776 p_balance_type_code := l_balance_type_code;
155777 -- set the flag so later we will know whether the gain loss line needs to be created
155778
155779 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
155780 p_actual_flag :='A';
155781 END IF;
155782
155783 --
155784 -- bulk performance
155785 --
155786 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
155787 p_header_num => 0); -- 4262811
155788 --
155789 -- set accounting line options
155790 --
155791 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
155792 p_natural_side_code => 'C'
155793 , p_gain_or_loss_flag => 'N'
155794 , p_gl_transfer_mode_code => 'S'
155795 , p_acct_entry_type_code => 'E'
155796 , p_switch_side_flag => 'Y'
155797 , p_merge_duplicate_code => 'A'
155798 );
155799 --
155800 l_acc_rev_natural_side_code := 'D'; -- 4262811
155801 --
155802 --
155803 -- set accounting line type info
155804 --
155805 xla_ae_lines_pkg.SetAcctLineType
155806 (p_component_type => l_component_type
155807 ,p_event_type_code => l_event_type_code
155808 ,p_line_definition_owner_code => l_line_definition_owner_code
155809 ,p_line_definition_code => l_line_definition_code
155810 ,p_accounting_line_code => l_component_code
155811 ,p_accounting_line_type_code => l_component_type_code
155812 ,p_accounting_line_appl_id => l_component_appl_id
155813 ,p_amb_context_code => l_amb_context_code
155814 ,p_entity_code => l_entity_code
155815 ,p_event_class_code => l_event_class_code);
155816 --
155817 -- set accounting class
155818 --
155819 xla_ae_lines_pkg.SetAcctClass(
155820 p_accounting_class_code => 'TAV'
155821 , p_ae_header_id => l_ae_header_id
155822 );
155823
155824 --
155825 -- set rounding class
155826 --
155827 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
155828 'TAV';
155829
155830 --
155831 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
155832 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
155833 --
155834 -- bulk performance
155835 --
155836 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
155837
155838 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
155839 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
155840
155841 -- 4955764
155842 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
155843 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
155844
155845 -- 4458381 Public Sector Enh
155846
155847 --
155848 -- set accounting attributes for the line type
155849 --
155850 l_entered_amt_idx := 24;
155851 l_accted_amt_idx := 26;
155852 l_bflow_applied_to_amt_idx := 7; -- 5132302
155853 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
155854 l_rec_acct_attrs.array_char_value(1) := p_source_41;
155855 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
155856 l_rec_acct_attrs.array_num_value(2) :=
155857 xla_ae_sources_pkg.GetSystemSourceNum(
155858 p_source_code => 'XLA_EVENT_APPL_ID'
155859 , p_source_type_code => 'Y'
155860 , p_source_application_id => 602
155861 );
155862 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
155863 l_rec_acct_attrs.array_char_value(3) := p_source_43;
155864 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
155868 , p_source_type_code => 'Y'
155865 l_rec_acct_attrs.array_char_value(4) :=
155866 xla_ae_sources_pkg.GetSystemSourceChar(
155867 p_source_code => 'XLA_ENTITY_CODE'
155869 , p_source_application_id => 602
155870 );
155871 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
155872 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
155873 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
155874 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
155875 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
155876 l_rec_acct_attrs.array_num_value(7) := p_source_61;
155877 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
155878 l_rec_acct_attrs.array_num_value(8) := p_source_79;
155879 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
155880 l_rec_acct_attrs.array_char_value(9) := p_source_80;
155881 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
155882 l_rec_acct_attrs.array_char_value(10) := p_source_81;
155883 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
155884 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
155885 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
155886 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
155887 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
155888 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
155889 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
155890 l_rec_acct_attrs.array_char_value(14) := p_source_43;
155891 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
155892 l_rec_acct_attrs.array_num_value(15) := p_source_53;
155893 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
155894 l_rec_acct_attrs.array_num_value(16) := p_source_54;
155895 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
155896 l_rec_acct_attrs.array_char_value(17) := p_source_55;
155897 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
155898 l_rec_acct_attrs.array_num_value(18) := p_source_56;
155899 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
155900 l_rec_acct_attrs.array_num_value(19) := p_source_57;
155901 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
155902 l_rec_acct_attrs.array_num_value(20) := p_source_58;
155903 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
155904 l_rec_acct_attrs.array_char_value(21) := p_source_55;
155905 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
155906 l_rec_acct_attrs.array_num_value(22) := p_source_59;
155907 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
155908 l_rec_acct_attrs.array_char_value(23) := p_source_60;
155909 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
155910 l_rec_acct_attrs.array_num_value(24) := p_source_143;
155911 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
155912 l_rec_acct_attrs.array_char_value(25) := p_source_55;
155913 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
155914 l_rec_acct_attrs.array_num_value(26) := p_source_88;
155915 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
155916 l_rec_acct_attrs.array_date_value(27) := p_source_65;
155917 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
155918 l_rec_acct_attrs.array_char_value(28) := p_source_66;
155919 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
155920 l_rec_acct_attrs.array_date_value(29) := p_source_67;
155921 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
155922 l_rec_acct_attrs.array_char_value(30) := p_source_68;
155923 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
155924 l_rec_acct_attrs.array_char_value(31) := p_source_71;
155925 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
155926 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
155927 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
155928 l_rec_acct_attrs.array_char_value(33) := p_source_43;
155929 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
155930 l_rec_acct_attrs.array_num_value(34) := p_source_73;
155931 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
155932 l_rec_acct_attrs.array_num_value(35) := p_source_74;
155933 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
155934 l_rec_acct_attrs.array_num_value(36) := p_source_75;
155935 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
155936 l_rec_acct_attrs.array_num_value(37) := p_source_76;
155937 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
155938 l_rec_acct_attrs.array_num_value(38) := p_source_77;
155939 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
155940 l_rec_acct_attrs.array_num_value(39) := p_source_78;
155941
155942 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
155943 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
155944
155945 ---------------------------------------------------------------------------------------------------------------
155946 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
155947 ---------------------------------------------------------------------------------------------------------------
155951 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
155948 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
155949
155950 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
155952
155953 IF xla_accounting_cache_pkg.GetValueChar
155954 (p_source_code => 'LEDGER_CATEGORY_CODE'
155955 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
155956 AND l_bflow_method_code = 'PRIOR_ENTRY'
155957 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
155958 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
155959 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
155960 )
155961 THEN
155962 xla_ae_lines_pkg.BflowUpgEntry
155963 (p_business_method_code => l_bflow_method_code
155964 ,p_business_class_code => l_bflow_class_code
155965 ,p_balance_type => l_balance_type_code);
155966 ELSE
155967 NULL;
155968 XLA_AE_LINES_PKG.business_flow_validation(
155969 p_business_method_code => l_bflow_method_code
155970 ,p_business_class_code => l_bflow_class_code
155971 ,p_inherit_description_flag => l_inherit_desc_flag);
155972 END IF;
155973
155974 --
155975 -- call analytical criteria
155976 --
155977 -- Inherited Analytical Criteria for business flow method of Prior Entry.
155978 --
155979 -- call description
155980 --
155981 -- No description or it is inherited.
155982 --
155983 -- call ADRs
155984 -- Bug 4922099
155985 --
155986 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
155987 (NVL(l_actual_upg_option, 'N') = 'O') OR
155988 (NVL(l_enc_upg_option, 'N') = 'O')
155989 )
155990 THEN
155991 NULL;
155992 --
155993 --
155994
155995 --
155996 --
155997 END IF;
155998 --
155999 -- Bug 4922099
156000 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
156001 (NVL(l_enc_upg_option, 'N') = 'O')
156002 ) AND
156003 (l_bflow_method_code = 'PRIOR_ENTRY')
156004 )
156005 THEN
156006 IF
156007 --
156008 1 = 1
156009 --
156010 THEN
156011 xla_accounting_err_pkg.build_message
156012 (p_appli_s_name => 'XLA'
156013 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
156014 ,p_token_1 => 'LINE_NUMBER'
156015 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
156016 ,p_token_2 => 'LINE_TYPE_NAME'
156017 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
156018 l_component_type
156019 ,l_component_code
156020 ,l_component_type_code
156021 ,l_component_appl_id
156022 ,l_amb_context_code
156023 ,l_entity_code
156024 ,l_event_class_code
156025 )
156026 ,p_token_3 => 'OWNER'
156027 ,p_value_3 => xla_lookups_pkg.get_meaning(
156028 p_lookup_type => 'XLA_OWNER_TYPE'
156029 ,p_lookup_code => l_component_type_code
156030 )
156031 ,p_token_4 => 'PRODUCT_NAME'
156032 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
156033 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
156034 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
156035 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
156036 ,p_ae_header_id => NULL
156037 );
156038
156039 IF (C_LEVEL_ERROR>= g_log_level) THEN
156040 trace
156041 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
156042 ,p_level => C_LEVEL_ERROR
156043 ,p_module => l_log_module);
156044 END IF;
156045 END IF;
156046 END IF;
156047 --
156048 --
156049 ------------------------------------------------------------------------------------------------
156050 -- 4219869 Business Flow
156051 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
156055
156052 -- Prior Entry. Currently, the following code is always generated.
156053 ------------------------------------------------------------------------------------------------
156054 -- No ValidateCurrentLine for business flow method of Prior Entry
156056 ------------------------------------------------------------------------------------
156057 -- 4219869 Business Flow
156058 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
156059 ------------------------------------------------------------------------------------
156060 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
156061
156062 ----------------------------------------------------------------------------------
156063 -- 4219869 Business Flow
156064 -- Update journal entry status -- Need to generate this within IF <condition>
156065 ----------------------------------------------------------------------------------
156066 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
156067 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
156068 ,p_balance_type_code => l_balance_type_code
156069 );
156070
156071 -------------------------------------------------------------------------------------------
156072 -- 4262811 - Generate the Accrual Reversal lines
156073 -------------------------------------------------------------------------------------------
156074 BEGIN
156075 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
156076 (g_array_event(p_event_id).array_value_num('header_index'));
156077 IF l_acc_rev_flag IS NULL THEN
156078 l_acc_rev_flag := 'N';
156079 END IF;
156080 EXCEPTION
156081 WHEN OTHERS THEN
156082 l_acc_rev_flag := 'N';
156083 END;
156084 --
156085 IF (l_acc_rev_flag = 'Y') THEN
156086
156087 -- 4645092 ------------------------------------------------------------------------------
156088 -- To allow MPA report to determine if it should generate report process
156089 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
156090 ------------------------------------------------------------------------------------------
156091
156092 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
156093 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
156094 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
156095 -- call ADRs
156096 -- Bug 4922099
156097 --
156098 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
156099 (NVL(l_actual_upg_option, 'N') = 'O') OR
156100 (NVL(l_enc_upg_option, 'N') = 'O')
156101 )
156102 THEN
156103 NULL;
156104 --
156105 --
156106
156107 --
156108 --
156109 END IF;
156110
156111 --
156112 -- Update the line information that should be overwritten
156113 --
156114 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
156115 p_header_num => 1);
156116 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
156117
156118 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
156119
156120 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
156121 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
156122 END IF;
156123
156124 --
156125 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
156126 --
156127 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
156128 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
156129 ELSE
156130 ---------------------------------------------------------------------------------------------------
156131 -- 4262811a Switch Sign
156132 ---------------------------------------------------------------------------------------------------
156133 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
156134 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
156135 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
156136 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
156137 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
156138 -- 5132302
156139 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
156140 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
156141
156142 END IF;
156143
156144 -- 4955764
156145 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
156146 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
156147
156148
156149 XLA_AE_LINES_PKG.ValidateCurrentLine;
156150 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
156151
156152 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
156153 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
156154 ,p_balance_type_code => l_balance_type_code);
156155
156156 END IF;
156157
156161 -- No MPA option is assigned.
156158 -----------------------------------------------------------------------------------------
156159 -- 4262811 Multiperiod Accounting
156160 -----------------------------------------------------------------------------------------
156162
156163
156164 END IF;
156165 END IF;
156166 --
156167
156168 --
156169 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156170 trace
156171 (p_msg => 'END of AcctLineType_254'
156172 ,p_level => C_LEVEL_PROCEDURE
156173 ,p_module => l_log_module);
156174 END IF;
156175 --
156176 EXCEPTION
156177 WHEN xla_exceptions_pkg.application_exception THEN
156178 RAISE;
156179 WHEN OTHERS THEN
156180 xla_exceptions_pkg.raise_message
156181 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_254');
156182 END AcctLineType_254;
156183 --
156184
156185 ---------------------------------------
156186 --
156187 -- PRIVATE FUNCTION
156188 -- AcctLineType_255
156189 --
156190 ---------------------------------------
156191 PROCEDURE AcctLineType_255 (
156192 p_application_id IN NUMBER
156193 ,p_event_id IN NUMBER
156194 ,p_calculate_acctd_flag IN VARCHAR2
156195 ,p_calculate_g_l_flag IN VARCHAR2
156196 ,p_actual_flag IN OUT VARCHAR2
156197 ,p_balance_type_code OUT VARCHAR2
156198 ,p_gain_or_loss_ref OUT VARCHAR2
156199
156200 --Invoice Distribution Type
156201 , p_source_21 IN VARCHAR2
156202 , p_source_21_meaning IN VARCHAR2
156203 --Accounting Reversal Indicator
156204 , p_source_41 IN VARCHAR2
156205 --Distribution Link Type
156206 , p_source_43 IN VARCHAR2
156207 --Allocation to Main Distribution Identifier
156208 , p_source_45 IN NUMBER
156209 --Invoice Identifier
156210 , p_source_46 IN NUMBER
156211 --Invoice Distribution Identifier
156212 , p_source_52 IN NUMBER
156213 --Payables Encumbrance Upgrade Credit Account
156214 , p_source_53 IN NUMBER
156215 --Payables Encumbrance Upgrade Credit Amount
156216 , p_source_54 IN NUMBER
156217 --Invoice Currency Code
156218 , p_source_55 IN VARCHAR2
156219 --Payables Encumbrance Upgrade Credit Base Amount
156220 , p_source_56 IN NUMBER
156221 --Payables Encumbrance Upgrade Debit Account
156222 , p_source_57 IN NUMBER
156223 --Payables Encumbrance Upgrade Debit Amount
156224 , p_source_58 IN NUMBER
156225 --Payables Encumbrance Upgrade Debit Base Amount
156226 , p_source_59 IN NUMBER
156227 --Payables Encumbrance Upgrade Option
156228 , p_source_60 IN VARCHAR2
156229 --Deferred Accounting End Date
156230 , p_source_65 IN DATE
156231 --Deferred Accounting Option
156232 , p_source_66 IN VARCHAR2
156233 --Deferred Accounting Start Date
156234 , p_source_67 IN DATE
156235 --Override Accounted Amount Indicator
156236 , p_source_68 IN VARCHAR2
156237 , p_source_68_meaning IN VARCHAR2
156238 --Third Party Type
156239 , p_source_71 IN VARCHAR2
156240 --Parent Reversal Identifier
156241 , p_source_72 IN NUMBER
156242 --Invoice Distribution Statistical Amount
156243 , p_source_73 IN NUMBER
156244 --Invoice Distribution Tax Line Identifier
156245 , p_source_74 IN NUMBER
156246 --Invoice Distribution Tax Distribution Identifier from Tax
156247 , p_source_75 IN NUMBER
156248 --Invoice Distribution Summary Tax Line Identifier
156249 , p_source_76 IN NUMBER
156250 --Payables Upgrade Credit Encumbrance Type Identifier
156251 , p_source_77 IN NUMBER
156252 --Payables Upgrade Debit Encumbrance Type Identifier
156253 , p_source_78 IN NUMBER
156254 --Business Flow Accounts Payable Application Identifier
156255 , p_source_79 IN NUMBER
156256 --Business Flow Invoice Distribution Type
156257 , p_source_80 IN VARCHAR2
156258 --Business Flow Invoice Entity Code
156259 , p_source_81 IN VARCHAR2
156260 --Business Flow Invoice Distribution Identifier
156261 , p_source_82 IN NUMBER
156262 --Business Flow Invoice Identifier
156263 , p_source_83 IN NUMBER
156264 --Accrue on Receipt Option
156265 , p_source_84 IN VARCHAR2
156266 , p_source_84_meaning IN VARCHAR2
156267 --Amount for Variance Amount
156268 , p_source_85 IN NUMBER
156269 --Purchasing Encumbrance Option
156270 , p_source_86 IN VARCHAR2
156271 , p_source_86_meaning IN VARCHAR2
156272 --Invoice Encumbered Option
156273 , p_source_87 IN VARCHAR2
156274 , p_source_87_meaning IN VARCHAR2
156275 --Variance Amount in Ledger Currency
156276 , p_source_88 IN NUMBER
156277 )
156278 IS
156279
156280 l_component_type VARCHAR2(80);
156281 l_component_code VARCHAR2(30);
156282 l_component_type_code VARCHAR2(1);
156283 l_component_appl_id INTEGER;
156284 l_amb_context_code VARCHAR2(30);
156285 l_entity_code VARCHAR2(30);
156286 l_event_class_code VARCHAR2(30);
156287 l_ae_header_id NUMBER;
156288 l_event_type_code VARCHAR2(30);
156289 l_line_definition_code VARCHAR2(30);
156290 l_line_definition_owner_code VARCHAR2(1);
156291 --
156292 -- adr variables
156293 l_segment VARCHAR2(30);
156294 l_ccid NUMBER;
156295 l_adr_transaction_coa_id NUMBER;
156296 l_adr_accounting_coa_id NUMBER;
156300 l_adr_value_combination_id NUMBER;
156297 l_adr_flexfield_segment_code VARCHAR2(30);
156298 l_adr_flex_value_set_id NUMBER;
156299 l_adr_value_type_code VARCHAR2(30);
156301 l_adr_value_segment_code VARCHAR2(30);
156302
156303 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
156304 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
156305 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
156306 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
156307
156308 -- 4262811 Variables ------------------------------------------------------------------------------------------
156309 l_entered_amt_idx NUMBER;
156310 l_accted_amt_idx NUMBER;
156311 l_acc_rev_flag VARCHAR2(1);
156312 l_accrual_line_num NUMBER;
156313 l_tmp_amt NUMBER;
156314 l_acc_rev_natural_side_code VARCHAR2(1);
156315
156316 l_num_entries NUMBER;
156317 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
156318 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
156319 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
156320 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
156321 l_recog_line_1 NUMBER;
156322 l_recog_line_2 NUMBER;
156323
156324 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
156325 l_bflow_applied_to_amt NUMBER; -- 5132302
156326 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
156327
156328 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
156329
156330 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
156331 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
156332
156333 ---------------------------------------------------------------------------------------------------------------
156334
156335
156336 --
156337 -- bulk performance
156338 --
156339 l_balance_type_code VARCHAR2(1);
156340 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
156341 l_log_module VARCHAR2(240);
156342
156343 --
156344 -- Upgrade strategy
156345 --
156346 l_actual_upg_option VARCHAR2(1);
156347 l_enc_upg_option VARCHAR2(1);
156348
156349 --
156350 BEGIN
156351 --
156352 IF g_log_enabled THEN
156353 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_255';
156354 END IF;
156355 --
156356 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156357
156358 trace
156359 (p_msg => 'BEGIN of AcctLineType_255'
156360 ,p_level => C_LEVEL_PROCEDURE
156361 ,p_module => l_log_module);
156362
156363 END IF;
156364 --
156365 l_component_type := 'AMB_JLT';
156366 l_component_code := 'AP_TAX_AMOUNT_VARIANCE_PP_ENC';
156367 l_component_type_code := 'S';
156368 l_component_appl_id := 200;
156369 l_amb_context_code := 'DEFAULT';
156370 l_entity_code := 'AP_INVOICES';
156371 l_event_class_code := 'PREPAYMENTS';
156372 l_event_type_code := 'PREPAYMENTS_ALL';
156373 l_line_definition_owner_code := 'S';
156374 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
156375 --
156376 l_balance_type_code := 'E';
156377 l_segment := NULL;
156378 l_ccid := NULL;
156379 l_adr_transaction_coa_id := NULL;
156380 l_adr_accounting_coa_id := NULL;
156381 l_adr_flexfield_segment_code := NULL;
156382 l_adr_flex_value_set_id := NULL;
156383 l_adr_value_type_code := NULL;
156384 l_adr_value_combination_id := NULL;
156385 l_adr_value_segment_code := NULL;
156386
156387 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
156388 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
156389 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
156390 l_budgetary_control_flag := 'N';
156391
156392 l_bflow_applied_to_amt_idx := NULL; -- 5132302
156393 l_bflow_applied_to_amt := NULL; -- 5132302
156394 l_entered_amt_idx := NULL; -- 4262811
156395 l_accted_amt_idx := NULL; -- 4262811
156396 l_acc_rev_flag := NULL; -- 4262811
156397 l_accrual_line_num := NULL; -- 4262811
156398 l_tmp_amt := NULL; -- 4262811
156399 --
156400
156401 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
156402 l_balance_type_code <> 'B' THEN
156403 IF NVL(p_source_21,'
156404 ') = 'NONREC_TAX' AND
156405 p_source_85 IS NOT NULL AND
156406 NVL(p_source_84,'
156407 ') <> 'Y' AND
156408 NVL(p_source_86,'
156409 ') = 'Y' AND
156410 NVL(p_source_87,'
156411 ') = 'Y'
156412 THEN
156413
156414 --
156415 XLA_AE_LINES_PKG.SetNewLine;
156416
156417 p_balance_type_code := l_balance_type_code;
156418 -- set the flag so later we will know whether the gain loss line needs to be created
156419
156420 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
156421 p_actual_flag :='A';
156422 END IF;
156423
156424 --
156425 -- bulk performance
156426 --
156430 -- set accounting line options
156427 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
156428 p_header_num => 0); -- 4262811
156429 --
156431 --
156432 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
156433 p_natural_side_code => 'C'
156434 , p_gain_or_loss_flag => 'N'
156435 , p_gl_transfer_mode_code => 'S'
156436 , p_acct_entry_type_code => 'E'
156437 , p_switch_side_flag => 'Y'
156438 , p_merge_duplicate_code => 'A'
156439 );
156440 --
156441 l_acc_rev_natural_side_code := 'D'; -- 4262811
156442 --
156443 --
156444 -- set accounting line type info
156445 --
156446 xla_ae_lines_pkg.SetAcctLineType
156447 (p_component_type => l_component_type
156448 ,p_event_type_code => l_event_type_code
156449 ,p_line_definition_owner_code => l_line_definition_owner_code
156450 ,p_line_definition_code => l_line_definition_code
156451 ,p_accounting_line_code => l_component_code
156452 ,p_accounting_line_type_code => l_component_type_code
156453 ,p_accounting_line_appl_id => l_component_appl_id
156454 ,p_amb_context_code => l_amb_context_code
156455 ,p_entity_code => l_entity_code
156456 ,p_event_class_code => l_event_class_code);
156457 --
156458 -- set accounting class
156459 --
156460 xla_ae_lines_pkg.SetAcctClass(
156461 p_accounting_class_code => 'TAV'
156462 , p_ae_header_id => l_ae_header_id
156463 );
156464
156465 --
156466 -- set rounding class
156467 --
156468 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
156469 'TAV';
156470
156471 --
156472 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
156473 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
156474 --
156475 -- bulk performance
156476 --
156477 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
156478
156479 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
156480 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
156481
156482 -- 4955764
156483 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
156484 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
156485
156486 -- 4458381 Public Sector Enh
156487
156488 --
156489 -- set accounting attributes for the line type
156490 --
156491 l_entered_amt_idx := 23;
156492 l_accted_amt_idx := 25;
156493 l_bflow_applied_to_amt_idx := NULL; -- 5132302
156494 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
156495 l_rec_acct_attrs.array_char_value(1) := p_source_41;
156496 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
156497 l_rec_acct_attrs.array_num_value(2) :=
156498 xla_ae_sources_pkg.GetSystemSourceNum(
156499 p_source_code => 'XLA_EVENT_APPL_ID'
156500 , p_source_type_code => 'Y'
156501 , p_source_application_id => 602
156502 );
156503 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
156504 l_rec_acct_attrs.array_char_value(3) := p_source_43;
156505 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
156506 l_rec_acct_attrs.array_char_value(4) :=
156507 xla_ae_sources_pkg.GetSystemSourceChar(
156508 p_source_code => 'XLA_ENTITY_CODE'
156509 , p_source_type_code => 'Y'
156510 , p_source_application_id => 602
156511 );
156512 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
156513 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
156514 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
156515 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
156516 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
156517 l_rec_acct_attrs.array_num_value(7) := p_source_79;
156518 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
156519 l_rec_acct_attrs.array_char_value(8) := p_source_80;
156520 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
156521 l_rec_acct_attrs.array_char_value(9) := p_source_81;
156522 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
156523 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
156524 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
156525 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
156526 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
156527 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
156528 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
156529 l_rec_acct_attrs.array_char_value(13) := p_source_43;
156530 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
156531 l_rec_acct_attrs.array_num_value(14) := p_source_53;
156532 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
156533 l_rec_acct_attrs.array_num_value(15) := p_source_54;
156534 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
156538 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
156535 l_rec_acct_attrs.array_char_value(16) := p_source_55;
156536 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
156537 l_rec_acct_attrs.array_num_value(17) := p_source_56;
156539 l_rec_acct_attrs.array_num_value(18) := p_source_57;
156540 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
156541 l_rec_acct_attrs.array_num_value(19) := p_source_58;
156542 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
156543 l_rec_acct_attrs.array_char_value(20) := p_source_55;
156544 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
156545 l_rec_acct_attrs.array_num_value(21) := p_source_59;
156546 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
156547 l_rec_acct_attrs.array_char_value(22) := p_source_60;
156548 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
156549 l_rec_acct_attrs.array_num_value(23) := p_source_85;
156550 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
156551 l_rec_acct_attrs.array_char_value(24) := p_source_55;
156552 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
156553 l_rec_acct_attrs.array_num_value(25) := p_source_88;
156554 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
156555 l_rec_acct_attrs.array_date_value(26) := p_source_65;
156556 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
156557 l_rec_acct_attrs.array_char_value(27) := p_source_66;
156558 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
156559 l_rec_acct_attrs.array_date_value(28) := p_source_67;
156560 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
156561 l_rec_acct_attrs.array_char_value(29) := p_source_68;
156562 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
156563 l_rec_acct_attrs.array_char_value(30) := p_source_71;
156564 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
156565 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
156566 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
156567 l_rec_acct_attrs.array_char_value(32) := p_source_43;
156568 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
156569 l_rec_acct_attrs.array_num_value(33) := p_source_73;
156570 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
156571 l_rec_acct_attrs.array_num_value(34) := p_source_74;
156572 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
156573 l_rec_acct_attrs.array_num_value(35) := p_source_75;
156574 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
156575 l_rec_acct_attrs.array_num_value(36) := p_source_76;
156576 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
156577 l_rec_acct_attrs.array_num_value(37) := p_source_77;
156578 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
156579 l_rec_acct_attrs.array_num_value(38) := p_source_78;
156580
156581 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
156582 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
156583
156584 ---------------------------------------------------------------------------------------------------------------
156585 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
156586 ---------------------------------------------------------------------------------------------------------------
156587 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
156588
156589 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
156590 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
156591
156592 IF xla_accounting_cache_pkg.GetValueChar
156593 (p_source_code => 'LEDGER_CATEGORY_CODE'
156594 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
156595 AND l_bflow_method_code = 'PRIOR_ENTRY'
156596 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
156597 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
156598 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
156599 )
156600 THEN
156601 xla_ae_lines_pkg.BflowUpgEntry
156602 (p_business_method_code => l_bflow_method_code
156603 ,p_business_class_code => l_bflow_class_code
156604 ,p_balance_type => l_balance_type_code);
156605 ELSE
156606 NULL;
156607 XLA_AE_LINES_PKG.business_flow_validation(
156608 p_business_method_code => l_bflow_method_code
156609 ,p_business_class_code => l_bflow_class_code
156610 ,p_inherit_description_flag => l_inherit_desc_flag);
156611 END IF;
156612
156613 --
156614 -- call analytical criteria
156615 --
156616 -- Inherited Analytical Criteria for business flow method of Prior Entry.
156617 --
156618 -- call description
156619 --
156620 -- No description or it is inherited.
156621 --
156622 -- call ADRs
156623 -- Bug 4922099
156624 --
156625 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
156626 (NVL(l_actual_upg_option, 'N') = 'O') OR
156627 (NVL(l_enc_upg_option, 'N') = 'O')
156628 )
156629 THEN
156630 NULL;
156631 --
156632 --
156633
156634 --
156635 --
156639 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
156636 END IF;
156637 --
156638 -- Bug 4922099
156640 (NVL(l_enc_upg_option, 'N') = 'O')
156641 ) AND
156642 (l_bflow_method_code = 'PRIOR_ENTRY')
156643 )
156644 THEN
156645 IF
156646 --
156647 1 = 1
156648 --
156649 THEN
156650 xla_accounting_err_pkg.build_message
156651 (p_appli_s_name => 'XLA'
156652 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
156653 ,p_token_1 => 'LINE_NUMBER'
156654 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
156655 ,p_token_2 => 'LINE_TYPE_NAME'
156656 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
156657 l_component_type
156658 ,l_component_code
156659 ,l_component_type_code
156660 ,l_component_appl_id
156661 ,l_amb_context_code
156662 ,l_entity_code
156663 ,l_event_class_code
156664 )
156665 ,p_token_3 => 'OWNER'
156666 ,p_value_3 => xla_lookups_pkg.get_meaning(
156667 p_lookup_type => 'XLA_OWNER_TYPE'
156668 ,p_lookup_code => l_component_type_code
156669 )
156670 ,p_token_4 => 'PRODUCT_NAME'
156671 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
156672 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
156673 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
156674 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
156675 ,p_ae_header_id => NULL
156676 );
156677
156678 IF (C_LEVEL_ERROR>= g_log_level) THEN
156679 trace
156680 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
156681 ,p_level => C_LEVEL_ERROR
156682 ,p_module => l_log_module);
156683 END IF;
156684 END IF;
156685 END IF;
156686 --
156687 --
156688 ------------------------------------------------------------------------------------------------
156689 -- 4219869 Business Flow
156690 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
156691 -- Prior Entry. Currently, the following code is always generated.
156692 ------------------------------------------------------------------------------------------------
156693 -- No ValidateCurrentLine for business flow method of Prior Entry
156694
156695 ------------------------------------------------------------------------------------
156696 -- 4219869 Business Flow
156697 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
156698 ------------------------------------------------------------------------------------
156699 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
156700
156701 ----------------------------------------------------------------------------------
156702 -- 4219869 Business Flow
156703 -- Update journal entry status -- Need to generate this within IF <condition>
156704 ----------------------------------------------------------------------------------
156705 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
156706 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
156707 ,p_balance_type_code => l_balance_type_code
156708 );
156709
156710 -------------------------------------------------------------------------------------------
156711 -- 4262811 - Generate the Accrual Reversal lines
156712 -------------------------------------------------------------------------------------------
156713 BEGIN
156714 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
156715 (g_array_event(p_event_id).array_value_num('header_index'));
156716 IF l_acc_rev_flag IS NULL THEN
156717 l_acc_rev_flag := 'N';
156718 END IF;
156719 EXCEPTION
156720 WHEN OTHERS THEN
156721 l_acc_rev_flag := 'N';
156722 END;
156723 --
156724 IF (l_acc_rev_flag = 'Y') THEN
156725
156726 -- 4645092 ------------------------------------------------------------------------------
156727 -- To allow MPA report to determine if it should generate report process
156728 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
156732 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
156729 ------------------------------------------------------------------------------------------
156730
156731 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
156733 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
156734 -- call ADRs
156735 -- Bug 4922099
156736 --
156737 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
156738 (NVL(l_actual_upg_option, 'N') = 'O') OR
156739 (NVL(l_enc_upg_option, 'N') = 'O')
156740 )
156741 THEN
156742 NULL;
156743 --
156744 --
156745
156746 --
156747 --
156748 END IF;
156749
156750 --
156751 -- Update the line information that should be overwritten
156752 --
156753 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
156754 p_header_num => 1);
156755 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
156756
156757 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
156758
156759 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
156760 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
156761 END IF;
156762
156763 --
156764 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
156765 --
156766 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
156767 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
156768 ELSE
156769 ---------------------------------------------------------------------------------------------------
156770 -- 4262811a Switch Sign
156771 ---------------------------------------------------------------------------------------------------
156772 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
156773 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
156774 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
156775 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
156776 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
156777 -- 5132302
156778 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
156779 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
156780
156781 END IF;
156782
156783 -- 4955764
156784 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
156785 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
156786
156787
156788 XLA_AE_LINES_PKG.ValidateCurrentLine;
156789 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
156790
156791 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
156792 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
156793 ,p_balance_type_code => l_balance_type_code);
156794
156795 END IF;
156796
156797 -----------------------------------------------------------------------------------------
156798 -- 4262811 Multiperiod Accounting
156799 -----------------------------------------------------------------------------------------
156800 -- No MPA option is assigned.
156801
156802
156803 END IF;
156804 END IF;
156805 --
156806
156807 --
156808 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156809 trace
156810 (p_msg => 'END of AcctLineType_255'
156811 ,p_level => C_LEVEL_PROCEDURE
156812 ,p_module => l_log_module);
156813 END IF;
156814 --
156815 EXCEPTION
156816 WHEN xla_exceptions_pkg.application_exception THEN
156817 RAISE;
156818 WHEN OTHERS THEN
156819 xla_exceptions_pkg.raise_message
156820 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_255');
156821 END AcctLineType_255;
156822 --
156823
156824 ---------------------------------------
156825 --
156826 -- PRIVATE FUNCTION
156827 -- AcctLineType_256
156828 --
156829 ---------------------------------------
156830 PROCEDURE AcctLineType_256 (
156831 p_application_id IN NUMBER
156832 ,p_event_id IN NUMBER
156833 ,p_calculate_acctd_flag IN VARCHAR2
156834 ,p_calculate_g_l_flag IN VARCHAR2
156835 ,p_actual_flag IN OUT VARCHAR2
156836 ,p_balance_type_code OUT VARCHAR2
156837 ,p_gain_or_loss_ref OUT VARCHAR2
156838
156839 --Automatic Offsets Value
156840 , p_source_3 IN VARCHAR2
156841 , p_source_3_meaning IN VARCHAR2
156842 --Invoice Distribution Account
156843 , p_source_18 IN NUMBER
156844 --Payables Options Tax Difference Account
156845 , p_source_29 IN NUMBER
156846 --Accounting Reversal Indicator
156847 , p_source_41 IN VARCHAR2
156848 --Distribution Link Type
156849 , p_source_43 IN VARCHAR2
156850 --Invoice Identifier
156851 , p_source_46 IN NUMBER
156852 --Payables Encumbrance Upgrade Credit Account
156853 , p_source_53 IN NUMBER
156854 --Payables Encumbrance Upgrade Credit Amount
156855 , p_source_54 IN NUMBER
156859 , p_source_56 IN NUMBER
156856 --Invoice Currency Code
156857 , p_source_55 IN VARCHAR2
156858 --Payables Encumbrance Upgrade Credit Base Amount
156860 --Payables Encumbrance Upgrade Debit Account
156861 , p_source_57 IN NUMBER
156862 --Payables Encumbrance Upgrade Debit Amount
156863 , p_source_58 IN NUMBER
156864 --Payables Encumbrance Upgrade Debit Base Amount
156865 , p_source_59 IN NUMBER
156866 --Payables Encumbrance Upgrade Option
156867 , p_source_60 IN VARCHAR2
156868 --Deferred Accounting End Date
156869 , p_source_65 IN DATE
156870 --Deferred Accounting Option
156871 , p_source_66 IN VARCHAR2
156872 --Deferred Accounting Start Date
156873 , p_source_67 IN DATE
156874 --Override Accounted Amount Indicator
156875 , p_source_68 IN VARCHAR2
156876 , p_source_68_meaning IN VARCHAR2
156877 --Invoice Supplier Identifier
156878 , p_source_69 IN NUMBER
156879 --Invoice Supplier Site Identifier
156880 , p_source_70 IN NUMBER
156881 --Third Party Type
156882 , p_source_71 IN VARCHAR2
156883 --Invoice Distribution Tax Line Identifier
156884 , p_source_74 IN NUMBER
156885 --Invoice Distribution Tax Distribution Identifier from Tax
156886 , p_source_75 IN NUMBER
156887 --Invoice Distribution Summary Tax Line Identifier
156888 , p_source_76 IN NUMBER
156889 --Payables Upgrade Credit Encumbrance Type Identifier
156890 , p_source_77 IN NUMBER
156891 --Payables Upgrade Debit Encumbrance Type Identifier
156892 , p_source_78 IN NUMBER
156893 --Business Flow Accounts Payable Application Identifier
156894 , p_source_79 IN NUMBER
156895 --Prepayment Distribution Type
156896 , p_source_118 IN VARCHAR2
156897 --Prepayment Application Distribution Identifier
156898 , p_source_120 IN NUMBER
156899 --Upgrade Encumbrance Credit Account Class
156900 , p_source_125 IN VARCHAR2
156901 --Upgrade Encumbrance Debit Account Class
156902 , p_source_126 IN VARCHAR2
156903 --Prepayment Distribution Amount
156904 , p_source_127 IN NUMBER
156905 --Identifier of the Prepayment Application Reversed
156906 , p_source_129 IN NUMBER
156907 --Prepayment Distribution (Invoice Rate) Ledger Amount
156908 , p_source_134 IN NUMBER
156909 --Invoice Exchange Date
156910 , p_source_136 IN DATE
156911 --Invoice Exchange Rate
156912 , p_source_137 IN NUMBER
156913 --Invoice Exchange Rate Type
156914 , p_source_138 IN VARCHAR2
156915 --Business Flow Prepayment Invoice Distribution Type
156916 , p_source_139 IN VARCHAR2
156917 --Business Flow Prepayment Invoice Entity Code
156918 , p_source_140 IN VARCHAR2
156919 --Business Flow Prepayment Invoice Distribution Identifier
156920 , p_source_141 IN NUMBER
156921 --Business Flow Prepayment Invoice Identifier
156922 , p_source_142 IN NUMBER
156923 )
156924 IS
156925
156926 l_component_type VARCHAR2(80);
156927 l_component_code VARCHAR2(30);
156928 l_component_type_code VARCHAR2(1);
156929 l_component_appl_id INTEGER;
156930 l_amb_context_code VARCHAR2(30);
156931 l_entity_code VARCHAR2(30);
156932 l_event_class_code VARCHAR2(30);
156933 l_ae_header_id NUMBER;
156934 l_event_type_code VARCHAR2(30);
156935 l_line_definition_code VARCHAR2(30);
156936 l_line_definition_owner_code VARCHAR2(1);
156937 --
156938 -- adr variables
156939 l_segment VARCHAR2(30);
156940 l_ccid NUMBER;
156941 l_adr_transaction_coa_id NUMBER;
156942 l_adr_accounting_coa_id NUMBER;
156943 l_adr_flexfield_segment_code VARCHAR2(30);
156944 l_adr_flex_value_set_id NUMBER;
156945 l_adr_value_type_code VARCHAR2(30);
156946 l_adr_value_combination_id NUMBER;
156947 l_adr_value_segment_code VARCHAR2(30);
156948
156949 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
156950 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
156951 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
156952 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
156953
156954 -- 4262811 Variables ------------------------------------------------------------------------------------------
156955 l_entered_amt_idx NUMBER;
156956 l_accted_amt_idx NUMBER;
156957 l_acc_rev_flag VARCHAR2(1);
156958 l_accrual_line_num NUMBER;
156959 l_tmp_amt NUMBER;
156960 l_acc_rev_natural_side_code VARCHAR2(1);
156961
156962 l_num_entries NUMBER;
156963 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
156964 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
156965 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
156966 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
156967 l_recog_line_1 NUMBER;
156968 l_recog_line_2 NUMBER;
156969
156970 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
156971 l_bflow_applied_to_amt NUMBER; -- 5132302
156972 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
156973
156977 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
156974 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
156975
156976 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
156978
156979 ---------------------------------------------------------------------------------------------------------------
156980
156981
156982 --
156983 -- bulk performance
156984 --
156985 l_balance_type_code VARCHAR2(1);
156986 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
156987 l_log_module VARCHAR2(240);
156988
156989 --
156990 -- Upgrade strategy
156991 --
156992 l_actual_upg_option VARCHAR2(1);
156993 l_enc_upg_option VARCHAR2(1);
156994
156995 --
156996 BEGIN
156997 --
156998 IF g_log_enabled THEN
156999 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_256';
157000 END IF;
157001 --
157002 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
157003
157004 trace
157005 (p_msg => 'BEGIN of AcctLineType_256'
157006 ,p_level => C_LEVEL_PROCEDURE
157007 ,p_module => l_log_module);
157008
157009 END IF;
157010 --
157011 l_component_type := 'AMB_JLT';
157012 l_component_code := 'AP_TAX_DIFF_PREPAY_APP';
157013 l_component_type_code := 'S';
157014 l_component_appl_id := 200;
157015 l_amb_context_code := 'DEFAULT';
157016 l_entity_code := 'AP_INVOICES';
157017 l_event_class_code := 'PREPAYMENT APPLICATIONS';
157018 l_event_type_code := 'PREPAYMENT APPLICATIONS_ALL';
157019 l_line_definition_owner_code := 'S';
157020 l_line_definition_code := 'ACCRUAL_PREPAYMENT APPLICATIO2';
157021 --
157022 l_balance_type_code := 'A';
157023 l_segment := NULL;
157024 l_ccid := NULL;
157025 l_adr_transaction_coa_id := NULL;
157026 l_adr_accounting_coa_id := NULL;
157027 l_adr_flexfield_segment_code := NULL;
157028 l_adr_flex_value_set_id := NULL;
157029 l_adr_value_type_code := NULL;
157030 l_adr_value_combination_id := NULL;
157031 l_adr_value_segment_code := NULL;
157032
157033 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
157034 l_bflow_class_code := ''; -- 4219869 Business Flow
157035 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
157036 l_budgetary_control_flag := 'N';
157037
157038 l_bflow_applied_to_amt_idx := NULL; -- 5132302
157039 l_bflow_applied_to_amt := NULL; -- 5132302
157040 l_entered_amt_idx := NULL; -- 4262811
157041 l_accted_amt_idx := NULL; -- 4262811
157042 l_acc_rev_flag := NULL; -- 4262811
157043 l_accrual_line_num := NULL; -- 4262811
157044 l_tmp_amt := NULL; -- 4262811
157045 --
157046
157047 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
157048 l_balance_type_code <> 'B' THEN
157049 IF NVL(p_source_118,'
157050 ') = 'TAX DIFF'
157051 THEN
157052
157053 --
157054 XLA_AE_LINES_PKG.SetNewLine;
157055
157056 p_balance_type_code := l_balance_type_code;
157057 -- set the flag so later we will know whether the gain loss line needs to be created
157058
157059 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
157060 p_actual_flag :='A';
157061 END IF;
157062
157063 --
157064 -- bulk performance
157065 --
157066 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
157067 p_header_num => 0); -- 4262811
157068 --
157069 -- set accounting line options
157070 --
157071 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
157072 p_natural_side_code => 'C'
157073 , p_gain_or_loss_flag => 'N'
157074 , p_gl_transfer_mode_code => 'S'
157075 , p_acct_entry_type_code => 'A'
157076 , p_switch_side_flag => 'Y'
157077 , p_merge_duplicate_code => 'A'
157078 );
157079 --
157080 l_acc_rev_natural_side_code := 'D'; -- 4262811
157081 --
157082 --
157083 -- set accounting line type info
157084 --
157085 xla_ae_lines_pkg.SetAcctLineType
157086 (p_component_type => l_component_type
157087 ,p_event_type_code => l_event_type_code
157088 ,p_line_definition_owner_code => l_line_definition_owner_code
157089 ,p_line_definition_code => l_line_definition_code
157090 ,p_accounting_line_code => l_component_code
157091 ,p_accounting_line_type_code => l_component_type_code
157092 ,p_accounting_line_appl_id => l_component_appl_id
157093 ,p_amb_context_code => l_amb_context_code
157094 ,p_entity_code => l_entity_code
157095 ,p_event_class_code => l_event_class_code);
157096 --
157097 -- set accounting class
157098 --
157099 xla_ae_lines_pkg.SetAcctClass(
157100 p_accounting_class_code => 'TAX_DIFF'
157101 , p_ae_header_id => l_ae_header_id
157102 );
157103
157104 --
157105 -- set rounding class
157106 --
157107 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
157111 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
157108 'TAX_DIFF';
157109
157110 --
157112 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
157113 --
157114 -- bulk performance
157115 --
157116 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
157117
157118 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
157119 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
157120
157121 -- 4955764
157122 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
157123 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
157124
157125 -- 4458381 Public Sector Enh
157126
157127 --
157128 -- set accounting attributes for the line type
157129 --
157130 l_entered_amt_idx := 25;
157131 l_accted_amt_idx := 30;
157132 l_bflow_applied_to_amt_idx := NULL; -- 5132302
157133 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
157134 l_rec_acct_attrs.array_char_value(1) := p_source_41;
157135 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
157136 l_rec_acct_attrs.array_num_value(2) :=
157137 xla_ae_sources_pkg.GetSystemSourceNum(
157138 p_source_code => 'XLA_EVENT_APPL_ID'
157139 , p_source_type_code => 'Y'
157140 , p_source_application_id => 602
157141 );
157142 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
157143 l_rec_acct_attrs.array_char_value(3) := p_source_43;
157144 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
157145 l_rec_acct_attrs.array_char_value(4) :=
157146 xla_ae_sources_pkg.GetSystemSourceChar(
157147 p_source_code => 'XLA_ENTITY_CODE'
157148 , p_source_type_code => 'Y'
157149 , p_source_application_id => 602
157150 );
157151 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
157152 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_120);
157153 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
157154 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
157155 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
157156 l_rec_acct_attrs.array_num_value(7) := p_source_79;
157157 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
157158 l_rec_acct_attrs.array_char_value(8) := p_source_139;
157159 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
157160 l_rec_acct_attrs.array_char_value(9) := p_source_140;
157161 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
157162 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_141);
157163 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
157164 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_142);
157165 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
157166 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_120);
157167 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
157168 l_rec_acct_attrs.array_char_value(13) := p_source_43;
157169 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_ACCT_CLASS';
157170 l_rec_acct_attrs.array_char_value(14) := p_source_125;
157171 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
157172 l_rec_acct_attrs.array_num_value(15) := p_source_53;
157173 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
157174 l_rec_acct_attrs.array_num_value(16) := p_source_54;
157175 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
157176 l_rec_acct_attrs.array_char_value(17) := p_source_55;
157177 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
157178 l_rec_acct_attrs.array_num_value(18) := p_source_56;
157179 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ACCT_CLASS';
157180 l_rec_acct_attrs.array_char_value(19) := p_source_126;
157181 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_CCID';
157182 l_rec_acct_attrs.array_num_value(20) := p_source_57;
157183 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_AMT';
157184 l_rec_acct_attrs.array_num_value(21) := p_source_58;
157185 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_ENTERED_CURR';
157186 l_rec_acct_attrs.array_char_value(22) := p_source_55;
157187 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_DR_LEDGER_AMT';
157188 l_rec_acct_attrs.array_num_value(23) := p_source_59;
157189 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENC_UPG_OPTION';
157190 l_rec_acct_attrs.array_char_value(24) := p_source_60;
157191 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_AMOUNT';
157192 l_rec_acct_attrs.array_num_value(25) := p_source_127;
157193 l_rec_acct_attrs.array_acct_attr_code(26) := 'ENTERED_CURRENCY_CODE';
157194 l_rec_acct_attrs.array_char_value(26) := p_source_55;
157195 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_DATE';
157196 l_rec_acct_attrs.array_date_value(27) := p_source_136;
157197 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE';
157198 l_rec_acct_attrs.array_num_value(28) := p_source_137;
157199 l_rec_acct_attrs.array_acct_attr_code(29) := 'EXCHANGE_RATE_TYPE';
157200 l_rec_acct_attrs.array_char_value(29) := p_source_138;
157201 l_rec_acct_attrs.array_acct_attr_code(30) := 'LEDGER_AMOUNT';
157202 l_rec_acct_attrs.array_num_value(30) := p_source_134;
157206 l_rec_acct_attrs.array_char_value(32) := p_source_66;
157203 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_END_DATE';
157204 l_rec_acct_attrs.array_date_value(31) := p_source_65;
157205 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_OPTION';
157207 l_rec_acct_attrs.array_acct_attr_code(33) := 'MULTIPERIOD_START_DATE';
157208 l_rec_acct_attrs.array_date_value(33) := p_source_67;
157209 l_rec_acct_attrs.array_acct_attr_code(34) := 'OVERRIDE_ACCTD_AMT_FLAG';
157210 l_rec_acct_attrs.array_char_value(34) := p_source_68;
157211 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_ID';
157212 l_rec_acct_attrs.array_num_value(35) := p_source_69;
157213 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_SITE_ID';
157214 l_rec_acct_attrs.array_num_value(36) := p_source_70;
157215 l_rec_acct_attrs.array_acct_attr_code(37) := 'PARTY_TYPE';
157216 l_rec_acct_attrs.array_char_value(37) := p_source_71;
157217 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_ID1';
157218 l_rec_acct_attrs.array_num_value(38) := to_char(p_source_129);
157219 l_rec_acct_attrs.array_acct_attr_code(39) := 'REVERSED_DISTRIBUTION_TYPE';
157220 l_rec_acct_attrs.array_char_value(39) := p_source_43;
157221 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
157222 l_rec_acct_attrs.array_num_value(40) := p_source_74;
157223 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
157224 l_rec_acct_attrs.array_num_value(41) := p_source_75;
157225 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
157226 l_rec_acct_attrs.array_num_value(42) := p_source_76;
157227 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
157228 l_rec_acct_attrs.array_num_value(43) := p_source_77;
157229 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
157230 l_rec_acct_attrs.array_num_value(44) := p_source_78;
157231
157232 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
157233 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
157234
157235 ---------------------------------------------------------------------------------------------------------------
157236 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
157237 ---------------------------------------------------------------------------------------------------------------
157238 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
157239
157240 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
157241 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
157242
157243 IF xla_accounting_cache_pkg.GetValueChar
157244 (p_source_code => 'LEDGER_CATEGORY_CODE'
157245 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
157246 AND l_bflow_method_code = 'PRIOR_ENTRY'
157247 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
157248 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
157249 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
157250 )
157251 THEN
157252 xla_ae_lines_pkg.BflowUpgEntry
157253 (p_business_method_code => l_bflow_method_code
157254 ,p_business_class_code => l_bflow_class_code
157255 ,p_balance_type => l_balance_type_code);
157256 ELSE
157257 NULL;
157258 -- No business flow processing for business flow method of NONE.
157259 END IF;
157260
157261 --
157262 -- call analytical criteria
157263 --
157264
157265 --
157266 -- call description
157267 --
157268 -- No description or it is inherited.
157269 --
157270 -- call ADRs
157271 -- Bug 4922099
157272 --
157273 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
157274 (NVL(l_actual_upg_option, 'N') = 'O') OR
157275 (NVL(l_enc_upg_option, 'N') = 'O')
157276 )
157277 THEN
157278 NULL;
157279 --
157280 --
157281
157282 l_ccid := AcctDerRule_44(
157283 p_application_id => p_application_id
157284 , p_ae_header_id => l_ae_header_id
157285 , p_source_3 => p_source_3
157286 , p_source_3_meaning => p_source_3_meaning
157287 , p_source_18 => p_source_18
157288 , p_source_29 => p_source_29
157289 , x_transaction_coa_id => l_adr_transaction_coa_id
157290 , x_accounting_coa_id => l_adr_accounting_coa_id
157291 , x_value_type_code => l_adr_value_type_code
157292 , p_side => 'NA'
157293 );
157294
157295 xla_ae_lines_pkg.set_ccid(
157296 p_code_combination_id => l_ccid
157297 , p_value_type_code => l_adr_value_type_code
157298 , p_transaction_coa_id => l_adr_transaction_coa_id
157299 , p_accounting_coa_id => l_adr_accounting_coa_id
157300 , p_adr_code => 'AP_TAX_DIFFERENCE'
157301 , p_adr_type_code => 'S'
157302 , p_component_type => l_component_type
157303 , p_component_code => l_component_code
157304 , p_component_type_code => l_component_type_code
157305 , p_component_appl_id => l_component_appl_id
157306 , p_amb_context_code => l_amb_context_code
157307 , p_side => 'NA'
157308 );
157309
157310
157311 l_segment := AcctDerRule_21(
157315 , p_source_3_meaning => p_source_3_meaning
157312 p_application_id => p_application_id
157313 , p_ae_header_id => l_ae_header_id
157314 , p_source_3 => p_source_3
157316 , p_source_18 => p_source_18
157317 , x_transaction_coa_id => l_adr_transaction_coa_id
157318 , x_accounting_coa_id => l_adr_accounting_coa_id
157319 , x_flexfield_segment_code => l_adr_flexfield_segment_code
157320 , x_flex_value_set_id => l_adr_flex_value_set_id
157321 , x_value_type_code => l_adr_value_type_code
157322 , x_value_combination_id => l_adr_value_combination_id
157323 , x_value_segment_code => l_adr_value_segment_code
157324 , p_side => 'NA'
157325 , p_override_seg_flag => 'Y'
157326 );
157327
157328 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
157329
157330 xla_ae_lines_pkg.set_segment(
157331 p_to_segment_code => 'GL_BALANCING'
157332 , p_segment_value => l_segment
157333 , p_from_segment_code => l_adr_value_segment_code
157334 , p_from_combination_id => l_adr_value_combination_id
157335 , p_value_type_code => l_adr_value_type_code
157336 , p_transaction_coa_id => l_adr_transaction_coa_id
157337 , p_accounting_coa_id => l_adr_accounting_coa_id
157338 , p_flexfield_segment_code => l_adr_flexfield_segment_code
157339 , p_flex_value_set_id => l_adr_flex_value_set_id
157340 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
157341 , p_adr_type_code => 'S'
157342 , p_component_type => l_component_type
157343 , p_component_code => l_component_code
157344 , p_component_type_code => l_component_type_code
157345 , p_component_appl_id => l_component_appl_id
157346 , p_amb_context_code => l_amb_context_code
157347 , p_entity_code => 'AP_INVOICES'
157348 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
157349 , p_side => 'NA'
157350 );
157351
157352 END IF;
157353
157354 l_segment := AcctDerRule_19(
157355 p_application_id => p_application_id
157356 , p_ae_header_id => l_ae_header_id
157357 , p_source_29 => p_source_29
157358 , x_transaction_coa_id => l_adr_transaction_coa_id
157359 , x_accounting_coa_id => l_adr_accounting_coa_id
157360 , x_flexfield_segment_code => l_adr_flexfield_segment_code
157361 , x_flex_value_set_id => l_adr_flex_value_set_id
157362 , x_value_type_code => l_adr_value_type_code
157363 , x_value_combination_id => l_adr_value_combination_id
157364 , x_value_segment_code => l_adr_value_segment_code
157365 , p_side => 'NA'
157366 , p_override_seg_flag => 'Y'
157367 );
157368
157369 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
157370
157371 xla_ae_lines_pkg.set_segment(
157372 p_to_segment_code => 'GL_ACCOUNT'
157373 , p_segment_value => l_segment
157374 , p_from_segment_code => l_adr_value_segment_code
157375 , p_from_combination_id => l_adr_value_combination_id
157376 , p_value_type_code => l_adr_value_type_code
157377 , p_transaction_coa_id => l_adr_transaction_coa_id
157378 , p_accounting_coa_id => l_adr_accounting_coa_id
157379 , p_flexfield_segment_code => l_adr_flexfield_segment_code
157380 , p_flex_value_set_id => l_adr_flex_value_set_id
157381 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
157382 , p_adr_type_code => 'S'
157383 , p_component_type => l_component_type
157384 , p_component_code => l_component_code
157385 , p_component_type_code => l_component_type_code
157386 , p_component_appl_id => l_component_appl_id
157387 , p_amb_context_code => l_amb_context_code
157388 , p_entity_code => 'AP_INVOICES'
157389 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
157390 , p_side => 'NA'
157391 );
157392
157393 END IF;
157394
157395 --
157396 --
157397 END IF;
157398 --
157399 -- Bug 4922099
157400 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
157401 (NVL(l_enc_upg_option, 'N') = 'O')
157402 ) AND
157403 (l_bflow_method_code = 'PRIOR_ENTRY')
157404 )
157405 THEN
157406 IF
157407 --
157408 1 = 2
157409 --
157410 THEN
157411 xla_accounting_err_pkg.build_message
157412 (p_appli_s_name => 'XLA'
157413 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
157414 ,p_token_1 => 'LINE_NUMBER'
157415 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
157416 ,p_token_2 => 'LINE_TYPE_NAME'
157417 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
157418 l_component_type
157419 ,l_component_code
157420 ,l_component_type_code
157424 ,l_event_class_code
157421 ,l_component_appl_id
157422 ,l_amb_context_code
157423 ,l_entity_code
157425 )
157426 ,p_token_3 => 'OWNER'
157427 ,p_value_3 => xla_lookups_pkg.get_meaning(
157428 p_lookup_type => 'XLA_OWNER_TYPE'
157429 ,p_lookup_code => l_component_type_code
157430 )
157431 ,p_token_4 => 'PRODUCT_NAME'
157432 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
157433 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
157434 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
157435 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
157436 ,p_ae_header_id => NULL
157437 );
157438
157439 IF (C_LEVEL_ERROR>= g_log_level) THEN
157440 trace
157441 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
157442 ,p_level => C_LEVEL_ERROR
157443 ,p_module => l_log_module);
157444 END IF;
157445 END IF;
157446 END IF;
157447 --
157448 --
157449 ------------------------------------------------------------------------------------------------
157450 -- 4219869 Business Flow
157451 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
157452 -- Prior Entry. Currently, the following code is always generated.
157453 ------------------------------------------------------------------------------------------------
157454 XLA_AE_LINES_PKG.ValidateCurrentLine;
157455
157456 ------------------------------------------------------------------------------------
157457 -- 4219869 Business Flow
157458 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
157459 ------------------------------------------------------------------------------------
157460 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
157461
157462 ----------------------------------------------------------------------------------
157463 -- 4219869 Business Flow
157464 -- Update journal entry status -- Need to generate this within IF <condition>
157465 ----------------------------------------------------------------------------------
157466 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
157467 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
157468 ,p_balance_type_code => l_balance_type_code
157469 );
157470
157471 -------------------------------------------------------------------------------------------
157472 -- 4262811 - Generate the Accrual Reversal lines
157473 -------------------------------------------------------------------------------------------
157474 BEGIN
157475 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
157476 (g_array_event(p_event_id).array_value_num('header_index'));
157477 IF l_acc_rev_flag IS NULL THEN
157478 l_acc_rev_flag := 'N';
157479 END IF;
157480 EXCEPTION
157481 WHEN OTHERS THEN
157482 l_acc_rev_flag := 'N';
157483 END;
157484 --
157485 IF (l_acc_rev_flag = 'Y') THEN
157486
157487 -- 4645092 ------------------------------------------------------------------------------
157488 -- To allow MPA report to determine if it should generate report process
157489 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
157490 ------------------------------------------------------------------------------------------
157491
157492 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
157493 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
157494 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
157495 -- call ADRs
157496 -- Bug 4922099
157497 --
157498 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
157499 (NVL(l_actual_upg_option, 'N') = 'O') OR
157500 (NVL(l_enc_upg_option, 'N') = 'O')
157501 )
157502 THEN
157503 NULL;
157504 --
157505 --
157506
157507 l_ccid := AcctDerRule_44(
157508 p_application_id => p_application_id
157509 , p_ae_header_id => l_ae_header_id
157510 , p_source_3 => p_source_3
157511 , p_source_3_meaning => p_source_3_meaning
157512 , p_source_18 => p_source_18
157513 , p_source_29 => p_source_29
157514 , x_transaction_coa_id => l_adr_transaction_coa_id
157515 , x_accounting_coa_id => l_adr_accounting_coa_id
157516 , x_value_type_code => l_adr_value_type_code
157517 , p_side => 'NA'
157518 );
157519
157520 xla_ae_lines_pkg.set_ccid(
157524 , p_accounting_coa_id => l_adr_accounting_coa_id
157521 p_code_combination_id => l_ccid
157522 , p_value_type_code => l_adr_value_type_code
157523 , p_transaction_coa_id => l_adr_transaction_coa_id
157525 , p_adr_code => 'AP_TAX_DIFFERENCE'
157526 , p_adr_type_code => 'S'
157527 , p_component_type => l_component_type
157528 , p_component_code => l_component_code
157529 , p_component_type_code => l_component_type_code
157530 , p_component_appl_id => l_component_appl_id
157531 , p_amb_context_code => l_amb_context_code
157532 , p_side => 'NA'
157533 );
157534
157535
157536 l_segment := AcctDerRule_21(
157537 p_application_id => p_application_id
157538 , p_ae_header_id => l_ae_header_id
157539 , p_source_3 => p_source_3
157540 , p_source_3_meaning => p_source_3_meaning
157541 , p_source_18 => p_source_18
157542 , x_transaction_coa_id => l_adr_transaction_coa_id
157543 , x_accounting_coa_id => l_adr_accounting_coa_id
157544 , x_flexfield_segment_code => l_adr_flexfield_segment_code
157545 , x_flex_value_set_id => l_adr_flex_value_set_id
157546 , x_value_type_code => l_adr_value_type_code
157547 , x_value_combination_id => l_adr_value_combination_id
157548 , x_value_segment_code => l_adr_value_segment_code
157549 , p_side => 'NA'
157550 , p_override_seg_flag => 'Y'
157551 );
157552
157553 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
157554
157555 xla_ae_lines_pkg.set_segment(
157556 p_to_segment_code => 'GL_BALANCING'
157557 , p_segment_value => l_segment
157558 , p_from_segment_code => l_adr_value_segment_code
157559 , p_from_combination_id => l_adr_value_combination_id
157560 , p_value_type_code => l_adr_value_type_code
157561 , p_transaction_coa_id => l_adr_transaction_coa_id
157562 , p_accounting_coa_id => l_adr_accounting_coa_id
157563 , p_flexfield_segment_code => l_adr_flexfield_segment_code
157564 , p_flex_value_set_id => l_adr_flex_value_set_id
157565 , p_adr_code => 'AP_INV_DIST_BAL_SEG'
157566 , p_adr_type_code => 'S'
157567 , p_component_type => l_component_type
157568 , p_component_code => l_component_code
157569 , p_component_type_code => l_component_type_code
157570 , p_component_appl_id => l_component_appl_id
157571 , p_amb_context_code => l_amb_context_code
157572 , p_entity_code => 'AP_INVOICES'
157573 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
157574 , p_side => 'NA'
157575 );
157576
157577 END IF;
157578
157579 l_segment := AcctDerRule_19(
157580 p_application_id => p_application_id
157581 , p_ae_header_id => l_ae_header_id
157582 , p_source_29 => p_source_29
157583 , x_transaction_coa_id => l_adr_transaction_coa_id
157584 , x_accounting_coa_id => l_adr_accounting_coa_id
157585 , x_flexfield_segment_code => l_adr_flexfield_segment_code
157586 , x_flex_value_set_id => l_adr_flex_value_set_id
157587 , x_value_type_code => l_adr_value_type_code
157588 , x_value_combination_id => l_adr_value_combination_id
157589 , x_value_segment_code => l_adr_value_segment_code
157590 , p_side => 'NA'
157591 , p_override_seg_flag => 'Y'
157592 );
157593
157594 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
157595
157596 xla_ae_lines_pkg.set_segment(
157597 p_to_segment_code => 'GL_ACCOUNT'
157598 , p_segment_value => l_segment
157599 , p_from_segment_code => l_adr_value_segment_code
157600 , p_from_combination_id => l_adr_value_combination_id
157601 , p_value_type_code => l_adr_value_type_code
157602 , p_transaction_coa_id => l_adr_transaction_coa_id
157603 , p_accounting_coa_id => l_adr_accounting_coa_id
157604 , p_flexfield_segment_code => l_adr_flexfield_segment_code
157605 , p_flex_value_set_id => l_adr_flex_value_set_id
157606 , p_adr_code => 'AP_TAX_DIFFERENCE_NAT_ACCT'
157607 , p_adr_type_code => 'S'
157608 , p_component_type => l_component_type
157609 , p_component_code => l_component_code
157610 , p_component_type_code => l_component_type_code
157611 , p_component_appl_id => l_component_appl_id
157612 , p_amb_context_code => l_amb_context_code
157613 , p_entity_code => 'AP_INVOICES'
157614 , p_event_class_code => 'PREPAYMENT APPLICATIONS'
157615 , p_side => 'NA'
157616 );
157617
157618 END IF;
157619
157620 --
157621 --
157622 END IF;
157623
157624 --
157625 -- Update the line information that should be overwritten
157626 --
157627 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
157628 p_header_num => 1);
157629 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
157633 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
157630
157631 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
157632
157634 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
157635 END IF;
157636
157637 --
157638 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
157639 --
157640 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
157641 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
157642 ELSE
157643 ---------------------------------------------------------------------------------------------------
157644 -- 4262811a Switch Sign
157645 ---------------------------------------------------------------------------------------------------
157646 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
157647 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
157648 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
157649 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
157650 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
157651 -- 5132302
157652 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
157653 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
157654
157655 END IF;
157656
157657 -- 4955764
157658 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
157659 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
157660
157661
157662 XLA_AE_LINES_PKG.ValidateCurrentLine;
157663 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
157664
157665 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
157666 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
157667 ,p_balance_type_code => l_balance_type_code);
157668
157669 END IF;
157670
157671 -----------------------------------------------------------------------------------------
157672 -- 4262811 Multiperiod Accounting
157673 -----------------------------------------------------------------------------------------
157674 -- No MPA option is assigned.
157675
157676
157677 END IF;
157678 END IF;
157679 --
157680
157681 --
157682 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
157683 trace
157684 (p_msg => 'END of AcctLineType_256'
157685 ,p_level => C_LEVEL_PROCEDURE
157686 ,p_module => l_log_module);
157687 END IF;
157688 --
157689 EXCEPTION
157690 WHEN xla_exceptions_pkg.application_exception THEN
157691 RAISE;
157692 WHEN OTHERS THEN
157693 xla_exceptions_pkg.raise_message
157694 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_256');
157695 END AcctLineType_256;
157696 --
157697
157698 ---------------------------------------
157699 --
157700 -- PRIVATE FUNCTION
157701 -- AcctLineType_257
157702 --
157703 ---------------------------------------
157704 PROCEDURE AcctLineType_257 (
157705 p_application_id IN NUMBER
157706 ,p_event_id IN NUMBER
157707 ,p_calculate_acctd_flag IN VARCHAR2
157708 ,p_calculate_g_l_flag IN VARCHAR2
157709 ,p_actual_flag IN OUT VARCHAR2
157710 ,p_balance_type_code OUT VARCHAR2
157711 ,p_gain_or_loss_ref OUT VARCHAR2
157712
157713 --Invoice Distribution Type
157714 , p_source_21 IN VARCHAR2
157715 , p_source_21_meaning IN VARCHAR2
157716 --Accounting Reversal Indicator
157717 , p_source_41 IN VARCHAR2
157718 --Distribution Link Type
157719 , p_source_43 IN VARCHAR2
157720 --Allocation to Main Distribution Identifier
157721 , p_source_45 IN NUMBER
157722 --Invoice Identifier
157723 , p_source_46 IN NUMBER
157724 --Invoice Distribution Identifier
157725 , p_source_52 IN NUMBER
157726 --Payables Encumbrance Upgrade Credit Account
157727 , p_source_53 IN NUMBER
157728 --Payables Encumbrance Upgrade Credit Amount
157729 , p_source_54 IN NUMBER
157730 --Invoice Currency Code
157731 , p_source_55 IN VARCHAR2
157732 --Payables Encumbrance Upgrade Credit Base Amount
157733 , p_source_56 IN NUMBER
157734 --Payables Encumbrance Upgrade Debit Account
157735 , p_source_57 IN NUMBER
157736 --Payables Encumbrance Upgrade Debit Amount
157737 , p_source_58 IN NUMBER
157738 --Payables Encumbrance Upgrade Debit Base Amount
157739 , p_source_59 IN NUMBER
157740 --Payables Encumbrance Upgrade Option
157741 , p_source_60 IN VARCHAR2
157742 --Deferred Accounting End Date
157743 , p_source_65 IN DATE
157744 --Deferred Accounting Option
157745 , p_source_66 IN VARCHAR2
157746 --Deferred Accounting Start Date
157747 , p_source_67 IN DATE
157748 --Override Accounted Amount Indicator
157749 , p_source_68 IN VARCHAR2
157750 , p_source_68_meaning IN VARCHAR2
157751 --Third Party Type
157755 --Invoice Distribution Statistical Amount
157752 , p_source_71 IN VARCHAR2
157753 --Parent Reversal Identifier
157754 , p_source_72 IN NUMBER
157756 , p_source_73 IN NUMBER
157757 --Invoice Distribution Tax Line Identifier
157758 , p_source_74 IN NUMBER
157759 --Invoice Distribution Tax Distribution Identifier from Tax
157760 , p_source_75 IN NUMBER
157761 --Invoice Distribution Summary Tax Line Identifier
157762 , p_source_76 IN NUMBER
157763 --Payables Upgrade Credit Encumbrance Type Identifier
157764 , p_source_77 IN NUMBER
157765 --Payables Upgrade Debit Encumbrance Type Identifier
157766 , p_source_78 IN NUMBER
157767 --Business Flow Accounts Payable Application Identifier
157768 , p_source_79 IN NUMBER
157769 --Business Flow Invoice Distribution Type
157770 , p_source_80 IN VARCHAR2
157771 --Business Flow Invoice Entity Code
157772 , p_source_81 IN VARCHAR2
157773 --Business Flow Invoice Distribution Identifier
157774 , p_source_82 IN NUMBER
157775 --Business Flow Invoice Identifier
157776 , p_source_83 IN NUMBER
157777 --Purchasing Encumbrance Option
157778 , p_source_86 IN VARCHAR2
157779 , p_source_86_meaning IN VARCHAR2
157780 --Invoice Encumbered Option
157781 , p_source_87 IN VARCHAR2
157782 , p_source_87_meaning IN VARCHAR2
157783 --Invoice Distribution Encumbrance Amount
157784 , p_source_143 IN NUMBER
157785 --Invoice Distribution Encumbrance Ledger Amount
157786 , p_source_144 IN NUMBER
157787 )
157788 IS
157789
157790 l_component_type VARCHAR2(80);
157791 l_component_code VARCHAR2(30);
157792 l_component_type_code VARCHAR2(1);
157793 l_component_appl_id INTEGER;
157794 l_amb_context_code VARCHAR2(30);
157795 l_entity_code VARCHAR2(30);
157796 l_event_class_code VARCHAR2(30);
157797 l_ae_header_id NUMBER;
157798 l_event_type_code VARCHAR2(30);
157799 l_line_definition_code VARCHAR2(30);
157800 l_line_definition_owner_code VARCHAR2(1);
157801 --
157802 -- adr variables
157803 l_segment VARCHAR2(30);
157804 l_ccid NUMBER;
157805 l_adr_transaction_coa_id NUMBER;
157806 l_adr_accounting_coa_id NUMBER;
157807 l_adr_flexfield_segment_code VARCHAR2(30);
157808 l_adr_flex_value_set_id NUMBER;
157809 l_adr_value_type_code VARCHAR2(30);
157810 l_adr_value_combination_id NUMBER;
157811 l_adr_value_segment_code VARCHAR2(30);
157812
157813 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
157814 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
157815 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
157816 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
157817
157818 -- 4262811 Variables ------------------------------------------------------------------------------------------
157819 l_entered_amt_idx NUMBER;
157820 l_accted_amt_idx NUMBER;
157821 l_acc_rev_flag VARCHAR2(1);
157822 l_accrual_line_num NUMBER;
157823 l_tmp_amt NUMBER;
157824 l_acc_rev_natural_side_code VARCHAR2(1);
157825
157826 l_num_entries NUMBER;
157827 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
157828 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
157829 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
157830 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
157831 l_recog_line_1 NUMBER;
157832 l_recog_line_2 NUMBER;
157833
157834 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
157835 l_bflow_applied_to_amt NUMBER; -- 5132302
157836 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
157837
157838 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
157839
157840 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
157841 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
157842
157843 ---------------------------------------------------------------------------------------------------------------
157844
157845
157846 --
157847 -- bulk performance
157848 --
157849 l_balance_type_code VARCHAR2(1);
157850 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
157851 l_log_module VARCHAR2(240);
157852
157853 --
157854 -- Upgrade strategy
157855 --
157856 l_actual_upg_option VARCHAR2(1);
157857 l_enc_upg_option VARCHAR2(1);
157858
157859 --
157860 BEGIN
157861 --
157862 IF g_log_enabled THEN
157863 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_257';
157864 END IF;
157865 --
157866 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
157867
157868 trace
157869 (p_msg => 'BEGIN of AcctLineType_257'
157870 ,p_level => C_LEVEL_PROCEDURE
157871 ,p_module => l_log_module);
157872
157873 END IF;
157874 --
157875 l_component_type := 'AMB_JLT';
157876 l_component_code := 'AP_TAX_EXCHG_RATE_VAR_CM_ENC';
157877 l_component_type_code := 'S';
157878 l_component_appl_id := 200;
157879 l_amb_context_code := 'DEFAULT';
157880 l_entity_code := 'AP_INVOICES';
157884 l_line_definition_code := 'ENC_REV_CM_ALL';
157881 l_event_class_code := 'CREDIT MEMOS';
157882 l_event_type_code := 'CREDIT MEMOS_ALL';
157883 l_line_definition_owner_code := 'S';
157885 --
157886 l_balance_type_code := 'E';
157887 l_segment := NULL;
157888 l_ccid := NULL;
157889 l_adr_transaction_coa_id := NULL;
157890 l_adr_accounting_coa_id := NULL;
157891 l_adr_flexfield_segment_code := NULL;
157892 l_adr_flex_value_set_id := NULL;
157893 l_adr_value_type_code := NULL;
157894 l_adr_value_combination_id := NULL;
157895 l_adr_value_segment_code := NULL;
157896
157897 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
157898 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
157899 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
157900 l_budgetary_control_flag := 'N';
157901
157902 l_bflow_applied_to_amt_idx := NULL; -- 5132302
157903 l_bflow_applied_to_amt := NULL; -- 5132302
157904 l_entered_amt_idx := NULL; -- 4262811
157905 l_accted_amt_idx := NULL; -- 4262811
157906 l_acc_rev_flag := NULL; -- 4262811
157907 l_accrual_line_num := NULL; -- 4262811
157908 l_tmp_amt := NULL; -- 4262811
157909 --
157910 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
157911 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
157912 return;
157913 END IF;
157914
157915 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
157916 l_balance_type_code <> 'B' THEN
157917 IF NVL(p_source_21,'
157918 ') = 'TERV' AND
157919 NVL(p_source_86,'
157920 ') = 'Y' AND
157921 NVL(p_source_87,'
157922 ') = 'Y'
157923 THEN
157924
157925 --
157926 XLA_AE_LINES_PKG.SetNewLine;
157927
157928 p_balance_type_code := l_balance_type_code;
157929 -- set the flag so later we will know whether the gain loss line needs to be created
157930
157931 IF(l_balance_type_code = 'A' ) THEN
157932 p_actual_flag :='G';
157933 END IF;
157934
157935 --
157936 -- bulk performance
157937 --
157938 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
157939 p_header_num => 0); -- 4262811
157940 --
157941 -- set accounting line options
157942 --
157943 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
157944 p_natural_side_code => 'C'
157945 , p_gain_or_loss_flag => 'Y'
157946 , p_gl_transfer_mode_code => 'S'
157947 , p_acct_entry_type_code => 'E'
157948 , p_switch_side_flag => 'Y'
157949 , p_merge_duplicate_code => 'A'
157950 );
157951 --
157952 l_acc_rev_natural_side_code := 'D'; -- 4262811
157953 --
157954 --
157955 -- set accounting line type info
157956 --
157957 xla_ae_lines_pkg.SetAcctLineType
157958 (p_component_type => l_component_type
157959 ,p_event_type_code => l_event_type_code
157960 ,p_line_definition_owner_code => l_line_definition_owner_code
157961 ,p_line_definition_code => l_line_definition_code
157962 ,p_accounting_line_code => l_component_code
157963 ,p_accounting_line_type_code => l_component_type_code
157964 ,p_accounting_line_appl_id => l_component_appl_id
157965 ,p_amb_context_code => l_amb_context_code
157966 ,p_entity_code => l_entity_code
157967 ,p_event_class_code => l_event_class_code);
157968 --
157969 -- set accounting class
157970 --
157971 xla_ae_lines_pkg.SetAcctClass(
157972 p_accounting_class_code => 'TERV'
157973 , p_ae_header_id => l_ae_header_id
157974 );
157975
157976 --
157977 -- set rounding class
157978 --
157979 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
157980 'TERV';
157981
157982 --
157983 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
157984 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
157985 --
157986 -- bulk performance
157987 --
157988 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
157989
157990 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
157991 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
157992
157993 -- 4955764
157994 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
157995 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
157996
157997 -- 4458381 Public Sector Enh
157998
157999 --
158000 -- set accounting attributes for the line type
158001 --
158002 l_entered_amt_idx := 23;
158003 l_accted_amt_idx := 25;
158004 l_bflow_applied_to_amt_idx := NULL; -- 5132302
158005 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
158006 l_rec_acct_attrs.array_char_value(1) := p_source_41;
158010 p_source_code => 'XLA_EVENT_APPL_ID'
158007 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
158008 l_rec_acct_attrs.array_num_value(2) :=
158009 xla_ae_sources_pkg.GetSystemSourceNum(
158011 , p_source_type_code => 'Y'
158012 , p_source_application_id => 602
158013 );
158014 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
158015 l_rec_acct_attrs.array_char_value(3) := p_source_43;
158016 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
158017 l_rec_acct_attrs.array_char_value(4) :=
158018 xla_ae_sources_pkg.GetSystemSourceChar(
158019 p_source_code => 'XLA_ENTITY_CODE'
158020 , p_source_type_code => 'Y'
158021 , p_source_application_id => 602
158022 );
158023 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
158024 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
158025 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
158026 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
158027 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
158028 l_rec_acct_attrs.array_num_value(7) := p_source_79;
158029 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
158030 l_rec_acct_attrs.array_char_value(8) := p_source_80;
158031 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
158032 l_rec_acct_attrs.array_char_value(9) := p_source_81;
158033 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
158034 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
158035 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
158036 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
158037 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
158038 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
158039 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
158040 l_rec_acct_attrs.array_char_value(13) := p_source_43;
158041 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
158042 l_rec_acct_attrs.array_num_value(14) := p_source_53;
158043 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
158044 l_rec_acct_attrs.array_num_value(15) := p_source_54;
158045 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
158046 l_rec_acct_attrs.array_char_value(16) := p_source_55;
158047 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
158048 l_rec_acct_attrs.array_num_value(17) := p_source_56;
158049 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
158050 l_rec_acct_attrs.array_num_value(18) := p_source_57;
158051 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
158052 l_rec_acct_attrs.array_num_value(19) := p_source_58;
158053 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
158054 l_rec_acct_attrs.array_char_value(20) := p_source_55;
158055 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
158056 l_rec_acct_attrs.array_num_value(21) := p_source_59;
158057 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
158058 l_rec_acct_attrs.array_char_value(22) := p_source_60;
158059 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
158060 l_rec_acct_attrs.array_num_value(23) := p_source_143;
158061 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
158062 l_rec_acct_attrs.array_char_value(24) := p_source_55;
158063 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
158064 l_rec_acct_attrs.array_num_value(25) := p_source_144;
158065 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
158066 l_rec_acct_attrs.array_date_value(26) := p_source_65;
158067 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
158068 l_rec_acct_attrs.array_char_value(27) := p_source_66;
158069 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
158070 l_rec_acct_attrs.array_date_value(28) := p_source_67;
158071 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
158072 l_rec_acct_attrs.array_char_value(29) := p_source_68;
158073 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
158074 l_rec_acct_attrs.array_char_value(30) := p_source_71;
158075 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
158076 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
158077 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
158078 l_rec_acct_attrs.array_char_value(32) := p_source_43;
158079 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
158080 l_rec_acct_attrs.array_num_value(33) := p_source_73;
158081 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
158082 l_rec_acct_attrs.array_num_value(34) := p_source_74;
158083 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
158084 l_rec_acct_attrs.array_num_value(35) := p_source_75;
158085 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
158086 l_rec_acct_attrs.array_num_value(36) := p_source_76;
158087 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
158088 l_rec_acct_attrs.array_num_value(37) := p_source_77;
158089 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
158090 l_rec_acct_attrs.array_num_value(38) := p_source_78;
158091
158092 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
158093 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
158094
158098 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
158095 ---------------------------------------------------------------------------------------------------------------
158096 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
158097 ---------------------------------------------------------------------------------------------------------------
158099
158100 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
158101 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
158102
158103 IF xla_accounting_cache_pkg.GetValueChar
158104 (p_source_code => 'LEDGER_CATEGORY_CODE'
158105 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
158106 AND l_bflow_method_code = 'PRIOR_ENTRY'
158107 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
158108 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
158109 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
158110 )
158111 THEN
158112 xla_ae_lines_pkg.BflowUpgEntry
158113 (p_business_method_code => l_bflow_method_code
158114 ,p_business_class_code => l_bflow_class_code
158115 ,p_balance_type => l_balance_type_code);
158116 ELSE
158117 NULL;
158118 XLA_AE_LINES_PKG.business_flow_validation(
158119 p_business_method_code => l_bflow_method_code
158120 ,p_business_class_code => l_bflow_class_code
158121 ,p_inherit_description_flag => l_inherit_desc_flag);
158122 END IF;
158123
158124 --
158125 -- call analytical criteria
158126 --
158127 -- Inherited Analytical Criteria for business flow method of Prior Entry.
158128 --
158129 -- call description
158130 --
158131 -- No description or it is inherited.
158132 --
158133 -- call ADRs
158134 -- Bug 4922099
158135 --
158136 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
158137 (NVL(l_actual_upg_option, 'N') = 'O') OR
158138 (NVL(l_enc_upg_option, 'N') = 'O')
158139 )
158140 THEN
158141 NULL;
158142 --
158143 --
158144
158145 --
158146 --
158147 END IF;
158148 --
158149 -- Bug 4922099
158150 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
158151 (NVL(l_enc_upg_option, 'N') = 'O')
158152 ) AND
158153 (l_bflow_method_code = 'PRIOR_ENTRY')
158154 )
158155 THEN
158156 IF
158157 --
158158 1 = 1
158159 --
158160 THEN
158161 xla_accounting_err_pkg.build_message
158162 (p_appli_s_name => 'XLA'
158163 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
158164 ,p_token_1 => 'LINE_NUMBER'
158165 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
158166 ,p_token_2 => 'LINE_TYPE_NAME'
158167 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
158168 l_component_type
158169 ,l_component_code
158170 ,l_component_type_code
158171 ,l_component_appl_id
158172 ,l_amb_context_code
158173 ,l_entity_code
158174 ,l_event_class_code
158175 )
158176 ,p_token_3 => 'OWNER'
158177 ,p_value_3 => xla_lookups_pkg.get_meaning(
158178 p_lookup_type => 'XLA_OWNER_TYPE'
158179 ,p_lookup_code => l_component_type_code
158180 )
158181 ,p_token_4 => 'PRODUCT_NAME'
158182 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
158183 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
158184 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
158185 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
158186 ,p_ae_header_id => NULL
158187 );
158188
158189 IF (C_LEVEL_ERROR>= g_log_level) THEN
158190 trace
158191 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
158192 ,p_level => C_LEVEL_ERROR
158193 ,p_module => l_log_module);
158194 END IF;
158195 END IF;
158196 END IF;
158200 -- 4219869 Business Flow
158197 --
158198 --
158199 ------------------------------------------------------------------------------------------------
158201 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
158202 -- Prior Entry. Currently, the following code is always generated.
158203 ------------------------------------------------------------------------------------------------
158204 -- No ValidateCurrentLine for business flow method of Prior Entry
158205
158206 ------------------------------------------------------------------------------------
158207 -- 4219869 Business Flow
158208 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
158209 ------------------------------------------------------------------------------------
158210 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
158211
158212 ----------------------------------------------------------------------------------
158213 -- 4219869 Business Flow
158214 -- Update journal entry status -- Need to generate this within IF <condition>
158215 ----------------------------------------------------------------------------------
158216 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
158217 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
158218 ,p_balance_type_code => l_balance_type_code
158219 );
158220
158221 -------------------------------------------------------------------------------------------
158222 -- 4262811 - Generate the Accrual Reversal lines
158223 -------------------------------------------------------------------------------------------
158224 BEGIN
158225 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
158226 (g_array_event(p_event_id).array_value_num('header_index'));
158227 IF l_acc_rev_flag IS NULL THEN
158228 l_acc_rev_flag := 'N';
158229 END IF;
158230 EXCEPTION
158231 WHEN OTHERS THEN
158232 l_acc_rev_flag := 'N';
158233 END;
158234 --
158235 IF (l_acc_rev_flag = 'Y') THEN
158236
158237 -- 4645092 ------------------------------------------------------------------------------
158238 -- To allow MPA report to determine if it should generate report process
158239 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
158240 ------------------------------------------------------------------------------------------
158241
158242 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
158243 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
158244 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
158245 -- call ADRs
158246 -- Bug 4922099
158247 --
158248 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
158249 (NVL(l_actual_upg_option, 'N') = 'O') OR
158250 (NVL(l_enc_upg_option, 'N') = 'O')
158251 )
158252 THEN
158253 NULL;
158254 --
158255 --
158256
158257 --
158258 --
158259 END IF;
158260
158261 --
158262 -- Update the line information that should be overwritten
158263 --
158264 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
158265 p_header_num => 1);
158266 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
158267
158268 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
158269
158270 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
158271 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
158272 END IF;
158273
158274 --
158275 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
158276 --
158277 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
158278 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
158279 ELSE
158280 ---------------------------------------------------------------------------------------------------
158281 -- 4262811a Switch Sign
158282 ---------------------------------------------------------------------------------------------------
158283 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
158284 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
158285 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
158286 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
158287 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
158288 -- 5132302
158289 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
158290 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
158291
158292 END IF;
158293
158294 -- 4955764
158295 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
158296 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
158297
158298
158299 XLA_AE_LINES_PKG.ValidateCurrentLine;
158303 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
158300 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
158301
158302 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
158304 ,p_balance_type_code => l_balance_type_code);
158305
158306 END IF;
158307
158308 -----------------------------------------------------------------------------------------
158309 -- 4262811 Multiperiod Accounting
158310 -----------------------------------------------------------------------------------------
158311 -- No MPA option is assigned.
158312
158313
158314 END IF;
158315 END IF;
158316 --
158317
158318 --
158319 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
158320 trace
158321 (p_msg => 'END of AcctLineType_257'
158322 ,p_level => C_LEVEL_PROCEDURE
158323 ,p_module => l_log_module);
158324 END IF;
158325 --
158326 EXCEPTION
158327 WHEN xla_exceptions_pkg.application_exception THEN
158328 RAISE;
158329 WHEN OTHERS THEN
158330 xla_exceptions_pkg.raise_message
158331 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_257');
158332 END AcctLineType_257;
158333 --
158334
158335 ---------------------------------------
158336 --
158337 -- PRIVATE FUNCTION
158338 -- AcctLineType_258
158339 --
158340 ---------------------------------------
158341 PROCEDURE AcctLineType_258 (
158342 p_application_id IN NUMBER
158343 ,p_event_id IN NUMBER
158344 ,p_calculate_acctd_flag IN VARCHAR2
158345 ,p_calculate_g_l_flag IN VARCHAR2
158346 ,p_actual_flag IN OUT VARCHAR2
158347 ,p_balance_type_code OUT VARCHAR2
158348 ,p_gain_or_loss_ref OUT VARCHAR2
158349
158350 --Invoice Distribution Type
158351 , p_source_21 IN VARCHAR2
158352 , p_source_21_meaning IN VARCHAR2
158353 --Accounting Reversal Indicator
158354 , p_source_41 IN VARCHAR2
158355 --Distribution Link Type
158356 , p_source_43 IN VARCHAR2
158357 --Allocation to Main Distribution Identifier
158358 , p_source_45 IN NUMBER
158359 --Invoice Identifier
158360 , p_source_46 IN NUMBER
158361 --Invoice Distribution Identifier
158362 , p_source_52 IN NUMBER
158363 --Payables Encumbrance Upgrade Credit Account
158364 , p_source_53 IN NUMBER
158365 --Payables Encumbrance Upgrade Credit Amount
158366 , p_source_54 IN NUMBER
158367 --Invoice Currency Code
158368 , p_source_55 IN VARCHAR2
158369 --Payables Encumbrance Upgrade Credit Base Amount
158370 , p_source_56 IN NUMBER
158371 --Payables Encumbrance Upgrade Debit Account
158372 , p_source_57 IN NUMBER
158373 --Payables Encumbrance Upgrade Debit Amount
158374 , p_source_58 IN NUMBER
158375 --Payables Encumbrance Upgrade Debit Base Amount
158376 , p_source_59 IN NUMBER
158377 --Payables Encumbrance Upgrade Option
158378 , p_source_60 IN VARCHAR2
158379 --Deferred Accounting End Date
158380 , p_source_65 IN DATE
158381 --Deferred Accounting Option
158382 , p_source_66 IN VARCHAR2
158383 --Deferred Accounting Start Date
158384 , p_source_67 IN DATE
158385 --Override Accounted Amount Indicator
158386 , p_source_68 IN VARCHAR2
158387 , p_source_68_meaning IN VARCHAR2
158388 --Third Party Type
158389 , p_source_71 IN VARCHAR2
158390 --Parent Reversal Identifier
158391 , p_source_72 IN NUMBER
158392 --Invoice Distribution Tax Line Identifier
158393 , p_source_74 IN NUMBER
158394 --Invoice Distribution Tax Distribution Identifier from Tax
158395 , p_source_75 IN NUMBER
158396 --Invoice Distribution Summary Tax Line Identifier
158397 , p_source_76 IN NUMBER
158398 --Payables Upgrade Credit Encumbrance Type Identifier
158399 , p_source_77 IN NUMBER
158400 --Payables Upgrade Debit Encumbrance Type Identifier
158401 , p_source_78 IN NUMBER
158402 --Business Flow Accounts Payable Application Identifier
158403 , p_source_79 IN NUMBER
158404 --Business Flow Invoice Distribution Type
158405 , p_source_80 IN VARCHAR2
158406 --Business Flow Invoice Entity Code
158407 , p_source_81 IN VARCHAR2
158408 --Business Flow Invoice Distribution Identifier
158409 , p_source_82 IN NUMBER
158410 --Business Flow Invoice Identifier
158411 , p_source_83 IN NUMBER
158412 --Purchasing Encumbrance Option
158413 , p_source_86 IN VARCHAR2
158414 , p_source_86_meaning IN VARCHAR2
158415 --Invoice Encumbered Option
158416 , p_source_87 IN VARCHAR2
158417 , p_source_87_meaning IN VARCHAR2
158418 --Invoice Distribution Encumbrance Amount
158419 , p_source_143 IN NUMBER
158420 --Invoice Distribution Encumbrance Ledger Amount
158421 , p_source_144 IN NUMBER
158422 )
158423 IS
158424
158425 l_component_type VARCHAR2(80);
158426 l_component_code VARCHAR2(30);
158427 l_component_type_code VARCHAR2(1);
158428 l_component_appl_id INTEGER;
158429 l_amb_context_code VARCHAR2(30);
158430 l_entity_code VARCHAR2(30);
158431 l_event_class_code VARCHAR2(30);
158432 l_ae_header_id NUMBER;
158433 l_event_type_code VARCHAR2(30);
158434 l_line_definition_code VARCHAR2(30);
158435 l_line_definition_owner_code VARCHAR2(1);
158439 l_ccid NUMBER;
158436 --
158437 -- adr variables
158438 l_segment VARCHAR2(30);
158440 l_adr_transaction_coa_id NUMBER;
158441 l_adr_accounting_coa_id NUMBER;
158442 l_adr_flexfield_segment_code VARCHAR2(30);
158443 l_adr_flex_value_set_id NUMBER;
158444 l_adr_value_type_code VARCHAR2(30);
158445 l_adr_value_combination_id NUMBER;
158446 l_adr_value_segment_code VARCHAR2(30);
158447
158448 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
158449 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
158450 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
158451 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
158452
158453 -- 4262811 Variables ------------------------------------------------------------------------------------------
158454 l_entered_amt_idx NUMBER;
158455 l_accted_amt_idx NUMBER;
158456 l_acc_rev_flag VARCHAR2(1);
158457 l_accrual_line_num NUMBER;
158458 l_tmp_amt NUMBER;
158459 l_acc_rev_natural_side_code VARCHAR2(1);
158460
158461 l_num_entries NUMBER;
158462 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
158463 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
158464 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
158465 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
158466 l_recog_line_1 NUMBER;
158467 l_recog_line_2 NUMBER;
158468
158469 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
158470 l_bflow_applied_to_amt NUMBER; -- 5132302
158471 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
158472
158473 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
158474
158475 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
158476 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
158477
158478 ---------------------------------------------------------------------------------------------------------------
158479
158480
158481 --
158482 -- bulk performance
158483 --
158484 l_balance_type_code VARCHAR2(1);
158485 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
158486 l_log_module VARCHAR2(240);
158487
158488 --
158489 -- Upgrade strategy
158490 --
158491 l_actual_upg_option VARCHAR2(1);
158492 l_enc_upg_option VARCHAR2(1);
158493
158494 --
158495 BEGIN
158496 --
158497 IF g_log_enabled THEN
158498 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_258';
158499 END IF;
158500 --
158501 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
158502
158503 trace
158504 (p_msg => 'BEGIN of AcctLineType_258'
158505 ,p_level => C_LEVEL_PROCEDURE
158506 ,p_module => l_log_module);
158507
158508 END IF;
158509 --
158510 l_component_type := 'AMB_JLT';
158511 l_component_code := 'AP_TAX_EXCHG_RATE_VAR_DM_ENC';
158512 l_component_type_code := 'S';
158513 l_component_appl_id := 200;
158514 l_amb_context_code := 'DEFAULT';
158515 l_entity_code := 'AP_INVOICES';
158516 l_event_class_code := 'DEBIT MEMOS';
158517 l_event_type_code := 'DEBIT MEMOS_ALL';
158518 l_line_definition_owner_code := 'S';
158519 l_line_definition_code := 'ENC_REV_DM_ALL';
158520 --
158521 l_balance_type_code := 'E';
158522 l_segment := NULL;
158523 l_ccid := NULL;
158524 l_adr_transaction_coa_id := NULL;
158525 l_adr_accounting_coa_id := NULL;
158526 l_adr_flexfield_segment_code := NULL;
158527 l_adr_flex_value_set_id := NULL;
158528 l_adr_value_type_code := NULL;
158529 l_adr_value_combination_id := NULL;
158530 l_adr_value_segment_code := NULL;
158531
158532 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
158533 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
158534 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
158535 l_budgetary_control_flag := 'N';
158536
158537 l_bflow_applied_to_amt_idx := NULL; -- 5132302
158538 l_bflow_applied_to_amt := NULL; -- 5132302
158539 l_entered_amt_idx := NULL; -- 4262811
158540 l_accted_amt_idx := NULL; -- 4262811
158541 l_acc_rev_flag := NULL; -- 4262811
158542 l_accrual_line_num := NULL; -- 4262811
158543 l_tmp_amt := NULL; -- 4262811
158544 --
158545 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
158546 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
158547 return;
158548 END IF;
158549
158550 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
158551 l_balance_type_code <> 'B' THEN
158552 IF NVL(p_source_21,'
158553 ') = 'TERV' AND
158554 NVL(p_source_86,'
158555 ') = 'Y' AND
158556 NVL(p_source_87,'
158557 ') = 'Y'
158558 THEN
158559
158560 --
158561 XLA_AE_LINES_PKG.SetNewLine;
158562
158563 p_balance_type_code := l_balance_type_code;
158567 p_actual_flag :='G';
158564 -- set the flag so later we will know whether the gain loss line needs to be created
158565
158566 IF(l_balance_type_code = 'A' ) THEN
158568 END IF;
158569
158570 --
158571 -- bulk performance
158572 --
158573 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
158574 p_header_num => 0); -- 4262811
158575 --
158576 -- set accounting line options
158577 --
158578 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
158579 p_natural_side_code => 'C'
158580 , p_gain_or_loss_flag => 'Y'
158581 , p_gl_transfer_mode_code => 'S'
158582 , p_acct_entry_type_code => 'E'
158583 , p_switch_side_flag => 'Y'
158584 , p_merge_duplicate_code => 'A'
158585 );
158586 --
158587 l_acc_rev_natural_side_code := 'D'; -- 4262811
158588 --
158589 --
158590 -- set accounting line type info
158591 --
158592 xla_ae_lines_pkg.SetAcctLineType
158593 (p_component_type => l_component_type
158594 ,p_event_type_code => l_event_type_code
158595 ,p_line_definition_owner_code => l_line_definition_owner_code
158596 ,p_line_definition_code => l_line_definition_code
158597 ,p_accounting_line_code => l_component_code
158598 ,p_accounting_line_type_code => l_component_type_code
158599 ,p_accounting_line_appl_id => l_component_appl_id
158600 ,p_amb_context_code => l_amb_context_code
158601 ,p_entity_code => l_entity_code
158602 ,p_event_class_code => l_event_class_code);
158603 --
158604 -- set accounting class
158605 --
158606 xla_ae_lines_pkg.SetAcctClass(
158607 p_accounting_class_code => 'TERV'
158608 , p_ae_header_id => l_ae_header_id
158609 );
158610
158611 --
158612 -- set rounding class
158613 --
158614 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
158615 'TERV';
158616
158617 --
158618 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
158619 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
158620 --
158621 -- bulk performance
158622 --
158623 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
158624
158625 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
158626 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
158627
158628 -- 4955764
158629 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
158630 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
158631
158632 -- 4458381 Public Sector Enh
158633
158634 --
158635 -- set accounting attributes for the line type
158636 --
158637 l_entered_amt_idx := 23;
158638 l_accted_amt_idx := 25;
158639 l_bflow_applied_to_amt_idx := NULL; -- 5132302
158640 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
158641 l_rec_acct_attrs.array_char_value(1) := p_source_41;
158642 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
158643 l_rec_acct_attrs.array_num_value(2) :=
158644 xla_ae_sources_pkg.GetSystemSourceNum(
158645 p_source_code => 'XLA_EVENT_APPL_ID'
158646 , p_source_type_code => 'Y'
158647 , p_source_application_id => 602
158648 );
158649 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
158650 l_rec_acct_attrs.array_char_value(3) := p_source_43;
158651 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
158652 l_rec_acct_attrs.array_char_value(4) :=
158653 xla_ae_sources_pkg.GetSystemSourceChar(
158654 p_source_code => 'XLA_ENTITY_CODE'
158655 , p_source_type_code => 'Y'
158656 , p_source_application_id => 602
158657 );
158658 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
158659 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
158660 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
158661 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
158662 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
158663 l_rec_acct_attrs.array_num_value(7) := p_source_79;
158664 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
158665 l_rec_acct_attrs.array_char_value(8) := p_source_80;
158666 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
158667 l_rec_acct_attrs.array_char_value(9) := p_source_81;
158668 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
158669 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
158670 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
158671 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
158672 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
158673 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
158674 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
158675 l_rec_acct_attrs.array_char_value(13) := p_source_43;
158676 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
158677 l_rec_acct_attrs.array_num_value(14) := p_source_53;
158681 l_rec_acct_attrs.array_char_value(16) := p_source_55;
158678 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
158679 l_rec_acct_attrs.array_num_value(15) := p_source_54;
158680 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
158682 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
158683 l_rec_acct_attrs.array_num_value(17) := p_source_56;
158684 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
158685 l_rec_acct_attrs.array_num_value(18) := p_source_57;
158686 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
158687 l_rec_acct_attrs.array_num_value(19) := p_source_58;
158688 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
158689 l_rec_acct_attrs.array_char_value(20) := p_source_55;
158690 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
158691 l_rec_acct_attrs.array_num_value(21) := p_source_59;
158692 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
158693 l_rec_acct_attrs.array_char_value(22) := p_source_60;
158694 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
158695 l_rec_acct_attrs.array_num_value(23) := p_source_143;
158696 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
158697 l_rec_acct_attrs.array_char_value(24) := p_source_55;
158698 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
158699 l_rec_acct_attrs.array_num_value(25) := p_source_144;
158700 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
158701 l_rec_acct_attrs.array_date_value(26) := p_source_65;
158702 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
158703 l_rec_acct_attrs.array_char_value(27) := p_source_66;
158704 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
158705 l_rec_acct_attrs.array_date_value(28) := p_source_67;
158706 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
158707 l_rec_acct_attrs.array_char_value(29) := p_source_68;
158708 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
158709 l_rec_acct_attrs.array_char_value(30) := p_source_71;
158710 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
158711 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
158712 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
158713 l_rec_acct_attrs.array_char_value(32) := p_source_43;
158714 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
158715 l_rec_acct_attrs.array_num_value(33) := p_source_74;
158716 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
158717 l_rec_acct_attrs.array_num_value(34) := p_source_75;
158718 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
158719 l_rec_acct_attrs.array_num_value(35) := p_source_76;
158720 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
158721 l_rec_acct_attrs.array_num_value(36) := p_source_77;
158722 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
158723 l_rec_acct_attrs.array_num_value(37) := p_source_78;
158724
158725 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
158726 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
158727
158728 ---------------------------------------------------------------------------------------------------------------
158729 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
158730 ---------------------------------------------------------------------------------------------------------------
158731 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
158732
158733 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
158734 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
158735
158736 IF xla_accounting_cache_pkg.GetValueChar
158737 (p_source_code => 'LEDGER_CATEGORY_CODE'
158738 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
158739 AND l_bflow_method_code = 'PRIOR_ENTRY'
158740 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
158741 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
158742 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
158743 )
158744 THEN
158745 xla_ae_lines_pkg.BflowUpgEntry
158746 (p_business_method_code => l_bflow_method_code
158747 ,p_business_class_code => l_bflow_class_code
158748 ,p_balance_type => l_balance_type_code);
158749 ELSE
158750 NULL;
158751 XLA_AE_LINES_PKG.business_flow_validation(
158752 p_business_method_code => l_bflow_method_code
158753 ,p_business_class_code => l_bflow_class_code
158754 ,p_inherit_description_flag => l_inherit_desc_flag);
158755 END IF;
158756
158757 --
158758 -- call analytical criteria
158759 --
158760 -- Inherited Analytical Criteria for business flow method of Prior Entry.
158761 --
158762 -- call description
158763 --
158764 -- No description or it is inherited.
158765 --
158766 -- call ADRs
158767 -- Bug 4922099
158768 --
158769 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
158770 (NVL(l_actual_upg_option, 'N') = 'O') OR
158771 (NVL(l_enc_upg_option, 'N') = 'O')
158772 )
158773 THEN
158777
158774 NULL;
158775 --
158776 --
158778 --
158779 --
158780 END IF;
158781 --
158782 -- Bug 4922099
158783 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
158784 (NVL(l_enc_upg_option, 'N') = 'O')
158785 ) AND
158786 (l_bflow_method_code = 'PRIOR_ENTRY')
158787 )
158788 THEN
158789 IF
158790 --
158791 1 = 1
158792 --
158793 THEN
158794 xla_accounting_err_pkg.build_message
158795 (p_appli_s_name => 'XLA'
158796 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
158797 ,p_token_1 => 'LINE_NUMBER'
158798 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
158799 ,p_token_2 => 'LINE_TYPE_NAME'
158800 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
158801 l_component_type
158802 ,l_component_code
158803 ,l_component_type_code
158804 ,l_component_appl_id
158805 ,l_amb_context_code
158806 ,l_entity_code
158807 ,l_event_class_code
158808 )
158809 ,p_token_3 => 'OWNER'
158810 ,p_value_3 => xla_lookups_pkg.get_meaning(
158811 p_lookup_type => 'XLA_OWNER_TYPE'
158812 ,p_lookup_code => l_component_type_code
158813 )
158814 ,p_token_4 => 'PRODUCT_NAME'
158815 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
158816 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
158817 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
158818 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
158819 ,p_ae_header_id => NULL
158820 );
158821
158822 IF (C_LEVEL_ERROR>= g_log_level) THEN
158823 trace
158824 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
158825 ,p_level => C_LEVEL_ERROR
158826 ,p_module => l_log_module);
158827 END IF;
158828 END IF;
158829 END IF;
158830 --
158831 --
158832 ------------------------------------------------------------------------------------------------
158833 -- 4219869 Business Flow
158834 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
158835 -- Prior Entry. Currently, the following code is always generated.
158836 ------------------------------------------------------------------------------------------------
158837 -- No ValidateCurrentLine for business flow method of Prior Entry
158838
158839 ------------------------------------------------------------------------------------
158840 -- 4219869 Business Flow
158841 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
158842 ------------------------------------------------------------------------------------
158843 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
158844
158845 ----------------------------------------------------------------------------------
158846 -- 4219869 Business Flow
158847 -- Update journal entry status -- Need to generate this within IF <condition>
158848 ----------------------------------------------------------------------------------
158849 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
158850 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
158851 ,p_balance_type_code => l_balance_type_code
158852 );
158853
158854 -------------------------------------------------------------------------------------------
158855 -- 4262811 - Generate the Accrual Reversal lines
158856 -------------------------------------------------------------------------------------------
158857 BEGIN
158858 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
158859 (g_array_event(p_event_id).array_value_num('header_index'));
158860 IF l_acc_rev_flag IS NULL THEN
158861 l_acc_rev_flag := 'N';
158862 END IF;
158863 EXCEPTION
158864 WHEN OTHERS THEN
158865 l_acc_rev_flag := 'N';
158866 END;
158867 --
158868 IF (l_acc_rev_flag = 'Y') THEN
158869
158870 -- 4645092 ------------------------------------------------------------------------------
158874
158871 -- To allow MPA report to determine if it should generate report process
158872 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
158873 ------------------------------------------------------------------------------------------
158875 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
158876 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
158877 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
158878 -- call ADRs
158879 -- Bug 4922099
158880 --
158881 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
158882 (NVL(l_actual_upg_option, 'N') = 'O') OR
158883 (NVL(l_enc_upg_option, 'N') = 'O')
158884 )
158885 THEN
158886 NULL;
158887 --
158888 --
158889
158890 --
158891 --
158892 END IF;
158893
158894 --
158895 -- Update the line information that should be overwritten
158896 --
158897 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
158898 p_header_num => 1);
158899 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
158900
158901 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
158902
158903 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
158904 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
158905 END IF;
158906
158907 --
158908 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
158909 --
158910 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
158911 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
158912 ELSE
158913 ---------------------------------------------------------------------------------------------------
158914 -- 4262811a Switch Sign
158915 ---------------------------------------------------------------------------------------------------
158916 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
158917 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
158918 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
158919 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
158920 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
158921 -- 5132302
158922 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
158923 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
158924
158925 END IF;
158926
158927 -- 4955764
158928 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
158929 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
158930
158931
158932 XLA_AE_LINES_PKG.ValidateCurrentLine;
158933 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
158934
158935 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
158936 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
158937 ,p_balance_type_code => l_balance_type_code);
158938
158939 END IF;
158940
158941 -----------------------------------------------------------------------------------------
158942 -- 4262811 Multiperiod Accounting
158943 -----------------------------------------------------------------------------------------
158944 -- No MPA option is assigned.
158945
158946
158947 END IF;
158948 END IF;
158949 --
158950
158951 --
158952 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
158953 trace
158954 (p_msg => 'END of AcctLineType_258'
158955 ,p_level => C_LEVEL_PROCEDURE
158956 ,p_module => l_log_module);
158957 END IF;
158958 --
158959 EXCEPTION
158960 WHEN xla_exceptions_pkg.application_exception THEN
158961 RAISE;
158962 WHEN OTHERS THEN
158963 xla_exceptions_pkg.raise_message
158964 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_258');
158965 END AcctLineType_258;
158966 --
158967
158968 ---------------------------------------
158969 --
158970 -- PRIVATE FUNCTION
158971 -- AcctLineType_259
158972 --
158973 ---------------------------------------
158974 PROCEDURE AcctLineType_259 (
158975 p_application_id IN NUMBER
158976 ,p_event_id IN NUMBER
158977 ,p_calculate_acctd_flag IN VARCHAR2
158978 ,p_calculate_g_l_flag IN VARCHAR2
158979 ,p_actual_flag IN OUT VARCHAR2
158980 ,p_balance_type_code OUT VARCHAR2
158981 ,p_gain_or_loss_ref OUT VARCHAR2
158982
158983 --Invoice Distribution Type
158984 , p_source_21 IN VARCHAR2
158985 , p_source_21_meaning IN VARCHAR2
158986 --Accounting Reversal Indicator
158987 , p_source_41 IN VARCHAR2
158988 --Distribution Link Type
158989 , p_source_43 IN VARCHAR2
158990 --Allocation to Main Distribution Identifier
158991 , p_source_45 IN NUMBER
158992 --Invoice Identifier
158993 , p_source_46 IN NUMBER
158994 --Invoice Distribution Identifier
158998 --Payables Encumbrance Upgrade Credit Amount
158995 , p_source_52 IN NUMBER
158996 --Payables Encumbrance Upgrade Credit Account
158997 , p_source_53 IN NUMBER
158999 , p_source_54 IN NUMBER
159000 --Invoice Currency Code
159001 , p_source_55 IN VARCHAR2
159002 --Payables Encumbrance Upgrade Credit Base Amount
159003 , p_source_56 IN NUMBER
159004 --Payables Encumbrance Upgrade Debit Account
159005 , p_source_57 IN NUMBER
159006 --Payables Encumbrance Upgrade Debit Amount
159007 , p_source_58 IN NUMBER
159008 --Payables Encumbrance Upgrade Debit Base Amount
159009 , p_source_59 IN NUMBER
159010 --Payables Encumbrance Upgrade Option
159011 , p_source_60 IN VARCHAR2
159012 --Invoice Distribution Amount
159013 , p_source_61 IN NUMBER
159014 --Deferred Accounting End Date
159015 , p_source_65 IN DATE
159016 --Deferred Accounting Option
159017 , p_source_66 IN VARCHAR2
159018 --Deferred Accounting Start Date
159019 , p_source_67 IN DATE
159020 --Override Accounted Amount Indicator
159021 , p_source_68 IN VARCHAR2
159022 , p_source_68_meaning IN VARCHAR2
159023 --Third Party Type
159024 , p_source_71 IN VARCHAR2
159025 --Parent Reversal Identifier
159026 , p_source_72 IN NUMBER
159027 --Invoice Distribution Statistical Amount
159028 , p_source_73 IN NUMBER
159029 --Invoice Distribution Tax Line Identifier
159030 , p_source_74 IN NUMBER
159031 --Invoice Distribution Tax Distribution Identifier from Tax
159032 , p_source_75 IN NUMBER
159033 --Invoice Distribution Summary Tax Line Identifier
159034 , p_source_76 IN NUMBER
159035 --Payables Upgrade Credit Encumbrance Type Identifier
159036 , p_source_77 IN NUMBER
159037 --Payables Upgrade Debit Encumbrance Type Identifier
159038 , p_source_78 IN NUMBER
159039 --Business Flow Accounts Payable Application Identifier
159040 , p_source_79 IN NUMBER
159041 --Business Flow Invoice Distribution Type
159042 , p_source_80 IN VARCHAR2
159043 --Business Flow Invoice Entity Code
159044 , p_source_81 IN VARCHAR2
159045 --Business Flow Invoice Distribution Identifier
159046 , p_source_82 IN NUMBER
159047 --Business Flow Invoice Identifier
159048 , p_source_83 IN NUMBER
159049 --Purchasing Encumbrance Option
159050 , p_source_86 IN VARCHAR2
159051 , p_source_86_meaning IN VARCHAR2
159052 --Invoice Encumbered Option
159053 , p_source_87 IN VARCHAR2
159054 , p_source_87_meaning IN VARCHAR2
159055 --Invoice Distribution Encumbrance Amount
159056 , p_source_143 IN NUMBER
159057 --Invoice Distribution Encumbrance Ledger Amount
159058 , p_source_144 IN NUMBER
159059 )
159060 IS
159061
159062 l_component_type VARCHAR2(80);
159063 l_component_code VARCHAR2(30);
159064 l_component_type_code VARCHAR2(1);
159065 l_component_appl_id INTEGER;
159066 l_amb_context_code VARCHAR2(30);
159067 l_entity_code VARCHAR2(30);
159068 l_event_class_code VARCHAR2(30);
159069 l_ae_header_id NUMBER;
159070 l_event_type_code VARCHAR2(30);
159071 l_line_definition_code VARCHAR2(30);
159072 l_line_definition_owner_code VARCHAR2(1);
159073 --
159074 -- adr variables
159075 l_segment VARCHAR2(30);
159076 l_ccid NUMBER;
159077 l_adr_transaction_coa_id NUMBER;
159078 l_adr_accounting_coa_id NUMBER;
159079 l_adr_flexfield_segment_code VARCHAR2(30);
159080 l_adr_flex_value_set_id NUMBER;
159081 l_adr_value_type_code VARCHAR2(30);
159082 l_adr_value_combination_id NUMBER;
159083 l_adr_value_segment_code VARCHAR2(30);
159084
159085 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
159086 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
159087 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
159088 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
159089
159090 -- 4262811 Variables ------------------------------------------------------------------------------------------
159091 l_entered_amt_idx NUMBER;
159092 l_accted_amt_idx NUMBER;
159093 l_acc_rev_flag VARCHAR2(1);
159094 l_accrual_line_num NUMBER;
159095 l_tmp_amt NUMBER;
159096 l_acc_rev_natural_side_code VARCHAR2(1);
159097
159098 l_num_entries NUMBER;
159099 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
159100 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
159101 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
159102 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
159103 l_recog_line_1 NUMBER;
159104 l_recog_line_2 NUMBER;
159105
159106 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
159107 l_bflow_applied_to_amt NUMBER; -- 5132302
159108 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
159109
159110 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
159111
159112 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
159113 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
159114
159115 ---------------------------------------------------------------------------------------------------------------
159119 -- bulk performance
159116
159117
159118 --
159120 --
159121 l_balance_type_code VARCHAR2(1);
159122 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
159123 l_log_module VARCHAR2(240);
159124
159125 --
159126 -- Upgrade strategy
159127 --
159128 l_actual_upg_option VARCHAR2(1);
159129 l_enc_upg_option VARCHAR2(1);
159130
159131 --
159132 BEGIN
159133 --
159134 IF g_log_enabled THEN
159135 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_259';
159136 END IF;
159137 --
159138 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159139
159140 trace
159141 (p_msg => 'BEGIN of AcctLineType_259'
159142 ,p_level => C_LEVEL_PROCEDURE
159143 ,p_module => l_log_module);
159144
159145 END IF;
159146 --
159147 l_component_type := 'AMB_JLT';
159148 l_component_code := 'AP_TAX_EXCHG_RATE_VAR_INV_ENC';
159149 l_component_type_code := 'S';
159150 l_component_appl_id := 200;
159151 l_amb_context_code := 'DEFAULT';
159152 l_entity_code := 'AP_INVOICES';
159153 l_event_class_code := 'INVOICES';
159154 l_event_type_code := 'INVOICES_ALL';
159155 l_line_definition_owner_code := 'S';
159156 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
159157 --
159158 l_balance_type_code := 'E';
159159 l_segment := NULL;
159160 l_ccid := NULL;
159161 l_adr_transaction_coa_id := NULL;
159162 l_adr_accounting_coa_id := NULL;
159163 l_adr_flexfield_segment_code := NULL;
159164 l_adr_flex_value_set_id := NULL;
159165 l_adr_value_type_code := NULL;
159166 l_adr_value_combination_id := NULL;
159167 l_adr_value_segment_code := NULL;
159168
159169 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
159170 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
159171 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
159172 l_budgetary_control_flag := 'N';
159173
159174 l_bflow_applied_to_amt_idx := NULL; -- 5132302
159175 l_bflow_applied_to_amt := NULL; -- 5132302
159176 l_entered_amt_idx := NULL; -- 4262811
159177 l_accted_amt_idx := NULL; -- 4262811
159178 l_acc_rev_flag := NULL; -- 4262811
159179 l_accrual_line_num := NULL; -- 4262811
159180 l_tmp_amt := NULL; -- 4262811
159181 --
159182 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
159183 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
159184 return;
159185 END IF;
159186
159187 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
159188 l_balance_type_code <> 'B' THEN
159189 IF NVL(p_source_21,'
159190 ') = 'TERV' AND
159191 NVL(p_source_86,'
159192 ') = 'Y' AND
159193 NVL(p_source_87,'
159194 ') = 'Y'
159195 THEN
159196
159197 --
159198 XLA_AE_LINES_PKG.SetNewLine;
159199
159200 p_balance_type_code := l_balance_type_code;
159201 -- set the flag so later we will know whether the gain loss line needs to be created
159202
159203 IF(l_balance_type_code = 'A' ) THEN
159204 p_actual_flag :='G';
159205 END IF;
159206
159207 --
159208 -- bulk performance
159209 --
159210 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
159211 p_header_num => 0); -- 4262811
159212 --
159213 -- set accounting line options
159214 --
159215 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
159216 p_natural_side_code => 'C'
159217 , p_gain_or_loss_flag => 'Y'
159218 , p_gl_transfer_mode_code => 'S'
159219 , p_acct_entry_type_code => 'E'
159220 , p_switch_side_flag => 'Y'
159221 , p_merge_duplicate_code => 'A'
159222 );
159223 --
159224 l_acc_rev_natural_side_code := 'D'; -- 4262811
159225 --
159226 --
159227 -- set accounting line type info
159228 --
159229 xla_ae_lines_pkg.SetAcctLineType
159230 (p_component_type => l_component_type
159231 ,p_event_type_code => l_event_type_code
159232 ,p_line_definition_owner_code => l_line_definition_owner_code
159233 ,p_line_definition_code => l_line_definition_code
159234 ,p_accounting_line_code => l_component_code
159235 ,p_accounting_line_type_code => l_component_type_code
159236 ,p_accounting_line_appl_id => l_component_appl_id
159237 ,p_amb_context_code => l_amb_context_code
159238 ,p_entity_code => l_entity_code
159239 ,p_event_class_code => l_event_class_code);
159240 --
159241 -- set accounting class
159242 --
159243 xla_ae_lines_pkg.SetAcctClass(
159244 p_accounting_class_code => 'TERV'
159245 , p_ae_header_id => l_ae_header_id
159246 );
159247
159248 --
159249 -- set rounding class
159250 --
159251 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
159252 'TERV';
159256 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
159253
159254 --
159255 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
159257 --
159258 -- bulk performance
159259 --
159260 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
159261
159262 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
159263 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
159264
159265 -- 4955764
159266 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
159267 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
159268
159269 -- 4458381 Public Sector Enh
159270
159271 --
159272 -- set accounting attributes for the line type
159273 --
159274 l_entered_amt_idx := 24;
159275 l_accted_amt_idx := 26;
159276 l_bflow_applied_to_amt_idx := 7; -- 5132302
159277 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
159278 l_rec_acct_attrs.array_char_value(1) := p_source_41;
159279 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
159280 l_rec_acct_attrs.array_num_value(2) :=
159281 xla_ae_sources_pkg.GetSystemSourceNum(
159282 p_source_code => 'XLA_EVENT_APPL_ID'
159283 , p_source_type_code => 'Y'
159284 , p_source_application_id => 602
159285 );
159286 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
159287 l_rec_acct_attrs.array_char_value(3) := p_source_43;
159288 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
159289 l_rec_acct_attrs.array_char_value(4) :=
159290 xla_ae_sources_pkg.GetSystemSourceChar(
159291 p_source_code => 'XLA_ENTITY_CODE'
159292 , p_source_type_code => 'Y'
159293 , p_source_application_id => 602
159294 );
159295 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
159296 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
159297 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
159298 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
159299 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
159300 l_rec_acct_attrs.array_num_value(7) := p_source_61;
159301 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
159302 l_rec_acct_attrs.array_num_value(8) := p_source_79;
159303 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
159304 l_rec_acct_attrs.array_char_value(9) := p_source_80;
159305 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
159306 l_rec_acct_attrs.array_char_value(10) := p_source_81;
159307 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
159308 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
159309 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
159310 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
159311 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
159312 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
159313 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
159314 l_rec_acct_attrs.array_char_value(14) := p_source_43;
159315 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
159316 l_rec_acct_attrs.array_num_value(15) := p_source_53;
159317 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
159318 l_rec_acct_attrs.array_num_value(16) := p_source_54;
159319 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
159320 l_rec_acct_attrs.array_char_value(17) := p_source_55;
159321 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
159322 l_rec_acct_attrs.array_num_value(18) := p_source_56;
159323 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
159324 l_rec_acct_attrs.array_num_value(19) := p_source_57;
159325 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
159326 l_rec_acct_attrs.array_num_value(20) := p_source_58;
159327 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
159328 l_rec_acct_attrs.array_char_value(21) := p_source_55;
159329 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
159330 l_rec_acct_attrs.array_num_value(22) := p_source_59;
159331 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
159332 l_rec_acct_attrs.array_char_value(23) := p_source_60;
159333 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
159334 l_rec_acct_attrs.array_num_value(24) := p_source_143;
159335 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
159336 l_rec_acct_attrs.array_char_value(25) := p_source_55;
159337 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
159338 l_rec_acct_attrs.array_num_value(26) := p_source_144;
159339 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
159340 l_rec_acct_attrs.array_date_value(27) := p_source_65;
159341 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
159342 l_rec_acct_attrs.array_char_value(28) := p_source_66;
159343 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
159344 l_rec_acct_attrs.array_date_value(29) := p_source_67;
159345 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
159346 l_rec_acct_attrs.array_char_value(30) := p_source_68;
159347 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
159351 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
159348 l_rec_acct_attrs.array_char_value(31) := p_source_71;
159349 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
159350 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
159352 l_rec_acct_attrs.array_char_value(33) := p_source_43;
159353 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
159354 l_rec_acct_attrs.array_num_value(34) := p_source_73;
159355 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
159356 l_rec_acct_attrs.array_num_value(35) := p_source_74;
159357 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
159358 l_rec_acct_attrs.array_num_value(36) := p_source_75;
159359 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
159360 l_rec_acct_attrs.array_num_value(37) := p_source_76;
159361 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
159362 l_rec_acct_attrs.array_num_value(38) := p_source_77;
159363 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
159364 l_rec_acct_attrs.array_num_value(39) := p_source_78;
159365
159366 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
159367 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
159368
159369 ---------------------------------------------------------------------------------------------------------------
159370 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
159371 ---------------------------------------------------------------------------------------------------------------
159372 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
159373
159374 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
159375 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
159376
159377 IF xla_accounting_cache_pkg.GetValueChar
159378 (p_source_code => 'LEDGER_CATEGORY_CODE'
159379 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
159380 AND l_bflow_method_code = 'PRIOR_ENTRY'
159381 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
159382 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
159383 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
159384 )
159385 THEN
159386 xla_ae_lines_pkg.BflowUpgEntry
159387 (p_business_method_code => l_bflow_method_code
159388 ,p_business_class_code => l_bflow_class_code
159389 ,p_balance_type => l_balance_type_code);
159390 ELSE
159391 NULL;
159392 XLA_AE_LINES_PKG.business_flow_validation(
159393 p_business_method_code => l_bflow_method_code
159394 ,p_business_class_code => l_bflow_class_code
159395 ,p_inherit_description_flag => l_inherit_desc_flag);
159396 END IF;
159397
159398 --
159399 -- call analytical criteria
159400 --
159401 -- Inherited Analytical Criteria for business flow method of Prior Entry.
159402 --
159403 -- call description
159404 --
159405 -- No description or it is inherited.
159406 --
159407 -- call ADRs
159408 -- Bug 4922099
159409 --
159410 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
159411 (NVL(l_actual_upg_option, 'N') = 'O') OR
159412 (NVL(l_enc_upg_option, 'N') = 'O')
159413 )
159414 THEN
159415 NULL;
159416 --
159417 --
159418
159419 --
159420 --
159421 END IF;
159422 --
159423 -- Bug 4922099
159424 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
159425 (NVL(l_enc_upg_option, 'N') = 'O')
159426 ) AND
159427 (l_bflow_method_code = 'PRIOR_ENTRY')
159428 )
159429 THEN
159430 IF
159431 --
159432 1 = 1
159433 --
159434 THEN
159435 xla_accounting_err_pkg.build_message
159436 (p_appli_s_name => 'XLA'
159437 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
159438 ,p_token_1 => 'LINE_NUMBER'
159439 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
159440 ,p_token_2 => 'LINE_TYPE_NAME'
159441 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
159442 l_component_type
159443 ,l_component_code
159444 ,l_component_type_code
159445 ,l_component_appl_id
159446 ,l_amb_context_code
159447 ,l_entity_code
159448 ,l_event_class_code
159449 )
159450 ,p_token_3 => 'OWNER'
159454 )
159451 ,p_value_3 => xla_lookups_pkg.get_meaning(
159452 p_lookup_type => 'XLA_OWNER_TYPE'
159453 ,p_lookup_code => l_component_type_code
159455 ,p_token_4 => 'PRODUCT_NAME'
159456 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
159457 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
159458 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
159459 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
159460 ,p_ae_header_id => NULL
159461 );
159462
159463 IF (C_LEVEL_ERROR>= g_log_level) THEN
159464 trace
159465 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
159466 ,p_level => C_LEVEL_ERROR
159467 ,p_module => l_log_module);
159468 END IF;
159469 END IF;
159470 END IF;
159471 --
159472 --
159473 ------------------------------------------------------------------------------------------------
159474 -- 4219869 Business Flow
159475 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
159476 -- Prior Entry. Currently, the following code is always generated.
159477 ------------------------------------------------------------------------------------------------
159478 -- No ValidateCurrentLine for business flow method of Prior Entry
159479
159480 ------------------------------------------------------------------------------------
159481 -- 4219869 Business Flow
159482 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
159483 ------------------------------------------------------------------------------------
159484 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
159485
159486 ----------------------------------------------------------------------------------
159487 -- 4219869 Business Flow
159488 -- Update journal entry status -- Need to generate this within IF <condition>
159489 ----------------------------------------------------------------------------------
159490 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
159491 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
159492 ,p_balance_type_code => l_balance_type_code
159493 );
159494
159495 -------------------------------------------------------------------------------------------
159496 -- 4262811 - Generate the Accrual Reversal lines
159497 -------------------------------------------------------------------------------------------
159498 BEGIN
159499 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
159500 (g_array_event(p_event_id).array_value_num('header_index'));
159501 IF l_acc_rev_flag IS NULL THEN
159502 l_acc_rev_flag := 'N';
159503 END IF;
159504 EXCEPTION
159505 WHEN OTHERS THEN
159506 l_acc_rev_flag := 'N';
159507 END;
159508 --
159509 IF (l_acc_rev_flag = 'Y') THEN
159510
159511 -- 4645092 ------------------------------------------------------------------------------
159512 -- To allow MPA report to determine if it should generate report process
159513 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
159514 ------------------------------------------------------------------------------------------
159515
159516 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
159517 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
159518 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
159519 -- call ADRs
159520 -- Bug 4922099
159521 --
159522 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
159523 (NVL(l_actual_upg_option, 'N') = 'O') OR
159524 (NVL(l_enc_upg_option, 'N') = 'O')
159525 )
159526 THEN
159527 NULL;
159528 --
159529 --
159530
159531 --
159532 --
159533 END IF;
159534
159535 --
159536 -- Update the line information that should be overwritten
159537 --
159538 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
159539 p_header_num => 1);
159540 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
159541
159542 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
159543
159544 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
159545 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
159546 END IF;
159547
159548 --
159549 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
159550 --
159551 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
159552 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
159556 ---------------------------------------------------------------------------------------------------
159553 ELSE
159554 ---------------------------------------------------------------------------------------------------
159555 -- 4262811a Switch Sign
159557 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
159558 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
159559 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
159560 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
159561 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
159562 -- 5132302
159563 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
159564 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
159565
159566 END IF;
159567
159568 -- 4955764
159569 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
159570 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
159571
159572
159573 XLA_AE_LINES_PKG.ValidateCurrentLine;
159574 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
159575
159576 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
159577 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
159578 ,p_balance_type_code => l_balance_type_code);
159579
159580 END IF;
159581
159582 -----------------------------------------------------------------------------------------
159583 -- 4262811 Multiperiod Accounting
159584 -----------------------------------------------------------------------------------------
159585 -- No MPA option is assigned.
159586
159587
159588 END IF;
159589 END IF;
159590 --
159591
159592 --
159593 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159594 trace
159595 (p_msg => 'END of AcctLineType_259'
159596 ,p_level => C_LEVEL_PROCEDURE
159597 ,p_module => l_log_module);
159598 END IF;
159599 --
159600 EXCEPTION
159601 WHEN xla_exceptions_pkg.application_exception THEN
159602 RAISE;
159603 WHEN OTHERS THEN
159604 xla_exceptions_pkg.raise_message
159605 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_259');
159606 END AcctLineType_259;
159607 --
159608
159609 ---------------------------------------
159610 --
159611 -- PRIVATE FUNCTION
159612 -- AcctLineType_260
159613 --
159614 ---------------------------------------
159615 PROCEDURE AcctLineType_260 (
159616 p_application_id IN NUMBER
159617 ,p_event_id IN NUMBER
159618 ,p_calculate_acctd_flag IN VARCHAR2
159619 ,p_calculate_g_l_flag IN VARCHAR2
159620 ,p_actual_flag IN OUT VARCHAR2
159621 ,p_balance_type_code OUT VARCHAR2
159622 ,p_gain_or_loss_ref OUT VARCHAR2
159623
159624 --Invoice Distribution Type
159625 , p_source_21 IN VARCHAR2
159626 , p_source_21_meaning IN VARCHAR2
159627 --Accounting Reversal Indicator
159628 , p_source_41 IN VARCHAR2
159629 --Distribution Link Type
159630 , p_source_43 IN VARCHAR2
159631 --Allocation to Main Distribution Identifier
159632 , p_source_45 IN NUMBER
159633 --Invoice Identifier
159634 , p_source_46 IN NUMBER
159635 --Invoice Distribution Identifier
159636 , p_source_52 IN NUMBER
159637 --Payables Encumbrance Upgrade Credit Account
159638 , p_source_53 IN NUMBER
159639 --Payables Encumbrance Upgrade Credit Amount
159640 , p_source_54 IN NUMBER
159641 --Invoice Currency Code
159642 , p_source_55 IN VARCHAR2
159643 --Payables Encumbrance Upgrade Credit Base Amount
159644 , p_source_56 IN NUMBER
159645 --Payables Encumbrance Upgrade Debit Account
159646 , p_source_57 IN NUMBER
159647 --Payables Encumbrance Upgrade Debit Amount
159648 , p_source_58 IN NUMBER
159649 --Payables Encumbrance Upgrade Debit Base Amount
159650 , p_source_59 IN NUMBER
159651 --Payables Encumbrance Upgrade Option
159652 , p_source_60 IN VARCHAR2
159653 --Deferred Accounting End Date
159654 , p_source_65 IN DATE
159655 --Deferred Accounting Option
159656 , p_source_66 IN VARCHAR2
159657 --Deferred Accounting Start Date
159658 , p_source_67 IN DATE
159659 --Override Accounted Amount Indicator
159660 , p_source_68 IN VARCHAR2
159661 , p_source_68_meaning IN VARCHAR2
159662 --Third Party Type
159663 , p_source_71 IN VARCHAR2
159664 --Parent Reversal Identifier
159665 , p_source_72 IN NUMBER
159666 --Invoice Distribution Statistical Amount
159667 , p_source_73 IN NUMBER
159668 --Invoice Distribution Tax Line Identifier
159669 , p_source_74 IN NUMBER
159670 --Invoice Distribution Tax Distribution Identifier from Tax
159671 , p_source_75 IN NUMBER
159672 --Invoice Distribution Summary Tax Line Identifier
159673 , p_source_76 IN NUMBER
159674 --Payables Upgrade Credit Encumbrance Type Identifier
159675 , p_source_77 IN NUMBER
159676 --Payables Upgrade Debit Encumbrance Type Identifier
159677 , p_source_78 IN NUMBER
159678 --Business Flow Accounts Payable Application Identifier
159679 , p_source_79 IN NUMBER
159683 , p_source_81 IN VARCHAR2
159680 --Business Flow Invoice Distribution Type
159681 , p_source_80 IN VARCHAR2
159682 --Business Flow Invoice Entity Code
159684 --Business Flow Invoice Distribution Identifier
159685 , p_source_82 IN NUMBER
159686 --Business Flow Invoice Identifier
159687 , p_source_83 IN NUMBER
159688 --Purchasing Encumbrance Option
159689 , p_source_86 IN VARCHAR2
159690 , p_source_86_meaning IN VARCHAR2
159691 --Invoice Encumbered Option
159692 , p_source_87 IN VARCHAR2
159693 , p_source_87_meaning IN VARCHAR2
159694 --Invoice Distribution Encumbrance Amount
159695 , p_source_143 IN NUMBER
159696 --Invoice Distribution Encumbrance Ledger Amount
159697 , p_source_144 IN NUMBER
159698 )
159699 IS
159700
159701 l_component_type VARCHAR2(80);
159702 l_component_code VARCHAR2(30);
159703 l_component_type_code VARCHAR2(1);
159704 l_component_appl_id INTEGER;
159705 l_amb_context_code VARCHAR2(30);
159706 l_entity_code VARCHAR2(30);
159707 l_event_class_code VARCHAR2(30);
159708 l_ae_header_id NUMBER;
159709 l_event_type_code VARCHAR2(30);
159710 l_line_definition_code VARCHAR2(30);
159711 l_line_definition_owner_code VARCHAR2(1);
159712 --
159713 -- adr variables
159714 l_segment VARCHAR2(30);
159715 l_ccid NUMBER;
159716 l_adr_transaction_coa_id NUMBER;
159717 l_adr_accounting_coa_id NUMBER;
159718 l_adr_flexfield_segment_code VARCHAR2(30);
159719 l_adr_flex_value_set_id NUMBER;
159720 l_adr_value_type_code VARCHAR2(30);
159721 l_adr_value_combination_id NUMBER;
159722 l_adr_value_segment_code VARCHAR2(30);
159723
159724 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
159725 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
159726 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
159727 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
159728
159729 -- 4262811 Variables ------------------------------------------------------------------------------------------
159730 l_entered_amt_idx NUMBER;
159731 l_accted_amt_idx NUMBER;
159732 l_acc_rev_flag VARCHAR2(1);
159733 l_accrual_line_num NUMBER;
159734 l_tmp_amt NUMBER;
159735 l_acc_rev_natural_side_code VARCHAR2(1);
159736
159737 l_num_entries NUMBER;
159738 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
159739 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
159740 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
159741 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
159742 l_recog_line_1 NUMBER;
159743 l_recog_line_2 NUMBER;
159744
159745 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
159746 l_bflow_applied_to_amt NUMBER; -- 5132302
159747 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
159748
159749 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
159750
159751 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
159752 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
159753
159754 ---------------------------------------------------------------------------------------------------------------
159755
159756
159757 --
159758 -- bulk performance
159759 --
159760 l_balance_type_code VARCHAR2(1);
159761 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
159762 l_log_module VARCHAR2(240);
159763
159764 --
159765 -- Upgrade strategy
159766 --
159767 l_actual_upg_option VARCHAR2(1);
159768 l_enc_upg_option VARCHAR2(1);
159769
159770 --
159771 BEGIN
159772 --
159773 IF g_log_enabled THEN
159774 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_260';
159775 END IF;
159776 --
159777 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
159778
159779 trace
159780 (p_msg => 'BEGIN of AcctLineType_260'
159781 ,p_level => C_LEVEL_PROCEDURE
159782 ,p_module => l_log_module);
159783
159784 END IF;
159785 --
159786 l_component_type := 'AMB_JLT';
159787 l_component_code := 'AP_TAX_EXCHG_RATE_VAR_PP_ENC';
159788 l_component_type_code := 'S';
159789 l_component_appl_id := 200;
159790 l_amb_context_code := 'DEFAULT';
159791 l_entity_code := 'AP_INVOICES';
159792 l_event_class_code := 'PREPAYMENTS';
159793 l_event_type_code := 'PREPAYMENTS_ALL';
159794 l_line_definition_owner_code := 'S';
159795 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
159796 --
159797 l_balance_type_code := 'E';
159798 l_segment := NULL;
159799 l_ccid := NULL;
159800 l_adr_transaction_coa_id := NULL;
159801 l_adr_accounting_coa_id := NULL;
159802 l_adr_flexfield_segment_code := NULL;
159803 l_adr_flex_value_set_id := NULL;
159804 l_adr_value_type_code := NULL;
159805 l_adr_value_combination_id := NULL;
159806 l_adr_value_segment_code := NULL;
159807
159808 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
159809 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
159813 l_bflow_applied_to_amt_idx := NULL; -- 5132302
159810 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
159811 l_budgetary_control_flag := 'N';
159812
159814 l_bflow_applied_to_amt := NULL; -- 5132302
159815 l_entered_amt_idx := NULL; -- 4262811
159816 l_accted_amt_idx := NULL; -- 4262811
159817 l_acc_rev_flag := NULL; -- 4262811
159818 l_accrual_line_num := NULL; -- 4262811
159819 l_tmp_amt := NULL; -- 4262811
159820 --
159821 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
159822 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
159823 return;
159824 END IF;
159825
159826 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
159827 l_balance_type_code <> 'B' THEN
159828 IF NVL(p_source_21,'
159829 ') = 'TERV' AND
159830 NVL(p_source_86,'
159831 ') = 'Y' AND
159832 NVL(p_source_87,'
159833 ') = 'Y'
159834 THEN
159835
159836 --
159837 XLA_AE_LINES_PKG.SetNewLine;
159838
159839 p_balance_type_code := l_balance_type_code;
159840 -- set the flag so later we will know whether the gain loss line needs to be created
159841
159842 IF(l_balance_type_code = 'A' ) THEN
159843 p_actual_flag :='G';
159844 END IF;
159845
159846 --
159847 -- bulk performance
159848 --
159849 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
159850 p_header_num => 0); -- 4262811
159851 --
159852 -- set accounting line options
159853 --
159854 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
159855 p_natural_side_code => 'C'
159856 , p_gain_or_loss_flag => 'Y'
159857 , p_gl_transfer_mode_code => 'S'
159858 , p_acct_entry_type_code => 'E'
159859 , p_switch_side_flag => 'Y'
159860 , p_merge_duplicate_code => 'A'
159861 );
159862 --
159863 l_acc_rev_natural_side_code := 'D'; -- 4262811
159864 --
159865 --
159866 -- set accounting line type info
159867 --
159868 xla_ae_lines_pkg.SetAcctLineType
159869 (p_component_type => l_component_type
159870 ,p_event_type_code => l_event_type_code
159871 ,p_line_definition_owner_code => l_line_definition_owner_code
159872 ,p_line_definition_code => l_line_definition_code
159873 ,p_accounting_line_code => l_component_code
159874 ,p_accounting_line_type_code => l_component_type_code
159875 ,p_accounting_line_appl_id => l_component_appl_id
159876 ,p_amb_context_code => l_amb_context_code
159877 ,p_entity_code => l_entity_code
159878 ,p_event_class_code => l_event_class_code);
159879 --
159880 -- set accounting class
159881 --
159882 xla_ae_lines_pkg.SetAcctClass(
159883 p_accounting_class_code => 'TERV'
159884 , p_ae_header_id => l_ae_header_id
159885 );
159886
159887 --
159888 -- set rounding class
159889 --
159890 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
159891 'TERV';
159892
159893 --
159894 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
159895 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
159896 --
159897 -- bulk performance
159898 --
159899 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
159900
159901 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
159902 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
159903
159904 -- 4955764
159905 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
159906 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
159907
159908 -- 4458381 Public Sector Enh
159909
159910 --
159911 -- set accounting attributes for the line type
159912 --
159913 l_entered_amt_idx := 23;
159914 l_accted_amt_idx := 25;
159915 l_bflow_applied_to_amt_idx := NULL; -- 5132302
159916 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
159917 l_rec_acct_attrs.array_char_value(1) := p_source_41;
159918 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
159919 l_rec_acct_attrs.array_num_value(2) :=
159920 xla_ae_sources_pkg.GetSystemSourceNum(
159921 p_source_code => 'XLA_EVENT_APPL_ID'
159922 , p_source_type_code => 'Y'
159923 , p_source_application_id => 602
159924 );
159925 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
159926 l_rec_acct_attrs.array_char_value(3) := p_source_43;
159927 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
159928 l_rec_acct_attrs.array_char_value(4) :=
159929 xla_ae_sources_pkg.GetSystemSourceChar(
159930 p_source_code => 'XLA_ENTITY_CODE'
159931 , p_source_type_code => 'Y'
159932 , p_source_application_id => 602
159933 );
159934 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
159938 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
159935 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
159936 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
159937 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
159939 l_rec_acct_attrs.array_num_value(7) := p_source_79;
159940 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
159941 l_rec_acct_attrs.array_char_value(8) := p_source_80;
159942 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
159943 l_rec_acct_attrs.array_char_value(9) := p_source_81;
159944 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
159945 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
159946 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
159947 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
159948 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
159949 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
159950 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
159951 l_rec_acct_attrs.array_char_value(13) := p_source_43;
159952 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
159953 l_rec_acct_attrs.array_num_value(14) := p_source_53;
159954 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
159955 l_rec_acct_attrs.array_num_value(15) := p_source_54;
159956 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
159957 l_rec_acct_attrs.array_char_value(16) := p_source_55;
159958 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
159959 l_rec_acct_attrs.array_num_value(17) := p_source_56;
159960 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
159961 l_rec_acct_attrs.array_num_value(18) := p_source_57;
159962 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
159963 l_rec_acct_attrs.array_num_value(19) := p_source_58;
159964 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
159965 l_rec_acct_attrs.array_char_value(20) := p_source_55;
159966 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
159967 l_rec_acct_attrs.array_num_value(21) := p_source_59;
159968 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
159969 l_rec_acct_attrs.array_char_value(22) := p_source_60;
159970 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
159971 l_rec_acct_attrs.array_num_value(23) := p_source_143;
159972 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
159973 l_rec_acct_attrs.array_char_value(24) := p_source_55;
159974 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
159975 l_rec_acct_attrs.array_num_value(25) := p_source_144;
159976 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
159977 l_rec_acct_attrs.array_date_value(26) := p_source_65;
159978 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
159979 l_rec_acct_attrs.array_char_value(27) := p_source_66;
159980 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
159981 l_rec_acct_attrs.array_date_value(28) := p_source_67;
159982 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
159983 l_rec_acct_attrs.array_char_value(29) := p_source_68;
159984 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
159985 l_rec_acct_attrs.array_char_value(30) := p_source_71;
159986 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
159987 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
159988 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
159989 l_rec_acct_attrs.array_char_value(32) := p_source_43;
159990 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
159991 l_rec_acct_attrs.array_num_value(33) := p_source_73;
159992 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
159993 l_rec_acct_attrs.array_num_value(34) := p_source_74;
159994 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
159995 l_rec_acct_attrs.array_num_value(35) := p_source_75;
159996 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
159997 l_rec_acct_attrs.array_num_value(36) := p_source_76;
159998 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
159999 l_rec_acct_attrs.array_num_value(37) := p_source_77;
160000 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
160001 l_rec_acct_attrs.array_num_value(38) := p_source_78;
160002
160003 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
160004 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
160005
160006 ---------------------------------------------------------------------------------------------------------------
160007 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
160008 ---------------------------------------------------------------------------------------------------------------
160009 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
160010
160011 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
160012 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
160013
160014 IF xla_accounting_cache_pkg.GetValueChar
160015 (p_source_code => 'LEDGER_CATEGORY_CODE'
160019 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
160016 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
160017 AND l_bflow_method_code = 'PRIOR_ENTRY'
160018 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
160020 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
160021 )
160022 THEN
160023 xla_ae_lines_pkg.BflowUpgEntry
160024 (p_business_method_code => l_bflow_method_code
160025 ,p_business_class_code => l_bflow_class_code
160026 ,p_balance_type => l_balance_type_code);
160027 ELSE
160028 NULL;
160029 XLA_AE_LINES_PKG.business_flow_validation(
160030 p_business_method_code => l_bflow_method_code
160031 ,p_business_class_code => l_bflow_class_code
160032 ,p_inherit_description_flag => l_inherit_desc_flag);
160033 END IF;
160034
160035 --
160036 -- call analytical criteria
160037 --
160038 -- Inherited Analytical Criteria for business flow method of Prior Entry.
160039 --
160040 -- call description
160041 --
160042 -- No description or it is inherited.
160043 --
160044 -- call ADRs
160045 -- Bug 4922099
160046 --
160047 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
160048 (NVL(l_actual_upg_option, 'N') = 'O') OR
160049 (NVL(l_enc_upg_option, 'N') = 'O')
160050 )
160051 THEN
160052 NULL;
160053 --
160054 --
160055
160056 --
160057 --
160058 END IF;
160059 --
160060 -- Bug 4922099
160061 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
160062 (NVL(l_enc_upg_option, 'N') = 'O')
160063 ) AND
160064 (l_bflow_method_code = 'PRIOR_ENTRY')
160065 )
160066 THEN
160067 IF
160068 --
160069 1 = 1
160070 --
160071 THEN
160072 xla_accounting_err_pkg.build_message
160073 (p_appli_s_name => 'XLA'
160074 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
160075 ,p_token_1 => 'LINE_NUMBER'
160076 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
160077 ,p_token_2 => 'LINE_TYPE_NAME'
160078 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
160079 l_component_type
160080 ,l_component_code
160081 ,l_component_type_code
160082 ,l_component_appl_id
160083 ,l_amb_context_code
160084 ,l_entity_code
160085 ,l_event_class_code
160086 )
160087 ,p_token_3 => 'OWNER'
160088 ,p_value_3 => xla_lookups_pkg.get_meaning(
160089 p_lookup_type => 'XLA_OWNER_TYPE'
160090 ,p_lookup_code => l_component_type_code
160091 )
160092 ,p_token_4 => 'PRODUCT_NAME'
160093 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
160094 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
160095 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
160096 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
160097 ,p_ae_header_id => NULL
160098 );
160099
160100 IF (C_LEVEL_ERROR>= g_log_level) THEN
160101 trace
160102 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
160103 ,p_level => C_LEVEL_ERROR
160104 ,p_module => l_log_module);
160105 END IF;
160106 END IF;
160107 END IF;
160108 --
160109 --
160110 ------------------------------------------------------------------------------------------------
160111 -- 4219869 Business Flow
160112 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
160113 -- Prior Entry. Currently, the following code is always generated.
160114 ------------------------------------------------------------------------------------------------
160115 -- No ValidateCurrentLine for business flow method of Prior Entry
160116
160117 ------------------------------------------------------------------------------------
160118 -- 4219869 Business Flow
160119 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
160123 ----------------------------------------------------------------------------------
160120 ------------------------------------------------------------------------------------
160121 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
160122
160124 -- 4219869 Business Flow
160125 -- Update journal entry status -- Need to generate this within IF <condition>
160126 ----------------------------------------------------------------------------------
160127 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
160128 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
160129 ,p_balance_type_code => l_balance_type_code
160130 );
160131
160132 -------------------------------------------------------------------------------------------
160133 -- 4262811 - Generate the Accrual Reversal lines
160134 -------------------------------------------------------------------------------------------
160135 BEGIN
160136 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
160137 (g_array_event(p_event_id).array_value_num('header_index'));
160138 IF l_acc_rev_flag IS NULL THEN
160139 l_acc_rev_flag := 'N';
160140 END IF;
160141 EXCEPTION
160142 WHEN OTHERS THEN
160143 l_acc_rev_flag := 'N';
160144 END;
160145 --
160146 IF (l_acc_rev_flag = 'Y') THEN
160147
160148 -- 4645092 ------------------------------------------------------------------------------
160149 -- To allow MPA report to determine if it should generate report process
160150 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
160151 ------------------------------------------------------------------------------------------
160152
160153 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
160154 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
160155 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
160156 -- call ADRs
160157 -- Bug 4922099
160158 --
160159 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
160160 (NVL(l_actual_upg_option, 'N') = 'O') OR
160161 (NVL(l_enc_upg_option, 'N') = 'O')
160162 )
160163 THEN
160164 NULL;
160165 --
160166 --
160167
160168 --
160169 --
160170 END IF;
160171
160172 --
160173 -- Update the line information that should be overwritten
160174 --
160175 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
160176 p_header_num => 1);
160177 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
160178
160179 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
160180
160181 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
160182 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
160183 END IF;
160184
160185 --
160186 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
160187 --
160188 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
160189 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
160190 ELSE
160191 ---------------------------------------------------------------------------------------------------
160192 -- 4262811a Switch Sign
160193 ---------------------------------------------------------------------------------------------------
160194 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
160195 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
160196 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
160197 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
160198 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
160199 -- 5132302
160200 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
160201 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
160202
160203 END IF;
160204
160205 -- 4955764
160206 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
160207 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
160208
160209
160210 XLA_AE_LINES_PKG.ValidateCurrentLine;
160211 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
160212
160213 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
160214 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
160215 ,p_balance_type_code => l_balance_type_code);
160216
160217 END IF;
160218
160219 -----------------------------------------------------------------------------------------
160220 -- 4262811 Multiperiod Accounting
160221 -----------------------------------------------------------------------------------------
160222 -- No MPA option is assigned.
160223
160224
160225 END IF;
160226 END IF;
160227 --
160228
160229 --
160230 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
160231 trace
160235 END IF;
160232 (p_msg => 'END of AcctLineType_260'
160233 ,p_level => C_LEVEL_PROCEDURE
160234 ,p_module => l_log_module);
160236 --
160237 EXCEPTION
160238 WHEN xla_exceptions_pkg.application_exception THEN
160239 RAISE;
160240 WHEN OTHERS THEN
160241 xla_exceptions_pkg.raise_message
160242 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_260');
160243 END AcctLineType_260;
160244 --
160245
160246 ---------------------------------------
160247 --
160248 -- PRIVATE FUNCTION
160249 -- AcctLineType_261
160250 --
160251 ---------------------------------------
160252 PROCEDURE AcctLineType_261 (
160253 p_application_id IN NUMBER
160254 ,p_event_id IN NUMBER
160255 ,p_calculate_acctd_flag IN VARCHAR2
160256 ,p_calculate_g_l_flag IN VARCHAR2
160257 ,p_actual_flag IN OUT VARCHAR2
160258 ,p_balance_type_code OUT VARCHAR2
160259 ,p_gain_or_loss_ref OUT VARCHAR2
160260
160261 --Invoice Distribution Description
160262 , p_source_1 IN VARCHAR2
160263 --Automatic Offsets Value
160264 , p_source_3 IN VARCHAR2
160265 , p_source_3_meaning IN VARCHAR2
160266 --Purchase Order Rate Variance Gain Account
160267 , p_source_8 IN NUMBER
160268 --Invoice Distribution Ledger Amount
160269 , p_source_9 IN NUMBER
160270 --Destination Type of the PO Distribution
160271 , p_source_10 IN VARCHAR2
160272 , p_source_10_meaning IN VARCHAR2
160273 --Purchase Order Rate Variance Loss Account
160274 , p_source_11 IN NUMBER
160275 --Invoice Distribution Account
160276 , p_source_18 IN NUMBER
160277 --Invoice Distribution Type
160278 , p_source_21 IN VARCHAR2
160279 , p_source_21_meaning IN VARCHAR2
160280 --Automatic Offsets Flag
160281 , p_source_35 IN VARCHAR2
160282 , p_source_35_meaning IN VARCHAR2
160283 --Accounting Reversal Indicator
160284 , p_source_41 IN VARCHAR2
160285 --Distribution Link Type
160286 , p_source_43 IN VARCHAR2
160287 --Allocation to Main Distribution Identifier
160288 , p_source_45 IN NUMBER
160289 --Invoice Identifier
160290 , p_source_46 IN NUMBER
160291 --Invoice Distribution Identifier
160292 , p_source_52 IN NUMBER
160293 --Payables Encumbrance Upgrade Credit Account
160294 , p_source_53 IN NUMBER
160295 --Payables Encumbrance Upgrade Credit Amount
160296 , p_source_54 IN NUMBER
160297 --Invoice Currency Code
160298 , p_source_55 IN VARCHAR2
160299 --Payables Encumbrance Upgrade Credit Base Amount
160300 , p_source_56 IN NUMBER
160301 --Payables Encumbrance Upgrade Debit Account
160302 , p_source_57 IN NUMBER
160303 --Payables Encumbrance Upgrade Debit Amount
160304 , p_source_58 IN NUMBER
160305 --Payables Encumbrance Upgrade Debit Base Amount
160306 , p_source_59 IN NUMBER
160307 --Payables Encumbrance Upgrade Option
160308 , p_source_60 IN VARCHAR2
160309 --Invoice Distribution Amount
160310 , p_source_61 IN NUMBER
160311 --Deferred Accounting End Date
160312 , p_source_65 IN DATE
160313 --Deferred Accounting Option
160314 , p_source_66 IN VARCHAR2
160315 --Deferred Accounting Start Date
160316 , p_source_67 IN DATE
160317 --Override Accounted Amount Indicator
160318 , p_source_68 IN VARCHAR2
160319 , p_source_68_meaning IN VARCHAR2
160320 --Invoice Supplier Identifier
160321 , p_source_69 IN NUMBER
160322 --Invoice Supplier Site Identifier
160323 , p_source_70 IN NUMBER
160324 --Third Party Type
160325 , p_source_71 IN VARCHAR2
160326 --Parent Reversal Identifier
160327 , p_source_72 IN NUMBER
160328 --Invoice Distribution Statistical Amount
160329 , p_source_73 IN NUMBER
160330 --Invoice Distribution Tax Line Identifier
160331 , p_source_74 IN NUMBER
160332 --Invoice Distribution Tax Distribution Identifier from Tax
160333 , p_source_75 IN NUMBER
160334 --Invoice Distribution Summary Tax Line Identifier
160335 , p_source_76 IN NUMBER
160336 --Payables Upgrade Credit Encumbrance Type Identifier
160337 , p_source_77 IN NUMBER
160338 --Payables Upgrade Debit Encumbrance Type Identifier
160339 , p_source_78 IN NUMBER
160340 --Business Flow Accounts Payable Application Identifier
160341 , p_source_79 IN NUMBER
160342 --Business Flow Invoice Distribution Type
160343 , p_source_80 IN VARCHAR2
160344 --Business Flow Invoice Entity Code
160345 , p_source_81 IN VARCHAR2
160346 --Business Flow Invoice Distribution Identifier
160347 , p_source_82 IN NUMBER
160348 --Business Flow Invoice Identifier
160349 , p_source_83 IN NUMBER
160350 --Accrue on Receipt Option
160351 , p_source_84 IN VARCHAR2
160352 , p_source_84_meaning IN VARCHAR2
160353 --Invoice Exchange Date
160354 , p_source_136 IN DATE
160355 --Invoice Exchange Rate
160356 , p_source_137 IN NUMBER
160357 --Invoice Exchange Rate Type
160358 , p_source_138 IN VARCHAR2
160359 )
160360 IS
160361
160362 l_component_type VARCHAR2(80);
160363 l_component_code VARCHAR2(30);
160364 l_component_type_code VARCHAR2(1);
160365 l_component_appl_id INTEGER;
160366 l_amb_context_code VARCHAR2(30);
160367 l_entity_code VARCHAR2(30);
160368 l_event_class_code VARCHAR2(30);
160372 l_line_definition_owner_code VARCHAR2(1);
160369 l_ae_header_id NUMBER;
160370 l_event_type_code VARCHAR2(30);
160371 l_line_definition_code VARCHAR2(30);
160373 --
160374 -- adr variables
160375 l_segment VARCHAR2(30);
160376 l_ccid NUMBER;
160377 l_adr_transaction_coa_id NUMBER;
160378 l_adr_accounting_coa_id NUMBER;
160379 l_adr_flexfield_segment_code VARCHAR2(30);
160380 l_adr_flex_value_set_id NUMBER;
160381 l_adr_value_type_code VARCHAR2(30);
160382 l_adr_value_combination_id NUMBER;
160383 l_adr_value_segment_code VARCHAR2(30);
160384
160385 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
160386 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
160387 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
160388 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
160389
160390 -- 4262811 Variables ------------------------------------------------------------------------------------------
160391 l_entered_amt_idx NUMBER;
160392 l_accted_amt_idx NUMBER;
160393 l_acc_rev_flag VARCHAR2(1);
160394 l_accrual_line_num NUMBER;
160395 l_tmp_amt NUMBER;
160396 l_acc_rev_natural_side_code VARCHAR2(1);
160397
160398 l_num_entries NUMBER;
160399 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
160400 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
160401 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
160402 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
160403 l_recog_line_1 NUMBER;
160404 l_recog_line_2 NUMBER;
160405
160406 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
160407 l_bflow_applied_to_amt NUMBER; -- 5132302
160408 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
160409
160410 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
160411
160412 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
160413 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
160414
160415 ---------------------------------------------------------------------------------------------------------------
160416
160417
160418 --
160419 -- bulk performance
160420 --
160421 l_balance_type_code VARCHAR2(1);
160422 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
160423 l_log_module VARCHAR2(240);
160424
160425 --
160426 -- Upgrade strategy
160427 --
160428 l_actual_upg_option VARCHAR2(1);
160429 l_enc_upg_option VARCHAR2(1);
160430
160431 --
160432 BEGIN
160433 --
160434 IF g_log_enabled THEN
160435 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_261';
160436 END IF;
160437 --
160438 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
160439
160440 trace
160441 (p_msg => 'BEGIN of AcctLineType_261'
160442 ,p_level => C_LEVEL_PROCEDURE
160443 ,p_module => l_log_module);
160444
160445 END IF;
160446 --
160447 l_component_type := 'AMB_JLT';
160448 l_component_code := 'AP_TAX_EX_RATE_VAR_CM';
160449 l_component_type_code := 'S';
160450 l_component_appl_id := 200;
160451 l_amb_context_code := 'DEFAULT';
160452 l_entity_code := 'AP_INVOICES';
160453 l_event_class_code := 'CREDIT MEMOS';
160454 l_event_type_code := 'CREDIT MEMOS_ALL';
160455 l_line_definition_owner_code := 'S';
160456 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
160457 --
160458 l_balance_type_code := 'A';
160459 l_segment := NULL;
160460 l_ccid := NULL;
160461 l_adr_transaction_coa_id := NULL;
160462 l_adr_accounting_coa_id := NULL;
160463 l_adr_flexfield_segment_code := NULL;
160464 l_adr_flex_value_set_id := NULL;
160465 l_adr_value_type_code := NULL;
160466 l_adr_value_combination_id := NULL;
160467 l_adr_value_segment_code := NULL;
160468
160469 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
160470 l_bflow_class_code := ''; -- 4219869 Business Flow
160471 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
160472 l_budgetary_control_flag := 'N';
160473
160474 l_bflow_applied_to_amt_idx := NULL; -- 5132302
160475 l_bflow_applied_to_amt := NULL; -- 5132302
160476 l_entered_amt_idx := NULL; -- 4262811
160477 l_accted_amt_idx := NULL; -- 4262811
160478 l_acc_rev_flag := NULL; -- 4262811
160479 l_accrual_line_num := NULL; -- 4262811
160480 l_tmp_amt := NULL; -- 4262811
160481 --
160482 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
160483 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
160484 return;
160485 END IF;
160486
160487 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
160488 l_balance_type_code <> 'B' THEN
160489 IF NVL(p_source_21,'
160490 ') = 'TERV' AND
160491 NVL(p_source_84,'
160495 --
160492 ') = 'Y'
160493 THEN
160494
160496 XLA_AE_LINES_PKG.SetNewLine;
160497
160498 p_balance_type_code := l_balance_type_code;
160499 -- set the flag so later we will know whether the gain loss line needs to be created
160500
160501 IF(l_balance_type_code = 'A' ) THEN
160502 p_actual_flag :='G';
160503 END IF;
160504
160505 --
160506 -- bulk performance
160507 --
160508 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
160509 p_header_num => 0); -- 4262811
160510 --
160511 -- set accounting line options
160512 --
160513 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
160514 p_natural_side_code => 'D'
160515 , p_gain_or_loss_flag => 'Y'
160516 , p_gl_transfer_mode_code => 'S'
160517 , p_acct_entry_type_code => 'A'
160518 , p_switch_side_flag => 'Y'
160519 , p_merge_duplicate_code => 'A'
160520 );
160521 --
160522 l_acc_rev_natural_side_code := 'C'; -- 4262811
160523 --
160524 --
160525 -- set accounting line type info
160526 --
160527 xla_ae_lines_pkg.SetAcctLineType
160528 (p_component_type => l_component_type
160529 ,p_event_type_code => l_event_type_code
160530 ,p_line_definition_owner_code => l_line_definition_owner_code
160531 ,p_line_definition_code => l_line_definition_code
160532 ,p_accounting_line_code => l_component_code
160533 ,p_accounting_line_type_code => l_component_type_code
160534 ,p_accounting_line_appl_id => l_component_appl_id
160535 ,p_amb_context_code => l_amb_context_code
160536 ,p_entity_code => l_entity_code
160537 ,p_event_class_code => l_event_class_code);
160538 --
160539 -- set accounting class
160540 --
160541 xla_ae_lines_pkg.SetAcctClass(
160542 p_accounting_class_code => 'TERV'
160543 , p_ae_header_id => l_ae_header_id
160544 );
160545
160546 --
160547 -- set rounding class
160548 --
160549 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
160550 'TERV';
160551
160552 --
160553 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
160554 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
160555 --
160556 -- bulk performance
160557 --
160558 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
160559
160560 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
160561 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
160562
160563 -- 4955764
160564 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
160565 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
160566
160567 -- 4458381 Public Sector Enh
160568
160569 --
160570 -- set accounting attributes for the line type
160571 --
160572 l_entered_amt_idx := 23;
160573 l_accted_amt_idx := 28;
160574 l_bflow_applied_to_amt_idx := NULL; -- 5132302
160575 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
160576 l_rec_acct_attrs.array_char_value(1) := p_source_41;
160577 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
160578 l_rec_acct_attrs.array_num_value(2) :=
160579 xla_ae_sources_pkg.GetSystemSourceNum(
160580 p_source_code => 'XLA_EVENT_APPL_ID'
160581 , p_source_type_code => 'Y'
160582 , p_source_application_id => 602
160583 );
160584 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
160585 l_rec_acct_attrs.array_char_value(3) := p_source_43;
160586 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
160587 l_rec_acct_attrs.array_char_value(4) :=
160588 xla_ae_sources_pkg.GetSystemSourceChar(
160589 p_source_code => 'XLA_ENTITY_CODE'
160590 , p_source_type_code => 'Y'
160591 , p_source_application_id => 602
160592 );
160593 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
160594 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
160595 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
160596 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
160597 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
160598 l_rec_acct_attrs.array_num_value(7) := p_source_79;
160599 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
160600 l_rec_acct_attrs.array_char_value(8) := p_source_80;
160601 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
160602 l_rec_acct_attrs.array_char_value(9) := p_source_81;
160603 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
160604 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
160605 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
160606 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
160607 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
160608 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
160609 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
160613 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
160610 l_rec_acct_attrs.array_char_value(13) := p_source_43;
160611 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
160612 l_rec_acct_attrs.array_num_value(14) := p_source_53;
160614 l_rec_acct_attrs.array_num_value(15) := p_source_54;
160615 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
160616 l_rec_acct_attrs.array_char_value(16) := p_source_55;
160617 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
160618 l_rec_acct_attrs.array_num_value(17) := p_source_56;
160619 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
160620 l_rec_acct_attrs.array_num_value(18) := p_source_57;
160621 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
160622 l_rec_acct_attrs.array_num_value(19) := p_source_58;
160623 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
160624 l_rec_acct_attrs.array_char_value(20) := p_source_55;
160625 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
160626 l_rec_acct_attrs.array_num_value(21) := p_source_59;
160627 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
160628 l_rec_acct_attrs.array_char_value(22) := p_source_60;
160629 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
160630 l_rec_acct_attrs.array_num_value(23) := p_source_61;
160631 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
160632 l_rec_acct_attrs.array_char_value(24) := p_source_55;
160633 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
160634 l_rec_acct_attrs.array_date_value(25) := p_source_136;
160635 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
160636 l_rec_acct_attrs.array_num_value(26) := p_source_137;
160637 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
160638 l_rec_acct_attrs.array_char_value(27) := p_source_138;
160639 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
160640 l_rec_acct_attrs.array_num_value(28) := p_source_9;
160641 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
160642 l_rec_acct_attrs.array_date_value(29) := p_source_65;
160643 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
160644 l_rec_acct_attrs.array_char_value(30) := p_source_66;
160645 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
160646 l_rec_acct_attrs.array_date_value(31) := p_source_67;
160647 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
160648 l_rec_acct_attrs.array_char_value(32) := p_source_68;
160649 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
160650 l_rec_acct_attrs.array_num_value(33) := p_source_69;
160651 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
160652 l_rec_acct_attrs.array_num_value(34) := p_source_70;
160653 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
160654 l_rec_acct_attrs.array_char_value(35) := p_source_71;
160655 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
160656 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
160657 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
160658 l_rec_acct_attrs.array_char_value(37) := p_source_43;
160659 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
160660 l_rec_acct_attrs.array_num_value(38) := p_source_73;
160661 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
160662 l_rec_acct_attrs.array_num_value(39) := p_source_74;
160663 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
160664 l_rec_acct_attrs.array_num_value(40) := p_source_75;
160665 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
160666 l_rec_acct_attrs.array_num_value(41) := p_source_76;
160667 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
160668 l_rec_acct_attrs.array_num_value(42) := p_source_77;
160669 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
160670 l_rec_acct_attrs.array_num_value(43) := p_source_78;
160671
160672 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
160673 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
160674
160675 ---------------------------------------------------------------------------------------------------------------
160676 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
160677 ---------------------------------------------------------------------------------------------------------------
160678 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
160679
160680 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
160681 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
160682
160683 IF xla_accounting_cache_pkg.GetValueChar
160684 (p_source_code => 'LEDGER_CATEGORY_CODE'
160685 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
160686 AND l_bflow_method_code = 'PRIOR_ENTRY'
160687 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
160688 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
160689 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
160690 )
160691 THEN
160692 xla_ae_lines_pkg.BflowUpgEntry
160693 (p_business_method_code => l_bflow_method_code
160697 NULL;
160694 ,p_business_class_code => l_bflow_class_code
160695 ,p_balance_type => l_balance_type_code);
160696 ELSE
160698 -- No business flow processing for business flow method of NONE.
160699 END IF;
160700
160701 --
160702 -- call analytical criteria
160703 --
160704
160705 --
160706 -- call description
160707 --
160708
160709 xla_ae_lines_pkg.SetLineDescription(
160710 p_ae_header_id => l_ae_header_id
160711 ,p_description => Description_2 (
160712 p_application_id => p_application_id
160713 , p_ae_header_id => l_ae_header_id
160714 , p_source_1 => p_source_1
160715 )
160716 );
160717
160718
160719 --
160720 -- call ADRs
160721 -- Bug 4922099
160722 --
160723 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
160724 (NVL(l_actual_upg_option, 'N') = 'O') OR
160725 (NVL(l_enc_upg_option, 'N') = 'O')
160726 )
160727 THEN
160728 NULL;
160729 --
160730 --
160731
160732 l_ccid := AcctDerRule_29(
160733 p_application_id => p_application_id
160734 , p_ae_header_id => l_ae_header_id
160735 , p_source_3 => p_source_3
160736 , p_source_3_meaning => p_source_3_meaning
160737 , p_source_8 => p_source_8
160738 , p_source_9 => p_source_9
160739 , p_source_10 => p_source_10
160740 , p_source_10_meaning => p_source_10_meaning
160741 , p_source_11 => p_source_11
160742 , p_source_18 => p_source_18
160743 , p_source_35 => p_source_35
160744 , p_source_35_meaning => p_source_35_meaning
160745 , x_transaction_coa_id => l_adr_transaction_coa_id
160746 , x_accounting_coa_id => l_adr_accounting_coa_id
160747 , x_value_type_code => l_adr_value_type_code
160748 , p_side => 'NA'
160749 );
160750
160751 xla_ae_lines_pkg.set_ccid(
160752 p_code_combination_id => l_ccid
160753 , p_value_type_code => l_adr_value_type_code
160754 , p_transaction_coa_id => l_adr_transaction_coa_id
160755 , p_accounting_coa_id => l_adr_accounting_coa_id
160756 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
160757 , p_adr_type_code => 'S'
160758 , p_component_type => l_component_type
160759 , p_component_code => l_component_code
160760 , p_component_type_code => l_component_type_code
160761 , p_component_appl_id => l_component_appl_id
160762 , p_amb_context_code => l_amb_context_code
160763 , p_side => 'NA'
160764 );
160765
160766
160767 l_segment := AcctDerRule_7(
160768 p_application_id => p_application_id
160769 , p_ae_header_id => l_ae_header_id
160770 , p_source_3 => p_source_3
160771 , p_source_3_meaning => p_source_3_meaning
160772 , p_source_8 => p_source_8
160773 , p_source_9 => p_source_9
160774 , p_source_10 => p_source_10
160775 , p_source_10_meaning => p_source_10_meaning
160776 , p_source_11 => p_source_11
160777 , x_transaction_coa_id => l_adr_transaction_coa_id
160778 , x_accounting_coa_id => l_adr_accounting_coa_id
160779 , x_flexfield_segment_code => l_adr_flexfield_segment_code
160780 , x_flex_value_set_id => l_adr_flex_value_set_id
160781 , x_value_type_code => l_adr_value_type_code
160782 , x_value_combination_id => l_adr_value_combination_id
160783 , x_value_segment_code => l_adr_value_segment_code
160784 , p_side => 'NA'
160785 , p_override_seg_flag => 'Y'
160786 );
160787
160788 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
160789
160790 xla_ae_lines_pkg.set_segment(
160791 p_to_segment_code => 'GL_ACCOUNT'
160792 , p_segment_value => l_segment
160793 , p_from_segment_code => l_adr_value_segment_code
160794 , p_from_combination_id => l_adr_value_combination_id
160795 , p_value_type_code => l_adr_value_type_code
160796 , p_transaction_coa_id => l_adr_transaction_coa_id
160797 , p_accounting_coa_id => l_adr_accounting_coa_id
160798 , p_flexfield_segment_code => l_adr_flexfield_segment_code
160799 , p_flex_value_set_id => l_adr_flex_value_set_id
160800 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
160801 , p_adr_type_code => 'S'
160802 , p_component_type => l_component_type
160803 , p_component_code => l_component_code
160804 , p_component_type_code => l_component_type_code
160805 , p_component_appl_id => l_component_appl_id
160806 , p_amb_context_code => l_amb_context_code
160807 , p_entity_code => 'AP_INVOICES'
160808 , p_event_class_code => 'CREDIT MEMOS'
160809 , p_side => 'NA'
160810 );
160811
160812 END IF;
160813
160814 l_segment := AcctDerRule_22(
160815 p_application_id => p_application_id
160816 , p_ae_header_id => l_ae_header_id
160817 , p_source_3 => p_source_3
160818 , p_source_3_meaning => p_source_3_meaning
160819 , p_source_10 => p_source_10
160820 , p_source_10_meaning => p_source_10_meaning
160821 , p_source_18 => p_source_18
160825 , x_flex_value_set_id => l_adr_flex_value_set_id
160822 , x_transaction_coa_id => l_adr_transaction_coa_id
160823 , x_accounting_coa_id => l_adr_accounting_coa_id
160824 , x_flexfield_segment_code => l_adr_flexfield_segment_code
160826 , x_value_type_code => l_adr_value_type_code
160827 , x_value_combination_id => l_adr_value_combination_id
160828 , x_value_segment_code => l_adr_value_segment_code
160829 , p_side => 'NA'
160830 , p_override_seg_flag => 'Y'
160831 );
160832
160833 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
160834
160835 xla_ae_lines_pkg.set_segment(
160836 p_to_segment_code => 'GL_BALANCING'
160837 , p_segment_value => l_segment
160838 , p_from_segment_code => l_adr_value_segment_code
160839 , p_from_combination_id => l_adr_value_combination_id
160840 , p_value_type_code => l_adr_value_type_code
160841 , p_transaction_coa_id => l_adr_transaction_coa_id
160842 , p_accounting_coa_id => l_adr_accounting_coa_id
160843 , p_flexfield_segment_code => l_adr_flexfield_segment_code
160844 , p_flex_value_set_id => l_adr_flex_value_set_id
160845 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
160846 , p_adr_type_code => 'S'
160847 , p_component_type => l_component_type
160848 , p_component_code => l_component_code
160849 , p_component_type_code => l_component_type_code
160850 , p_component_appl_id => l_component_appl_id
160851 , p_amb_context_code => l_amb_context_code
160852 , p_entity_code => 'AP_INVOICES'
160853 , p_event_class_code => 'CREDIT MEMOS'
160854 , p_side => 'NA'
160855 );
160856
160857 END IF;
160858
160859 --
160860 --
160861 END IF;
160862 --
160863 -- Bug 4922099
160864 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
160865 (NVL(l_enc_upg_option, 'N') = 'O')
160866 ) AND
160867 (l_bflow_method_code = 'PRIOR_ENTRY')
160868 )
160869 THEN
160870 IF
160871 --
160872 1 = 2
160873 --
160874 THEN
160875 xla_accounting_err_pkg.build_message
160876 (p_appli_s_name => 'XLA'
160877 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
160878 ,p_token_1 => 'LINE_NUMBER'
160879 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
160880 ,p_token_2 => 'LINE_TYPE_NAME'
160881 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
160882 l_component_type
160883 ,l_component_code
160884 ,l_component_type_code
160885 ,l_component_appl_id
160886 ,l_amb_context_code
160887 ,l_entity_code
160888 ,l_event_class_code
160889 )
160890 ,p_token_3 => 'OWNER'
160891 ,p_value_3 => xla_lookups_pkg.get_meaning(
160892 p_lookup_type => 'XLA_OWNER_TYPE'
160893 ,p_lookup_code => l_component_type_code
160894 )
160895 ,p_token_4 => 'PRODUCT_NAME'
160896 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
160897 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
160898 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
160899 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
160900 ,p_ae_header_id => NULL
160901 );
160902
160903 IF (C_LEVEL_ERROR>= g_log_level) THEN
160904 trace
160905 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
160906 ,p_level => C_LEVEL_ERROR
160907 ,p_module => l_log_module);
160908 END IF;
160909 END IF;
160910 END IF;
160911 --
160912 --
160913 ------------------------------------------------------------------------------------------------
160914 -- 4219869 Business Flow
160915 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
160916 -- Prior Entry. Currently, the following code is always generated.
160917 ------------------------------------------------------------------------------------------------
160918 XLA_AE_LINES_PKG.ValidateCurrentLine;
160919
160923 ------------------------------------------------------------------------------------
160920 ------------------------------------------------------------------------------------
160921 -- 4219869 Business Flow
160922 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
160924 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
160925
160926 ----------------------------------------------------------------------------------
160927 -- 4219869 Business Flow
160928 -- Update journal entry status -- Need to generate this within IF <condition>
160929 ----------------------------------------------------------------------------------
160930 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
160931 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
160932 ,p_balance_type_code => l_balance_type_code
160933 );
160934
160935 -------------------------------------------------------------------------------------------
160936 -- 4262811 - Generate the Accrual Reversal lines
160937 -------------------------------------------------------------------------------------------
160938 BEGIN
160939 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
160940 (g_array_event(p_event_id).array_value_num('header_index'));
160941 IF l_acc_rev_flag IS NULL THEN
160942 l_acc_rev_flag := 'N';
160943 END IF;
160944 EXCEPTION
160945 WHEN OTHERS THEN
160946 l_acc_rev_flag := 'N';
160947 END;
160948 --
160949 IF (l_acc_rev_flag = 'Y') THEN
160950
160951 -- 4645092 ------------------------------------------------------------------------------
160952 -- To allow MPA report to determine if it should generate report process
160953 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
160954 ------------------------------------------------------------------------------------------
160955
160956 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
160957 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
160958 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
160959 -- call ADRs
160960 -- Bug 4922099
160961 --
160962 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
160963 (NVL(l_actual_upg_option, 'N') = 'O') OR
160964 (NVL(l_enc_upg_option, 'N') = 'O')
160965 )
160966 THEN
160967 NULL;
160968 --
160969 --
160970
160971 l_ccid := AcctDerRule_29(
160972 p_application_id => p_application_id
160973 , p_ae_header_id => l_ae_header_id
160974 , p_source_3 => p_source_3
160975 , p_source_3_meaning => p_source_3_meaning
160976 , p_source_8 => p_source_8
160977 , p_source_9 => p_source_9
160978 , p_source_10 => p_source_10
160979 , p_source_10_meaning => p_source_10_meaning
160980 , p_source_11 => p_source_11
160981 , p_source_18 => p_source_18
160982 , p_source_35 => p_source_35
160983 , p_source_35_meaning => p_source_35_meaning
160984 , x_transaction_coa_id => l_adr_transaction_coa_id
160985 , x_accounting_coa_id => l_adr_accounting_coa_id
160986 , x_value_type_code => l_adr_value_type_code
160987 , p_side => 'NA'
160988 );
160989
160990 xla_ae_lines_pkg.set_ccid(
160991 p_code_combination_id => l_ccid
160992 , p_value_type_code => l_adr_value_type_code
160993 , p_transaction_coa_id => l_adr_transaction_coa_id
160994 , p_accounting_coa_id => l_adr_accounting_coa_id
160995 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
160996 , p_adr_type_code => 'S'
160997 , p_component_type => l_component_type
160998 , p_component_code => l_component_code
160999 , p_component_type_code => l_component_type_code
161000 , p_component_appl_id => l_component_appl_id
161001 , p_amb_context_code => l_amb_context_code
161002 , p_side => 'NA'
161003 );
161004
161005
161006 l_segment := AcctDerRule_7(
161007 p_application_id => p_application_id
161008 , p_ae_header_id => l_ae_header_id
161009 , p_source_3 => p_source_3
161010 , p_source_3_meaning => p_source_3_meaning
161011 , p_source_8 => p_source_8
161012 , p_source_9 => p_source_9
161013 , p_source_10 => p_source_10
161014 , p_source_10_meaning => p_source_10_meaning
161015 , p_source_11 => p_source_11
161016 , x_transaction_coa_id => l_adr_transaction_coa_id
161017 , x_accounting_coa_id => l_adr_accounting_coa_id
161018 , x_flexfield_segment_code => l_adr_flexfield_segment_code
161019 , x_flex_value_set_id => l_adr_flex_value_set_id
161020 , x_value_type_code => l_adr_value_type_code
161021 , x_value_combination_id => l_adr_value_combination_id
161022 , x_value_segment_code => l_adr_value_segment_code
161023 , p_side => 'NA'
161024 , p_override_seg_flag => 'Y'
161025 );
161026
161027 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
161028
161029 xla_ae_lines_pkg.set_segment(
161030 p_to_segment_code => 'GL_ACCOUNT'
161031 , p_segment_value => l_segment
161032 , p_from_segment_code => l_adr_value_segment_code
161033 , p_from_combination_id => l_adr_value_combination_id
161037 , p_flexfield_segment_code => l_adr_flexfield_segment_code
161034 , p_value_type_code => l_adr_value_type_code
161035 , p_transaction_coa_id => l_adr_transaction_coa_id
161036 , p_accounting_coa_id => l_adr_accounting_coa_id
161038 , p_flex_value_set_id => l_adr_flex_value_set_id
161039 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
161040 , p_adr_type_code => 'S'
161041 , p_component_type => l_component_type
161042 , p_component_code => l_component_code
161043 , p_component_type_code => l_component_type_code
161044 , p_component_appl_id => l_component_appl_id
161045 , p_amb_context_code => l_amb_context_code
161046 , p_entity_code => 'AP_INVOICES'
161047 , p_event_class_code => 'CREDIT MEMOS'
161048 , p_side => 'NA'
161049 );
161050
161051 END IF;
161052
161053 l_segment := AcctDerRule_22(
161054 p_application_id => p_application_id
161055 , p_ae_header_id => l_ae_header_id
161056 , p_source_3 => p_source_3
161057 , p_source_3_meaning => p_source_3_meaning
161058 , p_source_10 => p_source_10
161059 , p_source_10_meaning => p_source_10_meaning
161060 , p_source_18 => p_source_18
161061 , x_transaction_coa_id => l_adr_transaction_coa_id
161062 , x_accounting_coa_id => l_adr_accounting_coa_id
161063 , x_flexfield_segment_code => l_adr_flexfield_segment_code
161064 , x_flex_value_set_id => l_adr_flex_value_set_id
161065 , x_value_type_code => l_adr_value_type_code
161066 , x_value_combination_id => l_adr_value_combination_id
161067 , x_value_segment_code => l_adr_value_segment_code
161068 , p_side => 'NA'
161069 , p_override_seg_flag => 'Y'
161070 );
161071
161072 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
161073
161074 xla_ae_lines_pkg.set_segment(
161075 p_to_segment_code => 'GL_BALANCING'
161076 , p_segment_value => l_segment
161077 , p_from_segment_code => l_adr_value_segment_code
161078 , p_from_combination_id => l_adr_value_combination_id
161079 , p_value_type_code => l_adr_value_type_code
161080 , p_transaction_coa_id => l_adr_transaction_coa_id
161081 , p_accounting_coa_id => l_adr_accounting_coa_id
161082 , p_flexfield_segment_code => l_adr_flexfield_segment_code
161083 , p_flex_value_set_id => l_adr_flex_value_set_id
161084 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
161085 , p_adr_type_code => 'S'
161086 , p_component_type => l_component_type
161087 , p_component_code => l_component_code
161088 , p_component_type_code => l_component_type_code
161089 , p_component_appl_id => l_component_appl_id
161090 , p_amb_context_code => l_amb_context_code
161091 , p_entity_code => 'AP_INVOICES'
161092 , p_event_class_code => 'CREDIT MEMOS'
161093 , p_side => 'NA'
161094 );
161095
161096 END IF;
161097
161098 --
161099 --
161100 END IF;
161101
161102 --
161103 -- Update the line information that should be overwritten
161104 --
161105 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
161106 p_header_num => 1);
161107 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
161108
161109 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
161110
161111 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
161112 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
161113 END IF;
161114
161115 --
161116 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
161117 --
161118 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
161119 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
161120 ELSE
161121 ---------------------------------------------------------------------------------------------------
161122 -- 4262811a Switch Sign
161123 ---------------------------------------------------------------------------------------------------
161124 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
161125 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
161126 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
161127 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
161128 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
161129 -- 5132302
161130 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
161131 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
161132
161133 END IF;
161134
161135 -- 4955764
161136 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
161140 XLA_AE_LINES_PKG.ValidateCurrentLine;
161137 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
161138
161139
161141 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
161142
161143 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
161144 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
161145 ,p_balance_type_code => l_balance_type_code);
161146
161147 END IF;
161148
161149 -----------------------------------------------------------------------------------------
161150 -- 4262811 Multiperiod Accounting
161151 -----------------------------------------------------------------------------------------
161152 -- No MPA option is assigned.
161153
161154
161155 END IF;
161156 END IF;
161157 --
161158
161159 --
161160 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161161 trace
161162 (p_msg => 'END of AcctLineType_261'
161163 ,p_level => C_LEVEL_PROCEDURE
161164 ,p_module => l_log_module);
161165 END IF;
161166 --
161167 EXCEPTION
161168 WHEN xla_exceptions_pkg.application_exception THEN
161169 RAISE;
161170 WHEN OTHERS THEN
161171 xla_exceptions_pkg.raise_message
161172 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_261');
161173 END AcctLineType_261;
161174 --
161175
161176 ---------------------------------------
161177 --
161178 -- PRIVATE FUNCTION
161179 -- AcctLineType_262
161180 --
161181 ---------------------------------------
161182 PROCEDURE AcctLineType_262 (
161183 p_application_id IN NUMBER
161184 ,p_event_id IN NUMBER
161185 ,p_calculate_acctd_flag IN VARCHAR2
161186 ,p_calculate_g_l_flag IN VARCHAR2
161187 ,p_actual_flag IN OUT VARCHAR2
161188 ,p_balance_type_code OUT VARCHAR2
161189 ,p_gain_or_loss_ref OUT VARCHAR2
161190
161191 --Invoice Distribution Description
161192 , p_source_1 IN VARCHAR2
161193 --Automatic Offsets Value
161194 , p_source_3 IN VARCHAR2
161195 , p_source_3_meaning IN VARCHAR2
161196 --Purchase Order Rate Variance Gain Account
161197 , p_source_8 IN NUMBER
161198 --Invoice Distribution Ledger Amount
161199 , p_source_9 IN NUMBER
161200 --Destination Type of the PO Distribution
161201 , p_source_10 IN VARCHAR2
161202 , p_source_10_meaning IN VARCHAR2
161203 --Purchase Order Rate Variance Loss Account
161204 , p_source_11 IN NUMBER
161205 --Invoice Distribution Account
161206 , p_source_18 IN NUMBER
161207 --Invoice Distribution Type
161208 , p_source_21 IN VARCHAR2
161209 , p_source_21_meaning IN VARCHAR2
161210 --Automatic Offsets Flag
161211 , p_source_35 IN VARCHAR2
161212 , p_source_35_meaning IN VARCHAR2
161213 --Accounting Reversal Indicator
161214 , p_source_41 IN VARCHAR2
161215 --Distribution Link Type
161216 , p_source_43 IN VARCHAR2
161217 --Allocation to Main Distribution Identifier
161218 , p_source_45 IN NUMBER
161219 --Invoice Identifier
161220 , p_source_46 IN NUMBER
161221 --Invoice Distribution Identifier
161222 , p_source_52 IN NUMBER
161223 --Payables Encumbrance Upgrade Credit Account
161224 , p_source_53 IN NUMBER
161225 --Payables Encumbrance Upgrade Credit Amount
161226 , p_source_54 IN NUMBER
161227 --Invoice Currency Code
161228 , p_source_55 IN VARCHAR2
161229 --Payables Encumbrance Upgrade Credit Base Amount
161230 , p_source_56 IN NUMBER
161231 --Payables Encumbrance Upgrade Debit Account
161232 , p_source_57 IN NUMBER
161233 --Payables Encumbrance Upgrade Debit Amount
161234 , p_source_58 IN NUMBER
161235 --Payables Encumbrance Upgrade Debit Base Amount
161236 , p_source_59 IN NUMBER
161237 --Payables Encumbrance Upgrade Option
161238 , p_source_60 IN VARCHAR2
161239 --Invoice Distribution Amount
161240 , p_source_61 IN NUMBER
161241 --Deferred Accounting End Date
161242 , p_source_65 IN DATE
161243 --Deferred Accounting Option
161244 , p_source_66 IN VARCHAR2
161245 --Deferred Accounting Start Date
161246 , p_source_67 IN DATE
161247 --Override Accounted Amount Indicator
161248 , p_source_68 IN VARCHAR2
161249 , p_source_68_meaning IN VARCHAR2
161250 --Invoice Supplier Identifier
161251 , p_source_69 IN NUMBER
161252 --Invoice Supplier Site Identifier
161253 , p_source_70 IN NUMBER
161254 --Third Party Type
161255 , p_source_71 IN VARCHAR2
161256 --Parent Reversal Identifier
161257 , p_source_72 IN NUMBER
161258 --Invoice Distribution Tax Line Identifier
161259 , p_source_74 IN NUMBER
161260 --Invoice Distribution Tax Distribution Identifier from Tax
161261 , p_source_75 IN NUMBER
161262 --Invoice Distribution Summary Tax Line Identifier
161263 , p_source_76 IN NUMBER
161264 --Payables Upgrade Credit Encumbrance Type Identifier
161265 , p_source_77 IN NUMBER
161266 --Payables Upgrade Debit Encumbrance Type Identifier
161267 , p_source_78 IN NUMBER
161268 --Business Flow Accounts Payable Application Identifier
161269 , p_source_79 IN NUMBER
161270 --Business Flow Invoice Distribution Type
161274 --Business Flow Invoice Distribution Identifier
161271 , p_source_80 IN VARCHAR2
161272 --Business Flow Invoice Entity Code
161273 , p_source_81 IN VARCHAR2
161275 , p_source_82 IN NUMBER
161276 --Business Flow Invoice Identifier
161277 , p_source_83 IN NUMBER
161278 --Accrue on Receipt Option
161279 , p_source_84 IN VARCHAR2
161280 , p_source_84_meaning IN VARCHAR2
161281 --Invoice Exchange Date
161282 , p_source_136 IN DATE
161283 --Invoice Exchange Rate
161284 , p_source_137 IN NUMBER
161285 --Invoice Exchange Rate Type
161286 , p_source_138 IN VARCHAR2
161287 )
161288 IS
161289
161290 l_component_type VARCHAR2(80);
161291 l_component_code VARCHAR2(30);
161292 l_component_type_code VARCHAR2(1);
161293 l_component_appl_id INTEGER;
161294 l_amb_context_code VARCHAR2(30);
161295 l_entity_code VARCHAR2(30);
161296 l_event_class_code VARCHAR2(30);
161297 l_ae_header_id NUMBER;
161298 l_event_type_code VARCHAR2(30);
161299 l_line_definition_code VARCHAR2(30);
161300 l_line_definition_owner_code VARCHAR2(1);
161301 --
161302 -- adr variables
161303 l_segment VARCHAR2(30);
161304 l_ccid NUMBER;
161305 l_adr_transaction_coa_id NUMBER;
161306 l_adr_accounting_coa_id NUMBER;
161307 l_adr_flexfield_segment_code VARCHAR2(30);
161308 l_adr_flex_value_set_id NUMBER;
161309 l_adr_value_type_code VARCHAR2(30);
161310 l_adr_value_combination_id NUMBER;
161311 l_adr_value_segment_code VARCHAR2(30);
161312
161313 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
161314 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
161315 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
161316 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
161317
161318 -- 4262811 Variables ------------------------------------------------------------------------------------------
161319 l_entered_amt_idx NUMBER;
161320 l_accted_amt_idx NUMBER;
161321 l_acc_rev_flag VARCHAR2(1);
161322 l_accrual_line_num NUMBER;
161323 l_tmp_amt NUMBER;
161324 l_acc_rev_natural_side_code VARCHAR2(1);
161325
161326 l_num_entries NUMBER;
161327 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
161328 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
161329 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
161330 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
161331 l_recog_line_1 NUMBER;
161332 l_recog_line_2 NUMBER;
161333
161334 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
161335 l_bflow_applied_to_amt NUMBER; -- 5132302
161336 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
161337
161338 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
161339
161340 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
161341 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
161342
161343 ---------------------------------------------------------------------------------------------------------------
161344
161345
161346 --
161347 -- bulk performance
161348 --
161349 l_balance_type_code VARCHAR2(1);
161350 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
161351 l_log_module VARCHAR2(240);
161352
161353 --
161354 -- Upgrade strategy
161355 --
161356 l_actual_upg_option VARCHAR2(1);
161357 l_enc_upg_option VARCHAR2(1);
161358
161359 --
161360 BEGIN
161361 --
161362 IF g_log_enabled THEN
161363 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_262';
161364 END IF;
161365 --
161366 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
161367
161368 trace
161369 (p_msg => 'BEGIN of AcctLineType_262'
161370 ,p_level => C_LEVEL_PROCEDURE
161371 ,p_module => l_log_module);
161372
161373 END IF;
161374 --
161375 l_component_type := 'AMB_JLT';
161376 l_component_code := 'AP_TAX_EX_RATE_VAR_DM';
161377 l_component_type_code := 'S';
161378 l_component_appl_id := 200;
161379 l_amb_context_code := 'DEFAULT';
161380 l_entity_code := 'AP_INVOICES';
161381 l_event_class_code := 'DEBIT MEMOS';
161382 l_event_type_code := 'DEBIT MEMOS_ALL';
161383 l_line_definition_owner_code := 'S';
161384 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
161385 --
161386 l_balance_type_code := 'A';
161387 l_segment := NULL;
161388 l_ccid := NULL;
161389 l_adr_transaction_coa_id := NULL;
161390 l_adr_accounting_coa_id := NULL;
161391 l_adr_flexfield_segment_code := NULL;
161392 l_adr_flex_value_set_id := NULL;
161393 l_adr_value_type_code := NULL;
161394 l_adr_value_combination_id := NULL;
161395 l_adr_value_segment_code := NULL;
161396
161397 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
161398 l_bflow_class_code := ''; -- 4219869 Business Flow
161402 l_bflow_applied_to_amt_idx := NULL; -- 5132302
161399 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
161400 l_budgetary_control_flag := 'N';
161401
161403 l_bflow_applied_to_amt := NULL; -- 5132302
161404 l_entered_amt_idx := NULL; -- 4262811
161405 l_accted_amt_idx := NULL; -- 4262811
161406 l_acc_rev_flag := NULL; -- 4262811
161407 l_accrual_line_num := NULL; -- 4262811
161408 l_tmp_amt := NULL; -- 4262811
161409 --
161410 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
161411 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
161412 return;
161413 END IF;
161414
161415 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
161416 l_balance_type_code <> 'B' THEN
161417 IF NVL(p_source_21,'
161418 ') = 'TERV' AND
161419 NVL(p_source_84,'
161420 ') = 'Y'
161421 THEN
161422
161423 --
161424 XLA_AE_LINES_PKG.SetNewLine;
161425
161426 p_balance_type_code := l_balance_type_code;
161427 -- set the flag so later we will know whether the gain loss line needs to be created
161428
161429 IF(l_balance_type_code = 'A' ) THEN
161430 p_actual_flag :='G';
161431 END IF;
161432
161433 --
161434 -- bulk performance
161435 --
161436 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
161437 p_header_num => 0); -- 4262811
161438 --
161439 -- set accounting line options
161440 --
161441 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
161442 p_natural_side_code => 'D'
161443 , p_gain_or_loss_flag => 'Y'
161444 , p_gl_transfer_mode_code => 'S'
161445 , p_acct_entry_type_code => 'A'
161446 , p_switch_side_flag => 'Y'
161447 , p_merge_duplicate_code => 'A'
161448 );
161449 --
161450 l_acc_rev_natural_side_code := 'C'; -- 4262811
161451 --
161452 --
161453 -- set accounting line type info
161454 --
161455 xla_ae_lines_pkg.SetAcctLineType
161456 (p_component_type => l_component_type
161457 ,p_event_type_code => l_event_type_code
161458 ,p_line_definition_owner_code => l_line_definition_owner_code
161459 ,p_line_definition_code => l_line_definition_code
161460 ,p_accounting_line_code => l_component_code
161461 ,p_accounting_line_type_code => l_component_type_code
161462 ,p_accounting_line_appl_id => l_component_appl_id
161463 ,p_amb_context_code => l_amb_context_code
161464 ,p_entity_code => l_entity_code
161465 ,p_event_class_code => l_event_class_code);
161466 --
161467 -- set accounting class
161468 --
161469 xla_ae_lines_pkg.SetAcctClass(
161470 p_accounting_class_code => 'TERV'
161471 , p_ae_header_id => l_ae_header_id
161472 );
161473
161474 --
161475 -- set rounding class
161476 --
161477 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
161478 'TERV';
161479
161480 --
161481 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
161482 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
161483 --
161484 -- bulk performance
161485 --
161486 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
161487
161488 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
161489 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
161490
161491 -- 4955764
161492 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
161493 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
161494
161495 -- 4458381 Public Sector Enh
161496
161497 --
161498 -- set accounting attributes for the line type
161499 --
161500 l_entered_amt_idx := 23;
161501 l_accted_amt_idx := 28;
161502 l_bflow_applied_to_amt_idx := NULL; -- 5132302
161503 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
161504 l_rec_acct_attrs.array_char_value(1) := p_source_41;
161505 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
161506 l_rec_acct_attrs.array_num_value(2) :=
161507 xla_ae_sources_pkg.GetSystemSourceNum(
161508 p_source_code => 'XLA_EVENT_APPL_ID'
161509 , p_source_type_code => 'Y'
161510 , p_source_application_id => 602
161511 );
161512 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
161513 l_rec_acct_attrs.array_char_value(3) := p_source_43;
161514 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
161515 l_rec_acct_attrs.array_char_value(4) :=
161516 xla_ae_sources_pkg.GetSystemSourceChar(
161517 p_source_code => 'XLA_ENTITY_CODE'
161518 , p_source_type_code => 'Y'
161519 , p_source_application_id => 602
161520 );
161521 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
161522 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
161526 l_rec_acct_attrs.array_num_value(7) := p_source_79;
161523 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
161524 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
161525 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
161527 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
161528 l_rec_acct_attrs.array_char_value(8) := p_source_80;
161529 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
161530 l_rec_acct_attrs.array_char_value(9) := p_source_81;
161531 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
161532 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
161533 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
161534 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
161535 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
161536 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
161537 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
161538 l_rec_acct_attrs.array_char_value(13) := p_source_43;
161539 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
161540 l_rec_acct_attrs.array_num_value(14) := p_source_53;
161541 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
161542 l_rec_acct_attrs.array_num_value(15) := p_source_54;
161543 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
161544 l_rec_acct_attrs.array_char_value(16) := p_source_55;
161545 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
161546 l_rec_acct_attrs.array_num_value(17) := p_source_56;
161547 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
161548 l_rec_acct_attrs.array_num_value(18) := p_source_57;
161549 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
161550 l_rec_acct_attrs.array_num_value(19) := p_source_58;
161551 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
161552 l_rec_acct_attrs.array_char_value(20) := p_source_55;
161553 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
161554 l_rec_acct_attrs.array_num_value(21) := p_source_59;
161555 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
161556 l_rec_acct_attrs.array_char_value(22) := p_source_60;
161557 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
161558 l_rec_acct_attrs.array_num_value(23) := p_source_61;
161559 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
161560 l_rec_acct_attrs.array_char_value(24) := p_source_55;
161561 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
161562 l_rec_acct_attrs.array_date_value(25) := p_source_136;
161563 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
161564 l_rec_acct_attrs.array_num_value(26) := p_source_137;
161565 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
161566 l_rec_acct_attrs.array_char_value(27) := p_source_138;
161567 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
161568 l_rec_acct_attrs.array_num_value(28) := p_source_9;
161569 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
161570 l_rec_acct_attrs.array_date_value(29) := p_source_65;
161571 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
161572 l_rec_acct_attrs.array_char_value(30) := p_source_66;
161573 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
161574 l_rec_acct_attrs.array_date_value(31) := p_source_67;
161575 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
161576 l_rec_acct_attrs.array_char_value(32) := p_source_68;
161577 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
161578 l_rec_acct_attrs.array_num_value(33) := p_source_69;
161579 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
161580 l_rec_acct_attrs.array_num_value(34) := p_source_70;
161581 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
161582 l_rec_acct_attrs.array_char_value(35) := p_source_71;
161583 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
161584 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
161585 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
161586 l_rec_acct_attrs.array_char_value(37) := p_source_43;
161587 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
161588 l_rec_acct_attrs.array_num_value(38) := p_source_74;
161589 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
161590 l_rec_acct_attrs.array_num_value(39) := p_source_75;
161591 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
161592 l_rec_acct_attrs.array_num_value(40) := p_source_76;
161593 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
161594 l_rec_acct_attrs.array_num_value(41) := p_source_77;
161595 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
161596 l_rec_acct_attrs.array_num_value(42) := p_source_78;
161597
161598 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
161599 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
161600
161601 ---------------------------------------------------------------------------------------------------------------
161602 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
161603 ---------------------------------------------------------------------------------------------------------------
161604 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
161605
161609 IF xla_accounting_cache_pkg.GetValueChar
161606 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
161607 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
161608
161610 (p_source_code => 'LEDGER_CATEGORY_CODE'
161611 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
161612 AND l_bflow_method_code = 'PRIOR_ENTRY'
161613 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
161614 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
161615 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
161616 )
161617 THEN
161618 xla_ae_lines_pkg.BflowUpgEntry
161619 (p_business_method_code => l_bflow_method_code
161620 ,p_business_class_code => l_bflow_class_code
161621 ,p_balance_type => l_balance_type_code);
161622 ELSE
161623 NULL;
161624 -- No business flow processing for business flow method of NONE.
161625 END IF;
161626
161627 --
161628 -- call analytical criteria
161629 --
161630
161631 --
161632 -- call description
161633 --
161634
161635 xla_ae_lines_pkg.SetLineDescription(
161636 p_ae_header_id => l_ae_header_id
161637 ,p_description => Description_2 (
161638 p_application_id => p_application_id
161639 , p_ae_header_id => l_ae_header_id
161640 , p_source_1 => p_source_1
161641 )
161642 );
161643
161644
161645 --
161646 -- call ADRs
161647 -- Bug 4922099
161648 --
161649 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
161650 (NVL(l_actual_upg_option, 'N') = 'O') OR
161651 (NVL(l_enc_upg_option, 'N') = 'O')
161652 )
161653 THEN
161654 NULL;
161655 --
161656 --
161657
161658 l_ccid := AcctDerRule_29(
161659 p_application_id => p_application_id
161660 , p_ae_header_id => l_ae_header_id
161661 , p_source_3 => p_source_3
161662 , p_source_3_meaning => p_source_3_meaning
161663 , p_source_8 => p_source_8
161664 , p_source_9 => p_source_9
161665 , p_source_10 => p_source_10
161666 , p_source_10_meaning => p_source_10_meaning
161667 , p_source_11 => p_source_11
161668 , p_source_18 => p_source_18
161669 , p_source_35 => p_source_35
161670 , p_source_35_meaning => p_source_35_meaning
161671 , x_transaction_coa_id => l_adr_transaction_coa_id
161672 , x_accounting_coa_id => l_adr_accounting_coa_id
161673 , x_value_type_code => l_adr_value_type_code
161674 , p_side => 'NA'
161675 );
161676
161677 xla_ae_lines_pkg.set_ccid(
161678 p_code_combination_id => l_ccid
161679 , p_value_type_code => l_adr_value_type_code
161680 , p_transaction_coa_id => l_adr_transaction_coa_id
161681 , p_accounting_coa_id => l_adr_accounting_coa_id
161682 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
161683 , p_adr_type_code => 'S'
161684 , p_component_type => l_component_type
161685 , p_component_code => l_component_code
161686 , p_component_type_code => l_component_type_code
161687 , p_component_appl_id => l_component_appl_id
161688 , p_amb_context_code => l_amb_context_code
161689 , p_side => 'NA'
161690 );
161691
161692
161693 l_segment := AcctDerRule_7(
161694 p_application_id => p_application_id
161695 , p_ae_header_id => l_ae_header_id
161696 , p_source_3 => p_source_3
161697 , p_source_3_meaning => p_source_3_meaning
161698 , p_source_8 => p_source_8
161699 , p_source_9 => p_source_9
161700 , p_source_10 => p_source_10
161701 , p_source_10_meaning => p_source_10_meaning
161702 , p_source_11 => p_source_11
161703 , x_transaction_coa_id => l_adr_transaction_coa_id
161704 , x_accounting_coa_id => l_adr_accounting_coa_id
161705 , x_flexfield_segment_code => l_adr_flexfield_segment_code
161706 , x_flex_value_set_id => l_adr_flex_value_set_id
161707 , x_value_type_code => l_adr_value_type_code
161708 , x_value_combination_id => l_adr_value_combination_id
161709 , x_value_segment_code => l_adr_value_segment_code
161710 , p_side => 'NA'
161711 , p_override_seg_flag => 'Y'
161712 );
161713
161714 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
161715
161716 xla_ae_lines_pkg.set_segment(
161717 p_to_segment_code => 'GL_ACCOUNT'
161718 , p_segment_value => l_segment
161719 , p_from_segment_code => l_adr_value_segment_code
161720 , p_from_combination_id => l_adr_value_combination_id
161721 , p_value_type_code => l_adr_value_type_code
161722 , p_transaction_coa_id => l_adr_transaction_coa_id
161723 , p_accounting_coa_id => l_adr_accounting_coa_id
161724 , p_flexfield_segment_code => l_adr_flexfield_segment_code
161725 , p_flex_value_set_id => l_adr_flex_value_set_id
161726 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
161727 , p_adr_type_code => 'S'
161728 , p_component_type => l_component_type
161729 , p_component_code => l_component_code
161730 , p_component_type_code => l_component_type_code
161734 , p_event_class_code => 'DEBIT MEMOS'
161731 , p_component_appl_id => l_component_appl_id
161732 , p_amb_context_code => l_amb_context_code
161733 , p_entity_code => 'AP_INVOICES'
161735 , p_side => 'NA'
161736 );
161737
161738 END IF;
161739
161740 l_segment := AcctDerRule_22(
161741 p_application_id => p_application_id
161742 , p_ae_header_id => l_ae_header_id
161743 , p_source_3 => p_source_3
161744 , p_source_3_meaning => p_source_3_meaning
161745 , p_source_10 => p_source_10
161746 , p_source_10_meaning => p_source_10_meaning
161747 , p_source_18 => p_source_18
161748 , x_transaction_coa_id => l_adr_transaction_coa_id
161749 , x_accounting_coa_id => l_adr_accounting_coa_id
161750 , x_flexfield_segment_code => l_adr_flexfield_segment_code
161751 , x_flex_value_set_id => l_adr_flex_value_set_id
161752 , x_value_type_code => l_adr_value_type_code
161753 , x_value_combination_id => l_adr_value_combination_id
161754 , x_value_segment_code => l_adr_value_segment_code
161755 , p_side => 'NA'
161756 , p_override_seg_flag => 'Y'
161757 );
161758
161759 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
161760
161761 xla_ae_lines_pkg.set_segment(
161762 p_to_segment_code => 'GL_BALANCING'
161763 , p_segment_value => l_segment
161764 , p_from_segment_code => l_adr_value_segment_code
161765 , p_from_combination_id => l_adr_value_combination_id
161766 , p_value_type_code => l_adr_value_type_code
161767 , p_transaction_coa_id => l_adr_transaction_coa_id
161768 , p_accounting_coa_id => l_adr_accounting_coa_id
161769 , p_flexfield_segment_code => l_adr_flexfield_segment_code
161770 , p_flex_value_set_id => l_adr_flex_value_set_id
161771 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
161772 , p_adr_type_code => 'S'
161773 , p_component_type => l_component_type
161774 , p_component_code => l_component_code
161775 , p_component_type_code => l_component_type_code
161776 , p_component_appl_id => l_component_appl_id
161777 , p_amb_context_code => l_amb_context_code
161778 , p_entity_code => 'AP_INVOICES'
161779 , p_event_class_code => 'DEBIT MEMOS'
161780 , p_side => 'NA'
161781 );
161782
161783 END IF;
161784
161785 --
161786 --
161787 END IF;
161788 --
161789 -- Bug 4922099
161790 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
161791 (NVL(l_enc_upg_option, 'N') = 'O')
161792 ) AND
161793 (l_bflow_method_code = 'PRIOR_ENTRY')
161794 )
161795 THEN
161796 IF
161797 --
161798 1 = 2
161799 --
161800 THEN
161801 xla_accounting_err_pkg.build_message
161802 (p_appli_s_name => 'XLA'
161803 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
161804 ,p_token_1 => 'LINE_NUMBER'
161805 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
161806 ,p_token_2 => 'LINE_TYPE_NAME'
161807 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
161808 l_component_type
161809 ,l_component_code
161810 ,l_component_type_code
161811 ,l_component_appl_id
161812 ,l_amb_context_code
161813 ,l_entity_code
161814 ,l_event_class_code
161815 )
161816 ,p_token_3 => 'OWNER'
161817 ,p_value_3 => xla_lookups_pkg.get_meaning(
161818 p_lookup_type => 'XLA_OWNER_TYPE'
161819 ,p_lookup_code => l_component_type_code
161820 )
161821 ,p_token_4 => 'PRODUCT_NAME'
161822 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
161823 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
161824 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
161825 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
161826 ,p_ae_header_id => NULL
161827 );
161828
161829 IF (C_LEVEL_ERROR>= g_log_level) THEN
161830 trace
161834 END IF;
161831 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
161832 ,p_level => C_LEVEL_ERROR
161833 ,p_module => l_log_module);
161835 END IF;
161836 END IF;
161837 --
161838 --
161839 ------------------------------------------------------------------------------------------------
161840 -- 4219869 Business Flow
161841 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
161842 -- Prior Entry. Currently, the following code is always generated.
161843 ------------------------------------------------------------------------------------------------
161844 XLA_AE_LINES_PKG.ValidateCurrentLine;
161845
161846 ------------------------------------------------------------------------------------
161847 -- 4219869 Business Flow
161848 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
161849 ------------------------------------------------------------------------------------
161850 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
161851
161852 ----------------------------------------------------------------------------------
161853 -- 4219869 Business Flow
161854 -- Update journal entry status -- Need to generate this within IF <condition>
161855 ----------------------------------------------------------------------------------
161856 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
161857 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
161858 ,p_balance_type_code => l_balance_type_code
161859 );
161860
161861 -------------------------------------------------------------------------------------------
161862 -- 4262811 - Generate the Accrual Reversal lines
161863 -------------------------------------------------------------------------------------------
161864 BEGIN
161865 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
161866 (g_array_event(p_event_id).array_value_num('header_index'));
161867 IF l_acc_rev_flag IS NULL THEN
161868 l_acc_rev_flag := 'N';
161869 END IF;
161870 EXCEPTION
161871 WHEN OTHERS THEN
161872 l_acc_rev_flag := 'N';
161873 END;
161874 --
161875 IF (l_acc_rev_flag = 'Y') THEN
161876
161877 -- 4645092 ------------------------------------------------------------------------------
161878 -- To allow MPA report to determine if it should generate report process
161879 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
161880 ------------------------------------------------------------------------------------------
161881
161882 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
161883 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
161884 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
161885 -- call ADRs
161886 -- Bug 4922099
161887 --
161888 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
161889 (NVL(l_actual_upg_option, 'N') = 'O') OR
161890 (NVL(l_enc_upg_option, 'N') = 'O')
161891 )
161892 THEN
161893 NULL;
161894 --
161895 --
161896
161897 l_ccid := AcctDerRule_29(
161898 p_application_id => p_application_id
161899 , p_ae_header_id => l_ae_header_id
161900 , p_source_3 => p_source_3
161901 , p_source_3_meaning => p_source_3_meaning
161902 , p_source_8 => p_source_8
161903 , p_source_9 => p_source_9
161904 , p_source_10 => p_source_10
161905 , p_source_10_meaning => p_source_10_meaning
161906 , p_source_11 => p_source_11
161907 , p_source_18 => p_source_18
161908 , p_source_35 => p_source_35
161909 , p_source_35_meaning => p_source_35_meaning
161910 , x_transaction_coa_id => l_adr_transaction_coa_id
161911 , x_accounting_coa_id => l_adr_accounting_coa_id
161912 , x_value_type_code => l_adr_value_type_code
161913 , p_side => 'NA'
161914 );
161915
161916 xla_ae_lines_pkg.set_ccid(
161917 p_code_combination_id => l_ccid
161918 , p_value_type_code => l_adr_value_type_code
161919 , p_transaction_coa_id => l_adr_transaction_coa_id
161920 , p_accounting_coa_id => l_adr_accounting_coa_id
161921 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
161922 , p_adr_type_code => 'S'
161923 , p_component_type => l_component_type
161924 , p_component_code => l_component_code
161925 , p_component_type_code => l_component_type_code
161926 , p_component_appl_id => l_component_appl_id
161927 , p_amb_context_code => l_amb_context_code
161928 , p_side => 'NA'
161929 );
161930
161931
161932 l_segment := AcctDerRule_7(
161933 p_application_id => p_application_id
161934 , p_ae_header_id => l_ae_header_id
161935 , p_source_3 => p_source_3
161936 , p_source_3_meaning => p_source_3_meaning
161937 , p_source_8 => p_source_8
161938 , p_source_9 => p_source_9
161939 , p_source_10 => p_source_10
161940 , p_source_10_meaning => p_source_10_meaning
161941 , p_source_11 => p_source_11
161942 , x_transaction_coa_id => l_adr_transaction_coa_id
161943 , x_accounting_coa_id => l_adr_accounting_coa_id
161944 , x_flexfield_segment_code => l_adr_flexfield_segment_code
161948 , x_value_segment_code => l_adr_value_segment_code
161945 , x_flex_value_set_id => l_adr_flex_value_set_id
161946 , x_value_type_code => l_adr_value_type_code
161947 , x_value_combination_id => l_adr_value_combination_id
161949 , p_side => 'NA'
161950 , p_override_seg_flag => 'Y'
161951 );
161952
161953 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
161954
161955 xla_ae_lines_pkg.set_segment(
161956 p_to_segment_code => 'GL_ACCOUNT'
161957 , p_segment_value => l_segment
161958 , p_from_segment_code => l_adr_value_segment_code
161959 , p_from_combination_id => l_adr_value_combination_id
161960 , p_value_type_code => l_adr_value_type_code
161961 , p_transaction_coa_id => l_adr_transaction_coa_id
161962 , p_accounting_coa_id => l_adr_accounting_coa_id
161963 , p_flexfield_segment_code => l_adr_flexfield_segment_code
161964 , p_flex_value_set_id => l_adr_flex_value_set_id
161965 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
161966 , p_adr_type_code => 'S'
161967 , p_component_type => l_component_type
161968 , p_component_code => l_component_code
161969 , p_component_type_code => l_component_type_code
161970 , p_component_appl_id => l_component_appl_id
161971 , p_amb_context_code => l_amb_context_code
161972 , p_entity_code => 'AP_INVOICES'
161973 , p_event_class_code => 'DEBIT MEMOS'
161974 , p_side => 'NA'
161975 );
161976
161977 END IF;
161978
161979 l_segment := AcctDerRule_22(
161980 p_application_id => p_application_id
161981 , p_ae_header_id => l_ae_header_id
161982 , p_source_3 => p_source_3
161983 , p_source_3_meaning => p_source_3_meaning
161984 , p_source_10 => p_source_10
161985 , p_source_10_meaning => p_source_10_meaning
161986 , p_source_18 => p_source_18
161987 , x_transaction_coa_id => l_adr_transaction_coa_id
161988 , x_accounting_coa_id => l_adr_accounting_coa_id
161989 , x_flexfield_segment_code => l_adr_flexfield_segment_code
161990 , x_flex_value_set_id => l_adr_flex_value_set_id
161991 , x_value_type_code => l_adr_value_type_code
161992 , x_value_combination_id => l_adr_value_combination_id
161993 , x_value_segment_code => l_adr_value_segment_code
161994 , p_side => 'NA'
161995 , p_override_seg_flag => 'Y'
161996 );
161997
161998 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
161999
162000 xla_ae_lines_pkg.set_segment(
162001 p_to_segment_code => 'GL_BALANCING'
162002 , p_segment_value => l_segment
162003 , p_from_segment_code => l_adr_value_segment_code
162004 , p_from_combination_id => l_adr_value_combination_id
162005 , p_value_type_code => l_adr_value_type_code
162006 , p_transaction_coa_id => l_adr_transaction_coa_id
162007 , p_accounting_coa_id => l_adr_accounting_coa_id
162008 , p_flexfield_segment_code => l_adr_flexfield_segment_code
162009 , p_flex_value_set_id => l_adr_flex_value_set_id
162010 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
162011 , p_adr_type_code => 'S'
162012 , p_component_type => l_component_type
162013 , p_component_code => l_component_code
162014 , p_component_type_code => l_component_type_code
162015 , p_component_appl_id => l_component_appl_id
162016 , p_amb_context_code => l_amb_context_code
162017 , p_entity_code => 'AP_INVOICES'
162018 , p_event_class_code => 'DEBIT MEMOS'
162019 , p_side => 'NA'
162020 );
162021
162022 END IF;
162023
162024 --
162025 --
162026 END IF;
162027
162028 --
162029 -- Update the line information that should be overwritten
162030 --
162031 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
162032 p_header_num => 1);
162033 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
162034
162035 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
162036
162037 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
162038 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
162039 END IF;
162040
162041 --
162042 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
162043 --
162044 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
162045 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
162046 ELSE
162047 ---------------------------------------------------------------------------------------------------
162048 -- 4262811a Switch Sign
162049 ---------------------------------------------------------------------------------------------------
162053 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
162050 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
162051 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
162052 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
162054 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
162055 -- 5132302
162056 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
162057 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
162058
162059 END IF;
162060
162061 -- 4955764
162062 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
162063 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
162064
162065
162066 XLA_AE_LINES_PKG.ValidateCurrentLine;
162067 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
162068
162069 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
162070 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
162071 ,p_balance_type_code => l_balance_type_code);
162072
162073 END IF;
162074
162075 -----------------------------------------------------------------------------------------
162076 -- 4262811 Multiperiod Accounting
162077 -----------------------------------------------------------------------------------------
162078 -- No MPA option is assigned.
162079
162080
162081 END IF;
162082 END IF;
162083 --
162084
162085 --
162086 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162087 trace
162088 (p_msg => 'END of AcctLineType_262'
162089 ,p_level => C_LEVEL_PROCEDURE
162090 ,p_module => l_log_module);
162091 END IF;
162092 --
162093 EXCEPTION
162094 WHEN xla_exceptions_pkg.application_exception THEN
162095 RAISE;
162096 WHEN OTHERS THEN
162097 xla_exceptions_pkg.raise_message
162098 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_262');
162099 END AcctLineType_262;
162100 --
162101
162102 ---------------------------------------
162103 --
162104 -- PRIVATE FUNCTION
162105 -- AcctLineType_263
162106 --
162107 ---------------------------------------
162108 PROCEDURE AcctLineType_263 (
162109 p_application_id IN NUMBER
162110 ,p_event_id IN NUMBER
162111 ,p_calculate_acctd_flag IN VARCHAR2
162112 ,p_calculate_g_l_flag IN VARCHAR2
162113 ,p_actual_flag IN OUT VARCHAR2
162114 ,p_balance_type_code OUT VARCHAR2
162115 ,p_gain_or_loss_ref OUT VARCHAR2
162116
162117 --Invoice Distribution Description
162118 , p_source_1 IN VARCHAR2
162119 --Automatic Offsets Value
162120 , p_source_3 IN VARCHAR2
162121 , p_source_3_meaning IN VARCHAR2
162122 --Purchase Order Rate Variance Gain Account
162123 , p_source_8 IN NUMBER
162124 --Invoice Distribution Ledger Amount
162125 , p_source_9 IN NUMBER
162126 --Destination Type of the PO Distribution
162127 , p_source_10 IN VARCHAR2
162128 , p_source_10_meaning IN VARCHAR2
162129 --Purchase Order Rate Variance Loss Account
162130 , p_source_11 IN NUMBER
162131 --Invoice Distribution Account
162132 , p_source_18 IN NUMBER
162133 --Invoice Distribution Type
162134 , p_source_21 IN VARCHAR2
162135 , p_source_21_meaning IN VARCHAR2
162136 --Automatic Offsets Flag
162137 , p_source_35 IN VARCHAR2
162138 , p_source_35_meaning IN VARCHAR2
162139 --Accounting Reversal Indicator
162140 , p_source_41 IN VARCHAR2
162141 --Distribution Link Type
162142 , p_source_43 IN VARCHAR2
162143 --Allocation to Main Distribution Identifier
162144 , p_source_45 IN NUMBER
162145 --Invoice Identifier
162146 , p_source_46 IN NUMBER
162147 --Invoice Distribution Identifier
162148 , p_source_52 IN NUMBER
162149 --Payables Encumbrance Upgrade Credit Account
162150 , p_source_53 IN NUMBER
162151 --Payables Encumbrance Upgrade Credit Amount
162152 , p_source_54 IN NUMBER
162153 --Invoice Currency Code
162154 , p_source_55 IN VARCHAR2
162155 --Payables Encumbrance Upgrade Credit Base Amount
162156 , p_source_56 IN NUMBER
162157 --Payables Encumbrance Upgrade Debit Account
162158 , p_source_57 IN NUMBER
162159 --Payables Encumbrance Upgrade Debit Amount
162160 , p_source_58 IN NUMBER
162161 --Payables Encumbrance Upgrade Debit Base Amount
162162 , p_source_59 IN NUMBER
162163 --Payables Encumbrance Upgrade Option
162164 , p_source_60 IN VARCHAR2
162165 --Invoice Distribution Amount
162166 , p_source_61 IN NUMBER
162167 --Deferred Accounting End Date
162168 , p_source_65 IN DATE
162169 --Deferred Accounting Option
162170 , p_source_66 IN VARCHAR2
162171 --Deferred Accounting Start Date
162172 , p_source_67 IN DATE
162173 --Override Accounted Amount Indicator
162174 , p_source_68 IN VARCHAR2
162175 , p_source_68_meaning IN VARCHAR2
162176 --Invoice Supplier Identifier
162177 , p_source_69 IN NUMBER
162178 --Invoice Supplier Site Identifier
162179 , p_source_70 IN NUMBER
162180 --Third Party Type
162184 --Invoice Distribution Statistical Amount
162181 , p_source_71 IN VARCHAR2
162182 --Parent Reversal Identifier
162183 , p_source_72 IN NUMBER
162185 , p_source_73 IN NUMBER
162186 --Invoice Distribution Tax Line Identifier
162187 , p_source_74 IN NUMBER
162188 --Invoice Distribution Tax Distribution Identifier from Tax
162189 , p_source_75 IN NUMBER
162190 --Invoice Distribution Summary Tax Line Identifier
162191 , p_source_76 IN NUMBER
162192 --Payables Upgrade Credit Encumbrance Type Identifier
162193 , p_source_77 IN NUMBER
162194 --Payables Upgrade Debit Encumbrance Type Identifier
162195 , p_source_78 IN NUMBER
162196 --Business Flow Accounts Payable Application Identifier
162197 , p_source_79 IN NUMBER
162198 --Business Flow Invoice Distribution Type
162199 , p_source_80 IN VARCHAR2
162200 --Business Flow Invoice Entity Code
162201 , p_source_81 IN VARCHAR2
162202 --Business Flow Invoice Distribution Identifier
162203 , p_source_82 IN NUMBER
162204 --Business Flow Invoice Identifier
162205 , p_source_83 IN NUMBER
162206 --Accrue on Receipt Option
162207 , p_source_84 IN VARCHAR2
162208 , p_source_84_meaning IN VARCHAR2
162209 --Invoice Exchange Date
162210 , p_source_136 IN DATE
162211 --Invoice Exchange Rate
162212 , p_source_137 IN NUMBER
162213 --Invoice Exchange Rate Type
162214 , p_source_138 IN VARCHAR2
162215 )
162216 IS
162217
162218 l_component_type VARCHAR2(80);
162219 l_component_code VARCHAR2(30);
162220 l_component_type_code VARCHAR2(1);
162221 l_component_appl_id INTEGER;
162222 l_amb_context_code VARCHAR2(30);
162223 l_entity_code VARCHAR2(30);
162224 l_event_class_code VARCHAR2(30);
162225 l_ae_header_id NUMBER;
162226 l_event_type_code VARCHAR2(30);
162227 l_line_definition_code VARCHAR2(30);
162228 l_line_definition_owner_code VARCHAR2(1);
162229 --
162230 -- adr variables
162231 l_segment VARCHAR2(30);
162232 l_ccid NUMBER;
162233 l_adr_transaction_coa_id NUMBER;
162234 l_adr_accounting_coa_id NUMBER;
162235 l_adr_flexfield_segment_code VARCHAR2(30);
162236 l_adr_flex_value_set_id NUMBER;
162237 l_adr_value_type_code VARCHAR2(30);
162238 l_adr_value_combination_id NUMBER;
162239 l_adr_value_segment_code VARCHAR2(30);
162240
162241 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
162242 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
162243 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
162244 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
162245
162246 -- 4262811 Variables ------------------------------------------------------------------------------------------
162247 l_entered_amt_idx NUMBER;
162248 l_accted_amt_idx NUMBER;
162249 l_acc_rev_flag VARCHAR2(1);
162250 l_accrual_line_num NUMBER;
162251 l_tmp_amt NUMBER;
162252 l_acc_rev_natural_side_code VARCHAR2(1);
162253
162254 l_num_entries NUMBER;
162255 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
162256 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
162257 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
162258 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
162259 l_recog_line_1 NUMBER;
162260 l_recog_line_2 NUMBER;
162261
162262 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
162263 l_bflow_applied_to_amt NUMBER; -- 5132302
162264 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
162265
162266 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
162267
162268 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
162269 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
162270
162271 ---------------------------------------------------------------------------------------------------------------
162272
162273
162274 --
162275 -- bulk performance
162276 --
162277 l_balance_type_code VARCHAR2(1);
162278 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
162279 l_log_module VARCHAR2(240);
162280
162281 --
162282 -- Upgrade strategy
162283 --
162284 l_actual_upg_option VARCHAR2(1);
162285 l_enc_upg_option VARCHAR2(1);
162286
162287 --
162288 BEGIN
162289 --
162290 IF g_log_enabled THEN
162291 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_263';
162292 END IF;
162293 --
162294 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
162295
162296 trace
162297 (p_msg => 'BEGIN of AcctLineType_263'
162298 ,p_level => C_LEVEL_PROCEDURE
162299 ,p_module => l_log_module);
162300
162301 END IF;
162302 --
162303 l_component_type := 'AMB_JLT';
162304 l_component_code := 'AP_TAX_EX_RATE_VAR_INV';
162305 l_component_type_code := 'S';
162306 l_component_appl_id := 200;
162307 l_amb_context_code := 'DEFAULT';
162308 l_entity_code := 'AP_INVOICES';
162309 l_event_class_code := 'INVOICES';
162313 --
162310 l_event_type_code := 'INVOICES_ALL';
162311 l_line_definition_owner_code := 'S';
162312 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
162314 l_balance_type_code := 'A';
162315 l_segment := NULL;
162316 l_ccid := NULL;
162317 l_adr_transaction_coa_id := NULL;
162318 l_adr_accounting_coa_id := NULL;
162319 l_adr_flexfield_segment_code := NULL;
162320 l_adr_flex_value_set_id := NULL;
162321 l_adr_value_type_code := NULL;
162322 l_adr_value_combination_id := NULL;
162323 l_adr_value_segment_code := NULL;
162324
162325 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
162326 l_bflow_class_code := ''; -- 4219869 Business Flow
162327 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
162328 l_budgetary_control_flag := 'N';
162329
162330 l_bflow_applied_to_amt_idx := NULL; -- 5132302
162331 l_bflow_applied_to_amt := NULL; -- 5132302
162332 l_entered_amt_idx := NULL; -- 4262811
162333 l_accted_amt_idx := NULL; -- 4262811
162334 l_acc_rev_flag := NULL; -- 4262811
162335 l_accrual_line_num := NULL; -- 4262811
162336 l_tmp_amt := NULL; -- 4262811
162337 --
162338 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
162339 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
162340 return;
162341 END IF;
162342
162343 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
162344 l_balance_type_code <> 'B' THEN
162345 IF NVL(p_source_21,'
162346 ') = 'TERV' AND
162347 NVL(p_source_84,'
162348 ') = 'Y'
162349 THEN
162350
162351 --
162352 XLA_AE_LINES_PKG.SetNewLine;
162353
162354 p_balance_type_code := l_balance_type_code;
162355 -- set the flag so later we will know whether the gain loss line needs to be created
162356
162357 IF(l_balance_type_code = 'A' ) THEN
162358 p_actual_flag :='G';
162359 END IF;
162360
162361 --
162362 -- bulk performance
162363 --
162364 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
162365 p_header_num => 0); -- 4262811
162366 --
162367 -- set accounting line options
162368 --
162369 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
162370 p_natural_side_code => 'D'
162371 , p_gain_or_loss_flag => 'Y'
162372 , p_gl_transfer_mode_code => 'S'
162373 , p_acct_entry_type_code => 'A'
162374 , p_switch_side_flag => 'Y'
162375 , p_merge_duplicate_code => 'A'
162376 );
162377 --
162378 l_acc_rev_natural_side_code := 'C'; -- 4262811
162379 --
162380 --
162381 -- set accounting line type info
162382 --
162383 xla_ae_lines_pkg.SetAcctLineType
162384 (p_component_type => l_component_type
162385 ,p_event_type_code => l_event_type_code
162386 ,p_line_definition_owner_code => l_line_definition_owner_code
162387 ,p_line_definition_code => l_line_definition_code
162388 ,p_accounting_line_code => l_component_code
162389 ,p_accounting_line_type_code => l_component_type_code
162390 ,p_accounting_line_appl_id => l_component_appl_id
162391 ,p_amb_context_code => l_amb_context_code
162392 ,p_entity_code => l_entity_code
162393 ,p_event_class_code => l_event_class_code);
162394 --
162395 -- set accounting class
162396 --
162397 xla_ae_lines_pkg.SetAcctClass(
162398 p_accounting_class_code => 'TERV'
162399 , p_ae_header_id => l_ae_header_id
162400 );
162401
162402 --
162403 -- set rounding class
162404 --
162405 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
162406 'TERV';
162407
162408 --
162409 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
162410 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
162411 --
162412 -- bulk performance
162413 --
162414 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
162415
162416 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
162417 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
162418
162419 -- 4955764
162420 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
162421 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
162422
162423 -- 4458381 Public Sector Enh
162424
162425 --
162426 -- set accounting attributes for the line type
162427 --
162428 l_entered_amt_idx := 24;
162429 l_accted_amt_idx := 29;
162430 l_bflow_applied_to_amt_idx := 7; -- 5132302
162431 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
162432 l_rec_acct_attrs.array_char_value(1) := p_source_41;
162433 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
162434 l_rec_acct_attrs.array_num_value(2) :=
162435 xla_ae_sources_pkg.GetSystemSourceNum(
162439 );
162436 p_source_code => 'XLA_EVENT_APPL_ID'
162437 , p_source_type_code => 'Y'
162438 , p_source_application_id => 602
162440 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
162441 l_rec_acct_attrs.array_char_value(3) := p_source_43;
162442 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
162443 l_rec_acct_attrs.array_char_value(4) :=
162444 xla_ae_sources_pkg.GetSystemSourceChar(
162445 p_source_code => 'XLA_ENTITY_CODE'
162446 , p_source_type_code => 'Y'
162447 , p_source_application_id => 602
162448 );
162449 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
162450 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
162451 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
162452 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
162453 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
162454 l_rec_acct_attrs.array_num_value(7) := p_source_61;
162455 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
162456 l_rec_acct_attrs.array_num_value(8) := p_source_79;
162457 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
162458 l_rec_acct_attrs.array_char_value(9) := p_source_80;
162459 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
162460 l_rec_acct_attrs.array_char_value(10) := p_source_81;
162461 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
162462 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
162463 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
162464 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
162465 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
162466 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
162467 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
162468 l_rec_acct_attrs.array_char_value(14) := p_source_43;
162469 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
162470 l_rec_acct_attrs.array_num_value(15) := p_source_53;
162471 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
162472 l_rec_acct_attrs.array_num_value(16) := p_source_54;
162473 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
162474 l_rec_acct_attrs.array_char_value(17) := p_source_55;
162475 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
162476 l_rec_acct_attrs.array_num_value(18) := p_source_56;
162477 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
162478 l_rec_acct_attrs.array_num_value(19) := p_source_57;
162479 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
162480 l_rec_acct_attrs.array_num_value(20) := p_source_58;
162481 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
162482 l_rec_acct_attrs.array_char_value(21) := p_source_55;
162483 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
162484 l_rec_acct_attrs.array_num_value(22) := p_source_59;
162485 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
162486 l_rec_acct_attrs.array_char_value(23) := p_source_60;
162487 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
162488 l_rec_acct_attrs.array_num_value(24) := p_source_61;
162489 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
162490 l_rec_acct_attrs.array_char_value(25) := p_source_55;
162491 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
162492 l_rec_acct_attrs.array_date_value(26) := p_source_136;
162493 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
162494 l_rec_acct_attrs.array_num_value(27) := p_source_137;
162495 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
162496 l_rec_acct_attrs.array_char_value(28) := p_source_138;
162497 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
162498 l_rec_acct_attrs.array_num_value(29) := p_source_9;
162499 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
162500 l_rec_acct_attrs.array_date_value(30) := p_source_65;
162501 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
162502 l_rec_acct_attrs.array_char_value(31) := p_source_66;
162503 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
162504 l_rec_acct_attrs.array_date_value(32) := p_source_67;
162505 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
162506 l_rec_acct_attrs.array_char_value(33) := p_source_68;
162507 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
162508 l_rec_acct_attrs.array_num_value(34) := p_source_69;
162509 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
162510 l_rec_acct_attrs.array_num_value(35) := p_source_70;
162511 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
162512 l_rec_acct_attrs.array_char_value(36) := p_source_71;
162513 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
162514 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
162515 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
162516 l_rec_acct_attrs.array_char_value(38) := p_source_43;
162517 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
162518 l_rec_acct_attrs.array_num_value(39) := p_source_73;
162519 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
162520 l_rec_acct_attrs.array_num_value(40) := p_source_74;
162524 l_rec_acct_attrs.array_num_value(42) := p_source_76;
162521 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
162522 l_rec_acct_attrs.array_num_value(41) := p_source_75;
162523 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
162525 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
162526 l_rec_acct_attrs.array_num_value(43) := p_source_77;
162527 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
162528 l_rec_acct_attrs.array_num_value(44) := p_source_78;
162529
162530 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
162531 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
162532
162533 ---------------------------------------------------------------------------------------------------------------
162534 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
162535 ---------------------------------------------------------------------------------------------------------------
162536 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
162537
162538 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
162539 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
162540
162541 IF xla_accounting_cache_pkg.GetValueChar
162542 (p_source_code => 'LEDGER_CATEGORY_CODE'
162543 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
162544 AND l_bflow_method_code = 'PRIOR_ENTRY'
162545 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
162546 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
162547 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
162548 )
162549 THEN
162550 xla_ae_lines_pkg.BflowUpgEntry
162551 (p_business_method_code => l_bflow_method_code
162552 ,p_business_class_code => l_bflow_class_code
162553 ,p_balance_type => l_balance_type_code);
162554 ELSE
162555 NULL;
162556 -- No business flow processing for business flow method of NONE.
162557 END IF;
162558
162559 --
162560 -- call analytical criteria
162561 --
162562
162563 --
162564 -- call description
162565 --
162566
162567 xla_ae_lines_pkg.SetLineDescription(
162568 p_ae_header_id => l_ae_header_id
162569 ,p_description => Description_2 (
162570 p_application_id => p_application_id
162571 , p_ae_header_id => l_ae_header_id
162572 , p_source_1 => p_source_1
162573 )
162574 );
162575
162576
162577 --
162578 -- call ADRs
162579 -- Bug 4922099
162580 --
162581 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
162582 (NVL(l_actual_upg_option, 'N') = 'O') OR
162583 (NVL(l_enc_upg_option, 'N') = 'O')
162584 )
162585 THEN
162586 NULL;
162587 --
162588 --
162589
162590 l_ccid := AcctDerRule_29(
162591 p_application_id => p_application_id
162592 , p_ae_header_id => l_ae_header_id
162593 , p_source_3 => p_source_3
162594 , p_source_3_meaning => p_source_3_meaning
162595 , p_source_8 => p_source_8
162596 , p_source_9 => p_source_9
162597 , p_source_10 => p_source_10
162598 , p_source_10_meaning => p_source_10_meaning
162599 , p_source_11 => p_source_11
162600 , p_source_18 => p_source_18
162601 , p_source_35 => p_source_35
162602 , p_source_35_meaning => p_source_35_meaning
162603 , x_transaction_coa_id => l_adr_transaction_coa_id
162604 , x_accounting_coa_id => l_adr_accounting_coa_id
162605 , x_value_type_code => l_adr_value_type_code
162606 , p_side => 'NA'
162607 );
162608
162609 xla_ae_lines_pkg.set_ccid(
162610 p_code_combination_id => l_ccid
162611 , p_value_type_code => l_adr_value_type_code
162612 , p_transaction_coa_id => l_adr_transaction_coa_id
162613 , p_accounting_coa_id => l_adr_accounting_coa_id
162614 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
162615 , p_adr_type_code => 'S'
162616 , p_component_type => l_component_type
162617 , p_component_code => l_component_code
162618 , p_component_type_code => l_component_type_code
162619 , p_component_appl_id => l_component_appl_id
162620 , p_amb_context_code => l_amb_context_code
162621 , p_side => 'NA'
162622 );
162623
162624
162625 l_segment := AcctDerRule_7(
162626 p_application_id => p_application_id
162627 , p_ae_header_id => l_ae_header_id
162628 , p_source_3 => p_source_3
162629 , p_source_3_meaning => p_source_3_meaning
162630 , p_source_8 => p_source_8
162631 , p_source_9 => p_source_9
162632 , p_source_10 => p_source_10
162633 , p_source_10_meaning => p_source_10_meaning
162634 , p_source_11 => p_source_11
162635 , x_transaction_coa_id => l_adr_transaction_coa_id
162636 , x_accounting_coa_id => l_adr_accounting_coa_id
162637 , x_flexfield_segment_code => l_adr_flexfield_segment_code
162638 , x_flex_value_set_id => l_adr_flex_value_set_id
162639 , x_value_type_code => l_adr_value_type_code
162643 , p_override_seg_flag => 'Y'
162640 , x_value_combination_id => l_adr_value_combination_id
162641 , x_value_segment_code => l_adr_value_segment_code
162642 , p_side => 'NA'
162644 );
162645
162646 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
162647
162648 xla_ae_lines_pkg.set_segment(
162649 p_to_segment_code => 'GL_ACCOUNT'
162650 , p_segment_value => l_segment
162651 , p_from_segment_code => l_adr_value_segment_code
162652 , p_from_combination_id => l_adr_value_combination_id
162653 , p_value_type_code => l_adr_value_type_code
162654 , p_transaction_coa_id => l_adr_transaction_coa_id
162655 , p_accounting_coa_id => l_adr_accounting_coa_id
162656 , p_flexfield_segment_code => l_adr_flexfield_segment_code
162657 , p_flex_value_set_id => l_adr_flex_value_set_id
162658 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
162659 , p_adr_type_code => 'S'
162660 , p_component_type => l_component_type
162661 , p_component_code => l_component_code
162662 , p_component_type_code => l_component_type_code
162663 , p_component_appl_id => l_component_appl_id
162664 , p_amb_context_code => l_amb_context_code
162665 , p_entity_code => 'AP_INVOICES'
162666 , p_event_class_code => 'INVOICES'
162667 , p_side => 'NA'
162668 );
162669
162670 END IF;
162671
162672 l_segment := AcctDerRule_22(
162673 p_application_id => p_application_id
162674 , p_ae_header_id => l_ae_header_id
162675 , p_source_3 => p_source_3
162676 , p_source_3_meaning => p_source_3_meaning
162677 , p_source_10 => p_source_10
162678 , p_source_10_meaning => p_source_10_meaning
162679 , p_source_18 => p_source_18
162680 , x_transaction_coa_id => l_adr_transaction_coa_id
162681 , x_accounting_coa_id => l_adr_accounting_coa_id
162682 , x_flexfield_segment_code => l_adr_flexfield_segment_code
162683 , x_flex_value_set_id => l_adr_flex_value_set_id
162684 , x_value_type_code => l_adr_value_type_code
162685 , x_value_combination_id => l_adr_value_combination_id
162686 , x_value_segment_code => l_adr_value_segment_code
162687 , p_side => 'NA'
162688 , p_override_seg_flag => 'Y'
162689 );
162690
162691 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
162692
162693 xla_ae_lines_pkg.set_segment(
162694 p_to_segment_code => 'GL_BALANCING'
162695 , p_segment_value => l_segment
162696 , p_from_segment_code => l_adr_value_segment_code
162697 , p_from_combination_id => l_adr_value_combination_id
162698 , p_value_type_code => l_adr_value_type_code
162699 , p_transaction_coa_id => l_adr_transaction_coa_id
162700 , p_accounting_coa_id => l_adr_accounting_coa_id
162701 , p_flexfield_segment_code => l_adr_flexfield_segment_code
162702 , p_flex_value_set_id => l_adr_flex_value_set_id
162703 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
162704 , p_adr_type_code => 'S'
162705 , p_component_type => l_component_type
162706 , p_component_code => l_component_code
162707 , p_component_type_code => l_component_type_code
162708 , p_component_appl_id => l_component_appl_id
162709 , p_amb_context_code => l_amb_context_code
162710 , p_entity_code => 'AP_INVOICES'
162711 , p_event_class_code => 'INVOICES'
162712 , p_side => 'NA'
162713 );
162714
162715 END IF;
162716
162717 --
162718 --
162719 END IF;
162720 --
162721 -- Bug 4922099
162722 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
162723 (NVL(l_enc_upg_option, 'N') = 'O')
162724 ) AND
162725 (l_bflow_method_code = 'PRIOR_ENTRY')
162726 )
162727 THEN
162728 IF
162729 --
162730 1 = 2
162731 --
162732 THEN
162733 xla_accounting_err_pkg.build_message
162734 (p_appli_s_name => 'XLA'
162735 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
162736 ,p_token_1 => 'LINE_NUMBER'
162737 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
162738 ,p_token_2 => 'LINE_TYPE_NAME'
162739 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
162740 l_component_type
162741 ,l_component_code
162742 ,l_component_type_code
162743 ,l_component_appl_id
162744 ,l_amb_context_code
162745 ,l_entity_code
162746 ,l_event_class_code
162750 p_lookup_type => 'XLA_OWNER_TYPE'
162747 )
162748 ,p_token_3 => 'OWNER'
162749 ,p_value_3 => xla_lookups_pkg.get_meaning(
162751 ,p_lookup_code => l_component_type_code
162752 )
162753 ,p_token_4 => 'PRODUCT_NAME'
162754 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
162755 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
162756 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
162757 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
162758 ,p_ae_header_id => NULL
162759 );
162760
162761 IF (C_LEVEL_ERROR>= g_log_level) THEN
162762 trace
162763 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
162764 ,p_level => C_LEVEL_ERROR
162765 ,p_module => l_log_module);
162766 END IF;
162767 END IF;
162768 END IF;
162769 --
162770 --
162771 ------------------------------------------------------------------------------------------------
162772 -- 4219869 Business Flow
162773 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
162774 -- Prior Entry. Currently, the following code is always generated.
162775 ------------------------------------------------------------------------------------------------
162776 XLA_AE_LINES_PKG.ValidateCurrentLine;
162777
162778 ------------------------------------------------------------------------------------
162779 -- 4219869 Business Flow
162780 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
162781 ------------------------------------------------------------------------------------
162782 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
162783
162784 ----------------------------------------------------------------------------------
162785 -- 4219869 Business Flow
162786 -- Update journal entry status -- Need to generate this within IF <condition>
162787 ----------------------------------------------------------------------------------
162788 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
162789 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
162790 ,p_balance_type_code => l_balance_type_code
162791 );
162792
162793 -------------------------------------------------------------------------------------------
162794 -- 4262811 - Generate the Accrual Reversal lines
162795 -------------------------------------------------------------------------------------------
162796 BEGIN
162797 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
162798 (g_array_event(p_event_id).array_value_num('header_index'));
162799 IF l_acc_rev_flag IS NULL THEN
162800 l_acc_rev_flag := 'N';
162801 END IF;
162802 EXCEPTION
162803 WHEN OTHERS THEN
162804 l_acc_rev_flag := 'N';
162805 END;
162806 --
162807 IF (l_acc_rev_flag = 'Y') THEN
162808
162809 -- 4645092 ------------------------------------------------------------------------------
162810 -- To allow MPA report to determine if it should generate report process
162811 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
162812 ------------------------------------------------------------------------------------------
162813
162814 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
162815 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
162816 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
162817 -- call ADRs
162818 -- Bug 4922099
162819 --
162820 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
162821 (NVL(l_actual_upg_option, 'N') = 'O') OR
162822 (NVL(l_enc_upg_option, 'N') = 'O')
162823 )
162824 THEN
162825 NULL;
162826 --
162827 --
162828
162829 l_ccid := AcctDerRule_29(
162830 p_application_id => p_application_id
162831 , p_ae_header_id => l_ae_header_id
162832 , p_source_3 => p_source_3
162833 , p_source_3_meaning => p_source_3_meaning
162834 , p_source_8 => p_source_8
162835 , p_source_9 => p_source_9
162836 , p_source_10 => p_source_10
162837 , p_source_10_meaning => p_source_10_meaning
162838 , p_source_11 => p_source_11
162839 , p_source_18 => p_source_18
162840 , p_source_35 => p_source_35
162841 , p_source_35_meaning => p_source_35_meaning
162842 , x_transaction_coa_id => l_adr_transaction_coa_id
162843 , x_accounting_coa_id => l_adr_accounting_coa_id
162844 , x_value_type_code => l_adr_value_type_code
162845 , p_side => 'NA'
162846 );
162847
162848 xla_ae_lines_pkg.set_ccid(
162849 p_code_combination_id => l_ccid
162850 , p_value_type_code => l_adr_value_type_code
162851 , p_transaction_coa_id => l_adr_transaction_coa_id
162855 , p_component_type => l_component_type
162852 , p_accounting_coa_id => l_adr_accounting_coa_id
162853 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
162854 , p_adr_type_code => 'S'
162856 , p_component_code => l_component_code
162857 , p_component_type_code => l_component_type_code
162858 , p_component_appl_id => l_component_appl_id
162859 , p_amb_context_code => l_amb_context_code
162860 , p_side => 'NA'
162861 );
162862
162863
162864 l_segment := AcctDerRule_7(
162865 p_application_id => p_application_id
162866 , p_ae_header_id => l_ae_header_id
162867 , p_source_3 => p_source_3
162868 , p_source_3_meaning => p_source_3_meaning
162869 , p_source_8 => p_source_8
162870 , p_source_9 => p_source_9
162871 , p_source_10 => p_source_10
162872 , p_source_10_meaning => p_source_10_meaning
162873 , p_source_11 => p_source_11
162874 , x_transaction_coa_id => l_adr_transaction_coa_id
162875 , x_accounting_coa_id => l_adr_accounting_coa_id
162876 , x_flexfield_segment_code => l_adr_flexfield_segment_code
162877 , x_flex_value_set_id => l_adr_flex_value_set_id
162878 , x_value_type_code => l_adr_value_type_code
162879 , x_value_combination_id => l_adr_value_combination_id
162880 , x_value_segment_code => l_adr_value_segment_code
162881 , p_side => 'NA'
162882 , p_override_seg_flag => 'Y'
162883 );
162884
162885 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
162886
162887 xla_ae_lines_pkg.set_segment(
162888 p_to_segment_code => 'GL_ACCOUNT'
162889 , p_segment_value => l_segment
162890 , p_from_segment_code => l_adr_value_segment_code
162891 , p_from_combination_id => l_adr_value_combination_id
162892 , p_value_type_code => l_adr_value_type_code
162893 , p_transaction_coa_id => l_adr_transaction_coa_id
162894 , p_accounting_coa_id => l_adr_accounting_coa_id
162895 , p_flexfield_segment_code => l_adr_flexfield_segment_code
162896 , p_flex_value_set_id => l_adr_flex_value_set_id
162897 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
162898 , p_adr_type_code => 'S'
162899 , p_component_type => l_component_type
162900 , p_component_code => l_component_code
162901 , p_component_type_code => l_component_type_code
162902 , p_component_appl_id => l_component_appl_id
162903 , p_amb_context_code => l_amb_context_code
162904 , p_entity_code => 'AP_INVOICES'
162905 , p_event_class_code => 'INVOICES'
162906 , p_side => 'NA'
162907 );
162908
162909 END IF;
162910
162911 l_segment := AcctDerRule_22(
162912 p_application_id => p_application_id
162913 , p_ae_header_id => l_ae_header_id
162914 , p_source_3 => p_source_3
162915 , p_source_3_meaning => p_source_3_meaning
162916 , p_source_10 => p_source_10
162917 , p_source_10_meaning => p_source_10_meaning
162918 , p_source_18 => p_source_18
162919 , x_transaction_coa_id => l_adr_transaction_coa_id
162920 , x_accounting_coa_id => l_adr_accounting_coa_id
162921 , x_flexfield_segment_code => l_adr_flexfield_segment_code
162922 , x_flex_value_set_id => l_adr_flex_value_set_id
162923 , x_value_type_code => l_adr_value_type_code
162924 , x_value_combination_id => l_adr_value_combination_id
162925 , x_value_segment_code => l_adr_value_segment_code
162926 , p_side => 'NA'
162927 , p_override_seg_flag => 'Y'
162928 );
162929
162930 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
162931
162932 xla_ae_lines_pkg.set_segment(
162933 p_to_segment_code => 'GL_BALANCING'
162934 , p_segment_value => l_segment
162935 , p_from_segment_code => l_adr_value_segment_code
162936 , p_from_combination_id => l_adr_value_combination_id
162937 , p_value_type_code => l_adr_value_type_code
162938 , p_transaction_coa_id => l_adr_transaction_coa_id
162939 , p_accounting_coa_id => l_adr_accounting_coa_id
162940 , p_flexfield_segment_code => l_adr_flexfield_segment_code
162941 , p_flex_value_set_id => l_adr_flex_value_set_id
162942 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
162943 , p_adr_type_code => 'S'
162944 , p_component_type => l_component_type
162945 , p_component_code => l_component_code
162946 , p_component_type_code => l_component_type_code
162947 , p_component_appl_id => l_component_appl_id
162948 , p_amb_context_code => l_amb_context_code
162949 , p_entity_code => 'AP_INVOICES'
162950 , p_event_class_code => 'INVOICES'
162951 , p_side => 'NA'
162952 );
162953
162954 END IF;
162955
162956 --
162957 --
162958 END IF;
162959
162960 --
162961 -- Update the line information that should be overwritten
162962 --
162963 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
162964 p_header_num => 1);
162968
162965 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
162966
162967 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
162969 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
162970 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
162971 END IF;
162972
162973 --
162974 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
162975 --
162976 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
162977 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
162978 ELSE
162979 ---------------------------------------------------------------------------------------------------
162980 -- 4262811a Switch Sign
162981 ---------------------------------------------------------------------------------------------------
162982 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
162983 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
162984 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
162985 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
162986 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
162987 -- 5132302
162988 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
162989 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
162990
162991 END IF;
162992
162993 -- 4955764
162994 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
162995 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
162996
162997
162998 XLA_AE_LINES_PKG.ValidateCurrentLine;
162999 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
163000
163001 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
163002 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
163003 ,p_balance_type_code => l_balance_type_code);
163004
163005 END IF;
163006
163007 -----------------------------------------------------------------------------------------
163008 -- 4262811 Multiperiod Accounting
163009 -----------------------------------------------------------------------------------------
163010 -- No MPA option is assigned.
163011
163012
163013 END IF;
163014 END IF;
163015 --
163016
163017 --
163018 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
163019 trace
163020 (p_msg => 'END of AcctLineType_263'
163021 ,p_level => C_LEVEL_PROCEDURE
163022 ,p_module => l_log_module);
163023 END IF;
163024 --
163025 EXCEPTION
163026 WHEN xla_exceptions_pkg.application_exception THEN
163027 RAISE;
163028 WHEN OTHERS THEN
163029 xla_exceptions_pkg.raise_message
163030 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_263');
163031 END AcctLineType_263;
163032 --
163033
163034 ---------------------------------------
163035 --
163036 -- PRIVATE FUNCTION
163037 -- AcctLineType_264
163038 --
163039 ---------------------------------------
163040 PROCEDURE AcctLineType_264 (
163041 p_application_id IN NUMBER
163042 ,p_event_id IN NUMBER
163043 ,p_calculate_acctd_flag IN VARCHAR2
163044 ,p_calculate_g_l_flag IN VARCHAR2
163045 ,p_actual_flag IN OUT VARCHAR2
163046 ,p_balance_type_code OUT VARCHAR2
163047 ,p_gain_or_loss_ref OUT VARCHAR2
163048
163049 --Invoice Distribution Description
163050 , p_source_1 IN VARCHAR2
163051 --Automatic Offsets Value
163052 , p_source_3 IN VARCHAR2
163053 , p_source_3_meaning IN VARCHAR2
163054 --Purchase Order Rate Variance Gain Account
163055 , p_source_8 IN NUMBER
163056 --Invoice Distribution Ledger Amount
163057 , p_source_9 IN NUMBER
163058 --Destination Type of the PO Distribution
163059 , p_source_10 IN VARCHAR2
163060 , p_source_10_meaning IN VARCHAR2
163061 --Purchase Order Rate Variance Loss Account
163062 , p_source_11 IN NUMBER
163063 --Invoice Distribution Account
163064 , p_source_18 IN NUMBER
163065 --Invoice Distribution Type
163066 , p_source_21 IN VARCHAR2
163067 , p_source_21_meaning IN VARCHAR2
163068 --Automatic Offsets Flag
163069 , p_source_35 IN VARCHAR2
163070 , p_source_35_meaning IN VARCHAR2
163071 --Accounting Reversal Indicator
163072 , p_source_41 IN VARCHAR2
163073 --Distribution Link Type
163074 , p_source_43 IN VARCHAR2
163075 --Allocation to Main Distribution Identifier
163076 , p_source_45 IN NUMBER
163077 --Invoice Identifier
163078 , p_source_46 IN NUMBER
163079 --Invoice Distribution Identifier
163080 , p_source_52 IN NUMBER
163081 --Payables Encumbrance Upgrade Credit Account
163082 , p_source_53 IN NUMBER
163083 --Payables Encumbrance Upgrade Credit Amount
163084 , p_source_54 IN NUMBER
163088 , p_source_56 IN NUMBER
163085 --Invoice Currency Code
163086 , p_source_55 IN VARCHAR2
163087 --Payables Encumbrance Upgrade Credit Base Amount
163089 --Payables Encumbrance Upgrade Debit Account
163090 , p_source_57 IN NUMBER
163091 --Payables Encumbrance Upgrade Debit Amount
163092 , p_source_58 IN NUMBER
163093 --Payables Encumbrance Upgrade Debit Base Amount
163094 , p_source_59 IN NUMBER
163095 --Payables Encumbrance Upgrade Option
163096 , p_source_60 IN VARCHAR2
163097 --Invoice Distribution Amount
163098 , p_source_61 IN NUMBER
163099 --Deferred Accounting End Date
163100 , p_source_65 IN DATE
163101 --Deferred Accounting Option
163102 , p_source_66 IN VARCHAR2
163103 --Deferred Accounting Start Date
163104 , p_source_67 IN DATE
163105 --Override Accounted Amount Indicator
163106 , p_source_68 IN VARCHAR2
163107 , p_source_68_meaning IN VARCHAR2
163108 --Invoice Supplier Identifier
163109 , p_source_69 IN NUMBER
163110 --Invoice Supplier Site Identifier
163111 , p_source_70 IN NUMBER
163112 --Third Party Type
163113 , p_source_71 IN VARCHAR2
163114 --Parent Reversal Identifier
163115 , p_source_72 IN NUMBER
163116 --Invoice Distribution Statistical Amount
163117 , p_source_73 IN NUMBER
163118 --Invoice Distribution Tax Line Identifier
163119 , p_source_74 IN NUMBER
163120 --Invoice Distribution Tax Distribution Identifier from Tax
163121 , p_source_75 IN NUMBER
163122 --Invoice Distribution Summary Tax Line Identifier
163123 , p_source_76 IN NUMBER
163124 --Payables Upgrade Credit Encumbrance Type Identifier
163125 , p_source_77 IN NUMBER
163126 --Payables Upgrade Debit Encumbrance Type Identifier
163127 , p_source_78 IN NUMBER
163128 --Business Flow Accounts Payable Application Identifier
163129 , p_source_79 IN NUMBER
163130 --Business Flow Invoice Distribution Type
163131 , p_source_80 IN VARCHAR2
163132 --Business Flow Invoice Entity Code
163133 , p_source_81 IN VARCHAR2
163134 --Business Flow Invoice Distribution Identifier
163135 , p_source_82 IN NUMBER
163136 --Business Flow Invoice Identifier
163137 , p_source_83 IN NUMBER
163138 --Accrue on Receipt Option
163139 , p_source_84 IN VARCHAR2
163140 , p_source_84_meaning IN VARCHAR2
163141 --Invoice Exchange Date
163142 , p_source_136 IN DATE
163143 --Invoice Exchange Rate
163144 , p_source_137 IN NUMBER
163145 --Invoice Exchange Rate Type
163146 , p_source_138 IN VARCHAR2
163147 )
163148 IS
163149
163150 l_component_type VARCHAR2(80);
163151 l_component_code VARCHAR2(30);
163152 l_component_type_code VARCHAR2(1);
163153 l_component_appl_id INTEGER;
163154 l_amb_context_code VARCHAR2(30);
163155 l_entity_code VARCHAR2(30);
163156 l_event_class_code VARCHAR2(30);
163157 l_ae_header_id NUMBER;
163158 l_event_type_code VARCHAR2(30);
163159 l_line_definition_code VARCHAR2(30);
163160 l_line_definition_owner_code VARCHAR2(1);
163161 --
163162 -- adr variables
163163 l_segment VARCHAR2(30);
163164 l_ccid NUMBER;
163165 l_adr_transaction_coa_id NUMBER;
163166 l_adr_accounting_coa_id NUMBER;
163167 l_adr_flexfield_segment_code VARCHAR2(30);
163168 l_adr_flex_value_set_id NUMBER;
163169 l_adr_value_type_code VARCHAR2(30);
163170 l_adr_value_combination_id NUMBER;
163171 l_adr_value_segment_code VARCHAR2(30);
163172
163173 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
163174 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
163175 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
163176 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
163177
163178 -- 4262811 Variables ------------------------------------------------------------------------------------------
163179 l_entered_amt_idx NUMBER;
163180 l_accted_amt_idx NUMBER;
163181 l_acc_rev_flag VARCHAR2(1);
163182 l_accrual_line_num NUMBER;
163183 l_tmp_amt NUMBER;
163184 l_acc_rev_natural_side_code VARCHAR2(1);
163185
163186 l_num_entries NUMBER;
163187 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
163188 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
163189 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
163190 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
163191 l_recog_line_1 NUMBER;
163192 l_recog_line_2 NUMBER;
163193
163194 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
163195 l_bflow_applied_to_amt NUMBER; -- 5132302
163196 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
163197
163198 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
163199
163200 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
163201 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
163202
163203 ---------------------------------------------------------------------------------------------------------------
163204
163205
163209 l_balance_type_code VARCHAR2(1);
163206 --
163207 -- bulk performance
163208 --
163210 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
163211 l_log_module VARCHAR2(240);
163212
163213 --
163214 -- Upgrade strategy
163215 --
163216 l_actual_upg_option VARCHAR2(1);
163217 l_enc_upg_option VARCHAR2(1);
163218
163219 --
163220 BEGIN
163221 --
163222 IF g_log_enabled THEN
163223 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_264';
163224 END IF;
163225 --
163226 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
163227
163228 trace
163229 (p_msg => 'BEGIN of AcctLineType_264'
163230 ,p_level => C_LEVEL_PROCEDURE
163231 ,p_module => l_log_module);
163232
163233 END IF;
163234 --
163235 l_component_type := 'AMB_JLT';
163236 l_component_code := 'AP_TAX_EX_RATE_VAR_PREPAY';
163237 l_component_type_code := 'S';
163238 l_component_appl_id := 200;
163239 l_amb_context_code := 'DEFAULT';
163240 l_entity_code := 'AP_INVOICES';
163241 l_event_class_code := 'PREPAYMENTS';
163242 l_event_type_code := 'PREPAYMENTS_ALL';
163243 l_line_definition_owner_code := 'S';
163244 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
163245 --
163246 l_balance_type_code := 'A';
163247 l_segment := NULL;
163248 l_ccid := NULL;
163249 l_adr_transaction_coa_id := NULL;
163250 l_adr_accounting_coa_id := NULL;
163251 l_adr_flexfield_segment_code := NULL;
163252 l_adr_flex_value_set_id := NULL;
163253 l_adr_value_type_code := NULL;
163254 l_adr_value_combination_id := NULL;
163255 l_adr_value_segment_code := NULL;
163256
163257 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
163258 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
163259 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
163260 l_budgetary_control_flag := 'N';
163261
163262 l_bflow_applied_to_amt_idx := NULL; -- 5132302
163263 l_bflow_applied_to_amt := NULL; -- 5132302
163264 l_entered_amt_idx := NULL; -- 4262811
163265 l_accted_amt_idx := NULL; -- 4262811
163266 l_acc_rev_flag := NULL; -- 4262811
163267 l_accrual_line_num := NULL; -- 4262811
163268 l_tmp_amt := NULL; -- 4262811
163269 --
163270 IF ((p_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
163271 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y')) THEN
163272 return;
163273 END IF;
163274
163275 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
163276 l_balance_type_code <> 'B' THEN
163277 IF NVL(p_source_21,'
163278 ') = 'TERV' AND
163279 NVL(p_source_84,'
163280 ') = 'Y'
163281 THEN
163282
163283 --
163284 XLA_AE_LINES_PKG.SetNewLine;
163285
163286 p_balance_type_code := l_balance_type_code;
163287 -- set the flag so later we will know whether the gain loss line needs to be created
163288
163289 IF(l_balance_type_code = 'A' ) THEN
163290 p_actual_flag :='G';
163291 END IF;
163292
163293 --
163294 -- bulk performance
163295 --
163296 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
163297 p_header_num => 0); -- 4262811
163298 --
163299 -- set accounting line options
163300 --
163301 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
163302 p_natural_side_code => 'D'
163303 , p_gain_or_loss_flag => 'Y'
163304 , p_gl_transfer_mode_code => 'S'
163305 , p_acct_entry_type_code => 'A'
163306 , p_switch_side_flag => 'Y'
163307 , p_merge_duplicate_code => 'A'
163308 );
163309 --
163310 l_acc_rev_natural_side_code := 'C'; -- 4262811
163311 --
163312 --
163313 -- set accounting line type info
163314 --
163315 xla_ae_lines_pkg.SetAcctLineType
163316 (p_component_type => l_component_type
163317 ,p_event_type_code => l_event_type_code
163318 ,p_line_definition_owner_code => l_line_definition_owner_code
163319 ,p_line_definition_code => l_line_definition_code
163320 ,p_accounting_line_code => l_component_code
163321 ,p_accounting_line_type_code => l_component_type_code
163322 ,p_accounting_line_appl_id => l_component_appl_id
163323 ,p_amb_context_code => l_amb_context_code
163324 ,p_entity_code => l_entity_code
163325 ,p_event_class_code => l_event_class_code);
163326 --
163327 -- set accounting class
163328 --
163329 xla_ae_lines_pkg.SetAcctClass(
163330 p_accounting_class_code => 'TERV'
163331 , p_ae_header_id => l_ae_header_id
163332 );
163333
163334 --
163335 -- set rounding class
163336 --
163337 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
163338 'TERV';
163339
163340 --
163344 -- bulk performance
163341 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
163342 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
163343 --
163345 --
163346 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
163347
163348 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
163349 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
163350
163351 -- 4955764
163352 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
163353 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
163354
163355 -- 4458381 Public Sector Enh
163356
163357 --
163358 -- set accounting attributes for the line type
163359 --
163360 l_entered_amt_idx := 23;
163361 l_accted_amt_idx := 28;
163362 l_bflow_applied_to_amt_idx := NULL; -- 5132302
163363 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
163364 l_rec_acct_attrs.array_char_value(1) := p_source_41;
163365 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
163366 l_rec_acct_attrs.array_num_value(2) :=
163367 xla_ae_sources_pkg.GetSystemSourceNum(
163368 p_source_code => 'XLA_EVENT_APPL_ID'
163369 , p_source_type_code => 'Y'
163370 , p_source_application_id => 602
163371 );
163372 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
163373 l_rec_acct_attrs.array_char_value(3) := p_source_43;
163374 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
163375 l_rec_acct_attrs.array_char_value(4) :=
163376 xla_ae_sources_pkg.GetSystemSourceChar(
163377 p_source_code => 'XLA_ENTITY_CODE'
163378 , p_source_type_code => 'Y'
163379 , p_source_application_id => 602
163380 );
163381 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
163382 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
163383 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
163384 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
163385 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
163386 l_rec_acct_attrs.array_num_value(7) := p_source_79;
163387 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
163388 l_rec_acct_attrs.array_char_value(8) := p_source_80;
163389 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
163390 l_rec_acct_attrs.array_char_value(9) := p_source_81;
163391 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
163392 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
163393 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
163394 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
163395 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
163396 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
163397 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
163398 l_rec_acct_attrs.array_char_value(13) := p_source_43;
163399 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
163400 l_rec_acct_attrs.array_num_value(14) := p_source_53;
163401 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
163402 l_rec_acct_attrs.array_num_value(15) := p_source_54;
163403 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
163404 l_rec_acct_attrs.array_char_value(16) := p_source_55;
163405 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
163406 l_rec_acct_attrs.array_num_value(17) := p_source_56;
163407 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
163408 l_rec_acct_attrs.array_num_value(18) := p_source_57;
163409 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
163410 l_rec_acct_attrs.array_num_value(19) := p_source_58;
163411 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
163412 l_rec_acct_attrs.array_char_value(20) := p_source_55;
163413 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
163414 l_rec_acct_attrs.array_num_value(21) := p_source_59;
163415 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
163416 l_rec_acct_attrs.array_char_value(22) := p_source_60;
163417 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
163418 l_rec_acct_attrs.array_num_value(23) := p_source_61;
163419 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
163420 l_rec_acct_attrs.array_char_value(24) := p_source_55;
163421 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
163422 l_rec_acct_attrs.array_date_value(25) := p_source_136;
163423 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
163424 l_rec_acct_attrs.array_num_value(26) := p_source_137;
163425 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
163426 l_rec_acct_attrs.array_char_value(27) := p_source_138;
163427 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
163428 l_rec_acct_attrs.array_num_value(28) := p_source_9;
163429 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
163430 l_rec_acct_attrs.array_date_value(29) := p_source_65;
163431 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
163432 l_rec_acct_attrs.array_char_value(30) := p_source_66;
163433 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
163434 l_rec_acct_attrs.array_date_value(31) := p_source_67;
163438 l_rec_acct_attrs.array_num_value(33) := p_source_69;
163435 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
163436 l_rec_acct_attrs.array_char_value(32) := p_source_68;
163437 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
163439 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
163440 l_rec_acct_attrs.array_num_value(34) := p_source_70;
163441 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
163442 l_rec_acct_attrs.array_char_value(35) := p_source_71;
163443 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
163444 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
163445 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
163446 l_rec_acct_attrs.array_char_value(37) := p_source_43;
163447 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
163448 l_rec_acct_attrs.array_num_value(38) := p_source_73;
163449 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
163450 l_rec_acct_attrs.array_num_value(39) := p_source_74;
163451 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
163452 l_rec_acct_attrs.array_num_value(40) := p_source_75;
163453 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
163454 l_rec_acct_attrs.array_num_value(41) := p_source_76;
163455 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
163456 l_rec_acct_attrs.array_num_value(42) := p_source_77;
163457 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
163458 l_rec_acct_attrs.array_num_value(43) := p_source_78;
163459
163460 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
163461 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
163462
163463 ---------------------------------------------------------------------------------------------------------------
163464 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
163465 ---------------------------------------------------------------------------------------------------------------
163466 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
163467
163468 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
163469 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
163470
163471 IF xla_accounting_cache_pkg.GetValueChar
163472 (p_source_code => 'LEDGER_CATEGORY_CODE'
163473 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
163474 AND l_bflow_method_code = 'PRIOR_ENTRY'
163475 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
163476 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
163477 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
163478 )
163479 THEN
163480 xla_ae_lines_pkg.BflowUpgEntry
163481 (p_business_method_code => l_bflow_method_code
163482 ,p_business_class_code => l_bflow_class_code
163483 ,p_balance_type => l_balance_type_code);
163484 ELSE
163485 NULL;
163486 -- No business flow processing for business flow method of NONE.
163487 END IF;
163488
163489 --
163490 -- call analytical criteria
163491 --
163492
163493 --
163494 -- call description
163495 --
163496
163497 xla_ae_lines_pkg.SetLineDescription(
163498 p_ae_header_id => l_ae_header_id
163499 ,p_description => Description_2 (
163500 p_application_id => p_application_id
163501 , p_ae_header_id => l_ae_header_id
163502 , p_source_1 => p_source_1
163503 )
163504 );
163505
163506
163507 --
163508 -- call ADRs
163509 -- Bug 4922099
163510 --
163511 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
163512 (NVL(l_actual_upg_option, 'N') = 'O') OR
163513 (NVL(l_enc_upg_option, 'N') = 'O')
163514 )
163515 THEN
163516 NULL;
163517 --
163518 --
163519
163520 l_ccid := AcctDerRule_29(
163521 p_application_id => p_application_id
163522 , p_ae_header_id => l_ae_header_id
163523 , p_source_3 => p_source_3
163524 , p_source_3_meaning => p_source_3_meaning
163525 , p_source_8 => p_source_8
163526 , p_source_9 => p_source_9
163527 , p_source_10 => p_source_10
163528 , p_source_10_meaning => p_source_10_meaning
163529 , p_source_11 => p_source_11
163530 , p_source_18 => p_source_18
163531 , p_source_35 => p_source_35
163532 , p_source_35_meaning => p_source_35_meaning
163533 , x_transaction_coa_id => l_adr_transaction_coa_id
163534 , x_accounting_coa_id => l_adr_accounting_coa_id
163535 , x_value_type_code => l_adr_value_type_code
163536 , p_side => 'NA'
163537 );
163538
163539 xla_ae_lines_pkg.set_ccid(
163540 p_code_combination_id => l_ccid
163541 , p_value_type_code => l_adr_value_type_code
163542 , p_transaction_coa_id => l_adr_transaction_coa_id
163543 , p_accounting_coa_id => l_adr_accounting_coa_id
163544 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
163545 , p_adr_type_code => 'S'
163546 , p_component_type => l_component_type
163547 , p_component_code => l_component_code
163548 , p_component_type_code => l_component_type_code
163552 );
163549 , p_component_appl_id => l_component_appl_id
163550 , p_amb_context_code => l_amb_context_code
163551 , p_side => 'NA'
163553
163554
163555 l_segment := AcctDerRule_7(
163556 p_application_id => p_application_id
163557 , p_ae_header_id => l_ae_header_id
163558 , p_source_3 => p_source_3
163559 , p_source_3_meaning => p_source_3_meaning
163560 , p_source_8 => p_source_8
163561 , p_source_9 => p_source_9
163562 , p_source_10 => p_source_10
163563 , p_source_10_meaning => p_source_10_meaning
163564 , p_source_11 => p_source_11
163565 , x_transaction_coa_id => l_adr_transaction_coa_id
163566 , x_accounting_coa_id => l_adr_accounting_coa_id
163567 , x_flexfield_segment_code => l_adr_flexfield_segment_code
163568 , x_flex_value_set_id => l_adr_flex_value_set_id
163569 , x_value_type_code => l_adr_value_type_code
163570 , x_value_combination_id => l_adr_value_combination_id
163571 , x_value_segment_code => l_adr_value_segment_code
163572 , p_side => 'NA'
163573 , p_override_seg_flag => 'Y'
163574 );
163575
163576 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
163577
163578 xla_ae_lines_pkg.set_segment(
163579 p_to_segment_code => 'GL_ACCOUNT'
163580 , p_segment_value => l_segment
163581 , p_from_segment_code => l_adr_value_segment_code
163582 , p_from_combination_id => l_adr_value_combination_id
163583 , p_value_type_code => l_adr_value_type_code
163584 , p_transaction_coa_id => l_adr_transaction_coa_id
163585 , p_accounting_coa_id => l_adr_accounting_coa_id
163586 , p_flexfield_segment_code => l_adr_flexfield_segment_code
163587 , p_flex_value_set_id => l_adr_flex_value_set_id
163588 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
163589 , p_adr_type_code => 'S'
163590 , p_component_type => l_component_type
163591 , p_component_code => l_component_code
163592 , p_component_type_code => l_component_type_code
163593 , p_component_appl_id => l_component_appl_id
163594 , p_amb_context_code => l_amb_context_code
163595 , p_entity_code => 'AP_INVOICES'
163596 , p_event_class_code => 'PREPAYMENTS'
163597 , p_side => 'NA'
163598 );
163599
163600 END IF;
163601
163602 l_segment := AcctDerRule_22(
163603 p_application_id => p_application_id
163604 , p_ae_header_id => l_ae_header_id
163605 , p_source_3 => p_source_3
163606 , p_source_3_meaning => p_source_3_meaning
163607 , p_source_10 => p_source_10
163608 , p_source_10_meaning => p_source_10_meaning
163609 , p_source_18 => p_source_18
163610 , x_transaction_coa_id => l_adr_transaction_coa_id
163611 , x_accounting_coa_id => l_adr_accounting_coa_id
163612 , x_flexfield_segment_code => l_adr_flexfield_segment_code
163613 , x_flex_value_set_id => l_adr_flex_value_set_id
163614 , x_value_type_code => l_adr_value_type_code
163615 , x_value_combination_id => l_adr_value_combination_id
163616 , x_value_segment_code => l_adr_value_segment_code
163617 , p_side => 'NA'
163618 , p_override_seg_flag => 'Y'
163619 );
163620
163621 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
163622
163623 xla_ae_lines_pkg.set_segment(
163624 p_to_segment_code => 'GL_BALANCING'
163625 , p_segment_value => l_segment
163626 , p_from_segment_code => l_adr_value_segment_code
163627 , p_from_combination_id => l_adr_value_combination_id
163628 , p_value_type_code => l_adr_value_type_code
163629 , p_transaction_coa_id => l_adr_transaction_coa_id
163630 , p_accounting_coa_id => l_adr_accounting_coa_id
163631 , p_flexfield_segment_code => l_adr_flexfield_segment_code
163632 , p_flex_value_set_id => l_adr_flex_value_set_id
163633 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
163634 , p_adr_type_code => 'S'
163635 , p_component_type => l_component_type
163636 , p_component_code => l_component_code
163637 , p_component_type_code => l_component_type_code
163638 , p_component_appl_id => l_component_appl_id
163639 , p_amb_context_code => l_amb_context_code
163640 , p_entity_code => 'AP_INVOICES'
163641 , p_event_class_code => 'PREPAYMENTS'
163642 , p_side => 'NA'
163643 );
163644
163645 END IF;
163646
163647 --
163648 --
163649 END IF;
163650 --
163651 -- Bug 4922099
163652 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
163653 (NVL(l_enc_upg_option, 'N') = 'O')
163654 ) AND
163655 (l_bflow_method_code = 'PRIOR_ENTRY')
163656 )
163657 THEN
163658 IF
163659 --
163660 1 = 2
163661 --
163662 THEN
163663 xla_accounting_err_pkg.build_message
163664 (p_appli_s_name => 'XLA'
163668 ,p_token_2 => 'LINE_TYPE_NAME'
163665 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
163666 ,p_token_1 => 'LINE_NUMBER'
163667 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
163669 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
163670 l_component_type
163671 ,l_component_code
163672 ,l_component_type_code
163673 ,l_component_appl_id
163674 ,l_amb_context_code
163675 ,l_entity_code
163676 ,l_event_class_code
163677 )
163678 ,p_token_3 => 'OWNER'
163679 ,p_value_3 => xla_lookups_pkg.get_meaning(
163680 p_lookup_type => 'XLA_OWNER_TYPE'
163681 ,p_lookup_code => l_component_type_code
163682 )
163683 ,p_token_4 => 'PRODUCT_NAME'
163684 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
163685 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
163686 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
163687 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
163688 ,p_ae_header_id => NULL
163689 );
163690
163691 IF (C_LEVEL_ERROR>= g_log_level) THEN
163692 trace
163693 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
163694 ,p_level => C_LEVEL_ERROR
163695 ,p_module => l_log_module);
163696 END IF;
163697 END IF;
163698 END IF;
163699 --
163700 --
163701 ------------------------------------------------------------------------------------------------
163702 -- 4219869 Business Flow
163703 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
163704 -- Prior Entry. Currently, the following code is always generated.
163705 ------------------------------------------------------------------------------------------------
163706 XLA_AE_LINES_PKG.ValidateCurrentLine;
163707
163708 ------------------------------------------------------------------------------------
163709 -- 4219869 Business Flow
163710 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
163711 ------------------------------------------------------------------------------------
163712 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
163713
163714 ----------------------------------------------------------------------------------
163715 -- 4219869 Business Flow
163716 -- Update journal entry status -- Need to generate this within IF <condition>
163717 ----------------------------------------------------------------------------------
163718 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
163719 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
163720 ,p_balance_type_code => l_balance_type_code
163721 );
163722
163723 -------------------------------------------------------------------------------------------
163724 -- 4262811 - Generate the Accrual Reversal lines
163725 -------------------------------------------------------------------------------------------
163726 BEGIN
163727 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
163728 (g_array_event(p_event_id).array_value_num('header_index'));
163729 IF l_acc_rev_flag IS NULL THEN
163730 l_acc_rev_flag := 'N';
163731 END IF;
163732 EXCEPTION
163733 WHEN OTHERS THEN
163734 l_acc_rev_flag := 'N';
163735 END;
163736 --
163737 IF (l_acc_rev_flag = 'Y') THEN
163738
163739 -- 4645092 ------------------------------------------------------------------------------
163740 -- To allow MPA report to determine if it should generate report process
163741 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
163742 ------------------------------------------------------------------------------------------
163743
163744 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
163745 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
163746 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
163747 -- call ADRs
163748 -- Bug 4922099
163749 --
163750 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
163751 (NVL(l_actual_upg_option, 'N') = 'O') OR
163752 (NVL(l_enc_upg_option, 'N') = 'O')
163753 )
163754 THEN
163758
163755 NULL;
163756 --
163757 --
163759 l_ccid := AcctDerRule_29(
163760 p_application_id => p_application_id
163761 , p_ae_header_id => l_ae_header_id
163762 , p_source_3 => p_source_3
163763 , p_source_3_meaning => p_source_3_meaning
163764 , p_source_8 => p_source_8
163765 , p_source_9 => p_source_9
163766 , p_source_10 => p_source_10
163767 , p_source_10_meaning => p_source_10_meaning
163768 , p_source_11 => p_source_11
163769 , p_source_18 => p_source_18
163770 , p_source_35 => p_source_35
163771 , p_source_35_meaning => p_source_35_meaning
163772 , x_transaction_coa_id => l_adr_transaction_coa_id
163773 , x_accounting_coa_id => l_adr_accounting_coa_id
163774 , x_value_type_code => l_adr_value_type_code
163775 , p_side => 'NA'
163776 );
163777
163778 xla_ae_lines_pkg.set_ccid(
163779 p_code_combination_id => l_ccid
163780 , p_value_type_code => l_adr_value_type_code
163781 , p_transaction_coa_id => l_adr_transaction_coa_id
163782 , p_accounting_coa_id => l_adr_accounting_coa_id
163783 , p_adr_code => 'AP_EXCHG_TAXEXCHG_RATE_VAR'
163784 , p_adr_type_code => 'S'
163785 , p_component_type => l_component_type
163786 , p_component_code => l_component_code
163787 , p_component_type_code => l_component_type_code
163788 , p_component_appl_id => l_component_appl_id
163789 , p_amb_context_code => l_amb_context_code
163790 , p_side => 'NA'
163791 );
163792
163793
163794 l_segment := AcctDerRule_7(
163795 p_application_id => p_application_id
163796 , p_ae_header_id => l_ae_header_id
163797 , p_source_3 => p_source_3
163798 , p_source_3_meaning => p_source_3_meaning
163799 , p_source_8 => p_source_8
163800 , p_source_9 => p_source_9
163801 , p_source_10 => p_source_10
163802 , p_source_10_meaning => p_source_10_meaning
163803 , p_source_11 => p_source_11
163804 , x_transaction_coa_id => l_adr_transaction_coa_id
163805 , x_accounting_coa_id => l_adr_accounting_coa_id
163806 , x_flexfield_segment_code => l_adr_flexfield_segment_code
163807 , x_flex_value_set_id => l_adr_flex_value_set_id
163808 , x_value_type_code => l_adr_value_type_code
163809 , x_value_combination_id => l_adr_value_combination_id
163810 , x_value_segment_code => l_adr_value_segment_code
163811 , p_side => 'NA'
163812 , p_override_seg_flag => 'Y'
163813 );
163814
163815 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
163816
163817 xla_ae_lines_pkg.set_segment(
163818 p_to_segment_code => 'GL_ACCOUNT'
163819 , p_segment_value => l_segment
163820 , p_from_segment_code => l_adr_value_segment_code
163821 , p_from_combination_id => l_adr_value_combination_id
163822 , p_value_type_code => l_adr_value_type_code
163823 , p_transaction_coa_id => l_adr_transaction_coa_id
163824 , p_accounting_coa_id => l_adr_accounting_coa_id
163825 , p_flexfield_segment_code => l_adr_flexfield_segment_code
163826 , p_flex_value_set_id => l_adr_flex_value_set_id
163827 , p_adr_code => 'AP_ERV_GAIN_LOSS_NAT_ACCT_SEG'
163828 , p_adr_type_code => 'S'
163829 , p_component_type => l_component_type
163830 , p_component_code => l_component_code
163831 , p_component_type_code => l_component_type_code
163832 , p_component_appl_id => l_component_appl_id
163833 , p_amb_context_code => l_amb_context_code
163834 , p_entity_code => 'AP_INVOICES'
163835 , p_event_class_code => 'PREPAYMENTS'
163836 , p_side => 'NA'
163837 );
163838
163839 END IF;
163840
163841 l_segment := AcctDerRule_22(
163842 p_application_id => p_application_id
163843 , p_ae_header_id => l_ae_header_id
163844 , p_source_3 => p_source_3
163845 , p_source_3_meaning => p_source_3_meaning
163846 , p_source_10 => p_source_10
163847 , p_source_10_meaning => p_source_10_meaning
163848 , p_source_18 => p_source_18
163849 , x_transaction_coa_id => l_adr_transaction_coa_id
163850 , x_accounting_coa_id => l_adr_accounting_coa_id
163851 , x_flexfield_segment_code => l_adr_flexfield_segment_code
163852 , x_flex_value_set_id => l_adr_flex_value_set_id
163853 , x_value_type_code => l_adr_value_type_code
163854 , x_value_combination_id => l_adr_value_combination_id
163855 , x_value_segment_code => l_adr_value_segment_code
163856 , p_side => 'NA'
163857 , p_override_seg_flag => 'Y'
163858 );
163859
163860 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
163861
163862 xla_ae_lines_pkg.set_segment(
163863 p_to_segment_code => 'GL_BALANCING'
163864 , p_segment_value => l_segment
163865 , p_from_segment_code => l_adr_value_segment_code
163866 , p_from_combination_id => l_adr_value_combination_id
163867 , p_value_type_code => l_adr_value_type_code
163871 , p_flex_value_set_id => l_adr_flex_value_set_id
163868 , p_transaction_coa_id => l_adr_transaction_coa_id
163869 , p_accounting_coa_id => l_adr_accounting_coa_id
163870 , p_flexfield_segment_code => l_adr_flexfield_segment_code
163872 , p_adr_code => 'AP_RELATED_DIST_BAL_SEG'
163873 , p_adr_type_code => 'S'
163874 , p_component_type => l_component_type
163875 , p_component_code => l_component_code
163876 , p_component_type_code => l_component_type_code
163877 , p_component_appl_id => l_component_appl_id
163878 , p_amb_context_code => l_amb_context_code
163879 , p_entity_code => 'AP_INVOICES'
163880 , p_event_class_code => 'PREPAYMENTS'
163881 , p_side => 'NA'
163882 );
163883
163884 END IF;
163885
163886 --
163887 --
163888 END IF;
163889
163890 --
163891 -- Update the line information that should be overwritten
163892 --
163893 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
163894 p_header_num => 1);
163895 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
163896
163897 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
163898
163899 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
163900 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
163901 END IF;
163902
163903 --
163904 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
163905 --
163906 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
163907 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
163908 ELSE
163909 ---------------------------------------------------------------------------------------------------
163910 -- 4262811a Switch Sign
163911 ---------------------------------------------------------------------------------------------------
163912 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
163913 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
163914 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
163915 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
163916 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
163917 -- 5132302
163918 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
163919 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
163920
163921 END IF;
163922
163923 -- 4955764
163924 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
163925 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
163926
163927
163928 XLA_AE_LINES_PKG.ValidateCurrentLine;
163929 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
163930
163931 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
163932 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
163933 ,p_balance_type_code => l_balance_type_code);
163934
163935 END IF;
163936
163937 -----------------------------------------------------------------------------------------
163938 -- 4262811 Multiperiod Accounting
163939 -----------------------------------------------------------------------------------------
163940 -- No MPA option is assigned.
163941
163942
163943 END IF;
163944 END IF;
163945 --
163946
163947 --
163948 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
163949 trace
163950 (p_msg => 'END of AcctLineType_264'
163951 ,p_level => C_LEVEL_PROCEDURE
163952 ,p_module => l_log_module);
163953 END IF;
163954 --
163955 EXCEPTION
163956 WHEN xla_exceptions_pkg.application_exception THEN
163957 RAISE;
163958 WHEN OTHERS THEN
163959 xla_exceptions_pkg.raise_message
163960 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_264');
163961 END AcctLineType_264;
163962 --
163963
163964 ---------------------------------------
163965 --
163966 -- PRIVATE FUNCTION
163967 -- AcctLineType_265
163968 --
163969 ---------------------------------------
163970 PROCEDURE AcctLineType_265 (
163971 p_application_id IN NUMBER
163972 ,p_event_id IN NUMBER
163973 ,p_calculate_acctd_flag IN VARCHAR2
163974 ,p_calculate_g_l_flag IN VARCHAR2
163975 ,p_actual_flag IN OUT VARCHAR2
163976 ,p_balance_type_code OUT VARCHAR2
163977 ,p_gain_or_loss_ref OUT VARCHAR2
163978
163979 --Invoice Distribution Description
163980 , p_source_1 IN VARCHAR2
163981 --Invoice Distribution Ledger Amount
163982 , p_source_9 IN NUMBER
163983 --Invoice Distribution Account
163984 , p_source_18 IN NUMBER
163985 --Invoice Distribution Type
163986 , p_source_21 IN VARCHAR2
163987 , p_source_21_meaning IN VARCHAR2
163988 --Accounting Reversal Indicator
163989 , p_source_41 IN VARCHAR2
163990 --Distribution Link Type
163994 --Invoice Identifier
163991 , p_source_43 IN VARCHAR2
163992 --Allocation to Main Distribution Identifier
163993 , p_source_45 IN NUMBER
163995 , p_source_46 IN NUMBER
163996 --Invoice Distribution Identifier
163997 , p_source_52 IN NUMBER
163998 --Payables Encumbrance Upgrade Credit Account
163999 , p_source_53 IN NUMBER
164000 --Payables Encumbrance Upgrade Credit Amount
164001 , p_source_54 IN NUMBER
164002 --Invoice Currency Code
164003 , p_source_55 IN VARCHAR2
164004 --Payables Encumbrance Upgrade Credit Base Amount
164005 , p_source_56 IN NUMBER
164006 --Payables Encumbrance Upgrade Debit Account
164007 , p_source_57 IN NUMBER
164008 --Payables Encumbrance Upgrade Debit Amount
164009 , p_source_58 IN NUMBER
164010 --Payables Encumbrance Upgrade Debit Base Amount
164011 , p_source_59 IN NUMBER
164012 --Payables Encumbrance Upgrade Option
164013 , p_source_60 IN VARCHAR2
164014 --Invoice Distribution Amount
164015 , p_source_61 IN NUMBER
164016 --Deferred Accounting End Date
164017 , p_source_65 IN DATE
164018 --Deferred Accounting Option
164019 , p_source_66 IN VARCHAR2
164020 --Deferred Accounting Start Date
164021 , p_source_67 IN DATE
164022 --Override Accounted Amount Indicator
164023 , p_source_68 IN VARCHAR2
164024 , p_source_68_meaning IN VARCHAR2
164025 --Invoice Supplier Identifier
164026 , p_source_69 IN NUMBER
164027 --Invoice Supplier Site Identifier
164028 , p_source_70 IN NUMBER
164029 --Third Party Type
164030 , p_source_71 IN VARCHAR2
164031 --Parent Reversal Identifier
164032 , p_source_72 IN NUMBER
164033 --Invoice Distribution Statistical Amount
164034 , p_source_73 IN NUMBER
164035 --Invoice Distribution Tax Line Identifier
164036 , p_source_74 IN NUMBER
164037 --Invoice Distribution Tax Distribution Identifier from Tax
164038 , p_source_75 IN NUMBER
164039 --Invoice Distribution Summary Tax Line Identifier
164040 , p_source_76 IN NUMBER
164041 --Payables Upgrade Credit Encumbrance Type Identifier
164042 , p_source_77 IN NUMBER
164043 --Payables Upgrade Debit Encumbrance Type Identifier
164044 , p_source_78 IN NUMBER
164045 --Business Flow Accounts Payable Application Identifier
164046 , p_source_79 IN NUMBER
164047 --Business Flow Invoice Distribution Type
164048 , p_source_80 IN VARCHAR2
164049 --Business Flow Invoice Entity Code
164050 , p_source_81 IN VARCHAR2
164051 --Business Flow Invoice Distribution Identifier
164052 , p_source_82 IN NUMBER
164053 --Business Flow Invoice Identifier
164054 , p_source_83 IN NUMBER
164055 --Accrue on Receipt Option
164056 , p_source_84 IN VARCHAR2
164057 , p_source_84_meaning IN VARCHAR2
164058 --Invoice Exchange Date
164059 , p_source_136 IN DATE
164060 --Invoice Exchange Rate
164061 , p_source_137 IN NUMBER
164062 --Invoice Exchange Rate Type
164063 , p_source_138 IN VARCHAR2
164064 )
164065 IS
164066
164067 l_component_type VARCHAR2(80);
164068 l_component_code VARCHAR2(30);
164069 l_component_type_code VARCHAR2(1);
164070 l_component_appl_id INTEGER;
164071 l_amb_context_code VARCHAR2(30);
164072 l_entity_code VARCHAR2(30);
164073 l_event_class_code VARCHAR2(30);
164074 l_ae_header_id NUMBER;
164075 l_event_type_code VARCHAR2(30);
164076 l_line_definition_code VARCHAR2(30);
164077 l_line_definition_owner_code VARCHAR2(1);
164078 --
164079 -- adr variables
164080 l_segment VARCHAR2(30);
164081 l_ccid NUMBER;
164082 l_adr_transaction_coa_id NUMBER;
164083 l_adr_accounting_coa_id NUMBER;
164084 l_adr_flexfield_segment_code VARCHAR2(30);
164085 l_adr_flex_value_set_id NUMBER;
164086 l_adr_value_type_code VARCHAR2(30);
164087 l_adr_value_combination_id NUMBER;
164088 l_adr_value_segment_code VARCHAR2(30);
164089
164090 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
164091 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
164092 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
164093 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
164094
164095 -- 4262811 Variables ------------------------------------------------------------------------------------------
164096 l_entered_amt_idx NUMBER;
164097 l_accted_amt_idx NUMBER;
164098 l_acc_rev_flag VARCHAR2(1);
164099 l_accrual_line_num NUMBER;
164100 l_tmp_amt NUMBER;
164101 l_acc_rev_natural_side_code VARCHAR2(1);
164102
164103 l_num_entries NUMBER;
164104 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
164105 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
164106 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
164107 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
164108 l_recog_line_1 NUMBER;
164109 l_recog_line_2 NUMBER;
164110
164111 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
164112 l_bflow_applied_to_amt NUMBER; -- 5132302
164113 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
164114
164118 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
164115 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
164116
164117 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
164119
164120 ---------------------------------------------------------------------------------------------------------------
164121
164122
164123 --
164124 -- bulk performance
164125 --
164126 l_balance_type_code VARCHAR2(1);
164127 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
164128 l_log_module VARCHAR2(240);
164129
164130 --
164131 -- Upgrade strategy
164132 --
164133 l_actual_upg_option VARCHAR2(1);
164134 l_enc_upg_option VARCHAR2(1);
164135
164136 --
164137 BEGIN
164138 --
164139 IF g_log_enabled THEN
164140 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_265';
164141 END IF;
164142 --
164143 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164144
164145 trace
164146 (p_msg => 'BEGIN of AcctLineType_265'
164147 ,p_level => C_LEVEL_PROCEDURE
164148 ,p_module => l_log_module);
164149
164150 END IF;
164151 --
164152 l_component_type := 'AMB_JLT';
164153 l_component_code := 'AP_TAX_INV_PRICE_VAR_CM';
164154 l_component_type_code := 'S';
164155 l_component_appl_id := 200;
164156 l_amb_context_code := 'DEFAULT';
164157 l_entity_code := 'AP_INVOICES';
164158 l_event_class_code := 'CREDIT MEMOS';
164159 l_event_type_code := 'CREDIT MEMOS_ALL';
164160 l_line_definition_owner_code := 'S';
164161 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
164162 --
164163 l_balance_type_code := 'A';
164164 l_segment := NULL;
164165 l_ccid := NULL;
164166 l_adr_transaction_coa_id := NULL;
164167 l_adr_accounting_coa_id := NULL;
164168 l_adr_flexfield_segment_code := NULL;
164169 l_adr_flex_value_set_id := NULL;
164170 l_adr_value_type_code := NULL;
164171 l_adr_value_combination_id := NULL;
164172 l_adr_value_segment_code := NULL;
164173
164174 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
164175 l_bflow_class_code := ''; -- 4219869 Business Flow
164176 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
164177 l_budgetary_control_flag := 'N';
164178
164179 l_bflow_applied_to_amt_idx := NULL; -- 5132302
164180 l_bflow_applied_to_amt := NULL; -- 5132302
164181 l_entered_amt_idx := NULL; -- 4262811
164182 l_accted_amt_idx := NULL; -- 4262811
164183 l_acc_rev_flag := NULL; -- 4262811
164184 l_accrual_line_num := NULL; -- 4262811
164185 l_tmp_amt := NULL; -- 4262811
164186 --
164187
164188 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
164189 l_balance_type_code <> 'B' THEN
164190 IF NVL(p_source_21,'
164191 ') = 'TIPV' AND
164192 NVL(p_source_84,'
164193 ') = 'Y'
164194 THEN
164195
164196 --
164197 XLA_AE_LINES_PKG.SetNewLine;
164198
164199 p_balance_type_code := l_balance_type_code;
164200 -- set the flag so later we will know whether the gain loss line needs to be created
164201
164202 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
164203 p_actual_flag :='A';
164204 END IF;
164205
164206 --
164207 -- bulk performance
164208 --
164209 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
164210 p_header_num => 0); -- 4262811
164211 --
164212 -- set accounting line options
164213 --
164214 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
164215 p_natural_side_code => 'D'
164216 , p_gain_or_loss_flag => 'N'
164217 , p_gl_transfer_mode_code => 'S'
164218 , p_acct_entry_type_code => 'A'
164219 , p_switch_side_flag => 'Y'
164220 , p_merge_duplicate_code => 'A'
164221 );
164222 --
164223 l_acc_rev_natural_side_code := 'C'; -- 4262811
164224 --
164225 --
164226 -- set accounting line type info
164227 --
164228 xla_ae_lines_pkg.SetAcctLineType
164229 (p_component_type => l_component_type
164230 ,p_event_type_code => l_event_type_code
164231 ,p_line_definition_owner_code => l_line_definition_owner_code
164232 ,p_line_definition_code => l_line_definition_code
164233 ,p_accounting_line_code => l_component_code
164234 ,p_accounting_line_type_code => l_component_type_code
164235 ,p_accounting_line_appl_id => l_component_appl_id
164236 ,p_amb_context_code => l_amb_context_code
164237 ,p_entity_code => l_entity_code
164238 ,p_event_class_code => l_event_class_code);
164239 --
164240 -- set accounting class
164241 --
164242 xla_ae_lines_pkg.SetAcctClass(
164243 p_accounting_class_code => 'TIPV'
164244 , p_ae_header_id => l_ae_header_id
164245 );
164246
164247 --
164248 -- set rounding class
164249 --
164250 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
164251 'TIPV';
164252
164253 --
164257 -- bulk performance
164254 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
164255 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
164256 --
164258 --
164259 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
164260
164261 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
164262 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
164263
164264 -- 4955764
164265 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
164266 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
164267
164268 -- 4458381 Public Sector Enh
164269
164270 --
164271 -- set accounting attributes for the line type
164272 --
164273 l_entered_amt_idx := 23;
164274 l_accted_amt_idx := 28;
164275 l_bflow_applied_to_amt_idx := NULL; -- 5132302
164276 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
164277 l_rec_acct_attrs.array_char_value(1) := p_source_41;
164278 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
164279 l_rec_acct_attrs.array_num_value(2) :=
164280 xla_ae_sources_pkg.GetSystemSourceNum(
164281 p_source_code => 'XLA_EVENT_APPL_ID'
164282 , p_source_type_code => 'Y'
164283 , p_source_application_id => 602
164284 );
164285 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
164286 l_rec_acct_attrs.array_char_value(3) := p_source_43;
164287 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
164288 l_rec_acct_attrs.array_char_value(4) :=
164289 xla_ae_sources_pkg.GetSystemSourceChar(
164290 p_source_code => 'XLA_ENTITY_CODE'
164291 , p_source_type_code => 'Y'
164292 , p_source_application_id => 602
164293 );
164294 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
164295 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
164296 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
164297 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
164298 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
164299 l_rec_acct_attrs.array_num_value(7) := p_source_79;
164300 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
164301 l_rec_acct_attrs.array_char_value(8) := p_source_80;
164302 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
164303 l_rec_acct_attrs.array_char_value(9) := p_source_81;
164304 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
164305 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
164306 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
164307 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
164308 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
164309 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
164310 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
164311 l_rec_acct_attrs.array_char_value(13) := p_source_43;
164312 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
164313 l_rec_acct_attrs.array_num_value(14) := p_source_53;
164314 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
164315 l_rec_acct_attrs.array_num_value(15) := p_source_54;
164316 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
164317 l_rec_acct_attrs.array_char_value(16) := p_source_55;
164318 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
164319 l_rec_acct_attrs.array_num_value(17) := p_source_56;
164320 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
164321 l_rec_acct_attrs.array_num_value(18) := p_source_57;
164322 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
164323 l_rec_acct_attrs.array_num_value(19) := p_source_58;
164324 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
164325 l_rec_acct_attrs.array_char_value(20) := p_source_55;
164326 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
164327 l_rec_acct_attrs.array_num_value(21) := p_source_59;
164328 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
164329 l_rec_acct_attrs.array_char_value(22) := p_source_60;
164330 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
164331 l_rec_acct_attrs.array_num_value(23) := p_source_61;
164332 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
164333 l_rec_acct_attrs.array_char_value(24) := p_source_55;
164334 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
164335 l_rec_acct_attrs.array_date_value(25) := p_source_136;
164336 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
164337 l_rec_acct_attrs.array_num_value(26) := p_source_137;
164338 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
164339 l_rec_acct_attrs.array_char_value(27) := p_source_138;
164340 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
164341 l_rec_acct_attrs.array_num_value(28) := p_source_9;
164342 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
164343 l_rec_acct_attrs.array_date_value(29) := p_source_65;
164344 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
164345 l_rec_acct_attrs.array_char_value(30) := p_source_66;
164349 l_rec_acct_attrs.array_char_value(32) := p_source_68;
164346 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
164347 l_rec_acct_attrs.array_date_value(31) := p_source_67;
164348 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
164350 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
164351 l_rec_acct_attrs.array_num_value(33) := p_source_69;
164352 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
164353 l_rec_acct_attrs.array_num_value(34) := p_source_70;
164354 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
164355 l_rec_acct_attrs.array_char_value(35) := p_source_71;
164356 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
164357 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
164358 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
164359 l_rec_acct_attrs.array_char_value(37) := p_source_43;
164360 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
164361 l_rec_acct_attrs.array_num_value(38) := p_source_73;
164362 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
164363 l_rec_acct_attrs.array_num_value(39) := p_source_74;
164364 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
164365 l_rec_acct_attrs.array_num_value(40) := p_source_75;
164366 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
164367 l_rec_acct_attrs.array_num_value(41) := p_source_76;
164368 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
164369 l_rec_acct_attrs.array_num_value(42) := p_source_77;
164370 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
164371 l_rec_acct_attrs.array_num_value(43) := p_source_78;
164372
164373 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
164374 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
164375
164376 ---------------------------------------------------------------------------------------------------------------
164377 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
164378 ---------------------------------------------------------------------------------------------------------------
164379 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
164380
164381 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
164382 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
164383
164384 IF xla_accounting_cache_pkg.GetValueChar
164385 (p_source_code => 'LEDGER_CATEGORY_CODE'
164386 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
164387 AND l_bflow_method_code = 'PRIOR_ENTRY'
164388 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
164389 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
164390 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
164391 )
164392 THEN
164393 xla_ae_lines_pkg.BflowUpgEntry
164394 (p_business_method_code => l_bflow_method_code
164395 ,p_business_class_code => l_bflow_class_code
164396 ,p_balance_type => l_balance_type_code);
164397 ELSE
164398 NULL;
164399 -- No business flow processing for business flow method of NONE.
164400 END IF;
164401
164402 --
164403 -- call analytical criteria
164404 --
164405
164406 --
164407 -- call description
164408 --
164409
164410 xla_ae_lines_pkg.SetLineDescription(
164411 p_ae_header_id => l_ae_header_id
164412 ,p_description => Description_2 (
164413 p_application_id => p_application_id
164414 , p_ae_header_id => l_ae_header_id
164415 , p_source_1 => p_source_1
164416 )
164417 );
164418
164419
164420 --
164421 -- call ADRs
164422 -- Bug 4922099
164423 --
164424 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
164425 (NVL(l_actual_upg_option, 'N') = 'O') OR
164426 (NVL(l_enc_upg_option, 'N') = 'O')
164427 )
164428 THEN
164429 NULL;
164430 --
164431 --
164432
164433 l_ccid := AcctDerRule_32(
164434 p_application_id => p_application_id
164435 , p_ae_header_id => l_ae_header_id
164436 , p_source_18 => p_source_18
164437 , x_transaction_coa_id => l_adr_transaction_coa_id
164438 , x_accounting_coa_id => l_adr_accounting_coa_id
164439 , x_value_type_code => l_adr_value_type_code
164440 , p_side => 'NA'
164441 );
164442
164443 xla_ae_lines_pkg.set_ccid(
164444 p_code_combination_id => l_ccid
164445 , p_value_type_code => l_adr_value_type_code
164446 , p_transaction_coa_id => l_adr_transaction_coa_id
164447 , p_accounting_coa_id => l_adr_accounting_coa_id
164448 , p_adr_code => 'AP_INVOICE_DIST'
164449 , p_adr_type_code => 'S'
164450 , p_component_type => l_component_type
164451 , p_component_code => l_component_code
164452 , p_component_type_code => l_component_type_code
164453 , p_component_appl_id => l_component_appl_id
164454 , p_amb_context_code => l_amb_context_code
164455 , p_side => 'NA'
164456 );
164457
164458
164462 --
164459 --
164460 --
164461 END IF;
164463 -- Bug 4922099
164464 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
164465 (NVL(l_enc_upg_option, 'N') = 'O')
164466 ) AND
164467 (l_bflow_method_code = 'PRIOR_ENTRY')
164468 )
164469 THEN
164470 IF
164471 --
164472 1 = 2
164473 --
164474 THEN
164475 xla_accounting_err_pkg.build_message
164476 (p_appli_s_name => 'XLA'
164477 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
164478 ,p_token_1 => 'LINE_NUMBER'
164479 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
164480 ,p_token_2 => 'LINE_TYPE_NAME'
164481 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
164482 l_component_type
164483 ,l_component_code
164484 ,l_component_type_code
164485 ,l_component_appl_id
164486 ,l_amb_context_code
164487 ,l_entity_code
164488 ,l_event_class_code
164489 )
164490 ,p_token_3 => 'OWNER'
164491 ,p_value_3 => xla_lookups_pkg.get_meaning(
164492 p_lookup_type => 'XLA_OWNER_TYPE'
164493 ,p_lookup_code => l_component_type_code
164494 )
164495 ,p_token_4 => 'PRODUCT_NAME'
164496 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
164497 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
164498 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
164499 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
164500 ,p_ae_header_id => NULL
164501 );
164502
164503 IF (C_LEVEL_ERROR>= g_log_level) THEN
164504 trace
164505 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
164506 ,p_level => C_LEVEL_ERROR
164507 ,p_module => l_log_module);
164508 END IF;
164509 END IF;
164510 END IF;
164511 --
164512 --
164513 ------------------------------------------------------------------------------------------------
164514 -- 4219869 Business Flow
164515 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
164516 -- Prior Entry. Currently, the following code is always generated.
164517 ------------------------------------------------------------------------------------------------
164518 XLA_AE_LINES_PKG.ValidateCurrentLine;
164519
164520 ------------------------------------------------------------------------------------
164521 -- 4219869 Business Flow
164522 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
164523 ------------------------------------------------------------------------------------
164524 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
164525
164526 ----------------------------------------------------------------------------------
164527 -- 4219869 Business Flow
164528 -- Update journal entry status -- Need to generate this within IF <condition>
164529 ----------------------------------------------------------------------------------
164530 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
164531 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
164532 ,p_balance_type_code => l_balance_type_code
164533 );
164534
164535 -------------------------------------------------------------------------------------------
164536 -- 4262811 - Generate the Accrual Reversal lines
164537 -------------------------------------------------------------------------------------------
164538 BEGIN
164539 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
164540 (g_array_event(p_event_id).array_value_num('header_index'));
164541 IF l_acc_rev_flag IS NULL THEN
164542 l_acc_rev_flag := 'N';
164543 END IF;
164544 EXCEPTION
164545 WHEN OTHERS THEN
164546 l_acc_rev_flag := 'N';
164547 END;
164548 --
164549 IF (l_acc_rev_flag = 'Y') THEN
164550
164551 -- 4645092 ------------------------------------------------------------------------------
164552 -- To allow MPA report to determine if it should generate report process
164553 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
164557 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
164554 ------------------------------------------------------------------------------------------
164555
164556 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
164558 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
164559 -- call ADRs
164560 -- Bug 4922099
164561 --
164562 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
164563 (NVL(l_actual_upg_option, 'N') = 'O') OR
164564 (NVL(l_enc_upg_option, 'N') = 'O')
164565 )
164566 THEN
164567 NULL;
164568 --
164569 --
164570
164571 l_ccid := AcctDerRule_32(
164572 p_application_id => p_application_id
164573 , p_ae_header_id => l_ae_header_id
164574 , p_source_18 => p_source_18
164575 , x_transaction_coa_id => l_adr_transaction_coa_id
164576 , x_accounting_coa_id => l_adr_accounting_coa_id
164577 , x_value_type_code => l_adr_value_type_code
164578 , p_side => 'NA'
164579 );
164580
164581 xla_ae_lines_pkg.set_ccid(
164582 p_code_combination_id => l_ccid
164583 , p_value_type_code => l_adr_value_type_code
164584 , p_transaction_coa_id => l_adr_transaction_coa_id
164585 , p_accounting_coa_id => l_adr_accounting_coa_id
164586 , p_adr_code => 'AP_INVOICE_DIST'
164587 , p_adr_type_code => 'S'
164588 , p_component_type => l_component_type
164589 , p_component_code => l_component_code
164590 , p_component_type_code => l_component_type_code
164591 , p_component_appl_id => l_component_appl_id
164592 , p_amb_context_code => l_amb_context_code
164593 , p_side => 'NA'
164594 );
164595
164596
164597 --
164598 --
164599 END IF;
164600
164601 --
164602 -- Update the line information that should be overwritten
164603 --
164604 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
164605 p_header_num => 1);
164606 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
164607
164608 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
164609
164610 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
164611 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
164612 END IF;
164613
164614 --
164615 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
164616 --
164617 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
164618 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
164619 ELSE
164620 ---------------------------------------------------------------------------------------------------
164621 -- 4262811a Switch Sign
164622 ---------------------------------------------------------------------------------------------------
164623 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
164624 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
164625 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
164626 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
164627 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
164628 -- 5132302
164629 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
164630 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
164631
164632 END IF;
164633
164634 -- 4955764
164635 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
164636 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
164637
164638
164639 XLA_AE_LINES_PKG.ValidateCurrentLine;
164640 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
164641
164642 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
164643 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
164644 ,p_balance_type_code => l_balance_type_code);
164645
164646 END IF;
164647
164648 -----------------------------------------------------------------------------------------
164649 -- 4262811 Multiperiod Accounting
164650 -----------------------------------------------------------------------------------------
164651 -- No MPA option is assigned.
164652
164653
164654 END IF;
164655 END IF;
164656 --
164657
164658 --
164659 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164660 trace
164661 (p_msg => 'END of AcctLineType_265'
164662 ,p_level => C_LEVEL_PROCEDURE
164663 ,p_module => l_log_module);
164664 END IF;
164665 --
164666 EXCEPTION
164667 WHEN xla_exceptions_pkg.application_exception THEN
164668 RAISE;
164669 WHEN OTHERS THEN
164670 xla_exceptions_pkg.raise_message
164671 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_265');
164672 END AcctLineType_265;
164673 --
164674
164675 ---------------------------------------
164679 --
164676 --
164677 -- PRIVATE FUNCTION
164678 -- AcctLineType_266
164680 ---------------------------------------
164681 PROCEDURE AcctLineType_266 (
164682 p_application_id IN NUMBER
164683 ,p_event_id IN NUMBER
164684 ,p_calculate_acctd_flag IN VARCHAR2
164685 ,p_calculate_g_l_flag IN VARCHAR2
164686 ,p_actual_flag IN OUT VARCHAR2
164687 ,p_balance_type_code OUT VARCHAR2
164688 ,p_gain_or_loss_ref OUT VARCHAR2
164689
164690 --Invoice Distribution Type
164691 , p_source_21 IN VARCHAR2
164692 , p_source_21_meaning IN VARCHAR2
164693 --Accounting Reversal Indicator
164694 , p_source_41 IN VARCHAR2
164695 --Distribution Link Type
164696 , p_source_43 IN VARCHAR2
164697 --Allocation to Main Distribution Identifier
164698 , p_source_45 IN NUMBER
164699 --Invoice Identifier
164700 , p_source_46 IN NUMBER
164701 --Invoice Distribution Identifier
164702 , p_source_52 IN NUMBER
164703 --Payables Encumbrance Upgrade Credit Account
164704 , p_source_53 IN NUMBER
164705 --Payables Encumbrance Upgrade Credit Amount
164706 , p_source_54 IN NUMBER
164707 --Invoice Currency Code
164708 , p_source_55 IN VARCHAR2
164709 --Payables Encumbrance Upgrade Credit Base Amount
164710 , p_source_56 IN NUMBER
164711 --Payables Encumbrance Upgrade Debit Account
164712 , p_source_57 IN NUMBER
164713 --Payables Encumbrance Upgrade Debit Amount
164714 , p_source_58 IN NUMBER
164715 --Payables Encumbrance Upgrade Debit Base Amount
164716 , p_source_59 IN NUMBER
164717 --Payables Encumbrance Upgrade Option
164718 , p_source_60 IN VARCHAR2
164719 --Deferred Accounting End Date
164720 , p_source_65 IN DATE
164721 --Deferred Accounting Option
164722 , p_source_66 IN VARCHAR2
164723 --Deferred Accounting Start Date
164724 , p_source_67 IN DATE
164725 --Override Accounted Amount Indicator
164726 , p_source_68 IN VARCHAR2
164727 , p_source_68_meaning IN VARCHAR2
164728 --Third Party Type
164729 , p_source_71 IN VARCHAR2
164730 --Parent Reversal Identifier
164731 , p_source_72 IN NUMBER
164732 --Invoice Distribution Statistical Amount
164733 , p_source_73 IN NUMBER
164734 --Invoice Distribution Tax Line Identifier
164735 , p_source_74 IN NUMBER
164736 --Invoice Distribution Tax Distribution Identifier from Tax
164737 , p_source_75 IN NUMBER
164738 --Invoice Distribution Summary Tax Line Identifier
164739 , p_source_76 IN NUMBER
164740 --Payables Upgrade Credit Encumbrance Type Identifier
164741 , p_source_77 IN NUMBER
164742 --Payables Upgrade Debit Encumbrance Type Identifier
164743 , p_source_78 IN NUMBER
164744 --Business Flow Accounts Payable Application Identifier
164745 , p_source_79 IN NUMBER
164746 --Business Flow Invoice Distribution Type
164747 , p_source_80 IN VARCHAR2
164748 --Business Flow Invoice Entity Code
164749 , p_source_81 IN VARCHAR2
164750 --Business Flow Invoice Distribution Identifier
164751 , p_source_82 IN NUMBER
164752 --Business Flow Invoice Identifier
164753 , p_source_83 IN NUMBER
164754 --Purchasing Encumbrance Option
164755 , p_source_86 IN VARCHAR2
164756 , p_source_86_meaning IN VARCHAR2
164757 --Invoice Encumbered Option
164758 , p_source_87 IN VARCHAR2
164759 , p_source_87_meaning IN VARCHAR2
164760 --Invoice Distribution Encumbrance Amount
164761 , p_source_143 IN NUMBER
164762 --Invoice Distribution Encumbrance Ledger Amount
164763 , p_source_144 IN NUMBER
164764 )
164765 IS
164766
164767 l_component_type VARCHAR2(80);
164768 l_component_code VARCHAR2(30);
164769 l_component_type_code VARCHAR2(1);
164770 l_component_appl_id INTEGER;
164771 l_amb_context_code VARCHAR2(30);
164772 l_entity_code VARCHAR2(30);
164773 l_event_class_code VARCHAR2(30);
164774 l_ae_header_id NUMBER;
164775 l_event_type_code VARCHAR2(30);
164776 l_line_definition_code VARCHAR2(30);
164777 l_line_definition_owner_code VARCHAR2(1);
164778 --
164779 -- adr variables
164780 l_segment VARCHAR2(30);
164781 l_ccid NUMBER;
164782 l_adr_transaction_coa_id NUMBER;
164783 l_adr_accounting_coa_id NUMBER;
164784 l_adr_flexfield_segment_code VARCHAR2(30);
164785 l_adr_flex_value_set_id NUMBER;
164786 l_adr_value_type_code VARCHAR2(30);
164787 l_adr_value_combination_id NUMBER;
164788 l_adr_value_segment_code VARCHAR2(30);
164789
164790 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
164791 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
164792 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
164793 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
164794
164795 -- 4262811 Variables ------------------------------------------------------------------------------------------
164796 l_entered_amt_idx NUMBER;
164797 l_accted_amt_idx NUMBER;
164798 l_acc_rev_flag VARCHAR2(1);
164799 l_accrual_line_num NUMBER;
164800 l_tmp_amt NUMBER;
164801 l_acc_rev_natural_side_code VARCHAR2(1);
164802
164803 l_num_entries NUMBER;
164807 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
164804 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
164805 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
164806 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
164808 l_recog_line_1 NUMBER;
164809 l_recog_line_2 NUMBER;
164810
164811 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
164812 l_bflow_applied_to_amt NUMBER; -- 5132302
164813 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
164814
164815 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
164816
164817 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
164818 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
164819
164820 ---------------------------------------------------------------------------------------------------------------
164821
164822
164823 --
164824 -- bulk performance
164825 --
164826 l_balance_type_code VARCHAR2(1);
164827 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
164828 l_log_module VARCHAR2(240);
164829
164830 --
164831 -- Upgrade strategy
164832 --
164833 l_actual_upg_option VARCHAR2(1);
164834 l_enc_upg_option VARCHAR2(1);
164835
164836 --
164837 BEGIN
164838 --
164839 IF g_log_enabled THEN
164840 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_266';
164841 END IF;
164842 --
164843 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
164844
164845 trace
164846 (p_msg => 'BEGIN of AcctLineType_266'
164847 ,p_level => C_LEVEL_PROCEDURE
164848 ,p_module => l_log_module);
164849
164850 END IF;
164851 --
164852 l_component_type := 'AMB_JLT';
164853 l_component_code := 'AP_TAX_INV_PRICE_VAR_CM_ENC';
164854 l_component_type_code := 'S';
164855 l_component_appl_id := 200;
164856 l_amb_context_code := 'DEFAULT';
164857 l_entity_code := 'AP_INVOICES';
164858 l_event_class_code := 'CREDIT MEMOS';
164859 l_event_type_code := 'CREDIT MEMOS_ALL';
164860 l_line_definition_owner_code := 'S';
164861 l_line_definition_code := 'ENC_REV_CM_ALL';
164862 --
164863 l_balance_type_code := 'E';
164864 l_segment := NULL;
164865 l_ccid := NULL;
164866 l_adr_transaction_coa_id := NULL;
164867 l_adr_accounting_coa_id := NULL;
164868 l_adr_flexfield_segment_code := NULL;
164869 l_adr_flex_value_set_id := NULL;
164870 l_adr_value_type_code := NULL;
164871 l_adr_value_combination_id := NULL;
164872 l_adr_value_segment_code := NULL;
164873
164874 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
164875 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
164876 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
164877 l_budgetary_control_flag := 'N';
164878
164879 l_bflow_applied_to_amt_idx := NULL; -- 5132302
164880 l_bflow_applied_to_amt := NULL; -- 5132302
164881 l_entered_amt_idx := NULL; -- 4262811
164882 l_accted_amt_idx := NULL; -- 4262811
164883 l_acc_rev_flag := NULL; -- 4262811
164884 l_accrual_line_num := NULL; -- 4262811
164885 l_tmp_amt := NULL; -- 4262811
164886 --
164887
164888 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
164889 l_balance_type_code <> 'B' THEN
164890 IF NVL(p_source_21,'
164891 ') = 'TIPV' AND
164892 NVL(p_source_86,'
164893 ') = 'Y' AND
164894 NVL(p_source_87,'
164895 ') = 'Y'
164896 THEN
164897
164898 --
164899 XLA_AE_LINES_PKG.SetNewLine;
164900
164901 p_balance_type_code := l_balance_type_code;
164902 -- set the flag so later we will know whether the gain loss line needs to be created
164903
164904 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
164905 p_actual_flag :='A';
164906 END IF;
164907
164908 --
164909 -- bulk performance
164910 --
164911 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
164912 p_header_num => 0); -- 4262811
164913 --
164914 -- set accounting line options
164915 --
164916 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
164917 p_natural_side_code => 'C'
164918 , p_gain_or_loss_flag => 'N'
164919 , p_gl_transfer_mode_code => 'S'
164920 , p_acct_entry_type_code => 'E'
164921 , p_switch_side_flag => 'Y'
164922 , p_merge_duplicate_code => 'A'
164923 );
164924 --
164925 l_acc_rev_natural_side_code := 'D'; -- 4262811
164926 --
164927 --
164928 -- set accounting line type info
164929 --
164930 xla_ae_lines_pkg.SetAcctLineType
164931 (p_component_type => l_component_type
164932 ,p_event_type_code => l_event_type_code
164933 ,p_line_definition_owner_code => l_line_definition_owner_code
164934 ,p_line_definition_code => l_line_definition_code
164935 ,p_accounting_line_code => l_component_code
164936 ,p_accounting_line_type_code => l_component_type_code
164937 ,p_accounting_line_appl_id => l_component_appl_id
164941 --
164938 ,p_amb_context_code => l_amb_context_code
164939 ,p_entity_code => l_entity_code
164940 ,p_event_class_code => l_event_class_code);
164942 -- set accounting class
164943 --
164944 xla_ae_lines_pkg.SetAcctClass(
164945 p_accounting_class_code => 'TIPV'
164946 , p_ae_header_id => l_ae_header_id
164947 );
164948
164949 --
164950 -- set rounding class
164951 --
164952 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
164953 'TIPV';
164954
164955 --
164956 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
164957 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
164958 --
164959 -- bulk performance
164960 --
164961 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
164962
164963 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
164964 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
164965
164966 -- 4955764
164967 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
164968 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
164969
164970 -- 4458381 Public Sector Enh
164971
164972 --
164973 -- set accounting attributes for the line type
164974 --
164975 l_entered_amt_idx := 23;
164976 l_accted_amt_idx := 25;
164977 l_bflow_applied_to_amt_idx := NULL; -- 5132302
164978 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
164979 l_rec_acct_attrs.array_char_value(1) := p_source_41;
164980 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
164981 l_rec_acct_attrs.array_num_value(2) :=
164982 xla_ae_sources_pkg.GetSystemSourceNum(
164983 p_source_code => 'XLA_EVENT_APPL_ID'
164984 , p_source_type_code => 'Y'
164985 , p_source_application_id => 602
164986 );
164987 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
164988 l_rec_acct_attrs.array_char_value(3) := p_source_43;
164989 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
164990 l_rec_acct_attrs.array_char_value(4) :=
164991 xla_ae_sources_pkg.GetSystemSourceChar(
164992 p_source_code => 'XLA_ENTITY_CODE'
164993 , p_source_type_code => 'Y'
164994 , p_source_application_id => 602
164995 );
164996 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
164997 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
164998 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
164999 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
165000 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
165001 l_rec_acct_attrs.array_num_value(7) := p_source_79;
165002 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
165003 l_rec_acct_attrs.array_char_value(8) := p_source_80;
165004 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
165005 l_rec_acct_attrs.array_char_value(9) := p_source_81;
165006 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
165007 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
165008 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
165009 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
165010 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
165011 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
165012 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
165013 l_rec_acct_attrs.array_char_value(13) := p_source_43;
165014 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
165015 l_rec_acct_attrs.array_num_value(14) := p_source_53;
165016 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
165017 l_rec_acct_attrs.array_num_value(15) := p_source_54;
165018 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
165019 l_rec_acct_attrs.array_char_value(16) := p_source_55;
165020 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
165021 l_rec_acct_attrs.array_num_value(17) := p_source_56;
165022 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
165023 l_rec_acct_attrs.array_num_value(18) := p_source_57;
165024 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
165025 l_rec_acct_attrs.array_num_value(19) := p_source_58;
165026 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
165027 l_rec_acct_attrs.array_char_value(20) := p_source_55;
165028 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
165029 l_rec_acct_attrs.array_num_value(21) := p_source_59;
165030 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
165031 l_rec_acct_attrs.array_char_value(22) := p_source_60;
165032 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
165033 l_rec_acct_attrs.array_num_value(23) := p_source_143;
165034 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
165035 l_rec_acct_attrs.array_char_value(24) := p_source_55;
165036 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
165037 l_rec_acct_attrs.array_num_value(25) := p_source_144;
165041 l_rec_acct_attrs.array_char_value(27) := p_source_66;
165038 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
165039 l_rec_acct_attrs.array_date_value(26) := p_source_65;
165040 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
165042 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
165043 l_rec_acct_attrs.array_date_value(28) := p_source_67;
165044 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
165045 l_rec_acct_attrs.array_char_value(29) := p_source_68;
165046 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
165047 l_rec_acct_attrs.array_char_value(30) := p_source_71;
165048 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
165049 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
165050 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
165051 l_rec_acct_attrs.array_char_value(32) := p_source_43;
165052 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
165053 l_rec_acct_attrs.array_num_value(33) := p_source_73;
165054 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
165055 l_rec_acct_attrs.array_num_value(34) := p_source_74;
165056 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
165057 l_rec_acct_attrs.array_num_value(35) := p_source_75;
165058 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
165059 l_rec_acct_attrs.array_num_value(36) := p_source_76;
165060 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
165061 l_rec_acct_attrs.array_num_value(37) := p_source_77;
165062 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
165063 l_rec_acct_attrs.array_num_value(38) := p_source_78;
165064
165065 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
165066 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
165067
165068 ---------------------------------------------------------------------------------------------------------------
165069 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
165070 ---------------------------------------------------------------------------------------------------------------
165071 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
165072
165073 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
165074 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
165075
165076 IF xla_accounting_cache_pkg.GetValueChar
165077 (p_source_code => 'LEDGER_CATEGORY_CODE'
165078 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
165079 AND l_bflow_method_code = 'PRIOR_ENTRY'
165080 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
165081 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
165082 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
165083 )
165084 THEN
165085 xla_ae_lines_pkg.BflowUpgEntry
165086 (p_business_method_code => l_bflow_method_code
165087 ,p_business_class_code => l_bflow_class_code
165088 ,p_balance_type => l_balance_type_code);
165089 ELSE
165090 NULL;
165091 XLA_AE_LINES_PKG.business_flow_validation(
165092 p_business_method_code => l_bflow_method_code
165093 ,p_business_class_code => l_bflow_class_code
165094 ,p_inherit_description_flag => l_inherit_desc_flag);
165095 END IF;
165096
165097 --
165098 -- call analytical criteria
165099 --
165100 -- Inherited Analytical Criteria for business flow method of Prior Entry.
165101 --
165102 -- call description
165103 --
165104 -- No description or it is inherited.
165105 --
165106 -- call ADRs
165107 -- Bug 4922099
165108 --
165109 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
165110 (NVL(l_actual_upg_option, 'N') = 'O') OR
165111 (NVL(l_enc_upg_option, 'N') = 'O')
165112 )
165113 THEN
165114 NULL;
165115 --
165116 --
165117
165118 --
165119 --
165120 END IF;
165121 --
165122 -- Bug 4922099
165123 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
165124 (NVL(l_enc_upg_option, 'N') = 'O')
165125 ) AND
165126 (l_bflow_method_code = 'PRIOR_ENTRY')
165127 )
165128 THEN
165129 IF
165130 --
165131 1 = 1
165132 --
165133 THEN
165134 xla_accounting_err_pkg.build_message
165135 (p_appli_s_name => 'XLA'
165136 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
165137 ,p_token_1 => 'LINE_NUMBER'
165138 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
165139 ,p_token_2 => 'LINE_TYPE_NAME'
165140 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
165141 l_component_type
165142 ,l_component_code
165146 ,l_entity_code
165143 ,l_component_type_code
165144 ,l_component_appl_id
165145 ,l_amb_context_code
165147 ,l_event_class_code
165148 )
165149 ,p_token_3 => 'OWNER'
165150 ,p_value_3 => xla_lookups_pkg.get_meaning(
165151 p_lookup_type => 'XLA_OWNER_TYPE'
165152 ,p_lookup_code => l_component_type_code
165153 )
165154 ,p_token_4 => 'PRODUCT_NAME'
165155 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
165156 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
165157 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
165158 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
165159 ,p_ae_header_id => NULL
165160 );
165161
165162 IF (C_LEVEL_ERROR>= g_log_level) THEN
165163 trace
165164 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
165165 ,p_level => C_LEVEL_ERROR
165166 ,p_module => l_log_module);
165167 END IF;
165168 END IF;
165169 END IF;
165170 --
165171 --
165172 ------------------------------------------------------------------------------------------------
165173 -- 4219869 Business Flow
165174 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
165175 -- Prior Entry. Currently, the following code is always generated.
165176 ------------------------------------------------------------------------------------------------
165177 -- No ValidateCurrentLine for business flow method of Prior Entry
165178
165179 ------------------------------------------------------------------------------------
165180 -- 4219869 Business Flow
165181 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
165182 ------------------------------------------------------------------------------------
165183 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
165184
165185 ----------------------------------------------------------------------------------
165186 -- 4219869 Business Flow
165187 -- Update journal entry status -- Need to generate this within IF <condition>
165188 ----------------------------------------------------------------------------------
165189 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
165190 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
165191 ,p_balance_type_code => l_balance_type_code
165192 );
165193
165194 -------------------------------------------------------------------------------------------
165195 -- 4262811 - Generate the Accrual Reversal lines
165196 -------------------------------------------------------------------------------------------
165197 BEGIN
165198 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
165199 (g_array_event(p_event_id).array_value_num('header_index'));
165200 IF l_acc_rev_flag IS NULL THEN
165201 l_acc_rev_flag := 'N';
165202 END IF;
165203 EXCEPTION
165204 WHEN OTHERS THEN
165205 l_acc_rev_flag := 'N';
165206 END;
165207 --
165208 IF (l_acc_rev_flag = 'Y') THEN
165209
165210 -- 4645092 ------------------------------------------------------------------------------
165211 -- To allow MPA report to determine if it should generate report process
165212 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
165213 ------------------------------------------------------------------------------------------
165214
165215 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
165216 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
165217 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
165218 -- call ADRs
165219 -- Bug 4922099
165220 --
165221 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
165222 (NVL(l_actual_upg_option, 'N') = 'O') OR
165223 (NVL(l_enc_upg_option, 'N') = 'O')
165224 )
165225 THEN
165226 NULL;
165227 --
165228 --
165229
165230 --
165231 --
165232 END IF;
165233
165234 --
165235 -- Update the line information that should be overwritten
165236 --
165237 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
165238 p_header_num => 1);
165239 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
165240
165241 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
165242
165243 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
165247 --
165244 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
165245 END IF;
165246
165248 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
165249 --
165250 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
165251 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
165252 ELSE
165253 ---------------------------------------------------------------------------------------------------
165254 -- 4262811a Switch Sign
165255 ---------------------------------------------------------------------------------------------------
165256 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
165257 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
165258 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
165259 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
165260 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
165261 -- 5132302
165262 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
165263 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
165264
165265 END IF;
165266
165267 -- 4955764
165268 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
165269 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
165270
165271
165272 XLA_AE_LINES_PKG.ValidateCurrentLine;
165273 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
165274
165275 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
165276 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
165277 ,p_balance_type_code => l_balance_type_code);
165278
165279 END IF;
165280
165281 -----------------------------------------------------------------------------------------
165282 -- 4262811 Multiperiod Accounting
165283 -----------------------------------------------------------------------------------------
165284 -- No MPA option is assigned.
165285
165286
165287 END IF;
165288 END IF;
165289 --
165290
165291 --
165292 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165293 trace
165294 (p_msg => 'END of AcctLineType_266'
165295 ,p_level => C_LEVEL_PROCEDURE
165296 ,p_module => l_log_module);
165297 END IF;
165298 --
165299 EXCEPTION
165300 WHEN xla_exceptions_pkg.application_exception THEN
165301 RAISE;
165302 WHEN OTHERS THEN
165303 xla_exceptions_pkg.raise_message
165304 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_266');
165305 END AcctLineType_266;
165306 --
165307
165308 ---------------------------------------
165309 --
165310 -- PRIVATE FUNCTION
165311 -- AcctLineType_267
165312 --
165313 ---------------------------------------
165314 PROCEDURE AcctLineType_267 (
165315 p_application_id IN NUMBER
165316 ,p_event_id IN NUMBER
165317 ,p_calculate_acctd_flag IN VARCHAR2
165318 ,p_calculate_g_l_flag IN VARCHAR2
165319 ,p_actual_flag IN OUT VARCHAR2
165320 ,p_balance_type_code OUT VARCHAR2
165321 ,p_gain_or_loss_ref OUT VARCHAR2
165322
165323 --Invoice Distribution Description
165324 , p_source_1 IN VARCHAR2
165325 --Invoice Distribution Ledger Amount
165326 , p_source_9 IN NUMBER
165327 --Invoice Distribution Account
165328 , p_source_18 IN NUMBER
165329 --Invoice Distribution Type
165330 , p_source_21 IN VARCHAR2
165331 , p_source_21_meaning IN VARCHAR2
165332 --Accounting Reversal Indicator
165333 , p_source_41 IN VARCHAR2
165334 --Distribution Link Type
165335 , p_source_43 IN VARCHAR2
165336 --Allocation to Main Distribution Identifier
165337 , p_source_45 IN NUMBER
165338 --Invoice Identifier
165339 , p_source_46 IN NUMBER
165340 --Invoice Distribution Identifier
165341 , p_source_52 IN NUMBER
165342 --Payables Encumbrance Upgrade Credit Account
165343 , p_source_53 IN NUMBER
165344 --Payables Encumbrance Upgrade Credit Amount
165345 , p_source_54 IN NUMBER
165346 --Invoice Currency Code
165347 , p_source_55 IN VARCHAR2
165348 --Payables Encumbrance Upgrade Credit Base Amount
165349 , p_source_56 IN NUMBER
165350 --Payables Encumbrance Upgrade Debit Account
165351 , p_source_57 IN NUMBER
165352 --Payables Encumbrance Upgrade Debit Amount
165353 , p_source_58 IN NUMBER
165354 --Payables Encumbrance Upgrade Debit Base Amount
165355 , p_source_59 IN NUMBER
165356 --Payables Encumbrance Upgrade Option
165357 , p_source_60 IN VARCHAR2
165358 --Invoice Distribution Amount
165359 , p_source_61 IN NUMBER
165360 --Deferred Accounting End Date
165361 , p_source_65 IN DATE
165362 --Deferred Accounting Option
165363 , p_source_66 IN VARCHAR2
165364 --Deferred Accounting Start Date
165365 , p_source_67 IN DATE
165366 --Override Accounted Amount Indicator
165367 , p_source_68 IN VARCHAR2
165368 , p_source_68_meaning IN VARCHAR2
165372 , p_source_70 IN NUMBER
165369 --Invoice Supplier Identifier
165370 , p_source_69 IN NUMBER
165371 --Invoice Supplier Site Identifier
165373 --Third Party Type
165374 , p_source_71 IN VARCHAR2
165375 --Parent Reversal Identifier
165376 , p_source_72 IN NUMBER
165377 --Invoice Distribution Tax Line Identifier
165378 , p_source_74 IN NUMBER
165379 --Invoice Distribution Tax Distribution Identifier from Tax
165380 , p_source_75 IN NUMBER
165381 --Invoice Distribution Summary Tax Line Identifier
165382 , p_source_76 IN NUMBER
165383 --Payables Upgrade Credit Encumbrance Type Identifier
165384 , p_source_77 IN NUMBER
165385 --Payables Upgrade Debit Encumbrance Type Identifier
165386 , p_source_78 IN NUMBER
165387 --Business Flow Accounts Payable Application Identifier
165388 , p_source_79 IN NUMBER
165389 --Business Flow Invoice Distribution Type
165390 , p_source_80 IN VARCHAR2
165391 --Business Flow Invoice Entity Code
165392 , p_source_81 IN VARCHAR2
165393 --Business Flow Invoice Distribution Identifier
165394 , p_source_82 IN NUMBER
165395 --Business Flow Invoice Identifier
165396 , p_source_83 IN NUMBER
165397 --Accrue on Receipt Option
165398 , p_source_84 IN VARCHAR2
165399 , p_source_84_meaning IN VARCHAR2
165400 --Invoice Exchange Date
165401 , p_source_136 IN DATE
165402 --Invoice Exchange Rate
165403 , p_source_137 IN NUMBER
165404 --Invoice Exchange Rate Type
165405 , p_source_138 IN VARCHAR2
165406 )
165407 IS
165408
165409 l_component_type VARCHAR2(80);
165410 l_component_code VARCHAR2(30);
165411 l_component_type_code VARCHAR2(1);
165412 l_component_appl_id INTEGER;
165413 l_amb_context_code VARCHAR2(30);
165414 l_entity_code VARCHAR2(30);
165415 l_event_class_code VARCHAR2(30);
165416 l_ae_header_id NUMBER;
165417 l_event_type_code VARCHAR2(30);
165418 l_line_definition_code VARCHAR2(30);
165419 l_line_definition_owner_code VARCHAR2(1);
165420 --
165421 -- adr variables
165422 l_segment VARCHAR2(30);
165423 l_ccid NUMBER;
165424 l_adr_transaction_coa_id NUMBER;
165425 l_adr_accounting_coa_id NUMBER;
165426 l_adr_flexfield_segment_code VARCHAR2(30);
165427 l_adr_flex_value_set_id NUMBER;
165428 l_adr_value_type_code VARCHAR2(30);
165429 l_adr_value_combination_id NUMBER;
165430 l_adr_value_segment_code VARCHAR2(30);
165431
165432 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
165433 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
165434 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
165435 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
165436
165437 -- 4262811 Variables ------------------------------------------------------------------------------------------
165438 l_entered_amt_idx NUMBER;
165439 l_accted_amt_idx NUMBER;
165440 l_acc_rev_flag VARCHAR2(1);
165441 l_accrual_line_num NUMBER;
165442 l_tmp_amt NUMBER;
165443 l_acc_rev_natural_side_code VARCHAR2(1);
165444
165445 l_num_entries NUMBER;
165446 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
165447 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
165448 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
165449 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
165450 l_recog_line_1 NUMBER;
165451 l_recog_line_2 NUMBER;
165452
165453 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
165454 l_bflow_applied_to_amt NUMBER; -- 5132302
165455 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
165456
165457 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
165458
165459 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
165460 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
165461
165462 ---------------------------------------------------------------------------------------------------------------
165463
165464
165465 --
165466 -- bulk performance
165467 --
165468 l_balance_type_code VARCHAR2(1);
165469 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
165470 l_log_module VARCHAR2(240);
165471
165472 --
165473 -- Upgrade strategy
165474 --
165475 l_actual_upg_option VARCHAR2(1);
165476 l_enc_upg_option VARCHAR2(1);
165477
165478 --
165479 BEGIN
165480 --
165481 IF g_log_enabled THEN
165482 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_267';
165483 END IF;
165484 --
165485 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165486
165487 trace
165488 (p_msg => 'BEGIN of AcctLineType_267'
165489 ,p_level => C_LEVEL_PROCEDURE
165490 ,p_module => l_log_module);
165491
165492 END IF;
165493 --
165494 l_component_type := 'AMB_JLT';
165495 l_component_code := 'AP_TAX_INV_PRICE_VAR_DM';
165496 l_component_type_code := 'S';
165497 l_component_appl_id := 200;
165498 l_amb_context_code := 'DEFAULT';
165499 l_entity_code := 'AP_INVOICES';
165503 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
165500 l_event_class_code := 'DEBIT MEMOS';
165501 l_event_type_code := 'DEBIT MEMOS_ALL';
165502 l_line_definition_owner_code := 'S';
165504 --
165505 l_balance_type_code := 'A';
165506 l_segment := NULL;
165507 l_ccid := NULL;
165508 l_adr_transaction_coa_id := NULL;
165509 l_adr_accounting_coa_id := NULL;
165510 l_adr_flexfield_segment_code := NULL;
165511 l_adr_flex_value_set_id := NULL;
165512 l_adr_value_type_code := NULL;
165513 l_adr_value_combination_id := NULL;
165514 l_adr_value_segment_code := NULL;
165515
165516 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
165517 l_bflow_class_code := ''; -- 4219869 Business Flow
165518 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
165519 l_budgetary_control_flag := 'N';
165520
165521 l_bflow_applied_to_amt_idx := NULL; -- 5132302
165522 l_bflow_applied_to_amt := NULL; -- 5132302
165523 l_entered_amt_idx := NULL; -- 4262811
165524 l_accted_amt_idx := NULL; -- 4262811
165525 l_acc_rev_flag := NULL; -- 4262811
165526 l_accrual_line_num := NULL; -- 4262811
165527 l_tmp_amt := NULL; -- 4262811
165528 --
165529
165530 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
165531 l_balance_type_code <> 'B' THEN
165532 IF NVL(p_source_21,'
165533 ') = 'TIPV' AND
165534 NVL(p_source_84,'
165535 ') = 'Y'
165536 THEN
165537
165538 --
165539 XLA_AE_LINES_PKG.SetNewLine;
165540
165541 p_balance_type_code := l_balance_type_code;
165542 -- set the flag so later we will know whether the gain loss line needs to be created
165543
165544 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
165545 p_actual_flag :='A';
165546 END IF;
165547
165548 --
165549 -- bulk performance
165550 --
165551 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
165552 p_header_num => 0); -- 4262811
165553 --
165554 -- set accounting line options
165555 --
165556 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
165557 p_natural_side_code => 'D'
165558 , p_gain_or_loss_flag => 'N'
165559 , p_gl_transfer_mode_code => 'S'
165560 , p_acct_entry_type_code => 'A'
165561 , p_switch_side_flag => 'Y'
165562 , p_merge_duplicate_code => 'A'
165563 );
165564 --
165565 l_acc_rev_natural_side_code := 'C'; -- 4262811
165566 --
165567 --
165568 -- set accounting line type info
165569 --
165570 xla_ae_lines_pkg.SetAcctLineType
165571 (p_component_type => l_component_type
165572 ,p_event_type_code => l_event_type_code
165573 ,p_line_definition_owner_code => l_line_definition_owner_code
165574 ,p_line_definition_code => l_line_definition_code
165575 ,p_accounting_line_code => l_component_code
165576 ,p_accounting_line_type_code => l_component_type_code
165577 ,p_accounting_line_appl_id => l_component_appl_id
165578 ,p_amb_context_code => l_amb_context_code
165579 ,p_entity_code => l_entity_code
165580 ,p_event_class_code => l_event_class_code);
165581 --
165582 -- set accounting class
165583 --
165584 xla_ae_lines_pkg.SetAcctClass(
165585 p_accounting_class_code => 'TIPV'
165586 , p_ae_header_id => l_ae_header_id
165587 );
165588
165589 --
165590 -- set rounding class
165591 --
165592 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
165593 'TIPV';
165594
165595 --
165596 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
165597 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
165598 --
165599 -- bulk performance
165600 --
165601 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
165602
165603 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
165604 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
165605
165606 -- 4955764
165607 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
165608 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
165609
165610 -- 4458381 Public Sector Enh
165611
165612 --
165613 -- set accounting attributes for the line type
165614 --
165615 l_entered_amt_idx := 23;
165616 l_accted_amt_idx := 28;
165617 l_bflow_applied_to_amt_idx := NULL; -- 5132302
165618 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
165619 l_rec_acct_attrs.array_char_value(1) := p_source_41;
165620 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
165621 l_rec_acct_attrs.array_num_value(2) :=
165622 xla_ae_sources_pkg.GetSystemSourceNum(
165623 p_source_code => 'XLA_EVENT_APPL_ID'
165624 , p_source_type_code => 'Y'
165625 , p_source_application_id => 602
165626 );
165627 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
165631 xla_ae_sources_pkg.GetSystemSourceChar(
165628 l_rec_acct_attrs.array_char_value(3) := p_source_43;
165629 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
165630 l_rec_acct_attrs.array_char_value(4) :=
165632 p_source_code => 'XLA_ENTITY_CODE'
165633 , p_source_type_code => 'Y'
165634 , p_source_application_id => 602
165635 );
165636 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
165637 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
165638 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
165639 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
165640 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
165641 l_rec_acct_attrs.array_num_value(7) := p_source_79;
165642 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
165643 l_rec_acct_attrs.array_char_value(8) := p_source_80;
165644 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
165645 l_rec_acct_attrs.array_char_value(9) := p_source_81;
165646 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
165647 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
165648 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
165649 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
165650 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
165651 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
165652 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
165653 l_rec_acct_attrs.array_char_value(13) := p_source_43;
165654 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
165655 l_rec_acct_attrs.array_num_value(14) := p_source_53;
165656 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
165657 l_rec_acct_attrs.array_num_value(15) := p_source_54;
165658 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
165659 l_rec_acct_attrs.array_char_value(16) := p_source_55;
165660 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
165661 l_rec_acct_attrs.array_num_value(17) := p_source_56;
165662 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
165663 l_rec_acct_attrs.array_num_value(18) := p_source_57;
165664 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
165665 l_rec_acct_attrs.array_num_value(19) := p_source_58;
165666 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
165667 l_rec_acct_attrs.array_char_value(20) := p_source_55;
165668 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
165669 l_rec_acct_attrs.array_num_value(21) := p_source_59;
165670 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
165671 l_rec_acct_attrs.array_char_value(22) := p_source_60;
165672 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
165673 l_rec_acct_attrs.array_num_value(23) := p_source_61;
165674 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
165675 l_rec_acct_attrs.array_char_value(24) := p_source_55;
165676 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
165677 l_rec_acct_attrs.array_date_value(25) := p_source_136;
165678 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
165679 l_rec_acct_attrs.array_num_value(26) := p_source_137;
165680 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
165681 l_rec_acct_attrs.array_char_value(27) := p_source_138;
165682 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
165683 l_rec_acct_attrs.array_num_value(28) := p_source_9;
165684 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
165685 l_rec_acct_attrs.array_date_value(29) := p_source_65;
165686 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
165687 l_rec_acct_attrs.array_char_value(30) := p_source_66;
165688 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
165689 l_rec_acct_attrs.array_date_value(31) := p_source_67;
165690 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
165691 l_rec_acct_attrs.array_char_value(32) := p_source_68;
165692 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
165693 l_rec_acct_attrs.array_num_value(33) := p_source_69;
165694 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
165695 l_rec_acct_attrs.array_num_value(34) := p_source_70;
165696 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
165697 l_rec_acct_attrs.array_char_value(35) := p_source_71;
165698 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
165699 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
165700 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
165701 l_rec_acct_attrs.array_char_value(37) := p_source_43;
165702 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
165703 l_rec_acct_attrs.array_num_value(38) := p_source_74;
165704 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
165705 l_rec_acct_attrs.array_num_value(39) := p_source_75;
165706 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
165707 l_rec_acct_attrs.array_num_value(40) := p_source_76;
165708 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
165709 l_rec_acct_attrs.array_num_value(41) := p_source_77;
165710 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
165714 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
165711 l_rec_acct_attrs.array_num_value(42) := p_source_78;
165712
165713 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
165715
165716 ---------------------------------------------------------------------------------------------------------------
165717 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
165718 ---------------------------------------------------------------------------------------------------------------
165719 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
165720
165721 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
165722 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
165723
165724 IF xla_accounting_cache_pkg.GetValueChar
165725 (p_source_code => 'LEDGER_CATEGORY_CODE'
165726 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
165727 AND l_bflow_method_code = 'PRIOR_ENTRY'
165728 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
165729 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
165730 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
165731 )
165732 THEN
165733 xla_ae_lines_pkg.BflowUpgEntry
165734 (p_business_method_code => l_bflow_method_code
165735 ,p_business_class_code => l_bflow_class_code
165736 ,p_balance_type => l_balance_type_code);
165737 ELSE
165738 NULL;
165739 -- No business flow processing for business flow method of NONE.
165740 END IF;
165741
165742 --
165743 -- call analytical criteria
165744 --
165745
165746 --
165747 -- call description
165748 --
165749
165750 xla_ae_lines_pkg.SetLineDescription(
165751 p_ae_header_id => l_ae_header_id
165752 ,p_description => Description_2 (
165753 p_application_id => p_application_id
165754 , p_ae_header_id => l_ae_header_id
165755 , p_source_1 => p_source_1
165756 )
165757 );
165758
165759
165760 --
165761 -- call ADRs
165762 -- Bug 4922099
165763 --
165764 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
165765 (NVL(l_actual_upg_option, 'N') = 'O') OR
165766 (NVL(l_enc_upg_option, 'N') = 'O')
165767 )
165768 THEN
165769 NULL;
165770 --
165771 --
165772
165773 l_ccid := AcctDerRule_32(
165774 p_application_id => p_application_id
165775 , p_ae_header_id => l_ae_header_id
165776 , p_source_18 => p_source_18
165777 , x_transaction_coa_id => l_adr_transaction_coa_id
165778 , x_accounting_coa_id => l_adr_accounting_coa_id
165779 , x_value_type_code => l_adr_value_type_code
165780 , p_side => 'NA'
165781 );
165782
165783 xla_ae_lines_pkg.set_ccid(
165784 p_code_combination_id => l_ccid
165785 , p_value_type_code => l_adr_value_type_code
165786 , p_transaction_coa_id => l_adr_transaction_coa_id
165787 , p_accounting_coa_id => l_adr_accounting_coa_id
165788 , p_adr_code => 'AP_INVOICE_DIST'
165789 , p_adr_type_code => 'S'
165790 , p_component_type => l_component_type
165791 , p_component_code => l_component_code
165792 , p_component_type_code => l_component_type_code
165793 , p_component_appl_id => l_component_appl_id
165794 , p_amb_context_code => l_amb_context_code
165795 , p_side => 'NA'
165796 );
165797
165798
165799 --
165800 --
165801 END IF;
165802 --
165803 -- Bug 4922099
165804 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
165805 (NVL(l_enc_upg_option, 'N') = 'O')
165806 ) AND
165807 (l_bflow_method_code = 'PRIOR_ENTRY')
165808 )
165809 THEN
165810 IF
165811 --
165812 1 = 2
165813 --
165814 THEN
165815 xla_accounting_err_pkg.build_message
165816 (p_appli_s_name => 'XLA'
165817 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
165818 ,p_token_1 => 'LINE_NUMBER'
165819 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
165820 ,p_token_2 => 'LINE_TYPE_NAME'
165821 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
165822 l_component_type
165823 ,l_component_code
165824 ,l_component_type_code
165825 ,l_component_appl_id
165826 ,l_amb_context_code
165827 ,l_entity_code
165831 ,p_value_3 => xla_lookups_pkg.get_meaning(
165828 ,l_event_class_code
165829 )
165830 ,p_token_3 => 'OWNER'
165832 p_lookup_type => 'XLA_OWNER_TYPE'
165833 ,p_lookup_code => l_component_type_code
165834 )
165835 ,p_token_4 => 'PRODUCT_NAME'
165836 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
165837 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
165838 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
165839 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
165840 ,p_ae_header_id => NULL
165841 );
165842
165843 IF (C_LEVEL_ERROR>= g_log_level) THEN
165844 trace
165845 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
165846 ,p_level => C_LEVEL_ERROR
165847 ,p_module => l_log_module);
165848 END IF;
165849 END IF;
165850 END IF;
165851 --
165852 --
165853 ------------------------------------------------------------------------------------------------
165854 -- 4219869 Business Flow
165855 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
165856 -- Prior Entry. Currently, the following code is always generated.
165857 ------------------------------------------------------------------------------------------------
165858 XLA_AE_LINES_PKG.ValidateCurrentLine;
165859
165860 ------------------------------------------------------------------------------------
165861 -- 4219869 Business Flow
165862 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
165863 ------------------------------------------------------------------------------------
165864 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
165865
165866 ----------------------------------------------------------------------------------
165867 -- 4219869 Business Flow
165868 -- Update journal entry status -- Need to generate this within IF <condition>
165869 ----------------------------------------------------------------------------------
165870 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
165871 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
165872 ,p_balance_type_code => l_balance_type_code
165873 );
165874
165875 -------------------------------------------------------------------------------------------
165876 -- 4262811 - Generate the Accrual Reversal lines
165877 -------------------------------------------------------------------------------------------
165878 BEGIN
165879 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
165880 (g_array_event(p_event_id).array_value_num('header_index'));
165881 IF l_acc_rev_flag IS NULL THEN
165882 l_acc_rev_flag := 'N';
165883 END IF;
165884 EXCEPTION
165885 WHEN OTHERS THEN
165886 l_acc_rev_flag := 'N';
165887 END;
165888 --
165889 IF (l_acc_rev_flag = 'Y') THEN
165890
165891 -- 4645092 ------------------------------------------------------------------------------
165892 -- To allow MPA report to determine if it should generate report process
165893 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
165894 ------------------------------------------------------------------------------------------
165895
165896 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
165897 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
165898 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
165899 -- call ADRs
165900 -- Bug 4922099
165901 --
165902 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
165903 (NVL(l_actual_upg_option, 'N') = 'O') OR
165904 (NVL(l_enc_upg_option, 'N') = 'O')
165905 )
165906 THEN
165907 NULL;
165908 --
165909 --
165910
165911 l_ccid := AcctDerRule_32(
165912 p_application_id => p_application_id
165913 , p_ae_header_id => l_ae_header_id
165914 , p_source_18 => p_source_18
165915 , x_transaction_coa_id => l_adr_transaction_coa_id
165916 , x_accounting_coa_id => l_adr_accounting_coa_id
165917 , x_value_type_code => l_adr_value_type_code
165918 , p_side => 'NA'
165919 );
165920
165921 xla_ae_lines_pkg.set_ccid(
165922 p_code_combination_id => l_ccid
165923 , p_value_type_code => l_adr_value_type_code
165924 , p_transaction_coa_id => l_adr_transaction_coa_id
165925 , p_accounting_coa_id => l_adr_accounting_coa_id
165926 , p_adr_code => 'AP_INVOICE_DIST'
165927 , p_adr_type_code => 'S'
165928 , p_component_type => l_component_type
165929 , p_component_code => l_component_code
165933 , p_side => 'NA'
165930 , p_component_type_code => l_component_type_code
165931 , p_component_appl_id => l_component_appl_id
165932 , p_amb_context_code => l_amb_context_code
165934 );
165935
165936
165937 --
165938 --
165939 END IF;
165940
165941 --
165942 -- Update the line information that should be overwritten
165943 --
165944 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
165945 p_header_num => 1);
165946 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
165947
165948 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
165949
165950 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
165951 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
165952 END IF;
165953
165954 --
165955 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
165956 --
165957 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
165958 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
165959 ELSE
165960 ---------------------------------------------------------------------------------------------------
165961 -- 4262811a Switch Sign
165962 ---------------------------------------------------------------------------------------------------
165963 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
165964 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
165965 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
165966 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
165967 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
165968 -- 5132302
165969 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
165970 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
165971
165972 END IF;
165973
165974 -- 4955764
165975 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
165976 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
165977
165978
165979 XLA_AE_LINES_PKG.ValidateCurrentLine;
165980 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
165981
165982 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
165983 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
165984 ,p_balance_type_code => l_balance_type_code);
165985
165986 END IF;
165987
165988 -----------------------------------------------------------------------------------------
165989 -- 4262811 Multiperiod Accounting
165990 -----------------------------------------------------------------------------------------
165991 -- No MPA option is assigned.
165992
165993
165994 END IF;
165995 END IF;
165996 --
165997
165998 --
165999 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
166000 trace
166001 (p_msg => 'END of AcctLineType_267'
166002 ,p_level => C_LEVEL_PROCEDURE
166003 ,p_module => l_log_module);
166004 END IF;
166005 --
166006 EXCEPTION
166007 WHEN xla_exceptions_pkg.application_exception THEN
166008 RAISE;
166009 WHEN OTHERS THEN
166010 xla_exceptions_pkg.raise_message
166011 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_267');
166012 END AcctLineType_267;
166013 --
166014
166015 ---------------------------------------
166016 --
166017 -- PRIVATE FUNCTION
166018 -- AcctLineType_268
166019 --
166020 ---------------------------------------
166021 PROCEDURE AcctLineType_268 (
166022 p_application_id IN NUMBER
166023 ,p_event_id IN NUMBER
166024 ,p_calculate_acctd_flag IN VARCHAR2
166025 ,p_calculate_g_l_flag IN VARCHAR2
166026 ,p_actual_flag IN OUT VARCHAR2
166027 ,p_balance_type_code OUT VARCHAR2
166028 ,p_gain_or_loss_ref OUT VARCHAR2
166029
166030 --Invoice Distribution Type
166031 , p_source_21 IN VARCHAR2
166032 , p_source_21_meaning IN VARCHAR2
166033 --Accounting Reversal Indicator
166034 , p_source_41 IN VARCHAR2
166035 --Distribution Link Type
166036 , p_source_43 IN VARCHAR2
166037 --Allocation to Main Distribution Identifier
166038 , p_source_45 IN NUMBER
166039 --Invoice Identifier
166040 , p_source_46 IN NUMBER
166041 --Invoice Distribution Identifier
166042 , p_source_52 IN NUMBER
166043 --Payables Encumbrance Upgrade Credit Account
166044 , p_source_53 IN NUMBER
166045 --Payables Encumbrance Upgrade Credit Amount
166046 , p_source_54 IN NUMBER
166047 --Invoice Currency Code
166048 , p_source_55 IN VARCHAR2
166049 --Payables Encumbrance Upgrade Credit Base Amount
166050 , p_source_56 IN NUMBER
166051 --Payables Encumbrance Upgrade Debit Account
166052 , p_source_57 IN NUMBER
166053 --Payables Encumbrance Upgrade Debit Amount
166057 --Payables Encumbrance Upgrade Option
166054 , p_source_58 IN NUMBER
166055 --Payables Encumbrance Upgrade Debit Base Amount
166056 , p_source_59 IN NUMBER
166058 , p_source_60 IN VARCHAR2
166059 --Deferred Accounting End Date
166060 , p_source_65 IN DATE
166061 --Deferred Accounting Option
166062 , p_source_66 IN VARCHAR2
166063 --Deferred Accounting Start Date
166064 , p_source_67 IN DATE
166065 --Override Accounted Amount Indicator
166066 , p_source_68 IN VARCHAR2
166067 , p_source_68_meaning IN VARCHAR2
166068 --Third Party Type
166069 , p_source_71 IN VARCHAR2
166070 --Parent Reversal Identifier
166071 , p_source_72 IN NUMBER
166072 --Invoice Distribution Tax Line Identifier
166073 , p_source_74 IN NUMBER
166074 --Invoice Distribution Tax Distribution Identifier from Tax
166075 , p_source_75 IN NUMBER
166076 --Invoice Distribution Summary Tax Line Identifier
166077 , p_source_76 IN NUMBER
166078 --Payables Upgrade Credit Encumbrance Type Identifier
166079 , p_source_77 IN NUMBER
166080 --Payables Upgrade Debit Encumbrance Type Identifier
166081 , p_source_78 IN NUMBER
166082 --Business Flow Accounts Payable Application Identifier
166083 , p_source_79 IN NUMBER
166084 --Business Flow Invoice Distribution Type
166085 , p_source_80 IN VARCHAR2
166086 --Business Flow Invoice Entity Code
166087 , p_source_81 IN VARCHAR2
166088 --Business Flow Invoice Distribution Identifier
166089 , p_source_82 IN NUMBER
166090 --Business Flow Invoice Identifier
166091 , p_source_83 IN NUMBER
166092 --Purchasing Encumbrance Option
166093 , p_source_86 IN VARCHAR2
166094 , p_source_86_meaning IN VARCHAR2
166095 --Invoice Encumbered Option
166096 , p_source_87 IN VARCHAR2
166097 , p_source_87_meaning IN VARCHAR2
166098 --Invoice Distribution Encumbrance Amount
166099 , p_source_143 IN NUMBER
166100 --Invoice Distribution Encumbrance Ledger Amount
166101 , p_source_144 IN NUMBER
166102 )
166103 IS
166104
166105 l_component_type VARCHAR2(80);
166106 l_component_code VARCHAR2(30);
166107 l_component_type_code VARCHAR2(1);
166108 l_component_appl_id INTEGER;
166109 l_amb_context_code VARCHAR2(30);
166110 l_entity_code VARCHAR2(30);
166111 l_event_class_code VARCHAR2(30);
166112 l_ae_header_id NUMBER;
166113 l_event_type_code VARCHAR2(30);
166114 l_line_definition_code VARCHAR2(30);
166115 l_line_definition_owner_code VARCHAR2(1);
166116 --
166117 -- adr variables
166118 l_segment VARCHAR2(30);
166119 l_ccid NUMBER;
166120 l_adr_transaction_coa_id NUMBER;
166121 l_adr_accounting_coa_id NUMBER;
166122 l_adr_flexfield_segment_code VARCHAR2(30);
166123 l_adr_flex_value_set_id NUMBER;
166124 l_adr_value_type_code VARCHAR2(30);
166125 l_adr_value_combination_id NUMBER;
166126 l_adr_value_segment_code VARCHAR2(30);
166127
166128 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
166129 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
166130 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
166131 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
166132
166133 -- 4262811 Variables ------------------------------------------------------------------------------------------
166134 l_entered_amt_idx NUMBER;
166135 l_accted_amt_idx NUMBER;
166136 l_acc_rev_flag VARCHAR2(1);
166137 l_accrual_line_num NUMBER;
166138 l_tmp_amt NUMBER;
166139 l_acc_rev_natural_side_code VARCHAR2(1);
166140
166141 l_num_entries NUMBER;
166142 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
166143 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
166144 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
166145 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
166146 l_recog_line_1 NUMBER;
166147 l_recog_line_2 NUMBER;
166148
166149 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
166150 l_bflow_applied_to_amt NUMBER; -- 5132302
166151 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
166152
166153 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
166154
166155 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
166156 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
166157
166158 ---------------------------------------------------------------------------------------------------------------
166159
166160
166161 --
166162 -- bulk performance
166163 --
166164 l_balance_type_code VARCHAR2(1);
166165 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
166166 l_log_module VARCHAR2(240);
166167
166168 --
166169 -- Upgrade strategy
166170 --
166171 l_actual_upg_option VARCHAR2(1);
166172 l_enc_upg_option VARCHAR2(1);
166173
166174 --
166175 BEGIN
166176 --
166177 IF g_log_enabled THEN
166178 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_268';
166179 END IF;
166180 --
166181 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
166182
166183 trace
166187
166184 (p_msg => 'BEGIN of AcctLineType_268'
166185 ,p_level => C_LEVEL_PROCEDURE
166186 ,p_module => l_log_module);
166188 END IF;
166189 --
166190 l_component_type := 'AMB_JLT';
166191 l_component_code := 'AP_TAX_INV_PRICE_VAR_DM_ENC';
166192 l_component_type_code := 'S';
166193 l_component_appl_id := 200;
166194 l_amb_context_code := 'DEFAULT';
166195 l_entity_code := 'AP_INVOICES';
166196 l_event_class_code := 'DEBIT MEMOS';
166197 l_event_type_code := 'DEBIT MEMOS_ALL';
166198 l_line_definition_owner_code := 'S';
166199 l_line_definition_code := 'ENC_REV_DM_ALL';
166200 --
166201 l_balance_type_code := 'E';
166202 l_segment := NULL;
166203 l_ccid := NULL;
166204 l_adr_transaction_coa_id := NULL;
166205 l_adr_accounting_coa_id := NULL;
166206 l_adr_flexfield_segment_code := NULL;
166207 l_adr_flex_value_set_id := NULL;
166208 l_adr_value_type_code := NULL;
166209 l_adr_value_combination_id := NULL;
166210 l_adr_value_segment_code := NULL;
166211
166212 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
166213 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
166214 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
166215 l_budgetary_control_flag := 'N';
166216
166217 l_bflow_applied_to_amt_idx := NULL; -- 5132302
166218 l_bflow_applied_to_amt := NULL; -- 5132302
166219 l_entered_amt_idx := NULL; -- 4262811
166220 l_accted_amt_idx := NULL; -- 4262811
166221 l_acc_rev_flag := NULL; -- 4262811
166222 l_accrual_line_num := NULL; -- 4262811
166223 l_tmp_amt := NULL; -- 4262811
166224 --
166225
166226 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
166227 l_balance_type_code <> 'B' THEN
166228 IF NVL(p_source_21,'
166229 ') = 'TIPV' AND
166230 NVL(p_source_86,'
166231 ') = 'Y' AND
166232 NVL(p_source_87,'
166233 ') = 'Y'
166234 THEN
166235
166236 --
166237 XLA_AE_LINES_PKG.SetNewLine;
166238
166239 p_balance_type_code := l_balance_type_code;
166240 -- set the flag so later we will know whether the gain loss line needs to be created
166241
166242 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
166243 p_actual_flag :='A';
166244 END IF;
166245
166246 --
166247 -- bulk performance
166248 --
166249 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
166250 p_header_num => 0); -- 4262811
166251 --
166252 -- set accounting line options
166253 --
166254 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
166255 p_natural_side_code => 'C'
166256 , p_gain_or_loss_flag => 'N'
166257 , p_gl_transfer_mode_code => 'S'
166258 , p_acct_entry_type_code => 'E'
166259 , p_switch_side_flag => 'Y'
166260 , p_merge_duplicate_code => 'A'
166261 );
166262 --
166263 l_acc_rev_natural_side_code := 'D'; -- 4262811
166264 --
166265 --
166266 -- set accounting line type info
166267 --
166268 xla_ae_lines_pkg.SetAcctLineType
166269 (p_component_type => l_component_type
166270 ,p_event_type_code => l_event_type_code
166271 ,p_line_definition_owner_code => l_line_definition_owner_code
166272 ,p_line_definition_code => l_line_definition_code
166273 ,p_accounting_line_code => l_component_code
166274 ,p_accounting_line_type_code => l_component_type_code
166275 ,p_accounting_line_appl_id => l_component_appl_id
166276 ,p_amb_context_code => l_amb_context_code
166277 ,p_entity_code => l_entity_code
166278 ,p_event_class_code => l_event_class_code);
166279 --
166280 -- set accounting class
166281 --
166282 xla_ae_lines_pkg.SetAcctClass(
166283 p_accounting_class_code => 'TIPV'
166284 , p_ae_header_id => l_ae_header_id
166285 );
166286
166287 --
166288 -- set rounding class
166289 --
166290 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
166291 'TIPV';
166292
166293 --
166294 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
166295 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
166296 --
166297 -- bulk performance
166298 --
166299 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
166300
166301 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
166302 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
166303
166304 -- 4955764
166305 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
166306 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
166307
166308 -- 4458381 Public Sector Enh
166309
166310 --
166311 -- set accounting attributes for the line type
166315 l_bflow_applied_to_amt_idx := NULL; -- 5132302
166312 --
166313 l_entered_amt_idx := 23;
166314 l_accted_amt_idx := 25;
166316 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
166317 l_rec_acct_attrs.array_char_value(1) := p_source_41;
166318 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
166319 l_rec_acct_attrs.array_num_value(2) :=
166320 xla_ae_sources_pkg.GetSystemSourceNum(
166321 p_source_code => 'XLA_EVENT_APPL_ID'
166322 , p_source_type_code => 'Y'
166323 , p_source_application_id => 602
166324 );
166325 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
166326 l_rec_acct_attrs.array_char_value(3) := p_source_43;
166327 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
166328 l_rec_acct_attrs.array_char_value(4) :=
166329 xla_ae_sources_pkg.GetSystemSourceChar(
166330 p_source_code => 'XLA_ENTITY_CODE'
166331 , p_source_type_code => 'Y'
166332 , p_source_application_id => 602
166333 );
166334 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
166335 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
166336 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
166337 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
166338 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
166339 l_rec_acct_attrs.array_num_value(7) := p_source_79;
166340 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
166341 l_rec_acct_attrs.array_char_value(8) := p_source_80;
166342 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
166343 l_rec_acct_attrs.array_char_value(9) := p_source_81;
166344 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
166345 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
166346 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
166347 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
166348 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
166349 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
166350 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
166351 l_rec_acct_attrs.array_char_value(13) := p_source_43;
166352 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
166353 l_rec_acct_attrs.array_num_value(14) := p_source_53;
166354 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
166355 l_rec_acct_attrs.array_num_value(15) := p_source_54;
166356 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
166357 l_rec_acct_attrs.array_char_value(16) := p_source_55;
166358 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
166359 l_rec_acct_attrs.array_num_value(17) := p_source_56;
166360 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
166361 l_rec_acct_attrs.array_num_value(18) := p_source_57;
166362 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
166363 l_rec_acct_attrs.array_num_value(19) := p_source_58;
166364 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
166365 l_rec_acct_attrs.array_char_value(20) := p_source_55;
166366 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
166367 l_rec_acct_attrs.array_num_value(21) := p_source_59;
166368 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
166369 l_rec_acct_attrs.array_char_value(22) := p_source_60;
166370 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
166371 l_rec_acct_attrs.array_num_value(23) := p_source_143;
166372 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
166373 l_rec_acct_attrs.array_char_value(24) := p_source_55;
166374 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
166375 l_rec_acct_attrs.array_num_value(25) := p_source_144;
166376 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
166377 l_rec_acct_attrs.array_date_value(26) := p_source_65;
166378 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
166379 l_rec_acct_attrs.array_char_value(27) := p_source_66;
166380 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
166381 l_rec_acct_attrs.array_date_value(28) := p_source_67;
166382 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
166383 l_rec_acct_attrs.array_char_value(29) := p_source_68;
166384 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
166385 l_rec_acct_attrs.array_char_value(30) := p_source_71;
166386 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
166387 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
166388 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
166389 l_rec_acct_attrs.array_char_value(32) := p_source_43;
166390 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
166391 l_rec_acct_attrs.array_num_value(33) := p_source_74;
166392 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
166393 l_rec_acct_attrs.array_num_value(34) := p_source_75;
166394 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
166395 l_rec_acct_attrs.array_num_value(35) := p_source_76;
166396 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
166397 l_rec_acct_attrs.array_num_value(36) := p_source_77;
166398 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
166402 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
166399 l_rec_acct_attrs.array_num_value(37) := p_source_78;
166400
166401 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
166403
166404 ---------------------------------------------------------------------------------------------------------------
166405 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
166406 ---------------------------------------------------------------------------------------------------------------
166407 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
166408
166409 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
166410 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
166411
166412 IF xla_accounting_cache_pkg.GetValueChar
166413 (p_source_code => 'LEDGER_CATEGORY_CODE'
166414 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
166415 AND l_bflow_method_code = 'PRIOR_ENTRY'
166416 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
166417 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
166418 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
166419 )
166420 THEN
166421 xla_ae_lines_pkg.BflowUpgEntry
166422 (p_business_method_code => l_bflow_method_code
166423 ,p_business_class_code => l_bflow_class_code
166424 ,p_balance_type => l_balance_type_code);
166425 ELSE
166426 NULL;
166427 XLA_AE_LINES_PKG.business_flow_validation(
166428 p_business_method_code => l_bflow_method_code
166429 ,p_business_class_code => l_bflow_class_code
166430 ,p_inherit_description_flag => l_inherit_desc_flag);
166431 END IF;
166432
166433 --
166434 -- call analytical criteria
166435 --
166436 -- Inherited Analytical Criteria for business flow method of Prior Entry.
166437 --
166438 -- call description
166439 --
166440 -- No description or it is inherited.
166441 --
166442 -- call ADRs
166443 -- Bug 4922099
166444 --
166445 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
166446 (NVL(l_actual_upg_option, 'N') = 'O') OR
166447 (NVL(l_enc_upg_option, 'N') = 'O')
166448 )
166449 THEN
166450 NULL;
166451 --
166452 --
166453
166454 --
166455 --
166456 END IF;
166457 --
166458 -- Bug 4922099
166459 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
166460 (NVL(l_enc_upg_option, 'N') = 'O')
166461 ) AND
166462 (l_bflow_method_code = 'PRIOR_ENTRY')
166463 )
166464 THEN
166465 IF
166466 --
166467 1 = 1
166468 --
166469 THEN
166470 xla_accounting_err_pkg.build_message
166471 (p_appli_s_name => 'XLA'
166472 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
166473 ,p_token_1 => 'LINE_NUMBER'
166474 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
166475 ,p_token_2 => 'LINE_TYPE_NAME'
166476 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
166477 l_component_type
166478 ,l_component_code
166479 ,l_component_type_code
166480 ,l_component_appl_id
166481 ,l_amb_context_code
166482 ,l_entity_code
166483 ,l_event_class_code
166484 )
166485 ,p_token_3 => 'OWNER'
166486 ,p_value_3 => xla_lookups_pkg.get_meaning(
166487 p_lookup_type => 'XLA_OWNER_TYPE'
166488 ,p_lookup_code => l_component_type_code
166489 )
166490 ,p_token_4 => 'PRODUCT_NAME'
166491 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
166492 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
166493 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
166494 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
166495 ,p_ae_header_id => NULL
166496 );
166497
166498 IF (C_LEVEL_ERROR>= g_log_level) THEN
166499 trace
166503 END IF;
166500 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
166501 ,p_level => C_LEVEL_ERROR
166502 ,p_module => l_log_module);
166504 END IF;
166505 END IF;
166506 --
166507 --
166508 ------------------------------------------------------------------------------------------------
166509 -- 4219869 Business Flow
166510 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
166511 -- Prior Entry. Currently, the following code is always generated.
166512 ------------------------------------------------------------------------------------------------
166513 -- No ValidateCurrentLine for business flow method of Prior Entry
166514
166515 ------------------------------------------------------------------------------------
166516 -- 4219869 Business Flow
166517 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
166518 ------------------------------------------------------------------------------------
166519 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
166520
166521 ----------------------------------------------------------------------------------
166522 -- 4219869 Business Flow
166523 -- Update journal entry status -- Need to generate this within IF <condition>
166524 ----------------------------------------------------------------------------------
166525 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
166526 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
166527 ,p_balance_type_code => l_balance_type_code
166528 );
166529
166530 -------------------------------------------------------------------------------------------
166531 -- 4262811 - Generate the Accrual Reversal lines
166532 -------------------------------------------------------------------------------------------
166533 BEGIN
166534 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
166535 (g_array_event(p_event_id).array_value_num('header_index'));
166536 IF l_acc_rev_flag IS NULL THEN
166537 l_acc_rev_flag := 'N';
166538 END IF;
166539 EXCEPTION
166540 WHEN OTHERS THEN
166541 l_acc_rev_flag := 'N';
166542 END;
166543 --
166544 IF (l_acc_rev_flag = 'Y') THEN
166545
166546 -- 4645092 ------------------------------------------------------------------------------
166547 -- To allow MPA report to determine if it should generate report process
166548 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
166549 ------------------------------------------------------------------------------------------
166550
166551 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
166552 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
166553 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
166554 -- call ADRs
166555 -- Bug 4922099
166556 --
166557 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
166558 (NVL(l_actual_upg_option, 'N') = 'O') OR
166559 (NVL(l_enc_upg_option, 'N') = 'O')
166560 )
166561 THEN
166562 NULL;
166563 --
166564 --
166565
166566 --
166567 --
166568 END IF;
166569
166570 --
166571 -- Update the line information that should be overwritten
166572 --
166573 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
166574 p_header_num => 1);
166575 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
166576
166577 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
166578
166579 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
166580 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
166581 END IF;
166582
166583 --
166584 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
166585 --
166586 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
166587 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
166588 ELSE
166589 ---------------------------------------------------------------------------------------------------
166590 -- 4262811a Switch Sign
166591 ---------------------------------------------------------------------------------------------------
166592 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
166593 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
166594 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
166595 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
166596 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
166597 -- 5132302
166598 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
166599 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
166600
166601 END IF;
166602
166603 -- 4955764
166604 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
166608 XLA_AE_LINES_PKG.ValidateCurrentLine;
166605 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
166606
166607
166609 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
166610
166611 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
166612 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
166613 ,p_balance_type_code => l_balance_type_code);
166614
166615 END IF;
166616
166617 -----------------------------------------------------------------------------------------
166618 -- 4262811 Multiperiod Accounting
166619 -----------------------------------------------------------------------------------------
166620 -- No MPA option is assigned.
166621
166622
166623 END IF;
166624 END IF;
166625 --
166626
166627 --
166628 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
166629 trace
166630 (p_msg => 'END of AcctLineType_268'
166631 ,p_level => C_LEVEL_PROCEDURE
166632 ,p_module => l_log_module);
166633 END IF;
166634 --
166635 EXCEPTION
166636 WHEN xla_exceptions_pkg.application_exception THEN
166637 RAISE;
166638 WHEN OTHERS THEN
166639 xla_exceptions_pkg.raise_message
166640 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_268');
166641 END AcctLineType_268;
166642 --
166643
166644 ---------------------------------------
166645 --
166646 -- PRIVATE FUNCTION
166647 -- AcctLineType_269
166648 --
166649 ---------------------------------------
166650 PROCEDURE AcctLineType_269 (
166651 p_application_id IN NUMBER
166652 ,p_event_id IN NUMBER
166653 ,p_calculate_acctd_flag IN VARCHAR2
166654 ,p_calculate_g_l_flag IN VARCHAR2
166655 ,p_actual_flag IN OUT VARCHAR2
166656 ,p_balance_type_code OUT VARCHAR2
166657 ,p_gain_or_loss_ref OUT VARCHAR2
166658
166659 --Invoice Distribution Description
166660 , p_source_1 IN VARCHAR2
166661 --Invoice Distribution Ledger Amount
166662 , p_source_9 IN NUMBER
166663 --Invoice Distribution Account
166664 , p_source_18 IN NUMBER
166665 --Invoice Distribution Type
166666 , p_source_21 IN VARCHAR2
166667 , p_source_21_meaning IN VARCHAR2
166668 --Accounting Reversal Indicator
166669 , p_source_41 IN VARCHAR2
166670 --Distribution Link Type
166671 , p_source_43 IN VARCHAR2
166672 --Allocation to Main Distribution Identifier
166673 , p_source_45 IN NUMBER
166674 --Invoice Identifier
166675 , p_source_46 IN NUMBER
166676 --Invoice Distribution Identifier
166677 , p_source_52 IN NUMBER
166678 --Payables Encumbrance Upgrade Credit Account
166679 , p_source_53 IN NUMBER
166680 --Payables Encumbrance Upgrade Credit Amount
166681 , p_source_54 IN NUMBER
166682 --Invoice Currency Code
166683 , p_source_55 IN VARCHAR2
166684 --Payables Encumbrance Upgrade Credit Base Amount
166685 , p_source_56 IN NUMBER
166686 --Payables Encumbrance Upgrade Debit Account
166687 , p_source_57 IN NUMBER
166688 --Payables Encumbrance Upgrade Debit Amount
166689 , p_source_58 IN NUMBER
166690 --Payables Encumbrance Upgrade Debit Base Amount
166691 , p_source_59 IN NUMBER
166692 --Payables Encumbrance Upgrade Option
166693 , p_source_60 IN VARCHAR2
166694 --Invoice Distribution Amount
166695 , p_source_61 IN NUMBER
166696 --Deferred Accounting End Date
166697 , p_source_65 IN DATE
166698 --Deferred Accounting Option
166699 , p_source_66 IN VARCHAR2
166700 --Deferred Accounting Start Date
166701 , p_source_67 IN DATE
166702 --Override Accounted Amount Indicator
166703 , p_source_68 IN VARCHAR2
166704 , p_source_68_meaning IN VARCHAR2
166705 --Invoice Supplier Identifier
166706 , p_source_69 IN NUMBER
166707 --Invoice Supplier Site Identifier
166708 , p_source_70 IN NUMBER
166709 --Third Party Type
166710 , p_source_71 IN VARCHAR2
166711 --Parent Reversal Identifier
166712 , p_source_72 IN NUMBER
166713 --Invoice Distribution Statistical Amount
166714 , p_source_73 IN NUMBER
166715 --Invoice Distribution Tax Line Identifier
166716 , p_source_74 IN NUMBER
166717 --Invoice Distribution Tax Distribution Identifier from Tax
166718 , p_source_75 IN NUMBER
166719 --Invoice Distribution Summary Tax Line Identifier
166720 , p_source_76 IN NUMBER
166721 --Payables Upgrade Credit Encumbrance Type Identifier
166722 , p_source_77 IN NUMBER
166723 --Payables Upgrade Debit Encumbrance Type Identifier
166724 , p_source_78 IN NUMBER
166725 --Business Flow Accounts Payable Application Identifier
166726 , p_source_79 IN NUMBER
166727 --Business Flow Invoice Distribution Type
166728 , p_source_80 IN VARCHAR2
166729 --Business Flow Invoice Entity Code
166730 , p_source_81 IN VARCHAR2
166731 --Business Flow Invoice Distribution Identifier
166732 , p_source_82 IN NUMBER
166733 --Business Flow Invoice Identifier
166734 , p_source_83 IN NUMBER
166735 --Accrue on Receipt Option
166736 , p_source_84 IN VARCHAR2
166737 , p_source_84_meaning IN VARCHAR2
166738 --Invoice Exchange Date
166739 , p_source_136 IN DATE
166740 --Invoice Exchange Rate
166741 , p_source_137 IN NUMBER
166742 --Invoice Exchange Rate Type
166746
166743 , p_source_138 IN VARCHAR2
166744 )
166745 IS
166747 l_component_type VARCHAR2(80);
166748 l_component_code VARCHAR2(30);
166749 l_component_type_code VARCHAR2(1);
166750 l_component_appl_id INTEGER;
166751 l_amb_context_code VARCHAR2(30);
166752 l_entity_code VARCHAR2(30);
166753 l_event_class_code VARCHAR2(30);
166754 l_ae_header_id NUMBER;
166755 l_event_type_code VARCHAR2(30);
166756 l_line_definition_code VARCHAR2(30);
166757 l_line_definition_owner_code VARCHAR2(1);
166758 --
166759 -- adr variables
166760 l_segment VARCHAR2(30);
166761 l_ccid NUMBER;
166762 l_adr_transaction_coa_id NUMBER;
166763 l_adr_accounting_coa_id NUMBER;
166764 l_adr_flexfield_segment_code VARCHAR2(30);
166765 l_adr_flex_value_set_id NUMBER;
166766 l_adr_value_type_code VARCHAR2(30);
166767 l_adr_value_combination_id NUMBER;
166768 l_adr_value_segment_code VARCHAR2(30);
166769
166770 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
166771 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
166772 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
166773 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
166774
166775 -- 4262811 Variables ------------------------------------------------------------------------------------------
166776 l_entered_amt_idx NUMBER;
166777 l_accted_amt_idx NUMBER;
166778 l_acc_rev_flag VARCHAR2(1);
166779 l_accrual_line_num NUMBER;
166780 l_tmp_amt NUMBER;
166781 l_acc_rev_natural_side_code VARCHAR2(1);
166782
166783 l_num_entries NUMBER;
166784 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
166785 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
166786 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
166787 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
166788 l_recog_line_1 NUMBER;
166789 l_recog_line_2 NUMBER;
166790
166791 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
166792 l_bflow_applied_to_amt NUMBER; -- 5132302
166793 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
166794
166795 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
166796
166797 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
166798 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
166799
166800 ---------------------------------------------------------------------------------------------------------------
166801
166802
166803 --
166804 -- bulk performance
166805 --
166806 l_balance_type_code VARCHAR2(1);
166807 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
166808 l_log_module VARCHAR2(240);
166809
166810 --
166811 -- Upgrade strategy
166812 --
166813 l_actual_upg_option VARCHAR2(1);
166814 l_enc_upg_option VARCHAR2(1);
166815
166816 --
166817 BEGIN
166818 --
166819 IF g_log_enabled THEN
166820 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_269';
166821 END IF;
166822 --
166823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
166824
166825 trace
166826 (p_msg => 'BEGIN of AcctLineType_269'
166827 ,p_level => C_LEVEL_PROCEDURE
166828 ,p_module => l_log_module);
166829
166830 END IF;
166831 --
166832 l_component_type := 'AMB_JLT';
166833 l_component_code := 'AP_TAX_INV_PRICE_VAR_INV';
166834 l_component_type_code := 'S';
166835 l_component_appl_id := 200;
166836 l_amb_context_code := 'DEFAULT';
166837 l_entity_code := 'AP_INVOICES';
166838 l_event_class_code := 'INVOICES';
166839 l_event_type_code := 'INVOICES_ALL';
166840 l_line_definition_owner_code := 'S';
166841 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
166842 --
166843 l_balance_type_code := 'A';
166844 l_segment := NULL;
166845 l_ccid := NULL;
166846 l_adr_transaction_coa_id := NULL;
166847 l_adr_accounting_coa_id := NULL;
166848 l_adr_flexfield_segment_code := NULL;
166849 l_adr_flex_value_set_id := NULL;
166850 l_adr_value_type_code := NULL;
166851 l_adr_value_combination_id := NULL;
166852 l_adr_value_segment_code := NULL;
166853
166854 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
166855 l_bflow_class_code := ''; -- 4219869 Business Flow
166856 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
166857 l_budgetary_control_flag := 'N';
166858
166859 l_bflow_applied_to_amt_idx := NULL; -- 5132302
166860 l_bflow_applied_to_amt := NULL; -- 5132302
166861 l_entered_amt_idx := NULL; -- 4262811
166862 l_accted_amt_idx := NULL; -- 4262811
166863 l_acc_rev_flag := NULL; -- 4262811
166864 l_accrual_line_num := NULL; -- 4262811
166865 l_tmp_amt := NULL; -- 4262811
166866 --
166867
166871 ') = 'TIPV' AND
166868 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
166869 l_balance_type_code <> 'B' THEN
166870 IF NVL(p_source_21,'
166872 NVL(p_source_84,'
166873 ') = 'Y'
166874 THEN
166875
166876 --
166877 XLA_AE_LINES_PKG.SetNewLine;
166878
166879 p_balance_type_code := l_balance_type_code;
166880 -- set the flag so later we will know whether the gain loss line needs to be created
166881
166882 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
166883 p_actual_flag :='A';
166884 END IF;
166885
166886 --
166887 -- bulk performance
166888 --
166889 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
166890 p_header_num => 0); -- 4262811
166891 --
166892 -- set accounting line options
166893 --
166894 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
166895 p_natural_side_code => 'D'
166896 , p_gain_or_loss_flag => 'N'
166897 , p_gl_transfer_mode_code => 'S'
166898 , p_acct_entry_type_code => 'A'
166899 , p_switch_side_flag => 'Y'
166900 , p_merge_duplicate_code => 'A'
166901 );
166902 --
166903 l_acc_rev_natural_side_code := 'C'; -- 4262811
166904 --
166905 --
166906 -- set accounting line type info
166907 --
166908 xla_ae_lines_pkg.SetAcctLineType
166909 (p_component_type => l_component_type
166910 ,p_event_type_code => l_event_type_code
166911 ,p_line_definition_owner_code => l_line_definition_owner_code
166912 ,p_line_definition_code => l_line_definition_code
166913 ,p_accounting_line_code => l_component_code
166914 ,p_accounting_line_type_code => l_component_type_code
166915 ,p_accounting_line_appl_id => l_component_appl_id
166916 ,p_amb_context_code => l_amb_context_code
166917 ,p_entity_code => l_entity_code
166918 ,p_event_class_code => l_event_class_code);
166919 --
166920 -- set accounting class
166921 --
166922 xla_ae_lines_pkg.SetAcctClass(
166923 p_accounting_class_code => 'TIPV'
166924 , p_ae_header_id => l_ae_header_id
166925 );
166926
166927 --
166928 -- set rounding class
166929 --
166930 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
166931 'TIPV';
166932
166933 --
166934 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
166935 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
166936 --
166937 -- bulk performance
166938 --
166939 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
166940
166941 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
166942 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
166943
166944 -- 4955764
166945 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
166946 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
166947
166948 -- 4458381 Public Sector Enh
166949
166950 --
166951 -- set accounting attributes for the line type
166952 --
166953 l_entered_amt_idx := 24;
166954 l_accted_amt_idx := 29;
166955 l_bflow_applied_to_amt_idx := 7; -- 5132302
166956 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
166957 l_rec_acct_attrs.array_char_value(1) := p_source_41;
166958 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
166959 l_rec_acct_attrs.array_num_value(2) :=
166960 xla_ae_sources_pkg.GetSystemSourceNum(
166961 p_source_code => 'XLA_EVENT_APPL_ID'
166962 , p_source_type_code => 'Y'
166963 , p_source_application_id => 602
166964 );
166965 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
166966 l_rec_acct_attrs.array_char_value(3) := p_source_43;
166967 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
166968 l_rec_acct_attrs.array_char_value(4) :=
166969 xla_ae_sources_pkg.GetSystemSourceChar(
166970 p_source_code => 'XLA_ENTITY_CODE'
166971 , p_source_type_code => 'Y'
166972 , p_source_application_id => 602
166973 );
166974 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
166975 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
166976 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
166977 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
166978 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
166979 l_rec_acct_attrs.array_num_value(7) := p_source_61;
166980 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
166981 l_rec_acct_attrs.array_num_value(8) := p_source_79;
166982 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
166983 l_rec_acct_attrs.array_char_value(9) := p_source_80;
166984 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
166985 l_rec_acct_attrs.array_char_value(10) := p_source_81;
166986 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
166990 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
166987 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
166988 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
166989 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
166991 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
166992 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
166993 l_rec_acct_attrs.array_char_value(14) := p_source_43;
166994 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
166995 l_rec_acct_attrs.array_num_value(15) := p_source_53;
166996 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
166997 l_rec_acct_attrs.array_num_value(16) := p_source_54;
166998 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
166999 l_rec_acct_attrs.array_char_value(17) := p_source_55;
167000 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
167001 l_rec_acct_attrs.array_num_value(18) := p_source_56;
167002 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
167003 l_rec_acct_attrs.array_num_value(19) := p_source_57;
167004 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
167005 l_rec_acct_attrs.array_num_value(20) := p_source_58;
167006 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
167007 l_rec_acct_attrs.array_char_value(21) := p_source_55;
167008 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
167009 l_rec_acct_attrs.array_num_value(22) := p_source_59;
167010 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
167011 l_rec_acct_attrs.array_char_value(23) := p_source_60;
167012 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
167013 l_rec_acct_attrs.array_num_value(24) := p_source_61;
167014 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
167015 l_rec_acct_attrs.array_char_value(25) := p_source_55;
167016 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
167017 l_rec_acct_attrs.array_date_value(26) := p_source_136;
167018 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
167019 l_rec_acct_attrs.array_num_value(27) := p_source_137;
167020 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
167021 l_rec_acct_attrs.array_char_value(28) := p_source_138;
167022 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
167023 l_rec_acct_attrs.array_num_value(29) := p_source_9;
167024 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
167025 l_rec_acct_attrs.array_date_value(30) := p_source_65;
167026 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
167027 l_rec_acct_attrs.array_char_value(31) := p_source_66;
167028 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
167029 l_rec_acct_attrs.array_date_value(32) := p_source_67;
167030 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
167031 l_rec_acct_attrs.array_char_value(33) := p_source_68;
167032 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
167033 l_rec_acct_attrs.array_num_value(34) := p_source_69;
167034 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
167035 l_rec_acct_attrs.array_num_value(35) := p_source_70;
167036 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
167037 l_rec_acct_attrs.array_char_value(36) := p_source_71;
167038 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
167039 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
167040 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
167041 l_rec_acct_attrs.array_char_value(38) := p_source_43;
167042 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
167043 l_rec_acct_attrs.array_num_value(39) := p_source_73;
167044 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
167045 l_rec_acct_attrs.array_num_value(40) := p_source_74;
167046 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
167047 l_rec_acct_attrs.array_num_value(41) := p_source_75;
167048 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
167049 l_rec_acct_attrs.array_num_value(42) := p_source_76;
167050 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
167051 l_rec_acct_attrs.array_num_value(43) := p_source_77;
167052 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
167053 l_rec_acct_attrs.array_num_value(44) := p_source_78;
167054
167055 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
167056 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
167057
167058 ---------------------------------------------------------------------------------------------------------------
167059 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
167060 ---------------------------------------------------------------------------------------------------------------
167061 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
167062
167063 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
167064 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
167065
167066 IF xla_accounting_cache_pkg.GetValueChar
167067 (p_source_code => 'LEDGER_CATEGORY_CODE'
167068 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
167069 AND l_bflow_method_code = 'PRIOR_ENTRY'
167073 )
167070 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
167071 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
167072 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
167074 THEN
167075 xla_ae_lines_pkg.BflowUpgEntry
167076 (p_business_method_code => l_bflow_method_code
167077 ,p_business_class_code => l_bflow_class_code
167078 ,p_balance_type => l_balance_type_code);
167079 ELSE
167080 NULL;
167081 -- No business flow processing for business flow method of NONE.
167082 END IF;
167083
167084 --
167085 -- call analytical criteria
167086 --
167087
167088 --
167089 -- call description
167090 --
167091
167092 xla_ae_lines_pkg.SetLineDescription(
167093 p_ae_header_id => l_ae_header_id
167094 ,p_description => Description_2 (
167095 p_application_id => p_application_id
167096 , p_ae_header_id => l_ae_header_id
167097 , p_source_1 => p_source_1
167098 )
167099 );
167100
167101
167102 --
167103 -- call ADRs
167104 -- Bug 4922099
167105 --
167106 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
167107 (NVL(l_actual_upg_option, 'N') = 'O') OR
167108 (NVL(l_enc_upg_option, 'N') = 'O')
167109 )
167110 THEN
167111 NULL;
167112 --
167113 --
167114
167115 l_ccid := AcctDerRule_32(
167116 p_application_id => p_application_id
167117 , p_ae_header_id => l_ae_header_id
167118 , p_source_18 => p_source_18
167119 , x_transaction_coa_id => l_adr_transaction_coa_id
167120 , x_accounting_coa_id => l_adr_accounting_coa_id
167121 , x_value_type_code => l_adr_value_type_code
167122 , p_side => 'NA'
167123 );
167124
167125 xla_ae_lines_pkg.set_ccid(
167126 p_code_combination_id => l_ccid
167127 , p_value_type_code => l_adr_value_type_code
167128 , p_transaction_coa_id => l_adr_transaction_coa_id
167129 , p_accounting_coa_id => l_adr_accounting_coa_id
167130 , p_adr_code => 'AP_INVOICE_DIST'
167131 , p_adr_type_code => 'S'
167132 , p_component_type => l_component_type
167133 , p_component_code => l_component_code
167134 , p_component_type_code => l_component_type_code
167135 , p_component_appl_id => l_component_appl_id
167136 , p_amb_context_code => l_amb_context_code
167137 , p_side => 'NA'
167138 );
167139
167140
167141 --
167142 --
167143 END IF;
167144 --
167145 -- Bug 4922099
167146 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
167147 (NVL(l_enc_upg_option, 'N') = 'O')
167148 ) AND
167149 (l_bflow_method_code = 'PRIOR_ENTRY')
167150 )
167151 THEN
167152 IF
167153 --
167154 1 = 2
167155 --
167156 THEN
167157 xla_accounting_err_pkg.build_message
167158 (p_appli_s_name => 'XLA'
167159 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
167160 ,p_token_1 => 'LINE_NUMBER'
167161 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
167162 ,p_token_2 => 'LINE_TYPE_NAME'
167163 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
167164 l_component_type
167165 ,l_component_code
167166 ,l_component_type_code
167167 ,l_component_appl_id
167168 ,l_amb_context_code
167169 ,l_entity_code
167170 ,l_event_class_code
167171 )
167172 ,p_token_3 => 'OWNER'
167173 ,p_value_3 => xla_lookups_pkg.get_meaning(
167174 p_lookup_type => 'XLA_OWNER_TYPE'
167175 ,p_lookup_code => l_component_type_code
167176 )
167177 ,p_token_4 => 'PRODUCT_NAME'
167178 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
167179 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
167180 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
167181 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
167182 ,p_ae_header_id => NULL
167183 );
167184
167185 IF (C_LEVEL_ERROR>= g_log_level) THEN
167189 ,p_module => l_log_module);
167186 trace
167187 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
167188 ,p_level => C_LEVEL_ERROR
167190 END IF;
167191 END IF;
167192 END IF;
167193 --
167194 --
167195 ------------------------------------------------------------------------------------------------
167196 -- 4219869 Business Flow
167197 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
167198 -- Prior Entry. Currently, the following code is always generated.
167199 ------------------------------------------------------------------------------------------------
167200 XLA_AE_LINES_PKG.ValidateCurrentLine;
167201
167202 ------------------------------------------------------------------------------------
167203 -- 4219869 Business Flow
167204 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
167205 ------------------------------------------------------------------------------------
167206 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
167207
167208 ----------------------------------------------------------------------------------
167209 -- 4219869 Business Flow
167210 -- Update journal entry status -- Need to generate this within IF <condition>
167211 ----------------------------------------------------------------------------------
167212 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
167213 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
167214 ,p_balance_type_code => l_balance_type_code
167215 );
167216
167217 -------------------------------------------------------------------------------------------
167218 -- 4262811 - Generate the Accrual Reversal lines
167219 -------------------------------------------------------------------------------------------
167220 BEGIN
167221 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
167222 (g_array_event(p_event_id).array_value_num('header_index'));
167223 IF l_acc_rev_flag IS NULL THEN
167224 l_acc_rev_flag := 'N';
167225 END IF;
167226 EXCEPTION
167227 WHEN OTHERS THEN
167228 l_acc_rev_flag := 'N';
167229 END;
167230 --
167231 IF (l_acc_rev_flag = 'Y') THEN
167232
167233 -- 4645092 ------------------------------------------------------------------------------
167234 -- To allow MPA report to determine if it should generate report process
167235 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
167236 ------------------------------------------------------------------------------------------
167237
167238 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
167239 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
167240 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
167241 -- call ADRs
167242 -- Bug 4922099
167243 --
167244 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
167245 (NVL(l_actual_upg_option, 'N') = 'O') OR
167246 (NVL(l_enc_upg_option, 'N') = 'O')
167247 )
167248 THEN
167249 NULL;
167250 --
167251 --
167252
167253 l_ccid := AcctDerRule_32(
167254 p_application_id => p_application_id
167255 , p_ae_header_id => l_ae_header_id
167256 , p_source_18 => p_source_18
167257 , x_transaction_coa_id => l_adr_transaction_coa_id
167258 , x_accounting_coa_id => l_adr_accounting_coa_id
167259 , x_value_type_code => l_adr_value_type_code
167260 , p_side => 'NA'
167261 );
167262
167263 xla_ae_lines_pkg.set_ccid(
167264 p_code_combination_id => l_ccid
167265 , p_value_type_code => l_adr_value_type_code
167266 , p_transaction_coa_id => l_adr_transaction_coa_id
167267 , p_accounting_coa_id => l_adr_accounting_coa_id
167268 , p_adr_code => 'AP_INVOICE_DIST'
167269 , p_adr_type_code => 'S'
167270 , p_component_type => l_component_type
167271 , p_component_code => l_component_code
167272 , p_component_type_code => l_component_type_code
167273 , p_component_appl_id => l_component_appl_id
167274 , p_amb_context_code => l_amb_context_code
167275 , p_side => 'NA'
167276 );
167277
167278
167279 --
167280 --
167281 END IF;
167282
167283 --
167284 -- Update the line information that should be overwritten
167285 --
167286 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
167287 p_header_num => 1);
167288 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
167289
167290 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
167291
167292 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
167293 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
167294 END IF;
167295
167296 --
167297 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
167298 --
167299 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
167303 -- 4262811a Switch Sign
167300 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
167301 ELSE
167302 ---------------------------------------------------------------------------------------------------
167304 ---------------------------------------------------------------------------------------------------
167305 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
167306 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
167307 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
167308 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
167309 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
167310 -- 5132302
167311 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
167312 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
167313
167314 END IF;
167315
167316 -- 4955764
167317 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
167318 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
167319
167320
167321 XLA_AE_LINES_PKG.ValidateCurrentLine;
167322 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
167323
167324 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
167325 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
167326 ,p_balance_type_code => l_balance_type_code);
167327
167328 END IF;
167329
167330 -----------------------------------------------------------------------------------------
167331 -- 4262811 Multiperiod Accounting
167332 -----------------------------------------------------------------------------------------
167333 -- No MPA option is assigned.
167334
167335
167336 END IF;
167337 END IF;
167338 --
167339
167340 --
167341 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
167342 trace
167343 (p_msg => 'END of AcctLineType_269'
167344 ,p_level => C_LEVEL_PROCEDURE
167345 ,p_module => l_log_module);
167346 END IF;
167347 --
167348 EXCEPTION
167349 WHEN xla_exceptions_pkg.application_exception THEN
167350 RAISE;
167351 WHEN OTHERS THEN
167352 xla_exceptions_pkg.raise_message
167353 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_269');
167354 END AcctLineType_269;
167355 --
167356
167357 ---------------------------------------
167358 --
167359 -- PRIVATE FUNCTION
167360 -- AcctLineType_270
167361 --
167362 ---------------------------------------
167363 PROCEDURE AcctLineType_270 (
167364 p_application_id IN NUMBER
167365 ,p_event_id IN NUMBER
167366 ,p_calculate_acctd_flag IN VARCHAR2
167367 ,p_calculate_g_l_flag IN VARCHAR2
167368 ,p_actual_flag IN OUT VARCHAR2
167369 ,p_balance_type_code OUT VARCHAR2
167370 ,p_gain_or_loss_ref OUT VARCHAR2
167371
167372 --Invoice Distribution Type
167373 , p_source_21 IN VARCHAR2
167374 , p_source_21_meaning IN VARCHAR2
167375 --Accounting Reversal Indicator
167376 , p_source_41 IN VARCHAR2
167377 --Distribution Link Type
167378 , p_source_43 IN VARCHAR2
167379 --Allocation to Main Distribution Identifier
167380 , p_source_45 IN NUMBER
167381 --Invoice Identifier
167382 , p_source_46 IN NUMBER
167383 --Invoice Distribution Identifier
167384 , p_source_52 IN NUMBER
167385 --Payables Encumbrance Upgrade Credit Account
167386 , p_source_53 IN NUMBER
167387 --Payables Encumbrance Upgrade Credit Amount
167388 , p_source_54 IN NUMBER
167389 --Invoice Currency Code
167390 , p_source_55 IN VARCHAR2
167391 --Payables Encumbrance Upgrade Credit Base Amount
167392 , p_source_56 IN NUMBER
167393 --Payables Encumbrance Upgrade Debit Account
167394 , p_source_57 IN NUMBER
167395 --Payables Encumbrance Upgrade Debit Amount
167396 , p_source_58 IN NUMBER
167397 --Payables Encumbrance Upgrade Debit Base Amount
167398 , p_source_59 IN NUMBER
167399 --Payables Encumbrance Upgrade Option
167400 , p_source_60 IN VARCHAR2
167401 --Invoice Distribution Amount
167402 , p_source_61 IN NUMBER
167403 --Deferred Accounting End Date
167404 , p_source_65 IN DATE
167405 --Deferred Accounting Option
167406 , p_source_66 IN VARCHAR2
167407 --Deferred Accounting Start Date
167408 , p_source_67 IN DATE
167409 --Override Accounted Amount Indicator
167410 , p_source_68 IN VARCHAR2
167411 , p_source_68_meaning IN VARCHAR2
167412 --Third Party Type
167413 , p_source_71 IN VARCHAR2
167414 --Parent Reversal Identifier
167415 , p_source_72 IN NUMBER
167416 --Invoice Distribution Statistical Amount
167417 , p_source_73 IN NUMBER
167418 --Invoice Distribution Tax Line Identifier
167419 , p_source_74 IN NUMBER
167420 --Invoice Distribution Tax Distribution Identifier from Tax
167421 , p_source_75 IN NUMBER
167422 --Invoice Distribution Summary Tax Line Identifier
167423 , p_source_76 IN NUMBER
167427 , p_source_78 IN NUMBER
167424 --Payables Upgrade Credit Encumbrance Type Identifier
167425 , p_source_77 IN NUMBER
167426 --Payables Upgrade Debit Encumbrance Type Identifier
167428 --Business Flow Accounts Payable Application Identifier
167429 , p_source_79 IN NUMBER
167430 --Business Flow Invoice Distribution Type
167431 , p_source_80 IN VARCHAR2
167432 --Business Flow Invoice Entity Code
167433 , p_source_81 IN VARCHAR2
167434 --Business Flow Invoice Distribution Identifier
167435 , p_source_82 IN NUMBER
167436 --Business Flow Invoice Identifier
167437 , p_source_83 IN NUMBER
167438 --Purchasing Encumbrance Option
167439 , p_source_86 IN VARCHAR2
167440 , p_source_86_meaning IN VARCHAR2
167441 --Invoice Encumbered Option
167442 , p_source_87 IN VARCHAR2
167443 , p_source_87_meaning IN VARCHAR2
167444 --Invoice Distribution Encumbrance Amount
167445 , p_source_143 IN NUMBER
167446 --Invoice Distribution Encumbrance Ledger Amount
167447 , p_source_144 IN NUMBER
167448 )
167449 IS
167450
167451 l_component_type VARCHAR2(80);
167452 l_component_code VARCHAR2(30);
167453 l_component_type_code VARCHAR2(1);
167454 l_component_appl_id INTEGER;
167455 l_amb_context_code VARCHAR2(30);
167456 l_entity_code VARCHAR2(30);
167457 l_event_class_code VARCHAR2(30);
167458 l_ae_header_id NUMBER;
167459 l_event_type_code VARCHAR2(30);
167460 l_line_definition_code VARCHAR2(30);
167461 l_line_definition_owner_code VARCHAR2(1);
167462 --
167463 -- adr variables
167464 l_segment VARCHAR2(30);
167465 l_ccid NUMBER;
167466 l_adr_transaction_coa_id NUMBER;
167467 l_adr_accounting_coa_id NUMBER;
167468 l_adr_flexfield_segment_code VARCHAR2(30);
167469 l_adr_flex_value_set_id NUMBER;
167470 l_adr_value_type_code VARCHAR2(30);
167471 l_adr_value_combination_id NUMBER;
167472 l_adr_value_segment_code VARCHAR2(30);
167473
167474 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
167475 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
167476 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
167477 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
167478
167479 -- 4262811 Variables ------------------------------------------------------------------------------------------
167480 l_entered_amt_idx NUMBER;
167481 l_accted_amt_idx NUMBER;
167482 l_acc_rev_flag VARCHAR2(1);
167483 l_accrual_line_num NUMBER;
167484 l_tmp_amt NUMBER;
167485 l_acc_rev_natural_side_code VARCHAR2(1);
167486
167487 l_num_entries NUMBER;
167488 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
167489 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
167490 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
167491 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
167492 l_recog_line_1 NUMBER;
167493 l_recog_line_2 NUMBER;
167494
167495 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
167496 l_bflow_applied_to_amt NUMBER; -- 5132302
167497 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
167498
167499 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
167500
167501 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
167502 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
167503
167504 ---------------------------------------------------------------------------------------------------------------
167505
167506
167507 --
167508 -- bulk performance
167509 --
167510 l_balance_type_code VARCHAR2(1);
167511 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
167512 l_log_module VARCHAR2(240);
167513
167514 --
167515 -- Upgrade strategy
167516 --
167517 l_actual_upg_option VARCHAR2(1);
167518 l_enc_upg_option VARCHAR2(1);
167519
167520 --
167521 BEGIN
167522 --
167523 IF g_log_enabled THEN
167524 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_270';
167525 END IF;
167526 --
167527 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
167528
167529 trace
167530 (p_msg => 'BEGIN of AcctLineType_270'
167531 ,p_level => C_LEVEL_PROCEDURE
167532 ,p_module => l_log_module);
167533
167534 END IF;
167535 --
167536 l_component_type := 'AMB_JLT';
167537 l_component_code := 'AP_TAX_INV_PRICE_VAR_INV_ENC';
167538 l_component_type_code := 'S';
167539 l_component_appl_id := 200;
167540 l_amb_context_code := 'DEFAULT';
167541 l_entity_code := 'AP_INVOICES';
167542 l_event_class_code := 'INVOICES';
167543 l_event_type_code := 'INVOICES_ALL';
167544 l_line_definition_owner_code := 'S';
167545 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
167546 --
167547 l_balance_type_code := 'E';
167548 l_segment := NULL;
167549 l_ccid := NULL;
167550 l_adr_transaction_coa_id := NULL;
167551 l_adr_accounting_coa_id := NULL;
167555 l_adr_value_combination_id := NULL;
167552 l_adr_flexfield_segment_code := NULL;
167553 l_adr_flex_value_set_id := NULL;
167554 l_adr_value_type_code := NULL;
167556 l_adr_value_segment_code := NULL;
167557
167558 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
167559 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
167560 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
167561 l_budgetary_control_flag := 'N';
167562
167563 l_bflow_applied_to_amt_idx := NULL; -- 5132302
167564 l_bflow_applied_to_amt := NULL; -- 5132302
167565 l_entered_amt_idx := NULL; -- 4262811
167566 l_accted_amt_idx := NULL; -- 4262811
167567 l_acc_rev_flag := NULL; -- 4262811
167568 l_accrual_line_num := NULL; -- 4262811
167569 l_tmp_amt := NULL; -- 4262811
167570 --
167571
167572 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
167573 l_balance_type_code <> 'B' THEN
167574 IF NVL(p_source_21,'
167575 ') = 'TIPV' AND
167576 NVL(p_source_86,'
167577 ') = 'Y' AND
167578 NVL(p_source_87,'
167579 ') = 'Y'
167580 THEN
167581
167582 --
167583 XLA_AE_LINES_PKG.SetNewLine;
167584
167585 p_balance_type_code := l_balance_type_code;
167586 -- set the flag so later we will know whether the gain loss line needs to be created
167587
167588 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
167589 p_actual_flag :='A';
167590 END IF;
167591
167592 --
167593 -- bulk performance
167594 --
167595 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
167596 p_header_num => 0); -- 4262811
167597 --
167598 -- set accounting line options
167599 --
167600 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
167601 p_natural_side_code => 'C'
167602 , p_gain_or_loss_flag => 'N'
167603 , p_gl_transfer_mode_code => 'S'
167604 , p_acct_entry_type_code => 'E'
167605 , p_switch_side_flag => 'Y'
167606 , p_merge_duplicate_code => 'A'
167607 );
167608 --
167609 l_acc_rev_natural_side_code := 'D'; -- 4262811
167610 --
167611 --
167612 -- set accounting line type info
167613 --
167614 xla_ae_lines_pkg.SetAcctLineType
167615 (p_component_type => l_component_type
167616 ,p_event_type_code => l_event_type_code
167617 ,p_line_definition_owner_code => l_line_definition_owner_code
167618 ,p_line_definition_code => l_line_definition_code
167619 ,p_accounting_line_code => l_component_code
167620 ,p_accounting_line_type_code => l_component_type_code
167621 ,p_accounting_line_appl_id => l_component_appl_id
167622 ,p_amb_context_code => l_amb_context_code
167623 ,p_entity_code => l_entity_code
167624 ,p_event_class_code => l_event_class_code);
167625 --
167626 -- set accounting class
167627 --
167628 xla_ae_lines_pkg.SetAcctClass(
167629 p_accounting_class_code => 'TIPV'
167630 , p_ae_header_id => l_ae_header_id
167631 );
167632
167633 --
167634 -- set rounding class
167635 --
167636 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
167637 'TIPV';
167638
167639 --
167640 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
167641 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
167642 --
167643 -- bulk performance
167644 --
167645 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
167646
167647 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
167648 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
167649
167650 -- 4955764
167651 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
167652 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
167653
167654 -- 4458381 Public Sector Enh
167655
167656 --
167657 -- set accounting attributes for the line type
167658 --
167659 l_entered_amt_idx := 24;
167660 l_accted_amt_idx := 26;
167661 l_bflow_applied_to_amt_idx := 7; -- 5132302
167662 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
167663 l_rec_acct_attrs.array_char_value(1) := p_source_41;
167664 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
167665 l_rec_acct_attrs.array_num_value(2) :=
167666 xla_ae_sources_pkg.GetSystemSourceNum(
167667 p_source_code => 'XLA_EVENT_APPL_ID'
167668 , p_source_type_code => 'Y'
167669 , p_source_application_id => 602
167670 );
167671 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
167672 l_rec_acct_attrs.array_char_value(3) := p_source_43;
167673 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
167674 l_rec_acct_attrs.array_char_value(4) :=
167675 xla_ae_sources_pkg.GetSystemSourceChar(
167676 p_source_code => 'XLA_ENTITY_CODE'
167677 , p_source_type_code => 'Y'
167681 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
167678 , p_source_application_id => 602
167679 );
167680 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
167682 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
167683 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
167684 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
167685 l_rec_acct_attrs.array_num_value(7) := p_source_61;
167686 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
167687 l_rec_acct_attrs.array_num_value(8) := p_source_79;
167688 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
167689 l_rec_acct_attrs.array_char_value(9) := p_source_80;
167690 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
167691 l_rec_acct_attrs.array_char_value(10) := p_source_81;
167692 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
167693 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
167694 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
167695 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
167696 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
167697 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
167698 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
167699 l_rec_acct_attrs.array_char_value(14) := p_source_43;
167700 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
167701 l_rec_acct_attrs.array_num_value(15) := p_source_53;
167702 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
167703 l_rec_acct_attrs.array_num_value(16) := p_source_54;
167704 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
167705 l_rec_acct_attrs.array_char_value(17) := p_source_55;
167706 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
167707 l_rec_acct_attrs.array_num_value(18) := p_source_56;
167708 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
167709 l_rec_acct_attrs.array_num_value(19) := p_source_57;
167710 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
167711 l_rec_acct_attrs.array_num_value(20) := p_source_58;
167712 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
167713 l_rec_acct_attrs.array_char_value(21) := p_source_55;
167714 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
167715 l_rec_acct_attrs.array_num_value(22) := p_source_59;
167716 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
167717 l_rec_acct_attrs.array_char_value(23) := p_source_60;
167718 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
167719 l_rec_acct_attrs.array_num_value(24) := p_source_143;
167720 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
167721 l_rec_acct_attrs.array_char_value(25) := p_source_55;
167722 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
167723 l_rec_acct_attrs.array_num_value(26) := p_source_144;
167724 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
167725 l_rec_acct_attrs.array_date_value(27) := p_source_65;
167726 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
167727 l_rec_acct_attrs.array_char_value(28) := p_source_66;
167728 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
167729 l_rec_acct_attrs.array_date_value(29) := p_source_67;
167730 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
167731 l_rec_acct_attrs.array_char_value(30) := p_source_68;
167732 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
167733 l_rec_acct_attrs.array_char_value(31) := p_source_71;
167734 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
167735 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
167736 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
167737 l_rec_acct_attrs.array_char_value(33) := p_source_43;
167738 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
167739 l_rec_acct_attrs.array_num_value(34) := p_source_73;
167740 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
167741 l_rec_acct_attrs.array_num_value(35) := p_source_74;
167742 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
167743 l_rec_acct_attrs.array_num_value(36) := p_source_75;
167744 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
167745 l_rec_acct_attrs.array_num_value(37) := p_source_76;
167746 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
167747 l_rec_acct_attrs.array_num_value(38) := p_source_77;
167748 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
167749 l_rec_acct_attrs.array_num_value(39) := p_source_78;
167750
167751 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
167752 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
167753
167754 ---------------------------------------------------------------------------------------------------------------
167755 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
167756 ---------------------------------------------------------------------------------------------------------------
167757 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
167758
167759 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
167760 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
167761
167765 AND l_bflow_method_code = 'PRIOR_ENTRY'
167762 IF xla_accounting_cache_pkg.GetValueChar
167763 (p_source_code => 'LEDGER_CATEGORY_CODE'
167764 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
167766 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
167767 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
167768 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
167769 )
167770 THEN
167771 xla_ae_lines_pkg.BflowUpgEntry
167772 (p_business_method_code => l_bflow_method_code
167773 ,p_business_class_code => l_bflow_class_code
167774 ,p_balance_type => l_balance_type_code);
167775 ELSE
167776 NULL;
167777 XLA_AE_LINES_PKG.business_flow_validation(
167778 p_business_method_code => l_bflow_method_code
167779 ,p_business_class_code => l_bflow_class_code
167780 ,p_inherit_description_flag => l_inherit_desc_flag);
167781 END IF;
167782
167783 --
167784 -- call analytical criteria
167785 --
167786 -- Inherited Analytical Criteria for business flow method of Prior Entry.
167787 --
167788 -- call description
167789 --
167790 -- No description or it is inherited.
167791 --
167792 -- call ADRs
167793 -- Bug 4922099
167794 --
167795 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
167796 (NVL(l_actual_upg_option, 'N') = 'O') OR
167797 (NVL(l_enc_upg_option, 'N') = 'O')
167798 )
167799 THEN
167800 NULL;
167801 --
167802 --
167803
167804 --
167805 --
167806 END IF;
167807 --
167808 -- Bug 4922099
167809 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
167810 (NVL(l_enc_upg_option, 'N') = 'O')
167811 ) AND
167812 (l_bflow_method_code = 'PRIOR_ENTRY')
167813 )
167814 THEN
167815 IF
167816 --
167817 1 = 1
167818 --
167819 THEN
167820 xla_accounting_err_pkg.build_message
167821 (p_appli_s_name => 'XLA'
167822 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
167823 ,p_token_1 => 'LINE_NUMBER'
167824 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
167825 ,p_token_2 => 'LINE_TYPE_NAME'
167826 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
167827 l_component_type
167828 ,l_component_code
167829 ,l_component_type_code
167830 ,l_component_appl_id
167831 ,l_amb_context_code
167832 ,l_entity_code
167833 ,l_event_class_code
167834 )
167835 ,p_token_3 => 'OWNER'
167836 ,p_value_3 => xla_lookups_pkg.get_meaning(
167837 p_lookup_type => 'XLA_OWNER_TYPE'
167838 ,p_lookup_code => l_component_type_code
167839 )
167840 ,p_token_4 => 'PRODUCT_NAME'
167841 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
167842 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
167843 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
167844 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
167845 ,p_ae_header_id => NULL
167846 );
167847
167848 IF (C_LEVEL_ERROR>= g_log_level) THEN
167849 trace
167850 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
167851 ,p_level => C_LEVEL_ERROR
167852 ,p_module => l_log_module);
167853 END IF;
167854 END IF;
167855 END IF;
167856 --
167857 --
167858 ------------------------------------------------------------------------------------------------
167859 -- 4219869 Business Flow
167860 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
167861 -- Prior Entry. Currently, the following code is always generated.
167862 ------------------------------------------------------------------------------------------------
167863 -- No ValidateCurrentLine for business flow method of Prior Entry
167864
167865 ------------------------------------------------------------------------------------
167866 -- 4219869 Business Flow
167870
167867 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
167868 ------------------------------------------------------------------------------------
167869 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
167871 ----------------------------------------------------------------------------------
167872 -- 4219869 Business Flow
167873 -- Update journal entry status -- Need to generate this within IF <condition>
167874 ----------------------------------------------------------------------------------
167875 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
167876 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
167877 ,p_balance_type_code => l_balance_type_code
167878 );
167879
167880 -------------------------------------------------------------------------------------------
167881 -- 4262811 - Generate the Accrual Reversal lines
167882 -------------------------------------------------------------------------------------------
167883 BEGIN
167884 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
167885 (g_array_event(p_event_id).array_value_num('header_index'));
167886 IF l_acc_rev_flag IS NULL THEN
167887 l_acc_rev_flag := 'N';
167888 END IF;
167889 EXCEPTION
167890 WHEN OTHERS THEN
167891 l_acc_rev_flag := 'N';
167892 END;
167893 --
167894 IF (l_acc_rev_flag = 'Y') THEN
167895
167896 -- 4645092 ------------------------------------------------------------------------------
167897 -- To allow MPA report to determine if it should generate report process
167898 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
167899 ------------------------------------------------------------------------------------------
167900
167901 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
167902 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
167903 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
167904 -- call ADRs
167905 -- Bug 4922099
167906 --
167907 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
167908 (NVL(l_actual_upg_option, 'N') = 'O') OR
167909 (NVL(l_enc_upg_option, 'N') = 'O')
167910 )
167911 THEN
167912 NULL;
167913 --
167914 --
167915
167916 --
167917 --
167918 END IF;
167919
167920 --
167921 -- Update the line information that should be overwritten
167922 --
167923 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
167924 p_header_num => 1);
167925 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
167926
167927 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
167928
167929 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
167930 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
167931 END IF;
167932
167933 --
167934 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
167935 --
167936 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
167937 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
167938 ELSE
167939 ---------------------------------------------------------------------------------------------------
167940 -- 4262811a Switch Sign
167941 ---------------------------------------------------------------------------------------------------
167942 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
167943 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
167944 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
167945 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
167946 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
167947 -- 5132302
167948 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
167949 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
167950
167951 END IF;
167952
167953 -- 4955764
167954 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
167955 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
167956
167957
167958 XLA_AE_LINES_PKG.ValidateCurrentLine;
167959 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
167960
167961 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
167962 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
167963 ,p_balance_type_code => l_balance_type_code);
167964
167965 END IF;
167966
167967 -----------------------------------------------------------------------------------------
167968 -- 4262811 Multiperiod Accounting
167969 -----------------------------------------------------------------------------------------
167970 -- No MPA option is assigned.
167971
167972
167973 END IF;
167974 END IF;
167975 --
167976
167977 --
167978 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
167979 trace
167983 END IF;
167980 (p_msg => 'END of AcctLineType_270'
167981 ,p_level => C_LEVEL_PROCEDURE
167982 ,p_module => l_log_module);
167984 --
167985 EXCEPTION
167986 WHEN xla_exceptions_pkg.application_exception THEN
167987 RAISE;
167988 WHEN OTHERS THEN
167989 xla_exceptions_pkg.raise_message
167990 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_270');
167991 END AcctLineType_270;
167992 --
167993
167994 ---------------------------------------
167995 --
167996 -- PRIVATE FUNCTION
167997 -- AcctLineType_271
167998 --
167999 ---------------------------------------
168000 PROCEDURE AcctLineType_271 (
168001 p_application_id IN NUMBER
168002 ,p_event_id IN NUMBER
168003 ,p_calculate_acctd_flag IN VARCHAR2
168004 ,p_calculate_g_l_flag IN VARCHAR2
168005 ,p_actual_flag IN OUT VARCHAR2
168006 ,p_balance_type_code OUT VARCHAR2
168007 ,p_gain_or_loss_ref OUT VARCHAR2
168008
168009 --Invoice Distribution Type
168010 , p_source_21 IN VARCHAR2
168011 , p_source_21_meaning IN VARCHAR2
168012 --Accounting Reversal Indicator
168013 , p_source_41 IN VARCHAR2
168014 --Distribution Link Type
168015 , p_source_43 IN VARCHAR2
168016 --Allocation to Main Distribution Identifier
168017 , p_source_45 IN NUMBER
168018 --Invoice Identifier
168019 , p_source_46 IN NUMBER
168020 --Invoice Distribution Identifier
168021 , p_source_52 IN NUMBER
168022 --Payables Encumbrance Upgrade Credit Account
168023 , p_source_53 IN NUMBER
168024 --Payables Encumbrance Upgrade Credit Amount
168025 , p_source_54 IN NUMBER
168026 --Invoice Currency Code
168027 , p_source_55 IN VARCHAR2
168028 --Payables Encumbrance Upgrade Credit Base Amount
168029 , p_source_56 IN NUMBER
168030 --Payables Encumbrance Upgrade Debit Account
168031 , p_source_57 IN NUMBER
168032 --Payables Encumbrance Upgrade Debit Amount
168033 , p_source_58 IN NUMBER
168034 --Payables Encumbrance Upgrade Debit Base Amount
168035 , p_source_59 IN NUMBER
168036 --Payables Encumbrance Upgrade Option
168037 , p_source_60 IN VARCHAR2
168038 --Deferred Accounting End Date
168039 , p_source_65 IN DATE
168040 --Deferred Accounting Option
168041 , p_source_66 IN VARCHAR2
168042 --Deferred Accounting Start Date
168043 , p_source_67 IN DATE
168044 --Override Accounted Amount Indicator
168045 , p_source_68 IN VARCHAR2
168046 , p_source_68_meaning IN VARCHAR2
168047 --Third Party Type
168048 , p_source_71 IN VARCHAR2
168049 --Parent Reversal Identifier
168050 , p_source_72 IN NUMBER
168051 --Invoice Distribution Statistical Amount
168052 , p_source_73 IN NUMBER
168053 --Invoice Distribution Tax Line Identifier
168054 , p_source_74 IN NUMBER
168055 --Invoice Distribution Tax Distribution Identifier from Tax
168056 , p_source_75 IN NUMBER
168057 --Invoice Distribution Summary Tax Line Identifier
168058 , p_source_76 IN NUMBER
168059 --Payables Upgrade Credit Encumbrance Type Identifier
168060 , p_source_77 IN NUMBER
168061 --Payables Upgrade Debit Encumbrance Type Identifier
168062 , p_source_78 IN NUMBER
168063 --Business Flow Accounts Payable Application Identifier
168064 , p_source_79 IN NUMBER
168065 --Business Flow Invoice Distribution Type
168066 , p_source_80 IN VARCHAR2
168067 --Business Flow Invoice Entity Code
168068 , p_source_81 IN VARCHAR2
168069 --Business Flow Invoice Distribution Identifier
168070 , p_source_82 IN NUMBER
168071 --Business Flow Invoice Identifier
168072 , p_source_83 IN NUMBER
168073 --Purchasing Encumbrance Option
168074 , p_source_86 IN VARCHAR2
168075 , p_source_86_meaning IN VARCHAR2
168076 --Invoice Encumbered Option
168077 , p_source_87 IN VARCHAR2
168078 , p_source_87_meaning IN VARCHAR2
168079 --Invoice Distribution Encumbrance Amount
168080 , p_source_143 IN NUMBER
168081 --Invoice Distribution Encumbrance Ledger Amount
168082 , p_source_144 IN NUMBER
168083 )
168084 IS
168085
168086 l_component_type VARCHAR2(80);
168087 l_component_code VARCHAR2(30);
168088 l_component_type_code VARCHAR2(1);
168089 l_component_appl_id INTEGER;
168090 l_amb_context_code VARCHAR2(30);
168091 l_entity_code VARCHAR2(30);
168092 l_event_class_code VARCHAR2(30);
168093 l_ae_header_id NUMBER;
168094 l_event_type_code VARCHAR2(30);
168095 l_line_definition_code VARCHAR2(30);
168096 l_line_definition_owner_code VARCHAR2(1);
168097 --
168098 -- adr variables
168099 l_segment VARCHAR2(30);
168100 l_ccid NUMBER;
168101 l_adr_transaction_coa_id NUMBER;
168102 l_adr_accounting_coa_id NUMBER;
168103 l_adr_flexfield_segment_code VARCHAR2(30);
168104 l_adr_flex_value_set_id NUMBER;
168105 l_adr_value_type_code VARCHAR2(30);
168106 l_adr_value_combination_id NUMBER;
168107 l_adr_value_segment_code VARCHAR2(30);
168108
168109 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
168110 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
168114 -- 4262811 Variables ------------------------------------------------------------------------------------------
168111 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
168112 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
168113
168115 l_entered_amt_idx NUMBER;
168116 l_accted_amt_idx NUMBER;
168117 l_acc_rev_flag VARCHAR2(1);
168118 l_accrual_line_num NUMBER;
168119 l_tmp_amt NUMBER;
168120 l_acc_rev_natural_side_code VARCHAR2(1);
168121
168122 l_num_entries NUMBER;
168123 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
168124 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
168125 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
168126 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
168127 l_recog_line_1 NUMBER;
168128 l_recog_line_2 NUMBER;
168129
168130 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
168131 l_bflow_applied_to_amt NUMBER; -- 5132302
168132 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
168133
168134 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
168135
168136 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
168137 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
168138
168139 ---------------------------------------------------------------------------------------------------------------
168140
168141
168142 --
168143 -- bulk performance
168144 --
168145 l_balance_type_code VARCHAR2(1);
168146 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
168147 l_log_module VARCHAR2(240);
168148
168149 --
168150 -- Upgrade strategy
168151 --
168152 l_actual_upg_option VARCHAR2(1);
168153 l_enc_upg_option VARCHAR2(1);
168154
168155 --
168156 BEGIN
168157 --
168158 IF g_log_enabled THEN
168159 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_271';
168160 END IF;
168161 --
168162 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168163
168164 trace
168165 (p_msg => 'BEGIN of AcctLineType_271'
168166 ,p_level => C_LEVEL_PROCEDURE
168167 ,p_module => l_log_module);
168168
168169 END IF;
168170 --
168171 l_component_type := 'AMB_JLT';
168172 l_component_code := 'AP_TAX_INV_PRICE_VAR_PP_ENC';
168173 l_component_type_code := 'S';
168174 l_component_appl_id := 200;
168175 l_amb_context_code := 'DEFAULT';
168176 l_entity_code := 'AP_INVOICES';
168177 l_event_class_code := 'PREPAYMENTS';
168178 l_event_type_code := 'PREPAYMENTS_ALL';
168179 l_line_definition_owner_code := 'S';
168180 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
168181 --
168182 l_balance_type_code := 'E';
168183 l_segment := NULL;
168184 l_ccid := NULL;
168185 l_adr_transaction_coa_id := NULL;
168186 l_adr_accounting_coa_id := NULL;
168187 l_adr_flexfield_segment_code := NULL;
168188 l_adr_flex_value_set_id := NULL;
168189 l_adr_value_type_code := NULL;
168190 l_adr_value_combination_id := NULL;
168191 l_adr_value_segment_code := NULL;
168192
168193 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
168194 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
168195 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
168196 l_budgetary_control_flag := 'N';
168197
168198 l_bflow_applied_to_amt_idx := NULL; -- 5132302
168199 l_bflow_applied_to_amt := NULL; -- 5132302
168200 l_entered_amt_idx := NULL; -- 4262811
168201 l_accted_amt_idx := NULL; -- 4262811
168202 l_acc_rev_flag := NULL; -- 4262811
168203 l_accrual_line_num := NULL; -- 4262811
168204 l_tmp_amt := NULL; -- 4262811
168205 --
168206
168207 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
168208 l_balance_type_code <> 'B' THEN
168209 IF NVL(p_source_21,'
168210 ') = 'TIPV' AND
168211 NVL(p_source_86,'
168212 ') = 'Y' AND
168213 NVL(p_source_87,'
168214 ') = 'Y'
168215 THEN
168216
168217 --
168218 XLA_AE_LINES_PKG.SetNewLine;
168219
168220 p_balance_type_code := l_balance_type_code;
168221 -- set the flag so later we will know whether the gain loss line needs to be created
168222
168223 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
168224 p_actual_flag :='A';
168225 END IF;
168226
168227 --
168228 -- bulk performance
168229 --
168230 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
168231 p_header_num => 0); -- 4262811
168232 --
168233 -- set accounting line options
168234 --
168235 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
168236 p_natural_side_code => 'C'
168237 , p_gain_or_loss_flag => 'N'
168238 , p_gl_transfer_mode_code => 'S'
168239 , p_acct_entry_type_code => 'E'
168240 , p_switch_side_flag => 'Y'
168244 l_acc_rev_natural_side_code := 'D'; -- 4262811
168241 , p_merge_duplicate_code => 'A'
168242 );
168243 --
168245 --
168246 --
168247 -- set accounting line type info
168248 --
168249 xla_ae_lines_pkg.SetAcctLineType
168250 (p_component_type => l_component_type
168251 ,p_event_type_code => l_event_type_code
168252 ,p_line_definition_owner_code => l_line_definition_owner_code
168253 ,p_line_definition_code => l_line_definition_code
168254 ,p_accounting_line_code => l_component_code
168255 ,p_accounting_line_type_code => l_component_type_code
168256 ,p_accounting_line_appl_id => l_component_appl_id
168257 ,p_amb_context_code => l_amb_context_code
168258 ,p_entity_code => l_entity_code
168259 ,p_event_class_code => l_event_class_code);
168260 --
168261 -- set accounting class
168262 --
168263 xla_ae_lines_pkg.SetAcctClass(
168264 p_accounting_class_code => 'TIPV'
168265 , p_ae_header_id => l_ae_header_id
168266 );
168267
168268 --
168269 -- set rounding class
168270 --
168271 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
168272 'TIPV';
168273
168274 --
168275 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
168276 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
168277 --
168278 -- bulk performance
168279 --
168280 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
168281
168282 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
168283 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
168284
168285 -- 4955764
168286 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
168287 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
168288
168289 -- 4458381 Public Sector Enh
168290
168291 --
168292 -- set accounting attributes for the line type
168293 --
168294 l_entered_amt_idx := 23;
168295 l_accted_amt_idx := 25;
168296 l_bflow_applied_to_amt_idx := NULL; -- 5132302
168297 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
168298 l_rec_acct_attrs.array_char_value(1) := p_source_41;
168299 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
168300 l_rec_acct_attrs.array_num_value(2) :=
168301 xla_ae_sources_pkg.GetSystemSourceNum(
168302 p_source_code => 'XLA_EVENT_APPL_ID'
168303 , p_source_type_code => 'Y'
168304 , p_source_application_id => 602
168305 );
168306 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
168307 l_rec_acct_attrs.array_char_value(3) := p_source_43;
168308 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
168309 l_rec_acct_attrs.array_char_value(4) :=
168310 xla_ae_sources_pkg.GetSystemSourceChar(
168311 p_source_code => 'XLA_ENTITY_CODE'
168312 , p_source_type_code => 'Y'
168313 , p_source_application_id => 602
168314 );
168315 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
168316 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
168317 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
168318 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
168319 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
168320 l_rec_acct_attrs.array_num_value(7) := p_source_79;
168321 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
168322 l_rec_acct_attrs.array_char_value(8) := p_source_80;
168323 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
168324 l_rec_acct_attrs.array_char_value(9) := p_source_81;
168325 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
168326 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
168327 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
168328 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
168329 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
168330 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
168331 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
168332 l_rec_acct_attrs.array_char_value(13) := p_source_43;
168333 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
168334 l_rec_acct_attrs.array_num_value(14) := p_source_53;
168335 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
168336 l_rec_acct_attrs.array_num_value(15) := p_source_54;
168337 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
168338 l_rec_acct_attrs.array_char_value(16) := p_source_55;
168339 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
168340 l_rec_acct_attrs.array_num_value(17) := p_source_56;
168341 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
168342 l_rec_acct_attrs.array_num_value(18) := p_source_57;
168343 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
168344 l_rec_acct_attrs.array_num_value(19) := p_source_58;
168345 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
168349 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
168346 l_rec_acct_attrs.array_char_value(20) := p_source_55;
168347 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
168348 l_rec_acct_attrs.array_num_value(21) := p_source_59;
168350 l_rec_acct_attrs.array_char_value(22) := p_source_60;
168351 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
168352 l_rec_acct_attrs.array_num_value(23) := p_source_143;
168353 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
168354 l_rec_acct_attrs.array_char_value(24) := p_source_55;
168355 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
168356 l_rec_acct_attrs.array_num_value(25) := p_source_144;
168357 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
168358 l_rec_acct_attrs.array_date_value(26) := p_source_65;
168359 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
168360 l_rec_acct_attrs.array_char_value(27) := p_source_66;
168361 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
168362 l_rec_acct_attrs.array_date_value(28) := p_source_67;
168363 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
168364 l_rec_acct_attrs.array_char_value(29) := p_source_68;
168365 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
168366 l_rec_acct_attrs.array_char_value(30) := p_source_71;
168367 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
168368 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
168369 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
168370 l_rec_acct_attrs.array_char_value(32) := p_source_43;
168371 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
168372 l_rec_acct_attrs.array_num_value(33) := p_source_73;
168373 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
168374 l_rec_acct_attrs.array_num_value(34) := p_source_74;
168375 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
168376 l_rec_acct_attrs.array_num_value(35) := p_source_75;
168377 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
168378 l_rec_acct_attrs.array_num_value(36) := p_source_76;
168379 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
168380 l_rec_acct_attrs.array_num_value(37) := p_source_77;
168381 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
168382 l_rec_acct_attrs.array_num_value(38) := p_source_78;
168383
168384 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
168385 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
168386
168387 ---------------------------------------------------------------------------------------------------------------
168388 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
168389 ---------------------------------------------------------------------------------------------------------------
168390 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
168391
168392 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
168393 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
168394
168395 IF xla_accounting_cache_pkg.GetValueChar
168396 (p_source_code => 'LEDGER_CATEGORY_CODE'
168397 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
168398 AND l_bflow_method_code = 'PRIOR_ENTRY'
168399 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
168400 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
168401 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
168402 )
168403 THEN
168404 xla_ae_lines_pkg.BflowUpgEntry
168405 (p_business_method_code => l_bflow_method_code
168406 ,p_business_class_code => l_bflow_class_code
168407 ,p_balance_type => l_balance_type_code);
168408 ELSE
168409 NULL;
168410 XLA_AE_LINES_PKG.business_flow_validation(
168411 p_business_method_code => l_bflow_method_code
168412 ,p_business_class_code => l_bflow_class_code
168413 ,p_inherit_description_flag => l_inherit_desc_flag);
168414 END IF;
168415
168416 --
168417 -- call analytical criteria
168418 --
168419 -- Inherited Analytical Criteria for business flow method of Prior Entry.
168420 --
168421 -- call description
168422 --
168423 -- No description or it is inherited.
168424 --
168425 -- call ADRs
168426 -- Bug 4922099
168427 --
168428 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
168429 (NVL(l_actual_upg_option, 'N') = 'O') OR
168430 (NVL(l_enc_upg_option, 'N') = 'O')
168431 )
168432 THEN
168433 NULL;
168434 --
168435 --
168436
168437 --
168438 --
168439 END IF;
168440 --
168441 -- Bug 4922099
168442 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
168443 (NVL(l_enc_upg_option, 'N') = 'O')
168444 ) AND
168445 (l_bflow_method_code = 'PRIOR_ENTRY')
168446 )
168447 THEN
168448 IF
168449 --
168450 1 = 1
168451 --
168452 THEN
168453 xla_accounting_err_pkg.build_message
168454 (p_appli_s_name => 'XLA'
168458 ,p_token_2 => 'LINE_TYPE_NAME'
168455 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
168456 ,p_token_1 => 'LINE_NUMBER'
168457 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
168459 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
168460 l_component_type
168461 ,l_component_code
168462 ,l_component_type_code
168463 ,l_component_appl_id
168464 ,l_amb_context_code
168465 ,l_entity_code
168466 ,l_event_class_code
168467 )
168468 ,p_token_3 => 'OWNER'
168469 ,p_value_3 => xla_lookups_pkg.get_meaning(
168470 p_lookup_type => 'XLA_OWNER_TYPE'
168471 ,p_lookup_code => l_component_type_code
168472 )
168473 ,p_token_4 => 'PRODUCT_NAME'
168474 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
168475 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
168476 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
168477 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
168478 ,p_ae_header_id => NULL
168479 );
168480
168481 IF (C_LEVEL_ERROR>= g_log_level) THEN
168482 trace
168483 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
168484 ,p_level => C_LEVEL_ERROR
168485 ,p_module => l_log_module);
168486 END IF;
168487 END IF;
168488 END IF;
168489 --
168490 --
168491 ------------------------------------------------------------------------------------------------
168492 -- 4219869 Business Flow
168493 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
168494 -- Prior Entry. Currently, the following code is always generated.
168495 ------------------------------------------------------------------------------------------------
168496 -- No ValidateCurrentLine for business flow method of Prior Entry
168497
168498 ------------------------------------------------------------------------------------
168499 -- 4219869 Business Flow
168500 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
168501 ------------------------------------------------------------------------------------
168502 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
168503
168504 ----------------------------------------------------------------------------------
168505 -- 4219869 Business Flow
168506 -- Update journal entry status -- Need to generate this within IF <condition>
168507 ----------------------------------------------------------------------------------
168508 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
168509 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
168510 ,p_balance_type_code => l_balance_type_code
168511 );
168512
168513 -------------------------------------------------------------------------------------------
168514 -- 4262811 - Generate the Accrual Reversal lines
168515 -------------------------------------------------------------------------------------------
168516 BEGIN
168517 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
168518 (g_array_event(p_event_id).array_value_num('header_index'));
168519 IF l_acc_rev_flag IS NULL THEN
168520 l_acc_rev_flag := 'N';
168521 END IF;
168522 EXCEPTION
168523 WHEN OTHERS THEN
168524 l_acc_rev_flag := 'N';
168525 END;
168526 --
168527 IF (l_acc_rev_flag = 'Y') THEN
168528
168529 -- 4645092 ------------------------------------------------------------------------------
168530 -- To allow MPA report to determine if it should generate report process
168531 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
168532 ------------------------------------------------------------------------------------------
168533
168534 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
168535 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
168536 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
168537 -- call ADRs
168538 -- Bug 4922099
168539 --
168540 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
168541 (NVL(l_actual_upg_option, 'N') = 'O') OR
168542 (NVL(l_enc_upg_option, 'N') = 'O')
168543 )
168544 THEN
168545 NULL;
168546 --
168550 --
168547 --
168548
168549 --
168551 END IF;
168552
168553 --
168554 -- Update the line information that should be overwritten
168555 --
168556 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
168557 p_header_num => 1);
168558 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
168559
168560 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
168561
168562 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
168563 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
168564 END IF;
168565
168566 --
168567 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
168568 --
168569 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
168570 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
168571 ELSE
168572 ---------------------------------------------------------------------------------------------------
168573 -- 4262811a Switch Sign
168574 ---------------------------------------------------------------------------------------------------
168575 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
168576 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
168577 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
168578 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
168579 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
168580 -- 5132302
168581 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
168582 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
168583
168584 END IF;
168585
168586 -- 4955764
168587 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
168588 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
168589
168590
168591 XLA_AE_LINES_PKG.ValidateCurrentLine;
168592 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
168593
168594 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
168595 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
168596 ,p_balance_type_code => l_balance_type_code);
168597
168598 END IF;
168599
168600 -----------------------------------------------------------------------------------------
168601 -- 4262811 Multiperiod Accounting
168602 -----------------------------------------------------------------------------------------
168603 -- No MPA option is assigned.
168604
168605
168606 END IF;
168607 END IF;
168608 --
168609
168610 --
168611 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168612 trace
168613 (p_msg => 'END of AcctLineType_271'
168614 ,p_level => C_LEVEL_PROCEDURE
168615 ,p_module => l_log_module);
168616 END IF;
168617 --
168618 EXCEPTION
168619 WHEN xla_exceptions_pkg.application_exception THEN
168620 RAISE;
168621 WHEN OTHERS THEN
168622 xla_exceptions_pkg.raise_message
168623 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_271');
168624 END AcctLineType_271;
168625 --
168626
168627 ---------------------------------------
168628 --
168629 -- PRIVATE FUNCTION
168630 -- AcctLineType_272
168631 --
168632 ---------------------------------------
168633 PROCEDURE AcctLineType_272 (
168634 p_application_id IN NUMBER
168635 ,p_event_id IN NUMBER
168636 ,p_calculate_acctd_flag IN VARCHAR2
168637 ,p_calculate_g_l_flag IN VARCHAR2
168638 ,p_actual_flag IN OUT VARCHAR2
168639 ,p_balance_type_code OUT VARCHAR2
168640 ,p_gain_or_loss_ref OUT VARCHAR2
168641
168642 --Invoice Distribution Description
168643 , p_source_1 IN VARCHAR2
168644 --Invoice Distribution Ledger Amount
168645 , p_source_9 IN NUMBER
168646 --Invoice Distribution Account
168647 , p_source_18 IN NUMBER
168648 --Invoice Distribution Type
168649 , p_source_21 IN VARCHAR2
168650 , p_source_21_meaning IN VARCHAR2
168651 --Accounting Reversal Indicator
168652 , p_source_41 IN VARCHAR2
168653 --Distribution Link Type
168654 , p_source_43 IN VARCHAR2
168655 --Allocation to Main Distribution Identifier
168656 , p_source_45 IN NUMBER
168657 --Invoice Identifier
168658 , p_source_46 IN NUMBER
168659 --Invoice Distribution Identifier
168660 , p_source_52 IN NUMBER
168661 --Payables Encumbrance Upgrade Credit Account
168662 , p_source_53 IN NUMBER
168663 --Payables Encumbrance Upgrade Credit Amount
168664 , p_source_54 IN NUMBER
168665 --Invoice Currency Code
168666 , p_source_55 IN VARCHAR2
168667 --Payables Encumbrance Upgrade Credit Base Amount
168668 , p_source_56 IN NUMBER
168669 --Payables Encumbrance Upgrade Debit Account
168673 --Payables Encumbrance Upgrade Debit Base Amount
168670 , p_source_57 IN NUMBER
168671 --Payables Encumbrance Upgrade Debit Amount
168672 , p_source_58 IN NUMBER
168674 , p_source_59 IN NUMBER
168675 --Payables Encumbrance Upgrade Option
168676 , p_source_60 IN VARCHAR2
168677 --Invoice Distribution Amount
168678 , p_source_61 IN NUMBER
168679 --Deferred Accounting End Date
168680 , p_source_65 IN DATE
168681 --Deferred Accounting Option
168682 , p_source_66 IN VARCHAR2
168683 --Deferred Accounting Start Date
168684 , p_source_67 IN DATE
168685 --Override Accounted Amount Indicator
168686 , p_source_68 IN VARCHAR2
168687 , p_source_68_meaning IN VARCHAR2
168688 --Invoice Supplier Identifier
168689 , p_source_69 IN NUMBER
168690 --Invoice Supplier Site Identifier
168691 , p_source_70 IN NUMBER
168692 --Third Party Type
168693 , p_source_71 IN VARCHAR2
168694 --Parent Reversal Identifier
168695 , p_source_72 IN NUMBER
168696 --Invoice Distribution Statistical Amount
168697 , p_source_73 IN NUMBER
168698 --Invoice Distribution Tax Line Identifier
168699 , p_source_74 IN NUMBER
168700 --Invoice Distribution Tax Distribution Identifier from Tax
168701 , p_source_75 IN NUMBER
168702 --Invoice Distribution Summary Tax Line Identifier
168703 , p_source_76 IN NUMBER
168704 --Payables Upgrade Credit Encumbrance Type Identifier
168705 , p_source_77 IN NUMBER
168706 --Payables Upgrade Debit Encumbrance Type Identifier
168707 , p_source_78 IN NUMBER
168708 --Business Flow Accounts Payable Application Identifier
168709 , p_source_79 IN NUMBER
168710 --Business Flow Invoice Distribution Type
168711 , p_source_80 IN VARCHAR2
168712 --Business Flow Invoice Entity Code
168713 , p_source_81 IN VARCHAR2
168714 --Business Flow Invoice Distribution Identifier
168715 , p_source_82 IN NUMBER
168716 --Business Flow Invoice Identifier
168717 , p_source_83 IN NUMBER
168718 --Accrue on Receipt Option
168719 , p_source_84 IN VARCHAR2
168720 , p_source_84_meaning IN VARCHAR2
168721 --Invoice Exchange Date
168722 , p_source_136 IN DATE
168723 --Invoice Exchange Rate
168724 , p_source_137 IN NUMBER
168725 --Invoice Exchange Rate Type
168726 , p_source_138 IN VARCHAR2
168727 )
168728 IS
168729
168730 l_component_type VARCHAR2(80);
168731 l_component_code VARCHAR2(30);
168732 l_component_type_code VARCHAR2(1);
168733 l_component_appl_id INTEGER;
168734 l_amb_context_code VARCHAR2(30);
168735 l_entity_code VARCHAR2(30);
168736 l_event_class_code VARCHAR2(30);
168737 l_ae_header_id NUMBER;
168738 l_event_type_code VARCHAR2(30);
168739 l_line_definition_code VARCHAR2(30);
168740 l_line_definition_owner_code VARCHAR2(1);
168741 --
168742 -- adr variables
168743 l_segment VARCHAR2(30);
168744 l_ccid NUMBER;
168745 l_adr_transaction_coa_id NUMBER;
168746 l_adr_accounting_coa_id NUMBER;
168747 l_adr_flexfield_segment_code VARCHAR2(30);
168748 l_adr_flex_value_set_id NUMBER;
168749 l_adr_value_type_code VARCHAR2(30);
168750 l_adr_value_combination_id NUMBER;
168751 l_adr_value_segment_code VARCHAR2(30);
168752
168753 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
168754 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
168755 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
168756 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
168757
168758 -- 4262811 Variables ------------------------------------------------------------------------------------------
168759 l_entered_amt_idx NUMBER;
168760 l_accted_amt_idx NUMBER;
168761 l_acc_rev_flag VARCHAR2(1);
168762 l_accrual_line_num NUMBER;
168763 l_tmp_amt NUMBER;
168764 l_acc_rev_natural_side_code VARCHAR2(1);
168765
168766 l_num_entries NUMBER;
168767 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
168768 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
168769 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
168770 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
168771 l_recog_line_1 NUMBER;
168772 l_recog_line_2 NUMBER;
168773
168774 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
168775 l_bflow_applied_to_amt NUMBER; -- 5132302
168776 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
168777
168778 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
168779
168780 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
168781 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
168782
168783 ---------------------------------------------------------------------------------------------------------------
168784
168785
168786 --
168787 -- bulk performance
168788 --
168789 l_balance_type_code VARCHAR2(1);
168790 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
168791 l_log_module VARCHAR2(240);
168795 --
168792
168793 --
168794 -- Upgrade strategy
168796 l_actual_upg_option VARCHAR2(1);
168797 l_enc_upg_option VARCHAR2(1);
168798
168799 --
168800 BEGIN
168801 --
168802 IF g_log_enabled THEN
168803 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_272';
168804 END IF;
168805 --
168806 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
168807
168808 trace
168809 (p_msg => 'BEGIN of AcctLineType_272'
168810 ,p_level => C_LEVEL_PROCEDURE
168811 ,p_module => l_log_module);
168812
168813 END IF;
168814 --
168815 l_component_type := 'AMB_JLT';
168816 l_component_code := 'AP_TAX_INV_PRICE_VAR_PREPAY';
168817 l_component_type_code := 'S';
168818 l_component_appl_id := 200;
168819 l_amb_context_code := 'DEFAULT';
168820 l_entity_code := 'AP_INVOICES';
168821 l_event_class_code := 'PREPAYMENTS';
168822 l_event_type_code := 'PREPAYMENTS_ALL';
168823 l_line_definition_owner_code := 'S';
168824 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
168825 --
168826 l_balance_type_code := 'A';
168827 l_segment := NULL;
168828 l_ccid := NULL;
168829 l_adr_transaction_coa_id := NULL;
168830 l_adr_accounting_coa_id := NULL;
168831 l_adr_flexfield_segment_code := NULL;
168832 l_adr_flex_value_set_id := NULL;
168833 l_adr_value_type_code := NULL;
168834 l_adr_value_combination_id := NULL;
168835 l_adr_value_segment_code := NULL;
168836
168837 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
168838 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
168839 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
168840 l_budgetary_control_flag := 'N';
168841
168842 l_bflow_applied_to_amt_idx := NULL; -- 5132302
168843 l_bflow_applied_to_amt := NULL; -- 5132302
168844 l_entered_amt_idx := NULL; -- 4262811
168845 l_accted_amt_idx := NULL; -- 4262811
168846 l_acc_rev_flag := NULL; -- 4262811
168847 l_accrual_line_num := NULL; -- 4262811
168848 l_tmp_amt := NULL; -- 4262811
168849 --
168850
168851 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
168852 l_balance_type_code <> 'B' THEN
168853 IF NVL(p_source_21,'
168854 ') = 'TIPV' AND
168855 NVL(p_source_84,'
168856 ') = 'Y'
168857 THEN
168858
168859 --
168860 XLA_AE_LINES_PKG.SetNewLine;
168861
168862 p_balance_type_code := l_balance_type_code;
168863 -- set the flag so later we will know whether the gain loss line needs to be created
168864
168865 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
168866 p_actual_flag :='A';
168867 END IF;
168868
168869 --
168870 -- bulk performance
168871 --
168872 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
168873 p_header_num => 0); -- 4262811
168874 --
168875 -- set accounting line options
168876 --
168877 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
168878 p_natural_side_code => 'D'
168879 , p_gain_or_loss_flag => 'N'
168880 , p_gl_transfer_mode_code => 'S'
168881 , p_acct_entry_type_code => 'A'
168882 , p_switch_side_flag => 'Y'
168883 , p_merge_duplicate_code => 'A'
168884 );
168885 --
168886 l_acc_rev_natural_side_code := 'C'; -- 4262811
168887 --
168888 --
168889 -- set accounting line type info
168890 --
168891 xla_ae_lines_pkg.SetAcctLineType
168892 (p_component_type => l_component_type
168893 ,p_event_type_code => l_event_type_code
168894 ,p_line_definition_owner_code => l_line_definition_owner_code
168895 ,p_line_definition_code => l_line_definition_code
168896 ,p_accounting_line_code => l_component_code
168897 ,p_accounting_line_type_code => l_component_type_code
168898 ,p_accounting_line_appl_id => l_component_appl_id
168899 ,p_amb_context_code => l_amb_context_code
168900 ,p_entity_code => l_entity_code
168901 ,p_event_class_code => l_event_class_code);
168902 --
168903 -- set accounting class
168904 --
168905 xla_ae_lines_pkg.SetAcctClass(
168906 p_accounting_class_code => 'TIPV'
168907 , p_ae_header_id => l_ae_header_id
168908 );
168909
168910 --
168911 -- set rounding class
168912 --
168913 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
168914 'TIPV';
168915
168916 --
168917 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
168918 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
168919 --
168920 -- bulk performance
168921 --
168922 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
168923
168924 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
168925 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
168926
168927 -- 4955764
168931 -- 4458381 Public Sector Enh
168928 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
168929 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
168930
168932
168933 --
168934 -- set accounting attributes for the line type
168935 --
168936 l_entered_amt_idx := 23;
168937 l_accted_amt_idx := 28;
168938 l_bflow_applied_to_amt_idx := NULL; -- 5132302
168939 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
168940 l_rec_acct_attrs.array_char_value(1) := p_source_41;
168941 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
168942 l_rec_acct_attrs.array_num_value(2) :=
168943 xla_ae_sources_pkg.GetSystemSourceNum(
168944 p_source_code => 'XLA_EVENT_APPL_ID'
168945 , p_source_type_code => 'Y'
168946 , p_source_application_id => 602
168947 );
168948 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
168949 l_rec_acct_attrs.array_char_value(3) := p_source_43;
168950 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
168951 l_rec_acct_attrs.array_char_value(4) :=
168952 xla_ae_sources_pkg.GetSystemSourceChar(
168953 p_source_code => 'XLA_ENTITY_CODE'
168954 , p_source_type_code => 'Y'
168955 , p_source_application_id => 602
168956 );
168957 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
168958 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
168959 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
168960 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
168961 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
168962 l_rec_acct_attrs.array_num_value(7) := p_source_79;
168963 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
168964 l_rec_acct_attrs.array_char_value(8) := p_source_80;
168965 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
168966 l_rec_acct_attrs.array_char_value(9) := p_source_81;
168967 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
168968 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
168969 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
168970 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
168971 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
168972 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
168973 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
168974 l_rec_acct_attrs.array_char_value(13) := p_source_43;
168975 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
168976 l_rec_acct_attrs.array_num_value(14) := p_source_53;
168977 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
168978 l_rec_acct_attrs.array_num_value(15) := p_source_54;
168979 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
168980 l_rec_acct_attrs.array_char_value(16) := p_source_55;
168981 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
168982 l_rec_acct_attrs.array_num_value(17) := p_source_56;
168983 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
168984 l_rec_acct_attrs.array_num_value(18) := p_source_57;
168985 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
168986 l_rec_acct_attrs.array_num_value(19) := p_source_58;
168987 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
168988 l_rec_acct_attrs.array_char_value(20) := p_source_55;
168989 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
168990 l_rec_acct_attrs.array_num_value(21) := p_source_59;
168991 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
168992 l_rec_acct_attrs.array_char_value(22) := p_source_60;
168993 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
168994 l_rec_acct_attrs.array_num_value(23) := p_source_61;
168995 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
168996 l_rec_acct_attrs.array_char_value(24) := p_source_55;
168997 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
168998 l_rec_acct_attrs.array_date_value(25) := p_source_136;
168999 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
169000 l_rec_acct_attrs.array_num_value(26) := p_source_137;
169001 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
169002 l_rec_acct_attrs.array_char_value(27) := p_source_138;
169003 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
169004 l_rec_acct_attrs.array_num_value(28) := p_source_9;
169005 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
169006 l_rec_acct_attrs.array_date_value(29) := p_source_65;
169007 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
169008 l_rec_acct_attrs.array_char_value(30) := p_source_66;
169009 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
169010 l_rec_acct_attrs.array_date_value(31) := p_source_67;
169011 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
169012 l_rec_acct_attrs.array_char_value(32) := p_source_68;
169013 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
169014 l_rec_acct_attrs.array_num_value(33) := p_source_69;
169015 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
169016 l_rec_acct_attrs.array_num_value(34) := p_source_70;
169017 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
169018 l_rec_acct_attrs.array_char_value(35) := p_source_71;
169019 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
169023 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
169020 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
169021 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
169022 l_rec_acct_attrs.array_char_value(37) := p_source_43;
169024 l_rec_acct_attrs.array_num_value(38) := p_source_73;
169025 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
169026 l_rec_acct_attrs.array_num_value(39) := p_source_74;
169027 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
169028 l_rec_acct_attrs.array_num_value(40) := p_source_75;
169029 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
169030 l_rec_acct_attrs.array_num_value(41) := p_source_76;
169031 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
169032 l_rec_acct_attrs.array_num_value(42) := p_source_77;
169033 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
169034 l_rec_acct_attrs.array_num_value(43) := p_source_78;
169035
169036 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
169037 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
169038
169039 ---------------------------------------------------------------------------------------------------------------
169040 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
169041 ---------------------------------------------------------------------------------------------------------------
169042 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
169043
169044 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
169045 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
169046
169047 IF xla_accounting_cache_pkg.GetValueChar
169048 (p_source_code => 'LEDGER_CATEGORY_CODE'
169049 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
169050 AND l_bflow_method_code = 'PRIOR_ENTRY'
169051 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
169052 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
169053 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
169054 )
169055 THEN
169056 xla_ae_lines_pkg.BflowUpgEntry
169057 (p_business_method_code => l_bflow_method_code
169058 ,p_business_class_code => l_bflow_class_code
169059 ,p_balance_type => l_balance_type_code);
169060 ELSE
169061 NULL;
169062 -- No business flow processing for business flow method of NONE.
169063 END IF;
169064
169065 --
169066 -- call analytical criteria
169067 --
169068
169069 --
169070 -- call description
169071 --
169072
169073 xla_ae_lines_pkg.SetLineDescription(
169074 p_ae_header_id => l_ae_header_id
169075 ,p_description => Description_2 (
169076 p_application_id => p_application_id
169077 , p_ae_header_id => l_ae_header_id
169078 , p_source_1 => p_source_1
169079 )
169080 );
169081
169082
169083 --
169084 -- call ADRs
169085 -- Bug 4922099
169086 --
169087 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
169088 (NVL(l_actual_upg_option, 'N') = 'O') OR
169089 (NVL(l_enc_upg_option, 'N') = 'O')
169090 )
169091 THEN
169092 NULL;
169093 --
169094 --
169095
169096 l_ccid := AcctDerRule_32(
169097 p_application_id => p_application_id
169098 , p_ae_header_id => l_ae_header_id
169099 , p_source_18 => p_source_18
169100 , x_transaction_coa_id => l_adr_transaction_coa_id
169101 , x_accounting_coa_id => l_adr_accounting_coa_id
169102 , x_value_type_code => l_adr_value_type_code
169103 , p_side => 'NA'
169104 );
169105
169106 xla_ae_lines_pkg.set_ccid(
169107 p_code_combination_id => l_ccid
169108 , p_value_type_code => l_adr_value_type_code
169109 , p_transaction_coa_id => l_adr_transaction_coa_id
169110 , p_accounting_coa_id => l_adr_accounting_coa_id
169111 , p_adr_code => 'AP_INVOICE_DIST'
169112 , p_adr_type_code => 'S'
169113 , p_component_type => l_component_type
169114 , p_component_code => l_component_code
169115 , p_component_type_code => l_component_type_code
169116 , p_component_appl_id => l_component_appl_id
169117 , p_amb_context_code => l_amb_context_code
169118 , p_side => 'NA'
169119 );
169120
169121
169122 --
169123 --
169124 END IF;
169125 --
169126 -- Bug 4922099
169127 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
169128 (NVL(l_enc_upg_option, 'N') = 'O')
169129 ) AND
169130 (l_bflow_method_code = 'PRIOR_ENTRY')
169131 )
169132 THEN
169133 IF
169134 --
169135 1 = 2
169136 --
169137 THEN
169138 xla_accounting_err_pkg.build_message
169139 (p_appli_s_name => 'XLA'
169140 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
169141 ,p_token_1 => 'LINE_NUMBER'
169145 l_component_type
169142 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
169143 ,p_token_2 => 'LINE_TYPE_NAME'
169144 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
169146 ,l_component_code
169147 ,l_component_type_code
169148 ,l_component_appl_id
169149 ,l_amb_context_code
169150 ,l_entity_code
169151 ,l_event_class_code
169152 )
169153 ,p_token_3 => 'OWNER'
169154 ,p_value_3 => xla_lookups_pkg.get_meaning(
169155 p_lookup_type => 'XLA_OWNER_TYPE'
169156 ,p_lookup_code => l_component_type_code
169157 )
169158 ,p_token_4 => 'PRODUCT_NAME'
169159 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
169160 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
169161 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
169162 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
169163 ,p_ae_header_id => NULL
169164 );
169165
169166 IF (C_LEVEL_ERROR>= g_log_level) THEN
169167 trace
169168 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
169169 ,p_level => C_LEVEL_ERROR
169170 ,p_module => l_log_module);
169171 END IF;
169172 END IF;
169173 END IF;
169174 --
169175 --
169176 ------------------------------------------------------------------------------------------------
169177 -- 4219869 Business Flow
169178 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
169179 -- Prior Entry. Currently, the following code is always generated.
169180 ------------------------------------------------------------------------------------------------
169181 XLA_AE_LINES_PKG.ValidateCurrentLine;
169182
169183 ------------------------------------------------------------------------------------
169184 -- 4219869 Business Flow
169185 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
169186 ------------------------------------------------------------------------------------
169187 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
169188
169189 ----------------------------------------------------------------------------------
169190 -- 4219869 Business Flow
169191 -- Update journal entry status -- Need to generate this within IF <condition>
169192 ----------------------------------------------------------------------------------
169193 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
169194 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
169195 ,p_balance_type_code => l_balance_type_code
169196 );
169197
169198 -------------------------------------------------------------------------------------------
169199 -- 4262811 - Generate the Accrual Reversal lines
169200 -------------------------------------------------------------------------------------------
169201 BEGIN
169202 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
169203 (g_array_event(p_event_id).array_value_num('header_index'));
169204 IF l_acc_rev_flag IS NULL THEN
169205 l_acc_rev_flag := 'N';
169206 END IF;
169207 EXCEPTION
169208 WHEN OTHERS THEN
169209 l_acc_rev_flag := 'N';
169210 END;
169211 --
169212 IF (l_acc_rev_flag = 'Y') THEN
169213
169214 -- 4645092 ------------------------------------------------------------------------------
169215 -- To allow MPA report to determine if it should generate report process
169216 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
169217 ------------------------------------------------------------------------------------------
169218
169219 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
169220 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
169221 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
169222 -- call ADRs
169223 -- Bug 4922099
169224 --
169225 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
169226 (NVL(l_actual_upg_option, 'N') = 'O') OR
169227 (NVL(l_enc_upg_option, 'N') = 'O')
169228 )
169229 THEN
169230 NULL;
169231 --
169232 --
169233
169234 l_ccid := AcctDerRule_32(
169238 , x_transaction_coa_id => l_adr_transaction_coa_id
169235 p_application_id => p_application_id
169236 , p_ae_header_id => l_ae_header_id
169237 , p_source_18 => p_source_18
169239 , x_accounting_coa_id => l_adr_accounting_coa_id
169240 , x_value_type_code => l_adr_value_type_code
169241 , p_side => 'NA'
169242 );
169243
169244 xla_ae_lines_pkg.set_ccid(
169245 p_code_combination_id => l_ccid
169246 , p_value_type_code => l_adr_value_type_code
169247 , p_transaction_coa_id => l_adr_transaction_coa_id
169248 , p_accounting_coa_id => l_adr_accounting_coa_id
169249 , p_adr_code => 'AP_INVOICE_DIST'
169250 , p_adr_type_code => 'S'
169251 , p_component_type => l_component_type
169252 , p_component_code => l_component_code
169253 , p_component_type_code => l_component_type_code
169254 , p_component_appl_id => l_component_appl_id
169255 , p_amb_context_code => l_amb_context_code
169256 , p_side => 'NA'
169257 );
169258
169259
169260 --
169261 --
169262 END IF;
169263
169264 --
169265 -- Update the line information that should be overwritten
169266 --
169267 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
169268 p_header_num => 1);
169269 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
169270
169271 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
169272
169273 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
169274 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
169275 END IF;
169276
169277 --
169278 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
169279 --
169280 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
169281 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
169282 ELSE
169283 ---------------------------------------------------------------------------------------------------
169284 -- 4262811a Switch Sign
169285 ---------------------------------------------------------------------------------------------------
169286 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
169287 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
169288 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
169289 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
169290 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
169291 -- 5132302
169292 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
169293 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
169294
169295 END IF;
169296
169297 -- 4955764
169298 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
169299 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
169300
169301
169302 XLA_AE_LINES_PKG.ValidateCurrentLine;
169303 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
169304
169305 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
169306 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
169307 ,p_balance_type_code => l_balance_type_code);
169308
169309 END IF;
169310
169311 -----------------------------------------------------------------------------------------
169312 -- 4262811 Multiperiod Accounting
169313 -----------------------------------------------------------------------------------------
169314 -- No MPA option is assigned.
169315
169316
169317 END IF;
169318 END IF;
169319 --
169320
169321 --
169322 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
169323 trace
169324 (p_msg => 'END of AcctLineType_272'
169325 ,p_level => C_LEVEL_PROCEDURE
169326 ,p_module => l_log_module);
169327 END IF;
169328 --
169329 EXCEPTION
169330 WHEN xla_exceptions_pkg.application_exception THEN
169331 RAISE;
169332 WHEN OTHERS THEN
169333 xla_exceptions_pkg.raise_message
169334 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_272');
169335 END AcctLineType_272;
169336 --
169337
169338 ---------------------------------------
169339 --
169340 -- PRIVATE FUNCTION
169341 -- AcctLineType_273
169342 --
169343 ---------------------------------------
169344 PROCEDURE AcctLineType_273 (
169345 p_application_id IN NUMBER
169346 ,p_event_id IN NUMBER
169347 ,p_calculate_acctd_flag IN VARCHAR2
169348 ,p_calculate_g_l_flag IN VARCHAR2
169349 ,p_actual_flag IN OUT VARCHAR2
169350 ,p_balance_type_code OUT VARCHAR2
169351 ,p_gain_or_loss_ref OUT VARCHAR2
169352
169353 --Invoice Distribution Type
169357 , p_source_41 IN VARCHAR2
169354 , p_source_21 IN VARCHAR2
169355 , p_source_21_meaning IN VARCHAR2
169356 --Accounting Reversal Indicator
169358 --Distribution Link Type
169359 , p_source_43 IN VARCHAR2
169360 --Allocation to Main Distribution Identifier
169361 , p_source_45 IN NUMBER
169362 --Invoice Identifier
169363 , p_source_46 IN NUMBER
169364 --Invoice Distribution Identifier
169365 , p_source_52 IN NUMBER
169366 --Payables Encumbrance Upgrade Credit Account
169367 , p_source_53 IN NUMBER
169368 --Payables Encumbrance Upgrade Credit Amount
169369 , p_source_54 IN NUMBER
169370 --Invoice Currency Code
169371 , p_source_55 IN VARCHAR2
169372 --Payables Encumbrance Upgrade Credit Base Amount
169373 , p_source_56 IN NUMBER
169374 --Payables Encumbrance Upgrade Debit Account
169375 , p_source_57 IN NUMBER
169376 --Payables Encumbrance Upgrade Debit Amount
169377 , p_source_58 IN NUMBER
169378 --Payables Encumbrance Upgrade Debit Base Amount
169379 , p_source_59 IN NUMBER
169380 --Payables Encumbrance Upgrade Option
169381 , p_source_60 IN VARCHAR2
169382 --Deferred Accounting End Date
169383 , p_source_65 IN DATE
169384 --Deferred Accounting Option
169385 , p_source_66 IN VARCHAR2
169386 --Deferred Accounting Start Date
169387 , p_source_67 IN DATE
169388 --Override Accounted Amount Indicator
169389 , p_source_68 IN VARCHAR2
169390 , p_source_68_meaning IN VARCHAR2
169391 --Third Party Type
169392 , p_source_71 IN VARCHAR2
169393 --Parent Reversal Identifier
169394 , p_source_72 IN NUMBER
169395 --Invoice Distribution Statistical Amount
169396 , p_source_73 IN NUMBER
169397 --Invoice Distribution Tax Line Identifier
169398 , p_source_74 IN NUMBER
169399 --Invoice Distribution Tax Distribution Identifier from Tax
169400 , p_source_75 IN NUMBER
169401 --Invoice Distribution Summary Tax Line Identifier
169402 , p_source_76 IN NUMBER
169403 --Payables Upgrade Credit Encumbrance Type Identifier
169404 , p_source_77 IN NUMBER
169405 --Payables Upgrade Debit Encumbrance Type Identifier
169406 , p_source_78 IN NUMBER
169407 --Business Flow Accounts Payable Application Identifier
169408 , p_source_79 IN NUMBER
169409 --Business Flow Invoice Distribution Type
169410 , p_source_80 IN VARCHAR2
169411 --Business Flow Invoice Entity Code
169412 , p_source_81 IN VARCHAR2
169413 --Business Flow Invoice Distribution Identifier
169414 , p_source_82 IN NUMBER
169415 --Business Flow Invoice Identifier
169416 , p_source_83 IN NUMBER
169417 --Accrue on Receipt Option
169418 , p_source_84 IN VARCHAR2
169419 , p_source_84_meaning IN VARCHAR2
169420 --Amount for Variance Amount
169421 , p_source_85 IN NUMBER
169422 --Purchasing Encumbrance Option
169423 , p_source_86 IN VARCHAR2
169424 , p_source_86_meaning IN VARCHAR2
169425 --Invoice Encumbered Option
169426 , p_source_87 IN VARCHAR2
169427 , p_source_87_meaning IN VARCHAR2
169428 --Quantity Variance Amount
169429 , p_source_161 IN NUMBER
169430 --Quantity Variance Amount in Ledger Currency
169431 , p_source_162 IN NUMBER
169432 )
169433 IS
169434
169435 l_component_type VARCHAR2(80);
169436 l_component_code VARCHAR2(30);
169437 l_component_type_code VARCHAR2(1);
169438 l_component_appl_id INTEGER;
169439 l_amb_context_code VARCHAR2(30);
169440 l_entity_code VARCHAR2(30);
169441 l_event_class_code VARCHAR2(30);
169442 l_ae_header_id NUMBER;
169443 l_event_type_code VARCHAR2(30);
169444 l_line_definition_code VARCHAR2(30);
169445 l_line_definition_owner_code VARCHAR2(1);
169446 --
169447 -- adr variables
169448 l_segment VARCHAR2(30);
169449 l_ccid NUMBER;
169450 l_adr_transaction_coa_id NUMBER;
169451 l_adr_accounting_coa_id NUMBER;
169452 l_adr_flexfield_segment_code VARCHAR2(30);
169453 l_adr_flex_value_set_id NUMBER;
169454 l_adr_value_type_code VARCHAR2(30);
169455 l_adr_value_combination_id NUMBER;
169456 l_adr_value_segment_code VARCHAR2(30);
169457
169458 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
169459 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
169460 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
169461 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
169462
169463 -- 4262811 Variables ------------------------------------------------------------------------------------------
169464 l_entered_amt_idx NUMBER;
169465 l_accted_amt_idx NUMBER;
169466 l_acc_rev_flag VARCHAR2(1);
169467 l_accrual_line_num NUMBER;
169468 l_tmp_amt NUMBER;
169469 l_acc_rev_natural_side_code VARCHAR2(1);
169470
169471 l_num_entries NUMBER;
169472 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
169473 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
169474 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
169475 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
169476 l_recog_line_1 NUMBER;
169480 l_bflow_applied_to_amt NUMBER; -- 5132302
169477 l_recog_line_2 NUMBER;
169478
169479 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
169481 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
169482
169483 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
169484
169485 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
169486 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
169487
169488 ---------------------------------------------------------------------------------------------------------------
169489
169490
169491 --
169492 -- bulk performance
169493 --
169494 l_balance_type_code VARCHAR2(1);
169495 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
169496 l_log_module VARCHAR2(240);
169497
169498 --
169499 -- Upgrade strategy
169500 --
169501 l_actual_upg_option VARCHAR2(1);
169502 l_enc_upg_option VARCHAR2(1);
169503
169504 --
169505 BEGIN
169506 --
169507 IF g_log_enabled THEN
169508 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_273';
169509 END IF;
169510 --
169511 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
169512
169513 trace
169514 (p_msg => 'BEGIN of AcctLineType_273'
169515 ,p_level => C_LEVEL_PROCEDURE
169516 ,p_module => l_log_module);
169517
169518 END IF;
169519 --
169520 l_component_type := 'AMB_JLT';
169521 l_component_code := 'AP_TAX_QTY_VARIANCE_CM_ENC';
169522 l_component_type_code := 'S';
169523 l_component_appl_id := 200;
169524 l_amb_context_code := 'DEFAULT';
169525 l_entity_code := 'AP_INVOICES';
169526 l_event_class_code := 'CREDIT MEMOS';
169527 l_event_type_code := 'CREDIT MEMOS_ALL';
169528 l_line_definition_owner_code := 'S';
169529 l_line_definition_code := 'ENC_REV_CM_ALL';
169530 --
169531 l_balance_type_code := 'E';
169532 l_segment := NULL;
169533 l_ccid := NULL;
169534 l_adr_transaction_coa_id := NULL;
169535 l_adr_accounting_coa_id := NULL;
169536 l_adr_flexfield_segment_code := NULL;
169537 l_adr_flex_value_set_id := NULL;
169538 l_adr_value_type_code := NULL;
169539 l_adr_value_combination_id := NULL;
169540 l_adr_value_segment_code := NULL;
169541
169542 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
169543 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
169544 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
169545 l_budgetary_control_flag := 'N';
169546
169547 l_bflow_applied_to_amt_idx := NULL; -- 5132302
169548 l_bflow_applied_to_amt := NULL; -- 5132302
169549 l_entered_amt_idx := NULL; -- 4262811
169550 l_accted_amt_idx := NULL; -- 4262811
169551 l_acc_rev_flag := NULL; -- 4262811
169552 l_accrual_line_num := NULL; -- 4262811
169553 l_tmp_amt := NULL; -- 4262811
169554 --
169555
169556 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
169557 l_balance_type_code <> 'B' THEN
169558 IF NVL(p_source_21,'
169559 ') = 'NONREC_TAX' AND
169560 p_source_85 IS NOT NULL AND
169561 NVL(p_source_84,'
169562 ') <> 'Y' AND
169563 NVL(p_source_86,'
169564 ') = 'Y' AND
169565 NVL(p_source_87,'
169566 ') = 'Y'
169567 THEN
169568
169569 --
169570 XLA_AE_LINES_PKG.SetNewLine;
169571
169572 p_balance_type_code := l_balance_type_code;
169573 -- set the flag so later we will know whether the gain loss line needs to be created
169574
169575 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
169576 p_actual_flag :='A';
169577 END IF;
169578
169579 --
169580 -- bulk performance
169581 --
169582 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
169583 p_header_num => 0); -- 4262811
169584 --
169585 -- set accounting line options
169586 --
169587 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
169588 p_natural_side_code => 'C'
169589 , p_gain_or_loss_flag => 'N'
169590 , p_gl_transfer_mode_code => 'S'
169591 , p_acct_entry_type_code => 'E'
169592 , p_switch_side_flag => 'Y'
169593 , p_merge_duplicate_code => 'A'
169594 );
169595 --
169596 l_acc_rev_natural_side_code := 'D'; -- 4262811
169597 --
169598 --
169599 -- set accounting line type info
169600 --
169601 xla_ae_lines_pkg.SetAcctLineType
169602 (p_component_type => l_component_type
169603 ,p_event_type_code => l_event_type_code
169604 ,p_line_definition_owner_code => l_line_definition_owner_code
169605 ,p_line_definition_code => l_line_definition_code
169606 ,p_accounting_line_code => l_component_code
169607 ,p_accounting_line_type_code => l_component_type_code
169608 ,p_accounting_line_appl_id => l_component_appl_id
169609 ,p_amb_context_code => l_amb_context_code
169610 ,p_entity_code => l_entity_code
169611 ,p_event_class_code => l_event_class_code);
169612 --
169616 p_accounting_class_code => 'TQV'
169613 -- set accounting class
169614 --
169615 xla_ae_lines_pkg.SetAcctClass(
169617 , p_ae_header_id => l_ae_header_id
169618 );
169619
169620 --
169621 -- set rounding class
169622 --
169623 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
169624 'TQV';
169625
169626 --
169627 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
169628 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
169629 --
169630 -- bulk performance
169631 --
169632 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
169633
169634 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
169635 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
169636
169637 -- 4955764
169638 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
169639 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
169640
169641 -- 4458381 Public Sector Enh
169642
169643 --
169644 -- set accounting attributes for the line type
169645 --
169646 l_entered_amt_idx := 23;
169647 l_accted_amt_idx := 25;
169648 l_bflow_applied_to_amt_idx := NULL; -- 5132302
169649 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
169650 l_rec_acct_attrs.array_char_value(1) := p_source_41;
169651 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
169652 l_rec_acct_attrs.array_num_value(2) :=
169653 xla_ae_sources_pkg.GetSystemSourceNum(
169654 p_source_code => 'XLA_EVENT_APPL_ID'
169655 , p_source_type_code => 'Y'
169656 , p_source_application_id => 602
169657 );
169658 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
169659 l_rec_acct_attrs.array_char_value(3) := p_source_43;
169660 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
169661 l_rec_acct_attrs.array_char_value(4) :=
169662 xla_ae_sources_pkg.GetSystemSourceChar(
169663 p_source_code => 'XLA_ENTITY_CODE'
169664 , p_source_type_code => 'Y'
169665 , p_source_application_id => 602
169666 );
169667 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
169668 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
169669 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
169670 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
169671 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
169672 l_rec_acct_attrs.array_num_value(7) := p_source_79;
169673 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
169674 l_rec_acct_attrs.array_char_value(8) := p_source_80;
169675 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
169676 l_rec_acct_attrs.array_char_value(9) := p_source_81;
169677 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
169678 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
169679 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
169680 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
169681 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
169682 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
169683 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
169684 l_rec_acct_attrs.array_char_value(13) := p_source_43;
169685 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
169686 l_rec_acct_attrs.array_num_value(14) := p_source_53;
169687 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
169688 l_rec_acct_attrs.array_num_value(15) := p_source_54;
169689 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
169690 l_rec_acct_attrs.array_char_value(16) := p_source_55;
169691 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
169692 l_rec_acct_attrs.array_num_value(17) := p_source_56;
169693 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
169694 l_rec_acct_attrs.array_num_value(18) := p_source_57;
169695 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
169696 l_rec_acct_attrs.array_num_value(19) := p_source_58;
169697 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
169698 l_rec_acct_attrs.array_char_value(20) := p_source_55;
169699 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
169700 l_rec_acct_attrs.array_num_value(21) := p_source_59;
169701 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
169702 l_rec_acct_attrs.array_char_value(22) := p_source_60;
169703 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
169704 l_rec_acct_attrs.array_num_value(23) := p_source_161;
169705 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
169706 l_rec_acct_attrs.array_char_value(24) := p_source_55;
169707 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
169708 l_rec_acct_attrs.array_num_value(25) := p_source_162;
169709 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
169710 l_rec_acct_attrs.array_date_value(26) := p_source_65;
169711 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
169712 l_rec_acct_attrs.array_char_value(27) := p_source_66;
169716 l_rec_acct_attrs.array_char_value(29) := p_source_68;
169713 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
169714 l_rec_acct_attrs.array_date_value(28) := p_source_67;
169715 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
169717 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
169718 l_rec_acct_attrs.array_char_value(30) := p_source_71;
169719 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
169720 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
169721 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
169722 l_rec_acct_attrs.array_char_value(32) := p_source_43;
169723 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
169724 l_rec_acct_attrs.array_num_value(33) := p_source_73;
169725 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
169726 l_rec_acct_attrs.array_num_value(34) := p_source_74;
169727 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
169728 l_rec_acct_attrs.array_num_value(35) := p_source_75;
169729 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
169730 l_rec_acct_attrs.array_num_value(36) := p_source_76;
169731 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
169732 l_rec_acct_attrs.array_num_value(37) := p_source_77;
169733 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
169734 l_rec_acct_attrs.array_num_value(38) := p_source_78;
169735
169736 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
169737 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
169738
169739 ---------------------------------------------------------------------------------------------------------------
169740 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
169741 ---------------------------------------------------------------------------------------------------------------
169742 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
169743
169744 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
169745 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
169746
169747 IF xla_accounting_cache_pkg.GetValueChar
169748 (p_source_code => 'LEDGER_CATEGORY_CODE'
169749 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
169750 AND l_bflow_method_code = 'PRIOR_ENTRY'
169751 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
169752 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
169753 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
169754 )
169755 THEN
169756 xla_ae_lines_pkg.BflowUpgEntry
169757 (p_business_method_code => l_bflow_method_code
169758 ,p_business_class_code => l_bflow_class_code
169759 ,p_balance_type => l_balance_type_code);
169760 ELSE
169761 NULL;
169762 XLA_AE_LINES_PKG.business_flow_validation(
169763 p_business_method_code => l_bflow_method_code
169764 ,p_business_class_code => l_bflow_class_code
169765 ,p_inherit_description_flag => l_inherit_desc_flag);
169766 END IF;
169767
169768 --
169769 -- call analytical criteria
169770 --
169771 -- Inherited Analytical Criteria for business flow method of Prior Entry.
169772 --
169773 -- call description
169774 --
169775 -- No description or it is inherited.
169776 --
169777 -- call ADRs
169778 -- Bug 4922099
169779 --
169780 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
169781 (NVL(l_actual_upg_option, 'N') = 'O') OR
169782 (NVL(l_enc_upg_option, 'N') = 'O')
169783 )
169784 THEN
169785 NULL;
169786 --
169787 --
169788
169789 --
169790 --
169791 END IF;
169792 --
169793 -- Bug 4922099
169794 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
169795 (NVL(l_enc_upg_option, 'N') = 'O')
169796 ) AND
169797 (l_bflow_method_code = 'PRIOR_ENTRY')
169798 )
169799 THEN
169800 IF
169801 --
169802 1 = 1
169803 --
169804 THEN
169805 xla_accounting_err_pkg.build_message
169806 (p_appli_s_name => 'XLA'
169807 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
169808 ,p_token_1 => 'LINE_NUMBER'
169809 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
169810 ,p_token_2 => 'LINE_TYPE_NAME'
169811 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
169812 l_component_type
169813 ,l_component_code
169814 ,l_component_type_code
169815 ,l_component_appl_id
169816 ,l_amb_context_code
169817 ,l_entity_code
169821 ,p_value_3 => xla_lookups_pkg.get_meaning(
169818 ,l_event_class_code
169819 )
169820 ,p_token_3 => 'OWNER'
169822 p_lookup_type => 'XLA_OWNER_TYPE'
169823 ,p_lookup_code => l_component_type_code
169824 )
169825 ,p_token_4 => 'PRODUCT_NAME'
169826 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
169827 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
169828 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
169829 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
169830 ,p_ae_header_id => NULL
169831 );
169832
169833 IF (C_LEVEL_ERROR>= g_log_level) THEN
169834 trace
169835 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
169836 ,p_level => C_LEVEL_ERROR
169837 ,p_module => l_log_module);
169838 END IF;
169839 END IF;
169840 END IF;
169841 --
169842 --
169843 ------------------------------------------------------------------------------------------------
169844 -- 4219869 Business Flow
169845 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
169846 -- Prior Entry. Currently, the following code is always generated.
169847 ------------------------------------------------------------------------------------------------
169848 -- No ValidateCurrentLine for business flow method of Prior Entry
169849
169850 ------------------------------------------------------------------------------------
169851 -- 4219869 Business Flow
169852 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
169853 ------------------------------------------------------------------------------------
169854 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
169855
169856 ----------------------------------------------------------------------------------
169857 -- 4219869 Business Flow
169858 -- Update journal entry status -- Need to generate this within IF <condition>
169859 ----------------------------------------------------------------------------------
169860 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
169861 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
169862 ,p_balance_type_code => l_balance_type_code
169863 );
169864
169865 -------------------------------------------------------------------------------------------
169866 -- 4262811 - Generate the Accrual Reversal lines
169867 -------------------------------------------------------------------------------------------
169868 BEGIN
169869 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
169870 (g_array_event(p_event_id).array_value_num('header_index'));
169871 IF l_acc_rev_flag IS NULL THEN
169872 l_acc_rev_flag := 'N';
169873 END IF;
169874 EXCEPTION
169875 WHEN OTHERS THEN
169876 l_acc_rev_flag := 'N';
169877 END;
169878 --
169879 IF (l_acc_rev_flag = 'Y') THEN
169880
169881 -- 4645092 ------------------------------------------------------------------------------
169882 -- To allow MPA report to determine if it should generate report process
169883 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
169884 ------------------------------------------------------------------------------------------
169885
169886 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
169887 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
169888 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
169889 -- call ADRs
169890 -- Bug 4922099
169891 --
169892 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
169893 (NVL(l_actual_upg_option, 'N') = 'O') OR
169894 (NVL(l_enc_upg_option, 'N') = 'O')
169895 )
169896 THEN
169897 NULL;
169898 --
169899 --
169900
169901 --
169902 --
169903 END IF;
169904
169905 --
169906 -- Update the line information that should be overwritten
169907 --
169908 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
169909 p_header_num => 1);
169910 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
169911
169912 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
169913
169914 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
169915 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
169916 END IF;
169917
169918 --
169919 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
169923 ELSE
169920 --
169921 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
169922 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
169924 ---------------------------------------------------------------------------------------------------
169925 -- 4262811a Switch Sign
169926 ---------------------------------------------------------------------------------------------------
169927 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
169928 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
169929 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
169930 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
169931 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
169932 -- 5132302
169933 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
169934 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
169935
169936 END IF;
169937
169938 -- 4955764
169939 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
169940 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
169941
169942
169943 XLA_AE_LINES_PKG.ValidateCurrentLine;
169944 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
169945
169946 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
169947 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
169948 ,p_balance_type_code => l_balance_type_code);
169949
169950 END IF;
169951
169952 -----------------------------------------------------------------------------------------
169953 -- 4262811 Multiperiod Accounting
169954 -----------------------------------------------------------------------------------------
169955 -- No MPA option is assigned.
169956
169957
169958 END IF;
169959 END IF;
169960 --
169961
169962 --
169963 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
169964 trace
169965 (p_msg => 'END of AcctLineType_273'
169966 ,p_level => C_LEVEL_PROCEDURE
169967 ,p_module => l_log_module);
169968 END IF;
169969 --
169970 EXCEPTION
169971 WHEN xla_exceptions_pkg.application_exception THEN
169972 RAISE;
169973 WHEN OTHERS THEN
169974 xla_exceptions_pkg.raise_message
169975 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_273');
169976 END AcctLineType_273;
169977 --
169978
169979 ---------------------------------------
169980 --
169981 -- PRIVATE FUNCTION
169982 -- AcctLineType_274
169983 --
169984 ---------------------------------------
169985 PROCEDURE AcctLineType_274 (
169986 p_application_id IN NUMBER
169987 ,p_event_id IN NUMBER
169988 ,p_calculate_acctd_flag IN VARCHAR2
169989 ,p_calculate_g_l_flag IN VARCHAR2
169990 ,p_actual_flag IN OUT VARCHAR2
169991 ,p_balance_type_code OUT VARCHAR2
169992 ,p_gain_or_loss_ref OUT VARCHAR2
169993
169994 --Invoice Distribution Type
169995 , p_source_21 IN VARCHAR2
169996 , p_source_21_meaning IN VARCHAR2
169997 --Accounting Reversal Indicator
169998 , p_source_41 IN VARCHAR2
169999 --Distribution Link Type
170000 , p_source_43 IN VARCHAR2
170001 --Allocation to Main Distribution Identifier
170002 , p_source_45 IN NUMBER
170003 --Invoice Identifier
170004 , p_source_46 IN NUMBER
170005 --Invoice Distribution Identifier
170006 , p_source_52 IN NUMBER
170007 --Payables Encumbrance Upgrade Credit Account
170008 , p_source_53 IN NUMBER
170009 --Payables Encumbrance Upgrade Credit Amount
170010 , p_source_54 IN NUMBER
170011 --Invoice Currency Code
170012 , p_source_55 IN VARCHAR2
170013 --Payables Encumbrance Upgrade Credit Base Amount
170014 , p_source_56 IN NUMBER
170015 --Payables Encumbrance Upgrade Debit Account
170016 , p_source_57 IN NUMBER
170017 --Payables Encumbrance Upgrade Debit Amount
170018 , p_source_58 IN NUMBER
170019 --Payables Encumbrance Upgrade Debit Base Amount
170020 , p_source_59 IN NUMBER
170021 --Payables Encumbrance Upgrade Option
170022 , p_source_60 IN VARCHAR2
170023 --Deferred Accounting End Date
170024 , p_source_65 IN DATE
170025 --Deferred Accounting Option
170026 , p_source_66 IN VARCHAR2
170027 --Deferred Accounting Start Date
170028 , p_source_67 IN DATE
170029 --Override Accounted Amount Indicator
170030 , p_source_68 IN VARCHAR2
170031 , p_source_68_meaning IN VARCHAR2
170032 --Third Party Type
170033 , p_source_71 IN VARCHAR2
170034 --Parent Reversal Identifier
170035 , p_source_72 IN NUMBER
170036 --Invoice Distribution Tax Line Identifier
170037 , p_source_74 IN NUMBER
170038 --Invoice Distribution Tax Distribution Identifier from Tax
170039 , p_source_75 IN NUMBER
170040 --Invoice Distribution Summary Tax Line Identifier
170041 , p_source_76 IN NUMBER
170045 , p_source_78 IN NUMBER
170042 --Payables Upgrade Credit Encumbrance Type Identifier
170043 , p_source_77 IN NUMBER
170044 --Payables Upgrade Debit Encumbrance Type Identifier
170046 --Business Flow Accounts Payable Application Identifier
170047 , p_source_79 IN NUMBER
170048 --Business Flow Invoice Distribution Type
170049 , p_source_80 IN VARCHAR2
170050 --Business Flow Invoice Entity Code
170051 , p_source_81 IN VARCHAR2
170052 --Business Flow Invoice Distribution Identifier
170053 , p_source_82 IN NUMBER
170054 --Business Flow Invoice Identifier
170055 , p_source_83 IN NUMBER
170056 --Accrue on Receipt Option
170057 , p_source_84 IN VARCHAR2
170058 , p_source_84_meaning IN VARCHAR2
170059 --Purchasing Encumbrance Option
170060 , p_source_86 IN VARCHAR2
170061 , p_source_86_meaning IN VARCHAR2
170062 --Invoice Encumbered Option
170063 , p_source_87 IN VARCHAR2
170064 , p_source_87_meaning IN VARCHAR2
170065 --Quantity Variance Amount
170066 , p_source_161 IN NUMBER
170067 --Quantity Variance Amount in Ledger Currency
170068 , p_source_162 IN NUMBER
170069 )
170070 IS
170071
170072 l_component_type VARCHAR2(80);
170073 l_component_code VARCHAR2(30);
170074 l_component_type_code VARCHAR2(1);
170075 l_component_appl_id INTEGER;
170076 l_amb_context_code VARCHAR2(30);
170077 l_entity_code VARCHAR2(30);
170078 l_event_class_code VARCHAR2(30);
170079 l_ae_header_id NUMBER;
170080 l_event_type_code VARCHAR2(30);
170081 l_line_definition_code VARCHAR2(30);
170082 l_line_definition_owner_code VARCHAR2(1);
170083 --
170084 -- adr variables
170085 l_segment VARCHAR2(30);
170086 l_ccid NUMBER;
170087 l_adr_transaction_coa_id NUMBER;
170088 l_adr_accounting_coa_id NUMBER;
170089 l_adr_flexfield_segment_code VARCHAR2(30);
170090 l_adr_flex_value_set_id NUMBER;
170091 l_adr_value_type_code VARCHAR2(30);
170092 l_adr_value_combination_id NUMBER;
170093 l_adr_value_segment_code VARCHAR2(30);
170094
170095 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
170096 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
170097 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
170098 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
170099
170100 -- 4262811 Variables ------------------------------------------------------------------------------------------
170101 l_entered_amt_idx NUMBER;
170102 l_accted_amt_idx NUMBER;
170103 l_acc_rev_flag VARCHAR2(1);
170104 l_accrual_line_num NUMBER;
170105 l_tmp_amt NUMBER;
170106 l_acc_rev_natural_side_code VARCHAR2(1);
170107
170108 l_num_entries NUMBER;
170109 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
170110 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
170111 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
170112 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
170113 l_recog_line_1 NUMBER;
170114 l_recog_line_2 NUMBER;
170115
170116 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
170117 l_bflow_applied_to_amt NUMBER; -- 5132302
170118 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
170119
170120 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
170121
170122 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
170123 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
170124
170125 ---------------------------------------------------------------------------------------------------------------
170126
170127
170128 --
170129 -- bulk performance
170130 --
170131 l_balance_type_code VARCHAR2(1);
170132 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
170133 l_log_module VARCHAR2(240);
170134
170135 --
170136 -- Upgrade strategy
170137 --
170138 l_actual_upg_option VARCHAR2(1);
170139 l_enc_upg_option VARCHAR2(1);
170140
170141 --
170142 BEGIN
170143 --
170144 IF g_log_enabled THEN
170145 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_274';
170146 END IF;
170147 --
170148 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170149
170150 trace
170151 (p_msg => 'BEGIN of AcctLineType_274'
170152 ,p_level => C_LEVEL_PROCEDURE
170153 ,p_module => l_log_module);
170154
170155 END IF;
170156 --
170157 l_component_type := 'AMB_JLT';
170158 l_component_code := 'AP_TAX_QTY_VARIANCE_DM_ENC';
170159 l_component_type_code := 'S';
170160 l_component_appl_id := 200;
170161 l_amb_context_code := 'DEFAULT';
170162 l_entity_code := 'AP_INVOICES';
170163 l_event_class_code := 'DEBIT MEMOS';
170164 l_event_type_code := 'DEBIT MEMOS_ALL';
170165 l_line_definition_owner_code := 'S';
170166 l_line_definition_code := 'ENC_REV_DM_ALL';
170167 --
170168 l_balance_type_code := 'E';
170169 l_segment := NULL;
170170 l_ccid := NULL;
170171 l_adr_transaction_coa_id := NULL;
170175 l_adr_value_type_code := NULL;
170172 l_adr_accounting_coa_id := NULL;
170173 l_adr_flexfield_segment_code := NULL;
170174 l_adr_flex_value_set_id := NULL;
170176 l_adr_value_combination_id := NULL;
170177 l_adr_value_segment_code := NULL;
170178
170179 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
170180 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
170181 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
170182 l_budgetary_control_flag := 'N';
170183
170184 l_bflow_applied_to_amt_idx := NULL; -- 5132302
170185 l_bflow_applied_to_amt := NULL; -- 5132302
170186 l_entered_amt_idx := NULL; -- 4262811
170187 l_accted_amt_idx := NULL; -- 4262811
170188 l_acc_rev_flag := NULL; -- 4262811
170189 l_accrual_line_num := NULL; -- 4262811
170190 l_tmp_amt := NULL; -- 4262811
170191 --
170192
170193 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
170194 l_balance_type_code <> 'B' THEN
170195 IF NVL(p_source_21,'
170196 ') = 'NONREC_TAX' AND
170197 p_source_161 IS NOT NULL AND
170198 NVL(p_source_84,'
170199 ') <> 'Y' AND
170200 NVL(p_source_86,'
170201 ') = 'Y' AND
170202 NVL(p_source_87,'
170203 ') = 'Y'
170204 THEN
170205
170206 --
170207 XLA_AE_LINES_PKG.SetNewLine;
170208
170209 p_balance_type_code := l_balance_type_code;
170210 -- set the flag so later we will know whether the gain loss line needs to be created
170211
170212 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
170213 p_actual_flag :='A';
170214 END IF;
170215
170216 --
170217 -- bulk performance
170218 --
170219 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
170220 p_header_num => 0); -- 4262811
170221 --
170222 -- set accounting line options
170223 --
170224 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
170225 p_natural_side_code => 'C'
170226 , p_gain_or_loss_flag => 'N'
170227 , p_gl_transfer_mode_code => 'S'
170228 , p_acct_entry_type_code => 'E'
170229 , p_switch_side_flag => 'Y'
170230 , p_merge_duplicate_code => 'A'
170231 );
170232 --
170233 l_acc_rev_natural_side_code := 'D'; -- 4262811
170234 --
170235 --
170236 -- set accounting line type info
170237 --
170238 xla_ae_lines_pkg.SetAcctLineType
170239 (p_component_type => l_component_type
170240 ,p_event_type_code => l_event_type_code
170241 ,p_line_definition_owner_code => l_line_definition_owner_code
170242 ,p_line_definition_code => l_line_definition_code
170243 ,p_accounting_line_code => l_component_code
170244 ,p_accounting_line_type_code => l_component_type_code
170245 ,p_accounting_line_appl_id => l_component_appl_id
170246 ,p_amb_context_code => l_amb_context_code
170247 ,p_entity_code => l_entity_code
170248 ,p_event_class_code => l_event_class_code);
170249 --
170250 -- set accounting class
170251 --
170252 xla_ae_lines_pkg.SetAcctClass(
170253 p_accounting_class_code => 'TQV'
170254 , p_ae_header_id => l_ae_header_id
170255 );
170256
170257 --
170258 -- set rounding class
170259 --
170260 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
170261 'TQV';
170262
170263 --
170264 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
170265 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
170266 --
170267 -- bulk performance
170268 --
170269 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
170270
170271 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
170272 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
170273
170274 -- 4955764
170275 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
170276 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
170277
170278 -- 4458381 Public Sector Enh
170279
170280 --
170281 -- set accounting attributes for the line type
170282 --
170283 l_entered_amt_idx := 23;
170284 l_accted_amt_idx := 25;
170285 l_bflow_applied_to_amt_idx := NULL; -- 5132302
170286 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
170287 l_rec_acct_attrs.array_char_value(1) := p_source_41;
170288 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
170289 l_rec_acct_attrs.array_num_value(2) :=
170290 xla_ae_sources_pkg.GetSystemSourceNum(
170291 p_source_code => 'XLA_EVENT_APPL_ID'
170292 , p_source_type_code => 'Y'
170293 , p_source_application_id => 602
170294 );
170295 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
170296 l_rec_acct_attrs.array_char_value(3) := p_source_43;
170297 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
170298 l_rec_acct_attrs.array_char_value(4) :=
170299 xla_ae_sources_pkg.GetSystemSourceChar(
170300 p_source_code => 'XLA_ENTITY_CODE'
170304 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
170301 , p_source_type_code => 'Y'
170302 , p_source_application_id => 602
170303 );
170305 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
170306 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
170307 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
170308 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
170309 l_rec_acct_attrs.array_num_value(7) := p_source_79;
170310 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
170311 l_rec_acct_attrs.array_char_value(8) := p_source_80;
170312 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
170313 l_rec_acct_attrs.array_char_value(9) := p_source_81;
170314 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
170315 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
170316 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
170317 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
170318 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
170319 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
170320 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
170321 l_rec_acct_attrs.array_char_value(13) := p_source_43;
170322 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
170323 l_rec_acct_attrs.array_num_value(14) := p_source_53;
170324 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
170325 l_rec_acct_attrs.array_num_value(15) := p_source_54;
170326 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
170327 l_rec_acct_attrs.array_char_value(16) := p_source_55;
170328 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
170329 l_rec_acct_attrs.array_num_value(17) := p_source_56;
170330 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
170331 l_rec_acct_attrs.array_num_value(18) := p_source_57;
170332 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
170333 l_rec_acct_attrs.array_num_value(19) := p_source_58;
170334 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
170335 l_rec_acct_attrs.array_char_value(20) := p_source_55;
170336 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
170337 l_rec_acct_attrs.array_num_value(21) := p_source_59;
170338 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
170339 l_rec_acct_attrs.array_char_value(22) := p_source_60;
170340 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
170341 l_rec_acct_attrs.array_num_value(23) := p_source_161;
170342 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
170343 l_rec_acct_attrs.array_char_value(24) := p_source_55;
170344 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
170345 l_rec_acct_attrs.array_num_value(25) := p_source_162;
170346 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
170347 l_rec_acct_attrs.array_date_value(26) := p_source_65;
170348 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
170349 l_rec_acct_attrs.array_char_value(27) := p_source_66;
170350 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
170351 l_rec_acct_attrs.array_date_value(28) := p_source_67;
170352 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
170353 l_rec_acct_attrs.array_char_value(29) := p_source_68;
170354 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
170355 l_rec_acct_attrs.array_char_value(30) := p_source_71;
170356 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
170357 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
170358 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
170359 l_rec_acct_attrs.array_char_value(32) := p_source_43;
170360 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
170361 l_rec_acct_attrs.array_num_value(33) := p_source_74;
170362 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
170363 l_rec_acct_attrs.array_num_value(34) := p_source_75;
170364 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
170365 l_rec_acct_attrs.array_num_value(35) := p_source_76;
170366 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
170367 l_rec_acct_attrs.array_num_value(36) := p_source_77;
170368 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
170369 l_rec_acct_attrs.array_num_value(37) := p_source_78;
170370
170371 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
170372 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
170373
170374 ---------------------------------------------------------------------------------------------------------------
170375 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
170376 ---------------------------------------------------------------------------------------------------------------
170377 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
170378
170379 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
170380 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
170381
170382 IF xla_accounting_cache_pkg.GetValueChar
170383 (p_source_code => 'LEDGER_CATEGORY_CODE'
170387 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
170384 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
170385 AND l_bflow_method_code = 'PRIOR_ENTRY'
170386 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
170388 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
170389 )
170390 THEN
170391 xla_ae_lines_pkg.BflowUpgEntry
170392 (p_business_method_code => l_bflow_method_code
170393 ,p_business_class_code => l_bflow_class_code
170394 ,p_balance_type => l_balance_type_code);
170395 ELSE
170396 NULL;
170397 XLA_AE_LINES_PKG.business_flow_validation(
170398 p_business_method_code => l_bflow_method_code
170399 ,p_business_class_code => l_bflow_class_code
170400 ,p_inherit_description_flag => l_inherit_desc_flag);
170401 END IF;
170402
170403 --
170404 -- call analytical criteria
170405 --
170406 -- Inherited Analytical Criteria for business flow method of Prior Entry.
170407 --
170408 -- call description
170409 --
170410 -- No description or it is inherited.
170411 --
170412 -- call ADRs
170413 -- Bug 4922099
170414 --
170415 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
170416 (NVL(l_actual_upg_option, 'N') = 'O') OR
170417 (NVL(l_enc_upg_option, 'N') = 'O')
170418 )
170419 THEN
170420 NULL;
170421 --
170422 --
170423
170424 --
170425 --
170426 END IF;
170427 --
170428 -- Bug 4922099
170429 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
170430 (NVL(l_enc_upg_option, 'N') = 'O')
170431 ) AND
170432 (l_bflow_method_code = 'PRIOR_ENTRY')
170433 )
170434 THEN
170435 IF
170436 --
170437 1 = 1
170438 --
170439 THEN
170440 xla_accounting_err_pkg.build_message
170441 (p_appli_s_name => 'XLA'
170442 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
170443 ,p_token_1 => 'LINE_NUMBER'
170444 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
170445 ,p_token_2 => 'LINE_TYPE_NAME'
170446 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
170447 l_component_type
170448 ,l_component_code
170449 ,l_component_type_code
170450 ,l_component_appl_id
170451 ,l_amb_context_code
170452 ,l_entity_code
170453 ,l_event_class_code
170454 )
170455 ,p_token_3 => 'OWNER'
170456 ,p_value_3 => xla_lookups_pkg.get_meaning(
170457 p_lookup_type => 'XLA_OWNER_TYPE'
170458 ,p_lookup_code => l_component_type_code
170459 )
170460 ,p_token_4 => 'PRODUCT_NAME'
170461 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
170462 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
170463 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
170464 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
170465 ,p_ae_header_id => NULL
170466 );
170467
170468 IF (C_LEVEL_ERROR>= g_log_level) THEN
170469 trace
170470 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
170471 ,p_level => C_LEVEL_ERROR
170472 ,p_module => l_log_module);
170473 END IF;
170474 END IF;
170475 END IF;
170476 --
170477 --
170478 ------------------------------------------------------------------------------------------------
170479 -- 4219869 Business Flow
170480 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
170481 -- Prior Entry. Currently, the following code is always generated.
170482 ------------------------------------------------------------------------------------------------
170483 -- No ValidateCurrentLine for business flow method of Prior Entry
170484
170485 ------------------------------------------------------------------------------------
170486 -- 4219869 Business Flow
170487 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
170488 ------------------------------------------------------------------------------------
170492 -- 4219869 Business Flow
170489 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
170490
170491 ----------------------------------------------------------------------------------
170493 -- Update journal entry status -- Need to generate this within IF <condition>
170494 ----------------------------------------------------------------------------------
170495 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
170496 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
170497 ,p_balance_type_code => l_balance_type_code
170498 );
170499
170500 -------------------------------------------------------------------------------------------
170501 -- 4262811 - Generate the Accrual Reversal lines
170502 -------------------------------------------------------------------------------------------
170503 BEGIN
170504 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
170505 (g_array_event(p_event_id).array_value_num('header_index'));
170506 IF l_acc_rev_flag IS NULL THEN
170507 l_acc_rev_flag := 'N';
170508 END IF;
170509 EXCEPTION
170510 WHEN OTHERS THEN
170511 l_acc_rev_flag := 'N';
170512 END;
170513 --
170514 IF (l_acc_rev_flag = 'Y') THEN
170515
170516 -- 4645092 ------------------------------------------------------------------------------
170517 -- To allow MPA report to determine if it should generate report process
170518 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
170519 ------------------------------------------------------------------------------------------
170520
170521 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
170522 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
170523 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
170524 -- call ADRs
170525 -- Bug 4922099
170526 --
170527 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
170528 (NVL(l_actual_upg_option, 'N') = 'O') OR
170529 (NVL(l_enc_upg_option, 'N') = 'O')
170530 )
170531 THEN
170532 NULL;
170533 --
170534 --
170535
170536 --
170537 --
170538 END IF;
170539
170540 --
170541 -- Update the line information that should be overwritten
170542 --
170543 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
170544 p_header_num => 1);
170545 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
170546
170547 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
170548
170549 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
170550 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
170551 END IF;
170552
170553 --
170554 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
170555 --
170556 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
170557 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
170558 ELSE
170559 ---------------------------------------------------------------------------------------------------
170560 -- 4262811a Switch Sign
170561 ---------------------------------------------------------------------------------------------------
170562 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
170563 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
170564 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
170565 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
170566 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
170567 -- 5132302
170568 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
170569 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
170570
170571 END IF;
170572
170573 -- 4955764
170574 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
170575 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
170576
170577
170578 XLA_AE_LINES_PKG.ValidateCurrentLine;
170579 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
170580
170581 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
170582 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
170583 ,p_balance_type_code => l_balance_type_code);
170584
170585 END IF;
170586
170587 -----------------------------------------------------------------------------------------
170588 -- 4262811 Multiperiod Accounting
170589 -----------------------------------------------------------------------------------------
170590 -- No MPA option is assigned.
170591
170592
170593 END IF;
170594 END IF;
170595 --
170596
170597 --
170598 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170599 trace
170600 (p_msg => 'END of AcctLineType_274'
170604 --
170601 ,p_level => C_LEVEL_PROCEDURE
170602 ,p_module => l_log_module);
170603 END IF;
170605 EXCEPTION
170606 WHEN xla_exceptions_pkg.application_exception THEN
170607 RAISE;
170608 WHEN OTHERS THEN
170609 xla_exceptions_pkg.raise_message
170610 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_274');
170611 END AcctLineType_274;
170612 --
170613
170614 ---------------------------------------
170615 --
170616 -- PRIVATE FUNCTION
170617 -- AcctLineType_275
170618 --
170619 ---------------------------------------
170620 PROCEDURE AcctLineType_275 (
170621 p_application_id IN NUMBER
170622 ,p_event_id IN NUMBER
170623 ,p_calculate_acctd_flag IN VARCHAR2
170624 ,p_calculate_g_l_flag IN VARCHAR2
170625 ,p_actual_flag IN OUT VARCHAR2
170626 ,p_balance_type_code OUT VARCHAR2
170627 ,p_gain_or_loss_ref OUT VARCHAR2
170628
170629 --Invoice Distribution Type
170630 , p_source_21 IN VARCHAR2
170631 , p_source_21_meaning IN VARCHAR2
170632 --Accounting Reversal Indicator
170633 , p_source_41 IN VARCHAR2
170634 --Distribution Link Type
170635 , p_source_43 IN VARCHAR2
170636 --Allocation to Main Distribution Identifier
170637 , p_source_45 IN NUMBER
170638 --Invoice Identifier
170639 , p_source_46 IN NUMBER
170640 --Invoice Distribution Identifier
170641 , p_source_52 IN NUMBER
170642 --Payables Encumbrance Upgrade Credit Account
170643 , p_source_53 IN NUMBER
170644 --Payables Encumbrance Upgrade Credit Amount
170645 , p_source_54 IN NUMBER
170646 --Invoice Currency Code
170647 , p_source_55 IN VARCHAR2
170648 --Payables Encumbrance Upgrade Credit Base Amount
170649 , p_source_56 IN NUMBER
170650 --Payables Encumbrance Upgrade Debit Account
170651 , p_source_57 IN NUMBER
170652 --Payables Encumbrance Upgrade Debit Amount
170653 , p_source_58 IN NUMBER
170654 --Payables Encumbrance Upgrade Debit Base Amount
170655 , p_source_59 IN NUMBER
170656 --Payables Encumbrance Upgrade Option
170657 , p_source_60 IN VARCHAR2
170658 --Invoice Distribution Amount
170659 , p_source_61 IN NUMBER
170660 --Deferred Accounting End Date
170661 , p_source_65 IN DATE
170662 --Deferred Accounting Option
170663 , p_source_66 IN VARCHAR2
170664 --Deferred Accounting Start Date
170665 , p_source_67 IN DATE
170666 --Override Accounted Amount Indicator
170667 , p_source_68 IN VARCHAR2
170668 , p_source_68_meaning IN VARCHAR2
170669 --Third Party Type
170670 , p_source_71 IN VARCHAR2
170671 --Parent Reversal Identifier
170672 , p_source_72 IN NUMBER
170673 --Invoice Distribution Statistical Amount
170674 , p_source_73 IN NUMBER
170675 --Invoice Distribution Tax Line Identifier
170676 , p_source_74 IN NUMBER
170677 --Invoice Distribution Tax Distribution Identifier from Tax
170678 , p_source_75 IN NUMBER
170679 --Invoice Distribution Summary Tax Line Identifier
170680 , p_source_76 IN NUMBER
170681 --Payables Upgrade Credit Encumbrance Type Identifier
170682 , p_source_77 IN NUMBER
170683 --Payables Upgrade Debit Encumbrance Type Identifier
170684 , p_source_78 IN NUMBER
170685 --Business Flow Accounts Payable Application Identifier
170686 , p_source_79 IN NUMBER
170687 --Business Flow Invoice Distribution Type
170688 , p_source_80 IN VARCHAR2
170689 --Business Flow Invoice Entity Code
170690 , p_source_81 IN VARCHAR2
170691 --Business Flow Invoice Distribution Identifier
170692 , p_source_82 IN NUMBER
170693 --Business Flow Invoice Identifier
170694 , p_source_83 IN NUMBER
170695 --Accrue on Receipt Option
170696 , p_source_84 IN VARCHAR2
170697 , p_source_84_meaning IN VARCHAR2
170698 --Purchasing Encumbrance Option
170699 , p_source_86 IN VARCHAR2
170700 , p_source_86_meaning IN VARCHAR2
170701 --Invoice Encumbered Option
170702 , p_source_87 IN VARCHAR2
170703 , p_source_87_meaning IN VARCHAR2
170704 --Quantity Variance Amount
170705 , p_source_161 IN NUMBER
170706 --Quantity Variance Amount in Ledger Currency
170707 , p_source_162 IN NUMBER
170708 )
170709 IS
170710
170711 l_component_type VARCHAR2(80);
170712 l_component_code VARCHAR2(30);
170713 l_component_type_code VARCHAR2(1);
170714 l_component_appl_id INTEGER;
170715 l_amb_context_code VARCHAR2(30);
170716 l_entity_code VARCHAR2(30);
170717 l_event_class_code VARCHAR2(30);
170718 l_ae_header_id NUMBER;
170719 l_event_type_code VARCHAR2(30);
170720 l_line_definition_code VARCHAR2(30);
170721 l_line_definition_owner_code VARCHAR2(1);
170722 --
170723 -- adr variables
170724 l_segment VARCHAR2(30);
170725 l_ccid NUMBER;
170726 l_adr_transaction_coa_id NUMBER;
170727 l_adr_accounting_coa_id NUMBER;
170728 l_adr_flexfield_segment_code VARCHAR2(30);
170729 l_adr_flex_value_set_id NUMBER;
170730 l_adr_value_type_code VARCHAR2(30);
170731 l_adr_value_combination_id NUMBER;
170732 l_adr_value_segment_code VARCHAR2(30);
170733
170737 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
170734 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
170735 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
170736 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
170738
170739 -- 4262811 Variables ------------------------------------------------------------------------------------------
170740 l_entered_amt_idx NUMBER;
170741 l_accted_amt_idx NUMBER;
170742 l_acc_rev_flag VARCHAR2(1);
170743 l_accrual_line_num NUMBER;
170744 l_tmp_amt NUMBER;
170745 l_acc_rev_natural_side_code VARCHAR2(1);
170746
170747 l_num_entries NUMBER;
170748 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
170749 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
170750 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
170751 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
170752 l_recog_line_1 NUMBER;
170753 l_recog_line_2 NUMBER;
170754
170755 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
170756 l_bflow_applied_to_amt NUMBER; -- 5132302
170757 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
170758
170759 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
170760
170761 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
170762 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
170763
170764 ---------------------------------------------------------------------------------------------------------------
170765
170766
170767 --
170768 -- bulk performance
170769 --
170770 l_balance_type_code VARCHAR2(1);
170771 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
170772 l_log_module VARCHAR2(240);
170773
170774 --
170775 -- Upgrade strategy
170776 --
170777 l_actual_upg_option VARCHAR2(1);
170778 l_enc_upg_option VARCHAR2(1);
170779
170780 --
170781 BEGIN
170782 --
170783 IF g_log_enabled THEN
170784 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_275';
170785 END IF;
170786 --
170787 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
170788
170789 trace
170790 (p_msg => 'BEGIN of AcctLineType_275'
170791 ,p_level => C_LEVEL_PROCEDURE
170792 ,p_module => l_log_module);
170793
170794 END IF;
170795 --
170796 l_component_type := 'AMB_JLT';
170797 l_component_code := 'AP_TAX_QTY_VARIANCE_INV_ENC';
170798 l_component_type_code := 'S';
170799 l_component_appl_id := 200;
170800 l_amb_context_code := 'DEFAULT';
170801 l_entity_code := 'AP_INVOICES';
170802 l_event_class_code := 'INVOICES';
170803 l_event_type_code := 'INVOICES_ALL';
170804 l_line_definition_owner_code := 'S';
170805 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
170806 --
170807 l_balance_type_code := 'E';
170808 l_segment := NULL;
170809 l_ccid := NULL;
170810 l_adr_transaction_coa_id := NULL;
170811 l_adr_accounting_coa_id := NULL;
170812 l_adr_flexfield_segment_code := NULL;
170813 l_adr_flex_value_set_id := NULL;
170814 l_adr_value_type_code := NULL;
170815 l_adr_value_combination_id := NULL;
170816 l_adr_value_segment_code := NULL;
170817
170818 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
170819 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
170820 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
170821 l_budgetary_control_flag := 'N';
170822
170823 l_bflow_applied_to_amt_idx := NULL; -- 5132302
170824 l_bflow_applied_to_amt := NULL; -- 5132302
170825 l_entered_amt_idx := NULL; -- 4262811
170826 l_accted_amt_idx := NULL; -- 4262811
170827 l_acc_rev_flag := NULL; -- 4262811
170828 l_accrual_line_num := NULL; -- 4262811
170829 l_tmp_amt := NULL; -- 4262811
170830 --
170831
170832 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
170833 l_balance_type_code <> 'B' THEN
170834 IF NVL(p_source_21,'
170835 ') = 'NONREC_TAX' AND
170836 p_source_161 IS NOT NULL AND
170837 NVL(p_source_84,'
170838 ') <> 'Y' AND
170839 NVL(p_source_86,'
170840 ') = 'Y' AND
170841 NVL(p_source_87,'
170842 ') = 'Y'
170843 THEN
170844
170845 --
170846 XLA_AE_LINES_PKG.SetNewLine;
170847
170848 p_balance_type_code := l_balance_type_code;
170849 -- set the flag so later we will know whether the gain loss line needs to be created
170850
170851 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
170852 p_actual_flag :='A';
170853 END IF;
170854
170855 --
170856 -- bulk performance
170857 --
170858 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
170859 p_header_num => 0); -- 4262811
170860 --
170861 -- set accounting line options
170862 --
170863 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
170864 p_natural_side_code => 'C'
170865 , p_gain_or_loss_flag => 'N'
170869 , p_merge_duplicate_code => 'A'
170866 , p_gl_transfer_mode_code => 'S'
170867 , p_acct_entry_type_code => 'E'
170868 , p_switch_side_flag => 'Y'
170870 );
170871 --
170872 l_acc_rev_natural_side_code := 'D'; -- 4262811
170873 --
170874 --
170875 -- set accounting line type info
170876 --
170877 xla_ae_lines_pkg.SetAcctLineType
170878 (p_component_type => l_component_type
170879 ,p_event_type_code => l_event_type_code
170880 ,p_line_definition_owner_code => l_line_definition_owner_code
170881 ,p_line_definition_code => l_line_definition_code
170882 ,p_accounting_line_code => l_component_code
170883 ,p_accounting_line_type_code => l_component_type_code
170884 ,p_accounting_line_appl_id => l_component_appl_id
170885 ,p_amb_context_code => l_amb_context_code
170886 ,p_entity_code => l_entity_code
170887 ,p_event_class_code => l_event_class_code);
170888 --
170889 -- set accounting class
170890 --
170891 xla_ae_lines_pkg.SetAcctClass(
170892 p_accounting_class_code => 'TQV'
170893 , p_ae_header_id => l_ae_header_id
170894 );
170895
170896 --
170897 -- set rounding class
170898 --
170899 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
170900 'TQV';
170901
170902 --
170903 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
170904 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
170905 --
170906 -- bulk performance
170907 --
170908 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
170909
170910 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
170911 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
170912
170913 -- 4955764
170914 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
170915 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
170916
170917 -- 4458381 Public Sector Enh
170918
170919 --
170920 -- set accounting attributes for the line type
170921 --
170922 l_entered_amt_idx := 24;
170923 l_accted_amt_idx := 26;
170924 l_bflow_applied_to_amt_idx := 7; -- 5132302
170925 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
170926 l_rec_acct_attrs.array_char_value(1) := p_source_41;
170927 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
170928 l_rec_acct_attrs.array_num_value(2) :=
170929 xla_ae_sources_pkg.GetSystemSourceNum(
170930 p_source_code => 'XLA_EVENT_APPL_ID'
170931 , p_source_type_code => 'Y'
170932 , p_source_application_id => 602
170933 );
170934 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
170935 l_rec_acct_attrs.array_char_value(3) := p_source_43;
170936 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
170937 l_rec_acct_attrs.array_char_value(4) :=
170938 xla_ae_sources_pkg.GetSystemSourceChar(
170939 p_source_code => 'XLA_ENTITY_CODE'
170940 , p_source_type_code => 'Y'
170941 , p_source_application_id => 602
170942 );
170943 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
170944 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
170945 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
170946 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
170947 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
170948 l_rec_acct_attrs.array_num_value(7) := p_source_61;
170949 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
170950 l_rec_acct_attrs.array_num_value(8) := p_source_79;
170951 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
170952 l_rec_acct_attrs.array_char_value(9) := p_source_80;
170953 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
170954 l_rec_acct_attrs.array_char_value(10) := p_source_81;
170955 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
170956 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
170957 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
170958 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
170959 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
170960 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
170961 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
170962 l_rec_acct_attrs.array_char_value(14) := p_source_43;
170963 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
170964 l_rec_acct_attrs.array_num_value(15) := p_source_53;
170965 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
170966 l_rec_acct_attrs.array_num_value(16) := p_source_54;
170967 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
170968 l_rec_acct_attrs.array_char_value(17) := p_source_55;
170969 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
170970 l_rec_acct_attrs.array_num_value(18) := p_source_56;
170971 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
170972 l_rec_acct_attrs.array_num_value(19) := p_source_57;
170976 l_rec_acct_attrs.array_char_value(21) := p_source_55;
170973 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
170974 l_rec_acct_attrs.array_num_value(20) := p_source_58;
170975 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
170977 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
170978 l_rec_acct_attrs.array_num_value(22) := p_source_59;
170979 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
170980 l_rec_acct_attrs.array_char_value(23) := p_source_60;
170981 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
170982 l_rec_acct_attrs.array_num_value(24) := p_source_161;
170983 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
170984 l_rec_acct_attrs.array_char_value(25) := p_source_55;
170985 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
170986 l_rec_acct_attrs.array_num_value(26) := p_source_162;
170987 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
170988 l_rec_acct_attrs.array_date_value(27) := p_source_65;
170989 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
170990 l_rec_acct_attrs.array_char_value(28) := p_source_66;
170991 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
170992 l_rec_acct_attrs.array_date_value(29) := p_source_67;
170993 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
170994 l_rec_acct_attrs.array_char_value(30) := p_source_68;
170995 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
170996 l_rec_acct_attrs.array_char_value(31) := p_source_71;
170997 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
170998 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
170999 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
171000 l_rec_acct_attrs.array_char_value(33) := p_source_43;
171001 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
171002 l_rec_acct_attrs.array_num_value(34) := p_source_73;
171003 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
171004 l_rec_acct_attrs.array_num_value(35) := p_source_74;
171005 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
171006 l_rec_acct_attrs.array_num_value(36) := p_source_75;
171007 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
171008 l_rec_acct_attrs.array_num_value(37) := p_source_76;
171009 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
171010 l_rec_acct_attrs.array_num_value(38) := p_source_77;
171011 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
171012 l_rec_acct_attrs.array_num_value(39) := p_source_78;
171013
171014 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
171015 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
171016
171017 ---------------------------------------------------------------------------------------------------------------
171018 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
171019 ---------------------------------------------------------------------------------------------------------------
171020 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
171021
171022 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
171023 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
171024
171025 IF xla_accounting_cache_pkg.GetValueChar
171026 (p_source_code => 'LEDGER_CATEGORY_CODE'
171027 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
171028 AND l_bflow_method_code = 'PRIOR_ENTRY'
171029 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
171030 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
171031 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
171032 )
171033 THEN
171034 xla_ae_lines_pkg.BflowUpgEntry
171035 (p_business_method_code => l_bflow_method_code
171036 ,p_business_class_code => l_bflow_class_code
171037 ,p_balance_type => l_balance_type_code);
171038 ELSE
171039 NULL;
171040 XLA_AE_LINES_PKG.business_flow_validation(
171041 p_business_method_code => l_bflow_method_code
171042 ,p_business_class_code => l_bflow_class_code
171043 ,p_inherit_description_flag => l_inherit_desc_flag);
171044 END IF;
171045
171046 --
171047 -- call analytical criteria
171048 --
171049 -- Inherited Analytical Criteria for business flow method of Prior Entry.
171050 --
171051 -- call description
171052 --
171053 -- No description or it is inherited.
171054 --
171055 -- call ADRs
171056 -- Bug 4922099
171057 --
171058 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
171059 (NVL(l_actual_upg_option, 'N') = 'O') OR
171060 (NVL(l_enc_upg_option, 'N') = 'O')
171061 )
171062 THEN
171063 NULL;
171064 --
171065 --
171066
171067 --
171068 --
171069 END IF;
171070 --
171071 -- Bug 4922099
171072 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
171073 (NVL(l_enc_upg_option, 'N') = 'O')
171074 ) AND
171075 (l_bflow_method_code = 'PRIOR_ENTRY')
171076 )
171077 THEN
171078 IF
171079 --
171080 1 = 1
171081 --
171082 THEN
171086 ,p_token_1 => 'LINE_NUMBER'
171083 xla_accounting_err_pkg.build_message
171084 (p_appli_s_name => 'XLA'
171085 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
171087 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
171088 ,p_token_2 => 'LINE_TYPE_NAME'
171089 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
171090 l_component_type
171091 ,l_component_code
171092 ,l_component_type_code
171093 ,l_component_appl_id
171094 ,l_amb_context_code
171095 ,l_entity_code
171096 ,l_event_class_code
171097 )
171098 ,p_token_3 => 'OWNER'
171099 ,p_value_3 => xla_lookups_pkg.get_meaning(
171100 p_lookup_type => 'XLA_OWNER_TYPE'
171101 ,p_lookup_code => l_component_type_code
171102 )
171103 ,p_token_4 => 'PRODUCT_NAME'
171104 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
171105 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
171106 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
171107 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
171108 ,p_ae_header_id => NULL
171109 );
171110
171111 IF (C_LEVEL_ERROR>= g_log_level) THEN
171112 trace
171113 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
171114 ,p_level => C_LEVEL_ERROR
171115 ,p_module => l_log_module);
171116 END IF;
171117 END IF;
171118 END IF;
171119 --
171120 --
171121 ------------------------------------------------------------------------------------------------
171122 -- 4219869 Business Flow
171123 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
171124 -- Prior Entry. Currently, the following code is always generated.
171125 ------------------------------------------------------------------------------------------------
171126 -- No ValidateCurrentLine for business flow method of Prior Entry
171127
171128 ------------------------------------------------------------------------------------
171129 -- 4219869 Business Flow
171130 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
171131 ------------------------------------------------------------------------------------
171132 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
171133
171134 ----------------------------------------------------------------------------------
171135 -- 4219869 Business Flow
171136 -- Update journal entry status -- Need to generate this within IF <condition>
171137 ----------------------------------------------------------------------------------
171138 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
171139 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
171140 ,p_balance_type_code => l_balance_type_code
171141 );
171142
171143 -------------------------------------------------------------------------------------------
171144 -- 4262811 - Generate the Accrual Reversal lines
171145 -------------------------------------------------------------------------------------------
171146 BEGIN
171147 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
171148 (g_array_event(p_event_id).array_value_num('header_index'));
171149 IF l_acc_rev_flag IS NULL THEN
171150 l_acc_rev_flag := 'N';
171151 END IF;
171152 EXCEPTION
171153 WHEN OTHERS THEN
171154 l_acc_rev_flag := 'N';
171155 END;
171156 --
171157 IF (l_acc_rev_flag = 'Y') THEN
171158
171159 -- 4645092 ------------------------------------------------------------------------------
171160 -- To allow MPA report to determine if it should generate report process
171161 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
171162 ------------------------------------------------------------------------------------------
171163
171164 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
171165 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
171166 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
171167 -- call ADRs
171168 -- Bug 4922099
171169 --
171170 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
171174 THEN
171171 (NVL(l_actual_upg_option, 'N') = 'O') OR
171172 (NVL(l_enc_upg_option, 'N') = 'O')
171173 )
171175 NULL;
171176 --
171177 --
171178
171179 --
171180 --
171181 END IF;
171182
171183 --
171184 -- Update the line information that should be overwritten
171185 --
171186 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
171187 p_header_num => 1);
171188 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
171189
171190 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
171191
171192 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
171193 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
171194 END IF;
171195
171196 --
171197 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
171198 --
171199 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
171200 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
171201 ELSE
171202 ---------------------------------------------------------------------------------------------------
171203 -- 4262811a Switch Sign
171204 ---------------------------------------------------------------------------------------------------
171205 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
171206 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
171207 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
171208 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
171209 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
171210 -- 5132302
171211 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
171212 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
171213
171214 END IF;
171215
171216 -- 4955764
171217 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
171218 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
171219
171220
171221 XLA_AE_LINES_PKG.ValidateCurrentLine;
171222 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
171223
171224 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
171225 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
171226 ,p_balance_type_code => l_balance_type_code);
171227
171228 END IF;
171229
171230 -----------------------------------------------------------------------------------------
171231 -- 4262811 Multiperiod Accounting
171232 -----------------------------------------------------------------------------------------
171233 -- No MPA option is assigned.
171234
171235
171236 END IF;
171237 END IF;
171238 --
171239
171240 --
171241 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171242 trace
171243 (p_msg => 'END of AcctLineType_275'
171244 ,p_level => C_LEVEL_PROCEDURE
171245 ,p_module => l_log_module);
171246 END IF;
171247 --
171248 EXCEPTION
171249 WHEN xla_exceptions_pkg.application_exception THEN
171250 RAISE;
171251 WHEN OTHERS THEN
171252 xla_exceptions_pkg.raise_message
171253 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_275');
171254 END AcctLineType_275;
171255 --
171256
171257 ---------------------------------------
171258 --
171259 -- PRIVATE FUNCTION
171260 -- AcctLineType_276
171261 --
171262 ---------------------------------------
171263 PROCEDURE AcctLineType_276 (
171264 p_application_id IN NUMBER
171265 ,p_event_id IN NUMBER
171266 ,p_calculate_acctd_flag IN VARCHAR2
171267 ,p_calculate_g_l_flag IN VARCHAR2
171268 ,p_actual_flag IN OUT VARCHAR2
171269 ,p_balance_type_code OUT VARCHAR2
171270 ,p_gain_or_loss_ref OUT VARCHAR2
171271
171272 --Invoice Distribution Type
171273 , p_source_21 IN VARCHAR2
171274 , p_source_21_meaning IN VARCHAR2
171275 --Accounting Reversal Indicator
171276 , p_source_41 IN VARCHAR2
171277 --Distribution Link Type
171278 , p_source_43 IN VARCHAR2
171279 --Allocation to Main Distribution Identifier
171280 , p_source_45 IN NUMBER
171281 --Invoice Identifier
171282 , p_source_46 IN NUMBER
171283 --Invoice Distribution Identifier
171284 , p_source_52 IN NUMBER
171285 --Payables Encumbrance Upgrade Credit Account
171286 , p_source_53 IN NUMBER
171287 --Payables Encumbrance Upgrade Credit Amount
171288 , p_source_54 IN NUMBER
171289 --Invoice Currency Code
171290 , p_source_55 IN VARCHAR2
171291 --Payables Encumbrance Upgrade Credit Base Amount
171292 , p_source_56 IN NUMBER
171293 --Payables Encumbrance Upgrade Debit Account
171294 , p_source_57 IN NUMBER
171295 --Payables Encumbrance Upgrade Debit Amount
171299 --Payables Encumbrance Upgrade Option
171296 , p_source_58 IN NUMBER
171297 --Payables Encumbrance Upgrade Debit Base Amount
171298 , p_source_59 IN NUMBER
171300 , p_source_60 IN VARCHAR2
171301 --Deferred Accounting End Date
171302 , p_source_65 IN DATE
171303 --Deferred Accounting Option
171304 , p_source_66 IN VARCHAR2
171305 --Deferred Accounting Start Date
171306 , p_source_67 IN DATE
171307 --Override Accounted Amount Indicator
171308 , p_source_68 IN VARCHAR2
171309 , p_source_68_meaning IN VARCHAR2
171310 --Third Party Type
171311 , p_source_71 IN VARCHAR2
171312 --Parent Reversal Identifier
171313 , p_source_72 IN NUMBER
171314 --Invoice Distribution Statistical Amount
171315 , p_source_73 IN NUMBER
171316 --Invoice Distribution Tax Line Identifier
171317 , p_source_74 IN NUMBER
171318 --Invoice Distribution Tax Distribution Identifier from Tax
171319 , p_source_75 IN NUMBER
171320 --Invoice Distribution Summary Tax Line Identifier
171321 , p_source_76 IN NUMBER
171322 --Payables Upgrade Credit Encumbrance Type Identifier
171323 , p_source_77 IN NUMBER
171324 --Payables Upgrade Debit Encumbrance Type Identifier
171325 , p_source_78 IN NUMBER
171326 --Business Flow Accounts Payable Application Identifier
171327 , p_source_79 IN NUMBER
171328 --Business Flow Invoice Distribution Type
171329 , p_source_80 IN VARCHAR2
171330 --Business Flow Invoice Entity Code
171331 , p_source_81 IN VARCHAR2
171332 --Business Flow Invoice Distribution Identifier
171333 , p_source_82 IN NUMBER
171334 --Business Flow Invoice Identifier
171335 , p_source_83 IN NUMBER
171336 --Accrue on Receipt Option
171337 , p_source_84 IN VARCHAR2
171338 , p_source_84_meaning IN VARCHAR2
171339 --Purchasing Encumbrance Option
171340 , p_source_86 IN VARCHAR2
171341 , p_source_86_meaning IN VARCHAR2
171342 --Invoice Encumbered Option
171343 , p_source_87 IN VARCHAR2
171344 , p_source_87_meaning IN VARCHAR2
171345 --Quantity Variance Amount
171346 , p_source_161 IN NUMBER
171347 --Quantity Variance Amount in Ledger Currency
171348 , p_source_162 IN NUMBER
171349 )
171350 IS
171351
171352 l_component_type VARCHAR2(80);
171353 l_component_code VARCHAR2(30);
171354 l_component_type_code VARCHAR2(1);
171355 l_component_appl_id INTEGER;
171356 l_amb_context_code VARCHAR2(30);
171357 l_entity_code VARCHAR2(30);
171358 l_event_class_code VARCHAR2(30);
171359 l_ae_header_id NUMBER;
171360 l_event_type_code VARCHAR2(30);
171361 l_line_definition_code VARCHAR2(30);
171362 l_line_definition_owner_code VARCHAR2(1);
171363 --
171364 -- adr variables
171365 l_segment VARCHAR2(30);
171366 l_ccid NUMBER;
171367 l_adr_transaction_coa_id NUMBER;
171368 l_adr_accounting_coa_id NUMBER;
171369 l_adr_flexfield_segment_code VARCHAR2(30);
171370 l_adr_flex_value_set_id NUMBER;
171371 l_adr_value_type_code VARCHAR2(30);
171372 l_adr_value_combination_id NUMBER;
171373 l_adr_value_segment_code VARCHAR2(30);
171374
171375 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
171376 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
171377 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
171378 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
171379
171380 -- 4262811 Variables ------------------------------------------------------------------------------------------
171381 l_entered_amt_idx NUMBER;
171382 l_accted_amt_idx NUMBER;
171383 l_acc_rev_flag VARCHAR2(1);
171384 l_accrual_line_num NUMBER;
171385 l_tmp_amt NUMBER;
171386 l_acc_rev_natural_side_code VARCHAR2(1);
171387
171388 l_num_entries NUMBER;
171389 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
171390 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
171391 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
171392 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
171393 l_recog_line_1 NUMBER;
171394 l_recog_line_2 NUMBER;
171395
171396 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
171397 l_bflow_applied_to_amt NUMBER; -- 5132302
171398 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
171399
171400 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
171401
171402 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
171403 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
171404
171405 ---------------------------------------------------------------------------------------------------------------
171406
171407
171408 --
171409 -- bulk performance
171410 --
171411 l_balance_type_code VARCHAR2(1);
171412 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
171413 l_log_module VARCHAR2(240);
171414
171415 --
171416 -- Upgrade strategy
171417 --
171418 l_actual_upg_option VARCHAR2(1);
171422 BEGIN
171419 l_enc_upg_option VARCHAR2(1);
171420
171421 --
171423 --
171424 IF g_log_enabled THEN
171425 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_276';
171426 END IF;
171427 --
171428 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171429
171430 trace
171431 (p_msg => 'BEGIN of AcctLineType_276'
171432 ,p_level => C_LEVEL_PROCEDURE
171433 ,p_module => l_log_module);
171434
171435 END IF;
171436 --
171437 l_component_type := 'AMB_JLT';
171438 l_component_code := 'AP_TAX_QTY_VARIANCE_PP_ENC';
171439 l_component_type_code := 'S';
171440 l_component_appl_id := 200;
171441 l_amb_context_code := 'DEFAULT';
171442 l_entity_code := 'AP_INVOICES';
171443 l_event_class_code := 'PREPAYMENTS';
171444 l_event_type_code := 'PREPAYMENTS_ALL';
171445 l_line_definition_owner_code := 'S';
171446 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
171447 --
171448 l_balance_type_code := 'E';
171449 l_segment := NULL;
171450 l_ccid := NULL;
171451 l_adr_transaction_coa_id := NULL;
171452 l_adr_accounting_coa_id := NULL;
171453 l_adr_flexfield_segment_code := NULL;
171454 l_adr_flex_value_set_id := NULL;
171455 l_adr_value_type_code := NULL;
171456 l_adr_value_combination_id := NULL;
171457 l_adr_value_segment_code := NULL;
171458
171459 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
171460 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
171461 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
171462 l_budgetary_control_flag := 'N';
171463
171464 l_bflow_applied_to_amt_idx := NULL; -- 5132302
171465 l_bflow_applied_to_amt := NULL; -- 5132302
171466 l_entered_amt_idx := NULL; -- 4262811
171467 l_accted_amt_idx := NULL; -- 4262811
171468 l_acc_rev_flag := NULL; -- 4262811
171469 l_accrual_line_num := NULL; -- 4262811
171470 l_tmp_amt := NULL; -- 4262811
171471 --
171472
171473 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
171474 l_balance_type_code <> 'B' THEN
171475 IF NVL(p_source_21,'
171476 ') = 'NONREC_TAX' AND
171477 p_source_161 IS NOT NULL AND
171478 NVL(p_source_84,'
171479 ') <> 'Y' AND
171480 NVL(p_source_86,'
171481 ') = 'Y' AND
171482 NVL(p_source_87,'
171483 ') = 'Y'
171484 THEN
171485
171486 --
171487 XLA_AE_LINES_PKG.SetNewLine;
171488
171489 p_balance_type_code := l_balance_type_code;
171490 -- set the flag so later we will know whether the gain loss line needs to be created
171491
171492 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
171493 p_actual_flag :='A';
171494 END IF;
171495
171496 --
171497 -- bulk performance
171498 --
171499 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
171500 p_header_num => 0); -- 4262811
171501 --
171502 -- set accounting line options
171503 --
171504 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
171505 p_natural_side_code => 'C'
171506 , p_gain_or_loss_flag => 'N'
171507 , p_gl_transfer_mode_code => 'S'
171508 , p_acct_entry_type_code => 'E'
171509 , p_switch_side_flag => 'Y'
171510 , p_merge_duplicate_code => 'A'
171511 );
171512 --
171513 l_acc_rev_natural_side_code := 'D'; -- 4262811
171514 --
171515 --
171516 -- set accounting line type info
171517 --
171518 xla_ae_lines_pkg.SetAcctLineType
171519 (p_component_type => l_component_type
171520 ,p_event_type_code => l_event_type_code
171521 ,p_line_definition_owner_code => l_line_definition_owner_code
171522 ,p_line_definition_code => l_line_definition_code
171523 ,p_accounting_line_code => l_component_code
171524 ,p_accounting_line_type_code => l_component_type_code
171525 ,p_accounting_line_appl_id => l_component_appl_id
171526 ,p_amb_context_code => l_amb_context_code
171527 ,p_entity_code => l_entity_code
171528 ,p_event_class_code => l_event_class_code);
171529 --
171530 -- set accounting class
171531 --
171532 xla_ae_lines_pkg.SetAcctClass(
171533 p_accounting_class_code => 'TQV'
171534 , p_ae_header_id => l_ae_header_id
171535 );
171536
171537 --
171538 -- set rounding class
171539 --
171540 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
171541 'TQV';
171542
171543 --
171544 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
171545 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
171546 --
171547 -- bulk performance
171548 --
171549 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
171550
171551 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
171552 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
171553
171554 -- 4955764
171558 -- 4458381 Public Sector Enh
171555 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
171556 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
171557
171559
171560 --
171561 -- set accounting attributes for the line type
171562 --
171563 l_entered_amt_idx := 23;
171564 l_accted_amt_idx := 25;
171565 l_bflow_applied_to_amt_idx := NULL; -- 5132302
171566 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
171567 l_rec_acct_attrs.array_char_value(1) := p_source_41;
171568 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
171569 l_rec_acct_attrs.array_num_value(2) :=
171570 xla_ae_sources_pkg.GetSystemSourceNum(
171571 p_source_code => 'XLA_EVENT_APPL_ID'
171572 , p_source_type_code => 'Y'
171573 , p_source_application_id => 602
171574 );
171575 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
171576 l_rec_acct_attrs.array_char_value(3) := p_source_43;
171577 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
171578 l_rec_acct_attrs.array_char_value(4) :=
171579 xla_ae_sources_pkg.GetSystemSourceChar(
171580 p_source_code => 'XLA_ENTITY_CODE'
171581 , p_source_type_code => 'Y'
171582 , p_source_application_id => 602
171583 );
171584 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
171585 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
171586 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
171587 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
171588 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
171589 l_rec_acct_attrs.array_num_value(7) := p_source_79;
171590 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
171591 l_rec_acct_attrs.array_char_value(8) := p_source_80;
171592 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
171593 l_rec_acct_attrs.array_char_value(9) := p_source_81;
171594 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
171595 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
171596 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
171597 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
171598 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
171599 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
171600 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
171601 l_rec_acct_attrs.array_char_value(13) := p_source_43;
171602 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
171603 l_rec_acct_attrs.array_num_value(14) := p_source_53;
171604 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
171605 l_rec_acct_attrs.array_num_value(15) := p_source_54;
171606 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
171607 l_rec_acct_attrs.array_char_value(16) := p_source_55;
171608 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
171609 l_rec_acct_attrs.array_num_value(17) := p_source_56;
171610 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
171611 l_rec_acct_attrs.array_num_value(18) := p_source_57;
171612 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
171613 l_rec_acct_attrs.array_num_value(19) := p_source_58;
171614 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
171615 l_rec_acct_attrs.array_char_value(20) := p_source_55;
171616 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
171617 l_rec_acct_attrs.array_num_value(21) := p_source_59;
171618 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
171619 l_rec_acct_attrs.array_char_value(22) := p_source_60;
171620 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
171621 l_rec_acct_attrs.array_num_value(23) := p_source_161;
171622 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
171623 l_rec_acct_attrs.array_char_value(24) := p_source_55;
171624 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
171625 l_rec_acct_attrs.array_num_value(25) := p_source_162;
171626 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
171627 l_rec_acct_attrs.array_date_value(26) := p_source_65;
171628 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
171629 l_rec_acct_attrs.array_char_value(27) := p_source_66;
171630 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
171631 l_rec_acct_attrs.array_date_value(28) := p_source_67;
171632 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
171633 l_rec_acct_attrs.array_char_value(29) := p_source_68;
171634 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
171635 l_rec_acct_attrs.array_char_value(30) := p_source_71;
171636 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
171637 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
171638 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
171639 l_rec_acct_attrs.array_char_value(32) := p_source_43;
171640 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
171641 l_rec_acct_attrs.array_num_value(33) := p_source_73;
171642 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
171643 l_rec_acct_attrs.array_num_value(34) := p_source_74;
171644 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
171645 l_rec_acct_attrs.array_num_value(35) := p_source_75;
171649 l_rec_acct_attrs.array_num_value(37) := p_source_77;
171646 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
171647 l_rec_acct_attrs.array_num_value(36) := p_source_76;
171648 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
171650 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
171651 l_rec_acct_attrs.array_num_value(38) := p_source_78;
171652
171653 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
171654 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
171655
171656 ---------------------------------------------------------------------------------------------------------------
171657 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
171658 ---------------------------------------------------------------------------------------------------------------
171659 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
171660
171661 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
171662 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
171663
171664 IF xla_accounting_cache_pkg.GetValueChar
171665 (p_source_code => 'LEDGER_CATEGORY_CODE'
171666 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
171667 AND l_bflow_method_code = 'PRIOR_ENTRY'
171668 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
171669 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
171670 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
171671 )
171672 THEN
171673 xla_ae_lines_pkg.BflowUpgEntry
171674 (p_business_method_code => l_bflow_method_code
171675 ,p_business_class_code => l_bflow_class_code
171676 ,p_balance_type => l_balance_type_code);
171677 ELSE
171678 NULL;
171679 XLA_AE_LINES_PKG.business_flow_validation(
171680 p_business_method_code => l_bflow_method_code
171681 ,p_business_class_code => l_bflow_class_code
171682 ,p_inherit_description_flag => l_inherit_desc_flag);
171683 END IF;
171684
171685 --
171686 -- call analytical criteria
171687 --
171688 -- Inherited Analytical Criteria for business flow method of Prior Entry.
171689 --
171690 -- call description
171691 --
171692 -- No description or it is inherited.
171693 --
171694 -- call ADRs
171695 -- Bug 4922099
171696 --
171697 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
171698 (NVL(l_actual_upg_option, 'N') = 'O') OR
171699 (NVL(l_enc_upg_option, 'N') = 'O')
171700 )
171701 THEN
171702 NULL;
171703 --
171704 --
171705
171706 --
171707 --
171708 END IF;
171709 --
171710 -- Bug 4922099
171711 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
171712 (NVL(l_enc_upg_option, 'N') = 'O')
171713 ) AND
171714 (l_bflow_method_code = 'PRIOR_ENTRY')
171715 )
171716 THEN
171717 IF
171718 --
171719 1 = 1
171720 --
171721 THEN
171722 xla_accounting_err_pkg.build_message
171723 (p_appli_s_name => 'XLA'
171724 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
171725 ,p_token_1 => 'LINE_NUMBER'
171726 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
171727 ,p_token_2 => 'LINE_TYPE_NAME'
171728 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
171729 l_component_type
171730 ,l_component_code
171731 ,l_component_type_code
171732 ,l_component_appl_id
171733 ,l_amb_context_code
171734 ,l_entity_code
171735 ,l_event_class_code
171736 )
171737 ,p_token_3 => 'OWNER'
171738 ,p_value_3 => xla_lookups_pkg.get_meaning(
171739 p_lookup_type => 'XLA_OWNER_TYPE'
171740 ,p_lookup_code => l_component_type_code
171741 )
171742 ,p_token_4 => 'PRODUCT_NAME'
171743 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
171744 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
171745 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
171749
171746 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
171747 ,p_ae_header_id => NULL
171748 );
171750 IF (C_LEVEL_ERROR>= g_log_level) THEN
171751 trace
171752 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
171753 ,p_level => C_LEVEL_ERROR
171754 ,p_module => l_log_module);
171755 END IF;
171756 END IF;
171757 END IF;
171758 --
171759 --
171760 ------------------------------------------------------------------------------------------------
171761 -- 4219869 Business Flow
171762 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
171763 -- Prior Entry. Currently, the following code is always generated.
171764 ------------------------------------------------------------------------------------------------
171765 -- No ValidateCurrentLine for business flow method of Prior Entry
171766
171767 ------------------------------------------------------------------------------------
171768 -- 4219869 Business Flow
171769 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
171770 ------------------------------------------------------------------------------------
171771 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
171772
171773 ----------------------------------------------------------------------------------
171774 -- 4219869 Business Flow
171775 -- Update journal entry status -- Need to generate this within IF <condition>
171776 ----------------------------------------------------------------------------------
171777 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
171778 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
171779 ,p_balance_type_code => l_balance_type_code
171780 );
171781
171782 -------------------------------------------------------------------------------------------
171783 -- 4262811 - Generate the Accrual Reversal lines
171784 -------------------------------------------------------------------------------------------
171785 BEGIN
171786 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
171787 (g_array_event(p_event_id).array_value_num('header_index'));
171788 IF l_acc_rev_flag IS NULL THEN
171789 l_acc_rev_flag := 'N';
171790 END IF;
171791 EXCEPTION
171792 WHEN OTHERS THEN
171793 l_acc_rev_flag := 'N';
171794 END;
171795 --
171796 IF (l_acc_rev_flag = 'Y') THEN
171797
171798 -- 4645092 ------------------------------------------------------------------------------
171799 -- To allow MPA report to determine if it should generate report process
171800 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
171801 ------------------------------------------------------------------------------------------
171802
171803 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
171804 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
171805 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
171806 -- call ADRs
171807 -- Bug 4922099
171808 --
171809 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
171810 (NVL(l_actual_upg_option, 'N') = 'O') OR
171811 (NVL(l_enc_upg_option, 'N') = 'O')
171812 )
171813 THEN
171814 NULL;
171815 --
171816 --
171817
171818 --
171819 --
171820 END IF;
171821
171822 --
171823 -- Update the line information that should be overwritten
171824 --
171825 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
171826 p_header_num => 1);
171827 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
171828
171829 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
171830
171831 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
171832 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
171833 END IF;
171834
171835 --
171836 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
171837 --
171838 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
171839 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
171840 ELSE
171841 ---------------------------------------------------------------------------------------------------
171842 -- 4262811a Switch Sign
171843 ---------------------------------------------------------------------------------------------------
171844 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
171845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
171846 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
171847 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
171848 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
171849 -- 5132302
171853 END IF;
171850 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
171851 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
171852
171854
171855 -- 4955764
171856 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
171857 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
171858
171859
171860 XLA_AE_LINES_PKG.ValidateCurrentLine;
171861 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
171862
171863 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
171864 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
171865 ,p_balance_type_code => l_balance_type_code);
171866
171867 END IF;
171868
171869 -----------------------------------------------------------------------------------------
171870 -- 4262811 Multiperiod Accounting
171871 -----------------------------------------------------------------------------------------
171872 -- No MPA option is assigned.
171873
171874
171875 END IF;
171876 END IF;
171877 --
171878
171879 --
171880 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
171881 trace
171882 (p_msg => 'END of AcctLineType_276'
171883 ,p_level => C_LEVEL_PROCEDURE
171884 ,p_module => l_log_module);
171885 END IF;
171886 --
171887 EXCEPTION
171888 WHEN xla_exceptions_pkg.application_exception THEN
171889 RAISE;
171890 WHEN OTHERS THEN
171891 xla_exceptions_pkg.raise_message
171892 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_276');
171893 END AcctLineType_276;
171894 --
171895
171896 ---------------------------------------
171897 --
171898 -- PRIVATE FUNCTION
171899 -- AcctLineType_277
171900 --
171901 ---------------------------------------
171902 PROCEDURE AcctLineType_277 (
171903 p_application_id IN NUMBER
171904 ,p_event_id IN NUMBER
171905 ,p_calculate_acctd_flag IN VARCHAR2
171906 ,p_calculate_g_l_flag IN VARCHAR2
171907 ,p_actual_flag IN OUT VARCHAR2
171908 ,p_balance_type_code OUT VARCHAR2
171909 ,p_gain_or_loss_ref OUT VARCHAR2
171910
171911 --Invoice Distribution Description
171912 , p_source_1 IN VARCHAR2
171913 --Invoice Distribution Ledger Amount
171914 , p_source_9 IN NUMBER
171915 --Invoice Distribution Account
171916 , p_source_18 IN NUMBER
171917 --Invoice Distribution Type
171918 , p_source_21 IN VARCHAR2
171919 , p_source_21_meaning IN VARCHAR2
171920 --Accounting Reversal Indicator
171921 , p_source_41 IN VARCHAR2
171922 --Distribution Link Type
171923 , p_source_43 IN VARCHAR2
171924 --Allocation to Main Distribution Identifier
171925 , p_source_45 IN NUMBER
171926 --Invoice Identifier
171927 , p_source_46 IN NUMBER
171928 --Invoice Distribution Identifier
171929 , p_source_52 IN NUMBER
171930 --Payables Encumbrance Upgrade Credit Account
171931 , p_source_53 IN NUMBER
171932 --Payables Encumbrance Upgrade Credit Amount
171933 , p_source_54 IN NUMBER
171934 --Invoice Currency Code
171935 , p_source_55 IN VARCHAR2
171936 --Payables Encumbrance Upgrade Credit Base Amount
171937 , p_source_56 IN NUMBER
171938 --Payables Encumbrance Upgrade Debit Account
171939 , p_source_57 IN NUMBER
171940 --Payables Encumbrance Upgrade Debit Amount
171941 , p_source_58 IN NUMBER
171942 --Payables Encumbrance Upgrade Debit Base Amount
171943 , p_source_59 IN NUMBER
171944 --Payables Encumbrance Upgrade Option
171945 , p_source_60 IN VARCHAR2
171946 --Invoice Distribution Amount
171947 , p_source_61 IN NUMBER
171948 --Deferred Accounting End Date
171949 , p_source_65 IN DATE
171950 --Deferred Accounting Option
171951 , p_source_66 IN VARCHAR2
171952 --Deferred Accounting Start Date
171953 , p_source_67 IN DATE
171954 --Override Accounted Amount Indicator
171955 , p_source_68 IN VARCHAR2
171956 , p_source_68_meaning IN VARCHAR2
171957 --Invoice Supplier Identifier
171958 , p_source_69 IN NUMBER
171959 --Invoice Supplier Site Identifier
171960 , p_source_70 IN NUMBER
171961 --Third Party Type
171962 , p_source_71 IN VARCHAR2
171963 --Parent Reversal Identifier
171964 , p_source_72 IN NUMBER
171965 --Invoice Distribution Statistical Amount
171966 , p_source_73 IN NUMBER
171967 --Invoice Distribution Tax Line Identifier
171968 , p_source_74 IN NUMBER
171969 --Invoice Distribution Tax Distribution Identifier from Tax
171970 , p_source_75 IN NUMBER
171971 --Invoice Distribution Summary Tax Line Identifier
171972 , p_source_76 IN NUMBER
171973 --Payables Upgrade Credit Encumbrance Type Identifier
171974 , p_source_77 IN NUMBER
171975 --Payables Upgrade Debit Encumbrance Type Identifier
171976 , p_source_78 IN NUMBER
171977 --Business Flow Accounts Payable Application Identifier
171978 , p_source_79 IN NUMBER
171979 --Business Flow Invoice Distribution Type
171980 , p_source_80 IN VARCHAR2
171981 --Business Flow Invoice Entity Code
171982 , p_source_81 IN VARCHAR2
171986 , p_source_83 IN NUMBER
171983 --Business Flow Invoice Distribution Identifier
171984 , p_source_82 IN NUMBER
171985 --Business Flow Invoice Identifier
171987 --Accrue on Receipt Option
171988 , p_source_84 IN VARCHAR2
171989 , p_source_84_meaning IN VARCHAR2
171990 --Invoice Exchange Date
171991 , p_source_136 IN DATE
171992 --Invoice Exchange Rate
171993 , p_source_137 IN NUMBER
171994 --Invoice Exchange Rate Type
171995 , p_source_138 IN VARCHAR2
171996 )
171997 IS
171998
171999 l_component_type VARCHAR2(80);
172000 l_component_code VARCHAR2(30);
172001 l_component_type_code VARCHAR2(1);
172002 l_component_appl_id INTEGER;
172003 l_amb_context_code VARCHAR2(30);
172004 l_entity_code VARCHAR2(30);
172005 l_event_class_code VARCHAR2(30);
172006 l_ae_header_id NUMBER;
172007 l_event_type_code VARCHAR2(30);
172008 l_line_definition_code VARCHAR2(30);
172009 l_line_definition_owner_code VARCHAR2(1);
172010 --
172011 -- adr variables
172012 l_segment VARCHAR2(30);
172013 l_ccid NUMBER;
172014 l_adr_transaction_coa_id NUMBER;
172015 l_adr_accounting_coa_id NUMBER;
172016 l_adr_flexfield_segment_code VARCHAR2(30);
172017 l_adr_flex_value_set_id NUMBER;
172018 l_adr_value_type_code VARCHAR2(30);
172019 l_adr_value_combination_id NUMBER;
172020 l_adr_value_segment_code VARCHAR2(30);
172021
172022 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
172023 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
172024 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
172025 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
172026
172027 -- 4262811 Variables ------------------------------------------------------------------------------------------
172028 l_entered_amt_idx NUMBER;
172029 l_accted_amt_idx NUMBER;
172030 l_acc_rev_flag VARCHAR2(1);
172031 l_accrual_line_num NUMBER;
172032 l_tmp_amt NUMBER;
172033 l_acc_rev_natural_side_code VARCHAR2(1);
172034
172035 l_num_entries NUMBER;
172036 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
172037 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
172038 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
172039 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
172040 l_recog_line_1 NUMBER;
172041 l_recog_line_2 NUMBER;
172042
172043 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
172044 l_bflow_applied_to_amt NUMBER; -- 5132302
172045 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
172046
172047 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
172048
172049 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
172050 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
172051
172052 ---------------------------------------------------------------------------------------------------------------
172053
172054
172055 --
172056 -- bulk performance
172057 --
172058 l_balance_type_code VARCHAR2(1);
172059 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
172060 l_log_module VARCHAR2(240);
172061
172062 --
172063 -- Upgrade strategy
172064 --
172065 l_actual_upg_option VARCHAR2(1);
172066 l_enc_upg_option VARCHAR2(1);
172067
172068 --
172069 BEGIN
172070 --
172071 IF g_log_enabled THEN
172072 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_277';
172073 END IF;
172074 --
172075 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
172076
172077 trace
172078 (p_msg => 'BEGIN of AcctLineType_277'
172079 ,p_level => C_LEVEL_PROCEDURE
172080 ,p_module => l_log_module);
172081
172082 END IF;
172083 --
172084 l_component_type := 'AMB_JLT';
172085 l_component_code := 'AP_TAX_RATE_VAR_CM';
172086 l_component_type_code := 'S';
172087 l_component_appl_id := 200;
172088 l_amb_context_code := 'DEFAULT';
172089 l_entity_code := 'AP_INVOICES';
172090 l_event_class_code := 'CREDIT MEMOS';
172091 l_event_type_code := 'CREDIT MEMOS_ALL';
172092 l_line_definition_owner_code := 'S';
172093 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
172094 --
172095 l_balance_type_code := 'A';
172096 l_segment := NULL;
172097 l_ccid := NULL;
172098 l_adr_transaction_coa_id := NULL;
172099 l_adr_accounting_coa_id := NULL;
172100 l_adr_flexfield_segment_code := NULL;
172101 l_adr_flex_value_set_id := NULL;
172102 l_adr_value_type_code := NULL;
172103 l_adr_value_combination_id := NULL;
172104 l_adr_value_segment_code := NULL;
172105
172106 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
172107 l_bflow_class_code := ''; -- 4219869 Business Flow
172108 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
172109 l_budgetary_control_flag := 'N';
172110
172111 l_bflow_applied_to_amt_idx := NULL; -- 5132302
172115 l_acc_rev_flag := NULL; -- 4262811
172112 l_bflow_applied_to_amt := NULL; -- 5132302
172113 l_entered_amt_idx := NULL; -- 4262811
172114 l_accted_amt_idx := NULL; -- 4262811
172116 l_accrual_line_num := NULL; -- 4262811
172117 l_tmp_amt := NULL; -- 4262811
172118 --
172119
172120 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
172121 l_balance_type_code <> 'B' THEN
172122 IF NVL(p_source_21,'
172123 ') = 'TRV' AND
172124 NVL(p_source_84,'
172125 ') = 'Y'
172126 THEN
172127
172128 --
172129 XLA_AE_LINES_PKG.SetNewLine;
172130
172131 p_balance_type_code := l_balance_type_code;
172132 -- set the flag so later we will know whether the gain loss line needs to be created
172133
172134 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
172135 p_actual_flag :='A';
172136 END IF;
172137
172138 --
172139 -- bulk performance
172140 --
172141 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
172142 p_header_num => 0); -- 4262811
172143 --
172144 -- set accounting line options
172145 --
172146 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
172147 p_natural_side_code => 'D'
172148 , p_gain_or_loss_flag => 'N'
172149 , p_gl_transfer_mode_code => 'S'
172150 , p_acct_entry_type_code => 'A'
172151 , p_switch_side_flag => 'Y'
172152 , p_merge_duplicate_code => 'A'
172153 );
172154 --
172155 l_acc_rev_natural_side_code := 'C'; -- 4262811
172156 --
172157 --
172158 -- set accounting line type info
172159 --
172160 xla_ae_lines_pkg.SetAcctLineType
172161 (p_component_type => l_component_type
172162 ,p_event_type_code => l_event_type_code
172163 ,p_line_definition_owner_code => l_line_definition_owner_code
172164 ,p_line_definition_code => l_line_definition_code
172165 ,p_accounting_line_code => l_component_code
172166 ,p_accounting_line_type_code => l_component_type_code
172167 ,p_accounting_line_appl_id => l_component_appl_id
172168 ,p_amb_context_code => l_amb_context_code
172169 ,p_entity_code => l_entity_code
172170 ,p_event_class_code => l_event_class_code);
172171 --
172172 -- set accounting class
172173 --
172174 xla_ae_lines_pkg.SetAcctClass(
172175 p_accounting_class_code => 'TRV'
172176 , p_ae_header_id => l_ae_header_id
172177 );
172178
172179 --
172180 -- set rounding class
172181 --
172182 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
172183 'TRV';
172184
172185 --
172186 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
172187 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
172188 --
172189 -- bulk performance
172190 --
172191 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
172192
172193 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
172194 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
172195
172196 -- 4955764
172197 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
172198 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
172199
172200 -- 4458381 Public Sector Enh
172201
172202 --
172203 -- set accounting attributes for the line type
172204 --
172205 l_entered_amt_idx := 23;
172206 l_accted_amt_idx := 28;
172207 l_bflow_applied_to_amt_idx := NULL; -- 5132302
172208 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
172209 l_rec_acct_attrs.array_char_value(1) := p_source_41;
172210 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
172211 l_rec_acct_attrs.array_num_value(2) :=
172212 xla_ae_sources_pkg.GetSystemSourceNum(
172213 p_source_code => 'XLA_EVENT_APPL_ID'
172214 , p_source_type_code => 'Y'
172215 , p_source_application_id => 602
172216 );
172217 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
172218 l_rec_acct_attrs.array_char_value(3) := p_source_43;
172219 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
172220 l_rec_acct_attrs.array_char_value(4) :=
172221 xla_ae_sources_pkg.GetSystemSourceChar(
172222 p_source_code => 'XLA_ENTITY_CODE'
172223 , p_source_type_code => 'Y'
172224 , p_source_application_id => 602
172225 );
172226 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
172227 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
172228 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
172229 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
172230 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
172231 l_rec_acct_attrs.array_num_value(7) := p_source_79;
172232 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
172233 l_rec_acct_attrs.array_char_value(8) := p_source_80;
172234 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
172238 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
172235 l_rec_acct_attrs.array_char_value(9) := p_source_81;
172236 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
172237 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
172239 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
172240 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
172241 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
172242 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
172243 l_rec_acct_attrs.array_char_value(13) := p_source_43;
172244 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
172245 l_rec_acct_attrs.array_num_value(14) := p_source_53;
172246 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
172247 l_rec_acct_attrs.array_num_value(15) := p_source_54;
172248 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
172249 l_rec_acct_attrs.array_char_value(16) := p_source_55;
172250 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
172251 l_rec_acct_attrs.array_num_value(17) := p_source_56;
172252 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
172253 l_rec_acct_attrs.array_num_value(18) := p_source_57;
172254 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
172255 l_rec_acct_attrs.array_num_value(19) := p_source_58;
172256 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
172257 l_rec_acct_attrs.array_char_value(20) := p_source_55;
172258 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
172259 l_rec_acct_attrs.array_num_value(21) := p_source_59;
172260 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
172261 l_rec_acct_attrs.array_char_value(22) := p_source_60;
172262 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
172263 l_rec_acct_attrs.array_num_value(23) := p_source_61;
172264 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
172265 l_rec_acct_attrs.array_char_value(24) := p_source_55;
172266 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
172267 l_rec_acct_attrs.array_date_value(25) := p_source_136;
172268 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
172269 l_rec_acct_attrs.array_num_value(26) := p_source_137;
172270 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
172271 l_rec_acct_attrs.array_char_value(27) := p_source_138;
172272 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
172273 l_rec_acct_attrs.array_num_value(28) := p_source_9;
172274 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
172275 l_rec_acct_attrs.array_date_value(29) := p_source_65;
172276 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
172277 l_rec_acct_attrs.array_char_value(30) := p_source_66;
172278 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
172279 l_rec_acct_attrs.array_date_value(31) := p_source_67;
172280 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
172281 l_rec_acct_attrs.array_char_value(32) := p_source_68;
172282 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
172283 l_rec_acct_attrs.array_num_value(33) := p_source_69;
172284 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
172285 l_rec_acct_attrs.array_num_value(34) := p_source_70;
172286 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
172287 l_rec_acct_attrs.array_char_value(35) := p_source_71;
172288 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
172289 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
172290 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
172291 l_rec_acct_attrs.array_char_value(37) := p_source_43;
172292 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
172293 l_rec_acct_attrs.array_num_value(38) := p_source_73;
172294 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
172295 l_rec_acct_attrs.array_num_value(39) := p_source_74;
172296 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
172297 l_rec_acct_attrs.array_num_value(40) := p_source_75;
172298 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
172299 l_rec_acct_attrs.array_num_value(41) := p_source_76;
172300 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
172301 l_rec_acct_attrs.array_num_value(42) := p_source_77;
172302 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
172303 l_rec_acct_attrs.array_num_value(43) := p_source_78;
172304
172305 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
172306 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
172307
172308 ---------------------------------------------------------------------------------------------------------------
172309 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
172310 ---------------------------------------------------------------------------------------------------------------
172311 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
172312
172313 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
172314 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
172315
172316 IF xla_accounting_cache_pkg.GetValueChar
172317 (p_source_code => 'LEDGER_CATEGORY_CODE'
172321 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
172318 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
172319 AND l_bflow_method_code = 'PRIOR_ENTRY'
172320 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
172322 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
172323 )
172324 THEN
172325 xla_ae_lines_pkg.BflowUpgEntry
172326 (p_business_method_code => l_bflow_method_code
172327 ,p_business_class_code => l_bflow_class_code
172328 ,p_balance_type => l_balance_type_code);
172329 ELSE
172330 NULL;
172331 -- No business flow processing for business flow method of NONE.
172332 END IF;
172333
172334 --
172335 -- call analytical criteria
172336 --
172337
172338 --
172339 -- call description
172340 --
172341
172342 xla_ae_lines_pkg.SetLineDescription(
172343 p_ae_header_id => l_ae_header_id
172344 ,p_description => Description_2 (
172345 p_application_id => p_application_id
172346 , p_ae_header_id => l_ae_header_id
172347 , p_source_1 => p_source_1
172348 )
172349 );
172350
172351
172352 --
172353 -- call ADRs
172354 -- Bug 4922099
172355 --
172356 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
172357 (NVL(l_actual_upg_option, 'N') = 'O') OR
172358 (NVL(l_enc_upg_option, 'N') = 'O')
172359 )
172360 THEN
172361 NULL;
172362 --
172363 --
172364
172365 l_ccid := AcctDerRule_32(
172366 p_application_id => p_application_id
172367 , p_ae_header_id => l_ae_header_id
172368 , p_source_18 => p_source_18
172369 , x_transaction_coa_id => l_adr_transaction_coa_id
172370 , x_accounting_coa_id => l_adr_accounting_coa_id
172371 , x_value_type_code => l_adr_value_type_code
172372 , p_side => 'NA'
172373 );
172374
172375 xla_ae_lines_pkg.set_ccid(
172376 p_code_combination_id => l_ccid
172377 , p_value_type_code => l_adr_value_type_code
172378 , p_transaction_coa_id => l_adr_transaction_coa_id
172379 , p_accounting_coa_id => l_adr_accounting_coa_id
172380 , p_adr_code => 'AP_INVOICE_DIST'
172381 , p_adr_type_code => 'S'
172382 , p_component_type => l_component_type
172383 , p_component_code => l_component_code
172384 , p_component_type_code => l_component_type_code
172385 , p_component_appl_id => l_component_appl_id
172386 , p_amb_context_code => l_amb_context_code
172387 , p_side => 'NA'
172388 );
172389
172390
172391 --
172392 --
172393 END IF;
172394 --
172395 -- Bug 4922099
172396 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
172397 (NVL(l_enc_upg_option, 'N') = 'O')
172398 ) AND
172399 (l_bflow_method_code = 'PRIOR_ENTRY')
172400 )
172401 THEN
172402 IF
172403 --
172404 1 = 2
172405 --
172406 THEN
172407 xla_accounting_err_pkg.build_message
172408 (p_appli_s_name => 'XLA'
172409 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
172410 ,p_token_1 => 'LINE_NUMBER'
172411 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
172412 ,p_token_2 => 'LINE_TYPE_NAME'
172413 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
172414 l_component_type
172415 ,l_component_code
172416 ,l_component_type_code
172417 ,l_component_appl_id
172418 ,l_amb_context_code
172419 ,l_entity_code
172420 ,l_event_class_code
172421 )
172422 ,p_token_3 => 'OWNER'
172423 ,p_value_3 => xla_lookups_pkg.get_meaning(
172424 p_lookup_type => 'XLA_OWNER_TYPE'
172425 ,p_lookup_code => l_component_type_code
172426 )
172427 ,p_token_4 => 'PRODUCT_NAME'
172428 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
172429 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
172430 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
172434
172431 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
172432 ,p_ae_header_id => NULL
172433 );
172435 IF (C_LEVEL_ERROR>= g_log_level) THEN
172436 trace
172437 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
172438 ,p_level => C_LEVEL_ERROR
172439 ,p_module => l_log_module);
172440 END IF;
172441 END IF;
172442 END IF;
172443 --
172444 --
172445 ------------------------------------------------------------------------------------------------
172446 -- 4219869 Business Flow
172447 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
172448 -- Prior Entry. Currently, the following code is always generated.
172449 ------------------------------------------------------------------------------------------------
172450 XLA_AE_LINES_PKG.ValidateCurrentLine;
172451
172452 ------------------------------------------------------------------------------------
172453 -- 4219869 Business Flow
172454 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
172455 ------------------------------------------------------------------------------------
172456 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
172457
172458 ----------------------------------------------------------------------------------
172459 -- 4219869 Business Flow
172460 -- Update journal entry status -- Need to generate this within IF <condition>
172461 ----------------------------------------------------------------------------------
172462 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
172463 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
172464 ,p_balance_type_code => l_balance_type_code
172465 );
172466
172467 -------------------------------------------------------------------------------------------
172468 -- 4262811 - Generate the Accrual Reversal lines
172469 -------------------------------------------------------------------------------------------
172470 BEGIN
172471 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
172472 (g_array_event(p_event_id).array_value_num('header_index'));
172473 IF l_acc_rev_flag IS NULL THEN
172474 l_acc_rev_flag := 'N';
172475 END IF;
172476 EXCEPTION
172477 WHEN OTHERS THEN
172478 l_acc_rev_flag := 'N';
172479 END;
172480 --
172481 IF (l_acc_rev_flag = 'Y') THEN
172482
172483 -- 4645092 ------------------------------------------------------------------------------
172484 -- To allow MPA report to determine if it should generate report process
172485 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
172486 ------------------------------------------------------------------------------------------
172487
172488 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
172489 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
172490 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
172491 -- call ADRs
172492 -- Bug 4922099
172493 --
172494 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
172495 (NVL(l_actual_upg_option, 'N') = 'O') OR
172496 (NVL(l_enc_upg_option, 'N') = 'O')
172497 )
172498 THEN
172499 NULL;
172500 --
172501 --
172502
172503 l_ccid := AcctDerRule_32(
172504 p_application_id => p_application_id
172505 , p_ae_header_id => l_ae_header_id
172506 , p_source_18 => p_source_18
172507 , x_transaction_coa_id => l_adr_transaction_coa_id
172508 , x_accounting_coa_id => l_adr_accounting_coa_id
172509 , x_value_type_code => l_adr_value_type_code
172510 , p_side => 'NA'
172511 );
172512
172513 xla_ae_lines_pkg.set_ccid(
172514 p_code_combination_id => l_ccid
172515 , p_value_type_code => l_adr_value_type_code
172516 , p_transaction_coa_id => l_adr_transaction_coa_id
172517 , p_accounting_coa_id => l_adr_accounting_coa_id
172518 , p_adr_code => 'AP_INVOICE_DIST'
172519 , p_adr_type_code => 'S'
172520 , p_component_type => l_component_type
172521 , p_component_code => l_component_code
172522 , p_component_type_code => l_component_type_code
172523 , p_component_appl_id => l_component_appl_id
172524 , p_amb_context_code => l_amb_context_code
172525 , p_side => 'NA'
172526 );
172527
172528
172529 --
172530 --
172531 END IF;
172532
172533 --
172534 -- Update the line information that should be overwritten
172535 --
172536 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
172537 p_header_num => 1);
172538 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
172539
172540 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
172541
172542 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
172546 --
172543 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
172544 END IF;
172545
172547 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
172548 --
172549 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
172550 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
172551 ELSE
172552 ---------------------------------------------------------------------------------------------------
172553 -- 4262811a Switch Sign
172554 ---------------------------------------------------------------------------------------------------
172555 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
172556 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
172557 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
172558 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
172559 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
172560 -- 5132302
172561 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
172562 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
172563
172564 END IF;
172565
172566 -- 4955764
172567 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
172568 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
172569
172570
172571 XLA_AE_LINES_PKG.ValidateCurrentLine;
172572 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
172573
172574 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
172575 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
172576 ,p_balance_type_code => l_balance_type_code);
172577
172578 END IF;
172579
172580 -----------------------------------------------------------------------------------------
172581 -- 4262811 Multiperiod Accounting
172582 -----------------------------------------------------------------------------------------
172583 -- No MPA option is assigned.
172584
172585
172586 END IF;
172587 END IF;
172588 --
172589
172590 --
172591 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
172592 trace
172593 (p_msg => 'END of AcctLineType_277'
172594 ,p_level => C_LEVEL_PROCEDURE
172595 ,p_module => l_log_module);
172596 END IF;
172597 --
172598 EXCEPTION
172599 WHEN xla_exceptions_pkg.application_exception THEN
172600 RAISE;
172601 WHEN OTHERS THEN
172602 xla_exceptions_pkg.raise_message
172603 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_277');
172604 END AcctLineType_277;
172605 --
172606
172607 ---------------------------------------
172608 --
172609 -- PRIVATE FUNCTION
172610 -- AcctLineType_278
172611 --
172612 ---------------------------------------
172613 PROCEDURE AcctLineType_278 (
172614 p_application_id IN NUMBER
172615 ,p_event_id IN NUMBER
172616 ,p_calculate_acctd_flag IN VARCHAR2
172617 ,p_calculate_g_l_flag IN VARCHAR2
172618 ,p_actual_flag IN OUT VARCHAR2
172619 ,p_balance_type_code OUT VARCHAR2
172620 ,p_gain_or_loss_ref OUT VARCHAR2
172621
172622 --Invoice Distribution Type
172623 , p_source_21 IN VARCHAR2
172624 , p_source_21_meaning IN VARCHAR2
172625 --Accounting Reversal Indicator
172626 , p_source_41 IN VARCHAR2
172627 --Distribution Link Type
172628 , p_source_43 IN VARCHAR2
172629 --Allocation to Main Distribution Identifier
172630 , p_source_45 IN NUMBER
172631 --Invoice Identifier
172632 , p_source_46 IN NUMBER
172633 --Invoice Distribution Identifier
172634 , p_source_52 IN NUMBER
172635 --Payables Encumbrance Upgrade Credit Account
172636 , p_source_53 IN NUMBER
172637 --Payables Encumbrance Upgrade Credit Amount
172638 , p_source_54 IN NUMBER
172639 --Invoice Currency Code
172640 , p_source_55 IN VARCHAR2
172641 --Payables Encumbrance Upgrade Credit Base Amount
172642 , p_source_56 IN NUMBER
172643 --Payables Encumbrance Upgrade Debit Account
172644 , p_source_57 IN NUMBER
172645 --Payables Encumbrance Upgrade Debit Amount
172646 , p_source_58 IN NUMBER
172647 --Payables Encumbrance Upgrade Debit Base Amount
172648 , p_source_59 IN NUMBER
172649 --Payables Encumbrance Upgrade Option
172650 , p_source_60 IN VARCHAR2
172651 --Deferred Accounting End Date
172652 , p_source_65 IN DATE
172653 --Deferred Accounting Option
172654 , p_source_66 IN VARCHAR2
172655 --Deferred Accounting Start Date
172656 , p_source_67 IN DATE
172657 --Override Accounted Amount Indicator
172658 , p_source_68 IN VARCHAR2
172659 , p_source_68_meaning IN VARCHAR2
172660 --Third Party Type
172661 , p_source_71 IN VARCHAR2
172662 --Parent Reversal Identifier
172663 , p_source_72 IN NUMBER
172664 --Invoice Distribution Statistical Amount
172665 , p_source_73 IN NUMBER
172669 , p_source_75 IN NUMBER
172666 --Invoice Distribution Tax Line Identifier
172667 , p_source_74 IN NUMBER
172668 --Invoice Distribution Tax Distribution Identifier from Tax
172670 --Invoice Distribution Summary Tax Line Identifier
172671 , p_source_76 IN NUMBER
172672 --Payables Upgrade Credit Encumbrance Type Identifier
172673 , p_source_77 IN NUMBER
172674 --Payables Upgrade Debit Encumbrance Type Identifier
172675 , p_source_78 IN NUMBER
172676 --Business Flow Accounts Payable Application Identifier
172677 , p_source_79 IN NUMBER
172678 --Business Flow Invoice Distribution Type
172679 , p_source_80 IN VARCHAR2
172680 --Business Flow Invoice Entity Code
172681 , p_source_81 IN VARCHAR2
172682 --Business Flow Invoice Distribution Identifier
172683 , p_source_82 IN NUMBER
172684 --Business Flow Invoice Identifier
172685 , p_source_83 IN NUMBER
172686 --Purchasing Encumbrance Option
172687 , p_source_86 IN VARCHAR2
172688 , p_source_86_meaning IN VARCHAR2
172689 --Invoice Encumbered Option
172690 , p_source_87 IN VARCHAR2
172691 , p_source_87_meaning IN VARCHAR2
172692 --Invoice Distribution Encumbrance Amount
172693 , p_source_143 IN NUMBER
172694 --Invoice Distribution Encumbrance Ledger Amount
172695 , p_source_144 IN NUMBER
172696 )
172697 IS
172698
172699 l_component_type VARCHAR2(80);
172700 l_component_code VARCHAR2(30);
172701 l_component_type_code VARCHAR2(1);
172702 l_component_appl_id INTEGER;
172703 l_amb_context_code VARCHAR2(30);
172704 l_entity_code VARCHAR2(30);
172705 l_event_class_code VARCHAR2(30);
172706 l_ae_header_id NUMBER;
172707 l_event_type_code VARCHAR2(30);
172708 l_line_definition_code VARCHAR2(30);
172709 l_line_definition_owner_code VARCHAR2(1);
172710 --
172711 -- adr variables
172712 l_segment VARCHAR2(30);
172713 l_ccid NUMBER;
172714 l_adr_transaction_coa_id NUMBER;
172715 l_adr_accounting_coa_id NUMBER;
172716 l_adr_flexfield_segment_code VARCHAR2(30);
172717 l_adr_flex_value_set_id NUMBER;
172718 l_adr_value_type_code VARCHAR2(30);
172719 l_adr_value_combination_id NUMBER;
172720 l_adr_value_segment_code VARCHAR2(30);
172721
172722 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
172723 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
172724 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
172725 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
172726
172727 -- 4262811 Variables ------------------------------------------------------------------------------------------
172728 l_entered_amt_idx NUMBER;
172729 l_accted_amt_idx NUMBER;
172730 l_acc_rev_flag VARCHAR2(1);
172731 l_accrual_line_num NUMBER;
172732 l_tmp_amt NUMBER;
172733 l_acc_rev_natural_side_code VARCHAR2(1);
172734
172735 l_num_entries NUMBER;
172736 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
172737 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
172738 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
172739 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
172740 l_recog_line_1 NUMBER;
172741 l_recog_line_2 NUMBER;
172742
172743 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
172744 l_bflow_applied_to_amt NUMBER; -- 5132302
172745 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
172746
172747 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
172748
172749 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
172750 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
172751
172752 ---------------------------------------------------------------------------------------------------------------
172753
172754
172755 --
172756 -- bulk performance
172757 --
172758 l_balance_type_code VARCHAR2(1);
172759 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
172760 l_log_module VARCHAR2(240);
172761
172762 --
172763 -- Upgrade strategy
172764 --
172765 l_actual_upg_option VARCHAR2(1);
172766 l_enc_upg_option VARCHAR2(1);
172767
172768 --
172769 BEGIN
172770 --
172771 IF g_log_enabled THEN
172772 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_278';
172773 END IF;
172774 --
172775 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
172776
172777 trace
172778 (p_msg => 'BEGIN of AcctLineType_278'
172779 ,p_level => C_LEVEL_PROCEDURE
172780 ,p_module => l_log_module);
172781
172782 END IF;
172783 --
172784 l_component_type := 'AMB_JLT';
172785 l_component_code := 'AP_TAX_RATE_VAR_CM_ENC';
172786 l_component_type_code := 'S';
172787 l_component_appl_id := 200;
172788 l_amb_context_code := 'DEFAULT';
172789 l_entity_code := 'AP_INVOICES';
172790 l_event_class_code := 'CREDIT MEMOS';
172791 l_event_type_code := 'CREDIT MEMOS_ALL';
172792 l_line_definition_owner_code := 'S';
172793 l_line_definition_code := 'ENC_REV_CM_ALL';
172794 --
172795 l_balance_type_code := 'E';
172799 l_adr_accounting_coa_id := NULL;
172796 l_segment := NULL;
172797 l_ccid := NULL;
172798 l_adr_transaction_coa_id := NULL;
172800 l_adr_flexfield_segment_code := NULL;
172801 l_adr_flex_value_set_id := NULL;
172802 l_adr_value_type_code := NULL;
172803 l_adr_value_combination_id := NULL;
172804 l_adr_value_segment_code := NULL;
172805
172806 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
172807 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
172808 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
172809 l_budgetary_control_flag := 'N';
172810
172811 l_bflow_applied_to_amt_idx := NULL; -- 5132302
172812 l_bflow_applied_to_amt := NULL; -- 5132302
172813 l_entered_amt_idx := NULL; -- 4262811
172814 l_accted_amt_idx := NULL; -- 4262811
172815 l_acc_rev_flag := NULL; -- 4262811
172816 l_accrual_line_num := NULL; -- 4262811
172817 l_tmp_amt := NULL; -- 4262811
172818 --
172819
172820 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
172821 l_balance_type_code <> 'B' THEN
172822 IF NVL(p_source_21,'
172823 ') = 'TRV' AND
172824 NVL(p_source_86,'
172825 ') = 'Y' AND
172826 NVL(p_source_87,'
172827 ') = 'Y'
172828 THEN
172829
172830 --
172831 XLA_AE_LINES_PKG.SetNewLine;
172832
172833 p_balance_type_code := l_balance_type_code;
172834 -- set the flag so later we will know whether the gain loss line needs to be created
172835
172836 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
172837 p_actual_flag :='A';
172838 END IF;
172839
172840 --
172841 -- bulk performance
172842 --
172843 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
172844 p_header_num => 0); -- 4262811
172845 --
172846 -- set accounting line options
172847 --
172848 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
172849 p_natural_side_code => 'C'
172850 , p_gain_or_loss_flag => 'N'
172851 , p_gl_transfer_mode_code => 'S'
172852 , p_acct_entry_type_code => 'E'
172853 , p_switch_side_flag => 'Y'
172854 , p_merge_duplicate_code => 'A'
172855 );
172856 --
172857 l_acc_rev_natural_side_code := 'D'; -- 4262811
172858 --
172859 --
172860 -- set accounting line type info
172861 --
172862 xla_ae_lines_pkg.SetAcctLineType
172863 (p_component_type => l_component_type
172864 ,p_event_type_code => l_event_type_code
172865 ,p_line_definition_owner_code => l_line_definition_owner_code
172866 ,p_line_definition_code => l_line_definition_code
172867 ,p_accounting_line_code => l_component_code
172868 ,p_accounting_line_type_code => l_component_type_code
172869 ,p_accounting_line_appl_id => l_component_appl_id
172870 ,p_amb_context_code => l_amb_context_code
172871 ,p_entity_code => l_entity_code
172872 ,p_event_class_code => l_event_class_code);
172873 --
172874 -- set accounting class
172875 --
172876 xla_ae_lines_pkg.SetAcctClass(
172877 p_accounting_class_code => 'TRV'
172878 , p_ae_header_id => l_ae_header_id
172879 );
172880
172881 --
172882 -- set rounding class
172883 --
172884 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
172885 'TRV';
172886
172887 --
172888 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
172889 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
172890 --
172891 -- bulk performance
172892 --
172893 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
172894
172895 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
172896 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
172897
172898 -- 4955764
172899 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
172900 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
172901
172902 -- 4458381 Public Sector Enh
172903
172904 --
172905 -- set accounting attributes for the line type
172906 --
172907 l_entered_amt_idx := 23;
172908 l_accted_amt_idx := 25;
172909 l_bflow_applied_to_amt_idx := NULL; -- 5132302
172910 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
172911 l_rec_acct_attrs.array_char_value(1) := p_source_41;
172912 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
172913 l_rec_acct_attrs.array_num_value(2) :=
172914 xla_ae_sources_pkg.GetSystemSourceNum(
172915 p_source_code => 'XLA_EVENT_APPL_ID'
172916 , p_source_type_code => 'Y'
172917 , p_source_application_id => 602
172918 );
172919 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
172920 l_rec_acct_attrs.array_char_value(3) := p_source_43;
172921 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
172922 l_rec_acct_attrs.array_char_value(4) :=
172926 , p_source_application_id => 602
172923 xla_ae_sources_pkg.GetSystemSourceChar(
172924 p_source_code => 'XLA_ENTITY_CODE'
172925 , p_source_type_code => 'Y'
172927 );
172928 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
172929 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
172930 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
172931 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
172932 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
172933 l_rec_acct_attrs.array_num_value(7) := p_source_79;
172934 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
172935 l_rec_acct_attrs.array_char_value(8) := p_source_80;
172936 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
172937 l_rec_acct_attrs.array_char_value(9) := p_source_81;
172938 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
172939 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
172940 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
172941 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
172942 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
172943 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
172944 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
172945 l_rec_acct_attrs.array_char_value(13) := p_source_43;
172946 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
172947 l_rec_acct_attrs.array_num_value(14) := p_source_53;
172948 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
172949 l_rec_acct_attrs.array_num_value(15) := p_source_54;
172950 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
172951 l_rec_acct_attrs.array_char_value(16) := p_source_55;
172952 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
172953 l_rec_acct_attrs.array_num_value(17) := p_source_56;
172954 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
172955 l_rec_acct_attrs.array_num_value(18) := p_source_57;
172956 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
172957 l_rec_acct_attrs.array_num_value(19) := p_source_58;
172958 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
172959 l_rec_acct_attrs.array_char_value(20) := p_source_55;
172960 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
172961 l_rec_acct_attrs.array_num_value(21) := p_source_59;
172962 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
172963 l_rec_acct_attrs.array_char_value(22) := p_source_60;
172964 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
172965 l_rec_acct_attrs.array_num_value(23) := p_source_143;
172966 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
172967 l_rec_acct_attrs.array_char_value(24) := p_source_55;
172968 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
172969 l_rec_acct_attrs.array_num_value(25) := p_source_144;
172970 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
172971 l_rec_acct_attrs.array_date_value(26) := p_source_65;
172972 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
172973 l_rec_acct_attrs.array_char_value(27) := p_source_66;
172974 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
172975 l_rec_acct_attrs.array_date_value(28) := p_source_67;
172976 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
172977 l_rec_acct_attrs.array_char_value(29) := p_source_68;
172978 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
172979 l_rec_acct_attrs.array_char_value(30) := p_source_71;
172980 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
172981 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
172982 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
172983 l_rec_acct_attrs.array_char_value(32) := p_source_43;
172984 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
172985 l_rec_acct_attrs.array_num_value(33) := p_source_73;
172986 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
172987 l_rec_acct_attrs.array_num_value(34) := p_source_74;
172988 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
172989 l_rec_acct_attrs.array_num_value(35) := p_source_75;
172990 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
172991 l_rec_acct_attrs.array_num_value(36) := p_source_76;
172992 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
172993 l_rec_acct_attrs.array_num_value(37) := p_source_77;
172994 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
172995 l_rec_acct_attrs.array_num_value(38) := p_source_78;
172996
172997 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
172998 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
172999
173000 ---------------------------------------------------------------------------------------------------------------
173001 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
173002 ---------------------------------------------------------------------------------------------------------------
173003 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
173004
173005 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
173009 (p_source_code => 'LEDGER_CATEGORY_CODE'
173006 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
173007
173008 IF xla_accounting_cache_pkg.GetValueChar
173010 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
173011 AND l_bflow_method_code = 'PRIOR_ENTRY'
173012 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
173013 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
173014 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
173015 )
173016 THEN
173017 xla_ae_lines_pkg.BflowUpgEntry
173018 (p_business_method_code => l_bflow_method_code
173019 ,p_business_class_code => l_bflow_class_code
173020 ,p_balance_type => l_balance_type_code);
173021 ELSE
173022 NULL;
173023 XLA_AE_LINES_PKG.business_flow_validation(
173024 p_business_method_code => l_bflow_method_code
173025 ,p_business_class_code => l_bflow_class_code
173026 ,p_inherit_description_flag => l_inherit_desc_flag);
173027 END IF;
173028
173029 --
173030 -- call analytical criteria
173031 --
173032 -- Inherited Analytical Criteria for business flow method of Prior Entry.
173033 --
173034 -- call description
173035 --
173036 -- No description or it is inherited.
173037 --
173038 -- call ADRs
173039 -- Bug 4922099
173040 --
173041 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
173042 (NVL(l_actual_upg_option, 'N') = 'O') OR
173043 (NVL(l_enc_upg_option, 'N') = 'O')
173044 )
173045 THEN
173046 NULL;
173047 --
173048 --
173049
173050 --
173051 --
173052 END IF;
173053 --
173054 -- Bug 4922099
173055 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
173056 (NVL(l_enc_upg_option, 'N') = 'O')
173057 ) AND
173058 (l_bflow_method_code = 'PRIOR_ENTRY')
173059 )
173060 THEN
173061 IF
173062 --
173063 1 = 1
173064 --
173065 THEN
173066 xla_accounting_err_pkg.build_message
173067 (p_appli_s_name => 'XLA'
173068 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
173069 ,p_token_1 => 'LINE_NUMBER'
173070 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
173071 ,p_token_2 => 'LINE_TYPE_NAME'
173072 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
173073 l_component_type
173074 ,l_component_code
173075 ,l_component_type_code
173076 ,l_component_appl_id
173077 ,l_amb_context_code
173078 ,l_entity_code
173079 ,l_event_class_code
173080 )
173081 ,p_token_3 => 'OWNER'
173082 ,p_value_3 => xla_lookups_pkg.get_meaning(
173083 p_lookup_type => 'XLA_OWNER_TYPE'
173084 ,p_lookup_code => l_component_type_code
173085 )
173086 ,p_token_4 => 'PRODUCT_NAME'
173087 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
173088 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
173089 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
173090 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
173091 ,p_ae_header_id => NULL
173092 );
173093
173094 IF (C_LEVEL_ERROR>= g_log_level) THEN
173095 trace
173096 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
173097 ,p_level => C_LEVEL_ERROR
173098 ,p_module => l_log_module);
173099 END IF;
173100 END IF;
173101 END IF;
173102 --
173103 --
173104 ------------------------------------------------------------------------------------------------
173105 -- 4219869 Business Flow
173106 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
173107 -- Prior Entry. Currently, the following code is always generated.
173108 ------------------------------------------------------------------------------------------------
173109 -- No ValidateCurrentLine for business flow method of Prior Entry
173110
173114 ------------------------------------------------------------------------------------
173111 ------------------------------------------------------------------------------------
173112 -- 4219869 Business Flow
173113 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
173115 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
173116
173117 ----------------------------------------------------------------------------------
173118 -- 4219869 Business Flow
173119 -- Update journal entry status -- Need to generate this within IF <condition>
173120 ----------------------------------------------------------------------------------
173121 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
173122 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
173123 ,p_balance_type_code => l_balance_type_code
173124 );
173125
173126 -------------------------------------------------------------------------------------------
173127 -- 4262811 - Generate the Accrual Reversal lines
173128 -------------------------------------------------------------------------------------------
173129 BEGIN
173130 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
173131 (g_array_event(p_event_id).array_value_num('header_index'));
173132 IF l_acc_rev_flag IS NULL THEN
173133 l_acc_rev_flag := 'N';
173134 END IF;
173135 EXCEPTION
173136 WHEN OTHERS THEN
173137 l_acc_rev_flag := 'N';
173138 END;
173139 --
173140 IF (l_acc_rev_flag = 'Y') THEN
173141
173142 -- 4645092 ------------------------------------------------------------------------------
173143 -- To allow MPA report to determine if it should generate report process
173144 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
173145 ------------------------------------------------------------------------------------------
173146
173147 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
173148 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
173149 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
173150 -- call ADRs
173151 -- Bug 4922099
173152 --
173153 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
173154 (NVL(l_actual_upg_option, 'N') = 'O') OR
173155 (NVL(l_enc_upg_option, 'N') = 'O')
173156 )
173157 THEN
173158 NULL;
173159 --
173160 --
173161
173162 --
173163 --
173164 END IF;
173165
173166 --
173167 -- Update the line information that should be overwritten
173168 --
173169 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
173170 p_header_num => 1);
173171 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
173172
173173 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
173174
173175 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
173176 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
173177 END IF;
173178
173179 --
173180 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
173181 --
173182 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
173183 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
173184 ELSE
173185 ---------------------------------------------------------------------------------------------------
173186 -- 4262811a Switch Sign
173187 ---------------------------------------------------------------------------------------------------
173188 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
173189 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
173190 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
173191 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
173192 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
173193 -- 5132302
173194 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
173195 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
173196
173197 END IF;
173198
173199 -- 4955764
173200 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
173201 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
173202
173203
173204 XLA_AE_LINES_PKG.ValidateCurrentLine;
173205 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
173206
173207 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
173208 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
173209 ,p_balance_type_code => l_balance_type_code);
173210
173211 END IF;
173212
173213 -----------------------------------------------------------------------------------------
173214 -- 4262811 Multiperiod Accounting
173215 -----------------------------------------------------------------------------------------
173216 -- No MPA option is assigned.
173217
173218
173222
173219 END IF;
173220 END IF;
173221 --
173223 --
173224 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
173225 trace
173226 (p_msg => 'END of AcctLineType_278'
173227 ,p_level => C_LEVEL_PROCEDURE
173228 ,p_module => l_log_module);
173229 END IF;
173230 --
173231 EXCEPTION
173232 WHEN xla_exceptions_pkg.application_exception THEN
173233 RAISE;
173234 WHEN OTHERS THEN
173235 xla_exceptions_pkg.raise_message
173236 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_278');
173237 END AcctLineType_278;
173238 --
173239
173240 ---------------------------------------
173241 --
173242 -- PRIVATE FUNCTION
173243 -- AcctLineType_279
173244 --
173245 ---------------------------------------
173246 PROCEDURE AcctLineType_279 (
173247 p_application_id IN NUMBER
173248 ,p_event_id IN NUMBER
173249 ,p_calculate_acctd_flag IN VARCHAR2
173250 ,p_calculate_g_l_flag IN VARCHAR2
173251 ,p_actual_flag IN OUT VARCHAR2
173252 ,p_balance_type_code OUT VARCHAR2
173253 ,p_gain_or_loss_ref OUT VARCHAR2
173254
173255 --Invoice Distribution Description
173256 , p_source_1 IN VARCHAR2
173257 --Invoice Distribution Ledger Amount
173258 , p_source_9 IN NUMBER
173259 --Invoice Distribution Account
173260 , p_source_18 IN NUMBER
173261 --Invoice Distribution Type
173262 , p_source_21 IN VARCHAR2
173263 , p_source_21_meaning IN VARCHAR2
173264 --Accounting Reversal Indicator
173265 , p_source_41 IN VARCHAR2
173266 --Distribution Link Type
173267 , p_source_43 IN VARCHAR2
173268 --Allocation to Main Distribution Identifier
173269 , p_source_45 IN NUMBER
173270 --Invoice Identifier
173271 , p_source_46 IN NUMBER
173272 --Invoice Distribution Identifier
173273 , p_source_52 IN NUMBER
173274 --Payables Encumbrance Upgrade Credit Account
173275 , p_source_53 IN NUMBER
173276 --Payables Encumbrance Upgrade Credit Amount
173277 , p_source_54 IN NUMBER
173278 --Invoice Currency Code
173279 , p_source_55 IN VARCHAR2
173280 --Payables Encumbrance Upgrade Credit Base Amount
173281 , p_source_56 IN NUMBER
173282 --Payables Encumbrance Upgrade Debit Account
173283 , p_source_57 IN NUMBER
173284 --Payables Encumbrance Upgrade Debit Amount
173285 , p_source_58 IN NUMBER
173286 --Payables Encumbrance Upgrade Debit Base Amount
173287 , p_source_59 IN NUMBER
173288 --Payables Encumbrance Upgrade Option
173289 , p_source_60 IN VARCHAR2
173290 --Invoice Distribution Amount
173291 , p_source_61 IN NUMBER
173292 --Deferred Accounting End Date
173293 , p_source_65 IN DATE
173294 --Deferred Accounting Option
173295 , p_source_66 IN VARCHAR2
173296 --Deferred Accounting Start Date
173297 , p_source_67 IN DATE
173298 --Override Accounted Amount Indicator
173299 , p_source_68 IN VARCHAR2
173300 , p_source_68_meaning IN VARCHAR2
173301 --Invoice Supplier Identifier
173302 , p_source_69 IN NUMBER
173303 --Invoice Supplier Site Identifier
173304 , p_source_70 IN NUMBER
173305 --Third Party Type
173306 , p_source_71 IN VARCHAR2
173307 --Parent Reversal Identifier
173308 , p_source_72 IN NUMBER
173309 --Invoice Distribution Tax Line Identifier
173310 , p_source_74 IN NUMBER
173311 --Invoice Distribution Tax Distribution Identifier from Tax
173312 , p_source_75 IN NUMBER
173313 --Invoice Distribution Summary Tax Line Identifier
173314 , p_source_76 IN NUMBER
173315 --Payables Upgrade Credit Encumbrance Type Identifier
173316 , p_source_77 IN NUMBER
173317 --Payables Upgrade Debit Encumbrance Type Identifier
173318 , p_source_78 IN NUMBER
173319 --Business Flow Accounts Payable Application Identifier
173320 , p_source_79 IN NUMBER
173321 --Business Flow Invoice Distribution Type
173322 , p_source_80 IN VARCHAR2
173323 --Business Flow Invoice Entity Code
173324 , p_source_81 IN VARCHAR2
173325 --Business Flow Invoice Distribution Identifier
173326 , p_source_82 IN NUMBER
173327 --Business Flow Invoice Identifier
173328 , p_source_83 IN NUMBER
173329 --Accrue on Receipt Option
173330 , p_source_84 IN VARCHAR2
173331 , p_source_84_meaning IN VARCHAR2
173332 --Invoice Exchange Date
173333 , p_source_136 IN DATE
173334 --Invoice Exchange Rate
173335 , p_source_137 IN NUMBER
173336 --Invoice Exchange Rate Type
173337 , p_source_138 IN VARCHAR2
173338 )
173339 IS
173340
173341 l_component_type VARCHAR2(80);
173342 l_component_code VARCHAR2(30);
173343 l_component_type_code VARCHAR2(1);
173344 l_component_appl_id INTEGER;
173345 l_amb_context_code VARCHAR2(30);
173346 l_entity_code VARCHAR2(30);
173347 l_event_class_code VARCHAR2(30);
173348 l_ae_header_id NUMBER;
173349 l_event_type_code VARCHAR2(30);
173350 l_line_definition_code VARCHAR2(30);
173351 l_line_definition_owner_code VARCHAR2(1);
173352 --
173353 -- adr variables
173354 l_segment VARCHAR2(30);
173355 l_ccid NUMBER;
173356 l_adr_transaction_coa_id NUMBER;
173357 l_adr_accounting_coa_id NUMBER;
173358 l_adr_flexfield_segment_code VARCHAR2(30);
173362 l_adr_value_segment_code VARCHAR2(30);
173359 l_adr_flex_value_set_id NUMBER;
173360 l_adr_value_type_code VARCHAR2(30);
173361 l_adr_value_combination_id NUMBER;
173363
173364 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
173365 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
173366 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
173367 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
173368
173369 -- 4262811 Variables ------------------------------------------------------------------------------------------
173370 l_entered_amt_idx NUMBER;
173371 l_accted_amt_idx NUMBER;
173372 l_acc_rev_flag VARCHAR2(1);
173373 l_accrual_line_num NUMBER;
173374 l_tmp_amt NUMBER;
173375 l_acc_rev_natural_side_code VARCHAR2(1);
173376
173377 l_num_entries NUMBER;
173378 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
173379 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
173380 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
173381 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
173382 l_recog_line_1 NUMBER;
173383 l_recog_line_2 NUMBER;
173384
173385 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
173386 l_bflow_applied_to_amt NUMBER; -- 5132302
173387 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
173388
173389 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
173390
173391 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
173392 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
173393
173394 ---------------------------------------------------------------------------------------------------------------
173395
173396
173397 --
173398 -- bulk performance
173399 --
173400 l_balance_type_code VARCHAR2(1);
173401 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
173402 l_log_module VARCHAR2(240);
173403
173404 --
173405 -- Upgrade strategy
173406 --
173407 l_actual_upg_option VARCHAR2(1);
173408 l_enc_upg_option VARCHAR2(1);
173409
173410 --
173411 BEGIN
173412 --
173413 IF g_log_enabled THEN
173414 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_279';
173415 END IF;
173416 --
173417 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
173418
173419 trace
173420 (p_msg => 'BEGIN of AcctLineType_279'
173421 ,p_level => C_LEVEL_PROCEDURE
173422 ,p_module => l_log_module);
173423
173424 END IF;
173425 --
173426 l_component_type := 'AMB_JLT';
173427 l_component_code := 'AP_TAX_RATE_VAR_DM';
173428 l_component_type_code := 'S';
173429 l_component_appl_id := 200;
173430 l_amb_context_code := 'DEFAULT';
173431 l_entity_code := 'AP_INVOICES';
173432 l_event_class_code := 'DEBIT MEMOS';
173433 l_event_type_code := 'DEBIT MEMOS_ALL';
173434 l_line_definition_owner_code := 'S';
173435 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
173436 --
173437 l_balance_type_code := 'A';
173438 l_segment := NULL;
173439 l_ccid := NULL;
173440 l_adr_transaction_coa_id := NULL;
173441 l_adr_accounting_coa_id := NULL;
173442 l_adr_flexfield_segment_code := NULL;
173443 l_adr_flex_value_set_id := NULL;
173444 l_adr_value_type_code := NULL;
173445 l_adr_value_combination_id := NULL;
173446 l_adr_value_segment_code := NULL;
173447
173448 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
173449 l_bflow_class_code := ''; -- 4219869 Business Flow
173450 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
173451 l_budgetary_control_flag := 'N';
173452
173453 l_bflow_applied_to_amt_idx := NULL; -- 5132302
173454 l_bflow_applied_to_amt := NULL; -- 5132302
173455 l_entered_amt_idx := NULL; -- 4262811
173456 l_accted_amt_idx := NULL; -- 4262811
173457 l_acc_rev_flag := NULL; -- 4262811
173458 l_accrual_line_num := NULL; -- 4262811
173459 l_tmp_amt := NULL; -- 4262811
173460 --
173461
173462 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
173463 l_balance_type_code <> 'B' THEN
173464 IF NVL(p_source_21,'
173465 ') = 'TRV' AND
173466 NVL(p_source_84,'
173467 ') = 'Y'
173468 THEN
173469
173470 --
173471 XLA_AE_LINES_PKG.SetNewLine;
173472
173473 p_balance_type_code := l_balance_type_code;
173474 -- set the flag so later we will know whether the gain loss line needs to be created
173475
173476 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
173477 p_actual_flag :='A';
173478 END IF;
173479
173480 --
173481 -- bulk performance
173482 --
173483 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
173484 p_header_num => 0); -- 4262811
173485 --
173486 -- set accounting line options
173487 --
173488 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
173489 p_natural_side_code => 'D'
173493 , p_switch_side_flag => 'Y'
173490 , p_gain_or_loss_flag => 'N'
173491 , p_gl_transfer_mode_code => 'S'
173492 , p_acct_entry_type_code => 'A'
173494 , p_merge_duplicate_code => 'A'
173495 );
173496 --
173497 l_acc_rev_natural_side_code := 'C'; -- 4262811
173498 --
173499 --
173500 -- set accounting line type info
173501 --
173502 xla_ae_lines_pkg.SetAcctLineType
173503 (p_component_type => l_component_type
173504 ,p_event_type_code => l_event_type_code
173505 ,p_line_definition_owner_code => l_line_definition_owner_code
173506 ,p_line_definition_code => l_line_definition_code
173507 ,p_accounting_line_code => l_component_code
173508 ,p_accounting_line_type_code => l_component_type_code
173509 ,p_accounting_line_appl_id => l_component_appl_id
173510 ,p_amb_context_code => l_amb_context_code
173511 ,p_entity_code => l_entity_code
173512 ,p_event_class_code => l_event_class_code);
173513 --
173514 -- set accounting class
173515 --
173516 xla_ae_lines_pkg.SetAcctClass(
173517 p_accounting_class_code => 'TRV'
173518 , p_ae_header_id => l_ae_header_id
173519 );
173520
173521 --
173522 -- set rounding class
173523 --
173524 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
173525 'TRV';
173526
173527 --
173528 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
173529 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
173530 --
173531 -- bulk performance
173532 --
173533 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
173534
173535 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
173536 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
173537
173538 -- 4955764
173539 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
173540 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
173541
173542 -- 4458381 Public Sector Enh
173543
173544 --
173545 -- set accounting attributes for the line type
173546 --
173547 l_entered_amt_idx := 23;
173548 l_accted_amt_idx := 28;
173549 l_bflow_applied_to_amt_idx := NULL; -- 5132302
173550 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
173551 l_rec_acct_attrs.array_char_value(1) := p_source_41;
173552 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
173553 l_rec_acct_attrs.array_num_value(2) :=
173554 xla_ae_sources_pkg.GetSystemSourceNum(
173555 p_source_code => 'XLA_EVENT_APPL_ID'
173556 , p_source_type_code => 'Y'
173557 , p_source_application_id => 602
173558 );
173559 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
173560 l_rec_acct_attrs.array_char_value(3) := p_source_43;
173561 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
173562 l_rec_acct_attrs.array_char_value(4) :=
173563 xla_ae_sources_pkg.GetSystemSourceChar(
173564 p_source_code => 'XLA_ENTITY_CODE'
173565 , p_source_type_code => 'Y'
173566 , p_source_application_id => 602
173567 );
173568 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
173569 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
173570 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
173571 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
173572 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
173573 l_rec_acct_attrs.array_num_value(7) := p_source_79;
173574 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
173575 l_rec_acct_attrs.array_char_value(8) := p_source_80;
173576 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
173577 l_rec_acct_attrs.array_char_value(9) := p_source_81;
173578 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
173579 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
173580 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
173581 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
173582 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
173583 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
173584 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
173585 l_rec_acct_attrs.array_char_value(13) := p_source_43;
173586 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
173587 l_rec_acct_attrs.array_num_value(14) := p_source_53;
173588 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
173589 l_rec_acct_attrs.array_num_value(15) := p_source_54;
173590 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
173591 l_rec_acct_attrs.array_char_value(16) := p_source_55;
173592 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
173593 l_rec_acct_attrs.array_num_value(17) := p_source_56;
173594 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
173595 l_rec_acct_attrs.array_num_value(18) := p_source_57;
173596 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
173600 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
173597 l_rec_acct_attrs.array_num_value(19) := p_source_58;
173598 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
173599 l_rec_acct_attrs.array_char_value(20) := p_source_55;
173601 l_rec_acct_attrs.array_num_value(21) := p_source_59;
173602 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
173603 l_rec_acct_attrs.array_char_value(22) := p_source_60;
173604 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
173605 l_rec_acct_attrs.array_num_value(23) := p_source_61;
173606 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
173607 l_rec_acct_attrs.array_char_value(24) := p_source_55;
173608 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
173609 l_rec_acct_attrs.array_date_value(25) := p_source_136;
173610 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
173611 l_rec_acct_attrs.array_num_value(26) := p_source_137;
173612 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
173613 l_rec_acct_attrs.array_char_value(27) := p_source_138;
173614 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
173615 l_rec_acct_attrs.array_num_value(28) := p_source_9;
173616 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
173617 l_rec_acct_attrs.array_date_value(29) := p_source_65;
173618 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
173619 l_rec_acct_attrs.array_char_value(30) := p_source_66;
173620 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
173621 l_rec_acct_attrs.array_date_value(31) := p_source_67;
173622 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
173623 l_rec_acct_attrs.array_char_value(32) := p_source_68;
173624 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
173625 l_rec_acct_attrs.array_num_value(33) := p_source_69;
173626 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
173627 l_rec_acct_attrs.array_num_value(34) := p_source_70;
173628 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
173629 l_rec_acct_attrs.array_char_value(35) := p_source_71;
173630 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
173631 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
173632 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
173633 l_rec_acct_attrs.array_char_value(37) := p_source_43;
173634 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
173635 l_rec_acct_attrs.array_num_value(38) := p_source_74;
173636 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
173637 l_rec_acct_attrs.array_num_value(39) := p_source_75;
173638 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
173639 l_rec_acct_attrs.array_num_value(40) := p_source_76;
173640 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
173641 l_rec_acct_attrs.array_num_value(41) := p_source_77;
173642 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
173643 l_rec_acct_attrs.array_num_value(42) := p_source_78;
173644
173645 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
173646 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
173647
173648 ---------------------------------------------------------------------------------------------------------------
173649 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
173650 ---------------------------------------------------------------------------------------------------------------
173651 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
173652
173653 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
173654 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
173655
173656 IF xla_accounting_cache_pkg.GetValueChar
173657 (p_source_code => 'LEDGER_CATEGORY_CODE'
173658 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
173659 AND l_bflow_method_code = 'PRIOR_ENTRY'
173660 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
173661 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
173662 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
173663 )
173664 THEN
173665 xla_ae_lines_pkg.BflowUpgEntry
173666 (p_business_method_code => l_bflow_method_code
173667 ,p_business_class_code => l_bflow_class_code
173668 ,p_balance_type => l_balance_type_code);
173669 ELSE
173670 NULL;
173671 -- No business flow processing for business flow method of NONE.
173672 END IF;
173673
173674 --
173675 -- call analytical criteria
173676 --
173677
173678 --
173679 -- call description
173680 --
173681
173682 xla_ae_lines_pkg.SetLineDescription(
173683 p_ae_header_id => l_ae_header_id
173684 ,p_description => Description_2 (
173685 p_application_id => p_application_id
173686 , p_ae_header_id => l_ae_header_id
173687 , p_source_1 => p_source_1
173688 )
173689 );
173690
173691
173692 --
173693 -- call ADRs
173694 -- Bug 4922099
173695 --
173696 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
173697 (NVL(l_actual_upg_option, 'N') = 'O') OR
173701 NULL;
173698 (NVL(l_enc_upg_option, 'N') = 'O')
173699 )
173700 THEN
173702 --
173703 --
173704
173705 l_ccid := AcctDerRule_32(
173706 p_application_id => p_application_id
173707 , p_ae_header_id => l_ae_header_id
173708 , p_source_18 => p_source_18
173709 , x_transaction_coa_id => l_adr_transaction_coa_id
173710 , x_accounting_coa_id => l_adr_accounting_coa_id
173711 , x_value_type_code => l_adr_value_type_code
173712 , p_side => 'NA'
173713 );
173714
173715 xla_ae_lines_pkg.set_ccid(
173716 p_code_combination_id => l_ccid
173717 , p_value_type_code => l_adr_value_type_code
173718 , p_transaction_coa_id => l_adr_transaction_coa_id
173719 , p_accounting_coa_id => l_adr_accounting_coa_id
173720 , p_adr_code => 'AP_INVOICE_DIST'
173721 , p_adr_type_code => 'S'
173722 , p_component_type => l_component_type
173723 , p_component_code => l_component_code
173724 , p_component_type_code => l_component_type_code
173725 , p_component_appl_id => l_component_appl_id
173726 , p_amb_context_code => l_amb_context_code
173727 , p_side => 'NA'
173728 );
173729
173730
173731 --
173732 --
173733 END IF;
173734 --
173735 -- Bug 4922099
173736 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
173737 (NVL(l_enc_upg_option, 'N') = 'O')
173738 ) AND
173739 (l_bflow_method_code = 'PRIOR_ENTRY')
173740 )
173741 THEN
173742 IF
173743 --
173744 1 = 2
173745 --
173746 THEN
173747 xla_accounting_err_pkg.build_message
173748 (p_appli_s_name => 'XLA'
173749 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
173750 ,p_token_1 => 'LINE_NUMBER'
173751 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
173752 ,p_token_2 => 'LINE_TYPE_NAME'
173753 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
173754 l_component_type
173755 ,l_component_code
173756 ,l_component_type_code
173757 ,l_component_appl_id
173758 ,l_amb_context_code
173759 ,l_entity_code
173760 ,l_event_class_code
173761 )
173762 ,p_token_3 => 'OWNER'
173763 ,p_value_3 => xla_lookups_pkg.get_meaning(
173764 p_lookup_type => 'XLA_OWNER_TYPE'
173765 ,p_lookup_code => l_component_type_code
173766 )
173767 ,p_token_4 => 'PRODUCT_NAME'
173768 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
173769 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
173770 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
173771 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
173772 ,p_ae_header_id => NULL
173773 );
173774
173775 IF (C_LEVEL_ERROR>= g_log_level) THEN
173776 trace
173777 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
173778 ,p_level => C_LEVEL_ERROR
173779 ,p_module => l_log_module);
173780 END IF;
173781 END IF;
173782 END IF;
173783 --
173784 --
173785 ------------------------------------------------------------------------------------------------
173786 -- 4219869 Business Flow
173787 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
173788 -- Prior Entry. Currently, the following code is always generated.
173789 ------------------------------------------------------------------------------------------------
173790 XLA_AE_LINES_PKG.ValidateCurrentLine;
173791
173792 ------------------------------------------------------------------------------------
173793 -- 4219869 Business Flow
173794 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
173795 ------------------------------------------------------------------------------------
173796 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
173797
173801 ----------------------------------------------------------------------------------
173798 ----------------------------------------------------------------------------------
173799 -- 4219869 Business Flow
173800 -- Update journal entry status -- Need to generate this within IF <condition>
173802 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
173803 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
173804 ,p_balance_type_code => l_balance_type_code
173805 );
173806
173807 -------------------------------------------------------------------------------------------
173808 -- 4262811 - Generate the Accrual Reversal lines
173809 -------------------------------------------------------------------------------------------
173810 BEGIN
173811 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
173812 (g_array_event(p_event_id).array_value_num('header_index'));
173813 IF l_acc_rev_flag IS NULL THEN
173814 l_acc_rev_flag := 'N';
173815 END IF;
173816 EXCEPTION
173817 WHEN OTHERS THEN
173818 l_acc_rev_flag := 'N';
173819 END;
173820 --
173821 IF (l_acc_rev_flag = 'Y') THEN
173822
173823 -- 4645092 ------------------------------------------------------------------------------
173824 -- To allow MPA report to determine if it should generate report process
173825 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
173826 ------------------------------------------------------------------------------------------
173827
173828 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
173829 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
173830 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
173831 -- call ADRs
173832 -- Bug 4922099
173833 --
173834 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
173835 (NVL(l_actual_upg_option, 'N') = 'O') OR
173836 (NVL(l_enc_upg_option, 'N') = 'O')
173837 )
173838 THEN
173839 NULL;
173840 --
173841 --
173842
173843 l_ccid := AcctDerRule_32(
173844 p_application_id => p_application_id
173845 , p_ae_header_id => l_ae_header_id
173846 , p_source_18 => p_source_18
173847 , x_transaction_coa_id => l_adr_transaction_coa_id
173848 , x_accounting_coa_id => l_adr_accounting_coa_id
173849 , x_value_type_code => l_adr_value_type_code
173850 , p_side => 'NA'
173851 );
173852
173853 xla_ae_lines_pkg.set_ccid(
173854 p_code_combination_id => l_ccid
173855 , p_value_type_code => l_adr_value_type_code
173856 , p_transaction_coa_id => l_adr_transaction_coa_id
173857 , p_accounting_coa_id => l_adr_accounting_coa_id
173858 , p_adr_code => 'AP_INVOICE_DIST'
173859 , p_adr_type_code => 'S'
173860 , p_component_type => l_component_type
173861 , p_component_code => l_component_code
173862 , p_component_type_code => l_component_type_code
173863 , p_component_appl_id => l_component_appl_id
173864 , p_amb_context_code => l_amb_context_code
173865 , p_side => 'NA'
173866 );
173867
173868
173869 --
173870 --
173871 END IF;
173872
173873 --
173874 -- Update the line information that should be overwritten
173875 --
173876 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
173877 p_header_num => 1);
173878 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
173879
173880 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
173881
173882 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
173883 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
173884 END IF;
173885
173886 --
173887 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
173888 --
173889 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
173890 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
173891 ELSE
173892 ---------------------------------------------------------------------------------------------------
173893 -- 4262811a Switch Sign
173894 ---------------------------------------------------------------------------------------------------
173895 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
173896 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
173897 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
173898 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
173899 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
173900 -- 5132302
173901 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
173902 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
173903
173904 END IF;
173905
173906 -- 4955764
173907 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
173911 XLA_AE_LINES_PKG.ValidateCurrentLine;
173908 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
173909
173910
173912 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
173913
173914 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
173915 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
173916 ,p_balance_type_code => l_balance_type_code);
173917
173918 END IF;
173919
173920 -----------------------------------------------------------------------------------------
173921 -- 4262811 Multiperiod Accounting
173922 -----------------------------------------------------------------------------------------
173923 -- No MPA option is assigned.
173924
173925
173926 END IF;
173927 END IF;
173928 --
173929
173930 --
173931 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
173932 trace
173933 (p_msg => 'END of AcctLineType_279'
173934 ,p_level => C_LEVEL_PROCEDURE
173935 ,p_module => l_log_module);
173936 END IF;
173937 --
173938 EXCEPTION
173939 WHEN xla_exceptions_pkg.application_exception THEN
173940 RAISE;
173941 WHEN OTHERS THEN
173942 xla_exceptions_pkg.raise_message
173943 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_279');
173944 END AcctLineType_279;
173945 --
173946
173947 ---------------------------------------
173948 --
173949 -- PRIVATE FUNCTION
173950 -- AcctLineType_280
173951 --
173952 ---------------------------------------
173953 PROCEDURE AcctLineType_280 (
173954 p_application_id IN NUMBER
173955 ,p_event_id IN NUMBER
173956 ,p_calculate_acctd_flag IN VARCHAR2
173957 ,p_calculate_g_l_flag IN VARCHAR2
173958 ,p_actual_flag IN OUT VARCHAR2
173959 ,p_balance_type_code OUT VARCHAR2
173960 ,p_gain_or_loss_ref OUT VARCHAR2
173961
173962 --Invoice Distribution Type
173963 , p_source_21 IN VARCHAR2
173964 , p_source_21_meaning IN VARCHAR2
173965 --Accounting Reversal Indicator
173966 , p_source_41 IN VARCHAR2
173967 --Distribution Link Type
173968 , p_source_43 IN VARCHAR2
173969 --Allocation to Main Distribution Identifier
173970 , p_source_45 IN NUMBER
173971 --Invoice Identifier
173972 , p_source_46 IN NUMBER
173973 --Invoice Distribution Identifier
173974 , p_source_52 IN NUMBER
173975 --Payables Encumbrance Upgrade Credit Account
173976 , p_source_53 IN NUMBER
173977 --Payables Encumbrance Upgrade Credit Amount
173978 , p_source_54 IN NUMBER
173979 --Invoice Currency Code
173980 , p_source_55 IN VARCHAR2
173981 --Payables Encumbrance Upgrade Credit Base Amount
173982 , p_source_56 IN NUMBER
173983 --Payables Encumbrance Upgrade Debit Account
173984 , p_source_57 IN NUMBER
173985 --Payables Encumbrance Upgrade Debit Amount
173986 , p_source_58 IN NUMBER
173987 --Payables Encumbrance Upgrade Debit Base Amount
173988 , p_source_59 IN NUMBER
173989 --Payables Encumbrance Upgrade Option
173990 , p_source_60 IN VARCHAR2
173991 --Deferred Accounting End Date
173992 , p_source_65 IN DATE
173993 --Deferred Accounting Option
173994 , p_source_66 IN VARCHAR2
173995 --Deferred Accounting Start Date
173996 , p_source_67 IN DATE
173997 --Override Accounted Amount Indicator
173998 , p_source_68 IN VARCHAR2
173999 , p_source_68_meaning IN VARCHAR2
174000 --Third Party Type
174001 , p_source_71 IN VARCHAR2
174002 --Parent Reversal Identifier
174003 , p_source_72 IN NUMBER
174004 --Invoice Distribution Tax Line Identifier
174005 , p_source_74 IN NUMBER
174006 --Invoice Distribution Tax Distribution Identifier from Tax
174007 , p_source_75 IN NUMBER
174008 --Invoice Distribution Summary Tax Line Identifier
174009 , p_source_76 IN NUMBER
174010 --Payables Upgrade Credit Encumbrance Type Identifier
174011 , p_source_77 IN NUMBER
174012 --Payables Upgrade Debit Encumbrance Type Identifier
174013 , p_source_78 IN NUMBER
174014 --Business Flow Accounts Payable Application Identifier
174015 , p_source_79 IN NUMBER
174016 --Business Flow Invoice Distribution Type
174017 , p_source_80 IN VARCHAR2
174018 --Business Flow Invoice Entity Code
174019 , p_source_81 IN VARCHAR2
174020 --Business Flow Invoice Distribution Identifier
174021 , p_source_82 IN NUMBER
174022 --Business Flow Invoice Identifier
174023 , p_source_83 IN NUMBER
174024 --Purchasing Encumbrance Option
174025 , p_source_86 IN VARCHAR2
174026 , p_source_86_meaning IN VARCHAR2
174027 --Invoice Encumbered Option
174028 , p_source_87 IN VARCHAR2
174029 , p_source_87_meaning IN VARCHAR2
174030 --Invoice Distribution Encumbrance Amount
174031 , p_source_143 IN NUMBER
174032 --Invoice Distribution Encumbrance Ledger Amount
174033 , p_source_144 IN NUMBER
174034 )
174035 IS
174036
174037 l_component_type VARCHAR2(80);
174038 l_component_code VARCHAR2(30);
174039 l_component_type_code VARCHAR2(1);
174040 l_component_appl_id INTEGER;
174041 l_amb_context_code VARCHAR2(30);
174042 l_entity_code VARCHAR2(30);
174043 l_event_class_code VARCHAR2(30);
174044 l_ae_header_id NUMBER;
174048 --
174045 l_event_type_code VARCHAR2(30);
174046 l_line_definition_code VARCHAR2(30);
174047 l_line_definition_owner_code VARCHAR2(1);
174049 -- adr variables
174050 l_segment VARCHAR2(30);
174051 l_ccid NUMBER;
174052 l_adr_transaction_coa_id NUMBER;
174053 l_adr_accounting_coa_id NUMBER;
174054 l_adr_flexfield_segment_code VARCHAR2(30);
174055 l_adr_flex_value_set_id NUMBER;
174056 l_adr_value_type_code VARCHAR2(30);
174057 l_adr_value_combination_id NUMBER;
174058 l_adr_value_segment_code VARCHAR2(30);
174059
174060 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
174061 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
174062 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
174063 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
174064
174065 -- 4262811 Variables ------------------------------------------------------------------------------------------
174066 l_entered_amt_idx NUMBER;
174067 l_accted_amt_idx NUMBER;
174068 l_acc_rev_flag VARCHAR2(1);
174069 l_accrual_line_num NUMBER;
174070 l_tmp_amt NUMBER;
174071 l_acc_rev_natural_side_code VARCHAR2(1);
174072
174073 l_num_entries NUMBER;
174074 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
174075 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
174076 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
174077 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
174078 l_recog_line_1 NUMBER;
174079 l_recog_line_2 NUMBER;
174080
174081 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
174082 l_bflow_applied_to_amt NUMBER; -- 5132302
174083 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
174084
174085 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
174086
174087 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
174088 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
174089
174090 ---------------------------------------------------------------------------------------------------------------
174091
174092
174093 --
174094 -- bulk performance
174095 --
174096 l_balance_type_code VARCHAR2(1);
174097 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
174098 l_log_module VARCHAR2(240);
174099
174100 --
174101 -- Upgrade strategy
174102 --
174103 l_actual_upg_option VARCHAR2(1);
174104 l_enc_upg_option VARCHAR2(1);
174105
174106 --
174107 BEGIN
174108 --
174109 IF g_log_enabled THEN
174110 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_280';
174111 END IF;
174112 --
174113 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
174114
174115 trace
174116 (p_msg => 'BEGIN of AcctLineType_280'
174117 ,p_level => C_LEVEL_PROCEDURE
174118 ,p_module => l_log_module);
174119
174120 END IF;
174121 --
174122 l_component_type := 'AMB_JLT';
174123 l_component_code := 'AP_TAX_RATE_VAR_DM_ENC';
174124 l_component_type_code := 'S';
174125 l_component_appl_id := 200;
174126 l_amb_context_code := 'DEFAULT';
174127 l_entity_code := 'AP_INVOICES';
174128 l_event_class_code := 'DEBIT MEMOS';
174129 l_event_type_code := 'DEBIT MEMOS_ALL';
174130 l_line_definition_owner_code := 'S';
174131 l_line_definition_code := 'ENC_REV_DM_ALL';
174132 --
174133 l_balance_type_code := 'E';
174134 l_segment := NULL;
174135 l_ccid := NULL;
174136 l_adr_transaction_coa_id := NULL;
174137 l_adr_accounting_coa_id := NULL;
174138 l_adr_flexfield_segment_code := NULL;
174139 l_adr_flex_value_set_id := NULL;
174140 l_adr_value_type_code := NULL;
174141 l_adr_value_combination_id := NULL;
174142 l_adr_value_segment_code := NULL;
174143
174144 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
174145 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
174146 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
174147 l_budgetary_control_flag := 'N';
174148
174149 l_bflow_applied_to_amt_idx := NULL; -- 5132302
174150 l_bflow_applied_to_amt := NULL; -- 5132302
174151 l_entered_amt_idx := NULL; -- 4262811
174152 l_accted_amt_idx := NULL; -- 4262811
174153 l_acc_rev_flag := NULL; -- 4262811
174154 l_accrual_line_num := NULL; -- 4262811
174155 l_tmp_amt := NULL; -- 4262811
174156 --
174157
174158 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
174159 l_balance_type_code <> 'B' THEN
174160 IF NVL(p_source_21,'
174161 ') = 'TRV' AND
174162 NVL(p_source_86,'
174163 ') = 'Y' AND
174164 NVL(p_source_87,'
174165 ') = 'Y'
174166 THEN
174167
174168 --
174169 XLA_AE_LINES_PKG.SetNewLine;
174170
174171 p_balance_type_code := l_balance_type_code;
174172 -- set the flag so later we will know whether the gain loss line needs to be created
174173
174174 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
174178 --
174175 p_actual_flag :='A';
174176 END IF;
174177
174179 -- bulk performance
174180 --
174181 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
174182 p_header_num => 0); -- 4262811
174183 --
174184 -- set accounting line options
174185 --
174186 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
174187 p_natural_side_code => 'C'
174188 , p_gain_or_loss_flag => 'N'
174189 , p_gl_transfer_mode_code => 'S'
174190 , p_acct_entry_type_code => 'E'
174191 , p_switch_side_flag => 'Y'
174192 , p_merge_duplicate_code => 'A'
174193 );
174194 --
174195 l_acc_rev_natural_side_code := 'D'; -- 4262811
174196 --
174197 --
174198 -- set accounting line type info
174199 --
174200 xla_ae_lines_pkg.SetAcctLineType
174201 (p_component_type => l_component_type
174202 ,p_event_type_code => l_event_type_code
174203 ,p_line_definition_owner_code => l_line_definition_owner_code
174204 ,p_line_definition_code => l_line_definition_code
174205 ,p_accounting_line_code => l_component_code
174206 ,p_accounting_line_type_code => l_component_type_code
174207 ,p_accounting_line_appl_id => l_component_appl_id
174208 ,p_amb_context_code => l_amb_context_code
174209 ,p_entity_code => l_entity_code
174210 ,p_event_class_code => l_event_class_code);
174211 --
174212 -- set accounting class
174213 --
174214 xla_ae_lines_pkg.SetAcctClass(
174215 p_accounting_class_code => 'TRV'
174216 , p_ae_header_id => l_ae_header_id
174217 );
174218
174219 --
174220 -- set rounding class
174221 --
174222 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
174223 'TRV';
174224
174225 --
174226 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
174227 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
174228 --
174229 -- bulk performance
174230 --
174231 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
174232
174233 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
174234 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
174235
174236 -- 4955764
174237 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
174238 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
174239
174240 -- 4458381 Public Sector Enh
174241
174242 --
174243 -- set accounting attributes for the line type
174244 --
174245 l_entered_amt_idx := 23;
174246 l_accted_amt_idx := 25;
174247 l_bflow_applied_to_amt_idx := NULL; -- 5132302
174248 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
174249 l_rec_acct_attrs.array_char_value(1) := p_source_41;
174250 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
174251 l_rec_acct_attrs.array_num_value(2) :=
174252 xla_ae_sources_pkg.GetSystemSourceNum(
174253 p_source_code => 'XLA_EVENT_APPL_ID'
174254 , p_source_type_code => 'Y'
174255 , p_source_application_id => 602
174256 );
174257 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
174258 l_rec_acct_attrs.array_char_value(3) := p_source_43;
174259 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
174260 l_rec_acct_attrs.array_char_value(4) :=
174261 xla_ae_sources_pkg.GetSystemSourceChar(
174262 p_source_code => 'XLA_ENTITY_CODE'
174263 , p_source_type_code => 'Y'
174264 , p_source_application_id => 602
174265 );
174266 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
174267 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
174268 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
174269 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
174270 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
174271 l_rec_acct_attrs.array_num_value(7) := p_source_79;
174272 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
174273 l_rec_acct_attrs.array_char_value(8) := p_source_80;
174274 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
174275 l_rec_acct_attrs.array_char_value(9) := p_source_81;
174276 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
174277 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
174278 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
174279 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
174280 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
174281 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
174282 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
174283 l_rec_acct_attrs.array_char_value(13) := p_source_43;
174284 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
174285 l_rec_acct_attrs.array_num_value(14) := p_source_53;
174286 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
174287 l_rec_acct_attrs.array_num_value(15) := p_source_54;
174291 l_rec_acct_attrs.array_num_value(17) := p_source_56;
174288 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
174289 l_rec_acct_attrs.array_char_value(16) := p_source_55;
174290 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
174292 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
174293 l_rec_acct_attrs.array_num_value(18) := p_source_57;
174294 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
174295 l_rec_acct_attrs.array_num_value(19) := p_source_58;
174296 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
174297 l_rec_acct_attrs.array_char_value(20) := p_source_55;
174298 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
174299 l_rec_acct_attrs.array_num_value(21) := p_source_59;
174300 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
174301 l_rec_acct_attrs.array_char_value(22) := p_source_60;
174302 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
174303 l_rec_acct_attrs.array_num_value(23) := p_source_143;
174304 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
174305 l_rec_acct_attrs.array_char_value(24) := p_source_55;
174306 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
174307 l_rec_acct_attrs.array_num_value(25) := p_source_144;
174308 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
174309 l_rec_acct_attrs.array_date_value(26) := p_source_65;
174310 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
174311 l_rec_acct_attrs.array_char_value(27) := p_source_66;
174312 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
174313 l_rec_acct_attrs.array_date_value(28) := p_source_67;
174314 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
174315 l_rec_acct_attrs.array_char_value(29) := p_source_68;
174316 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
174317 l_rec_acct_attrs.array_char_value(30) := p_source_71;
174318 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
174319 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
174320 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
174321 l_rec_acct_attrs.array_char_value(32) := p_source_43;
174322 l_rec_acct_attrs.array_acct_attr_code(33) := 'TAX_LINE_REF_ID';
174323 l_rec_acct_attrs.array_num_value(33) := p_source_74;
174324 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_REC_NREC_DIST_REF_ID';
174325 l_rec_acct_attrs.array_num_value(34) := p_source_75;
174326 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_SUMMARY_LINE_REF_ID';
174327 l_rec_acct_attrs.array_num_value(35) := p_source_76;
174328 l_rec_acct_attrs.array_acct_attr_code(36) := 'UPG_CR_ENC_TYPE_ID';
174329 l_rec_acct_attrs.array_num_value(36) := p_source_77;
174330 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_DR_ENC_TYPE_ID';
174331 l_rec_acct_attrs.array_num_value(37) := p_source_78;
174332
174333 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
174334 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
174335
174336 ---------------------------------------------------------------------------------------------------------------
174337 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
174338 ---------------------------------------------------------------------------------------------------------------
174339 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
174340
174341 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
174342 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
174343
174344 IF xla_accounting_cache_pkg.GetValueChar
174345 (p_source_code => 'LEDGER_CATEGORY_CODE'
174346 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
174347 AND l_bflow_method_code = 'PRIOR_ENTRY'
174348 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
174349 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
174350 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
174351 )
174352 THEN
174353 xla_ae_lines_pkg.BflowUpgEntry
174354 (p_business_method_code => l_bflow_method_code
174355 ,p_business_class_code => l_bflow_class_code
174356 ,p_balance_type => l_balance_type_code);
174357 ELSE
174358 NULL;
174359 XLA_AE_LINES_PKG.business_flow_validation(
174360 p_business_method_code => l_bflow_method_code
174361 ,p_business_class_code => l_bflow_class_code
174362 ,p_inherit_description_flag => l_inherit_desc_flag);
174363 END IF;
174364
174365 --
174366 -- call analytical criteria
174367 --
174368 -- Inherited Analytical Criteria for business flow method of Prior Entry.
174369 --
174370 -- call description
174371 --
174372 -- No description or it is inherited.
174373 --
174374 -- call ADRs
174375 -- Bug 4922099
174376 --
174377 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
174378 (NVL(l_actual_upg_option, 'N') = 'O') OR
174379 (NVL(l_enc_upg_option, 'N') = 'O')
174380 )
174381 THEN
174382 NULL;
174383 --
174384 --
174385
174386 --
174387 --
174391 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
174388 END IF;
174389 --
174390 -- Bug 4922099
174392 (NVL(l_enc_upg_option, 'N') = 'O')
174393 ) AND
174394 (l_bflow_method_code = 'PRIOR_ENTRY')
174395 )
174396 THEN
174397 IF
174398 --
174399 1 = 1
174400 --
174401 THEN
174402 xla_accounting_err_pkg.build_message
174403 (p_appli_s_name => 'XLA'
174404 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
174405 ,p_token_1 => 'LINE_NUMBER'
174406 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
174407 ,p_token_2 => 'LINE_TYPE_NAME'
174408 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
174409 l_component_type
174410 ,l_component_code
174411 ,l_component_type_code
174412 ,l_component_appl_id
174413 ,l_amb_context_code
174414 ,l_entity_code
174415 ,l_event_class_code
174416 )
174417 ,p_token_3 => 'OWNER'
174418 ,p_value_3 => xla_lookups_pkg.get_meaning(
174419 p_lookup_type => 'XLA_OWNER_TYPE'
174420 ,p_lookup_code => l_component_type_code
174421 )
174422 ,p_token_4 => 'PRODUCT_NAME'
174423 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
174424 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
174425 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
174426 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
174427 ,p_ae_header_id => NULL
174428 );
174429
174430 IF (C_LEVEL_ERROR>= g_log_level) THEN
174431 trace
174432 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
174433 ,p_level => C_LEVEL_ERROR
174434 ,p_module => l_log_module);
174435 END IF;
174436 END IF;
174437 END IF;
174438 --
174439 --
174440 ------------------------------------------------------------------------------------------------
174441 -- 4219869 Business Flow
174442 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
174443 -- Prior Entry. Currently, the following code is always generated.
174444 ------------------------------------------------------------------------------------------------
174445 -- No ValidateCurrentLine for business flow method of Prior Entry
174446
174447 ------------------------------------------------------------------------------------
174448 -- 4219869 Business Flow
174449 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
174450 ------------------------------------------------------------------------------------
174451 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
174452
174453 ----------------------------------------------------------------------------------
174454 -- 4219869 Business Flow
174455 -- Update journal entry status -- Need to generate this within IF <condition>
174456 ----------------------------------------------------------------------------------
174457 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
174458 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
174459 ,p_balance_type_code => l_balance_type_code
174460 );
174461
174462 -------------------------------------------------------------------------------------------
174463 -- 4262811 - Generate the Accrual Reversal lines
174464 -------------------------------------------------------------------------------------------
174465 BEGIN
174466 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
174467 (g_array_event(p_event_id).array_value_num('header_index'));
174468 IF l_acc_rev_flag IS NULL THEN
174469 l_acc_rev_flag := 'N';
174470 END IF;
174471 EXCEPTION
174472 WHEN OTHERS THEN
174473 l_acc_rev_flag := 'N';
174474 END;
174475 --
174476 IF (l_acc_rev_flag = 'Y') THEN
174477
174478 -- 4645092 ------------------------------------------------------------------------------
174479 -- To allow MPA report to determine if it should generate report process
174480 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
174484 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
174481 ------------------------------------------------------------------------------------------
174482
174483 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
174485 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
174486 -- call ADRs
174487 -- Bug 4922099
174488 --
174489 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
174490 (NVL(l_actual_upg_option, 'N') = 'O') OR
174491 (NVL(l_enc_upg_option, 'N') = 'O')
174492 )
174493 THEN
174494 NULL;
174495 --
174496 --
174497
174498 --
174499 --
174500 END IF;
174501
174502 --
174503 -- Update the line information that should be overwritten
174504 --
174505 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
174506 p_header_num => 1);
174507 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
174508
174509 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
174510
174511 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
174512 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
174513 END IF;
174514
174515 --
174516 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
174517 --
174518 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
174519 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
174520 ELSE
174521 ---------------------------------------------------------------------------------------------------
174522 -- 4262811a Switch Sign
174523 ---------------------------------------------------------------------------------------------------
174524 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
174525 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
174526 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
174527 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
174528 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
174529 -- 5132302
174530 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
174531 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
174532
174533 END IF;
174534
174535 -- 4955764
174536 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
174537 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
174538
174539
174540 XLA_AE_LINES_PKG.ValidateCurrentLine;
174541 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
174542
174543 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
174544 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
174545 ,p_balance_type_code => l_balance_type_code);
174546
174547 END IF;
174548
174549 -----------------------------------------------------------------------------------------
174550 -- 4262811 Multiperiod Accounting
174551 -----------------------------------------------------------------------------------------
174552 -- No MPA option is assigned.
174553
174554
174555 END IF;
174556 END IF;
174557 --
174558
174559 --
174560 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
174561 trace
174562 (p_msg => 'END of AcctLineType_280'
174563 ,p_level => C_LEVEL_PROCEDURE
174564 ,p_module => l_log_module);
174565 END IF;
174566 --
174567 EXCEPTION
174568 WHEN xla_exceptions_pkg.application_exception THEN
174569 RAISE;
174570 WHEN OTHERS THEN
174571 xla_exceptions_pkg.raise_message
174572 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_280');
174573 END AcctLineType_280;
174574 --
174575
174576 ---------------------------------------
174577 --
174578 -- PRIVATE FUNCTION
174579 -- AcctLineType_281
174580 --
174581 ---------------------------------------
174582 PROCEDURE AcctLineType_281 (
174583 p_application_id IN NUMBER
174584 ,p_event_id IN NUMBER
174585 ,p_calculate_acctd_flag IN VARCHAR2
174586 ,p_calculate_g_l_flag IN VARCHAR2
174587 ,p_actual_flag IN OUT VARCHAR2
174588 ,p_balance_type_code OUT VARCHAR2
174589 ,p_gain_or_loss_ref OUT VARCHAR2
174590
174591 --Invoice Distribution Description
174592 , p_source_1 IN VARCHAR2
174593 --Invoice Distribution Ledger Amount
174594 , p_source_9 IN NUMBER
174595 --Invoice Distribution Account
174596 , p_source_18 IN NUMBER
174597 --Invoice Distribution Type
174598 , p_source_21 IN VARCHAR2
174599 , p_source_21_meaning IN VARCHAR2
174600 --Accounting Reversal Indicator
174601 , p_source_41 IN VARCHAR2
174602 --Distribution Link Type
174603 , p_source_43 IN VARCHAR2
174604 --Allocation to Main Distribution Identifier
174605 , p_source_45 IN NUMBER
174606 --Invoice Identifier
174607 , p_source_46 IN NUMBER
174611 , p_source_53 IN NUMBER
174608 --Invoice Distribution Identifier
174609 , p_source_52 IN NUMBER
174610 --Payables Encumbrance Upgrade Credit Account
174612 --Payables Encumbrance Upgrade Credit Amount
174613 , p_source_54 IN NUMBER
174614 --Invoice Currency Code
174615 , p_source_55 IN VARCHAR2
174616 --Payables Encumbrance Upgrade Credit Base Amount
174617 , p_source_56 IN NUMBER
174618 --Payables Encumbrance Upgrade Debit Account
174619 , p_source_57 IN NUMBER
174620 --Payables Encumbrance Upgrade Debit Amount
174621 , p_source_58 IN NUMBER
174622 --Payables Encumbrance Upgrade Debit Base Amount
174623 , p_source_59 IN NUMBER
174624 --Payables Encumbrance Upgrade Option
174625 , p_source_60 IN VARCHAR2
174626 --Invoice Distribution Amount
174627 , p_source_61 IN NUMBER
174628 --Deferred Accounting End Date
174629 , p_source_65 IN DATE
174630 --Deferred Accounting Option
174631 , p_source_66 IN VARCHAR2
174632 --Deferred Accounting Start Date
174633 , p_source_67 IN DATE
174634 --Override Accounted Amount Indicator
174635 , p_source_68 IN VARCHAR2
174636 , p_source_68_meaning IN VARCHAR2
174637 --Invoice Supplier Identifier
174638 , p_source_69 IN NUMBER
174639 --Invoice Supplier Site Identifier
174640 , p_source_70 IN NUMBER
174641 --Third Party Type
174642 , p_source_71 IN VARCHAR2
174643 --Parent Reversal Identifier
174644 , p_source_72 IN NUMBER
174645 --Invoice Distribution Statistical Amount
174646 , p_source_73 IN NUMBER
174647 --Invoice Distribution Tax Line Identifier
174648 , p_source_74 IN NUMBER
174649 --Invoice Distribution Tax Distribution Identifier from Tax
174650 , p_source_75 IN NUMBER
174651 --Invoice Distribution Summary Tax Line Identifier
174652 , p_source_76 IN NUMBER
174653 --Payables Upgrade Credit Encumbrance Type Identifier
174654 , p_source_77 IN NUMBER
174655 --Payables Upgrade Debit Encumbrance Type Identifier
174656 , p_source_78 IN NUMBER
174657 --Business Flow Accounts Payable Application Identifier
174658 , p_source_79 IN NUMBER
174659 --Business Flow Invoice Distribution Type
174660 , p_source_80 IN VARCHAR2
174661 --Business Flow Invoice Entity Code
174662 , p_source_81 IN VARCHAR2
174663 --Business Flow Invoice Distribution Identifier
174664 , p_source_82 IN NUMBER
174665 --Business Flow Invoice Identifier
174666 , p_source_83 IN NUMBER
174667 --Accrue on Receipt Option
174668 , p_source_84 IN VARCHAR2
174669 , p_source_84_meaning IN VARCHAR2
174670 --Invoice Exchange Date
174671 , p_source_136 IN DATE
174672 --Invoice Exchange Rate
174673 , p_source_137 IN NUMBER
174674 --Invoice Exchange Rate Type
174675 , p_source_138 IN VARCHAR2
174676 )
174677 IS
174678
174679 l_component_type VARCHAR2(80);
174680 l_component_code VARCHAR2(30);
174681 l_component_type_code VARCHAR2(1);
174682 l_component_appl_id INTEGER;
174683 l_amb_context_code VARCHAR2(30);
174684 l_entity_code VARCHAR2(30);
174685 l_event_class_code VARCHAR2(30);
174686 l_ae_header_id NUMBER;
174687 l_event_type_code VARCHAR2(30);
174688 l_line_definition_code VARCHAR2(30);
174689 l_line_definition_owner_code VARCHAR2(1);
174690 --
174691 -- adr variables
174692 l_segment VARCHAR2(30);
174693 l_ccid NUMBER;
174694 l_adr_transaction_coa_id NUMBER;
174695 l_adr_accounting_coa_id NUMBER;
174696 l_adr_flexfield_segment_code VARCHAR2(30);
174697 l_adr_flex_value_set_id NUMBER;
174698 l_adr_value_type_code VARCHAR2(30);
174699 l_adr_value_combination_id NUMBER;
174700 l_adr_value_segment_code VARCHAR2(30);
174701
174702 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
174703 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
174704 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
174705 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
174706
174707 -- 4262811 Variables ------------------------------------------------------------------------------------------
174708 l_entered_amt_idx NUMBER;
174709 l_accted_amt_idx NUMBER;
174710 l_acc_rev_flag VARCHAR2(1);
174711 l_accrual_line_num NUMBER;
174712 l_tmp_amt NUMBER;
174713 l_acc_rev_natural_side_code VARCHAR2(1);
174714
174715 l_num_entries NUMBER;
174716 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
174717 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
174718 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
174719 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
174720 l_recog_line_1 NUMBER;
174721 l_recog_line_2 NUMBER;
174722
174723 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
174724 l_bflow_applied_to_amt NUMBER; -- 5132302
174725 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
174726
174727 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
174728
174729 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
174733
174730 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
174731
174732 ---------------------------------------------------------------------------------------------------------------
174734
174735 --
174736 -- bulk performance
174737 --
174738 l_balance_type_code VARCHAR2(1);
174739 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
174740 l_log_module VARCHAR2(240);
174741
174742 --
174743 -- Upgrade strategy
174744 --
174745 l_actual_upg_option VARCHAR2(1);
174746 l_enc_upg_option VARCHAR2(1);
174747
174748 --
174749 BEGIN
174750 --
174751 IF g_log_enabled THEN
174752 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_281';
174753 END IF;
174754 --
174755 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
174756
174757 trace
174758 (p_msg => 'BEGIN of AcctLineType_281'
174759 ,p_level => C_LEVEL_PROCEDURE
174760 ,p_module => l_log_module);
174761
174762 END IF;
174763 --
174764 l_component_type := 'AMB_JLT';
174765 l_component_code := 'AP_TAX_RATE_VAR_INV';
174766 l_component_type_code := 'S';
174767 l_component_appl_id := 200;
174768 l_amb_context_code := 'DEFAULT';
174769 l_entity_code := 'AP_INVOICES';
174770 l_event_class_code := 'INVOICES';
174771 l_event_type_code := 'INVOICES_ALL';
174772 l_line_definition_owner_code := 'S';
174773 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
174774 --
174775 l_balance_type_code := 'A';
174776 l_segment := NULL;
174777 l_ccid := NULL;
174778 l_adr_transaction_coa_id := NULL;
174779 l_adr_accounting_coa_id := NULL;
174780 l_adr_flexfield_segment_code := NULL;
174781 l_adr_flex_value_set_id := NULL;
174782 l_adr_value_type_code := NULL;
174783 l_adr_value_combination_id := NULL;
174784 l_adr_value_segment_code := NULL;
174785
174786 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
174787 l_bflow_class_code := ''; -- 4219869 Business Flow
174788 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
174789 l_budgetary_control_flag := 'N';
174790
174791 l_bflow_applied_to_amt_idx := NULL; -- 5132302
174792 l_bflow_applied_to_amt := NULL; -- 5132302
174793 l_entered_amt_idx := NULL; -- 4262811
174794 l_accted_amt_idx := NULL; -- 4262811
174795 l_acc_rev_flag := NULL; -- 4262811
174796 l_accrual_line_num := NULL; -- 4262811
174797 l_tmp_amt := NULL; -- 4262811
174798 --
174799
174800 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
174801 l_balance_type_code <> 'B' THEN
174802 IF NVL(p_source_21,'
174803 ') = 'TRV' AND
174804 NVL(p_source_84,'
174805 ') = 'Y'
174806 THEN
174807
174808 --
174809 XLA_AE_LINES_PKG.SetNewLine;
174810
174811 p_balance_type_code := l_balance_type_code;
174812 -- set the flag so later we will know whether the gain loss line needs to be created
174813
174814 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
174815 p_actual_flag :='A';
174816 END IF;
174817
174818 --
174819 -- bulk performance
174820 --
174821 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
174822 p_header_num => 0); -- 4262811
174823 --
174824 -- set accounting line options
174825 --
174826 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
174827 p_natural_side_code => 'D'
174828 , p_gain_or_loss_flag => 'N'
174829 , p_gl_transfer_mode_code => 'S'
174830 , p_acct_entry_type_code => 'A'
174831 , p_switch_side_flag => 'Y'
174832 , p_merge_duplicate_code => 'A'
174833 );
174834 --
174835 l_acc_rev_natural_side_code := 'C'; -- 4262811
174836 --
174837 --
174838 -- set accounting line type info
174839 --
174840 xla_ae_lines_pkg.SetAcctLineType
174841 (p_component_type => l_component_type
174842 ,p_event_type_code => l_event_type_code
174843 ,p_line_definition_owner_code => l_line_definition_owner_code
174844 ,p_line_definition_code => l_line_definition_code
174845 ,p_accounting_line_code => l_component_code
174846 ,p_accounting_line_type_code => l_component_type_code
174847 ,p_accounting_line_appl_id => l_component_appl_id
174848 ,p_amb_context_code => l_amb_context_code
174849 ,p_entity_code => l_entity_code
174850 ,p_event_class_code => l_event_class_code);
174851 --
174852 -- set accounting class
174853 --
174854 xla_ae_lines_pkg.SetAcctClass(
174855 p_accounting_class_code => 'TRV'
174856 , p_ae_header_id => l_ae_header_id
174857 );
174858
174859 --
174860 -- set rounding class
174861 --
174862 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
174863 'TRV';
174864
174865 --
174866 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
174870 --
174867 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
174868 --
174869 -- bulk performance
174871 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
174872
174873 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
174874 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
174875
174876 -- 4955764
174877 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
174878 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
174879
174880 -- 4458381 Public Sector Enh
174881
174882 --
174883 -- set accounting attributes for the line type
174884 --
174885 l_entered_amt_idx := 24;
174886 l_accted_amt_idx := 29;
174887 l_bflow_applied_to_amt_idx := 7; -- 5132302
174888 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
174889 l_rec_acct_attrs.array_char_value(1) := p_source_41;
174890 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
174891 l_rec_acct_attrs.array_num_value(2) :=
174892 xla_ae_sources_pkg.GetSystemSourceNum(
174893 p_source_code => 'XLA_EVENT_APPL_ID'
174894 , p_source_type_code => 'Y'
174895 , p_source_application_id => 602
174896 );
174897 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
174898 l_rec_acct_attrs.array_char_value(3) := p_source_43;
174899 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
174900 l_rec_acct_attrs.array_char_value(4) :=
174901 xla_ae_sources_pkg.GetSystemSourceChar(
174902 p_source_code => 'XLA_ENTITY_CODE'
174903 , p_source_type_code => 'Y'
174904 , p_source_application_id => 602
174905 );
174906 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
174907 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
174908 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
174909 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
174910 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
174911 l_rec_acct_attrs.array_num_value(7) := p_source_61;
174912 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
174913 l_rec_acct_attrs.array_num_value(8) := p_source_79;
174914 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
174915 l_rec_acct_attrs.array_char_value(9) := p_source_80;
174916 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
174917 l_rec_acct_attrs.array_char_value(10) := p_source_81;
174918 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
174919 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
174920 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
174921 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
174922 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
174923 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
174924 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
174925 l_rec_acct_attrs.array_char_value(14) := p_source_43;
174926 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
174927 l_rec_acct_attrs.array_num_value(15) := p_source_53;
174928 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
174929 l_rec_acct_attrs.array_num_value(16) := p_source_54;
174930 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
174931 l_rec_acct_attrs.array_char_value(17) := p_source_55;
174932 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
174933 l_rec_acct_attrs.array_num_value(18) := p_source_56;
174934 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
174935 l_rec_acct_attrs.array_num_value(19) := p_source_57;
174936 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
174937 l_rec_acct_attrs.array_num_value(20) := p_source_58;
174938 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
174939 l_rec_acct_attrs.array_char_value(21) := p_source_55;
174940 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
174941 l_rec_acct_attrs.array_num_value(22) := p_source_59;
174942 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
174943 l_rec_acct_attrs.array_char_value(23) := p_source_60;
174944 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
174945 l_rec_acct_attrs.array_num_value(24) := p_source_61;
174946 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
174947 l_rec_acct_attrs.array_char_value(25) := p_source_55;
174948 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
174949 l_rec_acct_attrs.array_date_value(26) := p_source_136;
174950 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
174951 l_rec_acct_attrs.array_num_value(27) := p_source_137;
174952 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
174953 l_rec_acct_attrs.array_char_value(28) := p_source_138;
174954 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
174955 l_rec_acct_attrs.array_num_value(29) := p_source_9;
174956 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
174957 l_rec_acct_attrs.array_date_value(30) := p_source_65;
174958 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
174962 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
174959 l_rec_acct_attrs.array_char_value(31) := p_source_66;
174960 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
174961 l_rec_acct_attrs.array_date_value(32) := p_source_67;
174963 l_rec_acct_attrs.array_char_value(33) := p_source_68;
174964 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
174965 l_rec_acct_attrs.array_num_value(34) := p_source_69;
174966 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
174967 l_rec_acct_attrs.array_num_value(35) := p_source_70;
174968 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
174969 l_rec_acct_attrs.array_char_value(36) := p_source_71;
174970 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
174971 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
174972 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
174973 l_rec_acct_attrs.array_char_value(38) := p_source_43;
174974 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
174975 l_rec_acct_attrs.array_num_value(39) := p_source_73;
174976 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
174977 l_rec_acct_attrs.array_num_value(40) := p_source_74;
174978 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
174979 l_rec_acct_attrs.array_num_value(41) := p_source_75;
174980 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
174981 l_rec_acct_attrs.array_num_value(42) := p_source_76;
174982 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
174983 l_rec_acct_attrs.array_num_value(43) := p_source_77;
174984 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
174985 l_rec_acct_attrs.array_num_value(44) := p_source_78;
174986
174987 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
174988 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
174989
174990 ---------------------------------------------------------------------------------------------------------------
174991 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
174992 ---------------------------------------------------------------------------------------------------------------
174993 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
174994
174995 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
174996 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
174997
174998 IF xla_accounting_cache_pkg.GetValueChar
174999 (p_source_code => 'LEDGER_CATEGORY_CODE'
175000 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
175001 AND l_bflow_method_code = 'PRIOR_ENTRY'
175002 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
175003 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
175004 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
175005 )
175006 THEN
175007 xla_ae_lines_pkg.BflowUpgEntry
175008 (p_business_method_code => l_bflow_method_code
175009 ,p_business_class_code => l_bflow_class_code
175010 ,p_balance_type => l_balance_type_code);
175011 ELSE
175012 NULL;
175013 -- No business flow processing for business flow method of NONE.
175014 END IF;
175015
175016 --
175017 -- call analytical criteria
175018 --
175019
175020 --
175021 -- call description
175022 --
175023
175024 xla_ae_lines_pkg.SetLineDescription(
175025 p_ae_header_id => l_ae_header_id
175026 ,p_description => Description_2 (
175027 p_application_id => p_application_id
175028 , p_ae_header_id => l_ae_header_id
175029 , p_source_1 => p_source_1
175030 )
175031 );
175032
175033
175034 --
175035 -- call ADRs
175036 -- Bug 4922099
175037 --
175038 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
175039 (NVL(l_actual_upg_option, 'N') = 'O') OR
175040 (NVL(l_enc_upg_option, 'N') = 'O')
175041 )
175042 THEN
175043 NULL;
175044 --
175045 --
175046
175047 l_ccid := AcctDerRule_32(
175048 p_application_id => p_application_id
175049 , p_ae_header_id => l_ae_header_id
175050 , p_source_18 => p_source_18
175051 , x_transaction_coa_id => l_adr_transaction_coa_id
175052 , x_accounting_coa_id => l_adr_accounting_coa_id
175053 , x_value_type_code => l_adr_value_type_code
175054 , p_side => 'NA'
175055 );
175056
175057 xla_ae_lines_pkg.set_ccid(
175058 p_code_combination_id => l_ccid
175059 , p_value_type_code => l_adr_value_type_code
175060 , p_transaction_coa_id => l_adr_transaction_coa_id
175061 , p_accounting_coa_id => l_adr_accounting_coa_id
175062 , p_adr_code => 'AP_INVOICE_DIST'
175063 , p_adr_type_code => 'S'
175064 , p_component_type => l_component_type
175065 , p_component_code => l_component_code
175066 , p_component_type_code => l_component_type_code
175067 , p_component_appl_id => l_component_appl_id
175068 , p_amb_context_code => l_amb_context_code
175069 , p_side => 'NA'
175070 );
175071
175072
175076 --
175073 --
175074 --
175075 END IF;
175077 -- Bug 4922099
175078 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
175079 (NVL(l_enc_upg_option, 'N') = 'O')
175080 ) AND
175081 (l_bflow_method_code = 'PRIOR_ENTRY')
175082 )
175083 THEN
175084 IF
175085 --
175086 1 = 2
175087 --
175088 THEN
175089 xla_accounting_err_pkg.build_message
175090 (p_appli_s_name => 'XLA'
175091 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
175092 ,p_token_1 => 'LINE_NUMBER'
175093 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
175094 ,p_token_2 => 'LINE_TYPE_NAME'
175095 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
175096 l_component_type
175097 ,l_component_code
175098 ,l_component_type_code
175099 ,l_component_appl_id
175100 ,l_amb_context_code
175101 ,l_entity_code
175102 ,l_event_class_code
175103 )
175104 ,p_token_3 => 'OWNER'
175105 ,p_value_3 => xla_lookups_pkg.get_meaning(
175106 p_lookup_type => 'XLA_OWNER_TYPE'
175107 ,p_lookup_code => l_component_type_code
175108 )
175109 ,p_token_4 => 'PRODUCT_NAME'
175110 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
175111 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
175112 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
175113 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
175114 ,p_ae_header_id => NULL
175115 );
175116
175117 IF (C_LEVEL_ERROR>= g_log_level) THEN
175118 trace
175119 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
175120 ,p_level => C_LEVEL_ERROR
175121 ,p_module => l_log_module);
175122 END IF;
175123 END IF;
175124 END IF;
175125 --
175126 --
175127 ------------------------------------------------------------------------------------------------
175128 -- 4219869 Business Flow
175129 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
175130 -- Prior Entry. Currently, the following code is always generated.
175131 ------------------------------------------------------------------------------------------------
175132 XLA_AE_LINES_PKG.ValidateCurrentLine;
175133
175134 ------------------------------------------------------------------------------------
175135 -- 4219869 Business Flow
175136 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
175137 ------------------------------------------------------------------------------------
175138 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
175139
175140 ----------------------------------------------------------------------------------
175141 -- 4219869 Business Flow
175142 -- Update journal entry status -- Need to generate this within IF <condition>
175143 ----------------------------------------------------------------------------------
175144 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
175145 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
175146 ,p_balance_type_code => l_balance_type_code
175147 );
175148
175149 -------------------------------------------------------------------------------------------
175150 -- 4262811 - Generate the Accrual Reversal lines
175151 -------------------------------------------------------------------------------------------
175152 BEGIN
175153 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
175154 (g_array_event(p_event_id).array_value_num('header_index'));
175155 IF l_acc_rev_flag IS NULL THEN
175156 l_acc_rev_flag := 'N';
175157 END IF;
175158 EXCEPTION
175159 WHEN OTHERS THEN
175160 l_acc_rev_flag := 'N';
175161 END;
175162 --
175163 IF (l_acc_rev_flag = 'Y') THEN
175164
175165 -- 4645092 ------------------------------------------------------------------------------
175166 -- To allow MPA report to determine if it should generate report process
175167 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
175168 ------------------------------------------------------------------------------------------
175172 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
175169
175170 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
175171 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
175173 -- call ADRs
175174 -- Bug 4922099
175175 --
175176 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
175177 (NVL(l_actual_upg_option, 'N') = 'O') OR
175178 (NVL(l_enc_upg_option, 'N') = 'O')
175179 )
175180 THEN
175181 NULL;
175182 --
175183 --
175184
175185 l_ccid := AcctDerRule_32(
175186 p_application_id => p_application_id
175187 , p_ae_header_id => l_ae_header_id
175188 , p_source_18 => p_source_18
175189 , x_transaction_coa_id => l_adr_transaction_coa_id
175190 , x_accounting_coa_id => l_adr_accounting_coa_id
175191 , x_value_type_code => l_adr_value_type_code
175192 , p_side => 'NA'
175193 );
175194
175195 xla_ae_lines_pkg.set_ccid(
175196 p_code_combination_id => l_ccid
175197 , p_value_type_code => l_adr_value_type_code
175198 , p_transaction_coa_id => l_adr_transaction_coa_id
175199 , p_accounting_coa_id => l_adr_accounting_coa_id
175200 , p_adr_code => 'AP_INVOICE_DIST'
175201 , p_adr_type_code => 'S'
175202 , p_component_type => l_component_type
175203 , p_component_code => l_component_code
175204 , p_component_type_code => l_component_type_code
175205 , p_component_appl_id => l_component_appl_id
175206 , p_amb_context_code => l_amb_context_code
175207 , p_side => 'NA'
175208 );
175209
175210
175211 --
175212 --
175213 END IF;
175214
175215 --
175216 -- Update the line information that should be overwritten
175217 --
175218 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
175219 p_header_num => 1);
175220 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
175221
175222 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
175223
175224 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
175225 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
175226 END IF;
175227
175228 --
175229 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
175230 --
175231 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
175232 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
175233 ELSE
175234 ---------------------------------------------------------------------------------------------------
175235 -- 4262811a Switch Sign
175236 ---------------------------------------------------------------------------------------------------
175237 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
175238 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
175239 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
175240 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
175241 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
175242 -- 5132302
175243 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
175244 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
175245
175246 END IF;
175247
175248 -- 4955764
175249 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
175250 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
175251
175252
175253 XLA_AE_LINES_PKG.ValidateCurrentLine;
175254 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
175255
175256 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
175257 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
175258 ,p_balance_type_code => l_balance_type_code);
175259
175260 END IF;
175261
175262 -----------------------------------------------------------------------------------------
175263 -- 4262811 Multiperiod Accounting
175264 -----------------------------------------------------------------------------------------
175265 -- No MPA option is assigned.
175266
175267
175268 END IF;
175269 END IF;
175270 --
175271
175272 --
175273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
175274 trace
175275 (p_msg => 'END of AcctLineType_281'
175276 ,p_level => C_LEVEL_PROCEDURE
175277 ,p_module => l_log_module);
175278 END IF;
175279 --
175280 EXCEPTION
175281 WHEN xla_exceptions_pkg.application_exception THEN
175282 RAISE;
175283 WHEN OTHERS THEN
175284 xla_exceptions_pkg.raise_message
175285 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_281');
175286 END AcctLineType_281;
175287 --
175288
175289 ---------------------------------------
175290 --
175291 -- PRIVATE FUNCTION
175292 -- AcctLineType_282
175293 --
175297 ,p_event_id IN NUMBER
175294 ---------------------------------------
175295 PROCEDURE AcctLineType_282 (
175296 p_application_id IN NUMBER
175298 ,p_calculate_acctd_flag IN VARCHAR2
175299 ,p_calculate_g_l_flag IN VARCHAR2
175300 ,p_actual_flag IN OUT VARCHAR2
175301 ,p_balance_type_code OUT VARCHAR2
175302 ,p_gain_or_loss_ref OUT VARCHAR2
175303
175304 --Invoice Distribution Type
175305 , p_source_21 IN VARCHAR2
175306 , p_source_21_meaning IN VARCHAR2
175307 --Accounting Reversal Indicator
175308 , p_source_41 IN VARCHAR2
175309 --Distribution Link Type
175310 , p_source_43 IN VARCHAR2
175311 --Allocation to Main Distribution Identifier
175312 , p_source_45 IN NUMBER
175313 --Invoice Identifier
175314 , p_source_46 IN NUMBER
175315 --Invoice Distribution Identifier
175316 , p_source_52 IN NUMBER
175317 --Payables Encumbrance Upgrade Credit Account
175318 , p_source_53 IN NUMBER
175319 --Payables Encumbrance Upgrade Credit Amount
175320 , p_source_54 IN NUMBER
175321 --Invoice Currency Code
175322 , p_source_55 IN VARCHAR2
175323 --Payables Encumbrance Upgrade Credit Base Amount
175324 , p_source_56 IN NUMBER
175325 --Payables Encumbrance Upgrade Debit Account
175326 , p_source_57 IN NUMBER
175327 --Payables Encumbrance Upgrade Debit Amount
175328 , p_source_58 IN NUMBER
175329 --Payables Encumbrance Upgrade Debit Base Amount
175330 , p_source_59 IN NUMBER
175331 --Payables Encumbrance Upgrade Option
175332 , p_source_60 IN VARCHAR2
175333 --Invoice Distribution Amount
175334 , p_source_61 IN NUMBER
175335 --Deferred Accounting End Date
175336 , p_source_65 IN DATE
175337 --Deferred Accounting Option
175338 , p_source_66 IN VARCHAR2
175339 --Deferred Accounting Start Date
175340 , p_source_67 IN DATE
175341 --Override Accounted Amount Indicator
175342 , p_source_68 IN VARCHAR2
175343 , p_source_68_meaning IN VARCHAR2
175344 --Third Party Type
175345 , p_source_71 IN VARCHAR2
175346 --Parent Reversal Identifier
175347 , p_source_72 IN NUMBER
175348 --Invoice Distribution Statistical Amount
175349 , p_source_73 IN NUMBER
175350 --Invoice Distribution Tax Line Identifier
175351 , p_source_74 IN NUMBER
175352 --Invoice Distribution Tax Distribution Identifier from Tax
175353 , p_source_75 IN NUMBER
175354 --Invoice Distribution Summary Tax Line Identifier
175355 , p_source_76 IN NUMBER
175356 --Payables Upgrade Credit Encumbrance Type Identifier
175357 , p_source_77 IN NUMBER
175358 --Payables Upgrade Debit Encumbrance Type Identifier
175359 , p_source_78 IN NUMBER
175360 --Business Flow Accounts Payable Application Identifier
175361 , p_source_79 IN NUMBER
175362 --Business Flow Invoice Distribution Type
175363 , p_source_80 IN VARCHAR2
175364 --Business Flow Invoice Entity Code
175365 , p_source_81 IN VARCHAR2
175366 --Business Flow Invoice Distribution Identifier
175367 , p_source_82 IN NUMBER
175368 --Business Flow Invoice Identifier
175369 , p_source_83 IN NUMBER
175370 --Purchasing Encumbrance Option
175371 , p_source_86 IN VARCHAR2
175372 , p_source_86_meaning IN VARCHAR2
175373 --Invoice Encumbered Option
175374 , p_source_87 IN VARCHAR2
175375 , p_source_87_meaning IN VARCHAR2
175376 --Invoice Distribution Encumbrance Amount
175377 , p_source_143 IN NUMBER
175378 --Invoice Distribution Encumbrance Ledger Amount
175379 , p_source_144 IN NUMBER
175380 )
175381 IS
175382
175383 l_component_type VARCHAR2(80);
175384 l_component_code VARCHAR2(30);
175385 l_component_type_code VARCHAR2(1);
175386 l_component_appl_id INTEGER;
175387 l_amb_context_code VARCHAR2(30);
175388 l_entity_code VARCHAR2(30);
175389 l_event_class_code VARCHAR2(30);
175390 l_ae_header_id NUMBER;
175391 l_event_type_code VARCHAR2(30);
175392 l_line_definition_code VARCHAR2(30);
175393 l_line_definition_owner_code VARCHAR2(1);
175394 --
175395 -- adr variables
175396 l_segment VARCHAR2(30);
175397 l_ccid NUMBER;
175398 l_adr_transaction_coa_id NUMBER;
175399 l_adr_accounting_coa_id NUMBER;
175400 l_adr_flexfield_segment_code VARCHAR2(30);
175401 l_adr_flex_value_set_id NUMBER;
175402 l_adr_value_type_code VARCHAR2(30);
175403 l_adr_value_combination_id NUMBER;
175404 l_adr_value_segment_code VARCHAR2(30);
175405
175406 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
175407 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
175408 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
175409 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
175410
175411 -- 4262811 Variables ------------------------------------------------------------------------------------------
175412 l_entered_amt_idx NUMBER;
175413 l_accted_amt_idx NUMBER;
175414 l_acc_rev_flag VARCHAR2(1);
175415 l_accrual_line_num NUMBER;
175416 l_tmp_amt NUMBER;
175417 l_acc_rev_natural_side_code VARCHAR2(1);
175418
175422 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
175419 l_num_entries NUMBER;
175420 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
175421 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
175423 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
175424 l_recog_line_1 NUMBER;
175425 l_recog_line_2 NUMBER;
175426
175427 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
175428 l_bflow_applied_to_amt NUMBER; -- 5132302
175429 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
175430
175431 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
175432
175433 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
175434 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
175435
175436 ---------------------------------------------------------------------------------------------------------------
175437
175438
175439 --
175440 -- bulk performance
175441 --
175442 l_balance_type_code VARCHAR2(1);
175443 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
175444 l_log_module VARCHAR2(240);
175445
175446 --
175447 -- Upgrade strategy
175448 --
175449 l_actual_upg_option VARCHAR2(1);
175450 l_enc_upg_option VARCHAR2(1);
175451
175452 --
175453 BEGIN
175454 --
175455 IF g_log_enabled THEN
175456 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_282';
175457 END IF;
175458 --
175459 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
175460
175461 trace
175462 (p_msg => 'BEGIN of AcctLineType_282'
175463 ,p_level => C_LEVEL_PROCEDURE
175464 ,p_module => l_log_module);
175465
175466 END IF;
175467 --
175468 l_component_type := 'AMB_JLT';
175469 l_component_code := 'AP_TAX_RATE_VAR_INV_ENC';
175470 l_component_type_code := 'S';
175471 l_component_appl_id := 200;
175472 l_amb_context_code := 'DEFAULT';
175473 l_entity_code := 'AP_INVOICES';
175474 l_event_class_code := 'INVOICES';
175475 l_event_type_code := 'INVOICES_ALL';
175476 l_line_definition_owner_code := 'S';
175477 l_line_definition_code := 'ENC_REV_INVOICES_ALL';
175478 --
175479 l_balance_type_code := 'E';
175480 l_segment := NULL;
175481 l_ccid := NULL;
175482 l_adr_transaction_coa_id := NULL;
175483 l_adr_accounting_coa_id := NULL;
175484 l_adr_flexfield_segment_code := NULL;
175485 l_adr_flex_value_set_id := NULL;
175486 l_adr_value_type_code := NULL;
175487 l_adr_value_combination_id := NULL;
175488 l_adr_value_segment_code := NULL;
175489
175490 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
175491 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
175492 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
175493 l_budgetary_control_flag := 'N';
175494
175495 l_bflow_applied_to_amt_idx := NULL; -- 5132302
175496 l_bflow_applied_to_amt := NULL; -- 5132302
175497 l_entered_amt_idx := NULL; -- 4262811
175498 l_accted_amt_idx := NULL; -- 4262811
175499 l_acc_rev_flag := NULL; -- 4262811
175500 l_accrual_line_num := NULL; -- 4262811
175501 l_tmp_amt := NULL; -- 4262811
175502 --
175503
175504 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
175505 l_balance_type_code <> 'B' THEN
175506 IF NVL(p_source_21,'
175507 ') = 'TRV' AND
175508 NVL(p_source_86,'
175509 ') = 'Y' AND
175510 NVL(p_source_87,'
175511 ') = 'Y'
175512 THEN
175513
175514 --
175515 XLA_AE_LINES_PKG.SetNewLine;
175516
175517 p_balance_type_code := l_balance_type_code;
175518 -- set the flag so later we will know whether the gain loss line needs to be created
175519
175520 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
175521 p_actual_flag :='A';
175522 END IF;
175523
175524 --
175525 -- bulk performance
175526 --
175527 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
175528 p_header_num => 0); -- 4262811
175529 --
175530 -- set accounting line options
175531 --
175532 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
175533 p_natural_side_code => 'C'
175534 , p_gain_or_loss_flag => 'N'
175535 , p_gl_transfer_mode_code => 'S'
175536 , p_acct_entry_type_code => 'E'
175537 , p_switch_side_flag => 'Y'
175538 , p_merge_duplicate_code => 'A'
175539 );
175540 --
175541 l_acc_rev_natural_side_code := 'D'; -- 4262811
175542 --
175543 --
175544 -- set accounting line type info
175545 --
175546 xla_ae_lines_pkg.SetAcctLineType
175547 (p_component_type => l_component_type
175548 ,p_event_type_code => l_event_type_code
175549 ,p_line_definition_owner_code => l_line_definition_owner_code
175550 ,p_line_definition_code => l_line_definition_code
175554 ,p_amb_context_code => l_amb_context_code
175551 ,p_accounting_line_code => l_component_code
175552 ,p_accounting_line_type_code => l_component_type_code
175553 ,p_accounting_line_appl_id => l_component_appl_id
175555 ,p_entity_code => l_entity_code
175556 ,p_event_class_code => l_event_class_code);
175557 --
175558 -- set accounting class
175559 --
175560 xla_ae_lines_pkg.SetAcctClass(
175561 p_accounting_class_code => 'TRV'
175562 , p_ae_header_id => l_ae_header_id
175563 );
175564
175565 --
175566 -- set rounding class
175567 --
175568 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
175569 'TRV';
175570
175571 --
175572 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
175573 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
175574 --
175575 -- bulk performance
175576 --
175577 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
175578
175579 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
175580 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
175581
175582 -- 4955764
175583 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
175584 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
175585
175586 -- 4458381 Public Sector Enh
175587
175588 --
175589 -- set accounting attributes for the line type
175590 --
175591 l_entered_amt_idx := 24;
175592 l_accted_amt_idx := 26;
175593 l_bflow_applied_to_amt_idx := 7; -- 5132302
175594 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
175595 l_rec_acct_attrs.array_char_value(1) := p_source_41;
175596 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
175597 l_rec_acct_attrs.array_num_value(2) :=
175598 xla_ae_sources_pkg.GetSystemSourceNum(
175599 p_source_code => 'XLA_EVENT_APPL_ID'
175600 , p_source_type_code => 'Y'
175601 , p_source_application_id => 602
175602 );
175603 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
175604 l_rec_acct_attrs.array_char_value(3) := p_source_43;
175605 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
175606 l_rec_acct_attrs.array_char_value(4) :=
175607 xla_ae_sources_pkg.GetSystemSourceChar(
175608 p_source_code => 'XLA_ENTITY_CODE'
175609 , p_source_type_code => 'Y'
175610 , p_source_application_id => 602
175611 );
175612 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
175613 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
175614 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
175615 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
175616 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
175617 l_rec_acct_attrs.array_num_value(7) := p_source_61;
175618 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
175619 l_rec_acct_attrs.array_num_value(8) := p_source_79;
175620 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
175621 l_rec_acct_attrs.array_char_value(9) := p_source_80;
175622 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
175623 l_rec_acct_attrs.array_char_value(10) := p_source_81;
175624 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
175625 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
175626 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
175627 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
175628 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
175629 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
175630 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
175631 l_rec_acct_attrs.array_char_value(14) := p_source_43;
175632 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
175633 l_rec_acct_attrs.array_num_value(15) := p_source_53;
175634 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
175635 l_rec_acct_attrs.array_num_value(16) := p_source_54;
175636 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
175637 l_rec_acct_attrs.array_char_value(17) := p_source_55;
175638 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
175639 l_rec_acct_attrs.array_num_value(18) := p_source_56;
175640 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
175641 l_rec_acct_attrs.array_num_value(19) := p_source_57;
175642 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
175643 l_rec_acct_attrs.array_num_value(20) := p_source_58;
175644 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
175645 l_rec_acct_attrs.array_char_value(21) := p_source_55;
175646 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
175647 l_rec_acct_attrs.array_num_value(22) := p_source_59;
175648 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
175649 l_rec_acct_attrs.array_char_value(23) := p_source_60;
175650 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
175651 l_rec_acct_attrs.array_num_value(24) := p_source_143;
175655 l_rec_acct_attrs.array_num_value(26) := p_source_144;
175652 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
175653 l_rec_acct_attrs.array_char_value(25) := p_source_55;
175654 l_rec_acct_attrs.array_acct_attr_code(26) := 'LEDGER_AMOUNT';
175656 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_END_DATE';
175657 l_rec_acct_attrs.array_date_value(27) := p_source_65;
175658 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_OPTION';
175659 l_rec_acct_attrs.array_char_value(28) := p_source_66;
175660 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_START_DATE';
175661 l_rec_acct_attrs.array_date_value(29) := p_source_67;
175662 l_rec_acct_attrs.array_acct_attr_code(30) := 'OVERRIDE_ACCTD_AMT_FLAG';
175663 l_rec_acct_attrs.array_char_value(30) := p_source_68;
175664 l_rec_acct_attrs.array_acct_attr_code(31) := 'PARTY_TYPE';
175665 l_rec_acct_attrs.array_char_value(31) := p_source_71;
175666 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_ID1';
175667 l_rec_acct_attrs.array_num_value(32) := to_char(p_source_72);
175668 l_rec_acct_attrs.array_acct_attr_code(33) := 'REVERSED_DISTRIBUTION_TYPE';
175669 l_rec_acct_attrs.array_char_value(33) := p_source_43;
175670 l_rec_acct_attrs.array_acct_attr_code(34) := 'STATISTICAL_AMOUNT';
175671 l_rec_acct_attrs.array_num_value(34) := p_source_73;
175672 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_LINE_REF_ID';
175673 l_rec_acct_attrs.array_num_value(35) := p_source_74;
175674 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_REC_NREC_DIST_REF_ID';
175675 l_rec_acct_attrs.array_num_value(36) := p_source_75;
175676 l_rec_acct_attrs.array_acct_attr_code(37) := 'TAX_SUMMARY_LINE_REF_ID';
175677 l_rec_acct_attrs.array_num_value(37) := p_source_76;
175678 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_CR_ENC_TYPE_ID';
175679 l_rec_acct_attrs.array_num_value(38) := p_source_77;
175680 l_rec_acct_attrs.array_acct_attr_code(39) := 'UPG_DR_ENC_TYPE_ID';
175681 l_rec_acct_attrs.array_num_value(39) := p_source_78;
175682
175683 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
175684 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
175685
175686 ---------------------------------------------------------------------------------------------------------------
175687 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
175688 ---------------------------------------------------------------------------------------------------------------
175689 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
175690
175691 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
175692 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
175693
175694 IF xla_accounting_cache_pkg.GetValueChar
175695 (p_source_code => 'LEDGER_CATEGORY_CODE'
175696 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
175697 AND l_bflow_method_code = 'PRIOR_ENTRY'
175698 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
175699 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
175700 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
175701 )
175702 THEN
175703 xla_ae_lines_pkg.BflowUpgEntry
175704 (p_business_method_code => l_bflow_method_code
175705 ,p_business_class_code => l_bflow_class_code
175706 ,p_balance_type => l_balance_type_code);
175707 ELSE
175708 NULL;
175709 XLA_AE_LINES_PKG.business_flow_validation(
175710 p_business_method_code => l_bflow_method_code
175711 ,p_business_class_code => l_bflow_class_code
175712 ,p_inherit_description_flag => l_inherit_desc_flag);
175713 END IF;
175714
175715 --
175716 -- call analytical criteria
175717 --
175718 -- Inherited Analytical Criteria for business flow method of Prior Entry.
175719 --
175720 -- call description
175721 --
175722 -- No description or it is inherited.
175723 --
175724 -- call ADRs
175725 -- Bug 4922099
175726 --
175727 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
175728 (NVL(l_actual_upg_option, 'N') = 'O') OR
175729 (NVL(l_enc_upg_option, 'N') = 'O')
175730 )
175731 THEN
175732 NULL;
175733 --
175734 --
175735
175736 --
175737 --
175738 END IF;
175739 --
175740 -- Bug 4922099
175741 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
175742 (NVL(l_enc_upg_option, 'N') = 'O')
175743 ) AND
175744 (l_bflow_method_code = 'PRIOR_ENTRY')
175745 )
175746 THEN
175747 IF
175748 --
175749 1 = 1
175750 --
175751 THEN
175752 xla_accounting_err_pkg.build_message
175753 (p_appli_s_name => 'XLA'
175754 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
175755 ,p_token_1 => 'LINE_NUMBER'
175756 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
175757 ,p_token_2 => 'LINE_TYPE_NAME'
175758 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
175762 ,l_component_appl_id
175759 l_component_type
175760 ,l_component_code
175761 ,l_component_type_code
175763 ,l_amb_context_code
175764 ,l_entity_code
175765 ,l_event_class_code
175766 )
175767 ,p_token_3 => 'OWNER'
175768 ,p_value_3 => xla_lookups_pkg.get_meaning(
175769 p_lookup_type => 'XLA_OWNER_TYPE'
175770 ,p_lookup_code => l_component_type_code
175771 )
175772 ,p_token_4 => 'PRODUCT_NAME'
175773 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
175774 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
175775 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
175776 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
175777 ,p_ae_header_id => NULL
175778 );
175779
175780 IF (C_LEVEL_ERROR>= g_log_level) THEN
175781 trace
175782 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
175783 ,p_level => C_LEVEL_ERROR
175784 ,p_module => l_log_module);
175785 END IF;
175786 END IF;
175787 END IF;
175788 --
175789 --
175790 ------------------------------------------------------------------------------------------------
175791 -- 4219869 Business Flow
175792 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
175793 -- Prior Entry. Currently, the following code is always generated.
175794 ------------------------------------------------------------------------------------------------
175795 -- No ValidateCurrentLine for business flow method of Prior Entry
175796
175797 ------------------------------------------------------------------------------------
175798 -- 4219869 Business Flow
175799 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
175800 ------------------------------------------------------------------------------------
175801 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
175802
175803 ----------------------------------------------------------------------------------
175804 -- 4219869 Business Flow
175805 -- Update journal entry status -- Need to generate this within IF <condition>
175806 ----------------------------------------------------------------------------------
175807 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
175808 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
175809 ,p_balance_type_code => l_balance_type_code
175810 );
175811
175812 -------------------------------------------------------------------------------------------
175813 -- 4262811 - Generate the Accrual Reversal lines
175814 -------------------------------------------------------------------------------------------
175815 BEGIN
175816 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
175817 (g_array_event(p_event_id).array_value_num('header_index'));
175818 IF l_acc_rev_flag IS NULL THEN
175819 l_acc_rev_flag := 'N';
175820 END IF;
175821 EXCEPTION
175822 WHEN OTHERS THEN
175823 l_acc_rev_flag := 'N';
175824 END;
175825 --
175826 IF (l_acc_rev_flag = 'Y') THEN
175827
175828 -- 4645092 ------------------------------------------------------------------------------
175829 -- To allow MPA report to determine if it should generate report process
175830 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
175831 ------------------------------------------------------------------------------------------
175832
175833 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
175834 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
175835 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
175836 -- call ADRs
175837 -- Bug 4922099
175838 --
175839 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
175840 (NVL(l_actual_upg_option, 'N') = 'O') OR
175841 (NVL(l_enc_upg_option, 'N') = 'O')
175842 )
175843 THEN
175844 NULL;
175845 --
175846 --
175847
175848 --
175849 --
175850 END IF;
175851
175852 --
175853 -- Update the line information that should be overwritten
175854 --
175855 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
175856 p_header_num => 1);
175860
175857 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
175858
175859 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
175861 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
175862 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
175863 END IF;
175864
175865 --
175866 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
175867 --
175868 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
175869 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
175870 ELSE
175871 ---------------------------------------------------------------------------------------------------
175872 -- 4262811a Switch Sign
175873 ---------------------------------------------------------------------------------------------------
175874 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
175875 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
175876 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
175877 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
175878 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
175879 -- 5132302
175880 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
175881 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
175882
175883 END IF;
175884
175885 -- 4955764
175886 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
175887 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
175888
175889
175890 XLA_AE_LINES_PKG.ValidateCurrentLine;
175891 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
175892
175893 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
175894 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
175895 ,p_balance_type_code => l_balance_type_code);
175896
175897 END IF;
175898
175899 -----------------------------------------------------------------------------------------
175900 -- 4262811 Multiperiod Accounting
175901 -----------------------------------------------------------------------------------------
175902 -- No MPA option is assigned.
175903
175904
175905 END IF;
175906 END IF;
175907 --
175908
175909 --
175910 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
175911 trace
175912 (p_msg => 'END of AcctLineType_282'
175913 ,p_level => C_LEVEL_PROCEDURE
175914 ,p_module => l_log_module);
175915 END IF;
175916 --
175917 EXCEPTION
175918 WHEN xla_exceptions_pkg.application_exception THEN
175919 RAISE;
175920 WHEN OTHERS THEN
175921 xla_exceptions_pkg.raise_message
175922 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_282');
175923 END AcctLineType_282;
175924 --
175925
175926 ---------------------------------------
175927 --
175928 -- PRIVATE FUNCTION
175929 -- AcctLineType_283
175930 --
175931 ---------------------------------------
175932 PROCEDURE AcctLineType_283 (
175933 p_application_id IN NUMBER
175934 ,p_event_id IN NUMBER
175935 ,p_calculate_acctd_flag IN VARCHAR2
175936 ,p_calculate_g_l_flag IN VARCHAR2
175937 ,p_actual_flag IN OUT VARCHAR2
175938 ,p_balance_type_code OUT VARCHAR2
175939 ,p_gain_or_loss_ref OUT VARCHAR2
175940
175941 --Invoice Distribution Type
175942 , p_source_21 IN VARCHAR2
175943 , p_source_21_meaning IN VARCHAR2
175944 --Accounting Reversal Indicator
175945 , p_source_41 IN VARCHAR2
175946 --Distribution Link Type
175947 , p_source_43 IN VARCHAR2
175948 --Allocation to Main Distribution Identifier
175949 , p_source_45 IN NUMBER
175950 --Invoice Identifier
175951 , p_source_46 IN NUMBER
175952 --Invoice Distribution Identifier
175953 , p_source_52 IN NUMBER
175954 --Payables Encumbrance Upgrade Credit Account
175955 , p_source_53 IN NUMBER
175956 --Payables Encumbrance Upgrade Credit Amount
175957 , p_source_54 IN NUMBER
175958 --Invoice Currency Code
175959 , p_source_55 IN VARCHAR2
175960 --Payables Encumbrance Upgrade Credit Base Amount
175961 , p_source_56 IN NUMBER
175962 --Payables Encumbrance Upgrade Debit Account
175963 , p_source_57 IN NUMBER
175964 --Payables Encumbrance Upgrade Debit Amount
175965 , p_source_58 IN NUMBER
175966 --Payables Encumbrance Upgrade Debit Base Amount
175967 , p_source_59 IN NUMBER
175968 --Payables Encumbrance Upgrade Option
175969 , p_source_60 IN VARCHAR2
175970 --Deferred Accounting End Date
175971 , p_source_65 IN DATE
175972 --Deferred Accounting Option
175973 , p_source_66 IN VARCHAR2
175974 --Deferred Accounting Start Date
175975 , p_source_67 IN DATE
175976 --Override Accounted Amount Indicator
175977 , p_source_68 IN VARCHAR2
175981 --Parent Reversal Identifier
175978 , p_source_68_meaning IN VARCHAR2
175979 --Third Party Type
175980 , p_source_71 IN VARCHAR2
175982 , p_source_72 IN NUMBER
175983 --Invoice Distribution Statistical Amount
175984 , p_source_73 IN NUMBER
175985 --Invoice Distribution Tax Line Identifier
175986 , p_source_74 IN NUMBER
175987 --Invoice Distribution Tax Distribution Identifier from Tax
175988 , p_source_75 IN NUMBER
175989 --Invoice Distribution Summary Tax Line Identifier
175990 , p_source_76 IN NUMBER
175991 --Payables Upgrade Credit Encumbrance Type Identifier
175992 , p_source_77 IN NUMBER
175993 --Payables Upgrade Debit Encumbrance Type Identifier
175994 , p_source_78 IN NUMBER
175995 --Business Flow Accounts Payable Application Identifier
175996 , p_source_79 IN NUMBER
175997 --Business Flow Invoice Distribution Type
175998 , p_source_80 IN VARCHAR2
175999 --Business Flow Invoice Entity Code
176000 , p_source_81 IN VARCHAR2
176001 --Business Flow Invoice Distribution Identifier
176002 , p_source_82 IN NUMBER
176003 --Business Flow Invoice Identifier
176004 , p_source_83 IN NUMBER
176005 --Purchasing Encumbrance Option
176006 , p_source_86 IN VARCHAR2
176007 , p_source_86_meaning IN VARCHAR2
176008 --Invoice Encumbered Option
176009 , p_source_87 IN VARCHAR2
176010 , p_source_87_meaning IN VARCHAR2
176011 --Invoice Distribution Encumbrance Amount
176012 , p_source_143 IN NUMBER
176013 --Invoice Distribution Encumbrance Ledger Amount
176014 , p_source_144 IN NUMBER
176015 )
176016 IS
176017
176018 l_component_type VARCHAR2(80);
176019 l_component_code VARCHAR2(30);
176020 l_component_type_code VARCHAR2(1);
176021 l_component_appl_id INTEGER;
176022 l_amb_context_code VARCHAR2(30);
176023 l_entity_code VARCHAR2(30);
176024 l_event_class_code VARCHAR2(30);
176025 l_ae_header_id NUMBER;
176026 l_event_type_code VARCHAR2(30);
176027 l_line_definition_code VARCHAR2(30);
176028 l_line_definition_owner_code VARCHAR2(1);
176029 --
176030 -- adr variables
176031 l_segment VARCHAR2(30);
176032 l_ccid NUMBER;
176033 l_adr_transaction_coa_id NUMBER;
176034 l_adr_accounting_coa_id NUMBER;
176035 l_adr_flexfield_segment_code VARCHAR2(30);
176036 l_adr_flex_value_set_id NUMBER;
176037 l_adr_value_type_code VARCHAR2(30);
176038 l_adr_value_combination_id NUMBER;
176039 l_adr_value_segment_code VARCHAR2(30);
176040
176041 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
176042 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
176043 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
176044 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
176045
176046 -- 4262811 Variables ------------------------------------------------------------------------------------------
176047 l_entered_amt_idx NUMBER;
176048 l_accted_amt_idx NUMBER;
176049 l_acc_rev_flag VARCHAR2(1);
176050 l_accrual_line_num NUMBER;
176051 l_tmp_amt NUMBER;
176052 l_acc_rev_natural_side_code VARCHAR2(1);
176053
176054 l_num_entries NUMBER;
176055 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
176056 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
176057 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
176058 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
176059 l_recog_line_1 NUMBER;
176060 l_recog_line_2 NUMBER;
176061
176062 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
176063 l_bflow_applied_to_amt NUMBER; -- 5132302
176064 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
176065
176066 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
176067
176068 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
176069 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
176070
176071 ---------------------------------------------------------------------------------------------------------------
176072
176073
176074 --
176075 -- bulk performance
176076 --
176077 l_balance_type_code VARCHAR2(1);
176078 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
176079 l_log_module VARCHAR2(240);
176080
176081 --
176082 -- Upgrade strategy
176083 --
176084 l_actual_upg_option VARCHAR2(1);
176085 l_enc_upg_option VARCHAR2(1);
176086
176087 --
176088 BEGIN
176089 --
176090 IF g_log_enabled THEN
176091 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_283';
176092 END IF;
176093 --
176094 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
176095
176096 trace
176097 (p_msg => 'BEGIN of AcctLineType_283'
176098 ,p_level => C_LEVEL_PROCEDURE
176099 ,p_module => l_log_module);
176100
176101 END IF;
176102 --
176103 l_component_type := 'AMB_JLT';
176104 l_component_code := 'AP_TAX_RATE_VAR_PP_ENC';
176105 l_component_type_code := 'S';
176109 l_event_class_code := 'PREPAYMENTS';
176106 l_component_appl_id := 200;
176107 l_amb_context_code := 'DEFAULT';
176108 l_entity_code := 'AP_INVOICES';
176110 l_event_type_code := 'PREPAYMENTS_ALL';
176111 l_line_definition_owner_code := 'S';
176112 l_line_definition_code := 'ENC_REV_PREPAY_ALL';
176113 --
176114 l_balance_type_code := 'E';
176115 l_segment := NULL;
176116 l_ccid := NULL;
176117 l_adr_transaction_coa_id := NULL;
176118 l_adr_accounting_coa_id := NULL;
176119 l_adr_flexfield_segment_code := NULL;
176120 l_adr_flex_value_set_id := NULL;
176121 l_adr_value_type_code := NULL;
176122 l_adr_value_combination_id := NULL;
176123 l_adr_value_segment_code := NULL;
176124
176125 l_bflow_method_code := 'PRIOR_ENTRY'; -- 4219869 Business Flow
176126 l_bflow_class_code := 'AP_INV_ENCUM'; -- 4219869 Business Flow
176127 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
176128 l_budgetary_control_flag := 'N';
176129
176130 l_bflow_applied_to_amt_idx := NULL; -- 5132302
176131 l_bflow_applied_to_amt := NULL; -- 5132302
176132 l_entered_amt_idx := NULL; -- 4262811
176133 l_accted_amt_idx := NULL; -- 4262811
176134 l_acc_rev_flag := NULL; -- 4262811
176135 l_accrual_line_num := NULL; -- 4262811
176136 l_tmp_amt := NULL; -- 4262811
176137 --
176138
176139 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
176140 l_balance_type_code <> 'B' THEN
176141 IF NVL(p_source_21,'
176142 ') = 'TRV' AND
176143 NVL(p_source_86,'
176144 ') = 'Y' AND
176145 NVL(p_source_87,'
176146 ') = 'Y'
176147 THEN
176148
176149 --
176150 XLA_AE_LINES_PKG.SetNewLine;
176151
176152 p_balance_type_code := l_balance_type_code;
176153 -- set the flag so later we will know whether the gain loss line needs to be created
176154
176155 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
176156 p_actual_flag :='A';
176157 END IF;
176158
176159 --
176160 -- bulk performance
176161 --
176162 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
176163 p_header_num => 0); -- 4262811
176164 --
176165 -- set accounting line options
176166 --
176167 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
176168 p_natural_side_code => 'C'
176169 , p_gain_or_loss_flag => 'N'
176170 , p_gl_transfer_mode_code => 'S'
176171 , p_acct_entry_type_code => 'E'
176172 , p_switch_side_flag => 'Y'
176173 , p_merge_duplicate_code => 'A'
176174 );
176175 --
176176 l_acc_rev_natural_side_code := 'D'; -- 4262811
176177 --
176178 --
176179 -- set accounting line type info
176180 --
176181 xla_ae_lines_pkg.SetAcctLineType
176182 (p_component_type => l_component_type
176183 ,p_event_type_code => l_event_type_code
176184 ,p_line_definition_owner_code => l_line_definition_owner_code
176185 ,p_line_definition_code => l_line_definition_code
176186 ,p_accounting_line_code => l_component_code
176187 ,p_accounting_line_type_code => l_component_type_code
176188 ,p_accounting_line_appl_id => l_component_appl_id
176189 ,p_amb_context_code => l_amb_context_code
176190 ,p_entity_code => l_entity_code
176191 ,p_event_class_code => l_event_class_code);
176192 --
176193 -- set accounting class
176194 --
176195 xla_ae_lines_pkg.SetAcctClass(
176196 p_accounting_class_code => 'TRV'
176197 , p_ae_header_id => l_ae_header_id
176198 );
176199
176200 --
176201 -- set rounding class
176202 --
176203 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
176204 'TRV';
176205
176206 --
176207 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
176208 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
176209 --
176210 -- bulk performance
176211 --
176212 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
176213
176214 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
176215 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
176216
176217 -- 4955764
176218 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
176219 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
176220
176221 -- 4458381 Public Sector Enh
176222
176223 --
176224 -- set accounting attributes for the line type
176225 --
176226 l_entered_amt_idx := 23;
176227 l_accted_amt_idx := 25;
176228 l_bflow_applied_to_amt_idx := NULL; -- 5132302
176229 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
176230 l_rec_acct_attrs.array_char_value(1) := p_source_41;
176231 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
176232 l_rec_acct_attrs.array_num_value(2) :=
176236 , p_source_application_id => 602
176233 xla_ae_sources_pkg.GetSystemSourceNum(
176234 p_source_code => 'XLA_EVENT_APPL_ID'
176235 , p_source_type_code => 'Y'
176237 );
176238 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
176239 l_rec_acct_attrs.array_char_value(3) := p_source_43;
176240 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
176241 l_rec_acct_attrs.array_char_value(4) :=
176242 xla_ae_sources_pkg.GetSystemSourceChar(
176243 p_source_code => 'XLA_ENTITY_CODE'
176244 , p_source_type_code => 'Y'
176245 , p_source_application_id => 602
176246 );
176247 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
176248 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
176249 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
176250 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
176251 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
176252 l_rec_acct_attrs.array_num_value(7) := p_source_79;
176253 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
176254 l_rec_acct_attrs.array_char_value(8) := p_source_80;
176255 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
176256 l_rec_acct_attrs.array_char_value(9) := p_source_81;
176257 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
176258 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
176259 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
176260 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
176261 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
176262 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
176263 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
176264 l_rec_acct_attrs.array_char_value(13) := p_source_43;
176265 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
176266 l_rec_acct_attrs.array_num_value(14) := p_source_53;
176267 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
176268 l_rec_acct_attrs.array_num_value(15) := p_source_54;
176269 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
176270 l_rec_acct_attrs.array_char_value(16) := p_source_55;
176271 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
176272 l_rec_acct_attrs.array_num_value(17) := p_source_56;
176273 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
176274 l_rec_acct_attrs.array_num_value(18) := p_source_57;
176275 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
176276 l_rec_acct_attrs.array_num_value(19) := p_source_58;
176277 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
176278 l_rec_acct_attrs.array_char_value(20) := p_source_55;
176279 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
176280 l_rec_acct_attrs.array_num_value(21) := p_source_59;
176281 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
176282 l_rec_acct_attrs.array_char_value(22) := p_source_60;
176283 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
176284 l_rec_acct_attrs.array_num_value(23) := p_source_143;
176285 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
176286 l_rec_acct_attrs.array_char_value(24) := p_source_55;
176287 l_rec_acct_attrs.array_acct_attr_code(25) := 'LEDGER_AMOUNT';
176288 l_rec_acct_attrs.array_num_value(25) := p_source_144;
176289 l_rec_acct_attrs.array_acct_attr_code(26) := 'MULTIPERIOD_END_DATE';
176290 l_rec_acct_attrs.array_date_value(26) := p_source_65;
176291 l_rec_acct_attrs.array_acct_attr_code(27) := 'MULTIPERIOD_OPTION';
176292 l_rec_acct_attrs.array_char_value(27) := p_source_66;
176293 l_rec_acct_attrs.array_acct_attr_code(28) := 'MULTIPERIOD_START_DATE';
176294 l_rec_acct_attrs.array_date_value(28) := p_source_67;
176295 l_rec_acct_attrs.array_acct_attr_code(29) := 'OVERRIDE_ACCTD_AMT_FLAG';
176296 l_rec_acct_attrs.array_char_value(29) := p_source_68;
176297 l_rec_acct_attrs.array_acct_attr_code(30) := 'PARTY_TYPE';
176298 l_rec_acct_attrs.array_char_value(30) := p_source_71;
176299 l_rec_acct_attrs.array_acct_attr_code(31) := 'REVERSED_DISTRIBUTION_ID1';
176300 l_rec_acct_attrs.array_num_value(31) := to_char(p_source_72);
176301 l_rec_acct_attrs.array_acct_attr_code(32) := 'REVERSED_DISTRIBUTION_TYPE';
176302 l_rec_acct_attrs.array_char_value(32) := p_source_43;
176303 l_rec_acct_attrs.array_acct_attr_code(33) := 'STATISTICAL_AMOUNT';
176304 l_rec_acct_attrs.array_num_value(33) := p_source_73;
176305 l_rec_acct_attrs.array_acct_attr_code(34) := 'TAX_LINE_REF_ID';
176306 l_rec_acct_attrs.array_num_value(34) := p_source_74;
176307 l_rec_acct_attrs.array_acct_attr_code(35) := 'TAX_REC_NREC_DIST_REF_ID';
176308 l_rec_acct_attrs.array_num_value(35) := p_source_75;
176309 l_rec_acct_attrs.array_acct_attr_code(36) := 'TAX_SUMMARY_LINE_REF_ID';
176310 l_rec_acct_attrs.array_num_value(36) := p_source_76;
176311 l_rec_acct_attrs.array_acct_attr_code(37) := 'UPG_CR_ENC_TYPE_ID';
176312 l_rec_acct_attrs.array_num_value(37) := p_source_77;
176313 l_rec_acct_attrs.array_acct_attr_code(38) := 'UPG_DR_ENC_TYPE_ID';
176314 l_rec_acct_attrs.array_num_value(38) := p_source_78;
176315
176316 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
176317 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
176318
176319 ---------------------------------------------------------------------------------------------------------------
176320 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
176324 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
176321 ---------------------------------------------------------------------------------------------------------------
176322 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
176323
176325 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
176326
176327 IF xla_accounting_cache_pkg.GetValueChar
176328 (p_source_code => 'LEDGER_CATEGORY_CODE'
176329 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
176330 AND l_bflow_method_code = 'PRIOR_ENTRY'
176331 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
176332 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
176333 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
176334 )
176335 THEN
176336 xla_ae_lines_pkg.BflowUpgEntry
176337 (p_business_method_code => l_bflow_method_code
176338 ,p_business_class_code => l_bflow_class_code
176339 ,p_balance_type => l_balance_type_code);
176340 ELSE
176341 NULL;
176342 XLA_AE_LINES_PKG.business_flow_validation(
176343 p_business_method_code => l_bflow_method_code
176344 ,p_business_class_code => l_bflow_class_code
176345 ,p_inherit_description_flag => l_inherit_desc_flag);
176346 END IF;
176347
176348 --
176349 -- call analytical criteria
176350 --
176351 -- Inherited Analytical Criteria for business flow method of Prior Entry.
176352 --
176353 -- call description
176354 --
176355 -- No description or it is inherited.
176356 --
176357 -- call ADRs
176358 -- Bug 4922099
176359 --
176360 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
176361 (NVL(l_actual_upg_option, 'N') = 'O') OR
176362 (NVL(l_enc_upg_option, 'N') = 'O')
176363 )
176364 THEN
176365 NULL;
176366 --
176367 --
176368
176369 --
176370 --
176371 END IF;
176372 --
176373 -- Bug 4922099
176374 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
176375 (NVL(l_enc_upg_option, 'N') = 'O')
176376 ) AND
176377 (l_bflow_method_code = 'PRIOR_ENTRY')
176378 )
176379 THEN
176380 IF
176381 --
176382 1 = 1
176383 --
176384 THEN
176385 xla_accounting_err_pkg.build_message
176386 (p_appli_s_name => 'XLA'
176387 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
176388 ,p_token_1 => 'LINE_NUMBER'
176389 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
176390 ,p_token_2 => 'LINE_TYPE_NAME'
176391 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
176392 l_component_type
176393 ,l_component_code
176394 ,l_component_type_code
176395 ,l_component_appl_id
176396 ,l_amb_context_code
176397 ,l_entity_code
176398 ,l_event_class_code
176399 )
176400 ,p_token_3 => 'OWNER'
176401 ,p_value_3 => xla_lookups_pkg.get_meaning(
176402 p_lookup_type => 'XLA_OWNER_TYPE'
176403 ,p_lookup_code => l_component_type_code
176404 )
176405 ,p_token_4 => 'PRODUCT_NAME'
176406 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
176407 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
176408 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
176409 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
176410 ,p_ae_header_id => NULL
176411 );
176412
176413 IF (C_LEVEL_ERROR>= g_log_level) THEN
176414 trace
176415 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
176416 ,p_level => C_LEVEL_ERROR
176417 ,p_module => l_log_module);
176418 END IF;
176419 END IF;
176420 END IF;
176421 --
176422 --
176423 ------------------------------------------------------------------------------------------------
176424 -- 4219869 Business Flow
176425 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
176429
176426 -- Prior Entry. Currently, the following code is always generated.
176427 ------------------------------------------------------------------------------------------------
176428 -- No ValidateCurrentLine for business flow method of Prior Entry
176430 ------------------------------------------------------------------------------------
176431 -- 4219869 Business Flow
176432 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
176433 ------------------------------------------------------------------------------------
176434 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
176435
176436 ----------------------------------------------------------------------------------
176437 -- 4219869 Business Flow
176438 -- Update journal entry status -- Need to generate this within IF <condition>
176439 ----------------------------------------------------------------------------------
176440 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
176441 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
176442 ,p_balance_type_code => l_balance_type_code
176443 );
176444
176445 -------------------------------------------------------------------------------------------
176446 -- 4262811 - Generate the Accrual Reversal lines
176447 -------------------------------------------------------------------------------------------
176448 BEGIN
176449 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
176450 (g_array_event(p_event_id).array_value_num('header_index'));
176451 IF l_acc_rev_flag IS NULL THEN
176452 l_acc_rev_flag := 'N';
176453 END IF;
176454 EXCEPTION
176455 WHEN OTHERS THEN
176456 l_acc_rev_flag := 'N';
176457 END;
176458 --
176459 IF (l_acc_rev_flag = 'Y') THEN
176460
176461 -- 4645092 ------------------------------------------------------------------------------
176462 -- To allow MPA report to determine if it should generate report process
176463 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
176464 ------------------------------------------------------------------------------------------
176465
176466 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
176467 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
176468 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
176469 -- call ADRs
176470 -- Bug 4922099
176471 --
176472 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
176473 (NVL(l_actual_upg_option, 'N') = 'O') OR
176474 (NVL(l_enc_upg_option, 'N') = 'O')
176475 )
176476 THEN
176477 NULL;
176478 --
176479 --
176480
176481 --
176482 --
176483 END IF;
176484
176485 --
176486 -- Update the line information that should be overwritten
176487 --
176488 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
176489 p_header_num => 1);
176490 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
176491
176492 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
176493
176494 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
176495 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
176496 END IF;
176497
176498 --
176499 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
176500 --
176501 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
176502 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
176503 ELSE
176504 ---------------------------------------------------------------------------------------------------
176505 -- 4262811a Switch Sign
176506 ---------------------------------------------------------------------------------------------------
176507 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
176508 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
176509 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
176510 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
176511 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
176512 -- 5132302
176513 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
176514 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
176515
176516 END IF;
176517
176518 -- 4955764
176519 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
176520 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
176521
176522
176523 XLA_AE_LINES_PKG.ValidateCurrentLine;
176524 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
176525
176526 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
176527 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
176528 ,p_balance_type_code => l_balance_type_code);
176529
176530 END IF;
176531
176532 -----------------------------------------------------------------------------------------
176536
176533 -- 4262811 Multiperiod Accounting
176534 -----------------------------------------------------------------------------------------
176535 -- No MPA option is assigned.
176537
176538 END IF;
176539 END IF;
176540 --
176541
176542 --
176543 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
176544 trace
176545 (p_msg => 'END of AcctLineType_283'
176546 ,p_level => C_LEVEL_PROCEDURE
176547 ,p_module => l_log_module);
176548 END IF;
176549 --
176550 EXCEPTION
176551 WHEN xla_exceptions_pkg.application_exception THEN
176552 RAISE;
176553 WHEN OTHERS THEN
176554 xla_exceptions_pkg.raise_message
176555 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_283');
176556 END AcctLineType_283;
176557 --
176558
176559 ---------------------------------------
176560 --
176561 -- PRIVATE FUNCTION
176562 -- AcctLineType_284
176563 --
176564 ---------------------------------------
176565 PROCEDURE AcctLineType_284 (
176566 p_application_id IN NUMBER
176567 ,p_event_id IN NUMBER
176568 ,p_calculate_acctd_flag IN VARCHAR2
176569 ,p_calculate_g_l_flag IN VARCHAR2
176570 ,p_actual_flag IN OUT VARCHAR2
176571 ,p_balance_type_code OUT VARCHAR2
176572 ,p_gain_or_loss_ref OUT VARCHAR2
176573
176574 --Invoice Distribution Description
176575 , p_source_1 IN VARCHAR2
176576 --Invoice Distribution Ledger Amount
176577 , p_source_9 IN NUMBER
176578 --Invoice Distribution Account
176579 , p_source_18 IN NUMBER
176580 --Invoice Distribution Type
176581 , p_source_21 IN VARCHAR2
176582 , p_source_21_meaning IN VARCHAR2
176583 --Accounting Reversal Indicator
176584 , p_source_41 IN VARCHAR2
176585 --Distribution Link Type
176586 , p_source_43 IN VARCHAR2
176587 --Allocation to Main Distribution Identifier
176588 , p_source_45 IN NUMBER
176589 --Invoice Identifier
176590 , p_source_46 IN NUMBER
176591 --Invoice Distribution Identifier
176592 , p_source_52 IN NUMBER
176593 --Payables Encumbrance Upgrade Credit Account
176594 , p_source_53 IN NUMBER
176595 --Payables Encumbrance Upgrade Credit Amount
176596 , p_source_54 IN NUMBER
176597 --Invoice Currency Code
176598 , p_source_55 IN VARCHAR2
176599 --Payables Encumbrance Upgrade Credit Base Amount
176600 , p_source_56 IN NUMBER
176601 --Payables Encumbrance Upgrade Debit Account
176602 , p_source_57 IN NUMBER
176603 --Payables Encumbrance Upgrade Debit Amount
176604 , p_source_58 IN NUMBER
176605 --Payables Encumbrance Upgrade Debit Base Amount
176606 , p_source_59 IN NUMBER
176607 --Payables Encumbrance Upgrade Option
176608 , p_source_60 IN VARCHAR2
176609 --Invoice Distribution Amount
176610 , p_source_61 IN NUMBER
176611 --Deferred Accounting End Date
176612 , p_source_65 IN DATE
176613 --Deferred Accounting Option
176614 , p_source_66 IN VARCHAR2
176615 --Deferred Accounting Start Date
176616 , p_source_67 IN DATE
176617 --Override Accounted Amount Indicator
176618 , p_source_68 IN VARCHAR2
176619 , p_source_68_meaning IN VARCHAR2
176620 --Invoice Supplier Identifier
176621 , p_source_69 IN NUMBER
176622 --Invoice Supplier Site Identifier
176623 , p_source_70 IN NUMBER
176624 --Third Party Type
176625 , p_source_71 IN VARCHAR2
176626 --Parent Reversal Identifier
176627 , p_source_72 IN NUMBER
176628 --Invoice Distribution Statistical Amount
176629 , p_source_73 IN NUMBER
176630 --Invoice Distribution Tax Line Identifier
176631 , p_source_74 IN NUMBER
176632 --Invoice Distribution Tax Distribution Identifier from Tax
176633 , p_source_75 IN NUMBER
176634 --Invoice Distribution Summary Tax Line Identifier
176635 , p_source_76 IN NUMBER
176636 --Payables Upgrade Credit Encumbrance Type Identifier
176637 , p_source_77 IN NUMBER
176638 --Payables Upgrade Debit Encumbrance Type Identifier
176639 , p_source_78 IN NUMBER
176640 --Business Flow Accounts Payable Application Identifier
176641 , p_source_79 IN NUMBER
176642 --Business Flow Invoice Distribution Type
176643 , p_source_80 IN VARCHAR2
176644 --Business Flow Invoice Entity Code
176645 , p_source_81 IN VARCHAR2
176646 --Business Flow Invoice Distribution Identifier
176647 , p_source_82 IN NUMBER
176648 --Business Flow Invoice Identifier
176649 , p_source_83 IN NUMBER
176650 --Accrue on Receipt Option
176651 , p_source_84 IN VARCHAR2
176652 , p_source_84_meaning IN VARCHAR2
176653 --Invoice Exchange Date
176654 , p_source_136 IN DATE
176655 --Invoice Exchange Rate
176656 , p_source_137 IN NUMBER
176657 --Invoice Exchange Rate Type
176658 , p_source_138 IN VARCHAR2
176659 )
176660 IS
176661
176662 l_component_type VARCHAR2(80);
176663 l_component_code VARCHAR2(30);
176664 l_component_type_code VARCHAR2(1);
176665 l_component_appl_id INTEGER;
176666 l_amb_context_code VARCHAR2(30);
176667 l_entity_code VARCHAR2(30);
176668 l_event_class_code VARCHAR2(30);
176669 l_ae_header_id NUMBER;
176670 l_event_type_code VARCHAR2(30);
176674 -- adr variables
176671 l_line_definition_code VARCHAR2(30);
176672 l_line_definition_owner_code VARCHAR2(1);
176673 --
176675 l_segment VARCHAR2(30);
176676 l_ccid NUMBER;
176677 l_adr_transaction_coa_id NUMBER;
176678 l_adr_accounting_coa_id NUMBER;
176679 l_adr_flexfield_segment_code VARCHAR2(30);
176680 l_adr_flex_value_set_id NUMBER;
176681 l_adr_value_type_code VARCHAR2(30);
176682 l_adr_value_combination_id NUMBER;
176683 l_adr_value_segment_code VARCHAR2(30);
176684
176685 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
176686 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
176687 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
176688 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
176689
176690 -- 4262811 Variables ------------------------------------------------------------------------------------------
176691 l_entered_amt_idx NUMBER;
176692 l_accted_amt_idx NUMBER;
176693 l_acc_rev_flag VARCHAR2(1);
176694 l_accrual_line_num NUMBER;
176695 l_tmp_amt NUMBER;
176696 l_acc_rev_natural_side_code VARCHAR2(1);
176697
176698 l_num_entries NUMBER;
176699 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
176700 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
176701 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
176702 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
176703 l_recog_line_1 NUMBER;
176704 l_recog_line_2 NUMBER;
176705
176706 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
176707 l_bflow_applied_to_amt NUMBER; -- 5132302
176708 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
176709
176710 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
176711
176712 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
176713 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
176714
176715 ---------------------------------------------------------------------------------------------------------------
176716
176717
176718 --
176719 -- bulk performance
176720 --
176721 l_balance_type_code VARCHAR2(1);
176722 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
176723 l_log_module VARCHAR2(240);
176724
176725 --
176726 -- Upgrade strategy
176727 --
176728 l_actual_upg_option VARCHAR2(1);
176729 l_enc_upg_option VARCHAR2(1);
176730
176731 --
176732 BEGIN
176733 --
176734 IF g_log_enabled THEN
176735 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_284';
176736 END IF;
176737 --
176738 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
176739
176740 trace
176741 (p_msg => 'BEGIN of AcctLineType_284'
176742 ,p_level => C_LEVEL_PROCEDURE
176743 ,p_module => l_log_module);
176744
176745 END IF;
176746 --
176747 l_component_type := 'AMB_JLT';
176748 l_component_code := 'AP_TAX_RATE_VAR_PREPAY';
176749 l_component_type_code := 'S';
176750 l_component_appl_id := 200;
176751 l_amb_context_code := 'DEFAULT';
176752 l_entity_code := 'AP_INVOICES';
176753 l_event_class_code := 'PREPAYMENTS';
176754 l_event_type_code := 'PREPAYMENTS_ALL';
176755 l_line_definition_owner_code := 'S';
176756 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
176757 --
176758 l_balance_type_code := 'A';
176759 l_segment := NULL;
176760 l_ccid := NULL;
176761 l_adr_transaction_coa_id := NULL;
176762 l_adr_accounting_coa_id := NULL;
176763 l_adr_flexfield_segment_code := NULL;
176764 l_adr_flex_value_set_id := NULL;
176765 l_adr_value_type_code := NULL;
176766 l_adr_value_combination_id := NULL;
176767 l_adr_value_segment_code := NULL;
176768
176769 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
176770 l_bflow_class_code := 'AP_PREPAY'; -- 4219869 Business Flow
176771 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
176772 l_budgetary_control_flag := 'N';
176773
176774 l_bflow_applied_to_amt_idx := NULL; -- 5132302
176775 l_bflow_applied_to_amt := NULL; -- 5132302
176776 l_entered_amt_idx := NULL; -- 4262811
176777 l_accted_amt_idx := NULL; -- 4262811
176778 l_acc_rev_flag := NULL; -- 4262811
176779 l_accrual_line_num := NULL; -- 4262811
176780 l_tmp_amt := NULL; -- 4262811
176781 --
176782
176783 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
176784 l_balance_type_code <> 'B' THEN
176785 IF NVL(p_source_21,'
176786 ') = 'TRV' AND
176787 NVL(p_source_84,'
176788 ') = 'Y'
176789 THEN
176790
176791 --
176792 XLA_AE_LINES_PKG.SetNewLine;
176793
176794 p_balance_type_code := l_balance_type_code;
176795 -- set the flag so later we will know whether the gain loss line needs to be created
176796
176797 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
176801 --
176798 p_actual_flag :='A';
176799 END IF;
176800
176802 -- bulk performance
176803 --
176804 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
176805 p_header_num => 0); -- 4262811
176806 --
176807 -- set accounting line options
176808 --
176809 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
176810 p_natural_side_code => 'D'
176811 , p_gain_or_loss_flag => 'N'
176812 , p_gl_transfer_mode_code => 'S'
176813 , p_acct_entry_type_code => 'A'
176814 , p_switch_side_flag => 'Y'
176815 , p_merge_duplicate_code => 'A'
176816 );
176817 --
176818 l_acc_rev_natural_side_code := 'C'; -- 4262811
176819 --
176820 --
176821 -- set accounting line type info
176822 --
176823 xla_ae_lines_pkg.SetAcctLineType
176824 (p_component_type => l_component_type
176825 ,p_event_type_code => l_event_type_code
176826 ,p_line_definition_owner_code => l_line_definition_owner_code
176827 ,p_line_definition_code => l_line_definition_code
176828 ,p_accounting_line_code => l_component_code
176829 ,p_accounting_line_type_code => l_component_type_code
176830 ,p_accounting_line_appl_id => l_component_appl_id
176831 ,p_amb_context_code => l_amb_context_code
176832 ,p_entity_code => l_entity_code
176833 ,p_event_class_code => l_event_class_code);
176834 --
176835 -- set accounting class
176836 --
176837 xla_ae_lines_pkg.SetAcctClass(
176838 p_accounting_class_code => 'TRV'
176839 , p_ae_header_id => l_ae_header_id
176840 );
176841
176842 --
176843 -- set rounding class
176844 --
176845 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
176846 'TRV';
176847
176848 --
176849 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
176850 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
176851 --
176852 -- bulk performance
176853 --
176854 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
176855
176856 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
176857 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
176858
176859 -- 4955764
176860 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
176861 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
176862
176863 -- 4458381 Public Sector Enh
176864
176865 --
176866 -- set accounting attributes for the line type
176867 --
176868 l_entered_amt_idx := 23;
176869 l_accted_amt_idx := 28;
176870 l_bflow_applied_to_amt_idx := NULL; -- 5132302
176871 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
176872 l_rec_acct_attrs.array_char_value(1) := p_source_41;
176873 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
176874 l_rec_acct_attrs.array_num_value(2) :=
176875 xla_ae_sources_pkg.GetSystemSourceNum(
176876 p_source_code => 'XLA_EVENT_APPL_ID'
176877 , p_source_type_code => 'Y'
176878 , p_source_application_id => 602
176879 );
176880 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
176881 l_rec_acct_attrs.array_char_value(3) := p_source_43;
176882 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
176883 l_rec_acct_attrs.array_char_value(4) :=
176884 xla_ae_sources_pkg.GetSystemSourceChar(
176885 p_source_code => 'XLA_ENTITY_CODE'
176886 , p_source_type_code => 'Y'
176887 , p_source_application_id => 602
176888 );
176889 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
176890 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
176891 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
176892 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
176893 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
176894 l_rec_acct_attrs.array_num_value(7) := p_source_79;
176895 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
176896 l_rec_acct_attrs.array_char_value(8) := p_source_80;
176897 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
176898 l_rec_acct_attrs.array_char_value(9) := p_source_81;
176899 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
176900 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
176901 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
176902 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
176903 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
176904 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
176905 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
176906 l_rec_acct_attrs.array_char_value(13) := p_source_43;
176907 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
176908 l_rec_acct_attrs.array_num_value(14) := p_source_53;
176909 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
176910 l_rec_acct_attrs.array_num_value(15) := p_source_54;
176914 l_rec_acct_attrs.array_num_value(17) := p_source_56;
176911 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
176912 l_rec_acct_attrs.array_char_value(16) := p_source_55;
176913 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
176915 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
176916 l_rec_acct_attrs.array_num_value(18) := p_source_57;
176917 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
176918 l_rec_acct_attrs.array_num_value(19) := p_source_58;
176919 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
176920 l_rec_acct_attrs.array_char_value(20) := p_source_55;
176921 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
176922 l_rec_acct_attrs.array_num_value(21) := p_source_59;
176923 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
176924 l_rec_acct_attrs.array_char_value(22) := p_source_60;
176925 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
176926 l_rec_acct_attrs.array_num_value(23) := p_source_61;
176927 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
176928 l_rec_acct_attrs.array_char_value(24) := p_source_55;
176929 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
176930 l_rec_acct_attrs.array_date_value(25) := p_source_136;
176931 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
176932 l_rec_acct_attrs.array_num_value(26) := p_source_137;
176933 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
176934 l_rec_acct_attrs.array_char_value(27) := p_source_138;
176935 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
176936 l_rec_acct_attrs.array_num_value(28) := p_source_9;
176937 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
176938 l_rec_acct_attrs.array_date_value(29) := p_source_65;
176939 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
176940 l_rec_acct_attrs.array_char_value(30) := p_source_66;
176941 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
176942 l_rec_acct_attrs.array_date_value(31) := p_source_67;
176943 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
176944 l_rec_acct_attrs.array_char_value(32) := p_source_68;
176945 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
176946 l_rec_acct_attrs.array_num_value(33) := p_source_69;
176947 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
176948 l_rec_acct_attrs.array_num_value(34) := p_source_70;
176949 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
176950 l_rec_acct_attrs.array_char_value(35) := p_source_71;
176951 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
176952 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
176953 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
176954 l_rec_acct_attrs.array_char_value(37) := p_source_43;
176955 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
176956 l_rec_acct_attrs.array_num_value(38) := p_source_73;
176957 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
176958 l_rec_acct_attrs.array_num_value(39) := p_source_74;
176959 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
176960 l_rec_acct_attrs.array_num_value(40) := p_source_75;
176961 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
176962 l_rec_acct_attrs.array_num_value(41) := p_source_76;
176963 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
176964 l_rec_acct_attrs.array_num_value(42) := p_source_77;
176965 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
176966 l_rec_acct_attrs.array_num_value(43) := p_source_78;
176967
176968 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
176969 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
176970
176971 ---------------------------------------------------------------------------------------------------------------
176972 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
176973 ---------------------------------------------------------------------------------------------------------------
176974 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
176975
176976 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
176977 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
176978
176979 IF xla_accounting_cache_pkg.GetValueChar
176980 (p_source_code => 'LEDGER_CATEGORY_CODE'
176981 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
176982 AND l_bflow_method_code = 'PRIOR_ENTRY'
176983 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
176984 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
176985 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
176986 )
176987 THEN
176988 xla_ae_lines_pkg.BflowUpgEntry
176989 (p_business_method_code => l_bflow_method_code
176990 ,p_business_class_code => l_bflow_class_code
176991 ,p_balance_type => l_balance_type_code);
176992 ELSE
176993 NULL;
176994 -- No business flow processing for business flow method of NONE.
176995 END IF;
176996
176997 --
176998 -- call analytical criteria
176999 --
177000
177001 --
177002 -- call description
177003 --
177004
177005 xla_ae_lines_pkg.SetLineDescription(
177009 , p_ae_header_id => l_ae_header_id
177006 p_ae_header_id => l_ae_header_id
177007 ,p_description => Description_2 (
177008 p_application_id => p_application_id
177010 , p_source_1 => p_source_1
177011 )
177012 );
177013
177014
177015 --
177016 -- call ADRs
177017 -- Bug 4922099
177018 --
177019 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
177020 (NVL(l_actual_upg_option, 'N') = 'O') OR
177021 (NVL(l_enc_upg_option, 'N') = 'O')
177022 )
177023 THEN
177024 NULL;
177025 --
177026 --
177027
177028 l_ccid := AcctDerRule_32(
177029 p_application_id => p_application_id
177030 , p_ae_header_id => l_ae_header_id
177031 , p_source_18 => p_source_18
177032 , x_transaction_coa_id => l_adr_transaction_coa_id
177033 , x_accounting_coa_id => l_adr_accounting_coa_id
177034 , x_value_type_code => l_adr_value_type_code
177035 , p_side => 'NA'
177036 );
177037
177038 xla_ae_lines_pkg.set_ccid(
177039 p_code_combination_id => l_ccid
177040 , p_value_type_code => l_adr_value_type_code
177041 , p_transaction_coa_id => l_adr_transaction_coa_id
177042 , p_accounting_coa_id => l_adr_accounting_coa_id
177043 , p_adr_code => 'AP_INVOICE_DIST'
177044 , p_adr_type_code => 'S'
177045 , p_component_type => l_component_type
177046 , p_component_code => l_component_code
177047 , p_component_type_code => l_component_type_code
177048 , p_component_appl_id => l_component_appl_id
177049 , p_amb_context_code => l_amb_context_code
177050 , p_side => 'NA'
177051 );
177052
177053
177054 --
177055 --
177056 END IF;
177057 --
177058 -- Bug 4922099
177059 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
177060 (NVL(l_enc_upg_option, 'N') = 'O')
177061 ) AND
177062 (l_bflow_method_code = 'PRIOR_ENTRY')
177063 )
177064 THEN
177065 IF
177066 --
177067 1 = 2
177068 --
177069 THEN
177070 xla_accounting_err_pkg.build_message
177071 (p_appli_s_name => 'XLA'
177072 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
177073 ,p_token_1 => 'LINE_NUMBER'
177074 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
177075 ,p_token_2 => 'LINE_TYPE_NAME'
177076 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
177077 l_component_type
177078 ,l_component_code
177079 ,l_component_type_code
177080 ,l_component_appl_id
177081 ,l_amb_context_code
177082 ,l_entity_code
177083 ,l_event_class_code
177084 )
177085 ,p_token_3 => 'OWNER'
177086 ,p_value_3 => xla_lookups_pkg.get_meaning(
177087 p_lookup_type => 'XLA_OWNER_TYPE'
177088 ,p_lookup_code => l_component_type_code
177089 )
177090 ,p_token_4 => 'PRODUCT_NAME'
177091 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
177092 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
177093 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
177094 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
177095 ,p_ae_header_id => NULL
177096 );
177097
177098 IF (C_LEVEL_ERROR>= g_log_level) THEN
177099 trace
177100 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
177101 ,p_level => C_LEVEL_ERROR
177102 ,p_module => l_log_module);
177103 END IF;
177104 END IF;
177105 END IF;
177106 --
177107 --
177108 ------------------------------------------------------------------------------------------------
177109 -- 4219869 Business Flow
177110 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
177111 -- Prior Entry. Currently, the following code is always generated.
177112 ------------------------------------------------------------------------------------------------
177113 XLA_AE_LINES_PKG.ValidateCurrentLine;
177114
177118 ------------------------------------------------------------------------------------
177115 ------------------------------------------------------------------------------------
177116 -- 4219869 Business Flow
177117 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
177119 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
177120
177121 ----------------------------------------------------------------------------------
177122 -- 4219869 Business Flow
177123 -- Update journal entry status -- Need to generate this within IF <condition>
177124 ----------------------------------------------------------------------------------
177125 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
177126 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
177127 ,p_balance_type_code => l_balance_type_code
177128 );
177129
177130 -------------------------------------------------------------------------------------------
177131 -- 4262811 - Generate the Accrual Reversal lines
177132 -------------------------------------------------------------------------------------------
177133 BEGIN
177134 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
177135 (g_array_event(p_event_id).array_value_num('header_index'));
177136 IF l_acc_rev_flag IS NULL THEN
177137 l_acc_rev_flag := 'N';
177138 END IF;
177139 EXCEPTION
177140 WHEN OTHERS THEN
177141 l_acc_rev_flag := 'N';
177142 END;
177143 --
177144 IF (l_acc_rev_flag = 'Y') THEN
177145
177146 -- 4645092 ------------------------------------------------------------------------------
177147 -- To allow MPA report to determine if it should generate report process
177148 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
177149 ------------------------------------------------------------------------------------------
177150
177151 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
177152 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
177153 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
177154 -- call ADRs
177155 -- Bug 4922099
177156 --
177157 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
177158 (NVL(l_actual_upg_option, 'N') = 'O') OR
177159 (NVL(l_enc_upg_option, 'N') = 'O')
177160 )
177161 THEN
177162 NULL;
177163 --
177164 --
177165
177166 l_ccid := AcctDerRule_32(
177167 p_application_id => p_application_id
177168 , p_ae_header_id => l_ae_header_id
177169 , p_source_18 => p_source_18
177170 , x_transaction_coa_id => l_adr_transaction_coa_id
177171 , x_accounting_coa_id => l_adr_accounting_coa_id
177172 , x_value_type_code => l_adr_value_type_code
177173 , p_side => 'NA'
177174 );
177175
177176 xla_ae_lines_pkg.set_ccid(
177177 p_code_combination_id => l_ccid
177178 , p_value_type_code => l_adr_value_type_code
177179 , p_transaction_coa_id => l_adr_transaction_coa_id
177180 , p_accounting_coa_id => l_adr_accounting_coa_id
177181 , p_adr_code => 'AP_INVOICE_DIST'
177182 , p_adr_type_code => 'S'
177183 , p_component_type => l_component_type
177184 , p_component_code => l_component_code
177185 , p_component_type_code => l_component_type_code
177186 , p_component_appl_id => l_component_appl_id
177187 , p_amb_context_code => l_amb_context_code
177188 , p_side => 'NA'
177189 );
177190
177191
177192 --
177193 --
177194 END IF;
177195
177196 --
177197 -- Update the line information that should be overwritten
177198 --
177199 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
177200 p_header_num => 1);
177201 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
177202
177203 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
177204
177205 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
177206 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
177207 END IF;
177208
177209 --
177210 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
177211 --
177212 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
177213 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
177214 ELSE
177215 ---------------------------------------------------------------------------------------------------
177216 -- 4262811a Switch Sign
177217 ---------------------------------------------------------------------------------------------------
177218 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
177219 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
177220 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
177221 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
177225 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
177222 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
177223 -- 5132302
177224 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
177226
177227 END IF;
177228
177229 -- 4955764
177230 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
177231 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
177232
177233
177234 XLA_AE_LINES_PKG.ValidateCurrentLine;
177235 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
177236
177237 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
177238 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
177239 ,p_balance_type_code => l_balance_type_code);
177240
177241 END IF;
177242
177243 -----------------------------------------------------------------------------------------
177244 -- 4262811 Multiperiod Accounting
177245 -----------------------------------------------------------------------------------------
177246 -- No MPA option is assigned.
177247
177248
177249 END IF;
177250 END IF;
177251 --
177252
177253 --
177254 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
177255 trace
177256 (p_msg => 'END of AcctLineType_284'
177257 ,p_level => C_LEVEL_PROCEDURE
177258 ,p_module => l_log_module);
177259 END IF;
177260 --
177261 EXCEPTION
177262 WHEN xla_exceptions_pkg.application_exception THEN
177263 RAISE;
177264 WHEN OTHERS THEN
177265 xla_exceptions_pkg.raise_message
177266 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_284');
177267 END AcctLineType_284;
177268 --
177269
177270 ---------------------------------------
177271 --
177272 -- PRIVATE FUNCTION
177273 -- AcctLineType_285
177274 --
177275 ---------------------------------------
177276 PROCEDURE AcctLineType_285 (
177277 p_application_id IN NUMBER
177278 ,p_event_id IN NUMBER
177279 ,p_calculate_acctd_flag IN VARCHAR2
177280 ,p_calculate_g_l_flag IN VARCHAR2
177281 ,p_actual_flag IN OUT VARCHAR2
177282 ,p_balance_type_code OUT VARCHAR2
177283 ,p_gain_or_loss_ref OUT VARCHAR2
177284
177285 --Automatic Offsets Value
177286 , p_source_3 IN VARCHAR2
177287 , p_source_3_meaning IN VARCHAR2
177288 --Invoice Distribution Account
177289 , p_source_18 IN NUMBER
177290 --Withholding Related Distribution Account
177291 , p_source_31 IN NUMBER
177292 --Accounting Reversal Indicator
177293 , p_source_41 IN VARCHAR2
177294 --Distribution Link Type
177295 , p_source_43 IN VARCHAR2
177296 --Override Accounted Amount Indicator
177297 , p_source_68 IN VARCHAR2
177298 , p_source_68_meaning IN VARCHAR2
177299 --Third Party Type
177300 , p_source_71 IN VARCHAR2
177301 --Invoice Distribution Tax Line Identifier
177302 , p_source_74 IN NUMBER
177303 --Invoice Distribution Summary Tax Line Identifier
177304 , p_source_76 IN NUMBER
177305 --Business Flow Accounts Payable Application Identifier
177306 , p_source_79 IN NUMBER
177307 --When to Account for Payment Option
177308 , p_source_89 IN VARCHAR2
177309 --Payment Distribution Type
177310 , p_source_90 IN VARCHAR2
177311 , p_source_90_meaning IN VARCHAR2
177312 --Payment Distribution Amount
177313 , p_source_91 IN NUMBER
177314 --Business Flow Payment Distribution Type
177315 , p_source_92 IN VARCHAR2
177316 --Business Flow Payment Entity Code
177317 , p_source_93 IN VARCHAR2
177318 --Business Flow Payment Distribution Identifier
177319 , p_source_94 IN NUMBER
177320 --Business Flow Payment Identifier
177321 , p_source_95 IN NUMBER
177322 --Payment Distribution Identifier
177323 , p_source_96 IN NUMBER
177324 --Payment Supplier Identifier
177325 , p_source_102 IN NUMBER
177326 --Payment Supplier Site Identifier
177327 , p_source_103 IN NUMBER
177328 --Payment Distribution Reversed Identifier
177329 , p_source_104 IN NUMBER
177330 --Payment Currency Code
177331 , p_source_106 IN VARCHAR2
177332 --Payment Distribution (Invoice Rate) Ledger Amount
177333 , p_source_109 IN NUMBER
177334 --Invoice Exchange Date
177335 , p_source_136 IN DATE
177336 --Invoice Exchange Rate
177337 , p_source_137 IN NUMBER
177338 --Invoice Exchange Rate Type
177339 , p_source_138 IN VARCHAR2
177340 --Withholding at Payment Indicator
177341 , p_source_160 IN VARCHAR2
177342 , p_source_160_meaning IN VARCHAR2
177343 )
177344 IS
177345
177346 l_component_type VARCHAR2(80);
177347 l_component_code VARCHAR2(30);
177348 l_component_type_code VARCHAR2(1);
177349 l_component_appl_id INTEGER;
177350 l_amb_context_code VARCHAR2(30);
177351 l_entity_code VARCHAR2(30);
177352 l_event_class_code VARCHAR2(30);
177353 l_ae_header_id NUMBER;
177354 l_event_type_code VARCHAR2(30);
177355 l_line_definition_code VARCHAR2(30);
177356 l_line_definition_owner_code VARCHAR2(1);
177360 l_ccid NUMBER;
177357 --
177358 -- adr variables
177359 l_segment VARCHAR2(30);
177361 l_adr_transaction_coa_id NUMBER;
177362 l_adr_accounting_coa_id NUMBER;
177363 l_adr_flexfield_segment_code VARCHAR2(30);
177364 l_adr_flex_value_set_id NUMBER;
177365 l_adr_value_type_code VARCHAR2(30);
177366 l_adr_value_combination_id NUMBER;
177367 l_adr_value_segment_code VARCHAR2(30);
177368
177369 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
177370 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
177371 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
177372 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
177373
177374 -- 4262811 Variables ------------------------------------------------------------------------------------------
177375 l_entered_amt_idx NUMBER;
177376 l_accted_amt_idx NUMBER;
177377 l_acc_rev_flag VARCHAR2(1);
177378 l_accrual_line_num NUMBER;
177379 l_tmp_amt NUMBER;
177380 l_acc_rev_natural_side_code VARCHAR2(1);
177381
177382 l_num_entries NUMBER;
177383 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
177384 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
177385 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
177386 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
177387 l_recog_line_1 NUMBER;
177388 l_recog_line_2 NUMBER;
177389
177390 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
177391 l_bflow_applied_to_amt NUMBER; -- 5132302
177392 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
177393
177394 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
177395
177396 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
177397 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
177398
177399 ---------------------------------------------------------------------------------------------------------------
177400
177401
177402 --
177403 -- bulk performance
177404 --
177405 l_balance_type_code VARCHAR2(1);
177406 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
177407 l_log_module VARCHAR2(240);
177408
177409 --
177410 -- Upgrade strategy
177411 --
177412 l_actual_upg_option VARCHAR2(1);
177413 l_enc_upg_option VARCHAR2(1);
177414
177415 --
177416 BEGIN
177417 --
177418 IF g_log_enabled THEN
177419 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_285';
177420 END IF;
177421 --
177422 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
177423
177424 trace
177425 (p_msg => 'BEGIN of AcctLineType_285'
177426 ,p_level => C_LEVEL_PROCEDURE
177427 ,p_module => l_log_module);
177428
177429 END IF;
177430 --
177431 l_component_type := 'AMB_JLT';
177432 l_component_code := 'AP_WITHHOLD_TAX_ACCR_CLEAR';
177433 l_component_type_code := 'S';
177434 l_component_appl_id := 200;
177435 l_amb_context_code := 'DEFAULT';
177436 l_entity_code := 'AP_PAYMENTS';
177437 l_event_class_code := 'RECONCILED PAYMENTS';
177438 l_event_type_code := 'RECONCILED PAYMENTS_ALL';
177439 l_line_definition_owner_code := 'S';
177440 l_line_definition_code := 'ACCRUAL_RECONCILED PAYMENTS_A4';
177441 --
177442 l_balance_type_code := 'A';
177443 l_segment := NULL;
177444 l_ccid := NULL;
177445 l_adr_transaction_coa_id := NULL;
177446 l_adr_accounting_coa_id := NULL;
177447 l_adr_flexfield_segment_code := NULL;
177448 l_adr_flex_value_set_id := NULL;
177449 l_adr_value_type_code := NULL;
177450 l_adr_value_combination_id := NULL;
177451 l_adr_value_segment_code := NULL;
177452
177453 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
177454 l_bflow_class_code := ''; -- 4219869 Business Flow
177455 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
177456 l_budgetary_control_flag := 'N';
177457
177458 l_bflow_applied_to_amt_idx := NULL; -- 5132302
177459 l_bflow_applied_to_amt := NULL; -- 5132302
177460 l_entered_amt_idx := NULL; -- 4262811
177461 l_accted_amt_idx := NULL; -- 4262811
177462 l_acc_rev_flag := NULL; -- 4262811
177463 l_accrual_line_num := NULL; -- 4262811
177464 l_tmp_amt := NULL; -- 4262811
177465 --
177466
177467 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
177468 l_balance_type_code <> 'B' THEN
177469 IF NVL(p_source_89,'
177470 ') = 'CLEAR_CLEAR' AND
177471 NVL(p_source_90,'
177472 ') = 'AWT' AND
177473 NVL(p_source_160,'
177474 ') = 'Y'
177475 THEN
177476
177477 --
177478 XLA_AE_LINES_PKG.SetNewLine;
177479
177480 p_balance_type_code := l_balance_type_code;
177481 -- set the flag so later we will know whether the gain loss line needs to be created
177482
177483 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
177484 p_actual_flag :='A';
177485 END IF;
177489 --
177486
177487 --
177488 -- bulk performance
177490 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
177491 p_header_num => 0); -- 4262811
177492 --
177493 -- set accounting line options
177494 --
177495 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
177496 p_natural_side_code => 'C'
177497 , p_gain_or_loss_flag => 'N'
177498 , p_gl_transfer_mode_code => 'S'
177499 , p_acct_entry_type_code => 'A'
177500 , p_switch_side_flag => 'Y'
177501 , p_merge_duplicate_code => 'A'
177502 );
177503 --
177504 l_acc_rev_natural_side_code := 'D'; -- 4262811
177505 --
177506 --
177507 -- set accounting line type info
177508 --
177509 xla_ae_lines_pkg.SetAcctLineType
177510 (p_component_type => l_component_type
177511 ,p_event_type_code => l_event_type_code
177512 ,p_line_definition_owner_code => l_line_definition_owner_code
177513 ,p_line_definition_code => l_line_definition_code
177514 ,p_accounting_line_code => l_component_code
177515 ,p_accounting_line_type_code => l_component_type_code
177516 ,p_accounting_line_appl_id => l_component_appl_id
177517 ,p_amb_context_code => l_amb_context_code
177518 ,p_entity_code => l_entity_code
177519 ,p_event_class_code => l_event_class_code);
177520 --
177521 -- set accounting class
177522 --
177523 xla_ae_lines_pkg.SetAcctClass(
177524 p_accounting_class_code => 'AWT'
177525 , p_ae_header_id => l_ae_header_id
177526 );
177527
177528 --
177529 -- set rounding class
177530 --
177531 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
177532 'AWT';
177533
177534 --
177535 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
177536 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
177537 --
177538 -- bulk performance
177539 --
177540 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
177541
177542 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
177543 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
177544
177545 -- 4955764
177546 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
177547 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
177548
177549 -- 4458381 Public Sector Enh
177550
177551 --
177552 -- set accounting attributes for the line type
177553 --
177554 l_entered_amt_idx := 10;
177555 l_accted_amt_idx := 15;
177556 l_bflow_applied_to_amt_idx := 2; -- 5132302
177557 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
177558 l_rec_acct_attrs.array_char_value(1) := p_source_41;
177559 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
177560 l_rec_acct_attrs.array_num_value(2) := p_source_91;
177561 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
177562 l_rec_acct_attrs.array_num_value(3) := p_source_79;
177563 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
177564 l_rec_acct_attrs.array_char_value(4) := p_source_92;
177565 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
177566 l_rec_acct_attrs.array_char_value(5) := p_source_93;
177567 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
177568 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_94);
177569 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
177570 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_95);
177571 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
177572 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
177573 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
177574 l_rec_acct_attrs.array_char_value(9) := p_source_43;
177575 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
177576 l_rec_acct_attrs.array_num_value(10) := p_source_91;
177577 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
177578 l_rec_acct_attrs.array_char_value(11) := p_source_106;
177579 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
177580 l_rec_acct_attrs.array_date_value(12) := p_source_136;
177581 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
177582 l_rec_acct_attrs.array_num_value(13) := p_source_137;
177583 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
177584 l_rec_acct_attrs.array_char_value(14) := p_source_138;
177585 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
177586 l_rec_acct_attrs.array_num_value(15) := p_source_109;
177587 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
177588 l_rec_acct_attrs.array_char_value(16) := p_source_68;
177589 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
177590 l_rec_acct_attrs.array_num_value(17) := p_source_102;
177591 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
177592 l_rec_acct_attrs.array_num_value(18) := p_source_103;
177593 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
177597 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
177594 l_rec_acct_attrs.array_char_value(19) := p_source_71;
177595 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
177596 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
177598 l_rec_acct_attrs.array_char_value(21) := p_source_43;
177599 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
177600 l_rec_acct_attrs.array_num_value(22) := p_source_74;
177601 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
177602 l_rec_acct_attrs.array_num_value(23) := p_source_74;
177603 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
177604 l_rec_acct_attrs.array_num_value(24) := p_source_76;
177605
177606 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
177607 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
177608
177609 ---------------------------------------------------------------------------------------------------------------
177610 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
177611 ---------------------------------------------------------------------------------------------------------------
177612 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
177613
177614 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
177615 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
177616
177617 IF xla_accounting_cache_pkg.GetValueChar
177618 (p_source_code => 'LEDGER_CATEGORY_CODE'
177619 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
177620 AND l_bflow_method_code = 'PRIOR_ENTRY'
177621 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
177622 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
177623 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
177624 )
177625 THEN
177626 xla_ae_lines_pkg.BflowUpgEntry
177627 (p_business_method_code => l_bflow_method_code
177628 ,p_business_class_code => l_bflow_class_code
177629 ,p_balance_type => l_balance_type_code);
177630 ELSE
177631 NULL;
177632 -- No business flow processing for business flow method of NONE.
177633 END IF;
177634
177635 --
177636 -- call analytical criteria
177637 --
177638
177639 --
177640 -- call description
177641 --
177642 -- No description or it is inherited.
177643 --
177644 -- call ADRs
177645 -- Bug 4922099
177646 --
177647 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
177648 (NVL(l_actual_upg_option, 'N') = 'O') OR
177649 (NVL(l_enc_upg_option, 'N') = 'O')
177650 )
177651 THEN
177652 NULL;
177653 --
177654 --
177655
177656 l_ccid := AcctDerRule_45(
177657 p_application_id => p_application_id
177658 , p_ae_header_id => l_ae_header_id
177659 , p_source_3 => p_source_3
177660 , p_source_3_meaning => p_source_3_meaning
177661 , p_source_18 => p_source_18
177662 , p_source_31 => p_source_31
177663 , x_transaction_coa_id => l_adr_transaction_coa_id
177664 , x_accounting_coa_id => l_adr_accounting_coa_id
177665 , x_value_type_code => l_adr_value_type_code
177666 , p_side => 'NA'
177667 );
177668
177669 xla_ae_lines_pkg.set_ccid(
177670 p_code_combination_id => l_ccid
177671 , p_value_type_code => l_adr_value_type_code
177672 , p_transaction_coa_id => l_adr_transaction_coa_id
177673 , p_accounting_coa_id => l_adr_accounting_coa_id
177674 , p_adr_code => 'AP_WH_DIST_ACCT'
177675 , p_adr_type_code => 'S'
177676 , p_component_type => l_component_type
177677 , p_component_code => l_component_code
177678 , p_component_type_code => l_component_type_code
177679 , p_component_appl_id => l_component_appl_id
177680 , p_amb_context_code => l_amb_context_code
177681 , p_side => 'NA'
177682 );
177683
177684
177685 l_segment := AcctDerRule_13(
177686 p_application_id => p_application_id
177687 , p_ae_header_id => l_ae_header_id
177688 , p_source_3 => p_source_3
177689 , p_source_3_meaning => p_source_3_meaning
177690 , p_source_18 => p_source_18
177691 , x_transaction_coa_id => l_adr_transaction_coa_id
177692 , x_accounting_coa_id => l_adr_accounting_coa_id
177693 , x_flexfield_segment_code => l_adr_flexfield_segment_code
177694 , x_flex_value_set_id => l_adr_flex_value_set_id
177695 , x_value_type_code => l_adr_value_type_code
177696 , x_value_combination_id => l_adr_value_combination_id
177697 , x_value_segment_code => l_adr_value_segment_code
177698 , p_side => 'NA'
177699 , p_override_seg_flag => 'Y'
177700 );
177701
177702 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
177703
177704 xla_ae_lines_pkg.set_segment(
177705 p_to_segment_code => 'GL_ACCOUNT'
177706 , p_segment_value => l_segment
177707 , p_from_segment_code => l_adr_value_segment_code
177711 , p_accounting_coa_id => l_adr_accounting_coa_id
177708 , p_from_combination_id => l_adr_value_combination_id
177709 , p_value_type_code => l_adr_value_type_code
177710 , p_transaction_coa_id => l_adr_transaction_coa_id
177712 , p_flexfield_segment_code => l_adr_flexfield_segment_code
177713 , p_flex_value_set_id => l_adr_flex_value_set_id
177714 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
177715 , p_adr_type_code => 'S'
177716 , p_component_type => l_component_type
177717 , p_component_code => l_component_code
177718 , p_component_type_code => l_component_type_code
177719 , p_component_appl_id => l_component_appl_id
177720 , p_amb_context_code => l_amb_context_code
177721 , p_entity_code => 'AP_PAYMENTS'
177722 , p_event_class_code => 'RECONCILED PAYMENTS'
177723 , p_side => 'NA'
177724 );
177725
177726 END IF;
177727
177728 l_segment := AcctDerRule_24(
177729 p_application_id => p_application_id
177730 , p_ae_header_id => l_ae_header_id
177731 , p_source_3 => p_source_3
177732 , p_source_3_meaning => p_source_3_meaning
177733 , p_source_31 => p_source_31
177734 , x_transaction_coa_id => l_adr_transaction_coa_id
177735 , x_accounting_coa_id => l_adr_accounting_coa_id
177736 , x_flexfield_segment_code => l_adr_flexfield_segment_code
177737 , x_flex_value_set_id => l_adr_flex_value_set_id
177738 , x_value_type_code => l_adr_value_type_code
177739 , x_value_combination_id => l_adr_value_combination_id
177740 , x_value_segment_code => l_adr_value_segment_code
177741 , p_side => 'NA'
177742 , p_override_seg_flag => 'Y'
177743 );
177744
177745 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
177746
177747 xla_ae_lines_pkg.set_segment(
177748 p_to_segment_code => 'GL_BALANCING'
177749 , p_segment_value => l_segment
177750 , p_from_segment_code => l_adr_value_segment_code
177751 , p_from_combination_id => l_adr_value_combination_id
177752 , p_value_type_code => l_adr_value_type_code
177753 , p_transaction_coa_id => l_adr_transaction_coa_id
177754 , p_accounting_coa_id => l_adr_accounting_coa_id
177755 , p_flexfield_segment_code => l_adr_flexfield_segment_code
177756 , p_flex_value_set_id => l_adr_flex_value_set_id
177757 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
177758 , p_adr_type_code => 'S'
177759 , p_component_type => l_component_type
177760 , p_component_code => l_component_code
177761 , p_component_type_code => l_component_type_code
177762 , p_component_appl_id => l_component_appl_id
177763 , p_amb_context_code => l_amb_context_code
177764 , p_entity_code => 'AP_PAYMENTS'
177765 , p_event_class_code => 'RECONCILED PAYMENTS'
177766 , p_side => 'NA'
177767 );
177768
177769 END IF;
177770
177771 --
177772 --
177773 END IF;
177774 --
177775 -- Bug 4922099
177776 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
177777 (NVL(l_enc_upg_option, 'N') = 'O')
177778 ) AND
177779 (l_bflow_method_code = 'PRIOR_ENTRY')
177780 )
177781 THEN
177782 IF
177783 --
177784 1 = 2
177785 --
177786 THEN
177787 xla_accounting_err_pkg.build_message
177788 (p_appli_s_name => 'XLA'
177789 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
177790 ,p_token_1 => 'LINE_NUMBER'
177791 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
177792 ,p_token_2 => 'LINE_TYPE_NAME'
177793 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
177794 l_component_type
177795 ,l_component_code
177796 ,l_component_type_code
177797 ,l_component_appl_id
177798 ,l_amb_context_code
177799 ,l_entity_code
177800 ,l_event_class_code
177801 )
177802 ,p_token_3 => 'OWNER'
177803 ,p_value_3 => xla_lookups_pkg.get_meaning(
177804 p_lookup_type => 'XLA_OWNER_TYPE'
177805 ,p_lookup_code => l_component_type_code
177806 )
177807 ,p_token_4 => 'PRODUCT_NAME'
177811 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
177808 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
177809 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
177810 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
177812 ,p_ae_header_id => NULL
177813 );
177814
177815 IF (C_LEVEL_ERROR>= g_log_level) THEN
177816 trace
177817 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
177818 ,p_level => C_LEVEL_ERROR
177819 ,p_module => l_log_module);
177820 END IF;
177821 END IF;
177822 END IF;
177823 --
177824 --
177825 ------------------------------------------------------------------------------------------------
177826 -- 4219869 Business Flow
177827 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
177828 -- Prior Entry. Currently, the following code is always generated.
177829 ------------------------------------------------------------------------------------------------
177830 XLA_AE_LINES_PKG.ValidateCurrentLine;
177831
177832 ------------------------------------------------------------------------------------
177833 -- 4219869 Business Flow
177834 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
177835 ------------------------------------------------------------------------------------
177836 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
177837
177838 ----------------------------------------------------------------------------------
177839 -- 4219869 Business Flow
177840 -- Update journal entry status -- Need to generate this within IF <condition>
177841 ----------------------------------------------------------------------------------
177842 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
177843 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
177844 ,p_balance_type_code => l_balance_type_code
177845 );
177846
177847 -------------------------------------------------------------------------------------------
177848 -- 4262811 - Generate the Accrual Reversal lines
177849 -------------------------------------------------------------------------------------------
177850 BEGIN
177851 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
177852 (g_array_event(p_event_id).array_value_num('header_index'));
177853 IF l_acc_rev_flag IS NULL THEN
177854 l_acc_rev_flag := 'N';
177855 END IF;
177856 EXCEPTION
177857 WHEN OTHERS THEN
177858 l_acc_rev_flag := 'N';
177859 END;
177860 --
177861 IF (l_acc_rev_flag = 'Y') THEN
177862
177863 -- 4645092 ------------------------------------------------------------------------------
177864 -- To allow MPA report to determine if it should generate report process
177865 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
177866 ------------------------------------------------------------------------------------------
177867
177868 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
177869 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
177870 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
177871 -- call ADRs
177872 -- Bug 4922099
177873 --
177874 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
177875 (NVL(l_actual_upg_option, 'N') = 'O') OR
177876 (NVL(l_enc_upg_option, 'N') = 'O')
177877 )
177878 THEN
177879 NULL;
177880 --
177881 --
177882
177883 l_ccid := AcctDerRule_45(
177884 p_application_id => p_application_id
177885 , p_ae_header_id => l_ae_header_id
177886 , p_source_3 => p_source_3
177887 , p_source_3_meaning => p_source_3_meaning
177888 , p_source_18 => p_source_18
177889 , p_source_31 => p_source_31
177890 , x_transaction_coa_id => l_adr_transaction_coa_id
177891 , x_accounting_coa_id => l_adr_accounting_coa_id
177892 , x_value_type_code => l_adr_value_type_code
177893 , p_side => 'NA'
177894 );
177895
177896 xla_ae_lines_pkg.set_ccid(
177897 p_code_combination_id => l_ccid
177898 , p_value_type_code => l_adr_value_type_code
177899 , p_transaction_coa_id => l_adr_transaction_coa_id
177900 , p_accounting_coa_id => l_adr_accounting_coa_id
177901 , p_adr_code => 'AP_WH_DIST_ACCT'
177902 , p_adr_type_code => 'S'
177903 , p_component_type => l_component_type
177904 , p_component_code => l_component_code
177905 , p_component_type_code => l_component_type_code
177906 , p_component_appl_id => l_component_appl_id
177907 , p_amb_context_code => l_amb_context_code
177908 , p_side => 'NA'
177909 );
177910
177911
177912 l_segment := AcctDerRule_13(
177913 p_application_id => p_application_id
177914 , p_ae_header_id => l_ae_header_id
177915 , p_source_3 => p_source_3
177916 , p_source_3_meaning => p_source_3_meaning
177917 , p_source_18 => p_source_18
177918 , x_transaction_coa_id => l_adr_transaction_coa_id
177922 , x_value_type_code => l_adr_value_type_code
177919 , x_accounting_coa_id => l_adr_accounting_coa_id
177920 , x_flexfield_segment_code => l_adr_flexfield_segment_code
177921 , x_flex_value_set_id => l_adr_flex_value_set_id
177923 , x_value_combination_id => l_adr_value_combination_id
177924 , x_value_segment_code => l_adr_value_segment_code
177925 , p_side => 'NA'
177926 , p_override_seg_flag => 'Y'
177927 );
177928
177929 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
177930
177931 xla_ae_lines_pkg.set_segment(
177932 p_to_segment_code => 'GL_ACCOUNT'
177933 , p_segment_value => l_segment
177934 , p_from_segment_code => l_adr_value_segment_code
177935 , p_from_combination_id => l_adr_value_combination_id
177936 , p_value_type_code => l_adr_value_type_code
177937 , p_transaction_coa_id => l_adr_transaction_coa_id
177938 , p_accounting_coa_id => l_adr_accounting_coa_id
177939 , p_flexfield_segment_code => l_adr_flexfield_segment_code
177940 , p_flex_value_set_id => l_adr_flex_value_set_id
177941 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
177942 , p_adr_type_code => 'S'
177943 , p_component_type => l_component_type
177944 , p_component_code => l_component_code
177945 , p_component_type_code => l_component_type_code
177946 , p_component_appl_id => l_component_appl_id
177947 , p_amb_context_code => l_amb_context_code
177948 , p_entity_code => 'AP_PAYMENTS'
177949 , p_event_class_code => 'RECONCILED PAYMENTS'
177950 , p_side => 'NA'
177951 );
177952
177953 END IF;
177954
177955 l_segment := AcctDerRule_24(
177956 p_application_id => p_application_id
177957 , p_ae_header_id => l_ae_header_id
177958 , p_source_3 => p_source_3
177959 , p_source_3_meaning => p_source_3_meaning
177960 , p_source_31 => p_source_31
177961 , x_transaction_coa_id => l_adr_transaction_coa_id
177962 , x_accounting_coa_id => l_adr_accounting_coa_id
177963 , x_flexfield_segment_code => l_adr_flexfield_segment_code
177964 , x_flex_value_set_id => l_adr_flex_value_set_id
177965 , x_value_type_code => l_adr_value_type_code
177966 , x_value_combination_id => l_adr_value_combination_id
177967 , x_value_segment_code => l_adr_value_segment_code
177968 , p_side => 'NA'
177969 , p_override_seg_flag => 'Y'
177970 );
177971
177972 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
177973
177974 xla_ae_lines_pkg.set_segment(
177975 p_to_segment_code => 'GL_BALANCING'
177976 , p_segment_value => l_segment
177977 , p_from_segment_code => l_adr_value_segment_code
177978 , p_from_combination_id => l_adr_value_combination_id
177979 , p_value_type_code => l_adr_value_type_code
177980 , p_transaction_coa_id => l_adr_transaction_coa_id
177981 , p_accounting_coa_id => l_adr_accounting_coa_id
177982 , p_flexfield_segment_code => l_adr_flexfield_segment_code
177983 , p_flex_value_set_id => l_adr_flex_value_set_id
177984 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
177985 , p_adr_type_code => 'S'
177986 , p_component_type => l_component_type
177987 , p_component_code => l_component_code
177988 , p_component_type_code => l_component_type_code
177989 , p_component_appl_id => l_component_appl_id
177990 , p_amb_context_code => l_amb_context_code
177991 , p_entity_code => 'AP_PAYMENTS'
177992 , p_event_class_code => 'RECONCILED PAYMENTS'
177993 , p_side => 'NA'
177994 );
177995
177996 END IF;
177997
177998 --
177999 --
178000 END IF;
178001
178002 --
178003 -- Update the line information that should be overwritten
178004 --
178005 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
178006 p_header_num => 1);
178007 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
178008
178009 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
178010
178011 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
178012 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
178013 END IF;
178014
178015 --
178016 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
178017 --
178018 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
178019 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
178020 ELSE
178021 ---------------------------------------------------------------------------------------------------
178022 -- 4262811a Switch Sign
178023 ---------------------------------------------------------------------------------------------------
178027 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
178024 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
178025 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
178026 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
178028 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
178029 -- 5132302
178030 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
178031 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
178032
178033 END IF;
178034
178035 -- 4955764
178036 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
178037 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
178038
178039
178040 XLA_AE_LINES_PKG.ValidateCurrentLine;
178041 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
178042
178043 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
178044 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
178045 ,p_balance_type_code => l_balance_type_code);
178046
178047 END IF;
178048
178049 -----------------------------------------------------------------------------------------
178050 -- 4262811 Multiperiod Accounting
178051 -----------------------------------------------------------------------------------------
178052 -- No MPA option is assigned.
178053
178054
178055 END IF;
178056 END IF;
178057 --
178058
178059 --
178060 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
178061 trace
178062 (p_msg => 'END of AcctLineType_285'
178063 ,p_level => C_LEVEL_PROCEDURE
178064 ,p_module => l_log_module);
178065 END IF;
178066 --
178067 EXCEPTION
178068 WHEN xla_exceptions_pkg.application_exception THEN
178069 RAISE;
178070 WHEN OTHERS THEN
178071 xla_exceptions_pkg.raise_message
178072 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_285');
178073 END AcctLineType_285;
178074 --
178075
178076 ---------------------------------------
178077 --
178078 -- PRIVATE FUNCTION
178079 -- AcctLineType_286
178080 --
178081 ---------------------------------------
178082 PROCEDURE AcctLineType_286 (
178083 p_application_id IN NUMBER
178084 ,p_event_id IN NUMBER
178085 ,p_calculate_acctd_flag IN VARCHAR2
178086 ,p_calculate_g_l_flag IN VARCHAR2
178087 ,p_actual_flag IN OUT VARCHAR2
178088 ,p_balance_type_code OUT VARCHAR2
178089 ,p_gain_or_loss_ref OUT VARCHAR2
178090
178091 --Automatic Offsets Value
178092 , p_source_3 IN VARCHAR2
178093 , p_source_3_meaning IN VARCHAR2
178094 --Invoice Distribution Account
178095 , p_source_18 IN NUMBER
178096 --Withholding Related Distribution Account
178097 , p_source_31 IN NUMBER
178098 --Accounting Reversal Indicator
178099 , p_source_41 IN VARCHAR2
178100 --Distribution Link Type
178101 , p_source_43 IN VARCHAR2
178102 --Override Accounted Amount Indicator
178103 , p_source_68 IN VARCHAR2
178104 , p_source_68_meaning IN VARCHAR2
178105 --Third Party Type
178106 , p_source_71 IN VARCHAR2
178107 --Invoice Distribution Tax Line Identifier
178108 , p_source_74 IN NUMBER
178109 --Invoice Distribution Tax Distribution Identifier from Tax
178110 , p_source_75 IN NUMBER
178111 --Invoice Distribution Summary Tax Line Identifier
178112 , p_source_76 IN NUMBER
178113 --Business Flow Accounts Payable Application Identifier
178114 , p_source_79 IN NUMBER
178115 --Business Flow Invoice Distribution Type
178116 , p_source_80 IN VARCHAR2
178117 --Business Flow Invoice Entity Code
178118 , p_source_81 IN VARCHAR2
178119 --Business Flow Invoice Distribution Identifier
178120 , p_source_82 IN NUMBER
178121 --Business Flow Invoice Identifier
178122 , p_source_83 IN NUMBER
178123 --When to Account for Payment Option
178124 , p_source_89 IN VARCHAR2
178125 --Payment Distribution Type
178126 , p_source_90 IN VARCHAR2
178127 , p_source_90_meaning IN VARCHAR2
178128 --Payment Distribution Amount
178129 , p_source_91 IN NUMBER
178130 --Payment Distribution Identifier
178131 , p_source_96 IN NUMBER
178132 --Payment Supplier Identifier
178133 , p_source_102 IN NUMBER
178134 --Payment Supplier Site Identifier
178135 , p_source_103 IN NUMBER
178136 --Payment Distribution Reversed Identifier
178137 , p_source_104 IN NUMBER
178138 --Payment Currency Code
178139 , p_source_106 IN VARCHAR2
178140 --Payment Distribution (Invoice Rate) Ledger Amount
178141 , p_source_109 IN NUMBER
178142 --Payment Type
178143 , p_source_115 IN VARCHAR2
178144 , p_source_115_meaning IN VARCHAR2
178145 --Payment Processing Type
178146 , p_source_116 IN VARCHAR2
178147 --Invoice Distribution Amount of the Payment Distribution
178148 , p_source_117 IN NUMBER
178149 --Invoice Exchange Date
178150 , p_source_136 IN DATE
178151 --Invoice Exchange Rate
178155 --Withholding at Payment Indicator
178152 , p_source_137 IN NUMBER
178153 --Invoice Exchange Rate Type
178154 , p_source_138 IN VARCHAR2
178156 , p_source_160 IN VARCHAR2
178157 , p_source_160_meaning IN VARCHAR2
178158 )
178159 IS
178160
178161 l_component_type VARCHAR2(80);
178162 l_component_code VARCHAR2(30);
178163 l_component_type_code VARCHAR2(1);
178164 l_component_appl_id INTEGER;
178165 l_amb_context_code VARCHAR2(30);
178166 l_entity_code VARCHAR2(30);
178167 l_event_class_code VARCHAR2(30);
178168 l_ae_header_id NUMBER;
178169 l_event_type_code VARCHAR2(30);
178170 l_line_definition_code VARCHAR2(30);
178171 l_line_definition_owner_code VARCHAR2(1);
178172 --
178173 -- adr variables
178174 l_segment VARCHAR2(30);
178175 l_ccid NUMBER;
178176 l_adr_transaction_coa_id NUMBER;
178177 l_adr_accounting_coa_id NUMBER;
178178 l_adr_flexfield_segment_code VARCHAR2(30);
178179 l_adr_flex_value_set_id NUMBER;
178180 l_adr_value_type_code VARCHAR2(30);
178181 l_adr_value_combination_id NUMBER;
178182 l_adr_value_segment_code VARCHAR2(30);
178183
178184 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
178185 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
178186 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
178187 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
178188
178189 -- 4262811 Variables ------------------------------------------------------------------------------------------
178190 l_entered_amt_idx NUMBER;
178191 l_accted_amt_idx NUMBER;
178192 l_acc_rev_flag VARCHAR2(1);
178193 l_accrual_line_num NUMBER;
178194 l_tmp_amt NUMBER;
178195 l_acc_rev_natural_side_code VARCHAR2(1);
178196
178197 l_num_entries NUMBER;
178198 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
178199 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
178200 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
178201 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
178202 l_recog_line_1 NUMBER;
178203 l_recog_line_2 NUMBER;
178204
178205 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
178206 l_bflow_applied_to_amt NUMBER; -- 5132302
178207 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
178208
178209 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
178210
178211 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
178212 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
178213
178214 ---------------------------------------------------------------------------------------------------------------
178215
178216
178217 --
178218 -- bulk performance
178219 --
178220 l_balance_type_code VARCHAR2(1);
178221 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
178222 l_log_module VARCHAR2(240);
178223
178224 --
178225 -- Upgrade strategy
178226 --
178227 l_actual_upg_option VARCHAR2(1);
178228 l_enc_upg_option VARCHAR2(1);
178229
178230 --
178231 BEGIN
178232 --
178233 IF g_log_enabled THEN
178234 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_286';
178235 END IF;
178236 --
178237 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
178238
178239 trace
178240 (p_msg => 'BEGIN of AcctLineType_286'
178241 ,p_level => C_LEVEL_PROCEDURE
178242 ,p_module => l_log_module);
178243
178244 END IF;
178245 --
178246 l_component_type := 'AMB_JLT';
178247 l_component_code := 'AP_WITHHOLD_TAX_ACCR_PMT';
178248 l_component_type_code := 'S';
178249 l_component_appl_id := 200;
178250 l_amb_context_code := 'DEFAULT';
178251 l_entity_code := 'AP_PAYMENTS';
178252 l_event_class_code := 'PAYMENTS';
178253 l_event_type_code := 'PAYMENTS_ALL';
178254 l_line_definition_owner_code := 'S';
178255 l_line_definition_code := 'ACCRUAL_PAYMENTS_ALL';
178256 --
178257 l_balance_type_code := 'A';
178258 l_segment := NULL;
178259 l_ccid := NULL;
178260 l_adr_transaction_coa_id := NULL;
178261 l_adr_accounting_coa_id := NULL;
178262 l_adr_flexfield_segment_code := NULL;
178263 l_adr_flex_value_set_id := NULL;
178264 l_adr_value_type_code := NULL;
178265 l_adr_value_combination_id := NULL;
178266 l_adr_value_segment_code := NULL;
178267
178268 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
178269 l_bflow_class_code := ''; -- 4219869 Business Flow
178270 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
178271 l_budgetary_control_flag := 'N';
178272
178273 l_bflow_applied_to_amt_idx := NULL; -- 5132302
178274 l_bflow_applied_to_amt := NULL; -- 5132302
178275 l_entered_amt_idx := NULL; -- 4262811
178276 l_accted_amt_idx := NULL; -- 4262811
178277 l_acc_rev_flag := NULL; -- 4262811
178278 l_accrual_line_num := NULL; -- 4262811
178282 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
178279 l_tmp_amt := NULL; -- 4262811
178280 --
178281
178283 l_balance_type_code <> 'B' THEN
178284 IF NVL(p_source_89,'
178285 ') <> 'CLEAR_CLEAR' AND
178286 NVL(p_source_90,'
178287 ') = 'AWT' AND
178288 NVL(p_source_160,'
178289 ') = 'Y' AND
178290 NVL(p_source_115,'
178291 ') <> 'R' AND
178292 NVL(p_source_116,'
178293 ') <> 'PAYMENTCARD'
178294 THEN
178295
178296 --
178297 XLA_AE_LINES_PKG.SetNewLine;
178298
178299 p_balance_type_code := l_balance_type_code;
178300 -- set the flag so later we will know whether the gain loss line needs to be created
178301
178302 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
178303 p_actual_flag :='A';
178304 END IF;
178305
178306 --
178307 -- bulk performance
178308 --
178309 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
178310 p_header_num => 0); -- 4262811
178311 --
178312 -- set accounting line options
178313 --
178314 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
178315 p_natural_side_code => 'C'
178316 , p_gain_or_loss_flag => 'N'
178317 , p_gl_transfer_mode_code => 'S'
178318 , p_acct_entry_type_code => 'A'
178319 , p_switch_side_flag => 'Y'
178320 , p_merge_duplicate_code => 'A'
178321 );
178322 --
178323 l_acc_rev_natural_side_code := 'D'; -- 4262811
178324 --
178325 --
178326 -- set accounting line type info
178327 --
178328 xla_ae_lines_pkg.SetAcctLineType
178329 (p_component_type => l_component_type
178330 ,p_event_type_code => l_event_type_code
178331 ,p_line_definition_owner_code => l_line_definition_owner_code
178332 ,p_line_definition_code => l_line_definition_code
178333 ,p_accounting_line_code => l_component_code
178334 ,p_accounting_line_type_code => l_component_type_code
178335 ,p_accounting_line_appl_id => l_component_appl_id
178336 ,p_amb_context_code => l_amb_context_code
178337 ,p_entity_code => l_entity_code
178338 ,p_event_class_code => l_event_class_code);
178339 --
178340 -- set accounting class
178341 --
178342 xla_ae_lines_pkg.SetAcctClass(
178343 p_accounting_class_code => 'AWT'
178344 , p_ae_header_id => l_ae_header_id
178345 );
178346
178347 --
178348 -- set rounding class
178349 --
178350 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
178351 'AWT';
178352
178353 --
178354 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
178355 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
178356 --
178357 -- bulk performance
178358 --
178359 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
178360
178361 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
178362 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
178363
178364 -- 4955764
178365 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
178366 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
178367
178368 -- 4458381 Public Sector Enh
178369
178370 --
178371 -- set accounting attributes for the line type
178372 --
178373 l_entered_amt_idx := 10;
178374 l_accted_amt_idx := 15;
178375 l_bflow_applied_to_amt_idx := 2; -- 5132302
178376 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
178377 l_rec_acct_attrs.array_char_value(1) := p_source_41;
178378 l_rec_acct_attrs.array_acct_attr_code(2) := 'APPLIED_TO_AMOUNT';
178379 l_rec_acct_attrs.array_num_value(2) := p_source_117;
178380 l_rec_acct_attrs.array_acct_attr_code(3) := 'APPLIED_TO_APPLICATION_ID';
178381 l_rec_acct_attrs.array_num_value(3) := p_source_79;
178382 l_rec_acct_attrs.array_acct_attr_code(4) := 'APPLIED_TO_DISTRIBUTION_TYPE';
178383 l_rec_acct_attrs.array_char_value(4) := p_source_80;
178384 l_rec_acct_attrs.array_acct_attr_code(5) := 'APPLIED_TO_ENTITY_CODE';
178385 l_rec_acct_attrs.array_char_value(5) := p_source_81;
178386 l_rec_acct_attrs.array_acct_attr_code(6) := 'APPLIED_TO_FIRST_DIST_ID';
178387 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_82);
178388 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
178389 l_rec_acct_attrs.array_num_value(7) := to_char(p_source_83);
178390 l_rec_acct_attrs.array_acct_attr_code(8) := 'DISTRIBUTION_IDENTIFIER_1';
178391 l_rec_acct_attrs.array_num_value(8) := to_char(p_source_96);
178392 l_rec_acct_attrs.array_acct_attr_code(9) := 'DISTRIBUTION_TYPE';
178393 l_rec_acct_attrs.array_char_value(9) := p_source_43;
178394 l_rec_acct_attrs.array_acct_attr_code(10) := 'ENTERED_CURRENCY_AMOUNT';
178395 l_rec_acct_attrs.array_num_value(10) := p_source_91;
178396 l_rec_acct_attrs.array_acct_attr_code(11) := 'ENTERED_CURRENCY_CODE';
178397 l_rec_acct_attrs.array_char_value(11) := p_source_106;
178398 l_rec_acct_attrs.array_acct_attr_code(12) := 'EXCHANGE_DATE';
178399 l_rec_acct_attrs.array_date_value(12) := p_source_136;
178403 l_rec_acct_attrs.array_char_value(14) := p_source_138;
178400 l_rec_acct_attrs.array_acct_attr_code(13) := 'EXCHANGE_RATE';
178401 l_rec_acct_attrs.array_num_value(13) := p_source_137;
178402 l_rec_acct_attrs.array_acct_attr_code(14) := 'EXCHANGE_RATE_TYPE';
178404 l_rec_acct_attrs.array_acct_attr_code(15) := 'LEDGER_AMOUNT';
178405 l_rec_acct_attrs.array_num_value(15) := p_source_109;
178406 l_rec_acct_attrs.array_acct_attr_code(16) := 'OVERRIDE_ACCTD_AMT_FLAG';
178407 l_rec_acct_attrs.array_char_value(16) := p_source_68;
178408 l_rec_acct_attrs.array_acct_attr_code(17) := 'PARTY_ID';
178409 l_rec_acct_attrs.array_num_value(17) := p_source_102;
178410 l_rec_acct_attrs.array_acct_attr_code(18) := 'PARTY_SITE_ID';
178411 l_rec_acct_attrs.array_num_value(18) := p_source_103;
178412 l_rec_acct_attrs.array_acct_attr_code(19) := 'PARTY_TYPE';
178413 l_rec_acct_attrs.array_char_value(19) := p_source_71;
178414 l_rec_acct_attrs.array_acct_attr_code(20) := 'REVERSED_DISTRIBUTION_ID1';
178415 l_rec_acct_attrs.array_num_value(20) := to_char(p_source_104);
178416 l_rec_acct_attrs.array_acct_attr_code(21) := 'REVERSED_DISTRIBUTION_TYPE';
178417 l_rec_acct_attrs.array_char_value(21) := p_source_43;
178418 l_rec_acct_attrs.array_acct_attr_code(22) := 'TAX_LINE_REF_ID';
178419 l_rec_acct_attrs.array_num_value(22) := p_source_74;
178420 l_rec_acct_attrs.array_acct_attr_code(23) := 'TAX_REC_NREC_DIST_REF_ID';
178421 l_rec_acct_attrs.array_num_value(23) := p_source_75;
178422 l_rec_acct_attrs.array_acct_attr_code(24) := 'TAX_SUMMARY_LINE_REF_ID';
178423 l_rec_acct_attrs.array_num_value(24) := p_source_76;
178424
178425 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
178426 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
178427
178428 ---------------------------------------------------------------------------------------------------------------
178429 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
178430 ---------------------------------------------------------------------------------------------------------------
178431 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
178432
178433 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
178434 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
178435
178436 IF xla_accounting_cache_pkg.GetValueChar
178437 (p_source_code => 'LEDGER_CATEGORY_CODE'
178438 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
178439 AND l_bflow_method_code = 'PRIOR_ENTRY'
178440 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
178441 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
178442 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
178443 )
178444 THEN
178445 xla_ae_lines_pkg.BflowUpgEntry
178446 (p_business_method_code => l_bflow_method_code
178447 ,p_business_class_code => l_bflow_class_code
178448 ,p_balance_type => l_balance_type_code);
178449 ELSE
178450 NULL;
178451 -- No business flow processing for business flow method of NONE.
178452 END IF;
178453
178454 --
178455 -- call analytical criteria
178456 --
178457
178458 --
178459 -- call description
178460 --
178461 -- No description or it is inherited.
178462 --
178463 -- call ADRs
178464 -- Bug 4922099
178465 --
178466 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
178467 (NVL(l_actual_upg_option, 'N') = 'O') OR
178468 (NVL(l_enc_upg_option, 'N') = 'O')
178469 )
178470 THEN
178471 NULL;
178472 --
178473 --
178474
178475 l_ccid := AcctDerRule_45(
178476 p_application_id => p_application_id
178477 , p_ae_header_id => l_ae_header_id
178478 , p_source_3 => p_source_3
178479 , p_source_3_meaning => p_source_3_meaning
178480 , p_source_18 => p_source_18
178481 , p_source_31 => p_source_31
178482 , x_transaction_coa_id => l_adr_transaction_coa_id
178483 , x_accounting_coa_id => l_adr_accounting_coa_id
178484 , x_value_type_code => l_adr_value_type_code
178485 , p_side => 'NA'
178486 );
178487
178488 xla_ae_lines_pkg.set_ccid(
178489 p_code_combination_id => l_ccid
178490 , p_value_type_code => l_adr_value_type_code
178491 , p_transaction_coa_id => l_adr_transaction_coa_id
178492 , p_accounting_coa_id => l_adr_accounting_coa_id
178493 , p_adr_code => 'AP_WH_DIST_ACCT'
178494 , p_adr_type_code => 'S'
178495 , p_component_type => l_component_type
178496 , p_component_code => l_component_code
178497 , p_component_type_code => l_component_type_code
178498 , p_component_appl_id => l_component_appl_id
178499 , p_amb_context_code => l_amb_context_code
178500 , p_side => 'NA'
178501 );
178502
178503
178504 l_segment := AcctDerRule_13(
178505 p_application_id => p_application_id
178506 , p_ae_header_id => l_ae_header_id
178507 , p_source_3 => p_source_3
178508 , p_source_3_meaning => p_source_3_meaning
178509 , p_source_18 => p_source_18
178510 , x_transaction_coa_id => l_adr_transaction_coa_id
178511 , x_accounting_coa_id => l_adr_accounting_coa_id
178515 , x_value_combination_id => l_adr_value_combination_id
178512 , x_flexfield_segment_code => l_adr_flexfield_segment_code
178513 , x_flex_value_set_id => l_adr_flex_value_set_id
178514 , x_value_type_code => l_adr_value_type_code
178516 , x_value_segment_code => l_adr_value_segment_code
178517 , p_side => 'NA'
178518 , p_override_seg_flag => 'Y'
178519 );
178520
178521 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
178522
178523 xla_ae_lines_pkg.set_segment(
178524 p_to_segment_code => 'GL_ACCOUNT'
178525 , p_segment_value => l_segment
178526 , p_from_segment_code => l_adr_value_segment_code
178527 , p_from_combination_id => l_adr_value_combination_id
178528 , p_value_type_code => l_adr_value_type_code
178529 , p_transaction_coa_id => l_adr_transaction_coa_id
178530 , p_accounting_coa_id => l_adr_accounting_coa_id
178531 , p_flexfield_segment_code => l_adr_flexfield_segment_code
178532 , p_flex_value_set_id => l_adr_flex_value_set_id
178533 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
178534 , p_adr_type_code => 'S'
178535 , p_component_type => l_component_type
178536 , p_component_code => l_component_code
178537 , p_component_type_code => l_component_type_code
178538 , p_component_appl_id => l_component_appl_id
178539 , p_amb_context_code => l_amb_context_code
178540 , p_entity_code => 'AP_PAYMENTS'
178541 , p_event_class_code => 'PAYMENTS'
178542 , p_side => 'NA'
178543 );
178544
178545 END IF;
178546
178547 l_segment := AcctDerRule_24(
178548 p_application_id => p_application_id
178549 , p_ae_header_id => l_ae_header_id
178550 , p_source_3 => p_source_3
178551 , p_source_3_meaning => p_source_3_meaning
178552 , p_source_31 => p_source_31
178553 , x_transaction_coa_id => l_adr_transaction_coa_id
178554 , x_accounting_coa_id => l_adr_accounting_coa_id
178555 , x_flexfield_segment_code => l_adr_flexfield_segment_code
178556 , x_flex_value_set_id => l_adr_flex_value_set_id
178557 , x_value_type_code => l_adr_value_type_code
178558 , x_value_combination_id => l_adr_value_combination_id
178559 , x_value_segment_code => l_adr_value_segment_code
178560 , p_side => 'NA'
178561 , p_override_seg_flag => 'Y'
178562 );
178563
178564 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
178565
178566 xla_ae_lines_pkg.set_segment(
178567 p_to_segment_code => 'GL_BALANCING'
178568 , p_segment_value => l_segment
178569 , p_from_segment_code => l_adr_value_segment_code
178570 , p_from_combination_id => l_adr_value_combination_id
178571 , p_value_type_code => l_adr_value_type_code
178572 , p_transaction_coa_id => l_adr_transaction_coa_id
178573 , p_accounting_coa_id => l_adr_accounting_coa_id
178574 , p_flexfield_segment_code => l_adr_flexfield_segment_code
178575 , p_flex_value_set_id => l_adr_flex_value_set_id
178576 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
178577 , p_adr_type_code => 'S'
178578 , p_component_type => l_component_type
178579 , p_component_code => l_component_code
178580 , p_component_type_code => l_component_type_code
178581 , p_component_appl_id => l_component_appl_id
178582 , p_amb_context_code => l_amb_context_code
178583 , p_entity_code => 'AP_PAYMENTS'
178584 , p_event_class_code => 'PAYMENTS'
178585 , p_side => 'NA'
178586 );
178587
178588 END IF;
178589
178590 --
178591 --
178592 END IF;
178593 --
178594 -- Bug 4922099
178595 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
178596 (NVL(l_enc_upg_option, 'N') = 'O')
178597 ) AND
178598 (l_bflow_method_code = 'PRIOR_ENTRY')
178599 )
178600 THEN
178601 IF
178602 --
178603 1 = 2
178604 --
178605 THEN
178606 xla_accounting_err_pkg.build_message
178607 (p_appli_s_name => 'XLA'
178608 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
178609 ,p_token_1 => 'LINE_NUMBER'
178610 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
178611 ,p_token_2 => 'LINE_TYPE_NAME'
178612 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
178613 l_component_type
178614 ,l_component_code
178615 ,l_component_type_code
178616 ,l_component_appl_id
178617 ,l_amb_context_code
178621 ,p_token_3 => 'OWNER'
178618 ,l_entity_code
178619 ,l_event_class_code
178620 )
178622 ,p_value_3 => xla_lookups_pkg.get_meaning(
178623 p_lookup_type => 'XLA_OWNER_TYPE'
178624 ,p_lookup_code => l_component_type_code
178625 )
178626 ,p_token_4 => 'PRODUCT_NAME'
178627 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
178628 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
178629 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
178630 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
178631 ,p_ae_header_id => NULL
178632 );
178633
178634 IF (C_LEVEL_ERROR>= g_log_level) THEN
178635 trace
178636 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
178637 ,p_level => C_LEVEL_ERROR
178638 ,p_module => l_log_module);
178639 END IF;
178640 END IF;
178641 END IF;
178642 --
178643 --
178644 ------------------------------------------------------------------------------------------------
178645 -- 4219869 Business Flow
178646 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
178647 -- Prior Entry. Currently, the following code is always generated.
178648 ------------------------------------------------------------------------------------------------
178649 XLA_AE_LINES_PKG.ValidateCurrentLine;
178650
178651 ------------------------------------------------------------------------------------
178652 -- 4219869 Business Flow
178653 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
178654 ------------------------------------------------------------------------------------
178655 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
178656
178657 ----------------------------------------------------------------------------------
178658 -- 4219869 Business Flow
178659 -- Update journal entry status -- Need to generate this within IF <condition>
178660 ----------------------------------------------------------------------------------
178661 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
178662 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
178663 ,p_balance_type_code => l_balance_type_code
178664 );
178665
178666 -------------------------------------------------------------------------------------------
178667 -- 4262811 - Generate the Accrual Reversal lines
178668 -------------------------------------------------------------------------------------------
178669 BEGIN
178670 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
178671 (g_array_event(p_event_id).array_value_num('header_index'));
178672 IF l_acc_rev_flag IS NULL THEN
178673 l_acc_rev_flag := 'N';
178674 END IF;
178675 EXCEPTION
178676 WHEN OTHERS THEN
178677 l_acc_rev_flag := 'N';
178678 END;
178679 --
178680 IF (l_acc_rev_flag = 'Y') THEN
178681
178682 -- 4645092 ------------------------------------------------------------------------------
178683 -- To allow MPA report to determine if it should generate report process
178684 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
178685 ------------------------------------------------------------------------------------------
178686
178687 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
178688 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
178689 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
178690 -- call ADRs
178691 -- Bug 4922099
178692 --
178693 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
178694 (NVL(l_actual_upg_option, 'N') = 'O') OR
178695 (NVL(l_enc_upg_option, 'N') = 'O')
178696 )
178697 THEN
178698 NULL;
178699 --
178700 --
178701
178702 l_ccid := AcctDerRule_45(
178703 p_application_id => p_application_id
178704 , p_ae_header_id => l_ae_header_id
178705 , p_source_3 => p_source_3
178706 , p_source_3_meaning => p_source_3_meaning
178707 , p_source_18 => p_source_18
178708 , p_source_31 => p_source_31
178709 , x_transaction_coa_id => l_adr_transaction_coa_id
178710 , x_accounting_coa_id => l_adr_accounting_coa_id
178711 , x_value_type_code => l_adr_value_type_code
178712 , p_side => 'NA'
178713 );
178714
178715 xla_ae_lines_pkg.set_ccid(
178716 p_code_combination_id => l_ccid
178717 , p_value_type_code => l_adr_value_type_code
178718 , p_transaction_coa_id => l_adr_transaction_coa_id
178722 , p_component_type => l_component_type
178719 , p_accounting_coa_id => l_adr_accounting_coa_id
178720 , p_adr_code => 'AP_WH_DIST_ACCT'
178721 , p_adr_type_code => 'S'
178723 , p_component_code => l_component_code
178724 , p_component_type_code => l_component_type_code
178725 , p_component_appl_id => l_component_appl_id
178726 , p_amb_context_code => l_amb_context_code
178727 , p_side => 'NA'
178728 );
178729
178730
178731 l_segment := AcctDerRule_13(
178732 p_application_id => p_application_id
178733 , p_ae_header_id => l_ae_header_id
178734 , p_source_3 => p_source_3
178735 , p_source_3_meaning => p_source_3_meaning
178736 , p_source_18 => p_source_18
178737 , x_transaction_coa_id => l_adr_transaction_coa_id
178738 , x_accounting_coa_id => l_adr_accounting_coa_id
178739 , x_flexfield_segment_code => l_adr_flexfield_segment_code
178740 , x_flex_value_set_id => l_adr_flex_value_set_id
178741 , x_value_type_code => l_adr_value_type_code
178742 , x_value_combination_id => l_adr_value_combination_id
178743 , x_value_segment_code => l_adr_value_segment_code
178744 , p_side => 'NA'
178745 , p_override_seg_flag => 'Y'
178746 );
178747
178748 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
178749
178750 xla_ae_lines_pkg.set_segment(
178751 p_to_segment_code => 'GL_ACCOUNT'
178752 , p_segment_value => l_segment
178753 , p_from_segment_code => l_adr_value_segment_code
178754 , p_from_combination_id => l_adr_value_combination_id
178755 , p_value_type_code => l_adr_value_type_code
178756 , p_transaction_coa_id => l_adr_transaction_coa_id
178757 , p_accounting_coa_id => l_adr_accounting_coa_id
178758 , p_flexfield_segment_code => l_adr_flexfield_segment_code
178759 , p_flex_value_set_id => l_adr_flex_value_set_id
178760 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
178761 , p_adr_type_code => 'S'
178762 , p_component_type => l_component_type
178763 , p_component_code => l_component_code
178764 , p_component_type_code => l_component_type_code
178765 , p_component_appl_id => l_component_appl_id
178766 , p_amb_context_code => l_amb_context_code
178767 , p_entity_code => 'AP_PAYMENTS'
178768 , p_event_class_code => 'PAYMENTS'
178769 , p_side => 'NA'
178770 );
178771
178772 END IF;
178773
178774 l_segment := AcctDerRule_24(
178775 p_application_id => p_application_id
178776 , p_ae_header_id => l_ae_header_id
178777 , p_source_3 => p_source_3
178778 , p_source_3_meaning => p_source_3_meaning
178779 , p_source_31 => p_source_31
178780 , x_transaction_coa_id => l_adr_transaction_coa_id
178781 , x_accounting_coa_id => l_adr_accounting_coa_id
178782 , x_flexfield_segment_code => l_adr_flexfield_segment_code
178783 , x_flex_value_set_id => l_adr_flex_value_set_id
178784 , x_value_type_code => l_adr_value_type_code
178785 , x_value_combination_id => l_adr_value_combination_id
178786 , x_value_segment_code => l_adr_value_segment_code
178787 , p_side => 'NA'
178788 , p_override_seg_flag => 'Y'
178789 );
178790
178791 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
178792
178793 xla_ae_lines_pkg.set_segment(
178794 p_to_segment_code => 'GL_BALANCING'
178795 , p_segment_value => l_segment
178796 , p_from_segment_code => l_adr_value_segment_code
178797 , p_from_combination_id => l_adr_value_combination_id
178798 , p_value_type_code => l_adr_value_type_code
178799 , p_transaction_coa_id => l_adr_transaction_coa_id
178800 , p_accounting_coa_id => l_adr_accounting_coa_id
178801 , p_flexfield_segment_code => l_adr_flexfield_segment_code
178802 , p_flex_value_set_id => l_adr_flex_value_set_id
178803 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
178804 , p_adr_type_code => 'S'
178805 , p_component_type => l_component_type
178806 , p_component_code => l_component_code
178807 , p_component_type_code => l_component_type_code
178808 , p_component_appl_id => l_component_appl_id
178809 , p_amb_context_code => l_amb_context_code
178810 , p_entity_code => 'AP_PAYMENTS'
178811 , p_event_class_code => 'PAYMENTS'
178812 , p_side => 'NA'
178813 );
178814
178815 END IF;
178816
178817 --
178818 --
178819 END IF;
178820
178821 --
178822 -- Update the line information that should be overwritten
178823 --
178824 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
178825 p_header_num => 1);
178826 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
178827
178831 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
178828 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
178829
178830 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
178832 END IF;
178833
178834 --
178835 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
178836 --
178837 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
178838 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
178839 ELSE
178840 ---------------------------------------------------------------------------------------------------
178841 -- 4262811a Switch Sign
178842 ---------------------------------------------------------------------------------------------------
178843 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
178844 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
178845 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
178846 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
178847 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
178848 -- 5132302
178849 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
178850 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
178851
178852 END IF;
178853
178854 -- 4955764
178855 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
178856 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
178857
178858
178859 XLA_AE_LINES_PKG.ValidateCurrentLine;
178860 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
178861
178862 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
178863 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
178864 ,p_balance_type_code => l_balance_type_code);
178865
178866 END IF;
178867
178868 -----------------------------------------------------------------------------------------
178869 -- 4262811 Multiperiod Accounting
178870 -----------------------------------------------------------------------------------------
178871 -- No MPA option is assigned.
178872
178873
178874 END IF;
178875 END IF;
178876 --
178877
178878 --
178879 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
178880 trace
178881 (p_msg => 'END of AcctLineType_286'
178882 ,p_level => C_LEVEL_PROCEDURE
178883 ,p_module => l_log_module);
178884 END IF;
178885 --
178886 EXCEPTION
178887 WHEN xla_exceptions_pkg.application_exception THEN
178888 RAISE;
178889 WHEN OTHERS THEN
178890 xla_exceptions_pkg.raise_message
178891 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_286');
178892 END AcctLineType_286;
178893 --
178894
178895 ---------------------------------------
178896 --
178897 -- PRIVATE FUNCTION
178898 -- AcctLineType_287
178899 --
178900 ---------------------------------------
178901 PROCEDURE AcctLineType_287 (
178902 p_application_id IN NUMBER
178903 ,p_event_id IN NUMBER
178904 ,p_calculate_acctd_flag IN VARCHAR2
178905 ,p_calculate_g_l_flag IN VARCHAR2
178906 ,p_actual_flag IN OUT VARCHAR2
178907 ,p_balance_type_code OUT VARCHAR2
178908 ,p_gain_or_loss_ref OUT VARCHAR2
178909
178910 --Invoice Distribution Description
178911 , p_source_1 IN VARCHAR2
178912 --Automatic Offsets Value
178913 , p_source_3 IN VARCHAR2
178914 , p_source_3_meaning IN VARCHAR2
178915 --Invoice Distribution Ledger Amount
178916 , p_source_9 IN NUMBER
178917 --Invoice Distribution Account
178918 , p_source_18 IN NUMBER
178919 --Invoice Distribution Type
178920 , p_source_21 IN VARCHAR2
178921 , p_source_21_meaning IN VARCHAR2
178922 --Withholding Related Distribution Account
178923 , p_source_31 IN NUMBER
178924 --Accounting Reversal Indicator
178925 , p_source_41 IN VARCHAR2
178926 --Distribution Link Type
178927 , p_source_43 IN VARCHAR2
178928 --Allocation to Main Distribution Identifier
178929 , p_source_45 IN NUMBER
178930 --Invoice Identifier
178931 , p_source_46 IN NUMBER
178932 --Invoice Distribution Identifier
178933 , p_source_52 IN NUMBER
178934 --Payables Encumbrance Upgrade Credit Account
178935 , p_source_53 IN NUMBER
178936 --Payables Encumbrance Upgrade Credit Amount
178937 , p_source_54 IN NUMBER
178938 --Invoice Currency Code
178939 , p_source_55 IN VARCHAR2
178940 --Payables Encumbrance Upgrade Credit Base Amount
178941 , p_source_56 IN NUMBER
178942 --Payables Encumbrance Upgrade Debit Account
178943 , p_source_57 IN NUMBER
178944 --Payables Encumbrance Upgrade Debit Amount
178945 , p_source_58 IN NUMBER
178946 --Payables Encumbrance Upgrade Debit Base Amount
178947 , p_source_59 IN NUMBER
178948 --Payables Encumbrance Upgrade Option
178949 , p_source_60 IN VARCHAR2
178950 --Invoice Distribution Amount
178951 , p_source_61 IN NUMBER
178955 , p_source_66 IN VARCHAR2
178952 --Deferred Accounting End Date
178953 , p_source_65 IN DATE
178954 --Deferred Accounting Option
178956 --Deferred Accounting Start Date
178957 , p_source_67 IN DATE
178958 --Override Accounted Amount Indicator
178959 , p_source_68 IN VARCHAR2
178960 , p_source_68_meaning IN VARCHAR2
178961 --Invoice Supplier Identifier
178962 , p_source_69 IN NUMBER
178963 --Invoice Supplier Site Identifier
178964 , p_source_70 IN NUMBER
178965 --Third Party Type
178966 , p_source_71 IN VARCHAR2
178967 --Parent Reversal Identifier
178968 , p_source_72 IN NUMBER
178969 --Invoice Distribution Statistical Amount
178970 , p_source_73 IN NUMBER
178971 --Invoice Distribution Tax Line Identifier
178972 , p_source_74 IN NUMBER
178973 --Invoice Distribution Tax Distribution Identifier from Tax
178974 , p_source_75 IN NUMBER
178975 --Invoice Distribution Summary Tax Line Identifier
178976 , p_source_76 IN NUMBER
178977 --Payables Upgrade Credit Encumbrance Type Identifier
178978 , p_source_77 IN NUMBER
178979 --Payables Upgrade Debit Encumbrance Type Identifier
178980 , p_source_78 IN NUMBER
178981 --Business Flow Accounts Payable Application Identifier
178982 , p_source_79 IN NUMBER
178983 --Business Flow Invoice Distribution Type
178984 , p_source_80 IN VARCHAR2
178985 --Business Flow Invoice Entity Code
178986 , p_source_81 IN VARCHAR2
178987 --Business Flow Invoice Distribution Identifier
178988 , p_source_82 IN NUMBER
178989 --Business Flow Invoice Identifier
178990 , p_source_83 IN NUMBER
178991 --Invoice Exchange Date
178992 , p_source_136 IN DATE
178993 --Invoice Exchange Rate
178994 , p_source_137 IN NUMBER
178995 --Invoice Exchange Rate Type
178996 , p_source_138 IN VARCHAR2
178997 )
178998 IS
178999
179000 l_component_type VARCHAR2(80);
179001 l_component_code VARCHAR2(30);
179002 l_component_type_code VARCHAR2(1);
179003 l_component_appl_id INTEGER;
179004 l_amb_context_code VARCHAR2(30);
179005 l_entity_code VARCHAR2(30);
179006 l_event_class_code VARCHAR2(30);
179007 l_ae_header_id NUMBER;
179008 l_event_type_code VARCHAR2(30);
179009 l_line_definition_code VARCHAR2(30);
179010 l_line_definition_owner_code VARCHAR2(1);
179011 --
179012 -- adr variables
179013 l_segment VARCHAR2(30);
179014 l_ccid NUMBER;
179015 l_adr_transaction_coa_id NUMBER;
179016 l_adr_accounting_coa_id NUMBER;
179017 l_adr_flexfield_segment_code VARCHAR2(30);
179018 l_adr_flex_value_set_id NUMBER;
179019 l_adr_value_type_code VARCHAR2(30);
179020 l_adr_value_combination_id NUMBER;
179021 l_adr_value_segment_code VARCHAR2(30);
179022
179023 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
179024 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
179025 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
179026 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
179027
179028 -- 4262811 Variables ------------------------------------------------------------------------------------------
179029 l_entered_amt_idx NUMBER;
179030 l_accted_amt_idx NUMBER;
179031 l_acc_rev_flag VARCHAR2(1);
179032 l_accrual_line_num NUMBER;
179033 l_tmp_amt NUMBER;
179034 l_acc_rev_natural_side_code VARCHAR2(1);
179035
179036 l_num_entries NUMBER;
179037 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
179038 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
179039 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
179040 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
179041 l_recog_line_1 NUMBER;
179042 l_recog_line_2 NUMBER;
179043
179044 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
179045 l_bflow_applied_to_amt NUMBER; -- 5132302
179046 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
179047
179048 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
179049
179050 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
179051 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
179052
179053 ---------------------------------------------------------------------------------------------------------------
179054
179055
179056 --
179057 -- bulk performance
179058 --
179059 l_balance_type_code VARCHAR2(1);
179060 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
179061 l_log_module VARCHAR2(240);
179062
179063 --
179064 -- Upgrade strategy
179065 --
179066 l_actual_upg_option VARCHAR2(1);
179067 l_enc_upg_option VARCHAR2(1);
179068
179069 --
179070 BEGIN
179071 --
179072 IF g_log_enabled THEN
179073 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_287';
179074 END IF;
179075 --
179076 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179077
179078 trace
179079 (p_msg => 'BEGIN of AcctLineType_287'
179080 ,p_level => C_LEVEL_PROCEDURE
179081 ,p_module => l_log_module);
179085 l_component_type := 'AMB_JLT';
179082
179083 END IF;
179084 --
179086 l_component_code := 'AP_WITHHOLD_TAX_CM';
179087 l_component_type_code := 'S';
179088 l_component_appl_id := 200;
179089 l_amb_context_code := 'DEFAULT';
179090 l_entity_code := 'AP_INVOICES';
179091 l_event_class_code := 'CREDIT MEMOS';
179092 l_event_type_code := 'CREDIT MEMOS_ALL';
179093 l_line_definition_owner_code := 'S';
179094 l_line_definition_code := 'ACCRUAL_CREDIT MEMOS_ALL';
179095 --
179096 l_balance_type_code := 'A';
179097 l_segment := NULL;
179098 l_ccid := NULL;
179099 l_adr_transaction_coa_id := NULL;
179100 l_adr_accounting_coa_id := NULL;
179101 l_adr_flexfield_segment_code := NULL;
179102 l_adr_flex_value_set_id := NULL;
179103 l_adr_value_type_code := NULL;
179104 l_adr_value_combination_id := NULL;
179105 l_adr_value_segment_code := NULL;
179106
179107 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
179108 l_bflow_class_code := ''; -- 4219869 Business Flow
179109 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
179110 l_budgetary_control_flag := 'N';
179111
179112 l_bflow_applied_to_amt_idx := NULL; -- 5132302
179113 l_bflow_applied_to_amt := NULL; -- 5132302
179114 l_entered_amt_idx := NULL; -- 4262811
179115 l_accted_amt_idx := NULL; -- 4262811
179116 l_acc_rev_flag := NULL; -- 4262811
179117 l_accrual_line_num := NULL; -- 4262811
179118 l_tmp_amt := NULL; -- 4262811
179119 --
179120
179121 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
179122 l_balance_type_code <> 'B' THEN
179123 IF NVL(p_source_21,'
179124 ') = 'AWT'
179125 THEN
179126
179127 --
179128 XLA_AE_LINES_PKG.SetNewLine;
179129
179130 p_balance_type_code := l_balance_type_code;
179131 -- set the flag so later we will know whether the gain loss line needs to be created
179132
179133 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
179134 p_actual_flag :='A';
179135 END IF;
179136
179137 --
179138 -- bulk performance
179139 --
179140 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
179141 p_header_num => 0); -- 4262811
179142 --
179143 -- set accounting line options
179144 --
179145 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
179146 p_natural_side_code => 'D'
179147 , p_gain_or_loss_flag => 'N'
179148 , p_gl_transfer_mode_code => 'S'
179149 , p_acct_entry_type_code => 'A'
179150 , p_switch_side_flag => 'Y'
179151 , p_merge_duplicate_code => 'A'
179152 );
179153 --
179154 l_acc_rev_natural_side_code := 'C'; -- 4262811
179155 --
179156 --
179157 -- set accounting line type info
179158 --
179159 xla_ae_lines_pkg.SetAcctLineType
179160 (p_component_type => l_component_type
179161 ,p_event_type_code => l_event_type_code
179162 ,p_line_definition_owner_code => l_line_definition_owner_code
179163 ,p_line_definition_code => l_line_definition_code
179164 ,p_accounting_line_code => l_component_code
179165 ,p_accounting_line_type_code => l_component_type_code
179166 ,p_accounting_line_appl_id => l_component_appl_id
179167 ,p_amb_context_code => l_amb_context_code
179168 ,p_entity_code => l_entity_code
179169 ,p_event_class_code => l_event_class_code);
179170 --
179171 -- set accounting class
179172 --
179173 xla_ae_lines_pkg.SetAcctClass(
179174 p_accounting_class_code => 'AWT'
179175 , p_ae_header_id => l_ae_header_id
179176 );
179177
179178 --
179179 -- set rounding class
179180 --
179181 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
179182 'AWT';
179183
179184 --
179185 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
179186 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
179187 --
179188 -- bulk performance
179189 --
179190 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
179191
179192 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
179193 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
179194
179195 -- 4955764
179196 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
179197 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
179198
179199 -- 4458381 Public Sector Enh
179200
179201 --
179202 -- set accounting attributes for the line type
179203 --
179204 l_entered_amt_idx := 23;
179205 l_accted_amt_idx := 28;
179206 l_bflow_applied_to_amt_idx := NULL; -- 5132302
179207 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
179208 l_rec_acct_attrs.array_char_value(1) := p_source_41;
179209 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
179210 l_rec_acct_attrs.array_num_value(2) :=
179214 , p_source_application_id => 602
179211 xla_ae_sources_pkg.GetSystemSourceNum(
179212 p_source_code => 'XLA_EVENT_APPL_ID'
179213 , p_source_type_code => 'Y'
179215 );
179216 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
179217 l_rec_acct_attrs.array_char_value(3) := p_source_43;
179218 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
179219 l_rec_acct_attrs.array_char_value(4) :=
179220 xla_ae_sources_pkg.GetSystemSourceChar(
179221 p_source_code => 'XLA_ENTITY_CODE'
179222 , p_source_type_code => 'Y'
179223 , p_source_application_id => 602
179224 );
179225 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
179226 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
179227 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
179228 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
179229 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
179230 l_rec_acct_attrs.array_num_value(7) := p_source_79;
179231 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
179232 l_rec_acct_attrs.array_char_value(8) := p_source_80;
179233 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
179234 l_rec_acct_attrs.array_char_value(9) := p_source_81;
179235 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
179236 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
179237 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
179238 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
179239 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
179240 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
179241 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
179242 l_rec_acct_attrs.array_char_value(13) := p_source_43;
179243 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
179244 l_rec_acct_attrs.array_num_value(14) := p_source_53;
179245 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
179246 l_rec_acct_attrs.array_num_value(15) := p_source_54;
179247 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
179248 l_rec_acct_attrs.array_char_value(16) := p_source_55;
179249 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
179250 l_rec_acct_attrs.array_num_value(17) := p_source_56;
179251 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
179252 l_rec_acct_attrs.array_num_value(18) := p_source_57;
179253 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
179254 l_rec_acct_attrs.array_num_value(19) := p_source_58;
179255 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
179256 l_rec_acct_attrs.array_char_value(20) := p_source_55;
179257 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
179258 l_rec_acct_attrs.array_num_value(21) := p_source_59;
179259 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
179260 l_rec_acct_attrs.array_char_value(22) := p_source_60;
179261 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
179262 l_rec_acct_attrs.array_num_value(23) := p_source_61;
179263 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
179264 l_rec_acct_attrs.array_char_value(24) := p_source_55;
179265 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
179266 l_rec_acct_attrs.array_date_value(25) := p_source_136;
179267 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
179268 l_rec_acct_attrs.array_num_value(26) := p_source_137;
179269 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
179270 l_rec_acct_attrs.array_char_value(27) := p_source_138;
179271 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
179272 l_rec_acct_attrs.array_num_value(28) := p_source_9;
179273 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
179274 l_rec_acct_attrs.array_date_value(29) := p_source_65;
179275 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
179276 l_rec_acct_attrs.array_char_value(30) := p_source_66;
179277 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
179278 l_rec_acct_attrs.array_date_value(31) := p_source_67;
179279 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
179280 l_rec_acct_attrs.array_char_value(32) := p_source_68;
179281 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
179282 l_rec_acct_attrs.array_num_value(33) := p_source_69;
179283 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
179284 l_rec_acct_attrs.array_num_value(34) := p_source_70;
179285 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
179286 l_rec_acct_attrs.array_char_value(35) := p_source_71;
179287 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
179288 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
179289 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
179290 l_rec_acct_attrs.array_char_value(37) := p_source_43;
179291 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
179292 l_rec_acct_attrs.array_num_value(38) := p_source_73;
179293 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
179294 l_rec_acct_attrs.array_num_value(39) := p_source_74;
179295 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
179299 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
179296 l_rec_acct_attrs.array_num_value(40) := p_source_75;
179297 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
179298 l_rec_acct_attrs.array_num_value(41) := p_source_76;
179300 l_rec_acct_attrs.array_num_value(42) := p_source_77;
179301 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
179302 l_rec_acct_attrs.array_num_value(43) := p_source_78;
179303
179304 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
179305 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
179306
179307 ---------------------------------------------------------------------------------------------------------------
179308 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
179309 ---------------------------------------------------------------------------------------------------------------
179310 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
179311
179312 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
179313 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
179314
179315 IF xla_accounting_cache_pkg.GetValueChar
179316 (p_source_code => 'LEDGER_CATEGORY_CODE'
179317 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
179318 AND l_bflow_method_code = 'PRIOR_ENTRY'
179319 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
179320 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
179321 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
179322 )
179323 THEN
179324 xla_ae_lines_pkg.BflowUpgEntry
179325 (p_business_method_code => l_bflow_method_code
179326 ,p_business_class_code => l_bflow_class_code
179327 ,p_balance_type => l_balance_type_code);
179328 ELSE
179329 NULL;
179330 -- No business flow processing for business flow method of NONE.
179331 END IF;
179332
179333 --
179334 -- call analytical criteria
179335 --
179336
179337 --
179338 -- call description
179339 --
179340
179341 xla_ae_lines_pkg.SetLineDescription(
179342 p_ae_header_id => l_ae_header_id
179343 ,p_description => Description_2 (
179344 p_application_id => p_application_id
179345 , p_ae_header_id => l_ae_header_id
179346 , p_source_1 => p_source_1
179347 )
179348 );
179349
179350
179351 --
179352 -- call ADRs
179353 -- Bug 4922099
179354 --
179355 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
179356 (NVL(l_actual_upg_option, 'N') = 'O') OR
179357 (NVL(l_enc_upg_option, 'N') = 'O')
179358 )
179359 THEN
179360 NULL;
179361 --
179362 --
179363
179364 l_ccid := AcctDerRule_45(
179365 p_application_id => p_application_id
179366 , p_ae_header_id => l_ae_header_id
179367 , p_source_3 => p_source_3
179368 , p_source_3_meaning => p_source_3_meaning
179369 , p_source_18 => p_source_18
179370 , p_source_31 => p_source_31
179371 , x_transaction_coa_id => l_adr_transaction_coa_id
179372 , x_accounting_coa_id => l_adr_accounting_coa_id
179373 , x_value_type_code => l_adr_value_type_code
179374 , p_side => 'NA'
179375 );
179376
179377 xla_ae_lines_pkg.set_ccid(
179378 p_code_combination_id => l_ccid
179379 , p_value_type_code => l_adr_value_type_code
179380 , p_transaction_coa_id => l_adr_transaction_coa_id
179381 , p_accounting_coa_id => l_adr_accounting_coa_id
179382 , p_adr_code => 'AP_WH_DIST_ACCT'
179383 , p_adr_type_code => 'S'
179384 , p_component_type => l_component_type
179385 , p_component_code => l_component_code
179386 , p_component_type_code => l_component_type_code
179387 , p_component_appl_id => l_component_appl_id
179388 , p_amb_context_code => l_amb_context_code
179389 , p_side => 'NA'
179390 );
179391
179392
179393 l_segment := AcctDerRule_13(
179394 p_application_id => p_application_id
179395 , p_ae_header_id => l_ae_header_id
179396 , p_source_3 => p_source_3
179397 , p_source_3_meaning => p_source_3_meaning
179398 , p_source_18 => p_source_18
179399 , x_transaction_coa_id => l_adr_transaction_coa_id
179400 , x_accounting_coa_id => l_adr_accounting_coa_id
179401 , x_flexfield_segment_code => l_adr_flexfield_segment_code
179402 , x_flex_value_set_id => l_adr_flex_value_set_id
179403 , x_value_type_code => l_adr_value_type_code
179404 , x_value_combination_id => l_adr_value_combination_id
179405 , x_value_segment_code => l_adr_value_segment_code
179406 , p_side => 'NA'
179407 , p_override_seg_flag => 'Y'
179408 );
179409
179410 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
179411
179412 xla_ae_lines_pkg.set_segment(
179413 p_to_segment_code => 'GL_ACCOUNT'
179414 , p_segment_value => l_segment
179418 , p_transaction_coa_id => l_adr_transaction_coa_id
179415 , p_from_segment_code => l_adr_value_segment_code
179416 , p_from_combination_id => l_adr_value_combination_id
179417 , p_value_type_code => l_adr_value_type_code
179419 , p_accounting_coa_id => l_adr_accounting_coa_id
179420 , p_flexfield_segment_code => l_adr_flexfield_segment_code
179421 , p_flex_value_set_id => l_adr_flex_value_set_id
179422 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
179423 , p_adr_type_code => 'S'
179424 , p_component_type => l_component_type
179425 , p_component_code => l_component_code
179426 , p_component_type_code => l_component_type_code
179427 , p_component_appl_id => l_component_appl_id
179428 , p_amb_context_code => l_amb_context_code
179429 , p_entity_code => 'AP_INVOICES'
179430 , p_event_class_code => 'CREDIT MEMOS'
179431 , p_side => 'NA'
179432 );
179433
179434 END IF;
179435
179436 l_segment := AcctDerRule_24(
179437 p_application_id => p_application_id
179438 , p_ae_header_id => l_ae_header_id
179439 , p_source_3 => p_source_3
179440 , p_source_3_meaning => p_source_3_meaning
179441 , p_source_31 => p_source_31
179442 , x_transaction_coa_id => l_adr_transaction_coa_id
179443 , x_accounting_coa_id => l_adr_accounting_coa_id
179444 , x_flexfield_segment_code => l_adr_flexfield_segment_code
179445 , x_flex_value_set_id => l_adr_flex_value_set_id
179446 , x_value_type_code => l_adr_value_type_code
179447 , x_value_combination_id => l_adr_value_combination_id
179448 , x_value_segment_code => l_adr_value_segment_code
179449 , p_side => 'NA'
179450 , p_override_seg_flag => 'Y'
179451 );
179452
179453 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
179454
179455 xla_ae_lines_pkg.set_segment(
179456 p_to_segment_code => 'GL_BALANCING'
179457 , p_segment_value => l_segment
179458 , p_from_segment_code => l_adr_value_segment_code
179459 , p_from_combination_id => l_adr_value_combination_id
179460 , p_value_type_code => l_adr_value_type_code
179461 , p_transaction_coa_id => l_adr_transaction_coa_id
179462 , p_accounting_coa_id => l_adr_accounting_coa_id
179463 , p_flexfield_segment_code => l_adr_flexfield_segment_code
179464 , p_flex_value_set_id => l_adr_flex_value_set_id
179465 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
179466 , p_adr_type_code => 'S'
179467 , p_component_type => l_component_type
179468 , p_component_code => l_component_code
179469 , p_component_type_code => l_component_type_code
179470 , p_component_appl_id => l_component_appl_id
179471 , p_amb_context_code => l_amb_context_code
179472 , p_entity_code => 'AP_INVOICES'
179473 , p_event_class_code => 'CREDIT MEMOS'
179474 , p_side => 'NA'
179475 );
179476
179477 END IF;
179478
179479 --
179480 --
179481 END IF;
179482 --
179483 -- Bug 4922099
179484 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
179485 (NVL(l_enc_upg_option, 'N') = 'O')
179486 ) AND
179487 (l_bflow_method_code = 'PRIOR_ENTRY')
179488 )
179489 THEN
179490 IF
179491 --
179492 1 = 2
179493 --
179494 THEN
179495 xla_accounting_err_pkg.build_message
179496 (p_appli_s_name => 'XLA'
179497 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
179498 ,p_token_1 => 'LINE_NUMBER'
179499 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
179500 ,p_token_2 => 'LINE_TYPE_NAME'
179501 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
179502 l_component_type
179503 ,l_component_code
179504 ,l_component_type_code
179505 ,l_component_appl_id
179506 ,l_amb_context_code
179507 ,l_entity_code
179508 ,l_event_class_code
179509 )
179510 ,p_token_3 => 'OWNER'
179511 ,p_value_3 => xla_lookups_pkg.get_meaning(
179512 p_lookup_type => 'XLA_OWNER_TYPE'
179513 ,p_lookup_code => l_component_type_code
179514 )
179518 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
179515 ,p_token_4 => 'PRODUCT_NAME'
179516 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
179517 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
179519 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
179520 ,p_ae_header_id => NULL
179521 );
179522
179523 IF (C_LEVEL_ERROR>= g_log_level) THEN
179524 trace
179525 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
179526 ,p_level => C_LEVEL_ERROR
179527 ,p_module => l_log_module);
179528 END IF;
179529 END IF;
179530 END IF;
179531 --
179532 --
179533 ------------------------------------------------------------------------------------------------
179534 -- 4219869 Business Flow
179535 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
179536 -- Prior Entry. Currently, the following code is always generated.
179537 ------------------------------------------------------------------------------------------------
179538 XLA_AE_LINES_PKG.ValidateCurrentLine;
179539
179540 ------------------------------------------------------------------------------------
179541 -- 4219869 Business Flow
179542 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
179543 ------------------------------------------------------------------------------------
179544 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
179545
179546 ----------------------------------------------------------------------------------
179547 -- 4219869 Business Flow
179548 -- Update journal entry status -- Need to generate this within IF <condition>
179549 ----------------------------------------------------------------------------------
179550 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
179551 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
179552 ,p_balance_type_code => l_balance_type_code
179553 );
179554
179555 -------------------------------------------------------------------------------------------
179556 -- 4262811 - Generate the Accrual Reversal lines
179557 -------------------------------------------------------------------------------------------
179558 BEGIN
179559 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
179560 (g_array_event(p_event_id).array_value_num('header_index'));
179561 IF l_acc_rev_flag IS NULL THEN
179562 l_acc_rev_flag := 'N';
179563 END IF;
179564 EXCEPTION
179565 WHEN OTHERS THEN
179566 l_acc_rev_flag := 'N';
179567 END;
179568 --
179569 IF (l_acc_rev_flag = 'Y') THEN
179570
179571 -- 4645092 ------------------------------------------------------------------------------
179572 -- To allow MPA report to determine if it should generate report process
179573 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
179574 ------------------------------------------------------------------------------------------
179575
179576 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
179577 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
179578 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
179579 -- call ADRs
179580 -- Bug 4922099
179581 --
179582 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
179583 (NVL(l_actual_upg_option, 'N') = 'O') OR
179584 (NVL(l_enc_upg_option, 'N') = 'O')
179585 )
179586 THEN
179587 NULL;
179588 --
179589 --
179590
179591 l_ccid := AcctDerRule_45(
179592 p_application_id => p_application_id
179593 , p_ae_header_id => l_ae_header_id
179594 , p_source_3 => p_source_3
179595 , p_source_3_meaning => p_source_3_meaning
179596 , p_source_18 => p_source_18
179597 , p_source_31 => p_source_31
179598 , x_transaction_coa_id => l_adr_transaction_coa_id
179599 , x_accounting_coa_id => l_adr_accounting_coa_id
179600 , x_value_type_code => l_adr_value_type_code
179601 , p_side => 'NA'
179602 );
179603
179604 xla_ae_lines_pkg.set_ccid(
179605 p_code_combination_id => l_ccid
179606 , p_value_type_code => l_adr_value_type_code
179607 , p_transaction_coa_id => l_adr_transaction_coa_id
179608 , p_accounting_coa_id => l_adr_accounting_coa_id
179609 , p_adr_code => 'AP_WH_DIST_ACCT'
179610 , p_adr_type_code => 'S'
179611 , p_component_type => l_component_type
179612 , p_component_code => l_component_code
179613 , p_component_type_code => l_component_type_code
179614 , p_component_appl_id => l_component_appl_id
179615 , p_amb_context_code => l_amb_context_code
179616 , p_side => 'NA'
179617 );
179618
179619
179620 l_segment := AcctDerRule_13(
179621 p_application_id => p_application_id
179622 , p_ae_header_id => l_ae_header_id
179623 , p_source_3 => p_source_3
179624 , p_source_3_meaning => p_source_3_meaning
179625 , p_source_18 => p_source_18
179629 , x_flex_value_set_id => l_adr_flex_value_set_id
179626 , x_transaction_coa_id => l_adr_transaction_coa_id
179627 , x_accounting_coa_id => l_adr_accounting_coa_id
179628 , x_flexfield_segment_code => l_adr_flexfield_segment_code
179630 , x_value_type_code => l_adr_value_type_code
179631 , x_value_combination_id => l_adr_value_combination_id
179632 , x_value_segment_code => l_adr_value_segment_code
179633 , p_side => 'NA'
179634 , p_override_seg_flag => 'Y'
179635 );
179636
179637 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
179638
179639 xla_ae_lines_pkg.set_segment(
179640 p_to_segment_code => 'GL_ACCOUNT'
179641 , p_segment_value => l_segment
179642 , p_from_segment_code => l_adr_value_segment_code
179643 , p_from_combination_id => l_adr_value_combination_id
179644 , p_value_type_code => l_adr_value_type_code
179645 , p_transaction_coa_id => l_adr_transaction_coa_id
179646 , p_accounting_coa_id => l_adr_accounting_coa_id
179647 , p_flexfield_segment_code => l_adr_flexfield_segment_code
179648 , p_flex_value_set_id => l_adr_flex_value_set_id
179649 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
179650 , p_adr_type_code => 'S'
179651 , p_component_type => l_component_type
179652 , p_component_code => l_component_code
179653 , p_component_type_code => l_component_type_code
179654 , p_component_appl_id => l_component_appl_id
179655 , p_amb_context_code => l_amb_context_code
179656 , p_entity_code => 'AP_INVOICES'
179657 , p_event_class_code => 'CREDIT MEMOS'
179658 , p_side => 'NA'
179659 );
179660
179661 END IF;
179662
179663 l_segment := AcctDerRule_24(
179664 p_application_id => p_application_id
179665 , p_ae_header_id => l_ae_header_id
179666 , p_source_3 => p_source_3
179667 , p_source_3_meaning => p_source_3_meaning
179668 , p_source_31 => p_source_31
179669 , x_transaction_coa_id => l_adr_transaction_coa_id
179670 , x_accounting_coa_id => l_adr_accounting_coa_id
179671 , x_flexfield_segment_code => l_adr_flexfield_segment_code
179672 , x_flex_value_set_id => l_adr_flex_value_set_id
179673 , x_value_type_code => l_adr_value_type_code
179674 , x_value_combination_id => l_adr_value_combination_id
179675 , x_value_segment_code => l_adr_value_segment_code
179676 , p_side => 'NA'
179677 , p_override_seg_flag => 'Y'
179678 );
179679
179680 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
179681
179682 xla_ae_lines_pkg.set_segment(
179683 p_to_segment_code => 'GL_BALANCING'
179684 , p_segment_value => l_segment
179685 , p_from_segment_code => l_adr_value_segment_code
179686 , p_from_combination_id => l_adr_value_combination_id
179687 , p_value_type_code => l_adr_value_type_code
179688 , p_transaction_coa_id => l_adr_transaction_coa_id
179689 , p_accounting_coa_id => l_adr_accounting_coa_id
179690 , p_flexfield_segment_code => l_adr_flexfield_segment_code
179691 , p_flex_value_set_id => l_adr_flex_value_set_id
179692 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
179693 , p_adr_type_code => 'S'
179694 , p_component_type => l_component_type
179695 , p_component_code => l_component_code
179696 , p_component_type_code => l_component_type_code
179697 , p_component_appl_id => l_component_appl_id
179698 , p_amb_context_code => l_amb_context_code
179699 , p_entity_code => 'AP_INVOICES'
179700 , p_event_class_code => 'CREDIT MEMOS'
179701 , p_side => 'NA'
179702 );
179703
179704 END IF;
179705
179706 --
179707 --
179708 END IF;
179709
179710 --
179711 -- Update the line information that should be overwritten
179712 --
179713 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
179714 p_header_num => 1);
179715 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
179716
179717 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
179718
179719 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
179720 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
179721 END IF;
179722
179723 --
179724 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
179725 --
179726 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
179727 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
179728 ELSE
179729 ---------------------------------------------------------------------------------------------------
179730 -- 4262811a Switch Sign
179731 ---------------------------------------------------------------------------------------------------
179735 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
179732 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
179733 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
179734 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
179736 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
179737 -- 5132302
179738 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
179739 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
179740
179741 END IF;
179742
179743 -- 4955764
179744 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
179745 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
179746
179747
179748 XLA_AE_LINES_PKG.ValidateCurrentLine;
179749 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
179750
179751 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
179752 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
179753 ,p_balance_type_code => l_balance_type_code);
179754
179755 END IF;
179756
179757 -----------------------------------------------------------------------------------------
179758 -- 4262811 Multiperiod Accounting
179759 -----------------------------------------------------------------------------------------
179760 -- No MPA option is assigned.
179761
179762
179763 END IF;
179764 END IF;
179765 --
179766
179767 --
179768 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179769 trace
179770 (p_msg => 'END of AcctLineType_287'
179771 ,p_level => C_LEVEL_PROCEDURE
179772 ,p_module => l_log_module);
179773 END IF;
179774 --
179775 EXCEPTION
179776 WHEN xla_exceptions_pkg.application_exception THEN
179777 RAISE;
179778 WHEN OTHERS THEN
179779 xla_exceptions_pkg.raise_message
179780 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_287');
179781 END AcctLineType_287;
179782 --
179783
179784 ---------------------------------------
179785 --
179786 -- PRIVATE FUNCTION
179787 -- AcctLineType_288
179788 --
179789 ---------------------------------------
179790 PROCEDURE AcctLineType_288 (
179791 p_application_id IN NUMBER
179792 ,p_event_id IN NUMBER
179793 ,p_calculate_acctd_flag IN VARCHAR2
179794 ,p_calculate_g_l_flag IN VARCHAR2
179795 ,p_actual_flag IN OUT VARCHAR2
179796 ,p_balance_type_code OUT VARCHAR2
179797 ,p_gain_or_loss_ref OUT VARCHAR2
179798
179799 --Invoice Distribution Description
179800 , p_source_1 IN VARCHAR2
179801 --Automatic Offsets Value
179802 , p_source_3 IN VARCHAR2
179803 , p_source_3_meaning IN VARCHAR2
179804 --Invoice Distribution Ledger Amount
179805 , p_source_9 IN NUMBER
179806 --Invoice Distribution Account
179807 , p_source_18 IN NUMBER
179808 --Invoice Distribution Type
179809 , p_source_21 IN VARCHAR2
179810 , p_source_21_meaning IN VARCHAR2
179811 --Withholding Related Distribution Account
179812 , p_source_31 IN NUMBER
179813 --Accounting Reversal Indicator
179814 , p_source_41 IN VARCHAR2
179815 --Distribution Link Type
179816 , p_source_43 IN VARCHAR2
179817 --Allocation to Main Distribution Identifier
179818 , p_source_45 IN NUMBER
179819 --Invoice Identifier
179820 , p_source_46 IN NUMBER
179821 --Invoice Distribution Identifier
179822 , p_source_52 IN NUMBER
179823 --Payables Encumbrance Upgrade Credit Account
179824 , p_source_53 IN NUMBER
179825 --Payables Encumbrance Upgrade Credit Amount
179826 , p_source_54 IN NUMBER
179827 --Invoice Currency Code
179828 , p_source_55 IN VARCHAR2
179829 --Payables Encumbrance Upgrade Credit Base Amount
179830 , p_source_56 IN NUMBER
179831 --Payables Encumbrance Upgrade Debit Account
179832 , p_source_57 IN NUMBER
179833 --Payables Encumbrance Upgrade Debit Amount
179834 , p_source_58 IN NUMBER
179835 --Payables Encumbrance Upgrade Debit Base Amount
179836 , p_source_59 IN NUMBER
179837 --Payables Encumbrance Upgrade Option
179838 , p_source_60 IN VARCHAR2
179839 --Invoice Distribution Amount
179840 , p_source_61 IN NUMBER
179841 --Deferred Accounting End Date
179842 , p_source_65 IN DATE
179843 --Deferred Accounting Option
179844 , p_source_66 IN VARCHAR2
179845 --Deferred Accounting Start Date
179846 , p_source_67 IN DATE
179847 --Override Accounted Amount Indicator
179848 , p_source_68 IN VARCHAR2
179849 , p_source_68_meaning IN VARCHAR2
179850 --Invoice Supplier Identifier
179851 , p_source_69 IN NUMBER
179852 --Invoice Supplier Site Identifier
179853 , p_source_70 IN NUMBER
179854 --Third Party Type
179855 , p_source_71 IN VARCHAR2
179856 --Parent Reversal Identifier
179857 , p_source_72 IN NUMBER
179858 --Invoice Distribution Tax Line Identifier
179859 , p_source_74 IN NUMBER
179860 --Invoice Distribution Tax Distribution Identifier from Tax
179864 --Payables Upgrade Credit Encumbrance Type Identifier
179861 , p_source_75 IN NUMBER
179862 --Invoice Distribution Summary Tax Line Identifier
179863 , p_source_76 IN NUMBER
179865 , p_source_77 IN NUMBER
179866 --Payables Upgrade Debit Encumbrance Type Identifier
179867 , p_source_78 IN NUMBER
179868 --Business Flow Accounts Payable Application Identifier
179869 , p_source_79 IN NUMBER
179870 --Business Flow Invoice Distribution Type
179871 , p_source_80 IN VARCHAR2
179872 --Business Flow Invoice Entity Code
179873 , p_source_81 IN VARCHAR2
179874 --Business Flow Invoice Distribution Identifier
179875 , p_source_82 IN NUMBER
179876 --Business Flow Invoice Identifier
179877 , p_source_83 IN NUMBER
179878 --Invoice Exchange Date
179879 , p_source_136 IN DATE
179880 --Invoice Exchange Rate
179881 , p_source_137 IN NUMBER
179882 --Invoice Exchange Rate Type
179883 , p_source_138 IN VARCHAR2
179884 )
179885 IS
179886
179887 l_component_type VARCHAR2(80);
179888 l_component_code VARCHAR2(30);
179889 l_component_type_code VARCHAR2(1);
179890 l_component_appl_id INTEGER;
179891 l_amb_context_code VARCHAR2(30);
179892 l_entity_code VARCHAR2(30);
179893 l_event_class_code VARCHAR2(30);
179894 l_ae_header_id NUMBER;
179895 l_event_type_code VARCHAR2(30);
179896 l_line_definition_code VARCHAR2(30);
179897 l_line_definition_owner_code VARCHAR2(1);
179898 --
179899 -- adr variables
179900 l_segment VARCHAR2(30);
179901 l_ccid NUMBER;
179902 l_adr_transaction_coa_id NUMBER;
179903 l_adr_accounting_coa_id NUMBER;
179904 l_adr_flexfield_segment_code VARCHAR2(30);
179905 l_adr_flex_value_set_id NUMBER;
179906 l_adr_value_type_code VARCHAR2(30);
179907 l_adr_value_combination_id NUMBER;
179908 l_adr_value_segment_code VARCHAR2(30);
179909
179910 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
179911 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
179912 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
179913 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
179914
179915 -- 4262811 Variables ------------------------------------------------------------------------------------------
179916 l_entered_amt_idx NUMBER;
179917 l_accted_amt_idx NUMBER;
179918 l_acc_rev_flag VARCHAR2(1);
179919 l_accrual_line_num NUMBER;
179920 l_tmp_amt NUMBER;
179921 l_acc_rev_natural_side_code VARCHAR2(1);
179922
179923 l_num_entries NUMBER;
179924 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
179925 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
179926 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
179927 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
179928 l_recog_line_1 NUMBER;
179929 l_recog_line_2 NUMBER;
179930
179931 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
179932 l_bflow_applied_to_amt NUMBER; -- 5132302
179933 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
179934
179935 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
179936
179937 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
179938 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
179939
179940 ---------------------------------------------------------------------------------------------------------------
179941
179942
179943 --
179944 -- bulk performance
179945 --
179946 l_balance_type_code VARCHAR2(1);
179947 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
179948 l_log_module VARCHAR2(240);
179949
179950 --
179951 -- Upgrade strategy
179952 --
179953 l_actual_upg_option VARCHAR2(1);
179954 l_enc_upg_option VARCHAR2(1);
179955
179956 --
179957 BEGIN
179958 --
179959 IF g_log_enabled THEN
179960 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_288';
179961 END IF;
179962 --
179963 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
179964
179965 trace
179966 (p_msg => 'BEGIN of AcctLineType_288'
179967 ,p_level => C_LEVEL_PROCEDURE
179968 ,p_module => l_log_module);
179969
179970 END IF;
179971 --
179972 l_component_type := 'AMB_JLT';
179973 l_component_code := 'AP_WITHHOLD_TAX_DM';
179974 l_component_type_code := 'S';
179975 l_component_appl_id := 200;
179976 l_amb_context_code := 'DEFAULT';
179977 l_entity_code := 'AP_INVOICES';
179978 l_event_class_code := 'DEBIT MEMOS';
179979 l_event_type_code := 'DEBIT MEMOS_ALL';
179980 l_line_definition_owner_code := 'S';
179981 l_line_definition_code := 'ACCRUAL_DEBIT MEMOS_ALL';
179982 --
179983 l_balance_type_code := 'A';
179984 l_segment := NULL;
179985 l_ccid := NULL;
179986 l_adr_transaction_coa_id := NULL;
179987 l_adr_accounting_coa_id := NULL;
179991 l_adr_value_combination_id := NULL;
179988 l_adr_flexfield_segment_code := NULL;
179989 l_adr_flex_value_set_id := NULL;
179990 l_adr_value_type_code := NULL;
179992 l_adr_value_segment_code := NULL;
179993
179994 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
179995 l_bflow_class_code := ''; -- 4219869 Business Flow
179996 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
179997 l_budgetary_control_flag := 'N';
179998
179999 l_bflow_applied_to_amt_idx := NULL; -- 5132302
180000 l_bflow_applied_to_amt := NULL; -- 5132302
180001 l_entered_amt_idx := NULL; -- 4262811
180002 l_accted_amt_idx := NULL; -- 4262811
180003 l_acc_rev_flag := NULL; -- 4262811
180004 l_accrual_line_num := NULL; -- 4262811
180005 l_tmp_amt := NULL; -- 4262811
180006 --
180007
180008 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
180009 l_balance_type_code <> 'B' THEN
180010 IF NVL(p_source_21,'
180011 ') = 'AWT'
180012 THEN
180013
180014 --
180015 XLA_AE_LINES_PKG.SetNewLine;
180016
180017 p_balance_type_code := l_balance_type_code;
180018 -- set the flag so later we will know whether the gain loss line needs to be created
180019
180020 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
180021 p_actual_flag :='A';
180022 END IF;
180023
180024 --
180025 -- bulk performance
180026 --
180027 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
180028 p_header_num => 0); -- 4262811
180029 --
180030 -- set accounting line options
180031 --
180032 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
180033 p_natural_side_code => 'D'
180034 , p_gain_or_loss_flag => 'N'
180035 , p_gl_transfer_mode_code => 'S'
180036 , p_acct_entry_type_code => 'A'
180037 , p_switch_side_flag => 'Y'
180038 , p_merge_duplicate_code => 'A'
180039 );
180040 --
180041 l_acc_rev_natural_side_code := 'C'; -- 4262811
180042 --
180043 --
180044 -- set accounting line type info
180045 --
180046 xla_ae_lines_pkg.SetAcctLineType
180047 (p_component_type => l_component_type
180048 ,p_event_type_code => l_event_type_code
180049 ,p_line_definition_owner_code => l_line_definition_owner_code
180050 ,p_line_definition_code => l_line_definition_code
180051 ,p_accounting_line_code => l_component_code
180052 ,p_accounting_line_type_code => l_component_type_code
180053 ,p_accounting_line_appl_id => l_component_appl_id
180054 ,p_amb_context_code => l_amb_context_code
180055 ,p_entity_code => l_entity_code
180056 ,p_event_class_code => l_event_class_code);
180057 --
180058 -- set accounting class
180059 --
180060 xla_ae_lines_pkg.SetAcctClass(
180061 p_accounting_class_code => 'AWT'
180062 , p_ae_header_id => l_ae_header_id
180063 );
180064
180065 --
180066 -- set rounding class
180067 --
180068 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
180069 'AWT';
180070
180071 --
180072 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
180073 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
180074 --
180075 -- bulk performance
180076 --
180077 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
180078
180079 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
180080 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
180081
180082 -- 4955764
180083 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
180084 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
180085
180086 -- 4458381 Public Sector Enh
180087
180088 --
180089 -- set accounting attributes for the line type
180090 --
180091 l_entered_amt_idx := 23;
180092 l_accted_amt_idx := 28;
180093 l_bflow_applied_to_amt_idx := NULL; -- 5132302
180094 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
180095 l_rec_acct_attrs.array_char_value(1) := p_source_41;
180096 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
180097 l_rec_acct_attrs.array_num_value(2) :=
180098 xla_ae_sources_pkg.GetSystemSourceNum(
180099 p_source_code => 'XLA_EVENT_APPL_ID'
180100 , p_source_type_code => 'Y'
180101 , p_source_application_id => 602
180102 );
180103 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
180104 l_rec_acct_attrs.array_char_value(3) := p_source_43;
180105 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
180106 l_rec_acct_attrs.array_char_value(4) :=
180107 xla_ae_sources_pkg.GetSystemSourceChar(
180108 p_source_code => 'XLA_ENTITY_CODE'
180109 , p_source_type_code => 'Y'
180110 , p_source_application_id => 602
180111 );
180115 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
180112 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
180113 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
180114 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
180116 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
180117 l_rec_acct_attrs.array_num_value(7) := p_source_79;
180118 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
180119 l_rec_acct_attrs.array_char_value(8) := p_source_80;
180120 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
180121 l_rec_acct_attrs.array_char_value(9) := p_source_81;
180122 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
180123 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
180124 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
180125 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
180126 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
180127 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
180128 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
180129 l_rec_acct_attrs.array_char_value(13) := p_source_43;
180130 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
180131 l_rec_acct_attrs.array_num_value(14) := p_source_53;
180132 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
180133 l_rec_acct_attrs.array_num_value(15) := p_source_54;
180134 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
180135 l_rec_acct_attrs.array_char_value(16) := p_source_55;
180136 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
180137 l_rec_acct_attrs.array_num_value(17) := p_source_56;
180138 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
180139 l_rec_acct_attrs.array_num_value(18) := p_source_57;
180140 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
180141 l_rec_acct_attrs.array_num_value(19) := p_source_58;
180142 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
180143 l_rec_acct_attrs.array_char_value(20) := p_source_55;
180144 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
180145 l_rec_acct_attrs.array_num_value(21) := p_source_59;
180146 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
180147 l_rec_acct_attrs.array_char_value(22) := p_source_60;
180148 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
180149 l_rec_acct_attrs.array_num_value(23) := p_source_61;
180150 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
180151 l_rec_acct_attrs.array_char_value(24) := p_source_55;
180152 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
180153 l_rec_acct_attrs.array_date_value(25) := p_source_136;
180154 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
180155 l_rec_acct_attrs.array_num_value(26) := p_source_137;
180156 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
180157 l_rec_acct_attrs.array_char_value(27) := p_source_138;
180158 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
180159 l_rec_acct_attrs.array_num_value(28) := p_source_9;
180160 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
180161 l_rec_acct_attrs.array_date_value(29) := p_source_65;
180162 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
180163 l_rec_acct_attrs.array_char_value(30) := p_source_66;
180164 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
180165 l_rec_acct_attrs.array_date_value(31) := p_source_67;
180166 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
180167 l_rec_acct_attrs.array_char_value(32) := p_source_68;
180168 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
180169 l_rec_acct_attrs.array_num_value(33) := p_source_69;
180170 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
180171 l_rec_acct_attrs.array_num_value(34) := p_source_70;
180172 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
180173 l_rec_acct_attrs.array_char_value(35) := p_source_71;
180174 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
180175 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
180176 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
180177 l_rec_acct_attrs.array_char_value(37) := p_source_43;
180178 l_rec_acct_attrs.array_acct_attr_code(38) := 'TAX_LINE_REF_ID';
180179 l_rec_acct_attrs.array_num_value(38) := p_source_74;
180180 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_REC_NREC_DIST_REF_ID';
180181 l_rec_acct_attrs.array_num_value(39) := p_source_75;
180182 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_SUMMARY_LINE_REF_ID';
180183 l_rec_acct_attrs.array_num_value(40) := p_source_76;
180184 l_rec_acct_attrs.array_acct_attr_code(41) := 'UPG_CR_ENC_TYPE_ID';
180185 l_rec_acct_attrs.array_num_value(41) := p_source_77;
180186 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_DR_ENC_TYPE_ID';
180187 l_rec_acct_attrs.array_num_value(42) := p_source_78;
180188
180189 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
180190 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
180191
180192 ---------------------------------------------------------------------------------------------------------------
180193 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
180194 ---------------------------------------------------------------------------------------------------------------
180198 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
180195 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
180196
180197 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
180199
180200 IF xla_accounting_cache_pkg.GetValueChar
180201 (p_source_code => 'LEDGER_CATEGORY_CODE'
180202 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
180203 AND l_bflow_method_code = 'PRIOR_ENTRY'
180204 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
180205 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
180206 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
180207 )
180208 THEN
180209 xla_ae_lines_pkg.BflowUpgEntry
180210 (p_business_method_code => l_bflow_method_code
180211 ,p_business_class_code => l_bflow_class_code
180212 ,p_balance_type => l_balance_type_code);
180213 ELSE
180214 NULL;
180215 -- No business flow processing for business flow method of NONE.
180216 END IF;
180217
180218 --
180219 -- call analytical criteria
180220 --
180221
180222 --
180223 -- call description
180224 --
180225
180226 xla_ae_lines_pkg.SetLineDescription(
180227 p_ae_header_id => l_ae_header_id
180228 ,p_description => Description_2 (
180229 p_application_id => p_application_id
180230 , p_ae_header_id => l_ae_header_id
180231 , p_source_1 => p_source_1
180232 )
180233 );
180234
180235
180236 --
180237 -- call ADRs
180238 -- Bug 4922099
180239 --
180240 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
180241 (NVL(l_actual_upg_option, 'N') = 'O') OR
180242 (NVL(l_enc_upg_option, 'N') = 'O')
180243 )
180244 THEN
180245 NULL;
180246 --
180247 --
180248
180249 l_ccid := AcctDerRule_45(
180250 p_application_id => p_application_id
180251 , p_ae_header_id => l_ae_header_id
180252 , p_source_3 => p_source_3
180253 , p_source_3_meaning => p_source_3_meaning
180254 , p_source_18 => p_source_18
180255 , p_source_31 => p_source_31
180256 , x_transaction_coa_id => l_adr_transaction_coa_id
180257 , x_accounting_coa_id => l_adr_accounting_coa_id
180258 , x_value_type_code => l_adr_value_type_code
180259 , p_side => 'NA'
180260 );
180261
180262 xla_ae_lines_pkg.set_ccid(
180263 p_code_combination_id => l_ccid
180264 , p_value_type_code => l_adr_value_type_code
180265 , p_transaction_coa_id => l_adr_transaction_coa_id
180266 , p_accounting_coa_id => l_adr_accounting_coa_id
180267 , p_adr_code => 'AP_WH_DIST_ACCT'
180268 , p_adr_type_code => 'S'
180269 , p_component_type => l_component_type
180270 , p_component_code => l_component_code
180271 , p_component_type_code => l_component_type_code
180272 , p_component_appl_id => l_component_appl_id
180273 , p_amb_context_code => l_amb_context_code
180274 , p_side => 'NA'
180275 );
180276
180277
180278 l_segment := AcctDerRule_13(
180279 p_application_id => p_application_id
180280 , p_ae_header_id => l_ae_header_id
180281 , p_source_3 => p_source_3
180282 , p_source_3_meaning => p_source_3_meaning
180283 , p_source_18 => p_source_18
180284 , x_transaction_coa_id => l_adr_transaction_coa_id
180285 , x_accounting_coa_id => l_adr_accounting_coa_id
180286 , x_flexfield_segment_code => l_adr_flexfield_segment_code
180287 , x_flex_value_set_id => l_adr_flex_value_set_id
180288 , x_value_type_code => l_adr_value_type_code
180289 , x_value_combination_id => l_adr_value_combination_id
180290 , x_value_segment_code => l_adr_value_segment_code
180291 , p_side => 'NA'
180292 , p_override_seg_flag => 'Y'
180293 );
180294
180295 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
180296
180297 xla_ae_lines_pkg.set_segment(
180298 p_to_segment_code => 'GL_ACCOUNT'
180299 , p_segment_value => l_segment
180300 , p_from_segment_code => l_adr_value_segment_code
180301 , p_from_combination_id => l_adr_value_combination_id
180302 , p_value_type_code => l_adr_value_type_code
180303 , p_transaction_coa_id => l_adr_transaction_coa_id
180304 , p_accounting_coa_id => l_adr_accounting_coa_id
180305 , p_flexfield_segment_code => l_adr_flexfield_segment_code
180306 , p_flex_value_set_id => l_adr_flex_value_set_id
180307 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
180308 , p_adr_type_code => 'S'
180309 , p_component_type => l_component_type
180310 , p_component_code => l_component_code
180311 , p_component_type_code => l_component_type_code
180312 , p_component_appl_id => l_component_appl_id
180313 , p_amb_context_code => l_amb_context_code
180314 , p_entity_code => 'AP_INVOICES'
180315 , p_event_class_code => 'DEBIT MEMOS'
180319 END IF;
180316 , p_side => 'NA'
180317 );
180318
180320
180321 l_segment := AcctDerRule_24(
180322 p_application_id => p_application_id
180323 , p_ae_header_id => l_ae_header_id
180324 , p_source_3 => p_source_3
180325 , p_source_3_meaning => p_source_3_meaning
180326 , p_source_31 => p_source_31
180327 , x_transaction_coa_id => l_adr_transaction_coa_id
180328 , x_accounting_coa_id => l_adr_accounting_coa_id
180329 , x_flexfield_segment_code => l_adr_flexfield_segment_code
180330 , x_flex_value_set_id => l_adr_flex_value_set_id
180331 , x_value_type_code => l_adr_value_type_code
180332 , x_value_combination_id => l_adr_value_combination_id
180333 , x_value_segment_code => l_adr_value_segment_code
180334 , p_side => 'NA'
180335 , p_override_seg_flag => 'Y'
180336 );
180337
180338 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
180339
180340 xla_ae_lines_pkg.set_segment(
180341 p_to_segment_code => 'GL_BALANCING'
180342 , p_segment_value => l_segment
180343 , p_from_segment_code => l_adr_value_segment_code
180344 , p_from_combination_id => l_adr_value_combination_id
180345 , p_value_type_code => l_adr_value_type_code
180346 , p_transaction_coa_id => l_adr_transaction_coa_id
180347 , p_accounting_coa_id => l_adr_accounting_coa_id
180348 , p_flexfield_segment_code => l_adr_flexfield_segment_code
180349 , p_flex_value_set_id => l_adr_flex_value_set_id
180350 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
180351 , p_adr_type_code => 'S'
180352 , p_component_type => l_component_type
180353 , p_component_code => l_component_code
180354 , p_component_type_code => l_component_type_code
180355 , p_component_appl_id => l_component_appl_id
180356 , p_amb_context_code => l_amb_context_code
180357 , p_entity_code => 'AP_INVOICES'
180358 , p_event_class_code => 'DEBIT MEMOS'
180359 , p_side => 'NA'
180360 );
180361
180362 END IF;
180363
180364 --
180365 --
180366 END IF;
180367 --
180368 -- Bug 4922099
180369 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
180370 (NVL(l_enc_upg_option, 'N') = 'O')
180371 ) AND
180372 (l_bflow_method_code = 'PRIOR_ENTRY')
180373 )
180374 THEN
180375 IF
180376 --
180377 1 = 2
180378 --
180379 THEN
180380 xla_accounting_err_pkg.build_message
180381 (p_appli_s_name => 'XLA'
180382 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
180383 ,p_token_1 => 'LINE_NUMBER'
180384 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
180385 ,p_token_2 => 'LINE_TYPE_NAME'
180386 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
180387 l_component_type
180388 ,l_component_code
180389 ,l_component_type_code
180390 ,l_component_appl_id
180391 ,l_amb_context_code
180392 ,l_entity_code
180393 ,l_event_class_code
180394 )
180395 ,p_token_3 => 'OWNER'
180396 ,p_value_3 => xla_lookups_pkg.get_meaning(
180397 p_lookup_type => 'XLA_OWNER_TYPE'
180398 ,p_lookup_code => l_component_type_code
180399 )
180400 ,p_token_4 => 'PRODUCT_NAME'
180401 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
180402 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
180403 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
180404 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
180405 ,p_ae_header_id => NULL
180406 );
180407
180408 IF (C_LEVEL_ERROR>= g_log_level) THEN
180409 trace
180410 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
180411 ,p_level => C_LEVEL_ERROR
180412 ,p_module => l_log_module);
180413 END IF;
180414 END IF;
180415 END IF;
180416 --
180417 --
180421 -- Prior Entry. Currently, the following code is always generated.
180418 ------------------------------------------------------------------------------------------------
180419 -- 4219869 Business Flow
180420 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
180422 ------------------------------------------------------------------------------------------------
180423 XLA_AE_LINES_PKG.ValidateCurrentLine;
180424
180425 ------------------------------------------------------------------------------------
180426 -- 4219869 Business Flow
180427 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
180428 ------------------------------------------------------------------------------------
180429 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
180430
180431 ----------------------------------------------------------------------------------
180432 -- 4219869 Business Flow
180433 -- Update journal entry status -- Need to generate this within IF <condition>
180434 ----------------------------------------------------------------------------------
180435 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
180436 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
180437 ,p_balance_type_code => l_balance_type_code
180438 );
180439
180440 -------------------------------------------------------------------------------------------
180441 -- 4262811 - Generate the Accrual Reversal lines
180442 -------------------------------------------------------------------------------------------
180443 BEGIN
180444 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
180445 (g_array_event(p_event_id).array_value_num('header_index'));
180446 IF l_acc_rev_flag IS NULL THEN
180447 l_acc_rev_flag := 'N';
180448 END IF;
180449 EXCEPTION
180450 WHEN OTHERS THEN
180451 l_acc_rev_flag := 'N';
180452 END;
180453 --
180454 IF (l_acc_rev_flag = 'Y') THEN
180455
180456 -- 4645092 ------------------------------------------------------------------------------
180457 -- To allow MPA report to determine if it should generate report process
180458 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
180459 ------------------------------------------------------------------------------------------
180460
180461 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
180462 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
180463 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
180464 -- call ADRs
180465 -- Bug 4922099
180466 --
180467 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
180468 (NVL(l_actual_upg_option, 'N') = 'O') OR
180469 (NVL(l_enc_upg_option, 'N') = 'O')
180470 )
180471 THEN
180472 NULL;
180473 --
180474 --
180475
180476 l_ccid := AcctDerRule_45(
180477 p_application_id => p_application_id
180478 , p_ae_header_id => l_ae_header_id
180479 , p_source_3 => p_source_3
180480 , p_source_3_meaning => p_source_3_meaning
180481 , p_source_18 => p_source_18
180482 , p_source_31 => p_source_31
180483 , x_transaction_coa_id => l_adr_transaction_coa_id
180484 , x_accounting_coa_id => l_adr_accounting_coa_id
180485 , x_value_type_code => l_adr_value_type_code
180486 , p_side => 'NA'
180487 );
180488
180489 xla_ae_lines_pkg.set_ccid(
180490 p_code_combination_id => l_ccid
180491 , p_value_type_code => l_adr_value_type_code
180492 , p_transaction_coa_id => l_adr_transaction_coa_id
180493 , p_accounting_coa_id => l_adr_accounting_coa_id
180494 , p_adr_code => 'AP_WH_DIST_ACCT'
180495 , p_adr_type_code => 'S'
180496 , p_component_type => l_component_type
180497 , p_component_code => l_component_code
180498 , p_component_type_code => l_component_type_code
180499 , p_component_appl_id => l_component_appl_id
180500 , p_amb_context_code => l_amb_context_code
180501 , p_side => 'NA'
180502 );
180503
180504
180505 l_segment := AcctDerRule_13(
180506 p_application_id => p_application_id
180507 , p_ae_header_id => l_ae_header_id
180508 , p_source_3 => p_source_3
180509 , p_source_3_meaning => p_source_3_meaning
180510 , p_source_18 => p_source_18
180511 , x_transaction_coa_id => l_adr_transaction_coa_id
180512 , x_accounting_coa_id => l_adr_accounting_coa_id
180513 , x_flexfield_segment_code => l_adr_flexfield_segment_code
180514 , x_flex_value_set_id => l_adr_flex_value_set_id
180515 , x_value_type_code => l_adr_value_type_code
180516 , x_value_combination_id => l_adr_value_combination_id
180517 , x_value_segment_code => l_adr_value_segment_code
180518 , p_side => 'NA'
180519 , p_override_seg_flag => 'Y'
180520 );
180521
180522 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
180523
180524 xla_ae_lines_pkg.set_segment(
180525 p_to_segment_code => 'GL_ACCOUNT'
180526 , p_segment_value => l_segment
180530 , p_transaction_coa_id => l_adr_transaction_coa_id
180527 , p_from_segment_code => l_adr_value_segment_code
180528 , p_from_combination_id => l_adr_value_combination_id
180529 , p_value_type_code => l_adr_value_type_code
180531 , p_accounting_coa_id => l_adr_accounting_coa_id
180532 , p_flexfield_segment_code => l_adr_flexfield_segment_code
180533 , p_flex_value_set_id => l_adr_flex_value_set_id
180534 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
180535 , p_adr_type_code => 'S'
180536 , p_component_type => l_component_type
180537 , p_component_code => l_component_code
180538 , p_component_type_code => l_component_type_code
180539 , p_component_appl_id => l_component_appl_id
180540 , p_amb_context_code => l_amb_context_code
180541 , p_entity_code => 'AP_INVOICES'
180542 , p_event_class_code => 'DEBIT MEMOS'
180543 , p_side => 'NA'
180544 );
180545
180546 END IF;
180547
180548 l_segment := AcctDerRule_24(
180549 p_application_id => p_application_id
180550 , p_ae_header_id => l_ae_header_id
180551 , p_source_3 => p_source_3
180552 , p_source_3_meaning => p_source_3_meaning
180553 , p_source_31 => p_source_31
180554 , x_transaction_coa_id => l_adr_transaction_coa_id
180555 , x_accounting_coa_id => l_adr_accounting_coa_id
180556 , x_flexfield_segment_code => l_adr_flexfield_segment_code
180557 , x_flex_value_set_id => l_adr_flex_value_set_id
180558 , x_value_type_code => l_adr_value_type_code
180559 , x_value_combination_id => l_adr_value_combination_id
180560 , x_value_segment_code => l_adr_value_segment_code
180561 , p_side => 'NA'
180562 , p_override_seg_flag => 'Y'
180563 );
180564
180565 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
180566
180567 xla_ae_lines_pkg.set_segment(
180568 p_to_segment_code => 'GL_BALANCING'
180569 , p_segment_value => l_segment
180570 , p_from_segment_code => l_adr_value_segment_code
180571 , p_from_combination_id => l_adr_value_combination_id
180572 , p_value_type_code => l_adr_value_type_code
180573 , p_transaction_coa_id => l_adr_transaction_coa_id
180574 , p_accounting_coa_id => l_adr_accounting_coa_id
180575 , p_flexfield_segment_code => l_adr_flexfield_segment_code
180576 , p_flex_value_set_id => l_adr_flex_value_set_id
180577 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
180578 , p_adr_type_code => 'S'
180579 , p_component_type => l_component_type
180580 , p_component_code => l_component_code
180581 , p_component_type_code => l_component_type_code
180582 , p_component_appl_id => l_component_appl_id
180583 , p_amb_context_code => l_amb_context_code
180584 , p_entity_code => 'AP_INVOICES'
180585 , p_event_class_code => 'DEBIT MEMOS'
180586 , p_side => 'NA'
180587 );
180588
180589 END IF;
180590
180591 --
180592 --
180593 END IF;
180594
180595 --
180596 -- Update the line information that should be overwritten
180597 --
180598 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
180599 p_header_num => 1);
180600 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
180601
180602 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
180603
180604 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
180605 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
180606 END IF;
180607
180608 --
180609 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
180610 --
180611 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
180612 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
180613 ELSE
180614 ---------------------------------------------------------------------------------------------------
180615 -- 4262811a Switch Sign
180616 ---------------------------------------------------------------------------------------------------
180617 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
180618 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
180619 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
180620 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
180621 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
180622 -- 5132302
180623 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
180624 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
180625
180626 END IF;
180627
180628 -- 4955764
180632
180629 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
180630 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
180631
180633 XLA_AE_LINES_PKG.ValidateCurrentLine;
180634 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
180635
180636 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
180637 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
180638 ,p_balance_type_code => l_balance_type_code);
180639
180640 END IF;
180641
180642 -----------------------------------------------------------------------------------------
180643 -- 4262811 Multiperiod Accounting
180644 -----------------------------------------------------------------------------------------
180645 -- No MPA option is assigned.
180646
180647
180648 END IF;
180649 END IF;
180650 --
180651
180652 --
180653 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
180654 trace
180655 (p_msg => 'END of AcctLineType_288'
180656 ,p_level => C_LEVEL_PROCEDURE
180657 ,p_module => l_log_module);
180658 END IF;
180659 --
180660 EXCEPTION
180661 WHEN xla_exceptions_pkg.application_exception THEN
180662 RAISE;
180663 WHEN OTHERS THEN
180664 xla_exceptions_pkg.raise_message
180665 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_288');
180666 END AcctLineType_288;
180667 --
180668
180669 ---------------------------------------
180670 --
180671 -- PRIVATE FUNCTION
180672 -- AcctLineType_289
180673 --
180674 ---------------------------------------
180675 PROCEDURE AcctLineType_289 (
180676 p_application_id IN NUMBER
180677 ,p_event_id IN NUMBER
180678 ,p_calculate_acctd_flag IN VARCHAR2
180679 ,p_calculate_g_l_flag IN VARCHAR2
180680 ,p_actual_flag IN OUT VARCHAR2
180681 ,p_balance_type_code OUT VARCHAR2
180682 ,p_gain_or_loss_ref OUT VARCHAR2
180683
180684 --Invoice Distribution Description
180685 , p_source_1 IN VARCHAR2
180686 --Automatic Offsets Value
180687 , p_source_3 IN VARCHAR2
180688 , p_source_3_meaning IN VARCHAR2
180689 --Invoice Distribution Ledger Amount
180690 , p_source_9 IN NUMBER
180691 --Invoice Distribution Account
180692 , p_source_18 IN NUMBER
180693 --Invoice Distribution Type
180694 , p_source_21 IN VARCHAR2
180695 , p_source_21_meaning IN VARCHAR2
180696 --Withholding Related Distribution Account
180697 , p_source_31 IN NUMBER
180698 --Accounting Reversal Indicator
180699 , p_source_41 IN VARCHAR2
180700 --Distribution Link Type
180701 , p_source_43 IN VARCHAR2
180702 --Allocation to Main Distribution Identifier
180703 , p_source_45 IN NUMBER
180704 --Invoice Identifier
180705 , p_source_46 IN NUMBER
180706 --Invoice Distribution Identifier
180707 , p_source_52 IN NUMBER
180708 --Payables Encumbrance Upgrade Credit Account
180709 , p_source_53 IN NUMBER
180710 --Payables Encumbrance Upgrade Credit Amount
180711 , p_source_54 IN NUMBER
180712 --Invoice Currency Code
180713 , p_source_55 IN VARCHAR2
180714 --Payables Encumbrance Upgrade Credit Base Amount
180715 , p_source_56 IN NUMBER
180716 --Payables Encumbrance Upgrade Debit Account
180717 , p_source_57 IN NUMBER
180718 --Payables Encumbrance Upgrade Debit Amount
180719 , p_source_58 IN NUMBER
180720 --Payables Encumbrance Upgrade Debit Base Amount
180721 , p_source_59 IN NUMBER
180722 --Payables Encumbrance Upgrade Option
180723 , p_source_60 IN VARCHAR2
180724 --Invoice Distribution Amount
180725 , p_source_61 IN NUMBER
180726 --Deferred Accounting End Date
180727 , p_source_65 IN DATE
180728 --Deferred Accounting Option
180729 , p_source_66 IN VARCHAR2
180730 --Deferred Accounting Start Date
180731 , p_source_67 IN DATE
180732 --Override Accounted Amount Indicator
180733 , p_source_68 IN VARCHAR2
180734 , p_source_68_meaning IN VARCHAR2
180735 --Invoice Supplier Identifier
180736 , p_source_69 IN NUMBER
180737 --Invoice Supplier Site Identifier
180738 , p_source_70 IN NUMBER
180739 --Third Party Type
180740 , p_source_71 IN VARCHAR2
180741 --Parent Reversal Identifier
180742 , p_source_72 IN NUMBER
180743 --Invoice Distribution Statistical Amount
180744 , p_source_73 IN NUMBER
180745 --Invoice Distribution Tax Line Identifier
180746 , p_source_74 IN NUMBER
180747 --Invoice Distribution Tax Distribution Identifier from Tax
180748 , p_source_75 IN NUMBER
180749 --Invoice Distribution Summary Tax Line Identifier
180750 , p_source_76 IN NUMBER
180751 --Payables Upgrade Credit Encumbrance Type Identifier
180752 , p_source_77 IN NUMBER
180753 --Payables Upgrade Debit Encumbrance Type Identifier
180754 , p_source_78 IN NUMBER
180755 --Business Flow Accounts Payable Application Identifier
180756 , p_source_79 IN NUMBER
180757 --Business Flow Invoice Distribution Type
180758 , p_source_80 IN VARCHAR2
180759 --Business Flow Invoice Entity Code
180760 , p_source_81 IN VARCHAR2
180761 --Business Flow Invoice Distribution Identifier
180762 , p_source_82 IN NUMBER
180763 --Business Flow Invoice Identifier
180767 --Invoice Exchange Rate
180764 , p_source_83 IN NUMBER
180765 --Invoice Exchange Date
180766 , p_source_136 IN DATE
180768 , p_source_137 IN NUMBER
180769 --Invoice Exchange Rate Type
180770 , p_source_138 IN VARCHAR2
180771 )
180772 IS
180773
180774 l_component_type VARCHAR2(80);
180775 l_component_code VARCHAR2(30);
180776 l_component_type_code VARCHAR2(1);
180777 l_component_appl_id INTEGER;
180778 l_amb_context_code VARCHAR2(30);
180779 l_entity_code VARCHAR2(30);
180780 l_event_class_code VARCHAR2(30);
180781 l_ae_header_id NUMBER;
180782 l_event_type_code VARCHAR2(30);
180783 l_line_definition_code VARCHAR2(30);
180784 l_line_definition_owner_code VARCHAR2(1);
180785 --
180786 -- adr variables
180787 l_segment VARCHAR2(30);
180788 l_ccid NUMBER;
180789 l_adr_transaction_coa_id NUMBER;
180790 l_adr_accounting_coa_id NUMBER;
180791 l_adr_flexfield_segment_code VARCHAR2(30);
180792 l_adr_flex_value_set_id NUMBER;
180793 l_adr_value_type_code VARCHAR2(30);
180794 l_adr_value_combination_id NUMBER;
180795 l_adr_value_segment_code VARCHAR2(30);
180796
180797 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
180798 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
180799 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
180800 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
180801
180802 -- 4262811 Variables ------------------------------------------------------------------------------------------
180803 l_entered_amt_idx NUMBER;
180804 l_accted_amt_idx NUMBER;
180805 l_acc_rev_flag VARCHAR2(1);
180806 l_accrual_line_num NUMBER;
180807 l_tmp_amt NUMBER;
180808 l_acc_rev_natural_side_code VARCHAR2(1);
180809
180810 l_num_entries NUMBER;
180811 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
180812 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
180813 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
180814 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
180815 l_recog_line_1 NUMBER;
180816 l_recog_line_2 NUMBER;
180817
180818 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
180819 l_bflow_applied_to_amt NUMBER; -- 5132302
180820 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
180821
180822 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
180823
180824 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
180825 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
180826
180827 ---------------------------------------------------------------------------------------------------------------
180828
180829
180830 --
180831 -- bulk performance
180832 --
180833 l_balance_type_code VARCHAR2(1);
180834 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
180835 l_log_module VARCHAR2(240);
180836
180837 --
180838 -- Upgrade strategy
180839 --
180840 l_actual_upg_option VARCHAR2(1);
180841 l_enc_upg_option VARCHAR2(1);
180842
180843 --
180844 BEGIN
180845 --
180846 IF g_log_enabled THEN
180847 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_289';
180848 END IF;
180849 --
180850 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
180851
180852 trace
180853 (p_msg => 'BEGIN of AcctLineType_289'
180854 ,p_level => C_LEVEL_PROCEDURE
180855 ,p_module => l_log_module);
180856
180857 END IF;
180858 --
180859 l_component_type := 'AMB_JLT';
180860 l_component_code := 'AP_WITHHOLD_TAX_INV';
180861 l_component_type_code := 'S';
180862 l_component_appl_id := 200;
180863 l_amb_context_code := 'DEFAULT';
180864 l_entity_code := 'AP_INVOICES';
180865 l_event_class_code := 'INVOICES';
180866 l_event_type_code := 'INVOICES_ALL';
180867 l_line_definition_owner_code := 'S';
180868 l_line_definition_code := 'ACCRUAL_INVOICES_ALL';
180869 --
180870 l_balance_type_code := 'A';
180871 l_segment := NULL;
180872 l_ccid := NULL;
180873 l_adr_transaction_coa_id := NULL;
180874 l_adr_accounting_coa_id := NULL;
180875 l_adr_flexfield_segment_code := NULL;
180876 l_adr_flex_value_set_id := NULL;
180877 l_adr_value_type_code := NULL;
180878 l_adr_value_combination_id := NULL;
180879 l_adr_value_segment_code := NULL;
180880
180881 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
180882 l_bflow_class_code := ''; -- 4219869 Business Flow
180883 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
180884 l_budgetary_control_flag := 'N';
180885
180886 l_bflow_applied_to_amt_idx := NULL; -- 5132302
180887 l_bflow_applied_to_amt := NULL; -- 5132302
180888 l_entered_amt_idx := NULL; -- 4262811
180889 l_accted_amt_idx := NULL; -- 4262811
180890 l_acc_rev_flag := NULL; -- 4262811
180891 l_accrual_line_num := NULL; -- 4262811
180892 l_tmp_amt := NULL; -- 4262811
180893 --
180894
180898 ') = 'AWT'
180895 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
180896 l_balance_type_code <> 'B' THEN
180897 IF NVL(p_source_21,'
180899 THEN
180900
180901 --
180902 XLA_AE_LINES_PKG.SetNewLine;
180903
180904 p_balance_type_code := l_balance_type_code;
180905 -- set the flag so later we will know whether the gain loss line needs to be created
180906
180907 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
180908 p_actual_flag :='A';
180909 END IF;
180910
180911 --
180912 -- bulk performance
180913 --
180914 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
180915 p_header_num => 0); -- 4262811
180916 --
180917 -- set accounting line options
180918 --
180919 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
180920 p_natural_side_code => 'D'
180921 , p_gain_or_loss_flag => 'N'
180922 , p_gl_transfer_mode_code => 'S'
180923 , p_acct_entry_type_code => 'A'
180924 , p_switch_side_flag => 'Y'
180925 , p_merge_duplicate_code => 'A'
180926 );
180927 --
180928 l_acc_rev_natural_side_code := 'C'; -- 4262811
180929 --
180930 --
180931 -- set accounting line type info
180932 --
180933 xla_ae_lines_pkg.SetAcctLineType
180934 (p_component_type => l_component_type
180935 ,p_event_type_code => l_event_type_code
180936 ,p_line_definition_owner_code => l_line_definition_owner_code
180937 ,p_line_definition_code => l_line_definition_code
180938 ,p_accounting_line_code => l_component_code
180939 ,p_accounting_line_type_code => l_component_type_code
180940 ,p_accounting_line_appl_id => l_component_appl_id
180941 ,p_amb_context_code => l_amb_context_code
180942 ,p_entity_code => l_entity_code
180943 ,p_event_class_code => l_event_class_code);
180944 --
180945 -- set accounting class
180946 --
180947 xla_ae_lines_pkg.SetAcctClass(
180948 p_accounting_class_code => 'AWT'
180949 , p_ae_header_id => l_ae_header_id
180950 );
180951
180952 --
180953 -- set rounding class
180954 --
180955 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
180956 'AWT';
180957
180958 --
180959 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
180960 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
180961 --
180962 -- bulk performance
180963 --
180964 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
180965
180966 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
180967 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
180968
180969 -- 4955764
180970 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
180971 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
180972
180973 -- 4458381 Public Sector Enh
180974
180975 --
180976 -- set accounting attributes for the line type
180977 --
180978 l_entered_amt_idx := 24;
180979 l_accted_amt_idx := 29;
180980 l_bflow_applied_to_amt_idx := 7; -- 5132302
180981 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
180982 l_rec_acct_attrs.array_char_value(1) := p_source_41;
180983 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
180984 l_rec_acct_attrs.array_num_value(2) :=
180985 xla_ae_sources_pkg.GetSystemSourceNum(
180986 p_source_code => 'XLA_EVENT_APPL_ID'
180987 , p_source_type_code => 'Y'
180988 , p_source_application_id => 602
180989 );
180990 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
180991 l_rec_acct_attrs.array_char_value(3) := p_source_43;
180992 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
180993 l_rec_acct_attrs.array_char_value(4) :=
180994 xla_ae_sources_pkg.GetSystemSourceChar(
180995 p_source_code => 'XLA_ENTITY_CODE'
180996 , p_source_type_code => 'Y'
180997 , p_source_application_id => 602
180998 );
180999 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
181000 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
181001 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
181002 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
181003 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_AMOUNT';
181004 l_rec_acct_attrs.array_num_value(7) := p_source_61;
181005 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_APPLICATION_ID';
181006 l_rec_acct_attrs.array_num_value(8) := p_source_79;
181007 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_DISTRIBUTION_TYPE';
181008 l_rec_acct_attrs.array_char_value(9) := p_source_80;
181009 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_ENTITY_CODE';
181010 l_rec_acct_attrs.array_char_value(10) := p_source_81;
181011 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_DIST_ID';
181012 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_82);
181013 l_rec_acct_attrs.array_acct_attr_code(12) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
181017 l_rec_acct_attrs.array_acct_attr_code(14) := 'DISTRIBUTION_TYPE';
181014 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_83);
181015 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_IDENTIFIER_1';
181016 l_rec_acct_attrs.array_num_value(13) := to_char(p_source_52);
181018 l_rec_acct_attrs.array_char_value(14) := p_source_43;
181019 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_CCID';
181020 l_rec_acct_attrs.array_num_value(15) := p_source_53;
181021 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_AMT';
181022 l_rec_acct_attrs.array_num_value(16) := p_source_54;
181023 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_ENTERED_CURR';
181024 l_rec_acct_attrs.array_char_value(17) := p_source_55;
181025 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_CR_LEDGER_AMT';
181026 l_rec_acct_attrs.array_num_value(18) := p_source_56;
181027 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_CCID';
181028 l_rec_acct_attrs.array_num_value(19) := p_source_57;
181029 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_AMT';
181030 l_rec_acct_attrs.array_num_value(20) := p_source_58;
181031 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_ENTERED_CURR';
181032 l_rec_acct_attrs.array_char_value(21) := p_source_55;
181033 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_DR_LEDGER_AMT';
181034 l_rec_acct_attrs.array_num_value(22) := p_source_59;
181035 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENC_UPG_OPTION';
181036 l_rec_acct_attrs.array_char_value(23) := p_source_60;
181037 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_AMOUNT';
181038 l_rec_acct_attrs.array_num_value(24) := p_source_61;
181039 l_rec_acct_attrs.array_acct_attr_code(25) := 'ENTERED_CURRENCY_CODE';
181040 l_rec_acct_attrs.array_char_value(25) := p_source_55;
181041 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_DATE';
181042 l_rec_acct_attrs.array_date_value(26) := p_source_136;
181043 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE';
181044 l_rec_acct_attrs.array_num_value(27) := p_source_137;
181045 l_rec_acct_attrs.array_acct_attr_code(28) := 'EXCHANGE_RATE_TYPE';
181046 l_rec_acct_attrs.array_char_value(28) := p_source_138;
181047 l_rec_acct_attrs.array_acct_attr_code(29) := 'LEDGER_AMOUNT';
181048 l_rec_acct_attrs.array_num_value(29) := p_source_9;
181049 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_END_DATE';
181050 l_rec_acct_attrs.array_date_value(30) := p_source_65;
181051 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_OPTION';
181052 l_rec_acct_attrs.array_char_value(31) := p_source_66;
181053 l_rec_acct_attrs.array_acct_attr_code(32) := 'MULTIPERIOD_START_DATE';
181054 l_rec_acct_attrs.array_date_value(32) := p_source_67;
181055 l_rec_acct_attrs.array_acct_attr_code(33) := 'OVERRIDE_ACCTD_AMT_FLAG';
181056 l_rec_acct_attrs.array_char_value(33) := p_source_68;
181057 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_ID';
181058 l_rec_acct_attrs.array_num_value(34) := p_source_69;
181059 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_SITE_ID';
181060 l_rec_acct_attrs.array_num_value(35) := p_source_70;
181061 l_rec_acct_attrs.array_acct_attr_code(36) := 'PARTY_TYPE';
181062 l_rec_acct_attrs.array_char_value(36) := p_source_71;
181063 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_ID1';
181064 l_rec_acct_attrs.array_num_value(37) := to_char(p_source_72);
181065 l_rec_acct_attrs.array_acct_attr_code(38) := 'REVERSED_DISTRIBUTION_TYPE';
181066 l_rec_acct_attrs.array_char_value(38) := p_source_43;
181067 l_rec_acct_attrs.array_acct_attr_code(39) := 'STATISTICAL_AMOUNT';
181068 l_rec_acct_attrs.array_num_value(39) := p_source_73;
181069 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_LINE_REF_ID';
181070 l_rec_acct_attrs.array_num_value(40) := p_source_74;
181071 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_REC_NREC_DIST_REF_ID';
181072 l_rec_acct_attrs.array_num_value(41) := p_source_75;
181073 l_rec_acct_attrs.array_acct_attr_code(42) := 'TAX_SUMMARY_LINE_REF_ID';
181074 l_rec_acct_attrs.array_num_value(42) := p_source_76;
181075 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_CR_ENC_TYPE_ID';
181076 l_rec_acct_attrs.array_num_value(43) := p_source_77;
181077 l_rec_acct_attrs.array_acct_attr_code(44) := 'UPG_DR_ENC_TYPE_ID';
181078 l_rec_acct_attrs.array_num_value(44) := p_source_78;
181079
181080 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
181081 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
181082
181083 ---------------------------------------------------------------------------------------------------------------
181084 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
181085 ---------------------------------------------------------------------------------------------------------------
181086 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
181087
181088 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
181089 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
181090
181091 IF xla_accounting_cache_pkg.GetValueChar
181092 (p_source_code => 'LEDGER_CATEGORY_CODE'
181093 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
181094 AND l_bflow_method_code = 'PRIOR_ENTRY'
181095 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
181096 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
181100 xla_ae_lines_pkg.BflowUpgEntry
181097 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
181098 )
181099 THEN
181101 (p_business_method_code => l_bflow_method_code
181102 ,p_business_class_code => l_bflow_class_code
181103 ,p_balance_type => l_balance_type_code);
181104 ELSE
181105 NULL;
181106 -- No business flow processing for business flow method of NONE.
181107 END IF;
181108
181109 --
181110 -- call analytical criteria
181111 --
181112
181113 --
181114 -- call description
181115 --
181116
181117 xla_ae_lines_pkg.SetLineDescription(
181118 p_ae_header_id => l_ae_header_id
181119 ,p_description => Description_2 (
181120 p_application_id => p_application_id
181121 , p_ae_header_id => l_ae_header_id
181122 , p_source_1 => p_source_1
181123 )
181124 );
181125
181126
181127 --
181128 -- call ADRs
181129 -- Bug 4922099
181130 --
181131 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
181132 (NVL(l_actual_upg_option, 'N') = 'O') OR
181133 (NVL(l_enc_upg_option, 'N') = 'O')
181134 )
181135 THEN
181136 NULL;
181137 --
181138 --
181139
181140 l_ccid := AcctDerRule_45(
181141 p_application_id => p_application_id
181142 , p_ae_header_id => l_ae_header_id
181143 , p_source_3 => p_source_3
181144 , p_source_3_meaning => p_source_3_meaning
181145 , p_source_18 => p_source_18
181146 , p_source_31 => p_source_31
181147 , x_transaction_coa_id => l_adr_transaction_coa_id
181148 , x_accounting_coa_id => l_adr_accounting_coa_id
181149 , x_value_type_code => l_adr_value_type_code
181150 , p_side => 'NA'
181151 );
181152
181153 xla_ae_lines_pkg.set_ccid(
181154 p_code_combination_id => l_ccid
181155 , p_value_type_code => l_adr_value_type_code
181156 , p_transaction_coa_id => l_adr_transaction_coa_id
181157 , p_accounting_coa_id => l_adr_accounting_coa_id
181158 , p_adr_code => 'AP_WH_DIST_ACCT'
181159 , p_adr_type_code => 'S'
181160 , p_component_type => l_component_type
181161 , p_component_code => l_component_code
181162 , p_component_type_code => l_component_type_code
181163 , p_component_appl_id => l_component_appl_id
181164 , p_amb_context_code => l_amb_context_code
181165 , p_side => 'NA'
181166 );
181167
181168
181169 l_segment := AcctDerRule_13(
181170 p_application_id => p_application_id
181171 , p_ae_header_id => l_ae_header_id
181172 , p_source_3 => p_source_3
181173 , p_source_3_meaning => p_source_3_meaning
181174 , p_source_18 => p_source_18
181175 , x_transaction_coa_id => l_adr_transaction_coa_id
181176 , x_accounting_coa_id => l_adr_accounting_coa_id
181177 , x_flexfield_segment_code => l_adr_flexfield_segment_code
181178 , x_flex_value_set_id => l_adr_flex_value_set_id
181179 , x_value_type_code => l_adr_value_type_code
181180 , x_value_combination_id => l_adr_value_combination_id
181181 , x_value_segment_code => l_adr_value_segment_code
181182 , p_side => 'NA'
181183 , p_override_seg_flag => 'Y'
181184 );
181185
181186 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
181187
181188 xla_ae_lines_pkg.set_segment(
181189 p_to_segment_code => 'GL_ACCOUNT'
181190 , p_segment_value => l_segment
181191 , p_from_segment_code => l_adr_value_segment_code
181192 , p_from_combination_id => l_adr_value_combination_id
181193 , p_value_type_code => l_adr_value_type_code
181194 , p_transaction_coa_id => l_adr_transaction_coa_id
181195 , p_accounting_coa_id => l_adr_accounting_coa_id
181196 , p_flexfield_segment_code => l_adr_flexfield_segment_code
181197 , p_flex_value_set_id => l_adr_flex_value_set_id
181198 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
181199 , p_adr_type_code => 'S'
181200 , p_component_type => l_component_type
181201 , p_component_code => l_component_code
181202 , p_component_type_code => l_component_type_code
181203 , p_component_appl_id => l_component_appl_id
181204 , p_amb_context_code => l_amb_context_code
181205 , p_entity_code => 'AP_INVOICES'
181206 , p_event_class_code => 'INVOICES'
181207 , p_side => 'NA'
181208 );
181209
181210 END IF;
181211
181212 l_segment := AcctDerRule_24(
181213 p_application_id => p_application_id
181214 , p_ae_header_id => l_ae_header_id
181215 , p_source_3 => p_source_3
181216 , p_source_3_meaning => p_source_3_meaning
181217 , p_source_31 => p_source_31
181218 , x_transaction_coa_id => l_adr_transaction_coa_id
181219 , x_accounting_coa_id => l_adr_accounting_coa_id
181220 , x_flexfield_segment_code => l_adr_flexfield_segment_code
181221 , x_flex_value_set_id => l_adr_flex_value_set_id
181222 , x_value_type_code => l_adr_value_type_code
181223 , x_value_combination_id => l_adr_value_combination_id
181227 );
181224 , x_value_segment_code => l_adr_value_segment_code
181225 , p_side => 'NA'
181226 , p_override_seg_flag => 'Y'
181228
181229 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
181230
181231 xla_ae_lines_pkg.set_segment(
181232 p_to_segment_code => 'GL_BALANCING'
181233 , p_segment_value => l_segment
181234 , p_from_segment_code => l_adr_value_segment_code
181235 , p_from_combination_id => l_adr_value_combination_id
181236 , p_value_type_code => l_adr_value_type_code
181237 , p_transaction_coa_id => l_adr_transaction_coa_id
181238 , p_accounting_coa_id => l_adr_accounting_coa_id
181239 , p_flexfield_segment_code => l_adr_flexfield_segment_code
181240 , p_flex_value_set_id => l_adr_flex_value_set_id
181241 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
181242 , p_adr_type_code => 'S'
181243 , p_component_type => l_component_type
181244 , p_component_code => l_component_code
181245 , p_component_type_code => l_component_type_code
181246 , p_component_appl_id => l_component_appl_id
181247 , p_amb_context_code => l_amb_context_code
181248 , p_entity_code => 'AP_INVOICES'
181249 , p_event_class_code => 'INVOICES'
181250 , p_side => 'NA'
181251 );
181252
181253 END IF;
181254
181255 --
181256 --
181257 END IF;
181258 --
181259 -- Bug 4922099
181260 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
181261 (NVL(l_enc_upg_option, 'N') = 'O')
181262 ) AND
181263 (l_bflow_method_code = 'PRIOR_ENTRY')
181264 )
181265 THEN
181266 IF
181267 --
181268 1 = 2
181269 --
181270 THEN
181271 xla_accounting_err_pkg.build_message
181272 (p_appli_s_name => 'XLA'
181273 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
181274 ,p_token_1 => 'LINE_NUMBER'
181275 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
181276 ,p_token_2 => 'LINE_TYPE_NAME'
181277 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
181278 l_component_type
181279 ,l_component_code
181280 ,l_component_type_code
181281 ,l_component_appl_id
181282 ,l_amb_context_code
181283 ,l_entity_code
181284 ,l_event_class_code
181285 )
181286 ,p_token_3 => 'OWNER'
181287 ,p_value_3 => xla_lookups_pkg.get_meaning(
181288 p_lookup_type => 'XLA_OWNER_TYPE'
181289 ,p_lookup_code => l_component_type_code
181290 )
181291 ,p_token_4 => 'PRODUCT_NAME'
181292 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
181293 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
181294 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
181295 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
181296 ,p_ae_header_id => NULL
181297 );
181298
181299 IF (C_LEVEL_ERROR>= g_log_level) THEN
181300 trace
181301 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
181302 ,p_level => C_LEVEL_ERROR
181303 ,p_module => l_log_module);
181304 END IF;
181305 END IF;
181306 END IF;
181307 --
181308 --
181309 ------------------------------------------------------------------------------------------------
181310 -- 4219869 Business Flow
181311 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
181312 -- Prior Entry. Currently, the following code is always generated.
181313 ------------------------------------------------------------------------------------------------
181314 XLA_AE_LINES_PKG.ValidateCurrentLine;
181315
181316 ------------------------------------------------------------------------------------
181317 -- 4219869 Business Flow
181318 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
181322 ----------------------------------------------------------------------------------
181319 ------------------------------------------------------------------------------------
181320 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
181321
181323 -- 4219869 Business Flow
181324 -- Update journal entry status -- Need to generate this within IF <condition>
181325 ----------------------------------------------------------------------------------
181326 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
181327 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
181328 ,p_balance_type_code => l_balance_type_code
181329 );
181330
181331 -------------------------------------------------------------------------------------------
181332 -- 4262811 - Generate the Accrual Reversal lines
181333 -------------------------------------------------------------------------------------------
181334 BEGIN
181335 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
181336 (g_array_event(p_event_id).array_value_num('header_index'));
181337 IF l_acc_rev_flag IS NULL THEN
181338 l_acc_rev_flag := 'N';
181339 END IF;
181340 EXCEPTION
181341 WHEN OTHERS THEN
181342 l_acc_rev_flag := 'N';
181343 END;
181344 --
181345 IF (l_acc_rev_flag = 'Y') THEN
181346
181347 -- 4645092 ------------------------------------------------------------------------------
181348 -- To allow MPA report to determine if it should generate report process
181349 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
181350 ------------------------------------------------------------------------------------------
181351
181352 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
181353 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
181354 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
181355 -- call ADRs
181356 -- Bug 4922099
181357 --
181358 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
181359 (NVL(l_actual_upg_option, 'N') = 'O') OR
181360 (NVL(l_enc_upg_option, 'N') = 'O')
181361 )
181362 THEN
181363 NULL;
181364 --
181365 --
181366
181367 l_ccid := AcctDerRule_45(
181368 p_application_id => p_application_id
181369 , p_ae_header_id => l_ae_header_id
181370 , p_source_3 => p_source_3
181371 , p_source_3_meaning => p_source_3_meaning
181372 , p_source_18 => p_source_18
181373 , p_source_31 => p_source_31
181374 , x_transaction_coa_id => l_adr_transaction_coa_id
181375 , x_accounting_coa_id => l_adr_accounting_coa_id
181376 , x_value_type_code => l_adr_value_type_code
181377 , p_side => 'NA'
181378 );
181379
181380 xla_ae_lines_pkg.set_ccid(
181381 p_code_combination_id => l_ccid
181382 , p_value_type_code => l_adr_value_type_code
181383 , p_transaction_coa_id => l_adr_transaction_coa_id
181384 , p_accounting_coa_id => l_adr_accounting_coa_id
181385 , p_adr_code => 'AP_WH_DIST_ACCT'
181386 , p_adr_type_code => 'S'
181387 , p_component_type => l_component_type
181388 , p_component_code => l_component_code
181389 , p_component_type_code => l_component_type_code
181390 , p_component_appl_id => l_component_appl_id
181391 , p_amb_context_code => l_amb_context_code
181392 , p_side => 'NA'
181393 );
181394
181395
181396 l_segment := AcctDerRule_13(
181397 p_application_id => p_application_id
181398 , p_ae_header_id => l_ae_header_id
181399 , p_source_3 => p_source_3
181400 , p_source_3_meaning => p_source_3_meaning
181401 , p_source_18 => p_source_18
181402 , x_transaction_coa_id => l_adr_transaction_coa_id
181403 , x_accounting_coa_id => l_adr_accounting_coa_id
181404 , x_flexfield_segment_code => l_adr_flexfield_segment_code
181405 , x_flex_value_set_id => l_adr_flex_value_set_id
181406 , x_value_type_code => l_adr_value_type_code
181407 , x_value_combination_id => l_adr_value_combination_id
181408 , x_value_segment_code => l_adr_value_segment_code
181409 , p_side => 'NA'
181410 , p_override_seg_flag => 'Y'
181411 );
181412
181413 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
181414
181415 xla_ae_lines_pkg.set_segment(
181416 p_to_segment_code => 'GL_ACCOUNT'
181417 , p_segment_value => l_segment
181418 , p_from_segment_code => l_adr_value_segment_code
181419 , p_from_combination_id => l_adr_value_combination_id
181420 , p_value_type_code => l_adr_value_type_code
181421 , p_transaction_coa_id => l_adr_transaction_coa_id
181422 , p_accounting_coa_id => l_adr_accounting_coa_id
181423 , p_flexfield_segment_code => l_adr_flexfield_segment_code
181424 , p_flex_value_set_id => l_adr_flex_value_set_id
181425 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
181426 , p_adr_type_code => 'S'
181427 , p_component_type => l_component_type
181428 , p_component_code => l_component_code
181429 , p_component_type_code => l_component_type_code
181433 , p_event_class_code => 'INVOICES'
181430 , p_component_appl_id => l_component_appl_id
181431 , p_amb_context_code => l_amb_context_code
181432 , p_entity_code => 'AP_INVOICES'
181434 , p_side => 'NA'
181435 );
181436
181437 END IF;
181438
181439 l_segment := AcctDerRule_24(
181440 p_application_id => p_application_id
181441 , p_ae_header_id => l_ae_header_id
181442 , p_source_3 => p_source_3
181443 , p_source_3_meaning => p_source_3_meaning
181444 , p_source_31 => p_source_31
181445 , x_transaction_coa_id => l_adr_transaction_coa_id
181446 , x_accounting_coa_id => l_adr_accounting_coa_id
181447 , x_flexfield_segment_code => l_adr_flexfield_segment_code
181448 , x_flex_value_set_id => l_adr_flex_value_set_id
181449 , x_value_type_code => l_adr_value_type_code
181450 , x_value_combination_id => l_adr_value_combination_id
181451 , x_value_segment_code => l_adr_value_segment_code
181452 , p_side => 'NA'
181453 , p_override_seg_flag => 'Y'
181454 );
181455
181456 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
181457
181458 xla_ae_lines_pkg.set_segment(
181459 p_to_segment_code => 'GL_BALANCING'
181460 , p_segment_value => l_segment
181461 , p_from_segment_code => l_adr_value_segment_code
181462 , p_from_combination_id => l_adr_value_combination_id
181463 , p_value_type_code => l_adr_value_type_code
181464 , p_transaction_coa_id => l_adr_transaction_coa_id
181465 , p_accounting_coa_id => l_adr_accounting_coa_id
181466 , p_flexfield_segment_code => l_adr_flexfield_segment_code
181467 , p_flex_value_set_id => l_adr_flex_value_set_id
181468 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
181469 , p_adr_type_code => 'S'
181470 , p_component_type => l_component_type
181471 , p_component_code => l_component_code
181472 , p_component_type_code => l_component_type_code
181473 , p_component_appl_id => l_component_appl_id
181474 , p_amb_context_code => l_amb_context_code
181475 , p_entity_code => 'AP_INVOICES'
181476 , p_event_class_code => 'INVOICES'
181477 , p_side => 'NA'
181478 );
181479
181480 END IF;
181481
181482 --
181483 --
181484 END IF;
181485
181486 --
181487 -- Update the line information that should be overwritten
181488 --
181489 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
181490 p_header_num => 1);
181491 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
181492
181493 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
181494
181495 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
181496 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
181497 END IF;
181498
181499 --
181500 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
181501 --
181502 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
181503 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
181504 ELSE
181505 ---------------------------------------------------------------------------------------------------
181506 -- 4262811a Switch Sign
181507 ---------------------------------------------------------------------------------------------------
181508 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
181509 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
181510 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
181511 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
181512 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
181513 -- 5132302
181514 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
181515 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
181516
181517 END IF;
181518
181519 -- 4955764
181520 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
181521 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
181522
181523
181524 XLA_AE_LINES_PKG.ValidateCurrentLine;
181525 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
181526
181527 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
181528 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
181529 ,p_balance_type_code => l_balance_type_code);
181530
181531 END IF;
181532
181533 -----------------------------------------------------------------------------------------
181534 -- 4262811 Multiperiod Accounting
181538
181535 -----------------------------------------------------------------------------------------
181536 -- No MPA option is assigned.
181537
181539 END IF;
181540 END IF;
181541 --
181542
181543 --
181544 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
181545 trace
181546 (p_msg => 'END of AcctLineType_289'
181547 ,p_level => C_LEVEL_PROCEDURE
181548 ,p_module => l_log_module);
181549 END IF;
181550 --
181551 EXCEPTION
181552 WHEN xla_exceptions_pkg.application_exception THEN
181553 RAISE;
181554 WHEN OTHERS THEN
181555 xla_exceptions_pkg.raise_message
181556 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_289');
181557 END AcctLineType_289;
181558 --
181559
181560 ---------------------------------------
181561 --
181562 -- PRIVATE FUNCTION
181563 -- AcctLineType_290
181564 --
181565 ---------------------------------------
181566 PROCEDURE AcctLineType_290 (
181567 p_application_id IN NUMBER
181568 ,p_event_id IN NUMBER
181569 ,p_calculate_acctd_flag IN VARCHAR2
181570 ,p_calculate_g_l_flag IN VARCHAR2
181571 ,p_actual_flag IN OUT VARCHAR2
181572 ,p_balance_type_code OUT VARCHAR2
181573 ,p_gain_or_loss_ref OUT VARCHAR2
181574
181575 --Invoice Distribution Description
181576 , p_source_1 IN VARCHAR2
181577 --Automatic Offsets Value
181578 , p_source_3 IN VARCHAR2
181579 , p_source_3_meaning IN VARCHAR2
181580 --Invoice Distribution Ledger Amount
181581 , p_source_9 IN NUMBER
181582 --Invoice Distribution Account
181583 , p_source_18 IN NUMBER
181584 --Invoice Distribution Type
181585 , p_source_21 IN VARCHAR2
181586 , p_source_21_meaning IN VARCHAR2
181587 --Withholding Related Distribution Account
181588 , p_source_31 IN NUMBER
181589 --Accounting Reversal Indicator
181590 , p_source_41 IN VARCHAR2
181591 --Distribution Link Type
181592 , p_source_43 IN VARCHAR2
181593 --Allocation to Main Distribution Identifier
181594 , p_source_45 IN NUMBER
181595 --Invoice Identifier
181596 , p_source_46 IN NUMBER
181597 --Invoice Distribution Identifier
181598 , p_source_52 IN NUMBER
181599 --Payables Encumbrance Upgrade Credit Account
181600 , p_source_53 IN NUMBER
181601 --Payables Encumbrance Upgrade Credit Amount
181602 , p_source_54 IN NUMBER
181603 --Invoice Currency Code
181604 , p_source_55 IN VARCHAR2
181605 --Payables Encumbrance Upgrade Credit Base Amount
181606 , p_source_56 IN NUMBER
181607 --Payables Encumbrance Upgrade Debit Account
181608 , p_source_57 IN NUMBER
181609 --Payables Encumbrance Upgrade Debit Amount
181610 , p_source_58 IN NUMBER
181611 --Payables Encumbrance Upgrade Debit Base Amount
181612 , p_source_59 IN NUMBER
181613 --Payables Encumbrance Upgrade Option
181614 , p_source_60 IN VARCHAR2
181615 --Invoice Distribution Amount
181616 , p_source_61 IN NUMBER
181617 --Deferred Accounting End Date
181618 , p_source_65 IN DATE
181619 --Deferred Accounting Option
181620 , p_source_66 IN VARCHAR2
181621 --Deferred Accounting Start Date
181622 , p_source_67 IN DATE
181623 --Override Accounted Amount Indicator
181624 , p_source_68 IN VARCHAR2
181625 , p_source_68_meaning IN VARCHAR2
181626 --Invoice Supplier Identifier
181627 , p_source_69 IN NUMBER
181628 --Invoice Supplier Site Identifier
181629 , p_source_70 IN NUMBER
181630 --Third Party Type
181631 , p_source_71 IN VARCHAR2
181632 --Parent Reversal Identifier
181633 , p_source_72 IN NUMBER
181634 --Invoice Distribution Statistical Amount
181635 , p_source_73 IN NUMBER
181636 --Invoice Distribution Tax Line Identifier
181637 , p_source_74 IN NUMBER
181638 --Invoice Distribution Tax Distribution Identifier from Tax
181639 , p_source_75 IN NUMBER
181640 --Invoice Distribution Summary Tax Line Identifier
181641 , p_source_76 IN NUMBER
181642 --Payables Upgrade Credit Encumbrance Type Identifier
181643 , p_source_77 IN NUMBER
181644 --Payables Upgrade Debit Encumbrance Type Identifier
181645 , p_source_78 IN NUMBER
181646 --Business Flow Accounts Payable Application Identifier
181647 , p_source_79 IN NUMBER
181648 --Business Flow Invoice Distribution Type
181649 , p_source_80 IN VARCHAR2
181650 --Business Flow Invoice Entity Code
181651 , p_source_81 IN VARCHAR2
181652 --Business Flow Invoice Distribution Identifier
181653 , p_source_82 IN NUMBER
181654 --Business Flow Invoice Identifier
181655 , p_source_83 IN NUMBER
181656 --Invoice Exchange Date
181657 , p_source_136 IN DATE
181658 --Invoice Exchange Rate
181659 , p_source_137 IN NUMBER
181660 --Invoice Exchange Rate Type
181661 , p_source_138 IN VARCHAR2
181662 )
181663 IS
181664
181665 l_component_type VARCHAR2(80);
181666 l_component_code VARCHAR2(30);
181667 l_component_type_code VARCHAR2(1);
181668 l_component_appl_id INTEGER;
181669 l_amb_context_code VARCHAR2(30);
181670 l_entity_code VARCHAR2(30);
181671 l_event_class_code VARCHAR2(30);
181672 l_ae_header_id NUMBER;
181673 l_event_type_code VARCHAR2(30);
181674 l_line_definition_code VARCHAR2(30);
181678 l_segment VARCHAR2(30);
181675 l_line_definition_owner_code VARCHAR2(1);
181676 --
181677 -- adr variables
181679 l_ccid NUMBER;
181680 l_adr_transaction_coa_id NUMBER;
181681 l_adr_accounting_coa_id NUMBER;
181682 l_adr_flexfield_segment_code VARCHAR2(30);
181683 l_adr_flex_value_set_id NUMBER;
181684 l_adr_value_type_code VARCHAR2(30);
181685 l_adr_value_combination_id NUMBER;
181686 l_adr_value_segment_code VARCHAR2(30);
181687
181688 l_bflow_method_code VARCHAR2(30); -- 4219869 Business Flow
181689 l_bflow_class_code VARCHAR2(30); -- 4219869 Business Flow
181690 l_inherit_desc_flag VARCHAR2(1); -- 4219869 Business Flow
181691 l_budgetary_control_flag VARCHAR2(1); -- 4458381 Public Sector Enh
181692
181693 -- 4262811 Variables ------------------------------------------------------------------------------------------
181694 l_entered_amt_idx NUMBER;
181695 l_accted_amt_idx NUMBER;
181696 l_acc_rev_flag VARCHAR2(1);
181697 l_accrual_line_num NUMBER;
181698 l_tmp_amt NUMBER;
181699 l_acc_rev_natural_side_code VARCHAR2(1);
181700
181701 l_num_entries NUMBER;
181702 l_gl_dates xla_ae_journal_entry_pkg.t_array_date;
181703 l_accted_amts xla_ae_journal_entry_pkg.t_array_num;
181704 l_entered_amts xla_ae_journal_entry_pkg.t_array_num;
181705 l_period_names xla_ae_journal_entry_pkg.t_array_V15L;
181706 l_recog_line_1 NUMBER;
181707 l_recog_line_2 NUMBER;
181708
181709 l_bflow_applied_to_amt_idx NUMBER; -- 5132302
181710 l_bflow_applied_to_amt NUMBER; -- 5132302
181711 l_bflow_applied_to_amts xla_ae_journal_entry_pkg.t_array_num; -- 5132302
181712
181713 l_event_id NUMBER; -- To handle MPA header Description: xla_ae_header_pkg.SetHdrDescription
181714
181715 --l_rounding_ccy VARCHAR2(15); -- To handle MPA rounding 4262811b
181716 l_same_currency BOOLEAN; -- To handle MPA rounding 4262811b
181717
181718 ---------------------------------------------------------------------------------------------------------------
181719
181720
181721 --
181722 -- bulk performance
181723 --
181724 l_balance_type_code VARCHAR2(1);
181725 l_rec_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
181726 l_log_module VARCHAR2(240);
181727
181728 --
181729 -- Upgrade strategy
181730 --
181731 l_actual_upg_option VARCHAR2(1);
181732 l_enc_upg_option VARCHAR2(1);
181733
181734 --
181735 BEGIN
181736 --
181737 IF g_log_enabled THEN
181738 l_log_module := C_DEFAULT_MODULE||'.AcctLineType_290';
181739 END IF;
181740 --
181741 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
181742
181743 trace
181744 (p_msg => 'BEGIN of AcctLineType_290'
181745 ,p_level => C_LEVEL_PROCEDURE
181746 ,p_module => l_log_module);
181747
181748 END IF;
181749 --
181750 l_component_type := 'AMB_JLT';
181751 l_component_code := 'AP_WITHHOLD_TAX_PREPAY';
181752 l_component_type_code := 'S';
181753 l_component_appl_id := 200;
181754 l_amb_context_code := 'DEFAULT';
181755 l_entity_code := 'AP_INVOICES';
181756 l_event_class_code := 'PREPAYMENTS';
181757 l_event_type_code := 'PREPAYMENTS_ALL';
181758 l_line_definition_owner_code := 'S';
181759 l_line_definition_code := 'ACCRUAL_PREPAYMENTS_ALL';
181760 --
181761 l_balance_type_code := 'A';
181762 l_segment := NULL;
181763 l_ccid := NULL;
181764 l_adr_transaction_coa_id := NULL;
181765 l_adr_accounting_coa_id := NULL;
181766 l_adr_flexfield_segment_code := NULL;
181767 l_adr_flex_value_set_id := NULL;
181768 l_adr_value_type_code := NULL;
181769 l_adr_value_combination_id := NULL;
181770 l_adr_value_segment_code := NULL;
181771
181772 l_bflow_method_code := 'NONE'; -- 4219869 Business Flow
181773 l_bflow_class_code := ''; -- 4219869 Business Flow
181774 l_inherit_desc_flag := 'N'; -- 4219869 Business Flow
181775 l_budgetary_control_flag := 'N';
181776
181777 l_bflow_applied_to_amt_idx := NULL; -- 5132302
181778 l_bflow_applied_to_amt := NULL; -- 5132302
181779 l_entered_amt_idx := NULL; -- 4262811
181780 l_accted_amt_idx := NULL; -- 4262811
181781 l_acc_rev_flag := NULL; -- 4262811
181782 l_accrual_line_num := NULL; -- 4262811
181783 l_tmp_amt := NULL; -- 4262811
181784 --
181785
181786 IF XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id = XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id OR
181787 l_balance_type_code <> 'B' THEN
181788 IF NVL(p_source_21,'
181789 ') = 'AWT'
181790 THEN
181791
181792 --
181793 XLA_AE_LINES_PKG.SetNewLine;
181794
181795 p_balance_type_code := l_balance_type_code;
181796 -- set the flag so later we will know whether the gain loss line needs to be created
181797
181798 IF(l_balance_type_code = 'A' and p_actual_flag is null) THEN
181799 p_actual_flag :='A';
181800 END IF;
181801
181802 --
181803 -- bulk performance
181804 --
181805 XLA_AE_LINES_PKG.set_ae_header_id (p_ae_header_id => p_event_id ,
181809 --
181806 p_header_num => 0); -- 4262811
181807 --
181808 -- set accounting line options
181810 l_ae_header_id:= xla_ae_lines_pkg.SetAcctLineOption(
181811 p_natural_side_code => 'D'
181812 , p_gain_or_loss_flag => 'N'
181813 , p_gl_transfer_mode_code => 'S'
181814 , p_acct_entry_type_code => 'A'
181815 , p_switch_side_flag => 'Y'
181816 , p_merge_duplicate_code => 'A'
181817 );
181818 --
181819 l_acc_rev_natural_side_code := 'C'; -- 4262811
181820 --
181821 --
181822 -- set accounting line type info
181823 --
181824 xla_ae_lines_pkg.SetAcctLineType
181825 (p_component_type => l_component_type
181826 ,p_event_type_code => l_event_type_code
181827 ,p_line_definition_owner_code => l_line_definition_owner_code
181828 ,p_line_definition_code => l_line_definition_code
181829 ,p_accounting_line_code => l_component_code
181830 ,p_accounting_line_type_code => l_component_type_code
181831 ,p_accounting_line_appl_id => l_component_appl_id
181832 ,p_amb_context_code => l_amb_context_code
181833 ,p_entity_code => l_entity_code
181834 ,p_event_class_code => l_event_class_code);
181835 --
181836 -- set accounting class
181837 --
181838 xla_ae_lines_pkg.SetAcctClass(
181839 p_accounting_class_code => 'AWT'
181840 , p_ae_header_id => l_ae_header_id
181841 );
181842
181843 --
181844 -- set rounding class
181845 --
181846 XLA_AE_LINES_PKG.g_rec_lines.array_rounding_class(XLA_AE_LINES_PKG.g_LineNumber) :=
181847 'AWT';
181848
181849 --
181850 xla_ae_lines_pkg.g_rec_lines.array_calculate_acctd_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_acctd_flag;
181851 xla_ae_lines_pkg.g_rec_lines.array_calculate_g_l_flag(xla_ae_lines_pkg.g_LineNumber) := p_calculate_g_l_flag;
181852 --
181853 -- bulk performance
181854 --
181855 XLA_AE_LINES_PKG.g_rec_lines.array_balance_type_code(XLA_AE_LINES_PKG.g_LineNumber) := l_balance_type_code;
181856
181857 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_id(XLA_AE_LINES_PKG.g_LineNumber) :=
181858 XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id;
181859
181860 -- 4955764
181861 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
181862 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('header_index'));
181863
181864 -- 4458381 Public Sector Enh
181865
181866 --
181867 -- set accounting attributes for the line type
181868 --
181869 l_entered_amt_idx := 23;
181870 l_accted_amt_idx := 28;
181871 l_bflow_applied_to_amt_idx := NULL; -- 5132302
181872 l_rec_acct_attrs.array_acct_attr_code(1) := 'ACCOUNTING_REVERSAL_OPTION';
181873 l_rec_acct_attrs.array_char_value(1) := p_source_41;
181874 l_rec_acct_attrs.array_acct_attr_code(2) := 'ALLOC_TO_APPLICATION_ID';
181875 l_rec_acct_attrs.array_num_value(2) :=
181876 xla_ae_sources_pkg.GetSystemSourceNum(
181877 p_source_code => 'XLA_EVENT_APPL_ID'
181878 , p_source_type_code => 'Y'
181879 , p_source_application_id => 602
181880 );
181881 l_rec_acct_attrs.array_acct_attr_code(3) := 'ALLOC_TO_DISTRIBUTION_TYPE';
181882 l_rec_acct_attrs.array_char_value(3) := p_source_43;
181883 l_rec_acct_attrs.array_acct_attr_code(4) := 'ALLOC_TO_ENTITY_CODE';
181884 l_rec_acct_attrs.array_char_value(4) :=
181885 xla_ae_sources_pkg.GetSystemSourceChar(
181886 p_source_code => 'XLA_ENTITY_CODE'
181887 , p_source_type_code => 'Y'
181888 , p_source_application_id => 602
181889 );
181890 l_rec_acct_attrs.array_acct_attr_code(5) := 'ALLOC_TO_FIRST_DIST_ID';
181891 l_rec_acct_attrs.array_num_value(5) := to_char(p_source_45);
181892 l_rec_acct_attrs.array_acct_attr_code(6) := 'ALLOC_TO_FIRST_SYS_TRAN_ID';
181893 l_rec_acct_attrs.array_num_value(6) := to_char(p_source_46);
181894 l_rec_acct_attrs.array_acct_attr_code(7) := 'APPLIED_TO_APPLICATION_ID';
181895 l_rec_acct_attrs.array_num_value(7) := p_source_79;
181896 l_rec_acct_attrs.array_acct_attr_code(8) := 'APPLIED_TO_DISTRIBUTION_TYPE';
181897 l_rec_acct_attrs.array_char_value(8) := p_source_80;
181898 l_rec_acct_attrs.array_acct_attr_code(9) := 'APPLIED_TO_ENTITY_CODE';
181899 l_rec_acct_attrs.array_char_value(9) := p_source_81;
181900 l_rec_acct_attrs.array_acct_attr_code(10) := 'APPLIED_TO_FIRST_DIST_ID';
181901 l_rec_acct_attrs.array_num_value(10) := to_char(p_source_82);
181902 l_rec_acct_attrs.array_acct_attr_code(11) := 'APPLIED_TO_FIRST_SYS_TRAN_ID';
181903 l_rec_acct_attrs.array_num_value(11) := to_char(p_source_83);
181904 l_rec_acct_attrs.array_acct_attr_code(12) := 'DISTRIBUTION_IDENTIFIER_1';
181905 l_rec_acct_attrs.array_num_value(12) := to_char(p_source_52);
181906 l_rec_acct_attrs.array_acct_attr_code(13) := 'DISTRIBUTION_TYPE';
181907 l_rec_acct_attrs.array_char_value(13) := p_source_43;
181908 l_rec_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_CR_CCID';
181909 l_rec_acct_attrs.array_num_value(14) := p_source_53;
181910 l_rec_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_CR_ENTERED_AMT';
181911 l_rec_acct_attrs.array_num_value(15) := p_source_54;
181912 l_rec_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_CR_ENTERED_CURR';
181913 l_rec_acct_attrs.array_char_value(16) := p_source_55;
181914 l_rec_acct_attrs.array_acct_attr_code(17) := 'ENC_UPG_CR_LEDGER_AMT';
181918 l_rec_acct_attrs.array_acct_attr_code(19) := 'ENC_UPG_DR_ENTERED_AMT';
181915 l_rec_acct_attrs.array_num_value(17) := p_source_56;
181916 l_rec_acct_attrs.array_acct_attr_code(18) := 'ENC_UPG_DR_CCID';
181917 l_rec_acct_attrs.array_num_value(18) := p_source_57;
181919 l_rec_acct_attrs.array_num_value(19) := p_source_58;
181920 l_rec_acct_attrs.array_acct_attr_code(20) := 'ENC_UPG_DR_ENTERED_CURR';
181921 l_rec_acct_attrs.array_char_value(20) := p_source_55;
181922 l_rec_acct_attrs.array_acct_attr_code(21) := 'ENC_UPG_DR_LEDGER_AMT';
181923 l_rec_acct_attrs.array_num_value(21) := p_source_59;
181924 l_rec_acct_attrs.array_acct_attr_code(22) := 'ENC_UPG_OPTION';
181925 l_rec_acct_attrs.array_char_value(22) := p_source_60;
181926 l_rec_acct_attrs.array_acct_attr_code(23) := 'ENTERED_CURRENCY_AMOUNT';
181927 l_rec_acct_attrs.array_num_value(23) := p_source_61;
181928 l_rec_acct_attrs.array_acct_attr_code(24) := 'ENTERED_CURRENCY_CODE';
181929 l_rec_acct_attrs.array_char_value(24) := p_source_55;
181930 l_rec_acct_attrs.array_acct_attr_code(25) := 'EXCHANGE_DATE';
181931 l_rec_acct_attrs.array_date_value(25) := p_source_136;
181932 l_rec_acct_attrs.array_acct_attr_code(26) := 'EXCHANGE_RATE';
181933 l_rec_acct_attrs.array_num_value(26) := p_source_137;
181934 l_rec_acct_attrs.array_acct_attr_code(27) := 'EXCHANGE_RATE_TYPE';
181935 l_rec_acct_attrs.array_char_value(27) := p_source_138;
181936 l_rec_acct_attrs.array_acct_attr_code(28) := 'LEDGER_AMOUNT';
181937 l_rec_acct_attrs.array_num_value(28) := p_source_9;
181938 l_rec_acct_attrs.array_acct_attr_code(29) := 'MULTIPERIOD_END_DATE';
181939 l_rec_acct_attrs.array_date_value(29) := p_source_65;
181940 l_rec_acct_attrs.array_acct_attr_code(30) := 'MULTIPERIOD_OPTION';
181941 l_rec_acct_attrs.array_char_value(30) := p_source_66;
181942 l_rec_acct_attrs.array_acct_attr_code(31) := 'MULTIPERIOD_START_DATE';
181943 l_rec_acct_attrs.array_date_value(31) := p_source_67;
181944 l_rec_acct_attrs.array_acct_attr_code(32) := 'OVERRIDE_ACCTD_AMT_FLAG';
181945 l_rec_acct_attrs.array_char_value(32) := p_source_68;
181946 l_rec_acct_attrs.array_acct_attr_code(33) := 'PARTY_ID';
181947 l_rec_acct_attrs.array_num_value(33) := p_source_69;
181948 l_rec_acct_attrs.array_acct_attr_code(34) := 'PARTY_SITE_ID';
181949 l_rec_acct_attrs.array_num_value(34) := p_source_70;
181950 l_rec_acct_attrs.array_acct_attr_code(35) := 'PARTY_TYPE';
181951 l_rec_acct_attrs.array_char_value(35) := p_source_71;
181952 l_rec_acct_attrs.array_acct_attr_code(36) := 'REVERSED_DISTRIBUTION_ID1';
181953 l_rec_acct_attrs.array_num_value(36) := to_char(p_source_72);
181954 l_rec_acct_attrs.array_acct_attr_code(37) := 'REVERSED_DISTRIBUTION_TYPE';
181955 l_rec_acct_attrs.array_char_value(37) := p_source_43;
181956 l_rec_acct_attrs.array_acct_attr_code(38) := 'STATISTICAL_AMOUNT';
181957 l_rec_acct_attrs.array_num_value(38) := p_source_73;
181958 l_rec_acct_attrs.array_acct_attr_code(39) := 'TAX_LINE_REF_ID';
181959 l_rec_acct_attrs.array_num_value(39) := p_source_74;
181960 l_rec_acct_attrs.array_acct_attr_code(40) := 'TAX_REC_NREC_DIST_REF_ID';
181961 l_rec_acct_attrs.array_num_value(40) := p_source_75;
181962 l_rec_acct_attrs.array_acct_attr_code(41) := 'TAX_SUMMARY_LINE_REF_ID';
181963 l_rec_acct_attrs.array_num_value(41) := p_source_76;
181964 l_rec_acct_attrs.array_acct_attr_code(42) := 'UPG_CR_ENC_TYPE_ID';
181965 l_rec_acct_attrs.array_num_value(42) := p_source_77;
181966 l_rec_acct_attrs.array_acct_attr_code(43) := 'UPG_DR_ENC_TYPE_ID';
181967 l_rec_acct_attrs.array_num_value(43) := p_source_78;
181968
181969 XLA_AE_LINES_PKG.SetLineAcctAttrs(l_rec_acct_attrs);
181970 p_gain_or_loss_ref := XLA_AE_LINES_PKG.g_rec_lines.array_gain_or_loss_ref(XLA_AE_LINES_PKG.g_LineNumber);
181971
181972 ---------------------------------------------------------------------------------------------------------------
181973 -- 4336173 -- assign Business Flow Class (replace code in xla_ae_lines_pkg.Business_Flow_Validation)
181974 ---------------------------------------------------------------------------------------------------------------
181975 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := l_bflow_class_code;
181976
181977 l_actual_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_actual_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
181978 l_enc_upg_option := XLA_AE_LINES_PKG.g_rec_lines.array_enc_upg_option(XLA_AE_LINES_PKG.g_LineNumber);
181979
181980 IF xla_accounting_cache_pkg.GetValueChar
181981 (p_source_code => 'LEDGER_CATEGORY_CODE'
181982 ,p_target_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id) IN ('PRIMARY','ALC')
181983 AND l_bflow_method_code = 'PRIOR_ENTRY'
181984 -- AND (l_actual_upg_option = 'Y' OR l_enc_upg_option = 'Y') Bug 4922099
181985 AND ( (NVL(l_actual_upg_option, 'N') IN ('Y', 'O')) OR
181986 (NVL(l_enc_upg_option, 'N') IN ('Y', 'O'))
181987 )
181988 THEN
181989 xla_ae_lines_pkg.BflowUpgEntry
181990 (p_business_method_code => l_bflow_method_code
181991 ,p_business_class_code => l_bflow_class_code
181992 ,p_balance_type => l_balance_type_code);
181993 ELSE
181994 NULL;
181995 -- No business flow processing for business flow method of NONE.
181996 END IF;
181997
181998 --
181999 -- call analytical criteria
182000 --
182001
182002 --
182003 -- call description
182004 --
182005
182006 xla_ae_lines_pkg.SetLineDescription(
182007 p_ae_header_id => l_ae_header_id
182008 ,p_description => Description_2 (
182009 p_application_id => p_application_id
182010 , p_ae_header_id => l_ae_header_id
182014
182011 , p_source_1 => p_source_1
182012 )
182013 );
182015
182016 --
182017 -- call ADRs
182018 -- Bug 4922099
182019 --
182020 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
182021 (NVL(l_actual_upg_option, 'N') = 'O') OR
182022 (NVL(l_enc_upg_option, 'N') = 'O')
182023 )
182024 THEN
182025 NULL;
182026 --
182027 --
182028
182029 l_ccid := AcctDerRule_45(
182030 p_application_id => p_application_id
182031 , p_ae_header_id => l_ae_header_id
182032 , p_source_3 => p_source_3
182033 , p_source_3_meaning => p_source_3_meaning
182034 , p_source_18 => p_source_18
182035 , p_source_31 => p_source_31
182036 , x_transaction_coa_id => l_adr_transaction_coa_id
182037 , x_accounting_coa_id => l_adr_accounting_coa_id
182038 , x_value_type_code => l_adr_value_type_code
182039 , p_side => 'NA'
182040 );
182041
182042 xla_ae_lines_pkg.set_ccid(
182043 p_code_combination_id => l_ccid
182044 , p_value_type_code => l_adr_value_type_code
182045 , p_transaction_coa_id => l_adr_transaction_coa_id
182046 , p_accounting_coa_id => l_adr_accounting_coa_id
182047 , p_adr_code => 'AP_WH_DIST_ACCT'
182048 , p_adr_type_code => 'S'
182049 , p_component_type => l_component_type
182050 , p_component_code => l_component_code
182051 , p_component_type_code => l_component_type_code
182052 , p_component_appl_id => l_component_appl_id
182053 , p_amb_context_code => l_amb_context_code
182054 , p_side => 'NA'
182055 );
182056
182057
182058 l_segment := AcctDerRule_13(
182059 p_application_id => p_application_id
182060 , p_ae_header_id => l_ae_header_id
182061 , p_source_3 => p_source_3
182062 , p_source_3_meaning => p_source_3_meaning
182063 , p_source_18 => p_source_18
182064 , x_transaction_coa_id => l_adr_transaction_coa_id
182065 , x_accounting_coa_id => l_adr_accounting_coa_id
182066 , x_flexfield_segment_code => l_adr_flexfield_segment_code
182067 , x_flex_value_set_id => l_adr_flex_value_set_id
182068 , x_value_type_code => l_adr_value_type_code
182069 , x_value_combination_id => l_adr_value_combination_id
182070 , x_value_segment_code => l_adr_value_segment_code
182071 , p_side => 'NA'
182072 , p_override_seg_flag => 'Y'
182073 );
182074
182075 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
182076
182077 xla_ae_lines_pkg.set_segment(
182078 p_to_segment_code => 'GL_ACCOUNT'
182079 , p_segment_value => l_segment
182080 , p_from_segment_code => l_adr_value_segment_code
182081 , p_from_combination_id => l_adr_value_combination_id
182082 , p_value_type_code => l_adr_value_type_code
182083 , p_transaction_coa_id => l_adr_transaction_coa_id
182084 , p_accounting_coa_id => l_adr_accounting_coa_id
182085 , p_flexfield_segment_code => l_adr_flexfield_segment_code
182086 , p_flex_value_set_id => l_adr_flex_value_set_id
182087 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
182088 , p_adr_type_code => 'S'
182089 , p_component_type => l_component_type
182090 , p_component_code => l_component_code
182091 , p_component_type_code => l_component_type_code
182092 , p_component_appl_id => l_component_appl_id
182093 , p_amb_context_code => l_amb_context_code
182094 , p_entity_code => 'AP_INVOICES'
182095 , p_event_class_code => 'PREPAYMENTS'
182096 , p_side => 'NA'
182097 );
182098
182099 END IF;
182100
182101 l_segment := AcctDerRule_24(
182102 p_application_id => p_application_id
182103 , p_ae_header_id => l_ae_header_id
182104 , p_source_3 => p_source_3
182105 , p_source_3_meaning => p_source_3_meaning
182106 , p_source_31 => p_source_31
182107 , x_transaction_coa_id => l_adr_transaction_coa_id
182108 , x_accounting_coa_id => l_adr_accounting_coa_id
182109 , x_flexfield_segment_code => l_adr_flexfield_segment_code
182110 , x_flex_value_set_id => l_adr_flex_value_set_id
182111 , x_value_type_code => l_adr_value_type_code
182112 , x_value_combination_id => l_adr_value_combination_id
182113 , x_value_segment_code => l_adr_value_segment_code
182114 , p_side => 'NA'
182115 , p_override_seg_flag => 'Y'
182116 );
182117
182118 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
182119
182120 xla_ae_lines_pkg.set_segment(
182121 p_to_segment_code => 'GL_BALANCING'
182122 , p_segment_value => l_segment
182123 , p_from_segment_code => l_adr_value_segment_code
182124 , p_from_combination_id => l_adr_value_combination_id
182125 , p_value_type_code => l_adr_value_type_code
182126 , p_transaction_coa_id => l_adr_transaction_coa_id
182127 , p_accounting_coa_id => l_adr_accounting_coa_id
182131 , p_adr_type_code => 'S'
182128 , p_flexfield_segment_code => l_adr_flexfield_segment_code
182129 , p_flex_value_set_id => l_adr_flex_value_set_id
182130 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
182132 , p_component_type => l_component_type
182133 , p_component_code => l_component_code
182134 , p_component_type_code => l_component_type_code
182135 , p_component_appl_id => l_component_appl_id
182136 , p_amb_context_code => l_amb_context_code
182137 , p_entity_code => 'AP_INVOICES'
182138 , p_event_class_code => 'PREPAYMENTS'
182139 , p_side => 'NA'
182140 );
182141
182142 END IF;
182143
182144 --
182145 --
182146 END IF;
182147 --
182148 -- Bug 4922099
182149 IF ( ( (NVL(l_actual_upg_option, 'N') = 'O') OR
182150 (NVL(l_enc_upg_option, 'N') = 'O')
182151 ) AND
182152 (l_bflow_method_code = 'PRIOR_ENTRY')
182153 )
182154 THEN
182155 IF
182156 --
182157 1 = 2
182158 --
182159 THEN
182160 xla_accounting_err_pkg.build_message
182161 (p_appli_s_name => 'XLA'
182162 ,p_msg_name => 'XLA_UPG_OVERRIDE_ADR_UNDEFINED'
182163 ,p_token_1 => 'LINE_NUMBER'
182164 ,p_value_1 => XLA_AE_LINES_PKG.g_LineNumber
182165 ,p_token_2 => 'LINE_TYPE_NAME'
182166 ,p_value_2 => XLA_AE_SOURCES_PKG.GetComponentName (
182167 l_component_type
182168 ,l_component_code
182169 ,l_component_type_code
182170 ,l_component_appl_id
182171 ,l_amb_context_code
182172 ,l_entity_code
182173 ,l_event_class_code
182174 )
182175 ,p_token_3 => 'OWNER'
182176 ,p_value_3 => xla_lookups_pkg.get_meaning(
182177 p_lookup_type => 'XLA_OWNER_TYPE'
182178 ,p_lookup_code => l_component_type_code
182179 )
182180 ,p_token_4 => 'PRODUCT_NAME'
182181 ,p_value_4 => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.application_name
182182 ,p_entity_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.entity_id
182183 ,p_event_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.event_id
182184 ,p_ledger_id => XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id
182185 ,p_ae_header_id => NULL
182186 );
182187
182188 IF (C_LEVEL_ERROR>= g_log_level) THEN
182189 trace
182190 (p_msg => 'ERROR: XLA_UPG_OVERRIDE_ADR_UNDEFINED'
182191 ,p_level => C_LEVEL_ERROR
182192 ,p_module => l_log_module);
182193 END IF;
182194 END IF;
182195 END IF;
182196 --
182197 --
182198 ------------------------------------------------------------------------------------------------
182199 -- 4219869 Business Flow
182200 -- NOTE: XLA_AE_LINES_PKG.ValidateCurrentLine should NOT be generated if business flow method is
182201 -- Prior Entry. Currently, the following code is always generated.
182202 ------------------------------------------------------------------------------------------------
182203 XLA_AE_LINES_PKG.ValidateCurrentLine;
182204
182205 ------------------------------------------------------------------------------------
182206 -- 4219869 Business Flow
182207 -- Populated credit and debit amounts -- Need to generate this within IF <condition>
182208 ------------------------------------------------------------------------------------
182209 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
182210
182211 ----------------------------------------------------------------------------------
182212 -- 4219869 Business Flow
182213 -- Update journal entry status -- Need to generate this within IF <condition>
182214 ----------------------------------------------------------------------------------
182215 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
182216 (p_hdr_idx => g_array_event(p_event_id).array_value_num('header_index')
182217 ,p_balance_type_code => l_balance_type_code
182218 );
182219
182220 -------------------------------------------------------------------------------------------
182221 -- 4262811 - Generate the Accrual Reversal lines
182225 (g_array_event(p_event_id).array_value_num('header_index'));
182222 -------------------------------------------------------------------------------------------
182223 BEGIN
182224 l_acc_rev_flag := XLA_AE_HEADER_PKG.g_rec_header_new.array_accrual_reversal_flag
182226 IF l_acc_rev_flag IS NULL THEN
182227 l_acc_rev_flag := 'N';
182228 END IF;
182229 EXCEPTION
182230 WHEN OTHERS THEN
182231 l_acc_rev_flag := 'N';
182232 END;
182233 --
182234 IF (l_acc_rev_flag = 'Y') THEN
182235
182236 -- 4645092 ------------------------------------------------------------------------------
182237 -- To allow MPA report to determine if it should generate report process
182238 XLA_ACCOUNTING_PKG.g_mpa_accrual_exists := 'Y';
182239 ------------------------------------------------------------------------------------------
182240
182241 l_accrual_line_num := XLA_AE_LINES_PKG.g_LineNumber;
182242 XLA_AE_LINES_PKG.CopyLineInfo(l_accrual_line_num);
182243 -- added call to set_ccid to execute mapping for secondary accrual reversal entries bug 7444204
182244 -- call ADRs
182245 -- Bug 4922099
182246 --
182247 IF ( (l_bflow_method_code <> 'PRIOR_ENTRY') OR
182248 (NVL(l_actual_upg_option, 'N') = 'O') OR
182249 (NVL(l_enc_upg_option, 'N') = 'O')
182250 )
182251 THEN
182252 NULL;
182253 --
182254 --
182255
182256 l_ccid := AcctDerRule_45(
182257 p_application_id => p_application_id
182258 , p_ae_header_id => l_ae_header_id
182259 , p_source_3 => p_source_3
182260 , p_source_3_meaning => p_source_3_meaning
182261 , p_source_18 => p_source_18
182262 , p_source_31 => p_source_31
182263 , x_transaction_coa_id => l_adr_transaction_coa_id
182264 , x_accounting_coa_id => l_adr_accounting_coa_id
182265 , x_value_type_code => l_adr_value_type_code
182266 , p_side => 'NA'
182267 );
182268
182269 xla_ae_lines_pkg.set_ccid(
182270 p_code_combination_id => l_ccid
182271 , p_value_type_code => l_adr_value_type_code
182272 , p_transaction_coa_id => l_adr_transaction_coa_id
182273 , p_accounting_coa_id => l_adr_accounting_coa_id
182274 , p_adr_code => 'AP_WH_DIST_ACCT'
182275 , p_adr_type_code => 'S'
182276 , p_component_type => l_component_type
182277 , p_component_code => l_component_code
182278 , p_component_type_code => l_component_type_code
182279 , p_component_appl_id => l_component_appl_id
182280 , p_amb_context_code => l_amb_context_code
182281 , p_side => 'NA'
182282 );
182283
182284
182285 l_segment := AcctDerRule_13(
182286 p_application_id => p_application_id
182287 , p_ae_header_id => l_ae_header_id
182288 , p_source_3 => p_source_3
182289 , p_source_3_meaning => p_source_3_meaning
182290 , p_source_18 => p_source_18
182291 , x_transaction_coa_id => l_adr_transaction_coa_id
182292 , x_accounting_coa_id => l_adr_accounting_coa_id
182293 , x_flexfield_segment_code => l_adr_flexfield_segment_code
182294 , x_flex_value_set_id => l_adr_flex_value_set_id
182295 , x_value_type_code => l_adr_value_type_code
182296 , x_value_combination_id => l_adr_value_combination_id
182297 , x_value_segment_code => l_adr_value_segment_code
182298 , p_side => 'NA'
182299 , p_override_seg_flag => 'Y'
182300 );
182301
182302 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
182303
182304 xla_ae_lines_pkg.set_segment(
182305 p_to_segment_code => 'GL_ACCOUNT'
182306 , p_segment_value => l_segment
182307 , p_from_segment_code => l_adr_value_segment_code
182308 , p_from_combination_id => l_adr_value_combination_id
182309 , p_value_type_code => l_adr_value_type_code
182310 , p_transaction_coa_id => l_adr_transaction_coa_id
182311 , p_accounting_coa_id => l_adr_accounting_coa_id
182312 , p_flexfield_segment_code => l_adr_flexfield_segment_code
182313 , p_flex_value_set_id => l_adr_flex_value_set_id
182314 , p_adr_code => 'AP_INVOICE_DIST_NAT_ACCT_SEG'
182315 , p_adr_type_code => 'S'
182316 , p_component_type => l_component_type
182317 , p_component_code => l_component_code
182318 , p_component_type_code => l_component_type_code
182319 , p_component_appl_id => l_component_appl_id
182320 , p_amb_context_code => l_amb_context_code
182321 , p_entity_code => 'AP_INVOICES'
182322 , p_event_class_code => 'PREPAYMENTS'
182323 , p_side => 'NA'
182324 );
182325
182326 END IF;
182327
182328 l_segment := AcctDerRule_24(
182329 p_application_id => p_application_id
182330 , p_ae_header_id => l_ae_header_id
182331 , p_source_3 => p_source_3
182332 , p_source_3_meaning => p_source_3_meaning
182333 , p_source_31 => p_source_31
182334 , x_transaction_coa_id => l_adr_transaction_coa_id
182335 , x_accounting_coa_id => l_adr_accounting_coa_id
182336 , x_flexfield_segment_code => l_adr_flexfield_segment_code
182340 , x_value_segment_code => l_adr_value_segment_code
182337 , x_flex_value_set_id => l_adr_flex_value_set_id
182338 , x_value_type_code => l_adr_value_type_code
182339 , x_value_combination_id => l_adr_value_combination_id
182341 , p_side => 'NA'
182342 , p_override_seg_flag => 'Y'
182343 );
182344
182345 IF NVL(l_segment,'NULL') <> '#$NO_OVERRIDE#$' THEN -- 4465612
182346
182347 xla_ae_lines_pkg.set_segment(
182348 p_to_segment_code => 'GL_BALANCING'
182349 , p_segment_value => l_segment
182350 , p_from_segment_code => l_adr_value_segment_code
182351 , p_from_combination_id => l_adr_value_combination_id
182352 , p_value_type_code => l_adr_value_type_code
182353 , p_transaction_coa_id => l_adr_transaction_coa_id
182354 , p_accounting_coa_id => l_adr_accounting_coa_id
182355 , p_flexfield_segment_code => l_adr_flexfield_segment_code
182356 , p_flex_value_set_id => l_adr_flex_value_set_id
182357 , p_adr_code => 'AP_WH_RELATED_DIST_BAL_SEG'
182358 , p_adr_type_code => 'S'
182359 , p_component_type => l_component_type
182360 , p_component_code => l_component_code
182361 , p_component_type_code => l_component_type_code
182362 , p_component_appl_id => l_component_appl_id
182363 , p_amb_context_code => l_amb_context_code
182364 , p_entity_code => 'AP_INVOICES'
182365 , p_event_class_code => 'PREPAYMENTS'
182366 , p_side => 'NA'
182367 );
182368
182369 END IF;
182370
182371 --
182372 --
182373 END IF;
182374
182375 --
182376 -- Update the line information that should be overwritten
182377 --
182378 XLA_AE_LINES_PKG.set_ae_header_id(p_ae_header_id => p_event_id ,
182379 p_header_num => 1);
182380 XLA_AE_LINES_PKG.g_rec_lines.array_header_num(XLA_AE_LINES_PKG.g_LineNumber) :=1;
182381
182382 XLA_AE_LINES_PKG.g_rec_lines.array_business_class_code(XLA_AE_LINES_PKG.g_LineNumber) := NULL; -- 4669271
182383
182384 IF l_bflow_method_code <> 'NONE' THEN -- 4655713b
182385 XLA_AE_LINES_PKG.g_rec_lines.array_reversal_code(XLA_AE_LINES_PKG.g_LineNumber) := CONCAT('MPA_',l_bflow_method_code);
182386 END IF;
182387
182388 --
182389 -- Depending on the Reversal Method setup, do a switch side or changes sign for the amounts
182390 --
182391 IF (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_reversal_option = 'SIDE') THEN
182392 XLA_AE_LINES_PKG.g_rec_lines.array_natural_side_code(XLA_AE_LINES_PKG.g_LineNumber) := l_acc_rev_natural_side_code;
182393 ELSE
182394 ---------------------------------------------------------------------------------------------------
182395 -- 4262811a Switch Sign
182396 ---------------------------------------------------------------------------------------------------
182397 XLA_AE_LINES_PKG.g_rec_lines.array_switch_side_flag(XLA_AE_LINES_PKG.g_LineNumber) := 'N'; -- 5052518
182398 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
182399 XLA_AE_LINES_PKG.g_rec_lines.array_ledger_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
182400 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) :=
182401 XLA_AE_LINES_PKG.g_rec_lines.array_entered_amount(XLA_AE_LINES_PKG.g_LineNumber) * -1;
182402 -- 5132302
182403 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) :=
182404 XLA_AE_LINES_PKG.g_rec_lines.array_bflow_applied_to_amt(XLA_AE_LINES_PKG.g_LineNumber) * -1;
182405
182406 END IF;
182407
182408 -- 4955764
182409 XLA_AE_LINES_PKG.g_rec_lines.array_gl_date(XLA_AE_LINES_PKG.g_LineNumber) :=
182410 XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(g_array_event(p_event_id).array_value_num('acc_rev_header_index'));
182411
182412
182413 XLA_AE_LINES_PKG.ValidateCurrentLine;
182414 XLA_AE_LINES_PKG.SetDebitCreditAmounts;
182415
182416 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus
182417 (p_hdr_idx => g_array_event(p_event_id).array_value_num('acc_rev_header_index')
182418 ,p_balance_type_code => l_balance_type_code);
182419
182420 END IF;
182421
182422 -----------------------------------------------------------------------------------------
182423 -- 4262811 Multiperiod Accounting
182424 -----------------------------------------------------------------------------------------
182425 -- No MPA option is assigned.
182426
182427
182428 END IF;
182429 END IF;
182430 --
182431
182432 --
182433 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
182434 trace
182435 (p_msg => 'END of AcctLineType_290'
182436 ,p_level => C_LEVEL_PROCEDURE
182437 ,p_module => l_log_module);
182438 END IF;
182439 --
182440 EXCEPTION
182441 WHEN xla_exceptions_pkg.application_exception THEN
182442 RAISE;
182443 WHEN OTHERS THEN
182444 xla_exceptions_pkg.raise_message
182445 (p_location => 'XLA_00200_AAD_S_000006_PKG.AcctLineType_290');
182446 END AcctLineType_290;
182447 --
182448
182449 ---------------------------------------
182450 --
182451 -- PRIVATE PROCEDURE
182452 -- insert_sources_291
182453 --
182454 ----------------------------------------
182455 --
182459 , p_sla_ledger_id IN NUMBER
182456 PROCEDURE insert_sources_291(
182457 p_target_ledger_id IN NUMBER
182458 , p_language IN VARCHAR2
182460 , p_pad_start_date IN DATE
182461 , p_pad_end_date IN DATE
182462 )
182463 IS
182464
182465 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
182466 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
182467 p_apps_owner VARCHAR2(30);
182468 l_log_module VARCHAR2(240);
182469 BEGIN
182470 IF g_log_enabled THEN
182471 l_log_module := C_DEFAULT_MODULE||'.insert_sources_291';
182472 END IF;
182473 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
182474
182475 trace
182476 (p_msg => 'BEGIN of insert_sources_291'
182477 ,p_level => C_LEVEL_PROCEDURE
182478 ,p_module => l_log_module);
182479
182480 END IF;
182481
182482 -- select APPS owner
182483 SELECT oracle_username
182484 INTO p_apps_owner
182485 FROM fnd_oracle_userid
182486 WHERE read_only_flag = 'U'
182487 ;
182488
182489 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
182490 trace
182491 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
182492 ' - p_language = '||p_language||
182493 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
182494 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
182495 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
182496 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
182497 ,p_level => C_LEVEL_STATEMENT
182498 ,p_module => l_log_module);
182499 END IF;
182500
182501
182502 --
182503 INSERT INTO xla_diag_sources --hdr2
182504 (
182505 event_id
182506 , ledger_id
182507 , sla_ledger_id
182508 , description_language
182509 , object_name
182510 , object_type_code
182511 , line_number
182512 , source_application_id
182513 , source_type_code
182514 , source_code
182515 , source_value
182516 , source_meaning
182517 , created_by
182518 , creation_date
182519 , last_update_date
182520 , last_updated_by
182521 , last_update_login
182522 , program_update_date
182523 , program_application_id
182524 , program_id
182525 , request_id
182526 )
182527 SELECT
182528 event_id
182529 , p_target_ledger_id
182530 , p_sla_ledger_id
182531 , p_language
182532 , object_name
182533 , object_type_code
182534 , line_number
182535 , source_application_id
182536 , source_type_code
182537 , source_code
182538 , SUBSTR(source_value ,1,1996)
182539 , SUBSTR(source_meaning ,1,200)
182540 , xla_environment_pkg.g_Usr_Id
182541 , TRUNC(SYSDATE)
182542 , TRUNC(SYSDATE)
182543 , xla_environment_pkg.g_Usr_Id
182544 , xla_environment_pkg.g_Login_Id
182545 , TRUNC(SYSDATE)
182546 , xla_environment_pkg.g_Prog_Appl_Id
182547 , xla_environment_pkg.g_Prog_Id
182548 , xla_environment_pkg.g_Req_Id
182549 FROM (
182550 SELECT xet.event_id event_id
182551 , 0 line_number
182552 , CASE r
182553 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
182554 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
182555 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
182556 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182557 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
182558 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
182559 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182560 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182561 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182562 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182563 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182564 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
182565 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182566 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182567 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182568 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182569 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182570 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182571 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
182572
182573 ELSE null
182574 END object_name
182575 , CASE r
182576 WHEN 1 THEN 'HEADER'
182577 WHEN 2 THEN 'HEADER'
182578 WHEN 3 THEN 'HEADER'
182579 WHEN 4 THEN 'HEADER'
182580 WHEN 5 THEN 'HEADER'
182581 WHEN 6 THEN 'HEADER'
182582 WHEN 7 THEN 'HEADER'
182583 WHEN 8 THEN 'HEADER'
182584 WHEN 9 THEN 'HEADER'
182585 WHEN 10 THEN 'HEADER'
182586 WHEN 11 THEN 'HEADER'
182587 WHEN 12 THEN 'HEADER'
182588 WHEN 13 THEN 'HEADER'
182589 WHEN 14 THEN 'HEADER'
182593 WHEN 18 THEN 'HEADER'
182590 WHEN 15 THEN 'HEADER'
182591 WHEN 16 THEN 'HEADER'
182592 WHEN 17 THEN 'HEADER'
182594 WHEN 19 THEN 'HEADER'
182595
182596 ELSE null
182597 END object_type_code
182598 , CASE r
182599 WHEN 1 THEN '200'
182600 WHEN 2 THEN '200'
182601 WHEN 3 THEN '200'
182602 WHEN 4 THEN '200'
182603 WHEN 5 THEN '200'
182604 WHEN 6 THEN '200'
182605 WHEN 7 THEN '200'
182606 WHEN 8 THEN '200'
182607 WHEN 9 THEN '200'
182608 WHEN 10 THEN '200'
182609 WHEN 11 THEN '200'
182610 WHEN 12 THEN '200'
182611 WHEN 13 THEN '200'
182612 WHEN 14 THEN '200'
182613 WHEN 15 THEN '200'
182614 WHEN 16 THEN '200'
182615 WHEN 17 THEN '200'
182616 WHEN 18 THEN '200'
182617 WHEN 19 THEN '200'
182618
182619 ELSE null
182620 END source_application_id
182621 , 'S' source_type_code
182622 , CASE r
182623 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
182624 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
182625 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
182626 WHEN 4 THEN 'AI_ACCTS_PAY_CCID'
182627 WHEN 5 THEN 'FSP_RETAINAGE_ACCOUNT'
182628 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
182629 WHEN 7 THEN 'AI_INVOICE_ID'
182630 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
182631 WHEN 9 THEN 'AI_VENDOR_ID'
182632 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
182633 WHEN 11 THEN 'THIRD_PARTY_TYPE'
182634 WHEN 12 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
182635 WHEN 13 THEN 'INV_EXCHANGE_DATE'
182636 WHEN 14 THEN 'INV_EXCHANGE_RATE'
182637 WHEN 15 THEN 'INV_EXCHANGE_RATE_TYPE'
182638 WHEN 16 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
182639 WHEN 17 THEN 'INV_DOC_SEQUENCE_CATEGORY'
182640 WHEN 18 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
182641 WHEN 19 THEN 'INV_DOC_SEQUENCE_VALUE'
182642
182643 ELSE null
182644 END source_code
182645 , CASE r
182646 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
182647 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
182648 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
182649 WHEN 4 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
182650 WHEN 5 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
182651 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
182652 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
182653 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
182654 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
182655 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
182656 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
182657 WHEN 12 THEN TO_CHAR(h4.FSP_PURCH_ENCUMBRANCE_FLAG)
182658 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
182659 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
182660 WHEN 15 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
182661 WHEN 16 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
182662 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
182663 WHEN 18 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
182664 WHEN 19 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
182665
182666 ELSE null
182667 END source_value
182668 , CASE r
182669 WHEN 1 THEN fvl3.meaning
182670 WHEN 6 THEN fvl35.meaning
182671 WHEN 12 THEN fvl86.meaning
182672 WHEN 16 THEN fvl159.meaning
182673
182674 ELSE null
182675 END source_meaning
182676 FROM xla_events_gt xet
182677 , AP_INVOICE_EXTRACT_HEADER_V h2
182678 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
182679 , fnd_lookup_values fvl3
182680 , fnd_lookup_values fvl35
182681 , fnd_lookup_values fvl86
182682 , fnd_lookup_values fvl159
182683 ,(select rownum r from all_objects where rownum <= 19 and owner = p_apps_owner)
182684 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
182685 AND xet.event_class_code = C_EVENT_CLASS_CODE
182686 AND h2.event_id = xet.event_id
182687 AND h4.asp_org_id = h2.ai_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
182688 AND fvl3.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
182689 AND fvl3.view_application_id(+) = 200
182690 AND fvl3.language(+) = USERENV('LANG')
182691 AND fvl35.lookup_type(+) = 'YES_NO'
182692 AND fvl35.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
182693 AND fvl35.view_application_id(+) = 0
182694 AND fvl35.language(+) = USERENV('LANG')
182695 AND fvl86.lookup_type(+) = 'YES_NO'
182696 AND fvl86.lookup_code(+) = h4.FSP_PURCH_ENCUMBRANCE_FLAG
182697 AND fvl86.view_application_id(+) = 0
182701 AND fvl159.view_application_id(+) = 200
182698 AND fvl86.language(+) = USERENV('LANG')
182699 AND fvl159.lookup_type(+) = 'INVOICE TYPE'
182700 AND fvl159.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
182702 AND fvl159.language(+) = USERENV('LANG')
182703
182704 )
182705 ;
182706 --
182707 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
182708
182709 trace
182710 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
182711 ,p_level => C_LEVEL_STATEMENT
182712 ,p_module => l_log_module);
182713
182714 END IF;
182715 --
182716
182717
182718
182719 --
182720 INSERT INTO xla_diag_sources --line2
182721 (
182722 event_id
182723 , ledger_id
182724 , sla_ledger_id
182725 , description_language
182726 , object_name
182727 , object_type_code
182728 , line_number
182729 , source_application_id
182730 , source_type_code
182731 , source_code
182732 , source_value
182733 , source_meaning
182734 , created_by
182735 , creation_date
182736 , last_update_date
182737 , last_updated_by
182738 , last_update_login
182739 , program_update_date
182740 , program_application_id
182741 , program_id
182742 , request_id
182743 )
182744 SELECT event_id
182745 , p_target_ledger_id
182746 , p_sla_ledger_id
182747 , p_language
182748 , object_name
182749 , object_type_code
182750 , line_number
182751 , source_application_id
182752 , source_type_code
182753 , source_code
182754 , SUBSTR(source_value,1,1996)
182755 , SUBSTR(source_meaning ,1,200)
182756 , xla_environment_pkg.g_Usr_Id
182757 , TRUNC(SYSDATE)
182758 , TRUNC(SYSDATE)
182759 , xla_environment_pkg.g_Usr_Id
182760 , xla_environment_pkg.g_Login_Id
182761 , TRUNC(SYSDATE)
182762 , xla_environment_pkg.g_Prog_Appl_Id
182763 , xla_environment_pkg.g_Prog_Id
182764 , xla_environment_pkg.g_Req_Id
182765 FROM (
182766 SELECT xet.event_id event_id
182767 , l1.line_number line_number
182768 , CASE r
182769 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182770 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182771 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182772 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182773 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182774 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182775 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182776 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182777 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182778 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182779 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182780 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182781 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182782 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182783 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182784 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182785 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182786 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182787 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182788 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182789 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182790 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182791 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182792 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182793 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182794 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182795 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
182796 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
182797 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
182798 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182799 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182800 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182801 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182802 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182803 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182804 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
182805 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
182806 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182807 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182808 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182809 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182810 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182811 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182812 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182813 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182814 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182815 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182816 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182817 WHEN 49 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182818 WHEN 50 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182819 WHEN 51 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182820 WHEN 52 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182824 ELSE null
182821 WHEN 53 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182822 WHEN 54 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
182823
182825 END object_name
182826 , CASE r
182827 WHEN 1 THEN 'LINE'
182828 WHEN 2 THEN 'LINE'
182829 WHEN 3 THEN 'LINE'
182830 WHEN 4 THEN 'LINE'
182831 WHEN 5 THEN 'LINE'
182832 WHEN 6 THEN 'LINE'
182833 WHEN 7 THEN 'LINE'
182834 WHEN 8 THEN 'LINE'
182835 WHEN 9 THEN 'LINE'
182836 WHEN 10 THEN 'LINE'
182837 WHEN 11 THEN 'LINE'
182838 WHEN 12 THEN 'LINE'
182839 WHEN 13 THEN 'LINE'
182840 WHEN 14 THEN 'LINE'
182841 WHEN 15 THEN 'LINE'
182842 WHEN 16 THEN 'LINE'
182843 WHEN 17 THEN 'LINE'
182844 WHEN 18 THEN 'LINE'
182845 WHEN 19 THEN 'LINE'
182846 WHEN 20 THEN 'LINE'
182847 WHEN 21 THEN 'LINE'
182848 WHEN 22 THEN 'LINE'
182849 WHEN 23 THEN 'LINE'
182850 WHEN 24 THEN 'LINE'
182851 WHEN 25 THEN 'LINE'
182852 WHEN 26 THEN 'LINE'
182853 WHEN 27 THEN 'LINE'
182854 WHEN 28 THEN 'LINE'
182855 WHEN 29 THEN 'LINE'
182856 WHEN 30 THEN 'LINE'
182857 WHEN 31 THEN 'LINE'
182858 WHEN 32 THEN 'LINE'
182859 WHEN 33 THEN 'LINE'
182860 WHEN 34 THEN 'LINE'
182861 WHEN 35 THEN 'LINE'
182862 WHEN 36 THEN 'LINE'
182863 WHEN 37 THEN 'LINE'
182864 WHEN 38 THEN 'LINE'
182865 WHEN 39 THEN 'LINE'
182866 WHEN 40 THEN 'LINE'
182867 WHEN 41 THEN 'LINE'
182868 WHEN 42 THEN 'LINE'
182869 WHEN 43 THEN 'LINE'
182870 WHEN 44 THEN 'LINE'
182871 WHEN 45 THEN 'LINE'
182872 WHEN 46 THEN 'LINE'
182873 WHEN 47 THEN 'LINE'
182874 WHEN 48 THEN 'LINE'
182875 WHEN 49 THEN 'LINE'
182876 WHEN 50 THEN 'LINE'
182877 WHEN 51 THEN 'LINE'
182878 WHEN 52 THEN 'LINE'
182879 WHEN 53 THEN 'LINE'
182880 WHEN 54 THEN 'LINE'
182881
182882 ELSE null
182883 END object_type_code
182884 , CASE r
182885 WHEN 1 THEN '200'
182886 WHEN 2 THEN '200'
182887 WHEN 3 THEN '200'
182888 WHEN 4 THEN '200'
182889 WHEN 5 THEN '200'
182890 WHEN 6 THEN '200'
182891 WHEN 7 THEN '200'
182892 WHEN 8 THEN '200'
182893 WHEN 9 THEN '200'
182894 WHEN 10 THEN '200'
182895 WHEN 11 THEN '200'
182896 WHEN 12 THEN '200'
182897 WHEN 13 THEN '200'
182898 WHEN 14 THEN '200'
182899 WHEN 15 THEN '200'
182900 WHEN 16 THEN '200'
182901 WHEN 17 THEN '200'
182902 WHEN 18 THEN '200'
182903 WHEN 19 THEN '200'
182904 WHEN 20 THEN '200'
182905 WHEN 21 THEN '200'
182906 WHEN 22 THEN '200'
182907 WHEN 23 THEN '200'
182908 WHEN 24 THEN '200'
182909 WHEN 25 THEN '200'
182910 WHEN 26 THEN '200'
182911 WHEN 27 THEN '200'
182912 WHEN 28 THEN '200'
182913 WHEN 29 THEN '200'
182914 WHEN 30 THEN '200'
182915 WHEN 31 THEN '200'
182916 WHEN 32 THEN '200'
182917 WHEN 33 THEN '200'
182918 WHEN 34 THEN '200'
182919 WHEN 35 THEN '200'
182920 WHEN 36 THEN '200'
182921 WHEN 37 THEN '200'
182922 WHEN 38 THEN '200'
182923 WHEN 39 THEN '200'
182924 WHEN 40 THEN '200'
182925 WHEN 41 THEN '200'
182926 WHEN 42 THEN '200'
182927 WHEN 43 THEN '200'
182928 WHEN 44 THEN '200'
182929 WHEN 45 THEN '200'
182930 WHEN 46 THEN '200'
182931 WHEN 47 THEN '200'
182932 WHEN 48 THEN '200'
182933 WHEN 49 THEN '200'
182934 WHEN 50 THEN '200'
182935 WHEN 51 THEN '200'
182936 WHEN 52 THEN '200'
182937 WHEN 53 THEN '200'
182938 WHEN 54 THEN '200'
182939
182940 ELSE null
182941 END source_application_id
182942 , 'S' source_type_code
182943 , CASE r
182944 WHEN 1 THEN 'AID_DESCRIPTION'
182945 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
182946 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
182947 WHEN 4 THEN 'AID_DIST_CCID'
182951 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
182948 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
182949 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
182950 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
182952 WHEN 9 THEN 'ASAT_LIAB_CCID'
182953 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
182954 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
182955 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
182956 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
182957 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
182958 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
182959 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
182960 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
182961 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
182962 WHEN 19 THEN 'UPG_ENC_CR_CCID'
182963 WHEN 20 THEN 'UPG_ENC_CR_AMT'
182964 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
182965 WHEN 22 THEN 'UPG_ENC_DR_CCID'
182966 WHEN 23 THEN 'UPG_ENC_DR_AMT'
182967 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
182968 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
182969 WHEN 26 THEN 'AID_AMOUNT'
182970 WHEN 27 THEN 'POH_RATE_DATE'
182971 WHEN 28 THEN 'POH_RATE'
182972 WHEN 29 THEN 'POH_RATE_TYPE'
182973 WHEN 30 THEN 'DEFERRED_END_DATE'
182974 WHEN 31 THEN 'DEFERRED_OPTION'
182975 WHEN 32 THEN 'DEFERRED_START_DATE'
182976 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
182977 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
182978 WHEN 35 THEN 'AID_STAT_AMOUNT'
182979 WHEN 36 THEN 'TAX_LINE_ID'
182980 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
182981 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
182982 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
182983 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
182984 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
182985 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
182986 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
182987 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
182988 WHEN 45 THEN 'BUS_FLOW_INV_ID'
182989 WHEN 46 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
182990 WHEN 47 THEN 'AID_AMOUNT_VARIANCE'
182991 WHEN 48 THEN 'AID_ENCUMBERED_FLAG'
182992 WHEN 49 THEN 'AID_BASE_AMOUNT_VARIANCE'
182993 WHEN 50 THEN 'SELF_ASSESSED_TAX_FLAG'
182994 WHEN 51 THEN 'ENCUMBRANCE_AMOUNT'
182995 WHEN 52 THEN 'ENCUMBRANCE_BASE_AMOUNT'
182996 WHEN 53 THEN 'AID_QUANTITY_VARIANCE'
182997 WHEN 54 THEN 'AID_BASE_QUANTITY_VARIANCE'
182998
182999 ELSE null
183000 END source_code
183001 , CASE r
183002 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
183003 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
183004 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
183005 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
183006 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
183007 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
183008 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
183009 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
183010 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
183011 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
183012 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
183013 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
183014 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
183015 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
183016 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
183017 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
183018 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
183019 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
183020 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
183021 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
183022 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
183023 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
183024 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
183025 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
183026 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
183027 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
183028 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
183029 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
183030 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
183031 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
183032 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
183033 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
183034 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
183035 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
183036 WHEN 35 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
183037 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
183038 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
183039 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
183040 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
183041 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
183042 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
183046 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
183043 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
183044 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
183045 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
183047 WHEN 46 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
183048 WHEN 47 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
183049 WHEN 48 THEN TO_CHAR(l1.AID_ENCUMBERED_FLAG)
183050 WHEN 49 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
183051 WHEN 50 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
183052 WHEN 51 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
183053 WHEN 52 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
183054 WHEN 53 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
183055 WHEN 54 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
183056
183057 ELSE null
183058 END source_value
183059 , CASE r
183060 WHEN 3 THEN fvl10.meaning
183061 WHEN 5 THEN fvl21.meaning
183062 WHEN 33 THEN fvl68.meaning
183063 WHEN 46 THEN fvl84.meaning
183064 WHEN 48 THEN fvl87.meaning
183065 WHEN 50 THEN fvl135.meaning
183066
183067 ELSE null
183068 END source_meaning
183069 FROM xla_events_gt xet
183070 , AP_INVOICE_EXTRACT_DETAILS_V l1
183071 , AP_PO_HEADERS_EXTRACT_V l3
183072 , ZX_AP_DEF_TAX_EXTRACT_V l5
183073 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
183074 , fnd_lookup_values fvl10
183075 , fnd_lookup_values fvl21
183076 , fnd_lookup_values fvl68
183077 , fnd_lookup_values fvl84
183078 , fnd_lookup_values fvl87
183079 , fnd_lookup_values fvl135
183080 , (select rownum r from all_objects where rownum <= 54 and owner = p_apps_owner)
183081 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
183082 AND xet.event_class_code = C_EVENT_CLASS_CODE
183083 AND l1.event_id = xet.event_id
183084 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl10.lookup_type(+) = 'DESTINATION TYPE'
183085 AND fvl10.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
183086 AND fvl10.view_application_id(+) = 201
183087 AND fvl10.language(+) = USERENV('LANG')
183088 AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
183089 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
183090 AND fvl21.view_application_id(+) = 200
183091 AND fvl21.language(+) = USERENV('LANG')
183092 AND fvl68.lookup_type(+) = 'YES_NO'
183093 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
183094 AND fvl68.view_application_id(+) = 0
183095 AND fvl68.language(+) = USERENV('LANG')
183096 AND fvl84.lookup_type(+) = 'YES_NO'
183097 AND fvl84.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
183098 AND fvl84.view_application_id(+) = 0
183099 AND fvl84.language(+) = USERENV('LANG')
183100 AND fvl87.lookup_type(+) = 'YES_NO'
183101 AND fvl87.lookup_code(+) = l1.AID_ENCUMBERED_FLAG
183102 AND fvl87.view_application_id(+) = 0
183103 AND fvl87.language(+) = USERENV('LANG')
183104 AND fvl135.lookup_type(+) = 'YES_NO'
183105 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
183106 AND fvl135.view_application_id(+) = 0
183107 AND fvl135.language(+) = USERENV('LANG')
183108
183109 )
183110 ;
183111 --
183112 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
183113
183114 trace
183115 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
183116 ,p_level => C_LEVEL_STATEMENT
183117 ,p_module => l_log_module);
183118
183119 END IF;
183120
183121
183122 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
183123 trace
183124 (p_msg => 'END of insert_sources_291'
183125 ,p_level => C_LEVEL_PROCEDURE
183126 ,p_module => l_log_module);
183127 END IF;
183128 EXCEPTION
183129 WHEN xla_exceptions_pkg.application_exception THEN
183130 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
183131 trace
183132 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
183133 ,p_level => C_LEVEL_EXCEPTION
183134 ,p_module => l_log_module);
183135 END IF;
183136 RAISE;
183137 WHEN OTHERS THEN
183138 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
183139 trace
183140 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
183141 ,p_level => C_LEVEL_EXCEPTION
183142 ,p_module => l_log_module);
183143 END IF;
183144 xla_exceptions_pkg.raise_message
183145 (p_location => 'XLA_00200_AAD_S_000006_PKG.insert_sources_291');
183146 END insert_sources_291;
183147 --
183148
183149 ---------------------------------------
183150 --
183151 -- PRIVATE FUNCTION
183152 -- EventClass_291
183153 --
183154 ----------------------------------------
183155 --
183156 FUNCTION EventClass_291
183157 (p_application_id IN NUMBER
183158 ,p_base_ledger_id IN NUMBER
183159 ,p_target_ledger_id IN NUMBER
183160 ,p_language IN VARCHAR2
183164 ,p_pad_end_date IN DATE
183161 ,p_currency_code IN VARCHAR2
183162 ,p_sla_ledger_id IN NUMBER
183163 ,p_pad_start_date IN DATE
183165 ,p_primary_ledger_id IN NUMBER)
183166 RETURN BOOLEAN IS
183167 --
183168 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS_ALL';
183169 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'CREDIT MEMOS';
183170
183171 l_calculate_acctd_flag VARCHAR2(1) :='N';
183172 l_calculate_g_l_flag VARCHAR2(1) :='N';
183173 --
183174 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183175 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183176 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
183177 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
183178 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183179 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
183180 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
183181 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183182 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
183183 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
183184 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183185 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183186 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183187 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
183188 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
183189 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
183190 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
183191 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
183192 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
183193 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
183194 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
183195 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
183196 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
183197 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
183198 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
183199 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
183200
183201 l_event_id NUMBER;
183202 l_previous_event_id NUMBER;
183203 l_first_event_id NUMBER;
183204 l_last_event_id NUMBER;
183205
183206 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
183207 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
183208 --
183209 --
183210 l_result BOOLEAN := TRUE;
183211 l_rows NUMBER := 1000;
183212 l_event_type_name VARCHAR2(80) := 'All';
183213 l_event_class_name VARCHAR2(80) := 'Credit Memos';
183214 l_description VARCHAR2(4000);
183215 l_transaction_reversal NUMBER;
183216 l_ae_header_id NUMBER;
183217 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
183218 l_log_module VARCHAR2(240);
183219 --
183220 l_acct_reversal_source VARCHAR2(30);
183221 l_trx_reversal_source VARCHAR2(30);
183222
183223 l_continue_with_lines BOOLEAN := TRUE;
183224 --
183225 l_acc_rev_gl_date_source DATE; -- 4262811
183226 --
183227 type t_array_event_id is table of number index by binary_integer;
183228
183229 l_rec_array_event t_rec_array_event;
183230 l_null_rec_array_event t_rec_array_event;
183231 l_array_ae_header_id xla_number_array_type;
183232 l_actual_flag VARCHAR2(1) := NULL;
183233 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
183234 l_balance_type_code VARCHAR2(1) :=NULL;
183235 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
183236
183237 --
183238 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
183239 --
183240
183241 TYPE t_array_source_3 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
183242 TYPE t_array_source_8 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
183243 TYPE t_array_source_11 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
183244 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
183245 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
183246 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
183247 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
183248 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
183249 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
183250 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
183251 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
183255 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
183252 TYPE t_array_source_86 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
183253 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
183254 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
183256 TYPE t_array_source_159 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
183257 TYPE t_array_source_165 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
183258 TYPE t_array_source_166 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
183259 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
183260
183261 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
183262 TYPE t_array_source_9 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
183263 TYPE t_array_source_10 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
183264 TYPE t_array_source_18 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
183265 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
183266 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
183267 TYPE t_array_source_31 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
183268 TYPE t_array_source_38 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
183269 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
183270 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
183271 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
183272 TYPE t_array_source_45 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
183273 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
183274 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
183275 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
183276 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
183277 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
183278 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
183279 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
183280 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
183281 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
183282 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
183283 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
183284 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
183285 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
183286 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
183287 TYPE t_array_source_62 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
183288 TYPE t_array_source_63 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
183289 TYPE t_array_source_64 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
183290 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
183291 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
183292 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
183293 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
183294 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
183295 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
183296 TYPE t_array_source_74 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
183297 TYPE t_array_source_75 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
183298 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
183299 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
183300 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
183301 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
183302 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
183303 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
183307 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
183304 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
183305 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
183306 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
183308 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_ENCUMBERED_FLAG%TYPE INDEX BY BINARY_INTEGER;
183309 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
183310 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
183311 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
183312 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
183313 TYPE t_array_source_161 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
183314 TYPE t_array_source_162 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
183315
183316 l_array_source_3 t_array_source_3;
183317 l_array_source_3_meaning t_array_lookup_meaning;
183318 l_array_source_8 t_array_source_8;
183319 l_array_source_11 t_array_source_11;
183320 l_array_source_22 t_array_source_22;
183321 l_array_source_28 t_array_source_28;
183322 l_array_source_35 t_array_source_35;
183323 l_array_source_35_meaning t_array_lookup_meaning;
183324 l_array_source_46 t_array_source_46;
183325 l_array_source_55 t_array_source_55;
183326 l_array_source_69 t_array_source_69;
183327 l_array_source_70 t_array_source_70;
183328 l_array_source_71 t_array_source_71;
183329 l_array_source_86 t_array_source_86;
183330 l_array_source_86_meaning t_array_lookup_meaning;
183331 l_array_source_136 t_array_source_136;
183332 l_array_source_137 t_array_source_137;
183333 l_array_source_138 t_array_source_138;
183334 l_array_source_159 t_array_source_159;
183335 l_array_source_159_meaning t_array_lookup_meaning;
183336 l_array_source_165 t_array_source_165;
183337 l_array_source_166 t_array_source_166;
183338 l_array_source_167 t_array_source_167;
183339
183340 l_array_source_1 t_array_source_1;
183341 l_array_source_9 t_array_source_9;
183342 l_array_source_10 t_array_source_10;
183343 l_array_source_10_meaning t_array_lookup_meaning;
183344 l_array_source_18 t_array_source_18;
183345 l_array_source_21 t_array_source_21;
183346 l_array_source_21_meaning t_array_lookup_meaning;
183347 l_array_source_30 t_array_source_30;
183348 l_array_source_31 t_array_source_31;
183349 l_array_source_38 t_array_source_38;
183350 l_array_source_39 t_array_source_39;
183351 l_array_source_41 t_array_source_41;
183352 l_array_source_43 t_array_source_43;
183353 l_array_source_45 t_array_source_45;
183354 l_array_source_47 t_array_source_47;
183355 l_array_source_48 t_array_source_48;
183356 l_array_source_49 t_array_source_49;
183357 l_array_source_50 t_array_source_50;
183358 l_array_source_51 t_array_source_51;
183359 l_array_source_52 t_array_source_52;
183360 l_array_source_53 t_array_source_53;
183361 l_array_source_54 t_array_source_54;
183362 l_array_source_56 t_array_source_56;
183363 l_array_source_57 t_array_source_57;
183364 l_array_source_58 t_array_source_58;
183365 l_array_source_59 t_array_source_59;
183366 l_array_source_60 t_array_source_60;
183367 l_array_source_61 t_array_source_61;
183368 l_array_source_62 t_array_source_62;
183369 l_array_source_63 t_array_source_63;
183370 l_array_source_64 t_array_source_64;
183371 l_array_source_65 t_array_source_65;
183372 l_array_source_66 t_array_source_66;
183373 l_array_source_67 t_array_source_67;
183374 l_array_source_68 t_array_source_68;
183375 l_array_source_68_meaning t_array_lookup_meaning;
183376 l_array_source_72 t_array_source_72;
183377 l_array_source_73 t_array_source_73;
183378 l_array_source_74 t_array_source_74;
183379 l_array_source_75 t_array_source_75;
183380 l_array_source_76 t_array_source_76;
183381 l_array_source_77 t_array_source_77;
183382 l_array_source_78 t_array_source_78;
183383 l_array_source_79 t_array_source_79;
183384 l_array_source_80 t_array_source_80;
183385 l_array_source_81 t_array_source_81;
183386 l_array_source_82 t_array_source_82;
183387 l_array_source_83 t_array_source_83;
183388 l_array_source_84 t_array_source_84;
183389 l_array_source_84_meaning t_array_lookup_meaning;
183390 l_array_source_85 t_array_source_85;
183391 l_array_source_87 t_array_source_87;
183392 l_array_source_87_meaning t_array_lookup_meaning;
183393 l_array_source_88 t_array_source_88;
183394 l_array_source_135 t_array_source_135;
183395 l_array_source_135_meaning t_array_lookup_meaning;
183396 l_array_source_143 t_array_source_143;
183397 l_array_source_144 t_array_source_144;
183398 l_array_source_161 t_array_source_161;
183399 l_array_source_162 t_array_source_162;
183400
183401 --
183402 CURSOR header_cur
183403 IS
183404 SELECT /*+ leading(xet) cardinality(xet,1) */
183408 ,xet.entity_code
183405 -- Event Class Code: CREDIT MEMOS
183406 xet.entity_id
183407 ,xet.legal_entity_id
183409 ,xet.transaction_number
183410 ,xet.event_id
183411 ,xet.event_class_code
183412 ,xet.event_type_code
183413 ,xet.event_number
183414 ,xet.event_date
183415 ,xet.transaction_date
183416 ,xet.reference_num_1
183417 ,xet.reference_num_2
183418 ,xet.reference_num_3
183419 ,xet.reference_num_4
183420 ,xet.reference_char_1
183421 ,xet.reference_char_2
183422 ,xet.reference_char_3
183423 ,xet.reference_char_4
183424 ,xet.reference_date_1
183425 ,xet.reference_date_2
183426 ,xet.reference_date_3
183427 ,xet.reference_date_4
183428 ,xet.event_created_by
183429 ,xet.budgetary_control_flag
183430 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_3
183431 , fvl3.meaning source_3_meaning
183432 , h4.ASP_RATE_VAR_GAIN_CCID source_8
183433 , h4.ASP_RATE_VAR_LOSS_CCID source_11
183434 , h2.AI_ACCTS_PAY_CCID source_22
183435 , h4.FSP_RETAINAGE_ACCOUNT source_28
183436 , h4.ASP_AUTO_OFFSET_FLAG source_35
183437 , fvl35.meaning source_35_meaning
183438 , h2.AI_INVOICE_ID source_46
183439 , h2.AI_INVOICE_CURRENCY_CODE source_55
183440 , h2.AI_VENDOR_ID source_69
183441 , h2.AI_VENDOR_SITE_ID source_70
183442 , h2.THIRD_PARTY_TYPE source_71
183443 , h4.FSP_PURCH_ENCUMBRANCE_FLAG source_86
183444 , fvl86.meaning source_86_meaning
183445 , h2.INV_EXCHANGE_DATE source_136
183446 , h2.INV_EXCHANGE_RATE source_137
183447 , h2.INV_EXCHANGE_RATE_TYPE source_138
183448 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_159
183449 , fvl159.meaning source_159_meaning
183450 , h2.INV_DOC_SEQUENCE_CATEGORY source_165
183451 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_166
183452 , h2.INV_DOC_SEQUENCE_VALUE source_167
183453 FROM xla_events_gt xet
183454 , AP_INVOICE_EXTRACT_HEADER_V h2
183455 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
183456 , fnd_lookup_values fvl3
183457 , fnd_lookup_values fvl35
183458 , fnd_lookup_values fvl86
183459 , fnd_lookup_values fvl159
183460 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
183461 and xet.event_class_code = C_EVENT_CLASS_CODE
183462 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
183463 AND h4.asp_org_id = h2.ai_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
183464 AND fvl3.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
183465 AND fvl3.view_application_id(+) = 200
183466 AND fvl3.language(+) = USERENV('LANG')
183467 AND fvl35.lookup_type(+) = 'YES_NO'
183468 AND fvl35.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
183469 AND fvl35.view_application_id(+) = 0
183470 AND fvl35.language(+) = USERENV('LANG')
183471 AND fvl86.lookup_type(+) = 'YES_NO'
183472 AND fvl86.lookup_code(+) = h4.FSP_PURCH_ENCUMBRANCE_FLAG
183473 AND fvl86.view_application_id(+) = 0
183474 AND fvl86.language(+) = USERENV('LANG')
183475 AND fvl159.lookup_type(+) = 'INVOICE TYPE'
183476 AND fvl159.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
183477 AND fvl159.view_application_id(+) = 200
183478 AND fvl159.language(+) = USERENV('LANG')
183479
183480 ORDER BY event_id
183481 ;
183482
183483
183484 --
183485 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
183486 IS
183487 SELECT /*+ leading(xet) cardinality(xet,1) */
183488 -- Event Class Code: CREDIT MEMOS
183489 xet.entity_id
183490 ,xet.legal_entity_id
183491 ,xet.entity_code
183492 ,xet.transaction_number
183493 ,xet.event_id
183494 ,xet.event_class_code
183495 ,xet.event_type_code
183496 ,xet.event_number
183497 ,xet.event_date
183498 ,xet.transaction_date
183499 ,xet.reference_num_1
183500 ,xet.reference_num_2
183501 ,xet.reference_num_3
183502 ,xet.reference_num_4
183503 ,xet.reference_char_1
183504 ,xet.reference_char_2
183505 ,xet.reference_char_3
183506 ,xet.reference_char_4
183507 ,xet.reference_date_1
183508 ,xet.reference_date_2
183509 ,xet.reference_date_3
183510 ,xet.reference_date_4
183511 ,xet.event_created_by
183512 ,xet.budgetary_control_flag
183513 , l1.LINE_NUMBER
183514 , l1.AID_DESCRIPTION source_1
183515 , l1.INV_DIST_BASE_AMOUNT source_9
183516 , l1.RELATED_INV_DIST_DEST_TYPE source_10
183517 , fvl10.meaning source_10_meaning
183518 , l1.AID_DIST_CCID source_18
183519 , l1.AID_LINE_TYPE_LOOKUP_CODE source_21
183520 , fvl21.meaning source_21_meaning
183521 , l1.AID_RET_RELATED_DIST_CCID source_30
183522 , l1.AWT_RELATED_DIST_ACCOUNT source_31
183523 , l1.SELF_ASSESSED_TAX_ACCOUNT source_38
183524 , l1.ASAT_LIAB_CCID source_39
183525 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_41
183526 , l1.DISTRIBUTION_LINK_TYPE source_43
183527 , l1.ALLOC_TO_MAIN_DIST_ID source_45
183528 , l1.BUS_FLOW_PO_APP_ID source_47
183529 , l1.BUS_FLOW_PO_DIST_TYPE source_48
183530 , l1.BUS_FLOW_PO_ENTITY_CODE source_49
183531 , l1.BUS_FLOW_PO_DIST_ID source_50
183532 , l1.BUS_FLOW_PO_DOC_ID source_51
183533 , l1.AID_INVOICE_DIST_ID source_52
183534 , l1.UPG_ENC_CR_CCID source_53
183535 , l1.UPG_ENC_CR_AMT source_54
183536 , l1.UPG_ENC_CR_BASE_AMT source_56
183537 , l1.UPG_ENC_DR_CCID source_57
183538 , l1.UPG_ENC_DR_AMT source_58
183539 , l1.UPG_ENC_DR_BASE_AMT source_59
183540 , l1.UPG_AP_ENCUM_OPTION source_60
183544 , l3.POH_RATE_TYPE source_64
183541 , l1.AID_AMOUNT source_61
183542 , l3.POH_RATE_DATE source_62
183543 , l3.POH_RATE source_63
183545 , l1.DEFERRED_END_DATE source_65
183546 , l1.DEFERRED_OPTION source_66
183547 , l1.DEFERRED_START_DATE source_67
183548 , l1.OVERRIDE_ACCTD_AMT_FLAG source_68
183549 , fvl68.meaning source_68_meaning
183550 , l1.AID_PARENT_REVERSAL_ID source_72
183551 , l1.AID_STAT_AMOUNT source_73
183552 , l5.TAX_LINE_ID source_74
183553 , l6.REC_NREC_TAX_DIST_ID source_75
183554 , l1.SUMMARY_TAX_LINE_ID source_76
183555 , l1.UPG_CR_ENC_TYPE_ID source_77
183556 , l1.UPG_DR_ENC_TYPE_ID source_78
183557 , l1.BUS_FLOW_AP_APP_ID source_79
183558 , l1.BUS_FLOW_INV_DIST_TYPE source_80
183559 , l1.BUS_FLOW_INV_ENTITY_CODE source_81
183560 , l1.BUS_FLOW_INV_DIST_ID source_82
183561 , l1.BUS_FLOW_INV_ID source_83
183562 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_84
183563 , fvl84.meaning source_84_meaning
183564 , l1.AID_AMOUNT_VARIANCE source_85
183565 , l1.AID_ENCUMBERED_FLAG source_87
183566 , fvl87.meaning source_87_meaning
183567 , l1.AID_BASE_AMOUNT_VARIANCE source_88
183568 , l1.SELF_ASSESSED_TAX_FLAG source_135
183569 , fvl135.meaning source_135_meaning
183570 , l1.ENCUMBRANCE_AMOUNT source_143
183571 , l1.ENCUMBRANCE_BASE_AMOUNT source_144
183572 , l1.AID_QUANTITY_VARIANCE source_161
183573 , l1.AID_BASE_QUANTITY_VARIANCE source_162
183574 FROM xla_events_gt xet
183575 , AP_INVOICE_EXTRACT_DETAILS_V l1
183576 , AP_PO_HEADERS_EXTRACT_V l3
183577 , ZX_AP_DEF_TAX_EXTRACT_V l5
183578 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
183579 , fnd_lookup_values fvl10
183580 , fnd_lookup_values fvl21
183581 , fnd_lookup_values fvl68
183582 , fnd_lookup_values fvl84
183583 , fnd_lookup_values fvl87
183584 , fnd_lookup_values fvl135
183585 WHERE xet.event_id between x_first_event_id and x_last_event_id
183586 and xet.event_date between p_pad_start_date and p_pad_end_date
183587 and xet.event_class_code = C_EVENT_CLASS_CODE
183588 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
183589 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl10.lookup_type(+) = 'DESTINATION TYPE'
183590 AND fvl10.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
183591 AND fvl10.view_application_id(+) = 201
183592 AND fvl10.language(+) = USERENV('LANG')
183593 AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
183594 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
183595 AND fvl21.view_application_id(+) = 200
183596 AND fvl21.language(+) = USERENV('LANG')
183597 AND fvl68.lookup_type(+) = 'YES_NO'
183598 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
183599 AND fvl68.view_application_id(+) = 0
183600 AND fvl68.language(+) = USERENV('LANG')
183601 AND fvl84.lookup_type(+) = 'YES_NO'
183602 AND fvl84.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
183603 AND fvl84.view_application_id(+) = 0
183604 AND fvl84.language(+) = USERENV('LANG')
183605 AND fvl87.lookup_type(+) = 'YES_NO'
183606 AND fvl87.lookup_code(+) = l1.AID_ENCUMBERED_FLAG
183607 AND fvl87.view_application_id(+) = 0
183608 AND fvl87.language(+) = USERENV('LANG')
183609 AND fvl135.lookup_type(+) = 'YES_NO'
183610 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
183611 AND fvl135.view_application_id(+) = 0
183612 AND fvl135.language(+) = USERENV('LANG')
183613 ;
183614
183615 --
183616 BEGIN
183617 IF g_log_enabled THEN
183618 l_log_module := C_DEFAULT_MODULE||'.EventClass_291';
183619 END IF;
183620 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
183621 trace
183622 (p_msg => 'BEGIN of EventClass_291'
183623 ,p_level => C_LEVEL_PROCEDURE
183624 ,p_module => l_log_module);
183625 END IF;
183626
183627 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
183628 trace
183629 (p_msg => 'p_application_id = '||p_application_id||
183630 ' - p_base_ledger_id = '||p_base_ledger_id||
183631 ' - p_target_ledger_id = '||p_target_ledger_id||
183632 ' - p_language = '||p_language||
183633 ' - p_currency_code = '||p_currency_code||
183634 ' - p_sla_ledger_id = '||p_sla_ledger_id
183635 ,p_level => C_LEVEL_STATEMENT
183636 ,p_module => l_log_module);
183637 END IF;
183638 --
183639 -- initialze arrays
183640 --
183641 g_array_event.DELETE;
183642 l_rec_array_event := l_null_rec_array_event;
183643 --
183644 --------------------------------------
183645 -- 4262811 Initialze MPA Line Number
183646 --------------------------------------
183647 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
183648
183649 --
183650
183651 --
183652 OPEN header_cur;
183653 --
183654 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
183655 trace
183656 (p_msg => 'SQL - FETCH header_cur'
183657 ,p_level => C_LEVEL_STATEMENT
183658 ,p_module => l_log_module);
183659 END IF;
183660 --
183661 LOOP
183662 FETCH header_cur BULK COLLECT INTO
183663 l_array_entity_id
183664 , l_array_legal_entity_id
183665 , l_array_entity_code
183666 , l_array_transaction_num
183670 , l_array_event_number
183667 , l_array_event_id
183668 , l_array_class_code
183669 , l_array_event_type
183671 , l_array_event_date
183672 , l_array_transaction_date
183673 , l_array_reference_num_1
183674 , l_array_reference_num_2
183675 , l_array_reference_num_3
183676 , l_array_reference_num_4
183677 , l_array_reference_char_1
183678 , l_array_reference_char_2
183679 , l_array_reference_char_3
183680 , l_array_reference_char_4
183681 , l_array_reference_date_1
183682 , l_array_reference_date_2
183683 , l_array_reference_date_3
183684 , l_array_reference_date_4
183685 , l_array_event_created_by
183686 , l_array_budgetary_control_flag
183687 , l_array_source_3
183688 , l_array_source_3_meaning
183689 , l_array_source_8
183690 , l_array_source_11
183691 , l_array_source_22
183692 , l_array_source_28
183693 , l_array_source_35
183694 , l_array_source_35_meaning
183695 , l_array_source_46
183696 , l_array_source_55
183697 , l_array_source_69
183698 , l_array_source_70
183699 , l_array_source_71
183700 , l_array_source_86
183701 , l_array_source_86_meaning
183702 , l_array_source_136
183703 , l_array_source_137
183704 , l_array_source_138
183705 , l_array_source_159
183706 , l_array_source_159_meaning
183707 , l_array_source_165
183708 , l_array_source_166
183709 , l_array_source_167
183710 LIMIT l_rows;
183711 --
183712 IF (C_LEVEL_EVENT >= g_log_level) THEN
183713 trace
183714 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
183715 ,p_level => C_LEVEL_EVENT
183716 ,p_module => l_log_module);
183717 END IF;
183718 --
183719 EXIT WHEN l_array_entity_id.COUNT = 0;
183720
183721 -- initialize arrays
183722 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
183723 XLA_AE_LINES_PKG.g_rec_lines := NULL;
183724
183725 --
183726 -- Bug 4458708
183727 --
183728 XLA_AE_LINES_PKG.g_LineNumber := 0;
183729
183730
183731 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
183732 g_last_hdr_idx := l_array_event_id.LAST;
183733 --
183734 -- loop for the headers. Each iteration is for each header extract row
183735 -- fetched in header cursor
183736 --
183737 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
183738
183739 --
183740 -- set event info as cache for other routines to refer event attributes
183741 --
183742 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
183743 (p_application_id => p_application_id
183744 ,p_primary_ledger_id => p_primary_ledger_id
183745 ,p_base_ledger_id => p_base_ledger_id
183746 ,p_target_ledger_id => p_target_ledger_id
183747 ,p_entity_id => l_array_entity_id(hdr_idx)
183748 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
183749 ,p_entity_code => l_array_entity_code(hdr_idx)
183750 ,p_transaction_num => l_array_transaction_num(hdr_idx)
183751 ,p_event_id => l_array_event_id(hdr_idx)
183752 ,p_event_class_code => l_array_class_code(hdr_idx)
183753 ,p_event_type_code => l_array_event_type(hdr_idx)
183754 ,p_event_number => l_array_event_number(hdr_idx)
183755 ,p_event_date => l_array_event_date(hdr_idx)
183756 ,p_transaction_date => l_array_transaction_date(hdr_idx)
183757 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
183758 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
183759 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
183760 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
183761 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
183762 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
183763 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
183764 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
183765 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
183766 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
183767 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
183768 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
183769 ,p_event_created_by => l_array_event_created_by(hdr_idx)
183770 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
183771
183772 --
183773 -- set the status of entry to C_VALID (0)
183774 --
183775 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
183776
183777 --
183778 -- initialize a row for ae header
183779 --
183780 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
183781
183782 l_event_id := l_array_event_id(hdr_idx);
183783
183784 --
183785 -- storing the hdr_idx for event. May be used by line cursor.
183786 --
183787 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
183788
183789 --
183790 -- store sources from header extract. This can be improved to
183791 -- store only those sources from header extract that may be used in lines
183792 --
183793
183794 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
183795 g_array_event(l_event_id).array_value_char('source_3_meaning') := l_array_source_3_meaning(hdr_idx);
183799 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
183796 g_array_event(l_event_id).array_value_num('source_8') := l_array_source_8(hdr_idx);
183797 g_array_event(l_event_id).array_value_num('source_11') := l_array_source_11(hdr_idx);
183798 g_array_event(l_event_id).array_value_num('source_22') := l_array_source_22(hdr_idx);
183800 g_array_event(l_event_id).array_value_char('source_35') := l_array_source_35(hdr_idx);
183801 g_array_event(l_event_id).array_value_char('source_35_meaning') := l_array_source_35_meaning(hdr_idx);
183802 g_array_event(l_event_id).array_value_num('source_46') := l_array_source_46(hdr_idx);
183803 g_array_event(l_event_id).array_value_char('source_55') := l_array_source_55(hdr_idx);
183804 g_array_event(l_event_id).array_value_num('source_69') := l_array_source_69(hdr_idx);
183805 g_array_event(l_event_id).array_value_num('source_70') := l_array_source_70(hdr_idx);
183806 g_array_event(l_event_id).array_value_char('source_71') := l_array_source_71(hdr_idx);
183807 g_array_event(l_event_id).array_value_char('source_86') := l_array_source_86(hdr_idx);
183808 g_array_event(l_event_id).array_value_char('source_86_meaning') := l_array_source_86_meaning(hdr_idx);
183809 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
183810 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
183811 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
183812 g_array_event(l_event_id).array_value_char('source_159') := l_array_source_159(hdr_idx);
183813 g_array_event(l_event_id).array_value_char('source_159_meaning') := l_array_source_159_meaning(hdr_idx);
183814 g_array_event(l_event_id).array_value_char('source_165') := l_array_source_165(hdr_idx);
183815 g_array_event(l_event_id).array_value_num('source_166') := l_array_source_166(hdr_idx);
183816 g_array_event(l_event_id).array_value_num('source_167') := l_array_source_167(hdr_idx);
183817
183818 --
183819 -- initilaize the status of ae headers for diffrent balance types
183820 -- the status is initialised to C_NOT_CREATED (2)
183821 --
183822 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
183823 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
183824 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
183825
183826 --
183827 -- call api to validate and store accounting attributes for header
183828 --
183829
183830 ------------------------------------------------------------
183831 -- Accrual Reversal : to get date for Standard Source (NONE)
183832 ------------------------------------------------------------
183833 l_acc_rev_gl_date_source := NULL;
183834
183835 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
183836 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_165');
183837 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
183838 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_166');
183839 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
183840 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_167');
183841 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
183842 l_rec_acct_attrs.array_date_value(4) :=
183843 xla_ae_sources_pkg.GetSystemSourceDate(
183844 p_source_code => 'XLA_EVENT_DATE'
183845 , p_source_type_code => 'Y'
183846 , p_source_application_id => 602
183847 );
183848
183849
183850 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
183851
183852 XLA_AE_HEADER_PKG.SetJeCategoryName;
183853
183854 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
183855 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
183856 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
183857 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
183858 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
183859
183860
183861 --
183862 xla_ae_header_pkg.SetHdrDescription(
183863 p_description => Description_1 (
183864 p_application_id => p_application_id
183865 )
183866 );
183867 --
183868
183869 -- No header level analytical criteria
183870
183871 --
183872 --accounting attribute enhancement, bug 3612931
183873 --
183874 l_trx_reversal_source := SUBSTR(NULL, 1,30);
183875
183876 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
183877 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
183878
183879 xla_accounting_err_pkg.build_message
183880 (p_appli_s_name => 'XLA'
183881 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
183882 ,p_token_1 => 'ACCT_ATTR_NAME'
183883 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
183884 ,p_token_2 => 'PRODUCT_NAME'
183885 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
183886 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
183887 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
183888 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
183889
183893 -- accounting for a distributeion
183890 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
183891 --
183892 -- following sets the accounting attributes needed to reverse
183894 --
183895 xla_ae_lines_pkg.SetTrxReversalAttrs
183896 (p_event_id => l_event_id
183897 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
183898 ,p_trx_reversal_source => l_trx_reversal_source);
183899
183900 END IF;
183901
183902
183903 ----------------------------------------------------------------
183904 -- 4262811 - update the header statuses to invalid in need be
183905 ----------------------------------------------------------------
183906 --
183907 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
183908
183909
183910 -----------------------------------------------
183911 -- No accrual reversal for the event class/type
183912 -----------------------------------------------
183913 ----------------------------------------------------------------
183914
183915 --
183916 -- this ends the header loop iteration for one bulk fetch
183917 --
183918 END LOOP;
183919
183920 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
183921 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
183922
183923 --
183924 -- insert dummy rows into lines gt table that were created due to
183925 -- transaction reversals
183926 --
183927 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
183928 l_result := XLA_AE_LINES_PKG.InsertLines;
183929 END IF;
183930
183931 --
183932 -- reset the temp_line_num for each set of events fetched from header
183933 -- cursor rather than doing it for each new event in line cursor
183934 -- Bug 3939231
183935 --
183936 xla_ae_lines_pkg.g_temp_line_num := 0;
183937
183938
183939
183940 --
183941 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
183942 --
183943 --
183944 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
183945
183946 trace
183947 (p_msg => 'SQL - FETCH line_cur'
183948 ,p_level => C_LEVEL_STATEMENT
183949 ,p_module => l_log_module);
183950
183951 END IF;
183952 --
183953 --
183954 LOOP
183955 --
183956 FETCH line_cur BULK COLLECT INTO
183957 l_array_entity_id
183958 , l_array_legal_entity_id
183959 , l_array_entity_code
183960 , l_array_transaction_num
183961 , l_array_event_id
183962 , l_array_class_code
183963 , l_array_event_type
183964 , l_array_event_number
183965 , l_array_event_date
183966 , l_array_transaction_date
183967 , l_array_reference_num_1
183968 , l_array_reference_num_2
183969 , l_array_reference_num_3
183970 , l_array_reference_num_4
183971 , l_array_reference_char_1
183972 , l_array_reference_char_2
183973 , l_array_reference_char_3
183974 , l_array_reference_char_4
183975 , l_array_reference_date_1
183976 , l_array_reference_date_2
183977 , l_array_reference_date_3
183978 , l_array_reference_date_4
183979 , l_array_event_created_by
183980 , l_array_budgetary_control_flag
183981 , l_array_extract_line_num
183982 , l_array_source_1
183983 , l_array_source_9
183984 , l_array_source_10
183985 , l_array_source_10_meaning
183986 , l_array_source_18
183987 , l_array_source_21
183988 , l_array_source_21_meaning
183989 , l_array_source_30
183990 , l_array_source_31
183991 , l_array_source_38
183992 , l_array_source_39
183993 , l_array_source_41
183994 , l_array_source_43
183995 , l_array_source_45
183996 , l_array_source_47
183997 , l_array_source_48
183998 , l_array_source_49
183999 , l_array_source_50
184000 , l_array_source_51
184001 , l_array_source_52
184002 , l_array_source_53
184003 , l_array_source_54
184004 , l_array_source_56
184005 , l_array_source_57
184006 , l_array_source_58
184007 , l_array_source_59
184008 , l_array_source_60
184009 , l_array_source_61
184010 , l_array_source_62
184011 , l_array_source_63
184012 , l_array_source_64
184013 , l_array_source_65
184014 , l_array_source_66
184015 , l_array_source_67
184016 , l_array_source_68
184017 , l_array_source_68_meaning
184018 , l_array_source_72
184019 , l_array_source_73
184020 , l_array_source_74
184021 , l_array_source_75
184022 , l_array_source_76
184023 , l_array_source_77
184024 , l_array_source_78
184025 , l_array_source_79
184026 , l_array_source_80
184027 , l_array_source_81
184028 , l_array_source_82
184029 , l_array_source_83
184030 , l_array_source_84
184031 , l_array_source_84_meaning
184032 , l_array_source_85
184033 , l_array_source_87
184034 , l_array_source_87_meaning
184035 , l_array_source_88
184036 , l_array_source_135
184037 , l_array_source_135_meaning
184038 , l_array_source_143
184039 , l_array_source_144
184040 , l_array_source_161
184041 , l_array_source_162
184042 LIMIT l_rows;
184043
184044 --
184045 IF (C_LEVEL_EVENT >= g_log_level) THEN
184046 trace
184050 END IF;
184047 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
184048 ,p_level => C_LEVEL_EVENT
184049 ,p_module => l_log_module);
184051 --
184052 EXIT WHEN l_array_entity_id.count = 0;
184053
184054 XLA_AE_LINES_PKG.g_rec_lines := null;
184055
184056 --
184057 -- Bug 4458708
184058 --
184059 XLA_AE_LINES_PKG.g_LineNumber := 0;
184060 --
184061 --
184062
184063 FOR Idx IN 1..l_array_event_id.count LOOP
184064 --
184065 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
184066 --
184067 l_event_id := l_array_event_id(idx); -- 5648433
184068
184069 --
184070 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
184071 --
184072
184073 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
184074 (g_array_event(l_event_id).array_value_num('header_index'))
184075 ,'N'
184076 ) <> 'Y'
184077 THEN
184078 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
184079 trace
184080 (p_msg => 'Trancaction revesal option is not Y '
184081 ,p_level => C_LEVEL_STATEMENT
184082 ,p_module => l_log_module);
184083 END IF;
184084
184085 --
184086 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
184087 --
184088 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
184089 --
184090 -- set event info as cache for other routines to refer event attributes
184091 --
184092
184093 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
184094 l_previous_event_id := l_event_id;
184095
184096 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
184097 (p_application_id => p_application_id
184098 ,p_primary_ledger_id => p_primary_ledger_id
184099 ,p_base_ledger_id => p_base_ledger_id
184100 ,p_target_ledger_id => p_target_ledger_id
184101 ,p_entity_id => l_array_entity_id(Idx)
184102 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
184103 ,p_entity_code => l_array_entity_code(Idx)
184104 ,p_transaction_num => l_array_transaction_num(Idx)
184105 ,p_event_id => l_array_event_id(Idx)
184106 ,p_event_class_code => l_array_class_code(Idx)
184107 ,p_event_type_code => l_array_event_type(Idx)
184108 ,p_event_number => l_array_event_number(Idx)
184109 ,p_event_date => l_array_event_date(Idx)
184110 ,p_transaction_date => l_array_transaction_date(Idx)
184111 ,p_reference_num_1 => l_array_reference_num_1(Idx)
184112 ,p_reference_num_2 => l_array_reference_num_2(Idx)
184113 ,p_reference_num_3 => l_array_reference_num_3(Idx)
184114 ,p_reference_num_4 => l_array_reference_num_4(Idx)
184115 ,p_reference_char_1 => l_array_reference_char_1(Idx)
184116 ,p_reference_char_2 => l_array_reference_char_2(Idx)
184117 ,p_reference_char_3 => l_array_reference_char_3(Idx)
184118 ,p_reference_char_4 => l_array_reference_char_4(Idx)
184119 ,p_reference_date_1 => l_array_reference_date_1(Idx)
184120 ,p_reference_date_2 => l_array_reference_date_2(Idx)
184121 ,p_reference_date_3 => l_array_reference_date_3(Idx)
184122 ,p_reference_date_4 => l_array_reference_date_4(Idx)
184123 ,p_event_created_by => l_array_event_created_by(Idx)
184124 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
184125 --
184126 END IF;
184127
184128
184129
184130 --
184131 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
184132
184133 l_acct_reversal_source := SUBSTR(l_array_source_41(Idx), 1,30);
184134
184135 IF l_continue_with_lines THEN
184136 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
184137 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
184138
184139 xla_accounting_err_pkg.build_message
184140 (p_appli_s_name => 'XLA'
184141 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
184142 ,p_token_1 => 'LINE_NUMBER'
184143 ,p_value_1 => l_array_extract_line_num(Idx)
184144 ,p_token_2 => 'PRODUCT_NAME'
184145 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
184146 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
184147 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
184148 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
184149
184150 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
184151 --
184152 -- following sets the accounting attributes needed to reverse
184153 -- accounting for a distributeion
184154 --
184155
184156 --
184157 -- 5217187
184158 --
184159 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
184160 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
184161 g_array_event(l_event_id).array_value_num('header_index'));
184162 --
184163 --
184164
184165 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
184169 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
184166 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_41(Idx);
184167 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
184168 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_52(Idx);
184170 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_43(Idx);
184171 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
184172 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_53(Idx);
184173 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
184174 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_54(Idx);
184175 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
184176 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_55');
184177 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
184178 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_56(Idx);
184179 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
184180 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_57(Idx);
184181 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
184182 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_58(Idx);
184183 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
184184 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_55');
184185 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
184186 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_59(Idx);
184187 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
184188 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_60(Idx);
184189 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
184190 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_71');
184191 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
184192 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_72(Idx);
184193 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
184194 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_43(Idx);
184195 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
184196 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_74(Idx);
184197 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
184198 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_75(Idx);
184199 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
184200 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_76(Idx);
184201 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
184202 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_77(Idx);
184203 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
184204 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_78(Idx);
184205
184206
184207 xla_ae_lines_pkg.SetAcctReversalAttrs
184208 (p_event_id => l_event_id
184209 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
184210 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184211 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
184212 END IF;
184213
184214 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
184215 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
184216
184217 --
184218 AcctLineType_47 (
184219 p_application_id => p_application_id
184220 ,p_event_id => l_event_id
184221 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184222 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184223 ,p_actual_flag => l_actual_flag
184224 ,p_balance_type_code => l_balance_type_code
184225 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184226
184227 , p_source_1 => l_array_source_1(Idx)
184228 , p_source_9 => l_array_source_9(Idx)
184229 , p_source_18 => l_array_source_18(Idx)
184230 , p_source_21 => l_array_source_21(Idx)
184231 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184232 , p_source_41 => l_array_source_41(Idx)
184233 , p_source_43 => l_array_source_43(Idx)
184234 , p_source_45 => l_array_source_45(Idx)
184235 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184236 , p_source_47 => l_array_source_47(Idx)
184237 , p_source_48 => l_array_source_48(Idx)
184238 , p_source_49 => l_array_source_49(Idx)
184239 , p_source_50 => l_array_source_50(Idx)
184240 , p_source_51 => l_array_source_51(Idx)
184241 , p_source_52 => l_array_source_52(Idx)
184242 , p_source_53 => l_array_source_53(Idx)
184243 , p_source_54 => l_array_source_54(Idx)
184244 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184245 , p_source_56 => l_array_source_56(Idx)
184246 , p_source_57 => l_array_source_57(Idx)
184247 , p_source_58 => l_array_source_58(Idx)
184248 , p_source_59 => l_array_source_59(Idx)
184249 , p_source_60 => l_array_source_60(Idx)
184250 , p_source_61 => l_array_source_61(Idx)
184251 , p_source_62 => l_array_source_62(Idx)
184252 , p_source_63 => l_array_source_63(Idx)
184253 , p_source_64 => l_array_source_64(Idx)
184254 , p_source_65 => l_array_source_65(Idx)
184255 , p_source_66 => l_array_source_66(Idx)
184256 , p_source_67 => l_array_source_67(Idx)
184257 , p_source_68 => l_array_source_68(Idx)
184258 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184262 , p_source_72 => l_array_source_72(Idx)
184259 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184260 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184261 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184263 , p_source_73 => l_array_source_73(Idx)
184264 , p_source_74 => l_array_source_74(Idx)
184265 , p_source_75 => l_array_source_75(Idx)
184266 , p_source_76 => l_array_source_76(Idx)
184267 , p_source_77 => l_array_source_77(Idx)
184268 , p_source_78 => l_array_source_78(Idx)
184269 );
184270 If(l_balance_type_code = 'A') THEN
184271 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184272 END IF;
184273
184274 --
184275
184276
184277 --
184278 AcctLineType_51 (
184279 p_application_id => p_application_id
184280 ,p_event_id => l_event_id
184281 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184282 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184283 ,p_actual_flag => l_actual_flag
184284 ,p_balance_type_code => l_balance_type_code
184285 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184286
184287 , p_source_1 => l_array_source_1(Idx)
184288 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
184289 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
184290 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
184291 , p_source_9 => l_array_source_9(Idx)
184292 , p_source_10 => l_array_source_10(Idx)
184293 , p_source_10_meaning => l_array_source_10_meaning(Idx)
184294 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
184295 , p_source_18 => l_array_source_18(Idx)
184296 , p_source_21 => l_array_source_21(Idx)
184297 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184298 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
184299 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
184300 , p_source_41 => l_array_source_41(Idx)
184301 , p_source_43 => l_array_source_43(Idx)
184302 , p_source_45 => l_array_source_45(Idx)
184303 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184304 , p_source_52 => l_array_source_52(Idx)
184305 , p_source_53 => l_array_source_53(Idx)
184306 , p_source_54 => l_array_source_54(Idx)
184307 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184308 , p_source_56 => l_array_source_56(Idx)
184309 , p_source_57 => l_array_source_57(Idx)
184310 , p_source_58 => l_array_source_58(Idx)
184311 , p_source_59 => l_array_source_59(Idx)
184312 , p_source_60 => l_array_source_60(Idx)
184313 , p_source_65 => l_array_source_65(Idx)
184314 , p_source_66 => l_array_source_66(Idx)
184315 , p_source_67 => l_array_source_67(Idx)
184316 , p_source_68 => l_array_source_68(Idx)
184317 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184318 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184319 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184320 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184321 , p_source_72 => l_array_source_72(Idx)
184322 , p_source_73 => l_array_source_73(Idx)
184323 , p_source_74 => l_array_source_74(Idx)
184324 , p_source_75 => l_array_source_75(Idx)
184325 , p_source_76 => l_array_source_76(Idx)
184326 , p_source_77 => l_array_source_77(Idx)
184327 , p_source_78 => l_array_source_78(Idx)
184328 , p_source_79 => l_array_source_79(Idx)
184329 , p_source_80 => l_array_source_80(Idx)
184330 , p_source_81 => l_array_source_81(Idx)
184331 , p_source_82 => l_array_source_82(Idx)
184332 , p_source_83 => l_array_source_83(Idx)
184333 );
184334 If(l_balance_type_code = 'A') THEN
184335 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184336 END IF;
184337
184338 --
184339
184340
184341 --
184342 AcctLineType_55 (
184343 p_application_id => p_application_id
184344 ,p_event_id => l_event_id
184345 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184346 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184347 ,p_actual_flag => l_actual_flag
184348 ,p_balance_type_code => l_balance_type_code
184349 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184350
184351 , p_source_1 => l_array_source_1(Idx)
184352 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
184353 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
184354 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
184355 , p_source_9 => l_array_source_9(Idx)
184356 , p_source_10 => l_array_source_10(Idx)
184357 , p_source_10_meaning => l_array_source_10_meaning(Idx)
184358 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
184359 , p_source_18 => l_array_source_18(Idx)
184360 , p_source_21 => l_array_source_21(Idx)
184361 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184362 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
184363 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
184364 , p_source_41 => l_array_source_41(Idx)
184365 , p_source_43 => l_array_source_43(Idx)
184366 , p_source_45 => l_array_source_45(Idx)
184367 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184368 , p_source_52 => l_array_source_52(Idx)
184369 , p_source_53 => l_array_source_53(Idx)
184370 , p_source_54 => l_array_source_54(Idx)
184371 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184372 , p_source_56 => l_array_source_56(Idx)
184373 , p_source_57 => l_array_source_57(Idx)
184374 , p_source_58 => l_array_source_58(Idx)
184375 , p_source_59 => l_array_source_59(Idx)
184379 , p_source_67 => l_array_source_67(Idx)
184376 , p_source_60 => l_array_source_60(Idx)
184377 , p_source_65 => l_array_source_65(Idx)
184378 , p_source_66 => l_array_source_66(Idx)
184380 , p_source_68 => l_array_source_68(Idx)
184381 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184382 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184383 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184384 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184385 , p_source_72 => l_array_source_72(Idx)
184386 , p_source_73 => l_array_source_73(Idx)
184387 , p_source_74 => l_array_source_74(Idx)
184388 , p_source_75 => l_array_source_75(Idx)
184389 , p_source_76 => l_array_source_76(Idx)
184390 , p_source_77 => l_array_source_77(Idx)
184391 , p_source_78 => l_array_source_78(Idx)
184392 , p_source_79 => l_array_source_79(Idx)
184393 , p_source_80 => l_array_source_80(Idx)
184394 , p_source_81 => l_array_source_81(Idx)
184395 , p_source_82 => l_array_source_82(Idx)
184396 , p_source_83 => l_array_source_83(Idx)
184397 , p_source_84 => l_array_source_84(Idx)
184398 , p_source_84_meaning => l_array_source_84_meaning(Idx)
184399 );
184400 If(l_balance_type_code = 'A') THEN
184401 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184402 END IF;
184403
184404 --
184405
184406
184407 --
184408 AcctLineType_59 (
184409 p_application_id => p_application_id
184410 ,p_event_id => l_event_id
184411 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184412 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184413 ,p_actual_flag => l_actual_flag
184414 ,p_balance_type_code => l_balance_type_code
184415 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184416
184417 , p_source_21 => l_array_source_21(Idx)
184418 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184419 , p_source_41 => l_array_source_41(Idx)
184420 , p_source_43 => l_array_source_43(Idx)
184421 , p_source_45 => l_array_source_45(Idx)
184422 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184423 , p_source_52 => l_array_source_52(Idx)
184424 , p_source_53 => l_array_source_53(Idx)
184425 , p_source_54 => l_array_source_54(Idx)
184426 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184427 , p_source_56 => l_array_source_56(Idx)
184428 , p_source_57 => l_array_source_57(Idx)
184429 , p_source_58 => l_array_source_58(Idx)
184430 , p_source_59 => l_array_source_59(Idx)
184431 , p_source_60 => l_array_source_60(Idx)
184432 , p_source_65 => l_array_source_65(Idx)
184433 , p_source_66 => l_array_source_66(Idx)
184434 , p_source_67 => l_array_source_67(Idx)
184435 , p_source_68 => l_array_source_68(Idx)
184436 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184437 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184438 , p_source_72 => l_array_source_72(Idx)
184439 , p_source_73 => l_array_source_73(Idx)
184440 , p_source_74 => l_array_source_74(Idx)
184441 , p_source_75 => l_array_source_75(Idx)
184442 , p_source_76 => l_array_source_76(Idx)
184443 , p_source_77 => l_array_source_77(Idx)
184444 , p_source_78 => l_array_source_78(Idx)
184445 , p_source_79 => l_array_source_79(Idx)
184446 , p_source_80 => l_array_source_80(Idx)
184447 , p_source_81 => l_array_source_81(Idx)
184448 , p_source_82 => l_array_source_82(Idx)
184449 , p_source_83 => l_array_source_83(Idx)
184450 , p_source_84 => l_array_source_84(Idx)
184451 , p_source_84_meaning => l_array_source_84_meaning(Idx)
184452 , p_source_85 => l_array_source_85(Idx)
184453 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
184454 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
184455 , p_source_87 => l_array_source_87(Idx)
184456 , p_source_87_meaning => l_array_source_87_meaning(Idx)
184457 , p_source_88 => l_array_source_88(Idx)
184458 );
184459 If(l_balance_type_code = 'A') THEN
184460 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184461 END IF;
184462
184463 --
184464
184465
184466 --
184467 AcctLineType_111 (
184468 p_application_id => p_application_id
184469 ,p_event_id => l_event_id
184470 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184471 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184472 ,p_actual_flag => l_actual_flag
184473 ,p_balance_type_code => l_balance_type_code
184474 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184475
184476 , p_source_1 => l_array_source_1(Idx)
184477 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
184478 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
184479 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
184480 , p_source_9 => l_array_source_9(Idx)
184481 , p_source_10 => l_array_source_10(Idx)
184482 , p_source_10_meaning => l_array_source_10_meaning(Idx)
184483 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
184484 , p_source_18 => l_array_source_18(Idx)
184485 , p_source_21 => l_array_source_21(Idx)
184486 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184487 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
184488 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
184489 , p_source_41 => l_array_source_41(Idx)
184490 , p_source_43 => l_array_source_43(Idx)
184491 , p_source_45 => l_array_source_45(Idx)
184492 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184493 , p_source_52 => l_array_source_52(Idx)
184494 , p_source_53 => l_array_source_53(Idx)
184498 , p_source_57 => l_array_source_57(Idx)
184495 , p_source_54 => l_array_source_54(Idx)
184496 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184497 , p_source_56 => l_array_source_56(Idx)
184499 , p_source_58 => l_array_source_58(Idx)
184500 , p_source_59 => l_array_source_59(Idx)
184501 , p_source_60 => l_array_source_60(Idx)
184502 , p_source_61 => l_array_source_61(Idx)
184503 , p_source_65 => l_array_source_65(Idx)
184504 , p_source_66 => l_array_source_66(Idx)
184505 , p_source_67 => l_array_source_67(Idx)
184506 , p_source_68 => l_array_source_68(Idx)
184507 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184508 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184509 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184510 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184511 , p_source_72 => l_array_source_72(Idx)
184512 , p_source_73 => l_array_source_73(Idx)
184513 , p_source_74 => l_array_source_74(Idx)
184514 , p_source_75 => l_array_source_75(Idx)
184515 , p_source_76 => l_array_source_76(Idx)
184516 , p_source_77 => l_array_source_77(Idx)
184517 , p_source_78 => l_array_source_78(Idx)
184518 , p_source_79 => l_array_source_79(Idx)
184519 , p_source_80 => l_array_source_80(Idx)
184520 , p_source_81 => l_array_source_81(Idx)
184521 , p_source_82 => l_array_source_82(Idx)
184522 , p_source_83 => l_array_source_83(Idx)
184523 , p_source_84 => l_array_source_84(Idx)
184524 , p_source_84_meaning => l_array_source_84_meaning(Idx)
184525 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
184526 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
184527 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
184528 );
184529 If(l_balance_type_code = 'A') THEN
184530 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184531 END IF;
184532
184533 --
184534
184535
184536 --
184537 AcctLineType_112 (
184538 p_application_id => p_application_id
184539 ,p_event_id => l_event_id
184540 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184541 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184542 ,p_actual_flag => l_actual_flag
184543 ,p_balance_type_code => l_balance_type_code
184544 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184545
184546 , p_source_21 => l_array_source_21(Idx)
184547 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184548 , p_source_41 => l_array_source_41(Idx)
184549 , p_source_43 => l_array_source_43(Idx)
184550 , p_source_45 => l_array_source_45(Idx)
184551 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184552 , p_source_52 => l_array_source_52(Idx)
184553 , p_source_53 => l_array_source_53(Idx)
184554 , p_source_54 => l_array_source_54(Idx)
184555 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184556 , p_source_56 => l_array_source_56(Idx)
184557 , p_source_57 => l_array_source_57(Idx)
184558 , p_source_58 => l_array_source_58(Idx)
184559 , p_source_59 => l_array_source_59(Idx)
184560 , p_source_60 => l_array_source_60(Idx)
184561 , p_source_65 => l_array_source_65(Idx)
184562 , p_source_66 => l_array_source_66(Idx)
184563 , p_source_67 => l_array_source_67(Idx)
184564 , p_source_68 => l_array_source_68(Idx)
184565 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184566 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184567 , p_source_72 => l_array_source_72(Idx)
184568 , p_source_73 => l_array_source_73(Idx)
184569 , p_source_74 => l_array_source_74(Idx)
184570 , p_source_75 => l_array_source_75(Idx)
184571 , p_source_76 => l_array_source_76(Idx)
184572 , p_source_77 => l_array_source_77(Idx)
184573 , p_source_78 => l_array_source_78(Idx)
184574 , p_source_79 => l_array_source_79(Idx)
184575 , p_source_80 => l_array_source_80(Idx)
184576 , p_source_81 => l_array_source_81(Idx)
184577 , p_source_82 => l_array_source_82(Idx)
184578 , p_source_83 => l_array_source_83(Idx)
184579 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
184580 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
184581 , p_source_87 => l_array_source_87(Idx)
184582 , p_source_87_meaning => l_array_source_87_meaning(Idx)
184583 , p_source_143 => l_array_source_143(Idx)
184584 , p_source_144 => l_array_source_144(Idx)
184585 );
184586 If(l_balance_type_code = 'A') THEN
184587 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184588 END IF;
184589
184590 --
184591
184592
184593 --
184594 AcctLineType_124 (
184595 p_application_id => p_application_id
184596 ,p_event_id => l_event_id
184597 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184598 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184599 ,p_actual_flag => l_actual_flag
184600 ,p_balance_type_code => l_balance_type_code
184601 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184602
184603 , p_source_1 => l_array_source_1(Idx)
184604 , p_source_9 => l_array_source_9(Idx)
184605 , p_source_18 => l_array_source_18(Idx)
184606 , p_source_21 => l_array_source_21(Idx)
184607 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184608 , p_source_41 => l_array_source_41(Idx)
184609 , p_source_43 => l_array_source_43(Idx)
184610 , p_source_45 => l_array_source_45(Idx)
184611 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184612 , p_source_52 => l_array_source_52(Idx)
184613 , p_source_53 => l_array_source_53(Idx)
184614 , p_source_54 => l_array_source_54(Idx)
184618 , p_source_58 => l_array_source_58(Idx)
184615 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184616 , p_source_56 => l_array_source_56(Idx)
184617 , p_source_57 => l_array_source_57(Idx)
184619 , p_source_59 => l_array_source_59(Idx)
184620 , p_source_60 => l_array_source_60(Idx)
184621 , p_source_61 => l_array_source_61(Idx)
184622 , p_source_65 => l_array_source_65(Idx)
184623 , p_source_66 => l_array_source_66(Idx)
184624 , p_source_67 => l_array_source_67(Idx)
184625 , p_source_68 => l_array_source_68(Idx)
184626 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184627 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184628 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184629 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184630 , p_source_72 => l_array_source_72(Idx)
184631 , p_source_73 => l_array_source_73(Idx)
184632 , p_source_74 => l_array_source_74(Idx)
184633 , p_source_75 => l_array_source_75(Idx)
184634 , p_source_76 => l_array_source_76(Idx)
184635 , p_source_77 => l_array_source_77(Idx)
184636 , p_source_78 => l_array_source_78(Idx)
184637 , p_source_79 => l_array_source_79(Idx)
184638 , p_source_80 => l_array_source_80(Idx)
184639 , p_source_81 => l_array_source_81(Idx)
184640 , p_source_82 => l_array_source_82(Idx)
184641 , p_source_83 => l_array_source_83(Idx)
184642 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
184643 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
184644 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
184645 );
184646 If(l_balance_type_code = 'A') THEN
184647 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184648 END IF;
184649
184650 --
184651
184652
184653 --
184654 AcctLineType_125 (
184655 p_application_id => p_application_id
184656 ,p_event_id => l_event_id
184657 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184658 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184659 ,p_actual_flag => l_actual_flag
184660 ,p_balance_type_code => l_balance_type_code
184661 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184662
184663 , p_source_21 => l_array_source_21(Idx)
184664 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184665 , p_source_41 => l_array_source_41(Idx)
184666 , p_source_43 => l_array_source_43(Idx)
184667 , p_source_45 => l_array_source_45(Idx)
184668 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184669 , p_source_52 => l_array_source_52(Idx)
184670 , p_source_53 => l_array_source_53(Idx)
184671 , p_source_54 => l_array_source_54(Idx)
184672 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184673 , p_source_56 => l_array_source_56(Idx)
184674 , p_source_57 => l_array_source_57(Idx)
184675 , p_source_58 => l_array_source_58(Idx)
184676 , p_source_59 => l_array_source_59(Idx)
184677 , p_source_60 => l_array_source_60(Idx)
184678 , p_source_65 => l_array_source_65(Idx)
184679 , p_source_66 => l_array_source_66(Idx)
184680 , p_source_67 => l_array_source_67(Idx)
184681 , p_source_68 => l_array_source_68(Idx)
184682 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184683 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184684 , p_source_72 => l_array_source_72(Idx)
184685 , p_source_73 => l_array_source_73(Idx)
184686 , p_source_74 => l_array_source_74(Idx)
184687 , p_source_75 => l_array_source_75(Idx)
184688 , p_source_76 => l_array_source_76(Idx)
184689 , p_source_77 => l_array_source_77(Idx)
184690 , p_source_78 => l_array_source_78(Idx)
184691 , p_source_79 => l_array_source_79(Idx)
184692 , p_source_80 => l_array_source_80(Idx)
184693 , p_source_81 => l_array_source_81(Idx)
184694 , p_source_82 => l_array_source_82(Idx)
184695 , p_source_83 => l_array_source_83(Idx)
184696 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
184697 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
184698 , p_source_87 => l_array_source_87(Idx)
184699 , p_source_87_meaning => l_array_source_87_meaning(Idx)
184700 , p_source_143 => l_array_source_143(Idx)
184701 , p_source_144 => l_array_source_144(Idx)
184702 );
184703 If(l_balance_type_code = 'A') THEN
184704 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184705 END IF;
184706
184707 --
184708
184709
184710 --
184711 AcctLineType_150 (
184712 p_application_id => p_application_id
184713 ,p_event_id => l_event_id
184714 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184715 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184716 ,p_actual_flag => l_actual_flag
184717 ,p_balance_type_code => l_balance_type_code
184718 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184719
184720 , p_source_1 => l_array_source_1(Idx)
184721 , p_source_9 => l_array_source_9(Idx)
184722 , p_source_18 => l_array_source_18(Idx)
184723 , p_source_21 => l_array_source_21(Idx)
184724 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184725 , p_source_41 => l_array_source_41(Idx)
184726 , p_source_43 => l_array_source_43(Idx)
184727 , p_source_45 => l_array_source_45(Idx)
184728 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184729 , p_source_52 => l_array_source_52(Idx)
184730 , p_source_53 => l_array_source_53(Idx)
184731 , p_source_54 => l_array_source_54(Idx)
184732 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184733 , p_source_56 => l_array_source_56(Idx)
184737 , p_source_60 => l_array_source_60(Idx)
184734 , p_source_57 => l_array_source_57(Idx)
184735 , p_source_58 => l_array_source_58(Idx)
184736 , p_source_59 => l_array_source_59(Idx)
184738 , p_source_61 => l_array_source_61(Idx)
184739 , p_source_65 => l_array_source_65(Idx)
184740 , p_source_66 => l_array_source_66(Idx)
184741 , p_source_67 => l_array_source_67(Idx)
184742 , p_source_68 => l_array_source_68(Idx)
184743 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184744 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184745 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184746 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184747 , p_source_72 => l_array_source_72(Idx)
184748 , p_source_73 => l_array_source_73(Idx)
184749 , p_source_74 => l_array_source_74(Idx)
184750 , p_source_75 => l_array_source_75(Idx)
184751 , p_source_76 => l_array_source_76(Idx)
184752 , p_source_77 => l_array_source_77(Idx)
184753 , p_source_78 => l_array_source_78(Idx)
184754 , p_source_79 => l_array_source_79(Idx)
184755 , p_source_80 => l_array_source_80(Idx)
184756 , p_source_81 => l_array_source_81(Idx)
184757 , p_source_82 => l_array_source_82(Idx)
184758 , p_source_83 => l_array_source_83(Idx)
184759 , p_source_84 => l_array_source_84(Idx)
184760 , p_source_84_meaning => l_array_source_84_meaning(Idx)
184761 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
184762 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
184763 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
184764 );
184765 If(l_balance_type_code = 'A') THEN
184766 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184767 END IF;
184768
184769 --
184770
184771
184772 --
184773 AcctLineType_151 (
184774 p_application_id => p_application_id
184775 ,p_event_id => l_event_id
184776 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184777 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184778 ,p_actual_flag => l_actual_flag
184779 ,p_balance_type_code => l_balance_type_code
184780 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184781
184782 , p_source_21 => l_array_source_21(Idx)
184783 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184784 , p_source_41 => l_array_source_41(Idx)
184785 , p_source_43 => l_array_source_43(Idx)
184786 , p_source_45 => l_array_source_45(Idx)
184787 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184788 , p_source_52 => l_array_source_52(Idx)
184789 , p_source_53 => l_array_source_53(Idx)
184790 , p_source_54 => l_array_source_54(Idx)
184791 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184792 , p_source_56 => l_array_source_56(Idx)
184793 , p_source_57 => l_array_source_57(Idx)
184794 , p_source_58 => l_array_source_58(Idx)
184795 , p_source_59 => l_array_source_59(Idx)
184796 , p_source_60 => l_array_source_60(Idx)
184797 , p_source_65 => l_array_source_65(Idx)
184798 , p_source_66 => l_array_source_66(Idx)
184799 , p_source_67 => l_array_source_67(Idx)
184800 , p_source_68 => l_array_source_68(Idx)
184801 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184802 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184803 , p_source_72 => l_array_source_72(Idx)
184804 , p_source_73 => l_array_source_73(Idx)
184805 , p_source_74 => l_array_source_74(Idx)
184806 , p_source_75 => l_array_source_75(Idx)
184807 , p_source_76 => l_array_source_76(Idx)
184808 , p_source_77 => l_array_source_77(Idx)
184809 , p_source_78 => l_array_source_78(Idx)
184810 , p_source_79 => l_array_source_79(Idx)
184811 , p_source_80 => l_array_source_80(Idx)
184812 , p_source_81 => l_array_source_81(Idx)
184813 , p_source_82 => l_array_source_82(Idx)
184814 , p_source_83 => l_array_source_83(Idx)
184815 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
184816 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
184817 , p_source_87 => l_array_source_87(Idx)
184818 , p_source_87_meaning => l_array_source_87_meaning(Idx)
184819 , p_source_143 => l_array_source_143(Idx)
184820 , p_source_144 => l_array_source_144(Idx)
184821 );
184822 If(l_balance_type_code = 'A') THEN
184823 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184824 END IF;
184825
184826 --
184827
184828
184829 --
184830 AcctLineType_158 (
184831 p_application_id => p_application_id
184832 ,p_event_id => l_event_id
184833 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184834 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184835 ,p_actual_flag => l_actual_flag
184836 ,p_balance_type_code => l_balance_type_code
184837 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184838
184839 , p_source_1 => l_array_source_1(Idx)
184840 , p_source_9 => l_array_source_9(Idx)
184841 , p_source_18 => l_array_source_18(Idx)
184842 , p_source_21 => l_array_source_21(Idx)
184843 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184844 , p_source_41 => l_array_source_41(Idx)
184845 , p_source_43 => l_array_source_43(Idx)
184846 , p_source_45 => l_array_source_45(Idx)
184847 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184848 , p_source_52 => l_array_source_52(Idx)
184849 , p_source_53 => l_array_source_53(Idx)
184850 , p_source_54 => l_array_source_54(Idx)
184851 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184852 , p_source_56 => l_array_source_56(Idx)
184853 , p_source_57 => l_array_source_57(Idx)
184854 , p_source_58 => l_array_source_58(Idx)
184855 , p_source_59 => l_array_source_59(Idx)
184859 , p_source_66 => l_array_source_66(Idx)
184856 , p_source_60 => l_array_source_60(Idx)
184857 , p_source_61 => l_array_source_61(Idx)
184858 , p_source_65 => l_array_source_65(Idx)
184860 , p_source_67 => l_array_source_67(Idx)
184861 , p_source_68 => l_array_source_68(Idx)
184862 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184863 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184864 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184865 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184866 , p_source_72 => l_array_source_72(Idx)
184867 , p_source_73 => l_array_source_73(Idx)
184868 , p_source_74 => l_array_source_74(Idx)
184869 , p_source_75 => l_array_source_75(Idx)
184870 , p_source_76 => l_array_source_76(Idx)
184871 , p_source_77 => l_array_source_77(Idx)
184872 , p_source_78 => l_array_source_78(Idx)
184873 , p_source_79 => l_array_source_79(Idx)
184874 , p_source_80 => l_array_source_80(Idx)
184875 , p_source_81 => l_array_source_81(Idx)
184876 , p_source_82 => l_array_source_82(Idx)
184877 , p_source_83 => l_array_source_83(Idx)
184878 , p_source_84 => l_array_source_84(Idx)
184879 , p_source_84_meaning => l_array_source_84_meaning(Idx)
184880 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
184881 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
184882 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
184883 );
184884 If(l_balance_type_code = 'A') THEN
184885 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184886 END IF;
184887
184888 --
184889
184890
184891 --
184892 AcctLineType_159 (
184893 p_application_id => p_application_id
184894 ,p_event_id => l_event_id
184895 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184896 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184897 ,p_actual_flag => l_actual_flag
184898 ,p_balance_type_code => l_balance_type_code
184899 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184900
184901 , p_source_21 => l_array_source_21(Idx)
184902 , p_source_21_meaning => l_array_source_21_meaning(Idx)
184903 , p_source_41 => l_array_source_41(Idx)
184904 , p_source_43 => l_array_source_43(Idx)
184905 , p_source_45 => l_array_source_45(Idx)
184906 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184907 , p_source_52 => l_array_source_52(Idx)
184908 , p_source_53 => l_array_source_53(Idx)
184909 , p_source_54 => l_array_source_54(Idx)
184910 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184911 , p_source_56 => l_array_source_56(Idx)
184912 , p_source_57 => l_array_source_57(Idx)
184913 , p_source_58 => l_array_source_58(Idx)
184914 , p_source_59 => l_array_source_59(Idx)
184915 , p_source_60 => l_array_source_60(Idx)
184916 , p_source_65 => l_array_source_65(Idx)
184917 , p_source_66 => l_array_source_66(Idx)
184918 , p_source_67 => l_array_source_67(Idx)
184919 , p_source_68 => l_array_source_68(Idx)
184920 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184921 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184922 , p_source_72 => l_array_source_72(Idx)
184923 , p_source_73 => l_array_source_73(Idx)
184924 , p_source_74 => l_array_source_74(Idx)
184925 , p_source_75 => l_array_source_75(Idx)
184926 , p_source_76 => l_array_source_76(Idx)
184927 , p_source_77 => l_array_source_77(Idx)
184928 , p_source_78 => l_array_source_78(Idx)
184929 , p_source_79 => l_array_source_79(Idx)
184930 , p_source_80 => l_array_source_80(Idx)
184931 , p_source_81 => l_array_source_81(Idx)
184932 , p_source_82 => l_array_source_82(Idx)
184933 , p_source_83 => l_array_source_83(Idx)
184934 , p_source_84 => l_array_source_84(Idx)
184935 , p_source_84_meaning => l_array_source_84_meaning(Idx)
184936 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
184937 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
184938 , p_source_87 => l_array_source_87(Idx)
184939 , p_source_87_meaning => l_array_source_87_meaning(Idx)
184940 , p_source_143 => l_array_source_143(Idx)
184941 , p_source_144 => l_array_source_144(Idx)
184942 );
184943 If(l_balance_type_code = 'A') THEN
184944 l_actual_gain_loss_ref := l_gain_or_loss_ref;
184945 END IF;
184946
184947 --
184948
184949
184950 --
184951 AcctLineType_168 (
184952 p_application_id => p_application_id
184953 ,p_event_id => l_event_id
184954 ,p_calculate_acctd_flag => l_calculate_acctd_flag
184955 ,p_calculate_g_l_flag => l_calculate_g_l_flag
184956 ,p_actual_flag => l_actual_flag
184957 ,p_balance_type_code => l_balance_type_code
184958 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
184959
184960 , p_source_1 => l_array_source_1(Idx)
184961 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
184962 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
184963 , p_source_9 => l_array_source_9(Idx)
184964 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
184965 , p_source_41 => l_array_source_41(Idx)
184966 , p_source_43 => l_array_source_43(Idx)
184967 , p_source_45 => l_array_source_45(Idx)
184968 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
184969 , p_source_52 => l_array_source_52(Idx)
184970 , p_source_53 => l_array_source_53(Idx)
184971 , p_source_54 => l_array_source_54(Idx)
184972 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
184973 , p_source_56 => l_array_source_56(Idx)
184974 , p_source_57 => l_array_source_57(Idx)
184975 , p_source_58 => l_array_source_58(Idx)
184979 , p_source_65 => l_array_source_65(Idx)
184976 , p_source_59 => l_array_source_59(Idx)
184977 , p_source_60 => l_array_source_60(Idx)
184978 , p_source_61 => l_array_source_61(Idx)
184980 , p_source_66 => l_array_source_66(Idx)
184981 , p_source_67 => l_array_source_67(Idx)
184982 , p_source_68 => l_array_source_68(Idx)
184983 , p_source_68_meaning => l_array_source_68_meaning(Idx)
184984 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
184985 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
184986 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
184987 , p_source_72 => l_array_source_72(Idx)
184988 , p_source_73 => l_array_source_73(Idx)
184989 , p_source_74 => l_array_source_74(Idx)
184990 , p_source_75 => l_array_source_75(Idx)
184991 , p_source_76 => l_array_source_76(Idx)
184992 , p_source_77 => l_array_source_77(Idx)
184993 , p_source_78 => l_array_source_78(Idx)
184994 , p_source_79 => l_array_source_79(Idx)
184995 , p_source_80 => l_array_source_80(Idx)
184996 , p_source_81 => l_array_source_81(Idx)
184997 , p_source_82 => l_array_source_82(Idx)
184998 , p_source_83 => l_array_source_83(Idx)
184999 , p_source_135 => l_array_source_135(Idx)
185000 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185001 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185002 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185003 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185004 );
185005 If(l_balance_type_code = 'A') THEN
185006 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185007 END IF;
185008
185009 --
185010
185011
185012 --
185013 AcctLineType_169 (
185014 p_application_id => p_application_id
185015 ,p_event_id => l_event_id
185016 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185017 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185018 ,p_actual_flag => l_actual_flag
185019 ,p_balance_type_code => l_balance_type_code
185020 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185021
185022 , p_source_1 => l_array_source_1(Idx)
185023 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
185024 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
185025 , p_source_9 => l_array_source_9(Idx)
185026 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
185027 , p_source_41 => l_array_source_41(Idx)
185028 , p_source_43 => l_array_source_43(Idx)
185029 , p_source_45 => l_array_source_45(Idx)
185030 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185031 , p_source_52 => l_array_source_52(Idx)
185032 , p_source_53 => l_array_source_53(Idx)
185033 , p_source_54 => l_array_source_54(Idx)
185034 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185035 , p_source_56 => l_array_source_56(Idx)
185036 , p_source_57 => l_array_source_57(Idx)
185037 , p_source_58 => l_array_source_58(Idx)
185038 , p_source_59 => l_array_source_59(Idx)
185039 , p_source_60 => l_array_source_60(Idx)
185040 , p_source_61 => l_array_source_61(Idx)
185041 , p_source_65 => l_array_source_65(Idx)
185042 , p_source_66 => l_array_source_66(Idx)
185043 , p_source_67 => l_array_source_67(Idx)
185044 , p_source_68 => l_array_source_68(Idx)
185045 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185046 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185047 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185048 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185049 , p_source_72 => l_array_source_72(Idx)
185050 , p_source_73 => l_array_source_73(Idx)
185051 , p_source_74 => l_array_source_74(Idx)
185052 , p_source_75 => l_array_source_75(Idx)
185053 , p_source_76 => l_array_source_76(Idx)
185054 , p_source_77 => l_array_source_77(Idx)
185055 , p_source_78 => l_array_source_78(Idx)
185056 , p_source_79 => l_array_source_79(Idx)
185057 , p_source_80 => l_array_source_80(Idx)
185058 , p_source_81 => l_array_source_81(Idx)
185059 , p_source_82 => l_array_source_82(Idx)
185060 , p_source_83 => l_array_source_83(Idx)
185061 , p_source_135 => l_array_source_135(Idx)
185062 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185063 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185064 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185065 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185066 );
185067 If(l_balance_type_code = 'A') THEN
185068 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185069 END IF;
185070
185071 --
185072
185073
185074 --
185075 AcctLineType_170 (
185076 p_application_id => p_application_id
185077 ,p_event_id => l_event_id
185078 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185079 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185080 ,p_actual_flag => l_actual_flag
185081 ,p_balance_type_code => l_balance_type_code
185082 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185083
185084 , p_source_1 => l_array_source_1(Idx)
185085 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
185086 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
185087 , p_source_9 => l_array_source_9(Idx)
185088 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
185089 , p_source_41 => l_array_source_41(Idx)
185090 , p_source_43 => l_array_source_43(Idx)
185091 , p_source_45 => l_array_source_45(Idx)
185092 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185096 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185093 , p_source_52 => l_array_source_52(Idx)
185094 , p_source_53 => l_array_source_53(Idx)
185095 , p_source_54 => l_array_source_54(Idx)
185097 , p_source_56 => l_array_source_56(Idx)
185098 , p_source_57 => l_array_source_57(Idx)
185099 , p_source_58 => l_array_source_58(Idx)
185100 , p_source_59 => l_array_source_59(Idx)
185101 , p_source_60 => l_array_source_60(Idx)
185102 , p_source_61 => l_array_source_61(Idx)
185103 , p_source_65 => l_array_source_65(Idx)
185104 , p_source_66 => l_array_source_66(Idx)
185105 , p_source_67 => l_array_source_67(Idx)
185106 , p_source_68 => l_array_source_68(Idx)
185107 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185108 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185109 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185110 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185111 , p_source_72 => l_array_source_72(Idx)
185112 , p_source_73 => l_array_source_73(Idx)
185113 , p_source_74 => l_array_source_74(Idx)
185114 , p_source_75 => l_array_source_75(Idx)
185115 , p_source_76 => l_array_source_76(Idx)
185116 , p_source_77 => l_array_source_77(Idx)
185117 , p_source_78 => l_array_source_78(Idx)
185118 , p_source_79 => l_array_source_79(Idx)
185119 , p_source_80 => l_array_source_80(Idx)
185120 , p_source_81 => l_array_source_81(Idx)
185121 , p_source_82 => l_array_source_82(Idx)
185122 , p_source_83 => l_array_source_83(Idx)
185123 , p_source_135 => l_array_source_135(Idx)
185124 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185125 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185126 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185127 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185128 );
185129 If(l_balance_type_code = 'A') THEN
185130 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185131 END IF;
185132
185133 --
185134
185135
185136 --
185137 AcctLineType_191 (
185138 p_application_id => p_application_id
185139 ,p_event_id => l_event_id
185140 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185141 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185142 ,p_actual_flag => l_actual_flag
185143 ,p_balance_type_code => l_balance_type_code
185144 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185145
185146 , p_source_1 => l_array_source_1(Idx)
185147 , p_source_9 => l_array_source_9(Idx)
185148 , p_source_18 => l_array_source_18(Idx)
185149 , p_source_21 => l_array_source_21(Idx)
185150 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185151 , p_source_41 => l_array_source_41(Idx)
185152 , p_source_43 => l_array_source_43(Idx)
185153 , p_source_45 => l_array_source_45(Idx)
185154 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185155 , p_source_52 => l_array_source_52(Idx)
185156 , p_source_53 => l_array_source_53(Idx)
185157 , p_source_54 => l_array_source_54(Idx)
185158 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185159 , p_source_56 => l_array_source_56(Idx)
185160 , p_source_57 => l_array_source_57(Idx)
185161 , p_source_58 => l_array_source_58(Idx)
185162 , p_source_59 => l_array_source_59(Idx)
185163 , p_source_60 => l_array_source_60(Idx)
185164 , p_source_61 => l_array_source_61(Idx)
185165 , p_source_65 => l_array_source_65(Idx)
185166 , p_source_66 => l_array_source_66(Idx)
185167 , p_source_67 => l_array_source_67(Idx)
185168 , p_source_68 => l_array_source_68(Idx)
185169 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185170 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185171 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185172 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185173 , p_source_72 => l_array_source_72(Idx)
185174 , p_source_73 => l_array_source_73(Idx)
185175 , p_source_74 => l_array_source_74(Idx)
185176 , p_source_75 => l_array_source_75(Idx)
185177 , p_source_76 => l_array_source_76(Idx)
185178 , p_source_77 => l_array_source_77(Idx)
185179 , p_source_78 => l_array_source_78(Idx)
185180 , p_source_79 => l_array_source_79(Idx)
185181 , p_source_80 => l_array_source_80(Idx)
185182 , p_source_81 => l_array_source_81(Idx)
185183 , p_source_82 => l_array_source_82(Idx)
185184 , p_source_83 => l_array_source_83(Idx)
185185 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185186 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185187 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185188 );
185189 If(l_balance_type_code = 'A') THEN
185190 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185191 END IF;
185192
185193 --
185194
185195
185196 --
185197 AcctLineType_192 (
185198 p_application_id => p_application_id
185199 ,p_event_id => l_event_id
185200 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185201 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185202 ,p_actual_flag => l_actual_flag
185203 ,p_balance_type_code => l_balance_type_code
185204 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185205
185206 , p_source_21 => l_array_source_21(Idx)
185207 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185208 , p_source_41 => l_array_source_41(Idx)
185209 , p_source_43 => l_array_source_43(Idx)
185210 , p_source_45 => l_array_source_45(Idx)
185211 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185212 , p_source_52 => l_array_source_52(Idx)
185213 , p_source_53 => l_array_source_53(Idx)
185217 , p_source_57 => l_array_source_57(Idx)
185214 , p_source_54 => l_array_source_54(Idx)
185215 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185216 , p_source_56 => l_array_source_56(Idx)
185218 , p_source_58 => l_array_source_58(Idx)
185219 , p_source_59 => l_array_source_59(Idx)
185220 , p_source_60 => l_array_source_60(Idx)
185221 , p_source_65 => l_array_source_65(Idx)
185222 , p_source_66 => l_array_source_66(Idx)
185223 , p_source_67 => l_array_source_67(Idx)
185224 , p_source_68 => l_array_source_68(Idx)
185225 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185226 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185227 , p_source_72 => l_array_source_72(Idx)
185228 , p_source_73 => l_array_source_73(Idx)
185229 , p_source_74 => l_array_source_74(Idx)
185230 , p_source_75 => l_array_source_75(Idx)
185231 , p_source_76 => l_array_source_76(Idx)
185232 , p_source_77 => l_array_source_77(Idx)
185233 , p_source_78 => l_array_source_78(Idx)
185234 , p_source_79 => l_array_source_79(Idx)
185235 , p_source_80 => l_array_source_80(Idx)
185236 , p_source_81 => l_array_source_81(Idx)
185237 , p_source_82 => l_array_source_82(Idx)
185238 , p_source_83 => l_array_source_83(Idx)
185239 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
185240 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
185241 , p_source_87 => l_array_source_87(Idx)
185242 , p_source_87_meaning => l_array_source_87_meaning(Idx)
185243 , p_source_143 => l_array_source_143(Idx)
185244 , p_source_144 => l_array_source_144(Idx)
185245 );
185246 If(l_balance_type_code = 'A') THEN
185247 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185248 END IF;
185249
185250 --
185251
185252
185253 --
185254 AcctLineType_199 (
185255 p_application_id => p_application_id
185256 ,p_event_id => l_event_id
185257 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185258 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185259 ,p_actual_flag => l_actual_flag
185260 ,p_balance_type_code => l_balance_type_code
185261 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185262
185263 , p_source_1 => l_array_source_1(Idx)
185264 , p_source_9 => l_array_source_9(Idx)
185265 , p_source_18 => l_array_source_18(Idx)
185266 , p_source_21 => l_array_source_21(Idx)
185267 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185268 , p_source_41 => l_array_source_41(Idx)
185269 , p_source_43 => l_array_source_43(Idx)
185270 , p_source_45 => l_array_source_45(Idx)
185271 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185272 , p_source_52 => l_array_source_52(Idx)
185273 , p_source_53 => l_array_source_53(Idx)
185274 , p_source_54 => l_array_source_54(Idx)
185275 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185276 , p_source_56 => l_array_source_56(Idx)
185277 , p_source_57 => l_array_source_57(Idx)
185278 , p_source_58 => l_array_source_58(Idx)
185279 , p_source_59 => l_array_source_59(Idx)
185280 , p_source_60 => l_array_source_60(Idx)
185281 , p_source_61 => l_array_source_61(Idx)
185282 , p_source_62 => l_array_source_62(Idx)
185283 , p_source_63 => l_array_source_63(Idx)
185284 , p_source_64 => l_array_source_64(Idx)
185285 , p_source_65 => l_array_source_65(Idx)
185286 , p_source_66 => l_array_source_66(Idx)
185287 , p_source_67 => l_array_source_67(Idx)
185288 , p_source_68 => l_array_source_68(Idx)
185289 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185290 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185291 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185292 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185293 , p_source_72 => l_array_source_72(Idx)
185294 , p_source_73 => l_array_source_73(Idx)
185295 , p_source_74 => l_array_source_74(Idx)
185296 , p_source_75 => l_array_source_75(Idx)
185297 , p_source_76 => l_array_source_76(Idx)
185298 , p_source_77 => l_array_source_77(Idx)
185299 , p_source_78 => l_array_source_78(Idx)
185300 , p_source_79 => l_array_source_79(Idx)
185301 , p_source_80 => l_array_source_80(Idx)
185302 , p_source_81 => l_array_source_81(Idx)
185303 , p_source_82 => l_array_source_82(Idx)
185304 , p_source_83 => l_array_source_83(Idx)
185305 , p_source_84 => l_array_source_84(Idx)
185306 , p_source_84_meaning => l_array_source_84_meaning(Idx)
185307 , p_source_135 => l_array_source_135(Idx)
185308 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185309 );
185310 If(l_balance_type_code = 'A') THEN
185311 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185312 END IF;
185313
185314 --
185315
185316
185317 --
185318 AcctLineType_202 (
185319 p_application_id => p_application_id
185320 ,p_event_id => l_event_id
185321 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185322 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185323 ,p_actual_flag => l_actual_flag
185324 ,p_balance_type_code => l_balance_type_code
185325 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185326
185327 , p_source_1 => l_array_source_1(Idx)
185328 , p_source_9 => l_array_source_9(Idx)
185329 , p_source_18 => l_array_source_18(Idx)
185330 , p_source_21 => l_array_source_21(Idx)
185331 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185332 , p_source_41 => l_array_source_41(Idx)
185333 , p_source_43 => l_array_source_43(Idx)
185334 , p_source_45 => l_array_source_45(Idx)
185335 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185336 , p_source_52 => l_array_source_52(Idx)
185340 , p_source_56 => l_array_source_56(Idx)
185337 , p_source_53 => l_array_source_53(Idx)
185338 , p_source_54 => l_array_source_54(Idx)
185339 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185341 , p_source_57 => l_array_source_57(Idx)
185342 , p_source_58 => l_array_source_58(Idx)
185343 , p_source_59 => l_array_source_59(Idx)
185344 , p_source_60 => l_array_source_60(Idx)
185345 , p_source_61 => l_array_source_61(Idx)
185346 , p_source_65 => l_array_source_65(Idx)
185347 , p_source_66 => l_array_source_66(Idx)
185348 , p_source_67 => l_array_source_67(Idx)
185349 , p_source_68 => l_array_source_68(Idx)
185350 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185351 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185352 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185353 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185354 , p_source_72 => l_array_source_72(Idx)
185355 , p_source_73 => l_array_source_73(Idx)
185356 , p_source_74 => l_array_source_74(Idx)
185357 , p_source_75 => l_array_source_75(Idx)
185358 , p_source_76 => l_array_source_76(Idx)
185359 , p_source_77 => l_array_source_77(Idx)
185360 , p_source_78 => l_array_source_78(Idx)
185361 , p_source_79 => l_array_source_79(Idx)
185362 , p_source_80 => l_array_source_80(Idx)
185363 , p_source_81 => l_array_source_81(Idx)
185364 , p_source_82 => l_array_source_82(Idx)
185365 , p_source_83 => l_array_source_83(Idx)
185366 , p_source_84 => l_array_source_84(Idx)
185367 , p_source_84_meaning => l_array_source_84_meaning(Idx)
185368 , p_source_135 => l_array_source_135(Idx)
185369 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185370 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185371 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185372 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185373 );
185374 If(l_balance_type_code = 'A') THEN
185375 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185376 END IF;
185377
185378 --
185379
185380
185381 --
185382 AcctLineType_203 (
185383 p_application_id => p_application_id
185384 ,p_event_id => l_event_id
185385 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185386 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185387 ,p_actual_flag => l_actual_flag
185388 ,p_balance_type_code => l_balance_type_code
185389 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185390
185391 , p_source_21 => l_array_source_21(Idx)
185392 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185393 , p_source_41 => l_array_source_41(Idx)
185394 , p_source_43 => l_array_source_43(Idx)
185395 , p_source_45 => l_array_source_45(Idx)
185396 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185397 , p_source_52 => l_array_source_52(Idx)
185398 , p_source_53 => l_array_source_53(Idx)
185399 , p_source_54 => l_array_source_54(Idx)
185400 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185401 , p_source_56 => l_array_source_56(Idx)
185402 , p_source_57 => l_array_source_57(Idx)
185403 , p_source_58 => l_array_source_58(Idx)
185404 , p_source_59 => l_array_source_59(Idx)
185405 , p_source_60 => l_array_source_60(Idx)
185406 , p_source_65 => l_array_source_65(Idx)
185407 , p_source_66 => l_array_source_66(Idx)
185408 , p_source_67 => l_array_source_67(Idx)
185409 , p_source_68 => l_array_source_68(Idx)
185410 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185411 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185412 , p_source_72 => l_array_source_72(Idx)
185413 , p_source_73 => l_array_source_73(Idx)
185414 , p_source_74 => l_array_source_74(Idx)
185415 , p_source_75 => l_array_source_75(Idx)
185416 , p_source_76 => l_array_source_76(Idx)
185417 , p_source_77 => l_array_source_77(Idx)
185418 , p_source_78 => l_array_source_78(Idx)
185419 , p_source_79 => l_array_source_79(Idx)
185420 , p_source_80 => l_array_source_80(Idx)
185421 , p_source_81 => l_array_source_81(Idx)
185422 , p_source_82 => l_array_source_82(Idx)
185423 , p_source_83 => l_array_source_83(Idx)
185424 , p_source_84 => l_array_source_84(Idx)
185425 , p_source_84_meaning => l_array_source_84_meaning(Idx)
185426 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
185427 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
185428 , p_source_87 => l_array_source_87(Idx)
185429 , p_source_87_meaning => l_array_source_87_meaning(Idx)
185430 , p_source_135 => l_array_source_135(Idx)
185431 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185432 , p_source_143 => l_array_source_143(Idx)
185433 , p_source_144 => l_array_source_144(Idx)
185434 );
185435 If(l_balance_type_code = 'A') THEN
185436 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185437 END IF;
185438
185439 --
185440
185441
185442 --
185443 AcctLineType_216 (
185444 p_application_id => p_application_id
185445 ,p_event_id => l_event_id
185446 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185447 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185448 ,p_actual_flag => l_actual_flag
185449 ,p_balance_type_code => l_balance_type_code
185450 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185451
185452 , p_source_21 => l_array_source_21(Idx)
185453 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185454 , p_source_41 => l_array_source_41(Idx)
185455 , p_source_43 => l_array_source_43(Idx)
185456 , p_source_45 => l_array_source_45(Idx)
185460 , p_source_54 => l_array_source_54(Idx)
185457 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185458 , p_source_52 => l_array_source_52(Idx)
185459 , p_source_53 => l_array_source_53(Idx)
185461 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185462 , p_source_56 => l_array_source_56(Idx)
185463 , p_source_57 => l_array_source_57(Idx)
185464 , p_source_58 => l_array_source_58(Idx)
185465 , p_source_59 => l_array_source_59(Idx)
185466 , p_source_60 => l_array_source_60(Idx)
185467 , p_source_65 => l_array_source_65(Idx)
185468 , p_source_66 => l_array_source_66(Idx)
185469 , p_source_67 => l_array_source_67(Idx)
185470 , p_source_68 => l_array_source_68(Idx)
185471 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185472 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185473 , p_source_72 => l_array_source_72(Idx)
185474 , p_source_73 => l_array_source_73(Idx)
185475 , p_source_74 => l_array_source_74(Idx)
185476 , p_source_75 => l_array_source_75(Idx)
185477 , p_source_76 => l_array_source_76(Idx)
185478 , p_source_77 => l_array_source_77(Idx)
185479 , p_source_78 => l_array_source_78(Idx)
185480 , p_source_79 => l_array_source_79(Idx)
185481 , p_source_80 => l_array_source_80(Idx)
185482 , p_source_81 => l_array_source_81(Idx)
185483 , p_source_82 => l_array_source_82(Idx)
185484 , p_source_83 => l_array_source_83(Idx)
185485 , p_source_84 => l_array_source_84(Idx)
185486 , p_source_84_meaning => l_array_source_84_meaning(Idx)
185487 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
185488 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
185489 , p_source_87 => l_array_source_87(Idx)
185490 , p_source_87_meaning => l_array_source_87_meaning(Idx)
185491 , p_source_161 => l_array_source_161(Idx)
185492 , p_source_162 => l_array_source_162(Idx)
185493 );
185494 If(l_balance_type_code = 'A') THEN
185495 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185496 END IF;
185497
185498 --
185499
185500
185501 --
185502 AcctLineType_220 (
185503 p_application_id => p_application_id
185504 ,p_event_id => l_event_id
185505 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185506 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185507 ,p_actual_flag => l_actual_flag
185508 ,p_balance_type_code => l_balance_type_code
185509 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185510
185511 , p_source_1 => l_array_source_1(Idx)
185512 , p_source_9 => l_array_source_9(Idx)
185513 , p_source_18 => l_array_source_18(Idx)
185514 , p_source_21 => l_array_source_21(Idx)
185515 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185516 , p_source_41 => l_array_source_41(Idx)
185517 , p_source_43 => l_array_source_43(Idx)
185518 , p_source_45 => l_array_source_45(Idx)
185519 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185520 , p_source_52 => l_array_source_52(Idx)
185521 , p_source_53 => l_array_source_53(Idx)
185522 , p_source_54 => l_array_source_54(Idx)
185523 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185524 , p_source_56 => l_array_source_56(Idx)
185525 , p_source_57 => l_array_source_57(Idx)
185526 , p_source_58 => l_array_source_58(Idx)
185527 , p_source_59 => l_array_source_59(Idx)
185528 , p_source_60 => l_array_source_60(Idx)
185529 , p_source_61 => l_array_source_61(Idx)
185530 , p_source_65 => l_array_source_65(Idx)
185531 , p_source_66 => l_array_source_66(Idx)
185532 , p_source_67 => l_array_source_67(Idx)
185533 , p_source_68 => l_array_source_68(Idx)
185534 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185535 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185536 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185537 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185538 , p_source_72 => l_array_source_72(Idx)
185539 , p_source_73 => l_array_source_73(Idx)
185540 , p_source_74 => l_array_source_74(Idx)
185541 , p_source_75 => l_array_source_75(Idx)
185542 , p_source_76 => l_array_source_76(Idx)
185543 , p_source_77 => l_array_source_77(Idx)
185544 , p_source_78 => l_array_source_78(Idx)
185545 , p_source_79 => l_array_source_79(Idx)
185546 , p_source_80 => l_array_source_80(Idx)
185547 , p_source_81 => l_array_source_81(Idx)
185548 , p_source_82 => l_array_source_82(Idx)
185549 , p_source_83 => l_array_source_83(Idx)
185550 , p_source_135 => l_array_source_135(Idx)
185551 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185552 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185553 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185554 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185555 );
185556 If(l_balance_type_code = 'A') THEN
185557 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185558 END IF;
185559
185560 --
185561
185562
185563 --
185564 AcctLineType_221 (
185565 p_application_id => p_application_id
185566 ,p_event_id => l_event_id
185567 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185568 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185569 ,p_actual_flag => l_actual_flag
185570 ,p_balance_type_code => l_balance_type_code
185571 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185572
185573 , p_source_21 => l_array_source_21(Idx)
185574 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185575 , p_source_41 => l_array_source_41(Idx)
185579 , p_source_52 => l_array_source_52(Idx)
185576 , p_source_43 => l_array_source_43(Idx)
185577 , p_source_45 => l_array_source_45(Idx)
185578 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185580 , p_source_53 => l_array_source_53(Idx)
185581 , p_source_54 => l_array_source_54(Idx)
185582 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185583 , p_source_56 => l_array_source_56(Idx)
185584 , p_source_57 => l_array_source_57(Idx)
185585 , p_source_58 => l_array_source_58(Idx)
185586 , p_source_59 => l_array_source_59(Idx)
185587 , p_source_60 => l_array_source_60(Idx)
185588 , p_source_65 => l_array_source_65(Idx)
185589 , p_source_66 => l_array_source_66(Idx)
185590 , p_source_67 => l_array_source_67(Idx)
185591 , p_source_68 => l_array_source_68(Idx)
185592 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185593 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185594 , p_source_72 => l_array_source_72(Idx)
185595 , p_source_73 => l_array_source_73(Idx)
185596 , p_source_74 => l_array_source_74(Idx)
185597 , p_source_75 => l_array_source_75(Idx)
185598 , p_source_76 => l_array_source_76(Idx)
185599 , p_source_77 => l_array_source_77(Idx)
185600 , p_source_78 => l_array_source_78(Idx)
185601 , p_source_79 => l_array_source_79(Idx)
185602 , p_source_80 => l_array_source_80(Idx)
185603 , p_source_81 => l_array_source_81(Idx)
185604 , p_source_82 => l_array_source_82(Idx)
185605 , p_source_83 => l_array_source_83(Idx)
185606 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
185607 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
185608 , p_source_87 => l_array_source_87(Idx)
185609 , p_source_87_meaning => l_array_source_87_meaning(Idx)
185610 , p_source_135 => l_array_source_135(Idx)
185611 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185612 , p_source_143 => l_array_source_143(Idx)
185613 , p_source_144 => l_array_source_144(Idx)
185614 );
185615 If(l_balance_type_code = 'A') THEN
185616 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185617 END IF;
185618
185619 --
185620
185621
185622 --
185623 AcctLineType_229 (
185624 p_application_id => p_application_id
185625 ,p_event_id => l_event_id
185626 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185627 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185628 ,p_actual_flag => l_actual_flag
185629 ,p_balance_type_code => l_balance_type_code
185630 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185631
185632 , p_source_1 => l_array_source_1(Idx)
185633 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
185634 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
185635 , p_source_9 => l_array_source_9(Idx)
185636 , p_source_18 => l_array_source_18(Idx)
185637 , p_source_21 => l_array_source_21(Idx)
185638 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185639 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
185640 , p_source_30 => l_array_source_30(Idx)
185641 , p_source_41 => l_array_source_41(Idx)
185642 , p_source_43 => l_array_source_43(Idx)
185643 , p_source_45 => l_array_source_45(Idx)
185644 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185645 , p_source_52 => l_array_source_52(Idx)
185646 , p_source_53 => l_array_source_53(Idx)
185647 , p_source_54 => l_array_source_54(Idx)
185648 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185649 , p_source_56 => l_array_source_56(Idx)
185650 , p_source_57 => l_array_source_57(Idx)
185651 , p_source_58 => l_array_source_58(Idx)
185652 , p_source_59 => l_array_source_59(Idx)
185653 , p_source_60 => l_array_source_60(Idx)
185654 , p_source_61 => l_array_source_61(Idx)
185655 , p_source_65 => l_array_source_65(Idx)
185656 , p_source_66 => l_array_source_66(Idx)
185657 , p_source_67 => l_array_source_67(Idx)
185658 , p_source_68 => l_array_source_68(Idx)
185659 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185660 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185661 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185662 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185663 , p_source_72 => l_array_source_72(Idx)
185664 , p_source_73 => l_array_source_73(Idx)
185665 , p_source_74 => l_array_source_74(Idx)
185666 , p_source_75 => l_array_source_75(Idx)
185667 , p_source_76 => l_array_source_76(Idx)
185668 , p_source_77 => l_array_source_77(Idx)
185669 , p_source_78 => l_array_source_78(Idx)
185670 , p_source_79 => l_array_source_79(Idx)
185671 , p_source_80 => l_array_source_80(Idx)
185672 , p_source_81 => l_array_source_81(Idx)
185673 , p_source_82 => l_array_source_82(Idx)
185674 , p_source_83 => l_array_source_83(Idx)
185675 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185676 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185677 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185678 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
185679 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
185680 );
185681 If(l_balance_type_code = 'A') THEN
185682 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185683 END IF;
185684
185685 --
185686
185687
185688 --
185689 AcctLineType_232 (
185690 p_application_id => p_application_id
185691 ,p_event_id => l_event_id
185692 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185693 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185697
185694 ,p_actual_flag => l_actual_flag
185695 ,p_balance_type_code => l_balance_type_code
185696 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185698 , p_source_21 => l_array_source_21(Idx)
185699 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185700 , p_source_41 => l_array_source_41(Idx)
185701 , p_source_43 => l_array_source_43(Idx)
185702 , p_source_45 => l_array_source_45(Idx)
185703 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185704 , p_source_52 => l_array_source_52(Idx)
185705 , p_source_53 => l_array_source_53(Idx)
185706 , p_source_54 => l_array_source_54(Idx)
185707 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185708 , p_source_56 => l_array_source_56(Idx)
185709 , p_source_57 => l_array_source_57(Idx)
185710 , p_source_58 => l_array_source_58(Idx)
185711 , p_source_59 => l_array_source_59(Idx)
185712 , p_source_60 => l_array_source_60(Idx)
185713 , p_source_65 => l_array_source_65(Idx)
185714 , p_source_66 => l_array_source_66(Idx)
185715 , p_source_67 => l_array_source_67(Idx)
185716 , p_source_68 => l_array_source_68(Idx)
185717 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185718 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185719 , p_source_72 => l_array_source_72(Idx)
185720 , p_source_73 => l_array_source_73(Idx)
185721 , p_source_74 => l_array_source_74(Idx)
185722 , p_source_75 => l_array_source_75(Idx)
185723 , p_source_76 => l_array_source_76(Idx)
185724 , p_source_77 => l_array_source_77(Idx)
185725 , p_source_78 => l_array_source_78(Idx)
185726 , p_source_79 => l_array_source_79(Idx)
185727 , p_source_80 => l_array_source_80(Idx)
185728 , p_source_81 => l_array_source_81(Idx)
185729 , p_source_82 => l_array_source_82(Idx)
185730 , p_source_83 => l_array_source_83(Idx)
185731 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
185732 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
185733 , p_source_87 => l_array_source_87(Idx)
185734 , p_source_87_meaning => l_array_source_87_meaning(Idx)
185735 , p_source_135 => l_array_source_135(Idx)
185736 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185737 , p_source_143 => l_array_source_143(Idx)
185738 , p_source_144 => l_array_source_144(Idx)
185739 );
185740 If(l_balance_type_code = 'A') THEN
185741 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185742 END IF;
185743
185744 --
185745
185746
185747 --
185748 AcctLineType_237 (
185749 p_application_id => p_application_id
185750 ,p_event_id => l_event_id
185751 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185752 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185753 ,p_actual_flag => l_actual_flag
185754 ,p_balance_type_code => l_balance_type_code
185755 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185756
185757 , p_source_1 => l_array_source_1(Idx)
185758 , p_source_9 => l_array_source_9(Idx)
185759 , p_source_21 => l_array_source_21(Idx)
185760 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185761 , p_source_38 => l_array_source_38(Idx)
185762 , p_source_41 => l_array_source_41(Idx)
185763 , p_source_43 => l_array_source_43(Idx)
185764 , p_source_45 => l_array_source_45(Idx)
185765 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185766 , p_source_52 => l_array_source_52(Idx)
185767 , p_source_53 => l_array_source_53(Idx)
185768 , p_source_54 => l_array_source_54(Idx)
185769 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185770 , p_source_56 => l_array_source_56(Idx)
185771 , p_source_57 => l_array_source_57(Idx)
185772 , p_source_58 => l_array_source_58(Idx)
185773 , p_source_59 => l_array_source_59(Idx)
185774 , p_source_60 => l_array_source_60(Idx)
185775 , p_source_61 => l_array_source_61(Idx)
185776 , p_source_65 => l_array_source_65(Idx)
185777 , p_source_66 => l_array_source_66(Idx)
185778 , p_source_67 => l_array_source_67(Idx)
185779 , p_source_68 => l_array_source_68(Idx)
185780 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185781 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185782 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185783 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185784 , p_source_72 => l_array_source_72(Idx)
185785 , p_source_73 => l_array_source_73(Idx)
185786 , p_source_74 => l_array_source_74(Idx)
185787 , p_source_75 => l_array_source_75(Idx)
185788 , p_source_76 => l_array_source_76(Idx)
185789 , p_source_77 => l_array_source_77(Idx)
185790 , p_source_78 => l_array_source_78(Idx)
185791 , p_source_79 => l_array_source_79(Idx)
185792 , p_source_80 => l_array_source_80(Idx)
185793 , p_source_81 => l_array_source_81(Idx)
185794 , p_source_82 => l_array_source_82(Idx)
185795 , p_source_83 => l_array_source_83(Idx)
185796 , p_source_84 => l_array_source_84(Idx)
185797 , p_source_84_meaning => l_array_source_84_meaning(Idx)
185798 , p_source_135 => l_array_source_135(Idx)
185799 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185800 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185801 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185802 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185803 );
185804 If(l_balance_type_code = 'A') THEN
185805 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185806 END IF;
185807
185808 --
185809
185810
185811 --
185812 AcctLineType_241 (
185813 p_application_id => p_application_id
185814 ,p_event_id => l_event_id
185818 ,p_balance_type_code => l_balance_type_code
185815 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185816 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185817 ,p_actual_flag => l_actual_flag
185819 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185820
185821 , p_source_1 => l_array_source_1(Idx)
185822 , p_source_9 => l_array_source_9(Idx)
185823 , p_source_21 => l_array_source_21(Idx)
185824 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185825 , p_source_38 => l_array_source_38(Idx)
185826 , p_source_41 => l_array_source_41(Idx)
185827 , p_source_43 => l_array_source_43(Idx)
185828 , p_source_45 => l_array_source_45(Idx)
185829 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185830 , p_source_52 => l_array_source_52(Idx)
185831 , p_source_53 => l_array_source_53(Idx)
185832 , p_source_54 => l_array_source_54(Idx)
185833 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185834 , p_source_56 => l_array_source_56(Idx)
185835 , p_source_57 => l_array_source_57(Idx)
185836 , p_source_58 => l_array_source_58(Idx)
185837 , p_source_59 => l_array_source_59(Idx)
185838 , p_source_60 => l_array_source_60(Idx)
185839 , p_source_61 => l_array_source_61(Idx)
185840 , p_source_65 => l_array_source_65(Idx)
185841 , p_source_66 => l_array_source_66(Idx)
185842 , p_source_67 => l_array_source_67(Idx)
185843 , p_source_68 => l_array_source_68(Idx)
185844 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185845 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185846 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185847 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185848 , p_source_72 => l_array_source_72(Idx)
185849 , p_source_73 => l_array_source_73(Idx)
185850 , p_source_74 => l_array_source_74(Idx)
185851 , p_source_75 => l_array_source_75(Idx)
185852 , p_source_76 => l_array_source_76(Idx)
185853 , p_source_77 => l_array_source_77(Idx)
185854 , p_source_78 => l_array_source_78(Idx)
185855 , p_source_79 => l_array_source_79(Idx)
185856 , p_source_80 => l_array_source_80(Idx)
185857 , p_source_81 => l_array_source_81(Idx)
185858 , p_source_82 => l_array_source_82(Idx)
185859 , p_source_83 => l_array_source_83(Idx)
185860 , p_source_135 => l_array_source_135(Idx)
185861 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185862 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185863 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185864 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185865 );
185866 If(l_balance_type_code = 'A') THEN
185867 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185868 END IF;
185869
185870 --
185871
185872
185873 --
185874 AcctLineType_244 (
185875 p_application_id => p_application_id
185876 ,p_event_id => l_event_id
185877 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185878 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185879 ,p_actual_flag => l_actual_flag
185880 ,p_balance_type_code => l_balance_type_code
185881 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185882
185883 , p_source_1 => l_array_source_1(Idx)
185884 , p_source_9 => l_array_source_9(Idx)
185885 , p_source_21 => l_array_source_21(Idx)
185886 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185887 , p_source_39 => l_array_source_39(Idx)
185888 , p_source_41 => l_array_source_41(Idx)
185889 , p_source_43 => l_array_source_43(Idx)
185890 , p_source_45 => l_array_source_45(Idx)
185891 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185892 , p_source_52 => l_array_source_52(Idx)
185893 , p_source_53 => l_array_source_53(Idx)
185894 , p_source_54 => l_array_source_54(Idx)
185895 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185896 , p_source_56 => l_array_source_56(Idx)
185897 , p_source_57 => l_array_source_57(Idx)
185898 , p_source_58 => l_array_source_58(Idx)
185899 , p_source_59 => l_array_source_59(Idx)
185900 , p_source_60 => l_array_source_60(Idx)
185901 , p_source_61 => l_array_source_61(Idx)
185902 , p_source_65 => l_array_source_65(Idx)
185903 , p_source_66 => l_array_source_66(Idx)
185904 , p_source_67 => l_array_source_67(Idx)
185905 , p_source_68 => l_array_source_68(Idx)
185906 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185907 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185908 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185909 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185910 , p_source_72 => l_array_source_72(Idx)
185911 , p_source_73 => l_array_source_73(Idx)
185912 , p_source_74 => l_array_source_74(Idx)
185913 , p_source_75 => l_array_source_75(Idx)
185914 , p_source_76 => l_array_source_76(Idx)
185915 , p_source_77 => l_array_source_77(Idx)
185916 , p_source_78 => l_array_source_78(Idx)
185917 , p_source_79 => l_array_source_79(Idx)
185918 , p_source_80 => l_array_source_80(Idx)
185919 , p_source_81 => l_array_source_81(Idx)
185920 , p_source_82 => l_array_source_82(Idx)
185921 , p_source_83 => l_array_source_83(Idx)
185922 , p_source_135 => l_array_source_135(Idx)
185923 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185924 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
185925 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
185926 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
185927 );
185928 If(l_balance_type_code = 'A') THEN
185929 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185930 END IF;
185931
185932 --
185936 AcctLineType_249 (
185933
185934
185935 --
185937 p_application_id => p_application_id
185938 ,p_event_id => l_event_id
185939 ,p_calculate_acctd_flag => l_calculate_acctd_flag
185940 ,p_calculate_g_l_flag => l_calculate_g_l_flag
185941 ,p_actual_flag => l_actual_flag
185942 ,p_balance_type_code => l_balance_type_code
185943 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
185944
185945 , p_source_1 => l_array_source_1(Idx)
185946 , p_source_9 => l_array_source_9(Idx)
185947 , p_source_21 => l_array_source_21(Idx)
185948 , p_source_21_meaning => l_array_source_21_meaning(Idx)
185949 , p_source_38 => l_array_source_38(Idx)
185950 , p_source_41 => l_array_source_41(Idx)
185951 , p_source_43 => l_array_source_43(Idx)
185952 , p_source_45 => l_array_source_45(Idx)
185953 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
185954 , p_source_52 => l_array_source_52(Idx)
185955 , p_source_53 => l_array_source_53(Idx)
185956 , p_source_54 => l_array_source_54(Idx)
185957 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
185958 , p_source_56 => l_array_source_56(Idx)
185959 , p_source_57 => l_array_source_57(Idx)
185960 , p_source_58 => l_array_source_58(Idx)
185961 , p_source_59 => l_array_source_59(Idx)
185962 , p_source_60 => l_array_source_60(Idx)
185963 , p_source_61 => l_array_source_61(Idx)
185964 , p_source_62 => l_array_source_62(Idx)
185965 , p_source_63 => l_array_source_63(Idx)
185966 , p_source_64 => l_array_source_64(Idx)
185967 , p_source_65 => l_array_source_65(Idx)
185968 , p_source_66 => l_array_source_66(Idx)
185969 , p_source_67 => l_array_source_67(Idx)
185970 , p_source_68 => l_array_source_68(Idx)
185971 , p_source_68_meaning => l_array_source_68_meaning(Idx)
185972 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
185973 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
185974 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
185975 , p_source_72 => l_array_source_72(Idx)
185976 , p_source_73 => l_array_source_73(Idx)
185977 , p_source_74 => l_array_source_74(Idx)
185978 , p_source_75 => l_array_source_75(Idx)
185979 , p_source_76 => l_array_source_76(Idx)
185980 , p_source_77 => l_array_source_77(Idx)
185981 , p_source_78 => l_array_source_78(Idx)
185982 , p_source_79 => l_array_source_79(Idx)
185983 , p_source_80 => l_array_source_80(Idx)
185984 , p_source_81 => l_array_source_81(Idx)
185985 , p_source_82 => l_array_source_82(Idx)
185986 , p_source_83 => l_array_source_83(Idx)
185987 , p_source_84 => l_array_source_84(Idx)
185988 , p_source_84_meaning => l_array_source_84_meaning(Idx)
185989 , p_source_135 => l_array_source_135(Idx)
185990 , p_source_135_meaning => l_array_source_135_meaning(Idx)
185991 );
185992 If(l_balance_type_code = 'A') THEN
185993 l_actual_gain_loss_ref := l_gain_or_loss_ref;
185994 END IF;
185995
185996 --
185997
185998
185999 --
186000 AcctLineType_252 (
186001 p_application_id => p_application_id
186002 ,p_event_id => l_event_id
186003 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186004 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186005 ,p_actual_flag => l_actual_flag
186006 ,p_balance_type_code => l_balance_type_code
186007 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186008
186009 , p_source_21 => l_array_source_21(Idx)
186010 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186011 , p_source_41 => l_array_source_41(Idx)
186012 , p_source_43 => l_array_source_43(Idx)
186013 , p_source_45 => l_array_source_45(Idx)
186014 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186015 , p_source_52 => l_array_source_52(Idx)
186016 , p_source_53 => l_array_source_53(Idx)
186017 , p_source_54 => l_array_source_54(Idx)
186018 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186019 , p_source_56 => l_array_source_56(Idx)
186020 , p_source_57 => l_array_source_57(Idx)
186021 , p_source_58 => l_array_source_58(Idx)
186022 , p_source_59 => l_array_source_59(Idx)
186023 , p_source_60 => l_array_source_60(Idx)
186024 , p_source_65 => l_array_source_65(Idx)
186025 , p_source_66 => l_array_source_66(Idx)
186026 , p_source_67 => l_array_source_67(Idx)
186027 , p_source_68 => l_array_source_68(Idx)
186028 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186029 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186030 , p_source_72 => l_array_source_72(Idx)
186031 , p_source_73 => l_array_source_73(Idx)
186032 , p_source_74 => l_array_source_74(Idx)
186033 , p_source_75 => l_array_source_75(Idx)
186034 , p_source_76 => l_array_source_76(Idx)
186035 , p_source_77 => l_array_source_77(Idx)
186036 , p_source_78 => l_array_source_78(Idx)
186037 , p_source_79 => l_array_source_79(Idx)
186038 , p_source_80 => l_array_source_80(Idx)
186039 , p_source_81 => l_array_source_81(Idx)
186040 , p_source_82 => l_array_source_82(Idx)
186041 , p_source_83 => l_array_source_83(Idx)
186042 , p_source_84 => l_array_source_84(Idx)
186043 , p_source_84_meaning => l_array_source_84_meaning(Idx)
186044 , p_source_85 => l_array_source_85(Idx)
186045 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
186046 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
186047 , p_source_87 => l_array_source_87(Idx)
186048 , p_source_87_meaning => l_array_source_87_meaning(Idx)
186049 , p_source_88 => l_array_source_88(Idx)
186050 );
186051 If(l_balance_type_code = 'A') THEN
186052 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186056
186053 END IF;
186054
186055 --
186057
186058 --
186059 AcctLineType_257 (
186060 p_application_id => p_application_id
186061 ,p_event_id => l_event_id
186062 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186063 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186064 ,p_actual_flag => l_actual_flag
186065 ,p_balance_type_code => l_balance_type_code
186066 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186067
186068 , p_source_21 => l_array_source_21(Idx)
186069 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186070 , p_source_41 => l_array_source_41(Idx)
186071 , p_source_43 => l_array_source_43(Idx)
186072 , p_source_45 => l_array_source_45(Idx)
186073 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186074 , p_source_52 => l_array_source_52(Idx)
186075 , p_source_53 => l_array_source_53(Idx)
186076 , p_source_54 => l_array_source_54(Idx)
186077 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186078 , p_source_56 => l_array_source_56(Idx)
186079 , p_source_57 => l_array_source_57(Idx)
186080 , p_source_58 => l_array_source_58(Idx)
186081 , p_source_59 => l_array_source_59(Idx)
186082 , p_source_60 => l_array_source_60(Idx)
186083 , p_source_65 => l_array_source_65(Idx)
186084 , p_source_66 => l_array_source_66(Idx)
186085 , p_source_67 => l_array_source_67(Idx)
186086 , p_source_68 => l_array_source_68(Idx)
186087 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186088 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186089 , p_source_72 => l_array_source_72(Idx)
186090 , p_source_73 => l_array_source_73(Idx)
186091 , p_source_74 => l_array_source_74(Idx)
186092 , p_source_75 => l_array_source_75(Idx)
186093 , p_source_76 => l_array_source_76(Idx)
186094 , p_source_77 => l_array_source_77(Idx)
186095 , p_source_78 => l_array_source_78(Idx)
186096 , p_source_79 => l_array_source_79(Idx)
186097 , p_source_80 => l_array_source_80(Idx)
186098 , p_source_81 => l_array_source_81(Idx)
186099 , p_source_82 => l_array_source_82(Idx)
186100 , p_source_83 => l_array_source_83(Idx)
186101 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
186102 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
186103 , p_source_87 => l_array_source_87(Idx)
186104 , p_source_87_meaning => l_array_source_87_meaning(Idx)
186105 , p_source_143 => l_array_source_143(Idx)
186106 , p_source_144 => l_array_source_144(Idx)
186107 );
186108 If(l_balance_type_code = 'A') THEN
186109 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186110 END IF;
186111
186112 --
186113
186114
186115 --
186116 AcctLineType_261 (
186117 p_application_id => p_application_id
186118 ,p_event_id => l_event_id
186119 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186120 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186121 ,p_actual_flag => l_actual_flag
186122 ,p_balance_type_code => l_balance_type_code
186123 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186124
186125 , p_source_1 => l_array_source_1(Idx)
186126 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
186127 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
186128 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
186129 , p_source_9 => l_array_source_9(Idx)
186130 , p_source_10 => l_array_source_10(Idx)
186131 , p_source_10_meaning => l_array_source_10_meaning(Idx)
186132 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
186133 , p_source_18 => l_array_source_18(Idx)
186134 , p_source_21 => l_array_source_21(Idx)
186135 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186136 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
186137 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
186138 , p_source_41 => l_array_source_41(Idx)
186139 , p_source_43 => l_array_source_43(Idx)
186140 , p_source_45 => l_array_source_45(Idx)
186141 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186142 , p_source_52 => l_array_source_52(Idx)
186143 , p_source_53 => l_array_source_53(Idx)
186144 , p_source_54 => l_array_source_54(Idx)
186145 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186146 , p_source_56 => l_array_source_56(Idx)
186147 , p_source_57 => l_array_source_57(Idx)
186148 , p_source_58 => l_array_source_58(Idx)
186149 , p_source_59 => l_array_source_59(Idx)
186150 , p_source_60 => l_array_source_60(Idx)
186151 , p_source_61 => l_array_source_61(Idx)
186152 , p_source_65 => l_array_source_65(Idx)
186153 , p_source_66 => l_array_source_66(Idx)
186154 , p_source_67 => l_array_source_67(Idx)
186155 , p_source_68 => l_array_source_68(Idx)
186156 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186157 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
186158 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
186159 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186160 , p_source_72 => l_array_source_72(Idx)
186161 , p_source_73 => l_array_source_73(Idx)
186162 , p_source_74 => l_array_source_74(Idx)
186163 , p_source_75 => l_array_source_75(Idx)
186164 , p_source_76 => l_array_source_76(Idx)
186165 , p_source_77 => l_array_source_77(Idx)
186166 , p_source_78 => l_array_source_78(Idx)
186167 , p_source_79 => l_array_source_79(Idx)
186168 , p_source_80 => l_array_source_80(Idx)
186169 , p_source_81 => l_array_source_81(Idx)
186170 , p_source_82 => l_array_source_82(Idx)
186171 , p_source_83 => l_array_source_83(Idx)
186175 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
186172 , p_source_84 => l_array_source_84(Idx)
186173 , p_source_84_meaning => l_array_source_84_meaning(Idx)
186174 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
186176 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
186177 );
186178 If(l_balance_type_code = 'A') THEN
186179 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186180 END IF;
186181
186182 --
186183
186184
186185 --
186186 AcctLineType_265 (
186187 p_application_id => p_application_id
186188 ,p_event_id => l_event_id
186189 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186190 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186191 ,p_actual_flag => l_actual_flag
186192 ,p_balance_type_code => l_balance_type_code
186193 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186194
186195 , p_source_1 => l_array_source_1(Idx)
186196 , p_source_9 => l_array_source_9(Idx)
186197 , p_source_18 => l_array_source_18(Idx)
186198 , p_source_21 => l_array_source_21(Idx)
186199 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186200 , p_source_41 => l_array_source_41(Idx)
186201 , p_source_43 => l_array_source_43(Idx)
186202 , p_source_45 => l_array_source_45(Idx)
186203 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186204 , p_source_52 => l_array_source_52(Idx)
186205 , p_source_53 => l_array_source_53(Idx)
186206 , p_source_54 => l_array_source_54(Idx)
186207 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186208 , p_source_56 => l_array_source_56(Idx)
186209 , p_source_57 => l_array_source_57(Idx)
186210 , p_source_58 => l_array_source_58(Idx)
186211 , p_source_59 => l_array_source_59(Idx)
186212 , p_source_60 => l_array_source_60(Idx)
186213 , p_source_61 => l_array_source_61(Idx)
186214 , p_source_65 => l_array_source_65(Idx)
186215 , p_source_66 => l_array_source_66(Idx)
186216 , p_source_67 => l_array_source_67(Idx)
186217 , p_source_68 => l_array_source_68(Idx)
186218 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186219 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
186220 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
186221 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186222 , p_source_72 => l_array_source_72(Idx)
186223 , p_source_73 => l_array_source_73(Idx)
186224 , p_source_74 => l_array_source_74(Idx)
186225 , p_source_75 => l_array_source_75(Idx)
186226 , p_source_76 => l_array_source_76(Idx)
186227 , p_source_77 => l_array_source_77(Idx)
186228 , p_source_78 => l_array_source_78(Idx)
186229 , p_source_79 => l_array_source_79(Idx)
186230 , p_source_80 => l_array_source_80(Idx)
186231 , p_source_81 => l_array_source_81(Idx)
186232 , p_source_82 => l_array_source_82(Idx)
186233 , p_source_83 => l_array_source_83(Idx)
186234 , p_source_84 => l_array_source_84(Idx)
186235 , p_source_84_meaning => l_array_source_84_meaning(Idx)
186236 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
186237 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
186238 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
186239 );
186240 If(l_balance_type_code = 'A') THEN
186241 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186242 END IF;
186243
186244 --
186245
186246
186247 --
186248 AcctLineType_266 (
186249 p_application_id => p_application_id
186250 ,p_event_id => l_event_id
186251 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186252 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186253 ,p_actual_flag => l_actual_flag
186254 ,p_balance_type_code => l_balance_type_code
186255 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186256
186257 , p_source_21 => l_array_source_21(Idx)
186258 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186259 , p_source_41 => l_array_source_41(Idx)
186260 , p_source_43 => l_array_source_43(Idx)
186261 , p_source_45 => l_array_source_45(Idx)
186262 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186263 , p_source_52 => l_array_source_52(Idx)
186264 , p_source_53 => l_array_source_53(Idx)
186265 , p_source_54 => l_array_source_54(Idx)
186266 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186267 , p_source_56 => l_array_source_56(Idx)
186268 , p_source_57 => l_array_source_57(Idx)
186269 , p_source_58 => l_array_source_58(Idx)
186270 , p_source_59 => l_array_source_59(Idx)
186271 , p_source_60 => l_array_source_60(Idx)
186272 , p_source_65 => l_array_source_65(Idx)
186273 , p_source_66 => l_array_source_66(Idx)
186274 , p_source_67 => l_array_source_67(Idx)
186275 , p_source_68 => l_array_source_68(Idx)
186276 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186277 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186278 , p_source_72 => l_array_source_72(Idx)
186279 , p_source_73 => l_array_source_73(Idx)
186280 , p_source_74 => l_array_source_74(Idx)
186281 , p_source_75 => l_array_source_75(Idx)
186282 , p_source_76 => l_array_source_76(Idx)
186283 , p_source_77 => l_array_source_77(Idx)
186284 , p_source_78 => l_array_source_78(Idx)
186285 , p_source_79 => l_array_source_79(Idx)
186286 , p_source_80 => l_array_source_80(Idx)
186287 , p_source_81 => l_array_source_81(Idx)
186288 , p_source_82 => l_array_source_82(Idx)
186289 , p_source_83 => l_array_source_83(Idx)
186290 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
186294 , p_source_143 => l_array_source_143(Idx)
186291 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
186292 , p_source_87 => l_array_source_87(Idx)
186293 , p_source_87_meaning => l_array_source_87_meaning(Idx)
186295 , p_source_144 => l_array_source_144(Idx)
186296 );
186297 If(l_balance_type_code = 'A') THEN
186298 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186299 END IF;
186300
186301 --
186302
186303
186304 --
186305 AcctLineType_273 (
186306 p_application_id => p_application_id
186307 ,p_event_id => l_event_id
186308 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186309 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186310 ,p_actual_flag => l_actual_flag
186311 ,p_balance_type_code => l_balance_type_code
186312 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186313
186314 , p_source_21 => l_array_source_21(Idx)
186315 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186316 , p_source_41 => l_array_source_41(Idx)
186317 , p_source_43 => l_array_source_43(Idx)
186318 , p_source_45 => l_array_source_45(Idx)
186319 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186320 , p_source_52 => l_array_source_52(Idx)
186321 , p_source_53 => l_array_source_53(Idx)
186322 , p_source_54 => l_array_source_54(Idx)
186323 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186324 , p_source_56 => l_array_source_56(Idx)
186325 , p_source_57 => l_array_source_57(Idx)
186326 , p_source_58 => l_array_source_58(Idx)
186327 , p_source_59 => l_array_source_59(Idx)
186328 , p_source_60 => l_array_source_60(Idx)
186329 , p_source_65 => l_array_source_65(Idx)
186330 , p_source_66 => l_array_source_66(Idx)
186331 , p_source_67 => l_array_source_67(Idx)
186332 , p_source_68 => l_array_source_68(Idx)
186333 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186334 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186335 , p_source_72 => l_array_source_72(Idx)
186336 , p_source_73 => l_array_source_73(Idx)
186337 , p_source_74 => l_array_source_74(Idx)
186338 , p_source_75 => l_array_source_75(Idx)
186339 , p_source_76 => l_array_source_76(Idx)
186340 , p_source_77 => l_array_source_77(Idx)
186341 , p_source_78 => l_array_source_78(Idx)
186342 , p_source_79 => l_array_source_79(Idx)
186343 , p_source_80 => l_array_source_80(Idx)
186344 , p_source_81 => l_array_source_81(Idx)
186345 , p_source_82 => l_array_source_82(Idx)
186346 , p_source_83 => l_array_source_83(Idx)
186347 , p_source_84 => l_array_source_84(Idx)
186348 , p_source_84_meaning => l_array_source_84_meaning(Idx)
186349 , p_source_85 => l_array_source_85(Idx)
186350 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
186351 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
186352 , p_source_87 => l_array_source_87(Idx)
186353 , p_source_87_meaning => l_array_source_87_meaning(Idx)
186354 , p_source_161 => l_array_source_161(Idx)
186355 , p_source_162 => l_array_source_162(Idx)
186356 );
186357 If(l_balance_type_code = 'A') THEN
186358 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186359 END IF;
186360
186361 --
186362
186363
186364 --
186365 AcctLineType_277 (
186366 p_application_id => p_application_id
186367 ,p_event_id => l_event_id
186368 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186369 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186370 ,p_actual_flag => l_actual_flag
186371 ,p_balance_type_code => l_balance_type_code
186372 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186373
186374 , p_source_1 => l_array_source_1(Idx)
186375 , p_source_9 => l_array_source_9(Idx)
186376 , p_source_18 => l_array_source_18(Idx)
186377 , p_source_21 => l_array_source_21(Idx)
186378 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186379 , p_source_41 => l_array_source_41(Idx)
186380 , p_source_43 => l_array_source_43(Idx)
186381 , p_source_45 => l_array_source_45(Idx)
186382 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186383 , p_source_52 => l_array_source_52(Idx)
186384 , p_source_53 => l_array_source_53(Idx)
186385 , p_source_54 => l_array_source_54(Idx)
186386 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186387 , p_source_56 => l_array_source_56(Idx)
186388 , p_source_57 => l_array_source_57(Idx)
186389 , p_source_58 => l_array_source_58(Idx)
186390 , p_source_59 => l_array_source_59(Idx)
186391 , p_source_60 => l_array_source_60(Idx)
186392 , p_source_61 => l_array_source_61(Idx)
186393 , p_source_65 => l_array_source_65(Idx)
186394 , p_source_66 => l_array_source_66(Idx)
186395 , p_source_67 => l_array_source_67(Idx)
186396 , p_source_68 => l_array_source_68(Idx)
186397 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186398 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
186399 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
186400 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186401 , p_source_72 => l_array_source_72(Idx)
186402 , p_source_73 => l_array_source_73(Idx)
186403 , p_source_74 => l_array_source_74(Idx)
186404 , p_source_75 => l_array_source_75(Idx)
186405 , p_source_76 => l_array_source_76(Idx)
186406 , p_source_77 => l_array_source_77(Idx)
186407 , p_source_78 => l_array_source_78(Idx)
186408 , p_source_79 => l_array_source_79(Idx)
186409 , p_source_80 => l_array_source_80(Idx)
186410 , p_source_81 => l_array_source_81(Idx)
186414 , p_source_84_meaning => l_array_source_84_meaning(Idx)
186411 , p_source_82 => l_array_source_82(Idx)
186412 , p_source_83 => l_array_source_83(Idx)
186413 , p_source_84 => l_array_source_84(Idx)
186415 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
186416 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
186417 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
186418 );
186419 If(l_balance_type_code = 'A') THEN
186420 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186421 END IF;
186422
186423 --
186424
186425
186426 --
186427 AcctLineType_278 (
186428 p_application_id => p_application_id
186429 ,p_event_id => l_event_id
186430 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186431 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186432 ,p_actual_flag => l_actual_flag
186433 ,p_balance_type_code => l_balance_type_code
186434 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186435
186436 , p_source_21 => l_array_source_21(Idx)
186437 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186438 , p_source_41 => l_array_source_41(Idx)
186439 , p_source_43 => l_array_source_43(Idx)
186440 , p_source_45 => l_array_source_45(Idx)
186441 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186442 , p_source_52 => l_array_source_52(Idx)
186443 , p_source_53 => l_array_source_53(Idx)
186444 , p_source_54 => l_array_source_54(Idx)
186445 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186446 , p_source_56 => l_array_source_56(Idx)
186447 , p_source_57 => l_array_source_57(Idx)
186448 , p_source_58 => l_array_source_58(Idx)
186449 , p_source_59 => l_array_source_59(Idx)
186450 , p_source_60 => l_array_source_60(Idx)
186451 , p_source_65 => l_array_source_65(Idx)
186452 , p_source_66 => l_array_source_66(Idx)
186453 , p_source_67 => l_array_source_67(Idx)
186454 , p_source_68 => l_array_source_68(Idx)
186455 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186456 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186457 , p_source_72 => l_array_source_72(Idx)
186458 , p_source_73 => l_array_source_73(Idx)
186459 , p_source_74 => l_array_source_74(Idx)
186460 , p_source_75 => l_array_source_75(Idx)
186461 , p_source_76 => l_array_source_76(Idx)
186462 , p_source_77 => l_array_source_77(Idx)
186463 , p_source_78 => l_array_source_78(Idx)
186464 , p_source_79 => l_array_source_79(Idx)
186465 , p_source_80 => l_array_source_80(Idx)
186466 , p_source_81 => l_array_source_81(Idx)
186467 , p_source_82 => l_array_source_82(Idx)
186468 , p_source_83 => l_array_source_83(Idx)
186469 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
186470 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
186471 , p_source_87 => l_array_source_87(Idx)
186472 , p_source_87_meaning => l_array_source_87_meaning(Idx)
186473 , p_source_143 => l_array_source_143(Idx)
186474 , p_source_144 => l_array_source_144(Idx)
186475 );
186476 If(l_balance_type_code = 'A') THEN
186477 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186478 END IF;
186479
186480 --
186481
186482
186483 --
186484 AcctLineType_287 (
186485 p_application_id => p_application_id
186486 ,p_event_id => l_event_id
186487 ,p_calculate_acctd_flag => l_calculate_acctd_flag
186488 ,p_calculate_g_l_flag => l_calculate_g_l_flag
186489 ,p_actual_flag => l_actual_flag
186490 ,p_balance_type_code => l_balance_type_code
186491 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
186492
186493 , p_source_1 => l_array_source_1(Idx)
186494 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
186495 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
186496 , p_source_9 => l_array_source_9(Idx)
186497 , p_source_18 => l_array_source_18(Idx)
186498 , p_source_21 => l_array_source_21(Idx)
186499 , p_source_21_meaning => l_array_source_21_meaning(Idx)
186500 , p_source_31 => l_array_source_31(Idx)
186501 , p_source_41 => l_array_source_41(Idx)
186502 , p_source_43 => l_array_source_43(Idx)
186503 , p_source_45 => l_array_source_45(Idx)
186504 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
186505 , p_source_52 => l_array_source_52(Idx)
186506 , p_source_53 => l_array_source_53(Idx)
186507 , p_source_54 => l_array_source_54(Idx)
186508 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
186509 , p_source_56 => l_array_source_56(Idx)
186510 , p_source_57 => l_array_source_57(Idx)
186511 , p_source_58 => l_array_source_58(Idx)
186512 , p_source_59 => l_array_source_59(Idx)
186513 , p_source_60 => l_array_source_60(Idx)
186514 , p_source_61 => l_array_source_61(Idx)
186515 , p_source_65 => l_array_source_65(Idx)
186516 , p_source_66 => l_array_source_66(Idx)
186517 , p_source_67 => l_array_source_67(Idx)
186518 , p_source_68 => l_array_source_68(Idx)
186519 , p_source_68_meaning => l_array_source_68_meaning(Idx)
186520 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
186521 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
186522 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
186523 , p_source_72 => l_array_source_72(Idx)
186524 , p_source_73 => l_array_source_73(Idx)
186525 , p_source_74 => l_array_source_74(Idx)
186526 , p_source_75 => l_array_source_75(Idx)
186527 , p_source_76 => l_array_source_76(Idx)
186528 , p_source_77 => l_array_source_77(Idx)
186529 , p_source_78 => l_array_source_78(Idx)
186530 , p_source_79 => l_array_source_79(Idx)
186534 , p_source_83 => l_array_source_83(Idx)
186531 , p_source_80 => l_array_source_80(Idx)
186532 , p_source_81 => l_array_source_81(Idx)
186533 , p_source_82 => l_array_source_82(Idx)
186535 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
186536 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
186537 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
186538 );
186539 If(l_balance_type_code = 'A') THEN
186540 l_actual_gain_loss_ref := l_gain_or_loss_ref;
186541 END IF;
186542
186543 --
186544
186545 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
186546 -- or secondary ledger that has different currency with primary
186547 -- or alc that is calculated by sla
186548 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
186549 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y'))
186550
186551 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
186552 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
186553 AND (l_actual_flag = 'A')) THEN
186554 XLA_AE_LINES_PKG.CreateGainOrLossLines(
186555 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
186556 ,p_application_id => p_application_id
186557 ,p_amb_context_code => 'DEFAULT'
186558 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
186559 ,p_event_class_code => C_EVENT_CLASS_CODE
186560 ,p_event_type_code => C_EVENT_TYPE_CODE
186561
186562 ,p_gain_ccid => -1
186563 ,p_loss_ccid => -1
186564
186565 ,p_actual_flag => l_actual_flag
186566 ,p_enc_flag => null
186567 ,p_actual_g_l_ref => l_actual_gain_loss_ref
186568 ,p_enc_g_l_ref => null
186569 );
186570 END IF;
186571 END IF;
186572 END IF;
186573
186574 ELSE
186575 --
186576 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
186577 --
186578 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
186579 trace
186580 (p_msg => 'Trancaction revesal option is Y'
186581 ,p_level => C_LEVEL_STATEMENT
186582 ,p_module => l_log_module);
186583 END IF;
186584 END IF;
186585
186586 END LOOP;
186587 l_result := XLA_AE_LINES_PKG.InsertLines ;
186588 end loop;
186589 close line_cur;
186590
186591
186592 --
186593 -- insert headers into xla_ae_headers_gt table
186594 --
186595 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
186596
186597 -- insert into errors table here.
186598
186599 END LOOP;
186600
186601 --
186602 -- 4865292
186603 --
186604 -- Compare g_hdr_extract_count with event count in
186605 -- CreateHeadersAndLines.
186606 --
186607 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
186608
186609 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
186610 trace (p_msg => '# rows extracted from header extract objects '
186611 || ' (running total): '
186612 || g_hdr_extract_count
186613 ,p_level => C_LEVEL_STATEMENT
186614 ,p_module => l_log_module);
186615 END IF;
186616
186617 CLOSE header_cur;
186618 --
186619
186620 --
186621 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
186622 trace
186623 (p_msg => 'END of EventClass_291'
186624 ,p_level => C_LEVEL_PROCEDURE
186625 ,p_module => l_log_module);
186626 END IF;
186627 --
186628 RETURN l_result;
186629 EXCEPTION
186630 WHEN xla_exceptions_pkg.application_exception THEN
186631
186632 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
186633
186634
186635 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
186636
186637 RAISE;
186638
186639 WHEN NO_DATA_FOUND THEN
186640
186641 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
186642 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
186643
186644 FOR header_record IN header_cur
186645 LOOP
186646 l_array_header_events(header_record.event_id) := header_record.event_id;
186647 END LOOP;
186648
186649 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
186650 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
186651
186652 fnd_file.put_line(fnd_file.LOG, ' ');
186653 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
186654 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
186655 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
186656
186657 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
186658 LOOP
186659 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
186660 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
186661 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
186662 END IF;
186663 END LOOP;
186664
186665 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
186666 fnd_file.put_line(fnd_file.LOG, ' ');
186667
186668
186672
186669 xla_exceptions_pkg.raise_message
186670 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_291');
186671
186673 WHEN OTHERS THEN
186674 xla_exceptions_pkg.raise_message
186675 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_291');
186676 END EventClass_291;
186677 --
186678
186679 ---------------------------------------
186680 --
186681 -- PRIVATE PROCEDURE
186682 -- insert_sources_292
186683 --
186684 ----------------------------------------
186685 --
186686 PROCEDURE insert_sources_292(
186687 p_target_ledger_id IN NUMBER
186688 , p_language IN VARCHAR2
186689 , p_sla_ledger_id IN NUMBER
186690 , p_pad_start_date IN DATE
186691 , p_pad_end_date IN DATE
186692 )
186693 IS
186694
186695 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
186696 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
186697 p_apps_owner VARCHAR2(30);
186698 l_log_module VARCHAR2(240);
186699 BEGIN
186700 IF g_log_enabled THEN
186701 l_log_module := C_DEFAULT_MODULE||'.insert_sources_292';
186702 END IF;
186703 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
186704
186705 trace
186706 (p_msg => 'BEGIN of insert_sources_292'
186707 ,p_level => C_LEVEL_PROCEDURE
186708 ,p_module => l_log_module);
186709
186710 END IF;
186711
186712 -- select APPS owner
186713 SELECT oracle_username
186714 INTO p_apps_owner
186715 FROM fnd_oracle_userid
186716 WHERE read_only_flag = 'U'
186717 ;
186718
186719 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
186720 trace
186721 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
186722 ' - p_language = '||p_language||
186723 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
186724 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
186725 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
186726 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
186727 ,p_level => C_LEVEL_STATEMENT
186728 ,p_module => l_log_module);
186729 END IF;
186730
186731
186732 --
186733 INSERT INTO xla_diag_sources --hdr2
186734 (
186735 event_id
186736 , ledger_id
186737 , sla_ledger_id
186738 , description_language
186739 , object_name
186740 , object_type_code
186741 , line_number
186742 , source_application_id
186743 , source_type_code
186744 , source_code
186745 , source_value
186746 , source_meaning
186747 , created_by
186748 , creation_date
186749 , last_update_date
186750 , last_updated_by
186751 , last_update_login
186752 , program_update_date
186753 , program_application_id
186754 , program_id
186755 , request_id
186756 )
186757 SELECT
186758 event_id
186759 , p_target_ledger_id
186760 , p_sla_ledger_id
186761 , p_language
186762 , object_name
186763 , object_type_code
186764 , line_number
186765 , source_application_id
186766 , source_type_code
186767 , source_code
186768 , SUBSTR(source_value ,1,1996)
186769 , SUBSTR(source_meaning ,1,200)
186770 , xla_environment_pkg.g_Usr_Id
186771 , TRUNC(SYSDATE)
186772 , TRUNC(SYSDATE)
186773 , xla_environment_pkg.g_Usr_Id
186774 , xla_environment_pkg.g_Login_Id
186775 , TRUNC(SYSDATE)
186776 , xla_environment_pkg.g_Prog_Appl_Id
186777 , xla_environment_pkg.g_Prog_Id
186778 , xla_environment_pkg.g_Req_Id
186779 FROM (
186780 SELECT xet.event_id event_id
186781 , 0 line_number
186782 , CASE r
186783 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
186784 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
186785 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
186786 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186787 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
186788 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
186789 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186790 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186791 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186792 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186793 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186794 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
186795 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186796 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186797 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186798 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186799 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186800 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
186801
186802 ELSE null
186803 END object_name
186804 , CASE r
186805 WHEN 1 THEN 'HEADER'
186806 WHEN 2 THEN 'HEADER'
186807 WHEN 3 THEN 'HEADER'
186808 WHEN 4 THEN 'HEADER'
186812 WHEN 8 THEN 'HEADER'
186809 WHEN 5 THEN 'HEADER'
186810 WHEN 6 THEN 'HEADER'
186811 WHEN 7 THEN 'HEADER'
186813 WHEN 9 THEN 'HEADER'
186814 WHEN 10 THEN 'HEADER'
186815 WHEN 11 THEN 'HEADER'
186816 WHEN 12 THEN 'HEADER'
186817 WHEN 13 THEN 'HEADER'
186818 WHEN 14 THEN 'HEADER'
186819 WHEN 15 THEN 'HEADER'
186820 WHEN 16 THEN 'HEADER'
186821 WHEN 17 THEN 'HEADER'
186822 WHEN 18 THEN 'HEADER'
186823
186824 ELSE null
186825 END object_type_code
186826 , CASE r
186827 WHEN 1 THEN '200'
186828 WHEN 2 THEN '200'
186829 WHEN 3 THEN '200'
186830 WHEN 4 THEN '200'
186831 WHEN 5 THEN '200'
186832 WHEN 6 THEN '200'
186833 WHEN 7 THEN '200'
186834 WHEN 8 THEN '200'
186835 WHEN 9 THEN '200'
186836 WHEN 10 THEN '200'
186837 WHEN 11 THEN '200'
186838 WHEN 12 THEN '200'
186839 WHEN 13 THEN '200'
186840 WHEN 14 THEN '200'
186841 WHEN 15 THEN '200'
186842 WHEN 16 THEN '200'
186843 WHEN 17 THEN '200'
186844 WHEN 18 THEN '200'
186845
186846 ELSE null
186847 END source_application_id
186848 , 'S' source_type_code
186849 , CASE r
186850 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
186851 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
186852 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
186853 WHEN 4 THEN 'AI_ACCTS_PAY_CCID'
186854 WHEN 5 THEN 'FSP_RETAINAGE_ACCOUNT'
186855 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
186856 WHEN 7 THEN 'AI_INVOICE_ID'
186857 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
186858 WHEN 9 THEN 'AI_VENDOR_ID'
186859 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
186860 WHEN 11 THEN 'THIRD_PARTY_TYPE'
186861 WHEN 12 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
186862 WHEN 13 THEN 'INV_EXCHANGE_DATE'
186863 WHEN 14 THEN 'INV_EXCHANGE_RATE'
186864 WHEN 15 THEN 'INV_EXCHANGE_RATE_TYPE'
186865 WHEN 16 THEN 'INV_DOC_SEQUENCE_CATEGORY'
186866 WHEN 17 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
186867 WHEN 18 THEN 'INV_DOC_SEQUENCE_VALUE'
186868
186869 ELSE null
186870 END source_code
186871 , CASE r
186872 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
186873 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
186874 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
186875 WHEN 4 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
186876 WHEN 5 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
186877 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
186878 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
186879 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
186880 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
186881 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
186882 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
186883 WHEN 12 THEN TO_CHAR(h4.FSP_PURCH_ENCUMBRANCE_FLAG)
186884 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
186885 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
186886 WHEN 15 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
186887 WHEN 16 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
186888 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
186889 WHEN 18 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
186890
186891 ELSE null
186892 END source_value
186893 , CASE r
186894 WHEN 1 THEN fvl3.meaning
186895 WHEN 6 THEN fvl35.meaning
186896 WHEN 12 THEN fvl86.meaning
186897
186898 ELSE null
186899 END source_meaning
186900 FROM xla_events_gt xet
186901 , AP_INVOICE_EXTRACT_HEADER_V h2
186902 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
186903 , fnd_lookup_values fvl3
186904 , fnd_lookup_values fvl35
186905 , fnd_lookup_values fvl86
186906 ,(select rownum r from all_objects where rownum <= 18 and owner = p_apps_owner)
186907 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
186908 AND xet.event_class_code = C_EVENT_CLASS_CODE
186909 AND h2.event_id = xet.event_id
186910 AND h4.asp_org_id= h2.ai_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
186911 AND fvl3.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
186912 AND fvl3.view_application_id(+) = 200
186913 AND fvl3.language(+) = USERENV('LANG')
186914 AND fvl35.lookup_type(+) = 'YES_NO'
186915 AND fvl35.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
186916 AND fvl35.view_application_id(+) = 0
186917 AND fvl35.language(+) = USERENV('LANG')
186918 AND fvl86.lookup_type(+) = 'YES_NO'
186922
186919 AND fvl86.lookup_code(+) = h4.FSP_PURCH_ENCUMBRANCE_FLAG
186920 AND fvl86.view_application_id(+) = 0
186921 AND fvl86.language(+) = USERENV('LANG')
186923 )
186924 ;
186925 --
186926 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
186927
186928 trace
186929 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
186930 ,p_level => C_LEVEL_STATEMENT
186931 ,p_module => l_log_module);
186932
186933 END IF;
186934 --
186935
186936
186937
186938 --
186939 INSERT INTO xla_diag_sources --line2
186940 (
186941 event_id
186942 , ledger_id
186943 , sla_ledger_id
186944 , description_language
186945 , object_name
186946 , object_type_code
186947 , line_number
186948 , source_application_id
186949 , source_type_code
186950 , source_code
186951 , source_value
186952 , source_meaning
186953 , created_by
186954 , creation_date
186955 , last_update_date
186956 , last_updated_by
186957 , last_update_login
186958 , program_update_date
186959 , program_application_id
186960 , program_id
186961 , request_id
186962 )
186963 SELECT event_id
186964 , p_target_ledger_id
186965 , p_sla_ledger_id
186966 , p_language
186967 , object_name
186968 , object_type_code
186969 , line_number
186970 , source_application_id
186971 , source_type_code
186972 , source_code
186973 , SUBSTR(source_value,1,1996)
186974 , SUBSTR(source_meaning ,1,200)
186975 , xla_environment_pkg.g_Usr_Id
186976 , TRUNC(SYSDATE)
186977 , TRUNC(SYSDATE)
186978 , xla_environment_pkg.g_Usr_Id
186979 , xla_environment_pkg.g_Login_Id
186980 , TRUNC(SYSDATE)
186981 , xla_environment_pkg.g_Prog_Appl_Id
186982 , xla_environment_pkg.g_Prog_Id
186983 , xla_environment_pkg.g_Req_Id
186984 FROM (
186985 SELECT xet.event_id event_id
186986 , l1.line_number line_number
186987 , CASE r
186988 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186989 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186990 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186991 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186992 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186993 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186994 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186995 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186996 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186997 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186998 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
186999 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187000 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187001 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187002 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187003 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187004 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187005 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187006 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187007 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187008 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187009 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187010 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187011 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187012 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187013 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187014 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
187015 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
187016 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
187017 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187018 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187019 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187020 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187021 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187022 WHEN 35 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
187023 WHEN 36 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
187024 WHEN 37 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187025 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187026 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187027 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187028 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187029 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187030 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187031 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187032 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187033 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187034 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187035 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187036 WHEN 49 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187037 WHEN 50 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187038 WHEN 51 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187039 WHEN 52 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187040 WHEN 53 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
187044 , CASE r
187041
187042 ELSE null
187043 END object_name
187045 WHEN 1 THEN 'LINE'
187046 WHEN 2 THEN 'LINE'
187047 WHEN 3 THEN 'LINE'
187048 WHEN 4 THEN 'LINE'
187049 WHEN 5 THEN 'LINE'
187050 WHEN 6 THEN 'LINE'
187051 WHEN 7 THEN 'LINE'
187052 WHEN 8 THEN 'LINE'
187053 WHEN 9 THEN 'LINE'
187054 WHEN 10 THEN 'LINE'
187055 WHEN 11 THEN 'LINE'
187056 WHEN 12 THEN 'LINE'
187057 WHEN 13 THEN 'LINE'
187058 WHEN 14 THEN 'LINE'
187059 WHEN 15 THEN 'LINE'
187060 WHEN 16 THEN 'LINE'
187061 WHEN 17 THEN 'LINE'
187062 WHEN 18 THEN 'LINE'
187063 WHEN 19 THEN 'LINE'
187064 WHEN 20 THEN 'LINE'
187065 WHEN 21 THEN 'LINE'
187066 WHEN 22 THEN 'LINE'
187067 WHEN 23 THEN 'LINE'
187068 WHEN 24 THEN 'LINE'
187069 WHEN 25 THEN 'LINE'
187070 WHEN 26 THEN 'LINE'
187071 WHEN 27 THEN 'LINE'
187072 WHEN 28 THEN 'LINE'
187073 WHEN 29 THEN 'LINE'
187074 WHEN 30 THEN 'LINE'
187075 WHEN 31 THEN 'LINE'
187076 WHEN 32 THEN 'LINE'
187077 WHEN 33 THEN 'LINE'
187078 WHEN 34 THEN 'LINE'
187079 WHEN 35 THEN 'LINE'
187080 WHEN 36 THEN 'LINE'
187081 WHEN 37 THEN 'LINE'
187082 WHEN 38 THEN 'LINE'
187083 WHEN 39 THEN 'LINE'
187084 WHEN 40 THEN 'LINE'
187085 WHEN 41 THEN 'LINE'
187086 WHEN 42 THEN 'LINE'
187087 WHEN 43 THEN 'LINE'
187088 WHEN 44 THEN 'LINE'
187089 WHEN 45 THEN 'LINE'
187090 WHEN 46 THEN 'LINE'
187091 WHEN 47 THEN 'LINE'
187092 WHEN 48 THEN 'LINE'
187093 WHEN 49 THEN 'LINE'
187094 WHEN 50 THEN 'LINE'
187095 WHEN 51 THEN 'LINE'
187096 WHEN 52 THEN 'LINE'
187097 WHEN 53 THEN 'LINE'
187098
187099 ELSE null
187100 END object_type_code
187101 , CASE r
187102 WHEN 1 THEN '200'
187103 WHEN 2 THEN '200'
187104 WHEN 3 THEN '200'
187105 WHEN 4 THEN '200'
187106 WHEN 5 THEN '200'
187107 WHEN 6 THEN '200'
187108 WHEN 7 THEN '200'
187109 WHEN 8 THEN '200'
187110 WHEN 9 THEN '200'
187111 WHEN 10 THEN '200'
187112 WHEN 11 THEN '200'
187113 WHEN 12 THEN '200'
187114 WHEN 13 THEN '200'
187115 WHEN 14 THEN '200'
187116 WHEN 15 THEN '200'
187117 WHEN 16 THEN '200'
187118 WHEN 17 THEN '200'
187119 WHEN 18 THEN '200'
187120 WHEN 19 THEN '200'
187121 WHEN 20 THEN '200'
187122 WHEN 21 THEN '200'
187123 WHEN 22 THEN '200'
187124 WHEN 23 THEN '200'
187125 WHEN 24 THEN '200'
187126 WHEN 25 THEN '200'
187127 WHEN 26 THEN '200'
187128 WHEN 27 THEN '200'
187129 WHEN 28 THEN '200'
187130 WHEN 29 THEN '200'
187131 WHEN 30 THEN '200'
187132 WHEN 31 THEN '200'
187133 WHEN 32 THEN '200'
187134 WHEN 33 THEN '200'
187135 WHEN 34 THEN '200'
187136 WHEN 35 THEN '200'
187137 WHEN 36 THEN '200'
187138 WHEN 37 THEN '200'
187139 WHEN 38 THEN '200'
187140 WHEN 39 THEN '200'
187141 WHEN 40 THEN '200'
187142 WHEN 41 THEN '200'
187143 WHEN 42 THEN '200'
187144 WHEN 43 THEN '200'
187145 WHEN 44 THEN '200'
187146 WHEN 45 THEN '200'
187147 WHEN 46 THEN '200'
187148 WHEN 47 THEN '200'
187149 WHEN 48 THEN '200'
187150 WHEN 49 THEN '200'
187151 WHEN 50 THEN '200'
187152 WHEN 51 THEN '200'
187153 WHEN 52 THEN '200'
187154 WHEN 53 THEN '200'
187155
187156 ELSE null
187157 END source_application_id
187158 , 'S' source_type_code
187159 , CASE r
187160 WHEN 1 THEN 'AID_DESCRIPTION'
187161 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
187162 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
187163 WHEN 4 THEN 'AID_DIST_CCID'
187164 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
187165 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
187166 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
187167 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
187171 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
187168 WHEN 9 THEN 'ASAT_LIAB_CCID'
187169 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
187170 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
187172 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
187173 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
187174 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
187175 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
187176 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
187177 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
187178 WHEN 19 THEN 'UPG_ENC_CR_CCID'
187179 WHEN 20 THEN 'UPG_ENC_CR_AMT'
187180 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
187181 WHEN 22 THEN 'UPG_ENC_DR_CCID'
187182 WHEN 23 THEN 'UPG_ENC_DR_AMT'
187183 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
187184 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
187185 WHEN 26 THEN 'AID_AMOUNT'
187186 WHEN 27 THEN 'POH_RATE_DATE'
187187 WHEN 28 THEN 'POH_RATE'
187188 WHEN 29 THEN 'POH_RATE_TYPE'
187189 WHEN 30 THEN 'DEFERRED_END_DATE'
187190 WHEN 31 THEN 'DEFERRED_OPTION'
187191 WHEN 32 THEN 'DEFERRED_START_DATE'
187192 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
187193 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
187194 WHEN 35 THEN 'TAX_LINE_ID'
187195 WHEN 36 THEN 'REC_NREC_TAX_DIST_ID'
187196 WHEN 37 THEN 'SUMMARY_TAX_LINE_ID'
187197 WHEN 38 THEN 'UPG_CR_ENC_TYPE_ID'
187198 WHEN 39 THEN 'UPG_DR_ENC_TYPE_ID'
187199 WHEN 40 THEN 'BUS_FLOW_AP_APP_ID'
187200 WHEN 41 THEN 'BUS_FLOW_INV_DIST_TYPE'
187201 WHEN 42 THEN 'BUS_FLOW_INV_ENTITY_CODE'
187202 WHEN 43 THEN 'BUS_FLOW_INV_DIST_ID'
187203 WHEN 44 THEN 'BUS_FLOW_INV_ID'
187204 WHEN 45 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
187205 WHEN 46 THEN 'AID_AMOUNT_VARIANCE'
187206 WHEN 47 THEN 'AID_ENCUMBERED_FLAG'
187207 WHEN 48 THEN 'AID_BASE_AMOUNT_VARIANCE'
187208 WHEN 49 THEN 'SELF_ASSESSED_TAX_FLAG'
187209 WHEN 50 THEN 'ENCUMBRANCE_AMOUNT'
187210 WHEN 51 THEN 'ENCUMBRANCE_BASE_AMOUNT'
187211 WHEN 52 THEN 'AID_QUANTITY_VARIANCE'
187212 WHEN 53 THEN 'AID_BASE_QUANTITY_VARIANCE'
187213
187214 ELSE null
187215 END source_code
187216 , CASE r
187217 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
187218 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
187219 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
187220 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
187221 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
187222 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
187223 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
187224 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
187225 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
187226 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
187227 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
187228 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
187229 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
187230 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
187231 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
187232 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
187233 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
187234 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
187235 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
187236 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
187237 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
187238 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
187239 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
187240 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
187241 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
187242 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
187243 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
187244 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
187245 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
187246 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
187247 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
187248 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
187249 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
187250 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
187251 WHEN 35 THEN TO_CHAR(l5.TAX_LINE_ID)
187252 WHEN 36 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
187253 WHEN 37 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
187254 WHEN 38 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
187255 WHEN 39 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
187256 WHEN 40 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
187257 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
187258 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
187259 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
187260 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
187261 WHEN 45 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
187265 WHEN 49 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
187262 WHEN 46 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
187263 WHEN 47 THEN TO_CHAR(l1.AID_ENCUMBERED_FLAG)
187264 WHEN 48 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
187266 WHEN 50 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
187267 WHEN 51 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
187268 WHEN 52 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
187269 WHEN 53 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
187270
187271 ELSE null
187272 END source_value
187273 , CASE r
187274 WHEN 3 THEN fvl10.meaning
187275 WHEN 5 THEN fvl21.meaning
187276 WHEN 33 THEN fvl68.meaning
187277 WHEN 45 THEN fvl84.meaning
187278 WHEN 47 THEN fvl87.meaning
187279 WHEN 49 THEN fvl135.meaning
187280
187281 ELSE null
187282 END source_meaning
187283 FROM xla_events_gt xet
187284 , AP_INVOICE_EXTRACT_DETAILS_V l1
187285 , AP_PO_HEADERS_EXTRACT_V l3
187286 , ZX_AP_DEF_TAX_EXTRACT_V l5
187287 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
187288 , fnd_lookup_values fvl10
187289 , fnd_lookup_values fvl21
187290 , fnd_lookup_values fvl68
187291 , fnd_lookup_values fvl84
187292 , fnd_lookup_values fvl87
187293 , fnd_lookup_values fvl135
187294 , (select rownum r from all_objects where rownum <= 53 and owner = p_apps_owner)
187295 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
187296 AND xet.event_class_code = C_EVENT_CLASS_CODE
187297 AND l1.event_id = xet.event_id
187298 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl10.lookup_type(+) = 'DESTINATION TYPE'
187299 AND fvl10.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
187300 AND fvl10.view_application_id(+) = 201
187301 AND fvl10.language(+) = USERENV('LANG')
187302 AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
187303 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
187304 AND fvl21.view_application_id(+) = 200
187305 AND fvl21.language(+) = USERENV('LANG')
187306 AND fvl68.lookup_type(+) = 'YES_NO'
187307 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
187308 AND fvl68.view_application_id(+) = 0
187309 AND fvl68.language(+) = USERENV('LANG')
187310 AND fvl84.lookup_type(+) = 'YES_NO'
187311 AND fvl84.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
187312 AND fvl84.view_application_id(+) = 0
187313 AND fvl84.language(+) = USERENV('LANG')
187314 AND fvl87.lookup_type(+) = 'YES_NO'
187315 AND fvl87.lookup_code(+) = l1.AID_ENCUMBERED_FLAG
187316 AND fvl87.view_application_id(+) = 0
187317 AND fvl87.language(+) = USERENV('LANG')
187318 AND fvl135.lookup_type(+) = 'YES_NO'
187319 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
187320 AND fvl135.view_application_id(+) = 0
187321 AND fvl135.language(+) = USERENV('LANG')
187322
187323 )
187324 ;
187325 --
187326 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
187327
187328 trace
187329 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
187330 ,p_level => C_LEVEL_STATEMENT
187331 ,p_module => l_log_module);
187332
187333 END IF;
187334
187335
187336 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
187337 trace
187338 (p_msg => 'END of insert_sources_292'
187339 ,p_level => C_LEVEL_PROCEDURE
187340 ,p_module => l_log_module);
187341 END IF;
187342 EXCEPTION
187343 WHEN xla_exceptions_pkg.application_exception THEN
187344 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
187345 trace
187346 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
187347 ,p_level => C_LEVEL_EXCEPTION
187348 ,p_module => l_log_module);
187349 END IF;
187350 RAISE;
187351 WHEN OTHERS THEN
187352 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
187353 trace
187354 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
187355 ,p_level => C_LEVEL_EXCEPTION
187356 ,p_module => l_log_module);
187357 END IF;
187358 xla_exceptions_pkg.raise_message
187359 (p_location => 'XLA_00200_AAD_S_000006_PKG.insert_sources_292');
187360 END insert_sources_292;
187361 --
187362
187363 ---------------------------------------
187364 --
187365 -- PRIVATE FUNCTION
187366 -- EventClass_292
187367 --
187368 ----------------------------------------
187369 --
187370 FUNCTION EventClass_292
187371 (p_application_id IN NUMBER
187372 ,p_base_ledger_id IN NUMBER
187373 ,p_target_ledger_id IN NUMBER
187374 ,p_language IN VARCHAR2
187375 ,p_currency_code IN VARCHAR2
187376 ,p_sla_ledger_id IN NUMBER
187377 ,p_pad_start_date IN DATE
187378 ,p_pad_end_date IN DATE
187379 ,p_primary_ledger_id IN NUMBER)
187380 RETURN BOOLEAN IS
187381 --
187382 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS_ALL';
187386 l_calculate_g_l_flag VARCHAR2(1) :='N';
187383 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'DEBIT MEMOS';
187384
187385 l_calculate_acctd_flag VARCHAR2(1) :='N';
187387 --
187388 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187389 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187390 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
187391 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
187392 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187393 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
187394 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
187395 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187396 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
187397 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
187398 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187399 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187400 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187401 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
187402 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
187403 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
187404 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
187405 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
187406 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
187407 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
187408 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
187409 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
187410 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
187411 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
187412 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
187413 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
187414
187415 l_event_id NUMBER;
187416 l_previous_event_id NUMBER;
187417 l_first_event_id NUMBER;
187418 l_last_event_id NUMBER;
187419
187420 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
187421 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
187422 --
187423 --
187424 l_result BOOLEAN := TRUE;
187425 l_rows NUMBER := 1000;
187426 l_event_type_name VARCHAR2(80) := 'All';
187427 l_event_class_name VARCHAR2(80) := 'Debit Memos';
187428 l_description VARCHAR2(4000);
187429 l_transaction_reversal NUMBER;
187430 l_ae_header_id NUMBER;
187431 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
187432 l_log_module VARCHAR2(240);
187433 --
187434 l_acct_reversal_source VARCHAR2(30);
187435 l_trx_reversal_source VARCHAR2(30);
187436
187437 l_continue_with_lines BOOLEAN := TRUE;
187438 --
187439 l_acc_rev_gl_date_source DATE; -- 4262811
187440 --
187441 type t_array_event_id is table of number index by binary_integer;
187442
187443 l_rec_array_event t_rec_array_event;
187444 l_null_rec_array_event t_rec_array_event;
187445 l_array_ae_header_id xla_number_array_type;
187446 l_actual_flag VARCHAR2(1) := NULL;
187447 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
187448 l_balance_type_code VARCHAR2(1) :=NULL;
187449 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
187450
187451 --
187452 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
187453 --
187454
187455 TYPE t_array_source_3 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
187456 TYPE t_array_source_8 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
187457 TYPE t_array_source_11 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
187458 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
187459 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
187460 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
187461 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
187462 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
187463 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
187464 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
187465 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
187466 TYPE t_array_source_86 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
187467 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
187468 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
187472 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
187469 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
187470 TYPE t_array_source_165 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
187471 TYPE t_array_source_166 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
187473
187474 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
187475 TYPE t_array_source_9 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
187476 TYPE t_array_source_10 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
187477 TYPE t_array_source_18 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
187478 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
187479 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
187480 TYPE t_array_source_31 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
187481 TYPE t_array_source_38 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
187482 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
187483 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
187484 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
187485 TYPE t_array_source_45 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
187486 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
187487 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
187488 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
187489 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
187490 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
187491 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
187492 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
187493 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
187494 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
187495 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
187496 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
187497 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
187498 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
187499 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
187500 TYPE t_array_source_62 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
187501 TYPE t_array_source_63 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
187502 TYPE t_array_source_64 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
187503 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
187504 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
187505 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
187506 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
187507 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
187508 TYPE t_array_source_74 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
187509 TYPE t_array_source_75 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
187510 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
187511 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
187512 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
187513 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
187514 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
187515 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
187516 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
187517 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
187518 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
187519 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
187520 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_ENCUMBERED_FLAG%TYPE INDEX BY BINARY_INTEGER;
187521 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
187525 TYPE t_array_source_161 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
187522 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
187523 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
187524 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
187526 TYPE t_array_source_162 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
187527
187528 l_array_source_3 t_array_source_3;
187529 l_array_source_3_meaning t_array_lookup_meaning;
187530 l_array_source_8 t_array_source_8;
187531 l_array_source_11 t_array_source_11;
187532 l_array_source_22 t_array_source_22;
187533 l_array_source_28 t_array_source_28;
187534 l_array_source_35 t_array_source_35;
187535 l_array_source_35_meaning t_array_lookup_meaning;
187536 l_array_source_46 t_array_source_46;
187537 l_array_source_55 t_array_source_55;
187538 l_array_source_69 t_array_source_69;
187539 l_array_source_70 t_array_source_70;
187540 l_array_source_71 t_array_source_71;
187541 l_array_source_86 t_array_source_86;
187542 l_array_source_86_meaning t_array_lookup_meaning;
187543 l_array_source_136 t_array_source_136;
187544 l_array_source_137 t_array_source_137;
187545 l_array_source_138 t_array_source_138;
187546 l_array_source_165 t_array_source_165;
187547 l_array_source_166 t_array_source_166;
187548 l_array_source_167 t_array_source_167;
187549
187550 l_array_source_1 t_array_source_1;
187551 l_array_source_9 t_array_source_9;
187552 l_array_source_10 t_array_source_10;
187553 l_array_source_10_meaning t_array_lookup_meaning;
187554 l_array_source_18 t_array_source_18;
187555 l_array_source_21 t_array_source_21;
187556 l_array_source_21_meaning t_array_lookup_meaning;
187557 l_array_source_30 t_array_source_30;
187558 l_array_source_31 t_array_source_31;
187559 l_array_source_38 t_array_source_38;
187560 l_array_source_39 t_array_source_39;
187561 l_array_source_41 t_array_source_41;
187562 l_array_source_43 t_array_source_43;
187563 l_array_source_45 t_array_source_45;
187564 l_array_source_47 t_array_source_47;
187565 l_array_source_48 t_array_source_48;
187566 l_array_source_49 t_array_source_49;
187567 l_array_source_50 t_array_source_50;
187568 l_array_source_51 t_array_source_51;
187569 l_array_source_52 t_array_source_52;
187570 l_array_source_53 t_array_source_53;
187571 l_array_source_54 t_array_source_54;
187572 l_array_source_56 t_array_source_56;
187573 l_array_source_57 t_array_source_57;
187574 l_array_source_58 t_array_source_58;
187575 l_array_source_59 t_array_source_59;
187576 l_array_source_60 t_array_source_60;
187577 l_array_source_61 t_array_source_61;
187578 l_array_source_62 t_array_source_62;
187579 l_array_source_63 t_array_source_63;
187580 l_array_source_64 t_array_source_64;
187581 l_array_source_65 t_array_source_65;
187582 l_array_source_66 t_array_source_66;
187583 l_array_source_67 t_array_source_67;
187584 l_array_source_68 t_array_source_68;
187585 l_array_source_68_meaning t_array_lookup_meaning;
187586 l_array_source_72 t_array_source_72;
187587 l_array_source_74 t_array_source_74;
187588 l_array_source_75 t_array_source_75;
187589 l_array_source_76 t_array_source_76;
187590 l_array_source_77 t_array_source_77;
187591 l_array_source_78 t_array_source_78;
187592 l_array_source_79 t_array_source_79;
187593 l_array_source_80 t_array_source_80;
187594 l_array_source_81 t_array_source_81;
187595 l_array_source_82 t_array_source_82;
187596 l_array_source_83 t_array_source_83;
187597 l_array_source_84 t_array_source_84;
187598 l_array_source_84_meaning t_array_lookup_meaning;
187599 l_array_source_85 t_array_source_85;
187600 l_array_source_87 t_array_source_87;
187601 l_array_source_87_meaning t_array_lookup_meaning;
187602 l_array_source_88 t_array_source_88;
187603 l_array_source_135 t_array_source_135;
187604 l_array_source_135_meaning t_array_lookup_meaning;
187605 l_array_source_143 t_array_source_143;
187606 l_array_source_144 t_array_source_144;
187607 l_array_source_161 t_array_source_161;
187608 l_array_source_162 t_array_source_162;
187609
187610 --
187611 CURSOR header_cur
187612 IS
187613 SELECT /*+ leading(xet) cardinality(xet,1) */
187614 -- Event Class Code: DEBIT MEMOS
187615 xet.entity_id
187616 ,xet.legal_entity_id
187617 ,xet.entity_code
187618 ,xet.transaction_number
187619 ,xet.event_id
187620 ,xet.event_class_code
187621 ,xet.event_type_code
187622 ,xet.event_number
187623 ,xet.event_date
187624 ,xet.transaction_date
187625 ,xet.reference_num_1
187626 ,xet.reference_num_2
187627 ,xet.reference_num_3
187628 ,xet.reference_num_4
187629 ,xet.reference_char_1
187630 ,xet.reference_char_2
187631 ,xet.reference_char_3
187632 ,xet.reference_char_4
187633 ,xet.reference_date_1
187634 ,xet.reference_date_2
187635 ,xet.reference_date_3
187636 ,xet.reference_date_4
187637 ,xet.event_created_by
187638 ,xet.budgetary_control_flag
187642 , h4.ASP_RATE_VAR_LOSS_CCID source_11
187639 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_3
187640 , fvl3.meaning source_3_meaning
187641 , h4.ASP_RATE_VAR_GAIN_CCID source_8
187643 , h2.AI_ACCTS_PAY_CCID source_22
187644 , h4.FSP_RETAINAGE_ACCOUNT source_28
187645 , h4.ASP_AUTO_OFFSET_FLAG source_35
187646 , fvl35.meaning source_35_meaning
187647 , h2.AI_INVOICE_ID source_46
187648 , h2.AI_INVOICE_CURRENCY_CODE source_55
187649 , h2.AI_VENDOR_ID source_69
187650 , h2.AI_VENDOR_SITE_ID source_70
187651 , h2.THIRD_PARTY_TYPE source_71
187652 , h4.FSP_PURCH_ENCUMBRANCE_FLAG source_86
187653 , fvl86.meaning source_86_meaning
187654 , h2.INV_EXCHANGE_DATE source_136
187655 , h2.INV_EXCHANGE_RATE source_137
187656 , h2.INV_EXCHANGE_RATE_TYPE source_138
187657 , h2.INV_DOC_SEQUENCE_CATEGORY source_165
187658 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_166
187659 , h2.INV_DOC_SEQUENCE_VALUE source_167
187660 FROM xla_events_gt xet
187661 , AP_INVOICE_EXTRACT_HEADER_V h2
187662 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
187663 , fnd_lookup_values fvl3
187664 , fnd_lookup_values fvl35
187665 , fnd_lookup_values fvl86
187666 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
187667 and xet.event_class_code = C_EVENT_CLASS_CODE
187668 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
187669 AND h4.asp_org_id= h2.ai_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
187670 AND fvl3.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
187671 AND fvl3.view_application_id(+) = 200
187672 AND fvl3.language(+) = USERENV('LANG')
187673 AND fvl35.lookup_type(+) = 'YES_NO'
187674 AND fvl35.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
187675 AND fvl35.view_application_id(+) = 0
187676 AND fvl35.language(+) = USERENV('LANG')
187677 AND fvl86.lookup_type(+) = 'YES_NO'
187678 AND fvl86.lookup_code(+) = h4.FSP_PURCH_ENCUMBRANCE_FLAG
187679 AND fvl86.view_application_id(+) = 0
187680 AND fvl86.language(+) = USERENV('LANG')
187681
187682 ORDER BY event_id
187683 ;
187684
187685
187686 --
187687 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
187688 IS
187689 SELECT /*+ leading(xet) cardinality(xet,1) */
187690 -- Event Class Code: DEBIT MEMOS
187691 xet.entity_id
187692 ,xet.legal_entity_id
187693 ,xet.entity_code
187694 ,xet.transaction_number
187695 ,xet.event_id
187696 ,xet.event_class_code
187697 ,xet.event_type_code
187698 ,xet.event_number
187699 ,xet.event_date
187700 ,xet.transaction_date
187701 ,xet.reference_num_1
187702 ,xet.reference_num_2
187703 ,xet.reference_num_3
187704 ,xet.reference_num_4
187705 ,xet.reference_char_1
187706 ,xet.reference_char_2
187707 ,xet.reference_char_3
187708 ,xet.reference_char_4
187709 ,xet.reference_date_1
187710 ,xet.reference_date_2
187711 ,xet.reference_date_3
187712 ,xet.reference_date_4
187713 ,xet.event_created_by
187714 ,xet.budgetary_control_flag
187715 , l1.LINE_NUMBER
187716 , l1.AID_DESCRIPTION source_1
187717 , l1.INV_DIST_BASE_AMOUNT source_9
187718 , l1.RELATED_INV_DIST_DEST_TYPE source_10
187719 , fvl10.meaning source_10_meaning
187720 , l1.AID_DIST_CCID source_18
187721 , l1.AID_LINE_TYPE_LOOKUP_CODE source_21
187722 , fvl21.meaning source_21_meaning
187723 , l1.AID_RET_RELATED_DIST_CCID source_30
187724 , l1.AWT_RELATED_DIST_ACCOUNT source_31
187725 , l1.SELF_ASSESSED_TAX_ACCOUNT source_38
187726 , l1.ASAT_LIAB_CCID source_39
187727 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_41
187728 , l1.DISTRIBUTION_LINK_TYPE source_43
187729 , l1.ALLOC_TO_MAIN_DIST_ID source_45
187730 , l1.BUS_FLOW_PO_APP_ID source_47
187731 , l1.BUS_FLOW_PO_DIST_TYPE source_48
187732 , l1.BUS_FLOW_PO_ENTITY_CODE source_49
187733 , l1.BUS_FLOW_PO_DIST_ID source_50
187734 , l1.BUS_FLOW_PO_DOC_ID source_51
187735 , l1.AID_INVOICE_DIST_ID source_52
187736 , l1.UPG_ENC_CR_CCID source_53
187737 , l1.UPG_ENC_CR_AMT source_54
187738 , l1.UPG_ENC_CR_BASE_AMT source_56
187739 , l1.UPG_ENC_DR_CCID source_57
187740 , l1.UPG_ENC_DR_AMT source_58
187741 , l1.UPG_ENC_DR_BASE_AMT source_59
187742 , l1.UPG_AP_ENCUM_OPTION source_60
187743 , l1.AID_AMOUNT source_61
187744 , l3.POH_RATE_DATE source_62
187745 , l3.POH_RATE source_63
187746 , l3.POH_RATE_TYPE source_64
187747 , l1.DEFERRED_END_DATE source_65
187748 , l1.DEFERRED_OPTION source_66
187749 , l1.DEFERRED_START_DATE source_67
187750 , l1.OVERRIDE_ACCTD_AMT_FLAG source_68
187751 , fvl68.meaning source_68_meaning
187752 , l1.AID_PARENT_REVERSAL_ID source_72
187753 , l5.TAX_LINE_ID source_74
187754 , l6.REC_NREC_TAX_DIST_ID source_75
187755 , l1.SUMMARY_TAX_LINE_ID source_76
187756 , l1.UPG_CR_ENC_TYPE_ID source_77
187757 , l1.UPG_DR_ENC_TYPE_ID source_78
187758 , l1.BUS_FLOW_AP_APP_ID source_79
187759 , l1.BUS_FLOW_INV_DIST_TYPE source_80
187760 , l1.BUS_FLOW_INV_ENTITY_CODE source_81
187761 , l1.BUS_FLOW_INV_DIST_ID source_82
187762 , l1.BUS_FLOW_INV_ID source_83
187763 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_84
187764 , fvl84.meaning source_84_meaning
187765 , l1.AID_AMOUNT_VARIANCE source_85
187766 , l1.AID_ENCUMBERED_FLAG source_87
187770 , fvl135.meaning source_135_meaning
187767 , fvl87.meaning source_87_meaning
187768 , l1.AID_BASE_AMOUNT_VARIANCE source_88
187769 , l1.SELF_ASSESSED_TAX_FLAG source_135
187771 , l1.ENCUMBRANCE_AMOUNT source_143
187772 , l1.ENCUMBRANCE_BASE_AMOUNT source_144
187773 , l1.AID_QUANTITY_VARIANCE source_161
187774 , l1.AID_BASE_QUANTITY_VARIANCE source_162
187775 FROM xla_events_gt xet
187776 , AP_INVOICE_EXTRACT_DETAILS_V l1
187777 , AP_PO_HEADERS_EXTRACT_V l3
187778 , ZX_AP_DEF_TAX_EXTRACT_V l5
187779 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
187780 , fnd_lookup_values fvl10
187781 , fnd_lookup_values fvl21
187782 , fnd_lookup_values fvl68
187783 , fnd_lookup_values fvl84
187784 , fnd_lookup_values fvl87
187785 , fnd_lookup_values fvl135
187786 WHERE xet.event_id between x_first_event_id and x_last_event_id
187787 and xet.event_date between p_pad_start_date and p_pad_end_date
187788 and xet.event_class_code = C_EVENT_CLASS_CODE
187789 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
187790 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl10.lookup_type(+) = 'DESTINATION TYPE'
187791 AND fvl10.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
187792 AND fvl10.view_application_id(+) = 201
187793 AND fvl10.language(+) = USERENV('LANG')
187794 AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
187795 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
187796 AND fvl21.view_application_id(+) = 200
187797 AND fvl21.language(+) = USERENV('LANG')
187798 AND fvl68.lookup_type(+) = 'YES_NO'
187799 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
187800 AND fvl68.view_application_id(+) = 0
187801 AND fvl68.language(+) = USERENV('LANG')
187802 AND fvl84.lookup_type(+) = 'YES_NO'
187803 AND fvl84.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
187804 AND fvl84.view_application_id(+) = 0
187805 AND fvl84.language(+) = USERENV('LANG')
187806 AND fvl87.lookup_type(+) = 'YES_NO'
187807 AND fvl87.lookup_code(+) = l1.AID_ENCUMBERED_FLAG
187808 AND fvl87.view_application_id(+) = 0
187809 AND fvl87.language(+) = USERENV('LANG')
187810 AND fvl135.lookup_type(+) = 'YES_NO'
187811 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
187812 AND fvl135.view_application_id(+) = 0
187813 AND fvl135.language(+) = USERENV('LANG')
187814 ;
187815
187816 --
187817 BEGIN
187818 IF g_log_enabled THEN
187819 l_log_module := C_DEFAULT_MODULE||'.EventClass_292';
187820 END IF;
187821 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
187822 trace
187823 (p_msg => 'BEGIN of EventClass_292'
187824 ,p_level => C_LEVEL_PROCEDURE
187825 ,p_module => l_log_module);
187826 END IF;
187827
187828 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
187829 trace
187830 (p_msg => 'p_application_id = '||p_application_id||
187831 ' - p_base_ledger_id = '||p_base_ledger_id||
187832 ' - p_target_ledger_id = '||p_target_ledger_id||
187833 ' - p_language = '||p_language||
187834 ' - p_currency_code = '||p_currency_code||
187835 ' - p_sla_ledger_id = '||p_sla_ledger_id
187836 ,p_level => C_LEVEL_STATEMENT
187837 ,p_module => l_log_module);
187838 END IF;
187839 --
187840 -- initialze arrays
187841 --
187842 g_array_event.DELETE;
187843 l_rec_array_event := l_null_rec_array_event;
187844 --
187845 --------------------------------------
187846 -- 4262811 Initialze MPA Line Number
187847 --------------------------------------
187848 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
187849
187850 --
187851
187852 --
187853 OPEN header_cur;
187854 --
187855 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
187856 trace
187857 (p_msg => 'SQL - FETCH header_cur'
187858 ,p_level => C_LEVEL_STATEMENT
187859 ,p_module => l_log_module);
187860 END IF;
187861 --
187862 LOOP
187863 FETCH header_cur BULK COLLECT INTO
187864 l_array_entity_id
187865 , l_array_legal_entity_id
187866 , l_array_entity_code
187867 , l_array_transaction_num
187868 , l_array_event_id
187869 , l_array_class_code
187870 , l_array_event_type
187871 , l_array_event_number
187872 , l_array_event_date
187873 , l_array_transaction_date
187874 , l_array_reference_num_1
187875 , l_array_reference_num_2
187876 , l_array_reference_num_3
187877 , l_array_reference_num_4
187878 , l_array_reference_char_1
187879 , l_array_reference_char_2
187880 , l_array_reference_char_3
187881 , l_array_reference_char_4
187882 , l_array_reference_date_1
187883 , l_array_reference_date_2
187884 , l_array_reference_date_3
187885 , l_array_reference_date_4
187886 , l_array_event_created_by
187887 , l_array_budgetary_control_flag
187888 , l_array_source_3
187889 , l_array_source_3_meaning
187890 , l_array_source_8
187891 , l_array_source_11
187892 , l_array_source_22
187893 , l_array_source_28
187894 , l_array_source_35
187895 , l_array_source_35_meaning
187896 , l_array_source_46
187900 , l_array_source_71
187897 , l_array_source_55
187898 , l_array_source_69
187899 , l_array_source_70
187901 , l_array_source_86
187902 , l_array_source_86_meaning
187903 , l_array_source_136
187904 , l_array_source_137
187905 , l_array_source_138
187906 , l_array_source_165
187907 , l_array_source_166
187908 , l_array_source_167
187909 LIMIT l_rows;
187910 --
187911 IF (C_LEVEL_EVENT >= g_log_level) THEN
187912 trace
187913 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
187914 ,p_level => C_LEVEL_EVENT
187915 ,p_module => l_log_module);
187916 END IF;
187917 --
187918 EXIT WHEN l_array_entity_id.COUNT = 0;
187919
187920 -- initialize arrays
187921 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
187922 XLA_AE_LINES_PKG.g_rec_lines := NULL;
187923
187924 --
187925 -- Bug 4458708
187926 --
187927 XLA_AE_LINES_PKG.g_LineNumber := 0;
187928
187929
187930 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
187931 g_last_hdr_idx := l_array_event_id.LAST;
187932 --
187933 -- loop for the headers. Each iteration is for each header extract row
187934 -- fetched in header cursor
187935 --
187936 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
187937
187938 --
187939 -- set event info as cache for other routines to refer event attributes
187940 --
187941 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
187942 (p_application_id => p_application_id
187943 ,p_primary_ledger_id => p_primary_ledger_id
187944 ,p_base_ledger_id => p_base_ledger_id
187945 ,p_target_ledger_id => p_target_ledger_id
187946 ,p_entity_id => l_array_entity_id(hdr_idx)
187947 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
187948 ,p_entity_code => l_array_entity_code(hdr_idx)
187949 ,p_transaction_num => l_array_transaction_num(hdr_idx)
187950 ,p_event_id => l_array_event_id(hdr_idx)
187951 ,p_event_class_code => l_array_class_code(hdr_idx)
187952 ,p_event_type_code => l_array_event_type(hdr_idx)
187953 ,p_event_number => l_array_event_number(hdr_idx)
187954 ,p_event_date => l_array_event_date(hdr_idx)
187955 ,p_transaction_date => l_array_transaction_date(hdr_idx)
187956 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
187957 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
187958 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
187959 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
187960 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
187961 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
187962 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
187963 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
187964 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
187965 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
187966 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
187967 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
187968 ,p_event_created_by => l_array_event_created_by(hdr_idx)
187969 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
187970
187971 --
187972 -- set the status of entry to C_VALID (0)
187973 --
187974 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
187975
187976 --
187977 -- initialize a row for ae header
187978 --
187979 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
187980
187981 l_event_id := l_array_event_id(hdr_idx);
187982
187983 --
187984 -- storing the hdr_idx for event. May be used by line cursor.
187985 --
187986 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
187987
187988 --
187989 -- store sources from header extract. This can be improved to
187990 -- store only those sources from header extract that may be used in lines
187991 --
187992
187993 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
187994 g_array_event(l_event_id).array_value_char('source_3_meaning') := l_array_source_3_meaning(hdr_idx);
187995 g_array_event(l_event_id).array_value_num('source_8') := l_array_source_8(hdr_idx);
187996 g_array_event(l_event_id).array_value_num('source_11') := l_array_source_11(hdr_idx);
187997 g_array_event(l_event_id).array_value_num('source_22') := l_array_source_22(hdr_idx);
187998 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
187999 g_array_event(l_event_id).array_value_char('source_35') := l_array_source_35(hdr_idx);
188000 g_array_event(l_event_id).array_value_char('source_35_meaning') := l_array_source_35_meaning(hdr_idx);
188001 g_array_event(l_event_id).array_value_num('source_46') := l_array_source_46(hdr_idx);
188002 g_array_event(l_event_id).array_value_char('source_55') := l_array_source_55(hdr_idx);
188003 g_array_event(l_event_id).array_value_num('source_69') := l_array_source_69(hdr_idx);
188004 g_array_event(l_event_id).array_value_num('source_70') := l_array_source_70(hdr_idx);
188005 g_array_event(l_event_id).array_value_char('source_71') := l_array_source_71(hdr_idx);
188006 g_array_event(l_event_id).array_value_char('source_86') := l_array_source_86(hdr_idx);
188007 g_array_event(l_event_id).array_value_char('source_86_meaning') := l_array_source_86_meaning(hdr_idx);
188008 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
188012 g_array_event(l_event_id).array_value_num('source_166') := l_array_source_166(hdr_idx);
188009 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
188010 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
188011 g_array_event(l_event_id).array_value_char('source_165') := l_array_source_165(hdr_idx);
188013 g_array_event(l_event_id).array_value_num('source_167') := l_array_source_167(hdr_idx);
188014
188015 --
188016 -- initilaize the status of ae headers for diffrent balance types
188017 -- the status is initialised to C_NOT_CREATED (2)
188018 --
188019 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
188020 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
188021 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
188022
188023 --
188024 -- call api to validate and store accounting attributes for header
188025 --
188026
188027 ------------------------------------------------------------
188028 -- Accrual Reversal : to get date for Standard Source (NONE)
188029 ------------------------------------------------------------
188030 l_acc_rev_gl_date_source := NULL;
188031
188032 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
188033 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_165');
188034 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
188035 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_166');
188036 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
188037 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_167');
188038 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
188039 l_rec_acct_attrs.array_date_value(4) :=
188040 xla_ae_sources_pkg.GetSystemSourceDate(
188041 p_source_code => 'XLA_EVENT_DATE'
188042 , p_source_type_code => 'Y'
188043 , p_source_application_id => 602
188044 );
188045
188046
188047 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
188048
188049 XLA_AE_HEADER_PKG.SetJeCategoryName;
188050
188051 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
188052 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
188053 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
188054 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
188055 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
188056
188057
188058 --
188059 xla_ae_header_pkg.SetHdrDescription(
188060 p_description => Description_1 (
188061 p_application_id => p_application_id
188062 )
188063 );
188064 --
188065
188066 -- No header level analytical criteria
188067
188068 --
188069 --accounting attribute enhancement, bug 3612931
188070 --
188071 l_trx_reversal_source := SUBSTR(NULL, 1,30);
188072
188073 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
188074 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
188075
188076 xla_accounting_err_pkg.build_message
188077 (p_appli_s_name => 'XLA'
188078 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
188079 ,p_token_1 => 'ACCT_ATTR_NAME'
188080 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
188081 ,p_token_2 => 'PRODUCT_NAME'
188082 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
188083 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
188084 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
188085 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
188086
188087 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
188088 --
188089 -- following sets the accounting attributes needed to reverse
188090 -- accounting for a distributeion
188091 --
188092 xla_ae_lines_pkg.SetTrxReversalAttrs
188093 (p_event_id => l_event_id
188094 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
188095 ,p_trx_reversal_source => l_trx_reversal_source);
188096
188097 END IF;
188098
188099
188100 ----------------------------------------------------------------
188101 -- 4262811 - update the header statuses to invalid in need be
188102 ----------------------------------------------------------------
188103 --
188104 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
188105
188106
188107 -----------------------------------------------
188108 -- No accrual reversal for the event class/type
188109 -----------------------------------------------
188110 ----------------------------------------------------------------
188111
188112 --
188113 -- this ends the header loop iteration for one bulk fetch
188114 --
188115 END LOOP;
188116
188117 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
188118 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
188119
188120 --
188121 -- insert dummy rows into lines gt table that were created due to
188122 -- transaction reversals
188123 --
188127
188124 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
188125 l_result := XLA_AE_LINES_PKG.InsertLines;
188126 END IF;
188128 --
188129 -- reset the temp_line_num for each set of events fetched from header
188130 -- cursor rather than doing it for each new event in line cursor
188131 -- Bug 3939231
188132 --
188133 xla_ae_lines_pkg.g_temp_line_num := 0;
188134
188135
188136
188137 --
188138 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
188139 --
188140 --
188141 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
188142
188143 trace
188144 (p_msg => 'SQL - FETCH line_cur'
188145 ,p_level => C_LEVEL_STATEMENT
188146 ,p_module => l_log_module);
188147
188148 END IF;
188149 --
188150 --
188151 LOOP
188152 --
188153 FETCH line_cur BULK COLLECT INTO
188154 l_array_entity_id
188155 , l_array_legal_entity_id
188156 , l_array_entity_code
188157 , l_array_transaction_num
188158 , l_array_event_id
188159 , l_array_class_code
188160 , l_array_event_type
188161 , l_array_event_number
188162 , l_array_event_date
188163 , l_array_transaction_date
188164 , l_array_reference_num_1
188165 , l_array_reference_num_2
188166 , l_array_reference_num_3
188167 , l_array_reference_num_4
188168 , l_array_reference_char_1
188169 , l_array_reference_char_2
188170 , l_array_reference_char_3
188171 , l_array_reference_char_4
188172 , l_array_reference_date_1
188173 , l_array_reference_date_2
188174 , l_array_reference_date_3
188175 , l_array_reference_date_4
188176 , l_array_event_created_by
188177 , l_array_budgetary_control_flag
188178 , l_array_extract_line_num
188179 , l_array_source_1
188180 , l_array_source_9
188181 , l_array_source_10
188182 , l_array_source_10_meaning
188183 , l_array_source_18
188184 , l_array_source_21
188185 , l_array_source_21_meaning
188186 , l_array_source_30
188187 , l_array_source_31
188188 , l_array_source_38
188189 , l_array_source_39
188190 , l_array_source_41
188191 , l_array_source_43
188192 , l_array_source_45
188193 , l_array_source_47
188194 , l_array_source_48
188195 , l_array_source_49
188196 , l_array_source_50
188197 , l_array_source_51
188198 , l_array_source_52
188199 , l_array_source_53
188200 , l_array_source_54
188201 , l_array_source_56
188202 , l_array_source_57
188203 , l_array_source_58
188204 , l_array_source_59
188205 , l_array_source_60
188206 , l_array_source_61
188207 , l_array_source_62
188208 , l_array_source_63
188209 , l_array_source_64
188210 , l_array_source_65
188211 , l_array_source_66
188212 , l_array_source_67
188213 , l_array_source_68
188214 , l_array_source_68_meaning
188215 , l_array_source_72
188216 , l_array_source_74
188217 , l_array_source_75
188218 , l_array_source_76
188219 , l_array_source_77
188220 , l_array_source_78
188221 , l_array_source_79
188222 , l_array_source_80
188223 , l_array_source_81
188224 , l_array_source_82
188225 , l_array_source_83
188226 , l_array_source_84
188227 , l_array_source_84_meaning
188228 , l_array_source_85
188229 , l_array_source_87
188230 , l_array_source_87_meaning
188231 , l_array_source_88
188232 , l_array_source_135
188233 , l_array_source_135_meaning
188234 , l_array_source_143
188235 , l_array_source_144
188236 , l_array_source_161
188237 , l_array_source_162
188238 LIMIT l_rows;
188239
188240 --
188241 IF (C_LEVEL_EVENT >= g_log_level) THEN
188242 trace
188243 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
188244 ,p_level => C_LEVEL_EVENT
188245 ,p_module => l_log_module);
188246 END IF;
188247 --
188248 EXIT WHEN l_array_entity_id.count = 0;
188249
188250 XLA_AE_LINES_PKG.g_rec_lines := null;
188251
188252 --
188253 -- Bug 4458708
188254 --
188255 XLA_AE_LINES_PKG.g_LineNumber := 0;
188256 --
188257 --
188258
188259 FOR Idx IN 1..l_array_event_id.count LOOP
188260 --
188261 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
188262 --
188263 l_event_id := l_array_event_id(idx); -- 5648433
188264
188265 --
188266 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
188267 --
188268
188269 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
188270 (g_array_event(l_event_id).array_value_num('header_index'))
188271 ,'N'
188272 ) <> 'Y'
188273 THEN
188274 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
188275 trace
188276 (p_msg => 'Trancaction revesal option is not Y '
188277 ,p_level => C_LEVEL_STATEMENT
188278 ,p_module => l_log_module);
188279 END IF;
188280
188281 --
188282 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
188283 --
188284 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
188285 --
188289 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
188286 -- set event info as cache for other routines to refer event attributes
188287 --
188288
188290 l_previous_event_id := l_event_id;
188291
188292 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
188293 (p_application_id => p_application_id
188294 ,p_primary_ledger_id => p_primary_ledger_id
188295 ,p_base_ledger_id => p_base_ledger_id
188296 ,p_target_ledger_id => p_target_ledger_id
188297 ,p_entity_id => l_array_entity_id(Idx)
188298 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
188299 ,p_entity_code => l_array_entity_code(Idx)
188300 ,p_transaction_num => l_array_transaction_num(Idx)
188301 ,p_event_id => l_array_event_id(Idx)
188302 ,p_event_class_code => l_array_class_code(Idx)
188303 ,p_event_type_code => l_array_event_type(Idx)
188304 ,p_event_number => l_array_event_number(Idx)
188305 ,p_event_date => l_array_event_date(Idx)
188306 ,p_transaction_date => l_array_transaction_date(Idx)
188307 ,p_reference_num_1 => l_array_reference_num_1(Idx)
188308 ,p_reference_num_2 => l_array_reference_num_2(Idx)
188309 ,p_reference_num_3 => l_array_reference_num_3(Idx)
188310 ,p_reference_num_4 => l_array_reference_num_4(Idx)
188311 ,p_reference_char_1 => l_array_reference_char_1(Idx)
188312 ,p_reference_char_2 => l_array_reference_char_2(Idx)
188313 ,p_reference_char_3 => l_array_reference_char_3(Idx)
188314 ,p_reference_char_4 => l_array_reference_char_4(Idx)
188315 ,p_reference_date_1 => l_array_reference_date_1(Idx)
188316 ,p_reference_date_2 => l_array_reference_date_2(Idx)
188317 ,p_reference_date_3 => l_array_reference_date_3(Idx)
188318 ,p_reference_date_4 => l_array_reference_date_4(Idx)
188319 ,p_event_created_by => l_array_event_created_by(Idx)
188320 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
188321 --
188322 END IF;
188323
188324
188325
188326 --
188327 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
188328
188329 l_acct_reversal_source := SUBSTR(l_array_source_41(Idx), 1,30);
188330
188331 IF l_continue_with_lines THEN
188332 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
188333 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
188334
188335 xla_accounting_err_pkg.build_message
188336 (p_appli_s_name => 'XLA'
188337 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
188338 ,p_token_1 => 'LINE_NUMBER'
188339 ,p_value_1 => l_array_extract_line_num(Idx)
188340 ,p_token_2 => 'PRODUCT_NAME'
188341 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
188342 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
188343 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
188344 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
188345
188346 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
188347 --
188348 -- following sets the accounting attributes needed to reverse
188349 -- accounting for a distributeion
188350 --
188351
188352 --
188353 -- 5217187
188354 --
188355 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
188356 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
188357 g_array_event(l_event_id).array_value_num('header_index'));
188358 --
188359 --
188360
188361 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
188362 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_41(Idx);
188363 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
188364 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_52(Idx);
188365 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
188366 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_43(Idx);
188367 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
188368 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_53(Idx);
188369 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
188370 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_54(Idx);
188371 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
188372 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_55');
188373 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
188374 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_56(Idx);
188375 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
188376 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_57(Idx);
188377 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
188378 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_58(Idx);
188379 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
188380 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_55');
188384 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_60(Idx);
188381 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
188382 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_59(Idx);
188383 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
188385 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
188386 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_71');
188387 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
188388 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_72(Idx);
188389 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
188390 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_43(Idx);
188391 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
188392 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_74(Idx);
188393 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
188394 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_75(Idx);
188395 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
188396 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_76(Idx);
188397 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
188398 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_77(Idx);
188399 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
188400 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_78(Idx);
188401
188402
188403 xla_ae_lines_pkg.SetAcctReversalAttrs
188404 (p_event_id => l_event_id
188405 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
188406 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188407 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
188408 END IF;
188409
188410 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
188411 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
188412
188413 --
188414 AcctLineType_48 (
188415 p_application_id => p_application_id
188416 ,p_event_id => l_event_id
188417 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188418 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188419 ,p_actual_flag => l_actual_flag
188420 ,p_balance_type_code => l_balance_type_code
188421 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188422
188423 , p_source_1 => l_array_source_1(Idx)
188424 , p_source_9 => l_array_source_9(Idx)
188425 , p_source_18 => l_array_source_18(Idx)
188426 , p_source_21 => l_array_source_21(Idx)
188427 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188428 , p_source_41 => l_array_source_41(Idx)
188429 , p_source_43 => l_array_source_43(Idx)
188430 , p_source_45 => l_array_source_45(Idx)
188431 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188432 , p_source_47 => l_array_source_47(Idx)
188433 , p_source_48 => l_array_source_48(Idx)
188434 , p_source_49 => l_array_source_49(Idx)
188435 , p_source_50 => l_array_source_50(Idx)
188436 , p_source_51 => l_array_source_51(Idx)
188437 , p_source_52 => l_array_source_52(Idx)
188438 , p_source_53 => l_array_source_53(Idx)
188439 , p_source_54 => l_array_source_54(Idx)
188440 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188441 , p_source_56 => l_array_source_56(Idx)
188442 , p_source_57 => l_array_source_57(Idx)
188443 , p_source_58 => l_array_source_58(Idx)
188444 , p_source_59 => l_array_source_59(Idx)
188445 , p_source_60 => l_array_source_60(Idx)
188446 , p_source_61 => l_array_source_61(Idx)
188447 , p_source_62 => l_array_source_62(Idx)
188448 , p_source_63 => l_array_source_63(Idx)
188449 , p_source_64 => l_array_source_64(Idx)
188450 , p_source_65 => l_array_source_65(Idx)
188451 , p_source_66 => l_array_source_66(Idx)
188452 , p_source_67 => l_array_source_67(Idx)
188453 , p_source_68 => l_array_source_68(Idx)
188454 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188455 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
188456 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
188457 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188458 , p_source_72 => l_array_source_72(Idx)
188459 , p_source_74 => l_array_source_74(Idx)
188460 , p_source_75 => l_array_source_75(Idx)
188461 , p_source_76 => l_array_source_76(Idx)
188462 , p_source_77 => l_array_source_77(Idx)
188463 , p_source_78 => l_array_source_78(Idx)
188464 );
188465 If(l_balance_type_code = 'A') THEN
188466 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188467 END IF;
188468
188469 --
188470
188471
188472 --
188473 AcctLineType_52 (
188474 p_application_id => p_application_id
188475 ,p_event_id => l_event_id
188476 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188477 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188478 ,p_actual_flag => l_actual_flag
188479 ,p_balance_type_code => l_balance_type_code
188480 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188481
188482 , p_source_1 => l_array_source_1(Idx)
188483 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
188484 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
188485 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
188486 , p_source_9 => l_array_source_9(Idx)
188487 , p_source_10 => l_array_source_10(Idx)
188488 , p_source_10_meaning => l_array_source_10_meaning(Idx)
188492 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188489 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
188490 , p_source_18 => l_array_source_18(Idx)
188491 , p_source_21 => l_array_source_21(Idx)
188493 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
188494 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
188495 , p_source_41 => l_array_source_41(Idx)
188496 , p_source_43 => l_array_source_43(Idx)
188497 , p_source_45 => l_array_source_45(Idx)
188498 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188499 , p_source_52 => l_array_source_52(Idx)
188500 , p_source_53 => l_array_source_53(Idx)
188501 , p_source_54 => l_array_source_54(Idx)
188502 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188503 , p_source_56 => l_array_source_56(Idx)
188504 , p_source_57 => l_array_source_57(Idx)
188505 , p_source_58 => l_array_source_58(Idx)
188506 , p_source_59 => l_array_source_59(Idx)
188507 , p_source_60 => l_array_source_60(Idx)
188508 , p_source_65 => l_array_source_65(Idx)
188509 , p_source_66 => l_array_source_66(Idx)
188510 , p_source_67 => l_array_source_67(Idx)
188511 , p_source_68 => l_array_source_68(Idx)
188512 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188513 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
188514 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
188515 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188516 , p_source_72 => l_array_source_72(Idx)
188517 , p_source_74 => l_array_source_74(Idx)
188518 , p_source_75 => l_array_source_75(Idx)
188519 , p_source_76 => l_array_source_76(Idx)
188520 , p_source_77 => l_array_source_77(Idx)
188521 , p_source_78 => l_array_source_78(Idx)
188522 , p_source_79 => l_array_source_79(Idx)
188523 , p_source_80 => l_array_source_80(Idx)
188524 , p_source_81 => l_array_source_81(Idx)
188525 , p_source_82 => l_array_source_82(Idx)
188526 , p_source_83 => l_array_source_83(Idx)
188527 );
188528 If(l_balance_type_code = 'A') THEN
188529 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188530 END IF;
188531
188532 --
188533
188534
188535 --
188536 AcctLineType_56 (
188537 p_application_id => p_application_id
188538 ,p_event_id => l_event_id
188539 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188540 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188541 ,p_actual_flag => l_actual_flag
188542 ,p_balance_type_code => l_balance_type_code
188543 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188544
188545 , p_source_1 => l_array_source_1(Idx)
188546 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
188547 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
188548 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
188549 , p_source_9 => l_array_source_9(Idx)
188550 , p_source_10 => l_array_source_10(Idx)
188551 , p_source_10_meaning => l_array_source_10_meaning(Idx)
188552 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
188553 , p_source_18 => l_array_source_18(Idx)
188554 , p_source_21 => l_array_source_21(Idx)
188555 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188556 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
188557 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
188558 , p_source_41 => l_array_source_41(Idx)
188559 , p_source_43 => l_array_source_43(Idx)
188560 , p_source_45 => l_array_source_45(Idx)
188561 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188562 , p_source_52 => l_array_source_52(Idx)
188563 , p_source_53 => l_array_source_53(Idx)
188564 , p_source_54 => l_array_source_54(Idx)
188565 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188566 , p_source_56 => l_array_source_56(Idx)
188567 , p_source_57 => l_array_source_57(Idx)
188568 , p_source_58 => l_array_source_58(Idx)
188569 , p_source_59 => l_array_source_59(Idx)
188570 , p_source_60 => l_array_source_60(Idx)
188571 , p_source_65 => l_array_source_65(Idx)
188572 , p_source_66 => l_array_source_66(Idx)
188573 , p_source_67 => l_array_source_67(Idx)
188574 , p_source_68 => l_array_source_68(Idx)
188575 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188576 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
188577 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
188578 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188579 , p_source_72 => l_array_source_72(Idx)
188580 , p_source_74 => l_array_source_74(Idx)
188581 , p_source_75 => l_array_source_75(Idx)
188582 , p_source_76 => l_array_source_76(Idx)
188583 , p_source_77 => l_array_source_77(Idx)
188584 , p_source_78 => l_array_source_78(Idx)
188585 , p_source_79 => l_array_source_79(Idx)
188586 , p_source_80 => l_array_source_80(Idx)
188587 , p_source_81 => l_array_source_81(Idx)
188588 , p_source_82 => l_array_source_82(Idx)
188589 , p_source_83 => l_array_source_83(Idx)
188590 , p_source_84 => l_array_source_84(Idx)
188591 , p_source_84_meaning => l_array_source_84_meaning(Idx)
188592 );
188593 If(l_balance_type_code = 'A') THEN
188594 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188595 END IF;
188596
188597 --
188598
188599
188600 --
188601 AcctLineType_60 (
188602 p_application_id => p_application_id
188603 ,p_event_id => l_event_id
188604 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188608 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188605 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188606 ,p_actual_flag => l_actual_flag
188607 ,p_balance_type_code => l_balance_type_code
188609
188610 , p_source_21 => l_array_source_21(Idx)
188611 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188612 , p_source_41 => l_array_source_41(Idx)
188613 , p_source_43 => l_array_source_43(Idx)
188614 , p_source_45 => l_array_source_45(Idx)
188615 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188616 , p_source_52 => l_array_source_52(Idx)
188617 , p_source_53 => l_array_source_53(Idx)
188618 , p_source_54 => l_array_source_54(Idx)
188619 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188620 , p_source_56 => l_array_source_56(Idx)
188621 , p_source_57 => l_array_source_57(Idx)
188622 , p_source_58 => l_array_source_58(Idx)
188623 , p_source_59 => l_array_source_59(Idx)
188624 , p_source_60 => l_array_source_60(Idx)
188625 , p_source_65 => l_array_source_65(Idx)
188626 , p_source_66 => l_array_source_66(Idx)
188627 , p_source_67 => l_array_source_67(Idx)
188628 , p_source_68 => l_array_source_68(Idx)
188629 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188630 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188631 , p_source_72 => l_array_source_72(Idx)
188632 , p_source_74 => l_array_source_74(Idx)
188633 , p_source_75 => l_array_source_75(Idx)
188634 , p_source_76 => l_array_source_76(Idx)
188635 , p_source_77 => l_array_source_77(Idx)
188636 , p_source_78 => l_array_source_78(Idx)
188637 , p_source_79 => l_array_source_79(Idx)
188638 , p_source_80 => l_array_source_80(Idx)
188639 , p_source_81 => l_array_source_81(Idx)
188640 , p_source_82 => l_array_source_82(Idx)
188641 , p_source_83 => l_array_source_83(Idx)
188642 , p_source_84 => l_array_source_84(Idx)
188643 , p_source_84_meaning => l_array_source_84_meaning(Idx)
188644 , p_source_85 => l_array_source_85(Idx)
188645 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
188646 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
188647 , p_source_87 => l_array_source_87(Idx)
188648 , p_source_87_meaning => l_array_source_87_meaning(Idx)
188649 , p_source_88 => l_array_source_88(Idx)
188650 );
188651 If(l_balance_type_code = 'A') THEN
188652 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188653 END IF;
188654
188655 --
188656
188657
188658 --
188659 AcctLineType_113 (
188660 p_application_id => p_application_id
188661 ,p_event_id => l_event_id
188662 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188663 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188664 ,p_actual_flag => l_actual_flag
188665 ,p_balance_type_code => l_balance_type_code
188666 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188667
188668 , p_source_1 => l_array_source_1(Idx)
188669 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
188670 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
188671 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
188672 , p_source_9 => l_array_source_9(Idx)
188673 , p_source_10 => l_array_source_10(Idx)
188674 , p_source_10_meaning => l_array_source_10_meaning(Idx)
188675 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
188676 , p_source_18 => l_array_source_18(Idx)
188677 , p_source_21 => l_array_source_21(Idx)
188678 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188679 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
188680 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
188681 , p_source_41 => l_array_source_41(Idx)
188682 , p_source_43 => l_array_source_43(Idx)
188683 , p_source_45 => l_array_source_45(Idx)
188684 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188685 , p_source_52 => l_array_source_52(Idx)
188686 , p_source_53 => l_array_source_53(Idx)
188687 , p_source_54 => l_array_source_54(Idx)
188688 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188689 , p_source_56 => l_array_source_56(Idx)
188690 , p_source_57 => l_array_source_57(Idx)
188691 , p_source_58 => l_array_source_58(Idx)
188692 , p_source_59 => l_array_source_59(Idx)
188693 , p_source_60 => l_array_source_60(Idx)
188694 , p_source_61 => l_array_source_61(Idx)
188695 , p_source_65 => l_array_source_65(Idx)
188696 , p_source_66 => l_array_source_66(Idx)
188697 , p_source_67 => l_array_source_67(Idx)
188698 , p_source_68 => l_array_source_68(Idx)
188699 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188700 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
188701 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
188702 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188703 , p_source_72 => l_array_source_72(Idx)
188704 , p_source_74 => l_array_source_74(Idx)
188705 , p_source_75 => l_array_source_75(Idx)
188706 , p_source_76 => l_array_source_76(Idx)
188707 , p_source_77 => l_array_source_77(Idx)
188708 , p_source_78 => l_array_source_78(Idx)
188709 , p_source_79 => l_array_source_79(Idx)
188710 , p_source_80 => l_array_source_80(Idx)
188711 , p_source_81 => l_array_source_81(Idx)
188712 , p_source_82 => l_array_source_82(Idx)
188713 , p_source_83 => l_array_source_83(Idx)
188714 , p_source_84 => l_array_source_84(Idx)
188715 , p_source_84_meaning => l_array_source_84_meaning(Idx)
188716 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
188717 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
188721 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188718 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
188719 );
188720 If(l_balance_type_code = 'A') THEN
188722 END IF;
188723
188724 --
188725
188726
188727 --
188728 AcctLineType_114 (
188729 p_application_id => p_application_id
188730 ,p_event_id => l_event_id
188731 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188732 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188733 ,p_actual_flag => l_actual_flag
188734 ,p_balance_type_code => l_balance_type_code
188735 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188736
188737 , p_source_21 => l_array_source_21(Idx)
188738 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188739 , p_source_41 => l_array_source_41(Idx)
188740 , p_source_43 => l_array_source_43(Idx)
188741 , p_source_45 => l_array_source_45(Idx)
188742 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188743 , p_source_52 => l_array_source_52(Idx)
188744 , p_source_53 => l_array_source_53(Idx)
188745 , p_source_54 => l_array_source_54(Idx)
188746 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188747 , p_source_56 => l_array_source_56(Idx)
188748 , p_source_57 => l_array_source_57(Idx)
188749 , p_source_58 => l_array_source_58(Idx)
188750 , p_source_59 => l_array_source_59(Idx)
188751 , p_source_60 => l_array_source_60(Idx)
188752 , p_source_65 => l_array_source_65(Idx)
188753 , p_source_66 => l_array_source_66(Idx)
188754 , p_source_67 => l_array_source_67(Idx)
188755 , p_source_68 => l_array_source_68(Idx)
188756 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188757 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188758 , p_source_72 => l_array_source_72(Idx)
188759 , p_source_74 => l_array_source_74(Idx)
188760 , p_source_75 => l_array_source_75(Idx)
188761 , p_source_76 => l_array_source_76(Idx)
188762 , p_source_77 => l_array_source_77(Idx)
188763 , p_source_78 => l_array_source_78(Idx)
188764 , p_source_79 => l_array_source_79(Idx)
188765 , p_source_80 => l_array_source_80(Idx)
188766 , p_source_81 => l_array_source_81(Idx)
188767 , p_source_82 => l_array_source_82(Idx)
188768 , p_source_83 => l_array_source_83(Idx)
188769 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
188770 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
188771 , p_source_87 => l_array_source_87(Idx)
188772 , p_source_87_meaning => l_array_source_87_meaning(Idx)
188773 , p_source_143 => l_array_source_143(Idx)
188774 , p_source_144 => l_array_source_144(Idx)
188775 );
188776 If(l_balance_type_code = 'A') THEN
188777 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188778 END IF;
188779
188780 --
188781
188782
188783 --
188784 AcctLineType_126 (
188785 p_application_id => p_application_id
188786 ,p_event_id => l_event_id
188787 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188788 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188789 ,p_actual_flag => l_actual_flag
188790 ,p_balance_type_code => l_balance_type_code
188791 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188792
188793 , p_source_1 => l_array_source_1(Idx)
188794 , p_source_9 => l_array_source_9(Idx)
188795 , p_source_18 => l_array_source_18(Idx)
188796 , p_source_21 => l_array_source_21(Idx)
188797 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188798 , p_source_41 => l_array_source_41(Idx)
188799 , p_source_43 => l_array_source_43(Idx)
188800 , p_source_45 => l_array_source_45(Idx)
188801 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188802 , p_source_52 => l_array_source_52(Idx)
188803 , p_source_53 => l_array_source_53(Idx)
188804 , p_source_54 => l_array_source_54(Idx)
188805 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188806 , p_source_56 => l_array_source_56(Idx)
188807 , p_source_57 => l_array_source_57(Idx)
188808 , p_source_58 => l_array_source_58(Idx)
188809 , p_source_59 => l_array_source_59(Idx)
188810 , p_source_60 => l_array_source_60(Idx)
188811 , p_source_61 => l_array_source_61(Idx)
188812 , p_source_65 => l_array_source_65(Idx)
188813 , p_source_66 => l_array_source_66(Idx)
188814 , p_source_67 => l_array_source_67(Idx)
188815 , p_source_68 => l_array_source_68(Idx)
188816 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188817 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
188818 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
188819 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188820 , p_source_72 => l_array_source_72(Idx)
188821 , p_source_74 => l_array_source_74(Idx)
188822 , p_source_75 => l_array_source_75(Idx)
188823 , p_source_76 => l_array_source_76(Idx)
188824 , p_source_77 => l_array_source_77(Idx)
188825 , p_source_78 => l_array_source_78(Idx)
188826 , p_source_79 => l_array_source_79(Idx)
188827 , p_source_80 => l_array_source_80(Idx)
188828 , p_source_81 => l_array_source_81(Idx)
188829 , p_source_82 => l_array_source_82(Idx)
188830 , p_source_83 => l_array_source_83(Idx)
188831 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
188832 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
188833 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
188834 );
188835 If(l_balance_type_code = 'A') THEN
188836 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188837 END IF;
188838
188839 --
188840
188841
188845 ,p_event_id => l_event_id
188842 --
188843 AcctLineType_127 (
188844 p_application_id => p_application_id
188846 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188847 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188848 ,p_actual_flag => l_actual_flag
188849 ,p_balance_type_code => l_balance_type_code
188850 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188851
188852 , p_source_21 => l_array_source_21(Idx)
188853 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188854 , p_source_41 => l_array_source_41(Idx)
188855 , p_source_43 => l_array_source_43(Idx)
188856 , p_source_45 => l_array_source_45(Idx)
188857 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188858 , p_source_52 => l_array_source_52(Idx)
188859 , p_source_53 => l_array_source_53(Idx)
188860 , p_source_54 => l_array_source_54(Idx)
188861 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188862 , p_source_56 => l_array_source_56(Idx)
188863 , p_source_57 => l_array_source_57(Idx)
188864 , p_source_58 => l_array_source_58(Idx)
188865 , p_source_59 => l_array_source_59(Idx)
188866 , p_source_60 => l_array_source_60(Idx)
188867 , p_source_65 => l_array_source_65(Idx)
188868 , p_source_66 => l_array_source_66(Idx)
188869 , p_source_67 => l_array_source_67(Idx)
188870 , p_source_68 => l_array_source_68(Idx)
188871 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188872 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188873 , p_source_72 => l_array_source_72(Idx)
188874 , p_source_74 => l_array_source_74(Idx)
188875 , p_source_75 => l_array_source_75(Idx)
188876 , p_source_76 => l_array_source_76(Idx)
188877 , p_source_77 => l_array_source_77(Idx)
188878 , p_source_78 => l_array_source_78(Idx)
188879 , p_source_79 => l_array_source_79(Idx)
188880 , p_source_80 => l_array_source_80(Idx)
188881 , p_source_81 => l_array_source_81(Idx)
188882 , p_source_82 => l_array_source_82(Idx)
188883 , p_source_83 => l_array_source_83(Idx)
188884 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
188885 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
188886 , p_source_87 => l_array_source_87(Idx)
188887 , p_source_87_meaning => l_array_source_87_meaning(Idx)
188888 , p_source_143 => l_array_source_143(Idx)
188889 , p_source_144 => l_array_source_144(Idx)
188890 );
188891 If(l_balance_type_code = 'A') THEN
188892 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188893 END IF;
188894
188895 --
188896
188897
188898 --
188899 AcctLineType_152 (
188900 p_application_id => p_application_id
188901 ,p_event_id => l_event_id
188902 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188903 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188904 ,p_actual_flag => l_actual_flag
188905 ,p_balance_type_code => l_balance_type_code
188906 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188907
188908 , p_source_1 => l_array_source_1(Idx)
188909 , p_source_9 => l_array_source_9(Idx)
188910 , p_source_18 => l_array_source_18(Idx)
188911 , p_source_21 => l_array_source_21(Idx)
188912 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188913 , p_source_41 => l_array_source_41(Idx)
188914 , p_source_43 => l_array_source_43(Idx)
188915 , p_source_45 => l_array_source_45(Idx)
188916 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188917 , p_source_52 => l_array_source_52(Idx)
188918 , p_source_53 => l_array_source_53(Idx)
188919 , p_source_54 => l_array_source_54(Idx)
188920 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188921 , p_source_56 => l_array_source_56(Idx)
188922 , p_source_57 => l_array_source_57(Idx)
188923 , p_source_58 => l_array_source_58(Idx)
188924 , p_source_59 => l_array_source_59(Idx)
188925 , p_source_60 => l_array_source_60(Idx)
188926 , p_source_61 => l_array_source_61(Idx)
188927 , p_source_65 => l_array_source_65(Idx)
188928 , p_source_66 => l_array_source_66(Idx)
188929 , p_source_67 => l_array_source_67(Idx)
188930 , p_source_68 => l_array_source_68(Idx)
188931 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188932 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
188933 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
188934 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188935 , p_source_72 => l_array_source_72(Idx)
188936 , p_source_74 => l_array_source_74(Idx)
188937 , p_source_75 => l_array_source_75(Idx)
188938 , p_source_76 => l_array_source_76(Idx)
188939 , p_source_77 => l_array_source_77(Idx)
188940 , p_source_78 => l_array_source_78(Idx)
188941 , p_source_79 => l_array_source_79(Idx)
188942 , p_source_80 => l_array_source_80(Idx)
188943 , p_source_81 => l_array_source_81(Idx)
188944 , p_source_82 => l_array_source_82(Idx)
188945 , p_source_83 => l_array_source_83(Idx)
188946 , p_source_84 => l_array_source_84(Idx)
188947 , p_source_84_meaning => l_array_source_84_meaning(Idx)
188948 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
188949 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
188950 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
188951 );
188952 If(l_balance_type_code = 'A') THEN
188953 l_actual_gain_loss_ref := l_gain_or_loss_ref;
188954 END IF;
188955
188956 --
188957
188958
188959 --
188960 AcctLineType_153 (
188961 p_application_id => p_application_id
188962 ,p_event_id => l_event_id
188963 ,p_calculate_acctd_flag => l_calculate_acctd_flag
188964 ,p_calculate_g_l_flag => l_calculate_g_l_flag
188968
188965 ,p_actual_flag => l_actual_flag
188966 ,p_balance_type_code => l_balance_type_code
188967 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
188969 , p_source_21 => l_array_source_21(Idx)
188970 , p_source_21_meaning => l_array_source_21_meaning(Idx)
188971 , p_source_41 => l_array_source_41(Idx)
188972 , p_source_43 => l_array_source_43(Idx)
188973 , p_source_45 => l_array_source_45(Idx)
188974 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
188975 , p_source_52 => l_array_source_52(Idx)
188976 , p_source_53 => l_array_source_53(Idx)
188977 , p_source_54 => l_array_source_54(Idx)
188978 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
188979 , p_source_56 => l_array_source_56(Idx)
188980 , p_source_57 => l_array_source_57(Idx)
188981 , p_source_58 => l_array_source_58(Idx)
188982 , p_source_59 => l_array_source_59(Idx)
188983 , p_source_60 => l_array_source_60(Idx)
188984 , p_source_65 => l_array_source_65(Idx)
188985 , p_source_66 => l_array_source_66(Idx)
188986 , p_source_67 => l_array_source_67(Idx)
188987 , p_source_68 => l_array_source_68(Idx)
188988 , p_source_68_meaning => l_array_source_68_meaning(Idx)
188989 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
188990 , p_source_72 => l_array_source_72(Idx)
188991 , p_source_74 => l_array_source_74(Idx)
188992 , p_source_75 => l_array_source_75(Idx)
188993 , p_source_76 => l_array_source_76(Idx)
188994 , p_source_77 => l_array_source_77(Idx)
188995 , p_source_78 => l_array_source_78(Idx)
188996 , p_source_79 => l_array_source_79(Idx)
188997 , p_source_80 => l_array_source_80(Idx)
188998 , p_source_81 => l_array_source_81(Idx)
188999 , p_source_82 => l_array_source_82(Idx)
189000 , p_source_83 => l_array_source_83(Idx)
189001 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189002 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189003 , p_source_87 => l_array_source_87(Idx)
189004 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189005 , p_source_143 => l_array_source_143(Idx)
189006 , p_source_144 => l_array_source_144(Idx)
189007 );
189008 If(l_balance_type_code = 'A') THEN
189009 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189010 END IF;
189011
189012 --
189013
189014
189015 --
189016 AcctLineType_160 (
189017 p_application_id => p_application_id
189018 ,p_event_id => l_event_id
189019 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189020 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189021 ,p_actual_flag => l_actual_flag
189022 ,p_balance_type_code => l_balance_type_code
189023 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189024
189025 , p_source_1 => l_array_source_1(Idx)
189026 , p_source_9 => l_array_source_9(Idx)
189027 , p_source_18 => l_array_source_18(Idx)
189028 , p_source_21 => l_array_source_21(Idx)
189029 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189030 , p_source_41 => l_array_source_41(Idx)
189031 , p_source_43 => l_array_source_43(Idx)
189032 , p_source_45 => l_array_source_45(Idx)
189033 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189034 , p_source_52 => l_array_source_52(Idx)
189035 , p_source_53 => l_array_source_53(Idx)
189036 , p_source_54 => l_array_source_54(Idx)
189037 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189038 , p_source_56 => l_array_source_56(Idx)
189039 , p_source_57 => l_array_source_57(Idx)
189040 , p_source_58 => l_array_source_58(Idx)
189041 , p_source_59 => l_array_source_59(Idx)
189042 , p_source_60 => l_array_source_60(Idx)
189043 , p_source_61 => l_array_source_61(Idx)
189044 , p_source_65 => l_array_source_65(Idx)
189045 , p_source_66 => l_array_source_66(Idx)
189046 , p_source_67 => l_array_source_67(Idx)
189047 , p_source_68 => l_array_source_68(Idx)
189048 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189049 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189050 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189051 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189052 , p_source_72 => l_array_source_72(Idx)
189053 , p_source_74 => l_array_source_74(Idx)
189054 , p_source_75 => l_array_source_75(Idx)
189055 , p_source_76 => l_array_source_76(Idx)
189056 , p_source_77 => l_array_source_77(Idx)
189057 , p_source_78 => l_array_source_78(Idx)
189058 , p_source_79 => l_array_source_79(Idx)
189059 , p_source_80 => l_array_source_80(Idx)
189060 , p_source_81 => l_array_source_81(Idx)
189061 , p_source_82 => l_array_source_82(Idx)
189062 , p_source_83 => l_array_source_83(Idx)
189063 , p_source_84 => l_array_source_84(Idx)
189064 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189065 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189066 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189067 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189068 );
189069 If(l_balance_type_code = 'A') THEN
189070 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189071 END IF;
189072
189073 --
189074
189075
189076 --
189077 AcctLineType_161 (
189078 p_application_id => p_application_id
189079 ,p_event_id => l_event_id
189080 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189081 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189082 ,p_actual_flag => l_actual_flag
189083 ,p_balance_type_code => l_balance_type_code
189084 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189088 , p_source_41 => l_array_source_41(Idx)
189085
189086 , p_source_21 => l_array_source_21(Idx)
189087 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189089 , p_source_43 => l_array_source_43(Idx)
189090 , p_source_45 => l_array_source_45(Idx)
189091 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189092 , p_source_52 => l_array_source_52(Idx)
189093 , p_source_53 => l_array_source_53(Idx)
189094 , p_source_54 => l_array_source_54(Idx)
189095 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189096 , p_source_56 => l_array_source_56(Idx)
189097 , p_source_57 => l_array_source_57(Idx)
189098 , p_source_58 => l_array_source_58(Idx)
189099 , p_source_59 => l_array_source_59(Idx)
189100 , p_source_60 => l_array_source_60(Idx)
189101 , p_source_65 => l_array_source_65(Idx)
189102 , p_source_66 => l_array_source_66(Idx)
189103 , p_source_67 => l_array_source_67(Idx)
189104 , p_source_68 => l_array_source_68(Idx)
189105 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189106 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189107 , p_source_72 => l_array_source_72(Idx)
189108 , p_source_74 => l_array_source_74(Idx)
189109 , p_source_75 => l_array_source_75(Idx)
189110 , p_source_76 => l_array_source_76(Idx)
189111 , p_source_77 => l_array_source_77(Idx)
189112 , p_source_78 => l_array_source_78(Idx)
189113 , p_source_79 => l_array_source_79(Idx)
189114 , p_source_80 => l_array_source_80(Idx)
189115 , p_source_81 => l_array_source_81(Idx)
189116 , p_source_82 => l_array_source_82(Idx)
189117 , p_source_83 => l_array_source_83(Idx)
189118 , p_source_84 => l_array_source_84(Idx)
189119 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189120 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189121 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189122 , p_source_87 => l_array_source_87(Idx)
189123 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189124 , p_source_143 => l_array_source_143(Idx)
189125 , p_source_144 => l_array_source_144(Idx)
189126 );
189127 If(l_balance_type_code = 'A') THEN
189128 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189129 END IF;
189130
189131 --
189132
189133
189134 --
189135 AcctLineType_171 (
189136 p_application_id => p_application_id
189137 ,p_event_id => l_event_id
189138 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189139 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189140 ,p_actual_flag => l_actual_flag
189141 ,p_balance_type_code => l_balance_type_code
189142 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189143
189144 , p_source_1 => l_array_source_1(Idx)
189145 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
189146 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
189147 , p_source_9 => l_array_source_9(Idx)
189148 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
189149 , p_source_41 => l_array_source_41(Idx)
189150 , p_source_43 => l_array_source_43(Idx)
189151 , p_source_45 => l_array_source_45(Idx)
189152 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189153 , p_source_52 => l_array_source_52(Idx)
189154 , p_source_53 => l_array_source_53(Idx)
189155 , p_source_54 => l_array_source_54(Idx)
189156 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189157 , p_source_56 => l_array_source_56(Idx)
189158 , p_source_57 => l_array_source_57(Idx)
189159 , p_source_58 => l_array_source_58(Idx)
189160 , p_source_59 => l_array_source_59(Idx)
189161 , p_source_60 => l_array_source_60(Idx)
189162 , p_source_61 => l_array_source_61(Idx)
189163 , p_source_65 => l_array_source_65(Idx)
189164 , p_source_66 => l_array_source_66(Idx)
189165 , p_source_67 => l_array_source_67(Idx)
189166 , p_source_68 => l_array_source_68(Idx)
189167 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189168 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189169 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189170 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189171 , p_source_72 => l_array_source_72(Idx)
189172 , p_source_74 => l_array_source_74(Idx)
189173 , p_source_75 => l_array_source_75(Idx)
189174 , p_source_76 => l_array_source_76(Idx)
189175 , p_source_77 => l_array_source_77(Idx)
189176 , p_source_78 => l_array_source_78(Idx)
189177 , p_source_79 => l_array_source_79(Idx)
189178 , p_source_80 => l_array_source_80(Idx)
189179 , p_source_81 => l_array_source_81(Idx)
189180 , p_source_82 => l_array_source_82(Idx)
189181 , p_source_83 => l_array_source_83(Idx)
189182 , p_source_135 => l_array_source_135(Idx)
189183 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189184 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189185 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189186 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189187 );
189188 If(l_balance_type_code = 'A') THEN
189189 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189190 END IF;
189191
189192 --
189193
189194
189195 --
189196 AcctLineType_172 (
189197 p_application_id => p_application_id
189198 ,p_event_id => l_event_id
189199 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189200 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189201 ,p_actual_flag => l_actual_flag
189205 , p_source_1 => l_array_source_1(Idx)
189202 ,p_balance_type_code => l_balance_type_code
189203 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189204
189206 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
189207 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
189208 , p_source_9 => l_array_source_9(Idx)
189209 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
189210 , p_source_41 => l_array_source_41(Idx)
189211 , p_source_43 => l_array_source_43(Idx)
189212 , p_source_45 => l_array_source_45(Idx)
189213 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189214 , p_source_52 => l_array_source_52(Idx)
189215 , p_source_53 => l_array_source_53(Idx)
189216 , p_source_54 => l_array_source_54(Idx)
189217 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189218 , p_source_56 => l_array_source_56(Idx)
189219 , p_source_57 => l_array_source_57(Idx)
189220 , p_source_58 => l_array_source_58(Idx)
189221 , p_source_59 => l_array_source_59(Idx)
189222 , p_source_60 => l_array_source_60(Idx)
189223 , p_source_61 => l_array_source_61(Idx)
189224 , p_source_65 => l_array_source_65(Idx)
189225 , p_source_66 => l_array_source_66(Idx)
189226 , p_source_67 => l_array_source_67(Idx)
189227 , p_source_68 => l_array_source_68(Idx)
189228 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189229 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189230 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189231 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189232 , p_source_72 => l_array_source_72(Idx)
189233 , p_source_74 => l_array_source_74(Idx)
189234 , p_source_75 => l_array_source_75(Idx)
189235 , p_source_76 => l_array_source_76(Idx)
189236 , p_source_77 => l_array_source_77(Idx)
189237 , p_source_78 => l_array_source_78(Idx)
189238 , p_source_79 => l_array_source_79(Idx)
189239 , p_source_80 => l_array_source_80(Idx)
189240 , p_source_81 => l_array_source_81(Idx)
189241 , p_source_82 => l_array_source_82(Idx)
189242 , p_source_83 => l_array_source_83(Idx)
189243 , p_source_135 => l_array_source_135(Idx)
189244 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189245 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189246 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189247 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189248 );
189249 If(l_balance_type_code = 'A') THEN
189250 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189251 END IF;
189252
189253 --
189254
189255
189256 --
189257 AcctLineType_173 (
189258 p_application_id => p_application_id
189259 ,p_event_id => l_event_id
189260 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189261 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189262 ,p_actual_flag => l_actual_flag
189263 ,p_balance_type_code => l_balance_type_code
189264 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189265
189266 , p_source_1 => l_array_source_1(Idx)
189267 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
189268 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
189269 , p_source_9 => l_array_source_9(Idx)
189270 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
189271 , p_source_41 => l_array_source_41(Idx)
189272 , p_source_43 => l_array_source_43(Idx)
189273 , p_source_45 => l_array_source_45(Idx)
189274 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189275 , p_source_52 => l_array_source_52(Idx)
189276 , p_source_53 => l_array_source_53(Idx)
189277 , p_source_54 => l_array_source_54(Idx)
189278 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189279 , p_source_56 => l_array_source_56(Idx)
189280 , p_source_57 => l_array_source_57(Idx)
189281 , p_source_58 => l_array_source_58(Idx)
189282 , p_source_59 => l_array_source_59(Idx)
189283 , p_source_60 => l_array_source_60(Idx)
189284 , p_source_61 => l_array_source_61(Idx)
189285 , p_source_65 => l_array_source_65(Idx)
189286 , p_source_66 => l_array_source_66(Idx)
189287 , p_source_67 => l_array_source_67(Idx)
189288 , p_source_68 => l_array_source_68(Idx)
189289 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189290 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189291 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189292 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189293 , p_source_72 => l_array_source_72(Idx)
189294 , p_source_74 => l_array_source_74(Idx)
189295 , p_source_75 => l_array_source_75(Idx)
189296 , p_source_76 => l_array_source_76(Idx)
189297 , p_source_77 => l_array_source_77(Idx)
189298 , p_source_78 => l_array_source_78(Idx)
189299 , p_source_79 => l_array_source_79(Idx)
189300 , p_source_80 => l_array_source_80(Idx)
189301 , p_source_81 => l_array_source_81(Idx)
189302 , p_source_82 => l_array_source_82(Idx)
189303 , p_source_83 => l_array_source_83(Idx)
189304 , p_source_135 => l_array_source_135(Idx)
189305 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189306 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189307 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189308 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189309 );
189310 If(l_balance_type_code = 'A') THEN
189311 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189312 END IF;
189313
189314 --
189315
189316
189320 ,p_event_id => l_event_id
189317 --
189318 AcctLineType_193 (
189319 p_application_id => p_application_id
189321 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189322 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189323 ,p_actual_flag => l_actual_flag
189324 ,p_balance_type_code => l_balance_type_code
189325 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189326
189327 , p_source_1 => l_array_source_1(Idx)
189328 , p_source_9 => l_array_source_9(Idx)
189329 , p_source_18 => l_array_source_18(Idx)
189330 , p_source_21 => l_array_source_21(Idx)
189331 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189332 , p_source_41 => l_array_source_41(Idx)
189333 , p_source_43 => l_array_source_43(Idx)
189334 , p_source_45 => l_array_source_45(Idx)
189335 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189336 , p_source_52 => l_array_source_52(Idx)
189337 , p_source_53 => l_array_source_53(Idx)
189338 , p_source_54 => l_array_source_54(Idx)
189339 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189340 , p_source_56 => l_array_source_56(Idx)
189341 , p_source_57 => l_array_source_57(Idx)
189342 , p_source_58 => l_array_source_58(Idx)
189343 , p_source_59 => l_array_source_59(Idx)
189344 , p_source_60 => l_array_source_60(Idx)
189345 , p_source_61 => l_array_source_61(Idx)
189346 , p_source_65 => l_array_source_65(Idx)
189347 , p_source_66 => l_array_source_66(Idx)
189348 , p_source_67 => l_array_source_67(Idx)
189349 , p_source_68 => l_array_source_68(Idx)
189350 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189351 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189352 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189353 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189354 , p_source_72 => l_array_source_72(Idx)
189355 , p_source_74 => l_array_source_74(Idx)
189356 , p_source_75 => l_array_source_75(Idx)
189357 , p_source_76 => l_array_source_76(Idx)
189358 , p_source_77 => l_array_source_77(Idx)
189359 , p_source_78 => l_array_source_78(Idx)
189360 , p_source_79 => l_array_source_79(Idx)
189361 , p_source_80 => l_array_source_80(Idx)
189362 , p_source_81 => l_array_source_81(Idx)
189363 , p_source_82 => l_array_source_82(Idx)
189364 , p_source_83 => l_array_source_83(Idx)
189365 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189366 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189367 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189368 );
189369 If(l_balance_type_code = 'A') THEN
189370 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189371 END IF;
189372
189373 --
189374
189375
189376 --
189377 AcctLineType_194 (
189378 p_application_id => p_application_id
189379 ,p_event_id => l_event_id
189380 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189381 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189382 ,p_actual_flag => l_actual_flag
189383 ,p_balance_type_code => l_balance_type_code
189384 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189385
189386 , p_source_21 => l_array_source_21(Idx)
189387 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189388 , p_source_41 => l_array_source_41(Idx)
189389 , p_source_43 => l_array_source_43(Idx)
189390 , p_source_45 => l_array_source_45(Idx)
189391 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189392 , p_source_52 => l_array_source_52(Idx)
189393 , p_source_53 => l_array_source_53(Idx)
189394 , p_source_54 => l_array_source_54(Idx)
189395 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189396 , p_source_56 => l_array_source_56(Idx)
189397 , p_source_57 => l_array_source_57(Idx)
189398 , p_source_58 => l_array_source_58(Idx)
189399 , p_source_59 => l_array_source_59(Idx)
189400 , p_source_60 => l_array_source_60(Idx)
189401 , p_source_65 => l_array_source_65(Idx)
189402 , p_source_66 => l_array_source_66(Idx)
189403 , p_source_67 => l_array_source_67(Idx)
189404 , p_source_68 => l_array_source_68(Idx)
189405 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189406 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189407 , p_source_72 => l_array_source_72(Idx)
189408 , p_source_74 => l_array_source_74(Idx)
189409 , p_source_75 => l_array_source_75(Idx)
189410 , p_source_76 => l_array_source_76(Idx)
189411 , p_source_77 => l_array_source_77(Idx)
189412 , p_source_78 => l_array_source_78(Idx)
189413 , p_source_79 => l_array_source_79(Idx)
189414 , p_source_80 => l_array_source_80(Idx)
189415 , p_source_81 => l_array_source_81(Idx)
189416 , p_source_82 => l_array_source_82(Idx)
189417 , p_source_83 => l_array_source_83(Idx)
189418 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189419 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189420 , p_source_87 => l_array_source_87(Idx)
189421 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189422 , p_source_143 => l_array_source_143(Idx)
189423 , p_source_144 => l_array_source_144(Idx)
189424 );
189425 If(l_balance_type_code = 'A') THEN
189426 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189427 END IF;
189428
189429 --
189430
189431
189432 --
189433 AcctLineType_200 (
189434 p_application_id => p_application_id
189435 ,p_event_id => l_event_id
189436 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189437 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189438 ,p_actual_flag => l_actual_flag
189439 ,p_balance_type_code => l_balance_type_code
189440 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189444 , p_source_18 => l_array_source_18(Idx)
189441
189442 , p_source_1 => l_array_source_1(Idx)
189443 , p_source_9 => l_array_source_9(Idx)
189445 , p_source_21 => l_array_source_21(Idx)
189446 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189447 , p_source_41 => l_array_source_41(Idx)
189448 , p_source_43 => l_array_source_43(Idx)
189449 , p_source_45 => l_array_source_45(Idx)
189450 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189451 , p_source_52 => l_array_source_52(Idx)
189452 , p_source_53 => l_array_source_53(Idx)
189453 , p_source_54 => l_array_source_54(Idx)
189454 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189455 , p_source_56 => l_array_source_56(Idx)
189456 , p_source_57 => l_array_source_57(Idx)
189457 , p_source_58 => l_array_source_58(Idx)
189458 , p_source_59 => l_array_source_59(Idx)
189459 , p_source_60 => l_array_source_60(Idx)
189460 , p_source_61 => l_array_source_61(Idx)
189461 , p_source_62 => l_array_source_62(Idx)
189462 , p_source_63 => l_array_source_63(Idx)
189463 , p_source_64 => l_array_source_64(Idx)
189464 , p_source_65 => l_array_source_65(Idx)
189465 , p_source_66 => l_array_source_66(Idx)
189466 , p_source_67 => l_array_source_67(Idx)
189467 , p_source_68 => l_array_source_68(Idx)
189468 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189469 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189470 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189471 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189472 , p_source_72 => l_array_source_72(Idx)
189473 , p_source_74 => l_array_source_74(Idx)
189474 , p_source_75 => l_array_source_75(Idx)
189475 , p_source_76 => l_array_source_76(Idx)
189476 , p_source_77 => l_array_source_77(Idx)
189477 , p_source_78 => l_array_source_78(Idx)
189478 , p_source_79 => l_array_source_79(Idx)
189479 , p_source_80 => l_array_source_80(Idx)
189480 , p_source_81 => l_array_source_81(Idx)
189481 , p_source_82 => l_array_source_82(Idx)
189482 , p_source_83 => l_array_source_83(Idx)
189483 , p_source_84 => l_array_source_84(Idx)
189484 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189485 , p_source_135 => l_array_source_135(Idx)
189486 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189487 );
189488 If(l_balance_type_code = 'A') THEN
189489 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189490 END IF;
189491
189492 --
189493
189494
189495 --
189496 AcctLineType_204 (
189497 p_application_id => p_application_id
189498 ,p_event_id => l_event_id
189499 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189500 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189501 ,p_actual_flag => l_actual_flag
189502 ,p_balance_type_code => l_balance_type_code
189503 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189504
189505 , p_source_1 => l_array_source_1(Idx)
189506 , p_source_9 => l_array_source_9(Idx)
189507 , p_source_18 => l_array_source_18(Idx)
189508 , p_source_21 => l_array_source_21(Idx)
189509 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189510 , p_source_41 => l_array_source_41(Idx)
189511 , p_source_43 => l_array_source_43(Idx)
189512 , p_source_45 => l_array_source_45(Idx)
189513 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189514 , p_source_52 => l_array_source_52(Idx)
189515 , p_source_53 => l_array_source_53(Idx)
189516 , p_source_54 => l_array_source_54(Idx)
189517 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189518 , p_source_56 => l_array_source_56(Idx)
189519 , p_source_57 => l_array_source_57(Idx)
189520 , p_source_58 => l_array_source_58(Idx)
189521 , p_source_59 => l_array_source_59(Idx)
189522 , p_source_60 => l_array_source_60(Idx)
189523 , p_source_61 => l_array_source_61(Idx)
189524 , p_source_65 => l_array_source_65(Idx)
189525 , p_source_66 => l_array_source_66(Idx)
189526 , p_source_67 => l_array_source_67(Idx)
189527 , p_source_68 => l_array_source_68(Idx)
189528 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189529 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189530 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189531 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189532 , p_source_72 => l_array_source_72(Idx)
189533 , p_source_74 => l_array_source_74(Idx)
189534 , p_source_75 => l_array_source_75(Idx)
189535 , p_source_76 => l_array_source_76(Idx)
189536 , p_source_77 => l_array_source_77(Idx)
189537 , p_source_78 => l_array_source_78(Idx)
189538 , p_source_79 => l_array_source_79(Idx)
189539 , p_source_80 => l_array_source_80(Idx)
189540 , p_source_81 => l_array_source_81(Idx)
189541 , p_source_82 => l_array_source_82(Idx)
189542 , p_source_83 => l_array_source_83(Idx)
189543 , p_source_84 => l_array_source_84(Idx)
189544 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189545 , p_source_135 => l_array_source_135(Idx)
189546 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189547 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189548 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189549 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189550 );
189551 If(l_balance_type_code = 'A') THEN
189552 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189553 END IF;
189554
189555 --
189556
189557
189558 --
189559 AcctLineType_205 (
189560 p_application_id => p_application_id
189561 ,p_event_id => l_event_id
189565 ,p_balance_type_code => l_balance_type_code
189562 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189563 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189564 ,p_actual_flag => l_actual_flag
189566 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189567
189568 , p_source_21 => l_array_source_21(Idx)
189569 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189570 , p_source_41 => l_array_source_41(Idx)
189571 , p_source_43 => l_array_source_43(Idx)
189572 , p_source_45 => l_array_source_45(Idx)
189573 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189574 , p_source_52 => l_array_source_52(Idx)
189575 , p_source_53 => l_array_source_53(Idx)
189576 , p_source_54 => l_array_source_54(Idx)
189577 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189578 , p_source_56 => l_array_source_56(Idx)
189579 , p_source_57 => l_array_source_57(Idx)
189580 , p_source_58 => l_array_source_58(Idx)
189581 , p_source_59 => l_array_source_59(Idx)
189582 , p_source_60 => l_array_source_60(Idx)
189583 , p_source_65 => l_array_source_65(Idx)
189584 , p_source_66 => l_array_source_66(Idx)
189585 , p_source_67 => l_array_source_67(Idx)
189586 , p_source_68 => l_array_source_68(Idx)
189587 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189588 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189589 , p_source_72 => l_array_source_72(Idx)
189590 , p_source_74 => l_array_source_74(Idx)
189591 , p_source_75 => l_array_source_75(Idx)
189592 , p_source_76 => l_array_source_76(Idx)
189593 , p_source_77 => l_array_source_77(Idx)
189594 , p_source_78 => l_array_source_78(Idx)
189595 , p_source_79 => l_array_source_79(Idx)
189596 , p_source_80 => l_array_source_80(Idx)
189597 , p_source_81 => l_array_source_81(Idx)
189598 , p_source_82 => l_array_source_82(Idx)
189599 , p_source_83 => l_array_source_83(Idx)
189600 , p_source_84 => l_array_source_84(Idx)
189601 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189602 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189603 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189604 , p_source_87 => l_array_source_87(Idx)
189605 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189606 , p_source_135 => l_array_source_135(Idx)
189607 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189608 , p_source_143 => l_array_source_143(Idx)
189609 , p_source_144 => l_array_source_144(Idx)
189610 );
189611 If(l_balance_type_code = 'A') THEN
189612 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189613 END IF;
189614
189615 --
189616
189617
189618 --
189619 AcctLineType_217 (
189620 p_application_id => p_application_id
189621 ,p_event_id => l_event_id
189622 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189623 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189624 ,p_actual_flag => l_actual_flag
189625 ,p_balance_type_code => l_balance_type_code
189626 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189627
189628 , p_source_21 => l_array_source_21(Idx)
189629 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189630 , p_source_41 => l_array_source_41(Idx)
189631 , p_source_43 => l_array_source_43(Idx)
189632 , p_source_45 => l_array_source_45(Idx)
189633 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189634 , p_source_52 => l_array_source_52(Idx)
189635 , p_source_53 => l_array_source_53(Idx)
189636 , p_source_54 => l_array_source_54(Idx)
189637 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189638 , p_source_56 => l_array_source_56(Idx)
189639 , p_source_57 => l_array_source_57(Idx)
189640 , p_source_58 => l_array_source_58(Idx)
189641 , p_source_59 => l_array_source_59(Idx)
189642 , p_source_60 => l_array_source_60(Idx)
189643 , p_source_65 => l_array_source_65(Idx)
189644 , p_source_66 => l_array_source_66(Idx)
189645 , p_source_67 => l_array_source_67(Idx)
189646 , p_source_68 => l_array_source_68(Idx)
189647 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189648 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189649 , p_source_72 => l_array_source_72(Idx)
189650 , p_source_74 => l_array_source_74(Idx)
189651 , p_source_75 => l_array_source_75(Idx)
189652 , p_source_76 => l_array_source_76(Idx)
189653 , p_source_77 => l_array_source_77(Idx)
189654 , p_source_78 => l_array_source_78(Idx)
189655 , p_source_79 => l_array_source_79(Idx)
189656 , p_source_80 => l_array_source_80(Idx)
189657 , p_source_81 => l_array_source_81(Idx)
189658 , p_source_82 => l_array_source_82(Idx)
189659 , p_source_83 => l_array_source_83(Idx)
189660 , p_source_84 => l_array_source_84(Idx)
189661 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189662 , p_source_85 => l_array_source_85(Idx)
189663 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189664 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189665 , p_source_87 => l_array_source_87(Idx)
189666 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189667 , p_source_161 => l_array_source_161(Idx)
189668 , p_source_162 => l_array_source_162(Idx)
189669 );
189670 If(l_balance_type_code = 'A') THEN
189671 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189672 END IF;
189673
189674 --
189675
189676
189677 --
189678 AcctLineType_222 (
189679 p_application_id => p_application_id
189680 ,p_event_id => l_event_id
189681 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189682 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189686
189683 ,p_actual_flag => l_actual_flag
189684 ,p_balance_type_code => l_balance_type_code
189685 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189687 , p_source_1 => l_array_source_1(Idx)
189688 , p_source_9 => l_array_source_9(Idx)
189689 , p_source_18 => l_array_source_18(Idx)
189690 , p_source_21 => l_array_source_21(Idx)
189691 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189692 , p_source_41 => l_array_source_41(Idx)
189693 , p_source_43 => l_array_source_43(Idx)
189694 , p_source_45 => l_array_source_45(Idx)
189695 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189696 , p_source_52 => l_array_source_52(Idx)
189697 , p_source_53 => l_array_source_53(Idx)
189698 , p_source_54 => l_array_source_54(Idx)
189699 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189700 , p_source_56 => l_array_source_56(Idx)
189701 , p_source_57 => l_array_source_57(Idx)
189702 , p_source_58 => l_array_source_58(Idx)
189703 , p_source_59 => l_array_source_59(Idx)
189704 , p_source_60 => l_array_source_60(Idx)
189705 , p_source_61 => l_array_source_61(Idx)
189706 , p_source_65 => l_array_source_65(Idx)
189707 , p_source_66 => l_array_source_66(Idx)
189708 , p_source_67 => l_array_source_67(Idx)
189709 , p_source_68 => l_array_source_68(Idx)
189710 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189711 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189712 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189713 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189714 , p_source_72 => l_array_source_72(Idx)
189715 , p_source_74 => l_array_source_74(Idx)
189716 , p_source_75 => l_array_source_75(Idx)
189717 , p_source_76 => l_array_source_76(Idx)
189718 , p_source_77 => l_array_source_77(Idx)
189719 , p_source_78 => l_array_source_78(Idx)
189720 , p_source_79 => l_array_source_79(Idx)
189721 , p_source_80 => l_array_source_80(Idx)
189722 , p_source_81 => l_array_source_81(Idx)
189723 , p_source_82 => l_array_source_82(Idx)
189724 , p_source_83 => l_array_source_83(Idx)
189725 , p_source_135 => l_array_source_135(Idx)
189726 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189727 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189728 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189729 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189730 );
189731 If(l_balance_type_code = 'A') THEN
189732 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189733 END IF;
189734
189735 --
189736
189737
189738 --
189739 AcctLineType_223 (
189740 p_application_id => p_application_id
189741 ,p_event_id => l_event_id
189742 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189743 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189744 ,p_actual_flag => l_actual_flag
189745 ,p_balance_type_code => l_balance_type_code
189746 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189747
189748 , p_source_21 => l_array_source_21(Idx)
189749 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189750 , p_source_41 => l_array_source_41(Idx)
189751 , p_source_43 => l_array_source_43(Idx)
189752 , p_source_45 => l_array_source_45(Idx)
189753 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189754 , p_source_52 => l_array_source_52(Idx)
189755 , p_source_53 => l_array_source_53(Idx)
189756 , p_source_54 => l_array_source_54(Idx)
189757 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189758 , p_source_56 => l_array_source_56(Idx)
189759 , p_source_57 => l_array_source_57(Idx)
189760 , p_source_58 => l_array_source_58(Idx)
189761 , p_source_59 => l_array_source_59(Idx)
189762 , p_source_60 => l_array_source_60(Idx)
189763 , p_source_65 => l_array_source_65(Idx)
189764 , p_source_66 => l_array_source_66(Idx)
189765 , p_source_67 => l_array_source_67(Idx)
189766 , p_source_68 => l_array_source_68(Idx)
189767 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189768 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189769 , p_source_72 => l_array_source_72(Idx)
189770 , p_source_74 => l_array_source_74(Idx)
189771 , p_source_75 => l_array_source_75(Idx)
189772 , p_source_76 => l_array_source_76(Idx)
189773 , p_source_77 => l_array_source_77(Idx)
189774 , p_source_78 => l_array_source_78(Idx)
189775 , p_source_79 => l_array_source_79(Idx)
189776 , p_source_80 => l_array_source_80(Idx)
189777 , p_source_81 => l_array_source_81(Idx)
189778 , p_source_82 => l_array_source_82(Idx)
189779 , p_source_83 => l_array_source_83(Idx)
189780 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189781 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189782 , p_source_87 => l_array_source_87(Idx)
189783 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189784 , p_source_135 => l_array_source_135(Idx)
189785 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189786 , p_source_143 => l_array_source_143(Idx)
189787 , p_source_144 => l_array_source_144(Idx)
189788 );
189789 If(l_balance_type_code = 'A') THEN
189790 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189791 END IF;
189792
189793 --
189794
189795
189796 --
189797 AcctLineType_230 (
189798 p_application_id => p_application_id
189799 ,p_event_id => l_event_id
189800 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189801 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189805
189802 ,p_actual_flag => l_actual_flag
189803 ,p_balance_type_code => l_balance_type_code
189804 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189806 , p_source_1 => l_array_source_1(Idx)
189807 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
189808 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
189809 , p_source_9 => l_array_source_9(Idx)
189810 , p_source_18 => l_array_source_18(Idx)
189811 , p_source_21 => l_array_source_21(Idx)
189812 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189813 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
189814 , p_source_30 => l_array_source_30(Idx)
189815 , p_source_41 => l_array_source_41(Idx)
189816 , p_source_43 => l_array_source_43(Idx)
189817 , p_source_45 => l_array_source_45(Idx)
189818 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189819 , p_source_52 => l_array_source_52(Idx)
189820 , p_source_53 => l_array_source_53(Idx)
189821 , p_source_54 => l_array_source_54(Idx)
189822 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189823 , p_source_56 => l_array_source_56(Idx)
189824 , p_source_57 => l_array_source_57(Idx)
189825 , p_source_58 => l_array_source_58(Idx)
189826 , p_source_59 => l_array_source_59(Idx)
189827 , p_source_60 => l_array_source_60(Idx)
189828 , p_source_61 => l_array_source_61(Idx)
189829 , p_source_65 => l_array_source_65(Idx)
189830 , p_source_66 => l_array_source_66(Idx)
189831 , p_source_67 => l_array_source_67(Idx)
189832 , p_source_68 => l_array_source_68(Idx)
189833 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189834 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189835 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189836 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189837 , p_source_72 => l_array_source_72(Idx)
189838 , p_source_74 => l_array_source_74(Idx)
189839 , p_source_75 => l_array_source_75(Idx)
189840 , p_source_76 => l_array_source_76(Idx)
189841 , p_source_77 => l_array_source_77(Idx)
189842 , p_source_78 => l_array_source_78(Idx)
189843 , p_source_79 => l_array_source_79(Idx)
189844 , p_source_80 => l_array_source_80(Idx)
189845 , p_source_81 => l_array_source_81(Idx)
189846 , p_source_82 => l_array_source_82(Idx)
189847 , p_source_83 => l_array_source_83(Idx)
189848 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189849 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189850 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189851 );
189852 If(l_balance_type_code = 'A') THEN
189853 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189854 END IF;
189855
189856 --
189857
189858
189859 --
189860 AcctLineType_233 (
189861 p_application_id => p_application_id
189862 ,p_event_id => l_event_id
189863 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189864 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189865 ,p_actual_flag => l_actual_flag
189866 ,p_balance_type_code => l_balance_type_code
189867 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189868
189869 , p_source_21 => l_array_source_21(Idx)
189870 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189871 , p_source_41 => l_array_source_41(Idx)
189872 , p_source_43 => l_array_source_43(Idx)
189873 , p_source_45 => l_array_source_45(Idx)
189874 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189875 , p_source_52 => l_array_source_52(Idx)
189876 , p_source_53 => l_array_source_53(Idx)
189877 , p_source_54 => l_array_source_54(Idx)
189878 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189879 , p_source_56 => l_array_source_56(Idx)
189880 , p_source_57 => l_array_source_57(Idx)
189881 , p_source_58 => l_array_source_58(Idx)
189882 , p_source_59 => l_array_source_59(Idx)
189883 , p_source_60 => l_array_source_60(Idx)
189884 , p_source_61 => l_array_source_61(Idx)
189885 , p_source_65 => l_array_source_65(Idx)
189886 , p_source_66 => l_array_source_66(Idx)
189887 , p_source_67 => l_array_source_67(Idx)
189888 , p_source_68 => l_array_source_68(Idx)
189889 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189890 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189891 , p_source_72 => l_array_source_72(Idx)
189892 , p_source_74 => l_array_source_74(Idx)
189893 , p_source_75 => l_array_source_75(Idx)
189894 , p_source_76 => l_array_source_76(Idx)
189895 , p_source_77 => l_array_source_77(Idx)
189896 , p_source_78 => l_array_source_78(Idx)
189897 , p_source_79 => l_array_source_79(Idx)
189898 , p_source_80 => l_array_source_80(Idx)
189899 , p_source_81 => l_array_source_81(Idx)
189900 , p_source_82 => l_array_source_82(Idx)
189901 , p_source_83 => l_array_source_83(Idx)
189902 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
189903 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
189904 , p_source_87 => l_array_source_87(Idx)
189905 , p_source_87_meaning => l_array_source_87_meaning(Idx)
189906 , p_source_135 => l_array_source_135(Idx)
189907 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189908 , p_source_144 => l_array_source_144(Idx)
189909 );
189910 If(l_balance_type_code = 'A') THEN
189911 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189912 END IF;
189913
189914 --
189915
189916
189917 --
189918 AcctLineType_238 (
189919 p_application_id => p_application_id
189923 ,p_actual_flag => l_actual_flag
189920 ,p_event_id => l_event_id
189921 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189922 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189924 ,p_balance_type_code => l_balance_type_code
189925 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189926
189927 , p_source_1 => l_array_source_1(Idx)
189928 , p_source_9 => l_array_source_9(Idx)
189929 , p_source_21 => l_array_source_21(Idx)
189930 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189931 , p_source_38 => l_array_source_38(Idx)
189932 , p_source_41 => l_array_source_41(Idx)
189933 , p_source_43 => l_array_source_43(Idx)
189934 , p_source_45 => l_array_source_45(Idx)
189935 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189936 , p_source_52 => l_array_source_52(Idx)
189937 , p_source_53 => l_array_source_53(Idx)
189938 , p_source_54 => l_array_source_54(Idx)
189939 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
189940 , p_source_56 => l_array_source_56(Idx)
189941 , p_source_57 => l_array_source_57(Idx)
189942 , p_source_58 => l_array_source_58(Idx)
189943 , p_source_59 => l_array_source_59(Idx)
189944 , p_source_60 => l_array_source_60(Idx)
189945 , p_source_61 => l_array_source_61(Idx)
189946 , p_source_65 => l_array_source_65(Idx)
189947 , p_source_66 => l_array_source_66(Idx)
189948 , p_source_67 => l_array_source_67(Idx)
189949 , p_source_68 => l_array_source_68(Idx)
189950 , p_source_68_meaning => l_array_source_68_meaning(Idx)
189951 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
189952 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
189953 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
189954 , p_source_72 => l_array_source_72(Idx)
189955 , p_source_74 => l_array_source_74(Idx)
189956 , p_source_75 => l_array_source_75(Idx)
189957 , p_source_76 => l_array_source_76(Idx)
189958 , p_source_77 => l_array_source_77(Idx)
189959 , p_source_78 => l_array_source_78(Idx)
189960 , p_source_79 => l_array_source_79(Idx)
189961 , p_source_80 => l_array_source_80(Idx)
189962 , p_source_81 => l_array_source_81(Idx)
189963 , p_source_82 => l_array_source_82(Idx)
189964 , p_source_83 => l_array_source_83(Idx)
189965 , p_source_84 => l_array_source_84(Idx)
189966 , p_source_84_meaning => l_array_source_84_meaning(Idx)
189967 , p_source_135 => l_array_source_135(Idx)
189968 , p_source_135_meaning => l_array_source_135_meaning(Idx)
189969 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
189970 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
189971 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
189972 );
189973 If(l_balance_type_code = 'A') THEN
189974 l_actual_gain_loss_ref := l_gain_or_loss_ref;
189975 END IF;
189976
189977 --
189978
189979
189980 --
189981 AcctLineType_242 (
189982 p_application_id => p_application_id
189983 ,p_event_id => l_event_id
189984 ,p_calculate_acctd_flag => l_calculate_acctd_flag
189985 ,p_calculate_g_l_flag => l_calculate_g_l_flag
189986 ,p_actual_flag => l_actual_flag
189987 ,p_balance_type_code => l_balance_type_code
189988 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
189989
189990 , p_source_1 => l_array_source_1(Idx)
189991 , p_source_9 => l_array_source_9(Idx)
189992 , p_source_21 => l_array_source_21(Idx)
189993 , p_source_21_meaning => l_array_source_21_meaning(Idx)
189994 , p_source_38 => l_array_source_38(Idx)
189995 , p_source_41 => l_array_source_41(Idx)
189996 , p_source_43 => l_array_source_43(Idx)
189997 , p_source_45 => l_array_source_45(Idx)
189998 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
189999 , p_source_52 => l_array_source_52(Idx)
190000 , p_source_53 => l_array_source_53(Idx)
190001 , p_source_54 => l_array_source_54(Idx)
190002 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190003 , p_source_56 => l_array_source_56(Idx)
190004 , p_source_57 => l_array_source_57(Idx)
190005 , p_source_58 => l_array_source_58(Idx)
190006 , p_source_59 => l_array_source_59(Idx)
190007 , p_source_60 => l_array_source_60(Idx)
190008 , p_source_61 => l_array_source_61(Idx)
190009 , p_source_65 => l_array_source_65(Idx)
190010 , p_source_66 => l_array_source_66(Idx)
190011 , p_source_67 => l_array_source_67(Idx)
190012 , p_source_68 => l_array_source_68(Idx)
190013 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190014 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190015 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190016 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190017 , p_source_72 => l_array_source_72(Idx)
190018 , p_source_74 => l_array_source_74(Idx)
190019 , p_source_75 => l_array_source_75(Idx)
190020 , p_source_76 => l_array_source_76(Idx)
190021 , p_source_77 => l_array_source_77(Idx)
190022 , p_source_78 => l_array_source_78(Idx)
190023 , p_source_79 => l_array_source_79(Idx)
190024 , p_source_80 => l_array_source_80(Idx)
190025 , p_source_81 => l_array_source_81(Idx)
190026 , p_source_82 => l_array_source_82(Idx)
190027 , p_source_83 => l_array_source_83(Idx)
190028 , p_source_135 => l_array_source_135(Idx)
190029 , p_source_135_meaning => l_array_source_135_meaning(Idx)
190030 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
190031 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
190032 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
190033 );
190034 If(l_balance_type_code = 'A') THEN
190038 --
190035 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190036 END IF;
190037
190039
190040
190041 --
190042 AcctLineType_245 (
190043 p_application_id => p_application_id
190044 ,p_event_id => l_event_id
190045 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190046 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190047 ,p_actual_flag => l_actual_flag
190048 ,p_balance_type_code => l_balance_type_code
190049 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190050
190051 , p_source_1 => l_array_source_1(Idx)
190052 , p_source_9 => l_array_source_9(Idx)
190053 , p_source_21 => l_array_source_21(Idx)
190054 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190055 , p_source_39 => l_array_source_39(Idx)
190056 , p_source_41 => l_array_source_41(Idx)
190057 , p_source_43 => l_array_source_43(Idx)
190058 , p_source_45 => l_array_source_45(Idx)
190059 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190060 , p_source_52 => l_array_source_52(Idx)
190061 , p_source_53 => l_array_source_53(Idx)
190062 , p_source_54 => l_array_source_54(Idx)
190063 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190064 , p_source_56 => l_array_source_56(Idx)
190065 , p_source_57 => l_array_source_57(Idx)
190066 , p_source_58 => l_array_source_58(Idx)
190067 , p_source_59 => l_array_source_59(Idx)
190068 , p_source_60 => l_array_source_60(Idx)
190069 , p_source_61 => l_array_source_61(Idx)
190070 , p_source_65 => l_array_source_65(Idx)
190071 , p_source_66 => l_array_source_66(Idx)
190072 , p_source_67 => l_array_source_67(Idx)
190073 , p_source_68 => l_array_source_68(Idx)
190074 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190075 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190076 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190077 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190078 , p_source_72 => l_array_source_72(Idx)
190079 , p_source_74 => l_array_source_74(Idx)
190080 , p_source_75 => l_array_source_75(Idx)
190081 , p_source_76 => l_array_source_76(Idx)
190082 , p_source_77 => l_array_source_77(Idx)
190083 , p_source_78 => l_array_source_78(Idx)
190084 , p_source_79 => l_array_source_79(Idx)
190085 , p_source_80 => l_array_source_80(Idx)
190086 , p_source_81 => l_array_source_81(Idx)
190087 , p_source_82 => l_array_source_82(Idx)
190088 , p_source_83 => l_array_source_83(Idx)
190089 , p_source_135 => l_array_source_135(Idx)
190090 , p_source_135_meaning => l_array_source_135_meaning(Idx)
190091 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
190092 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
190093 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
190094 );
190095 If(l_balance_type_code = 'A') THEN
190096 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190097 END IF;
190098
190099 --
190100
190101
190102 --
190103 AcctLineType_250 (
190104 p_application_id => p_application_id
190105 ,p_event_id => l_event_id
190106 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190107 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190108 ,p_actual_flag => l_actual_flag
190109 ,p_balance_type_code => l_balance_type_code
190110 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190111
190112 , p_source_1 => l_array_source_1(Idx)
190113 , p_source_9 => l_array_source_9(Idx)
190114 , p_source_21 => l_array_source_21(Idx)
190115 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190116 , p_source_38 => l_array_source_38(Idx)
190117 , p_source_41 => l_array_source_41(Idx)
190118 , p_source_43 => l_array_source_43(Idx)
190119 , p_source_45 => l_array_source_45(Idx)
190120 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190121 , p_source_52 => l_array_source_52(Idx)
190122 , p_source_53 => l_array_source_53(Idx)
190123 , p_source_54 => l_array_source_54(Idx)
190124 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190125 , p_source_56 => l_array_source_56(Idx)
190126 , p_source_57 => l_array_source_57(Idx)
190127 , p_source_58 => l_array_source_58(Idx)
190128 , p_source_59 => l_array_source_59(Idx)
190129 , p_source_60 => l_array_source_60(Idx)
190130 , p_source_61 => l_array_source_61(Idx)
190131 , p_source_62 => l_array_source_62(Idx)
190132 , p_source_63 => l_array_source_63(Idx)
190133 , p_source_64 => l_array_source_64(Idx)
190134 , p_source_65 => l_array_source_65(Idx)
190135 , p_source_66 => l_array_source_66(Idx)
190136 , p_source_67 => l_array_source_67(Idx)
190137 , p_source_68 => l_array_source_68(Idx)
190138 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190139 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190140 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190141 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190142 , p_source_72 => l_array_source_72(Idx)
190143 , p_source_74 => l_array_source_74(Idx)
190144 , p_source_75 => l_array_source_75(Idx)
190145 , p_source_76 => l_array_source_76(Idx)
190146 , p_source_77 => l_array_source_77(Idx)
190147 , p_source_78 => l_array_source_78(Idx)
190148 , p_source_79 => l_array_source_79(Idx)
190149 , p_source_80 => l_array_source_80(Idx)
190150 , p_source_81 => l_array_source_81(Idx)
190151 , p_source_82 => l_array_source_82(Idx)
190152 , p_source_83 => l_array_source_83(Idx)
190153 , p_source_84 => l_array_source_84(Idx)
190157 );
190154 , p_source_84_meaning => l_array_source_84_meaning(Idx)
190155 , p_source_135 => l_array_source_135(Idx)
190156 , p_source_135_meaning => l_array_source_135_meaning(Idx)
190158 If(l_balance_type_code = 'A') THEN
190159 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190160 END IF;
190161
190162 --
190163
190164
190165 --
190166 AcctLineType_253 (
190167 p_application_id => p_application_id
190168 ,p_event_id => l_event_id
190169 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190170 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190171 ,p_actual_flag => l_actual_flag
190172 ,p_balance_type_code => l_balance_type_code
190173 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190174
190175 , p_source_21 => l_array_source_21(Idx)
190176 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190177 , p_source_41 => l_array_source_41(Idx)
190178 , p_source_43 => l_array_source_43(Idx)
190179 , p_source_45 => l_array_source_45(Idx)
190180 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190181 , p_source_52 => l_array_source_52(Idx)
190182 , p_source_53 => l_array_source_53(Idx)
190183 , p_source_54 => l_array_source_54(Idx)
190184 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190185 , p_source_56 => l_array_source_56(Idx)
190186 , p_source_57 => l_array_source_57(Idx)
190187 , p_source_58 => l_array_source_58(Idx)
190188 , p_source_59 => l_array_source_59(Idx)
190189 , p_source_60 => l_array_source_60(Idx)
190190 , p_source_65 => l_array_source_65(Idx)
190191 , p_source_66 => l_array_source_66(Idx)
190192 , p_source_67 => l_array_source_67(Idx)
190193 , p_source_68 => l_array_source_68(Idx)
190194 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190195 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190196 , p_source_72 => l_array_source_72(Idx)
190197 , p_source_74 => l_array_source_74(Idx)
190198 , p_source_75 => l_array_source_75(Idx)
190199 , p_source_76 => l_array_source_76(Idx)
190200 , p_source_77 => l_array_source_77(Idx)
190201 , p_source_78 => l_array_source_78(Idx)
190202 , p_source_79 => l_array_source_79(Idx)
190203 , p_source_80 => l_array_source_80(Idx)
190204 , p_source_81 => l_array_source_81(Idx)
190205 , p_source_82 => l_array_source_82(Idx)
190206 , p_source_83 => l_array_source_83(Idx)
190207 , p_source_84 => l_array_source_84(Idx)
190208 , p_source_84_meaning => l_array_source_84_meaning(Idx)
190209 , p_source_85 => l_array_source_85(Idx)
190210 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
190211 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
190212 , p_source_87 => l_array_source_87(Idx)
190213 , p_source_87_meaning => l_array_source_87_meaning(Idx)
190214 , p_source_88 => l_array_source_88(Idx)
190215 );
190216 If(l_balance_type_code = 'A') THEN
190217 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190218 END IF;
190219
190220 --
190221
190222
190223 --
190224 AcctLineType_258 (
190225 p_application_id => p_application_id
190226 ,p_event_id => l_event_id
190227 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190228 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190229 ,p_actual_flag => l_actual_flag
190230 ,p_balance_type_code => l_balance_type_code
190231 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190232
190233 , p_source_21 => l_array_source_21(Idx)
190234 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190235 , p_source_41 => l_array_source_41(Idx)
190236 , p_source_43 => l_array_source_43(Idx)
190237 , p_source_45 => l_array_source_45(Idx)
190238 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190239 , p_source_52 => l_array_source_52(Idx)
190240 , p_source_53 => l_array_source_53(Idx)
190241 , p_source_54 => l_array_source_54(Idx)
190242 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190243 , p_source_56 => l_array_source_56(Idx)
190244 , p_source_57 => l_array_source_57(Idx)
190245 , p_source_58 => l_array_source_58(Idx)
190246 , p_source_59 => l_array_source_59(Idx)
190247 , p_source_60 => l_array_source_60(Idx)
190248 , p_source_65 => l_array_source_65(Idx)
190249 , p_source_66 => l_array_source_66(Idx)
190250 , p_source_67 => l_array_source_67(Idx)
190251 , p_source_68 => l_array_source_68(Idx)
190252 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190253 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190254 , p_source_72 => l_array_source_72(Idx)
190255 , p_source_74 => l_array_source_74(Idx)
190256 , p_source_75 => l_array_source_75(Idx)
190257 , p_source_76 => l_array_source_76(Idx)
190258 , p_source_77 => l_array_source_77(Idx)
190259 , p_source_78 => l_array_source_78(Idx)
190260 , p_source_79 => l_array_source_79(Idx)
190261 , p_source_80 => l_array_source_80(Idx)
190262 , p_source_81 => l_array_source_81(Idx)
190263 , p_source_82 => l_array_source_82(Idx)
190264 , p_source_83 => l_array_source_83(Idx)
190265 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
190266 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
190267 , p_source_87 => l_array_source_87(Idx)
190268 , p_source_87_meaning => l_array_source_87_meaning(Idx)
190269 , p_source_143 => l_array_source_143(Idx)
190270 , p_source_144 => l_array_source_144(Idx)
190271 );
190272 If(l_balance_type_code = 'A') THEN
190273 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190274 END IF;
190275
190276 --
190277
190278
190279 --
190283 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190280 AcctLineType_262 (
190281 p_application_id => p_application_id
190282 ,p_event_id => l_event_id
190284 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190285 ,p_actual_flag => l_actual_flag
190286 ,p_balance_type_code => l_balance_type_code
190287 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190288
190289 , p_source_1 => l_array_source_1(Idx)
190290 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
190291 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
190292 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
190293 , p_source_9 => l_array_source_9(Idx)
190294 , p_source_10 => l_array_source_10(Idx)
190295 , p_source_10_meaning => l_array_source_10_meaning(Idx)
190296 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
190297 , p_source_18 => l_array_source_18(Idx)
190298 , p_source_21 => l_array_source_21(Idx)
190299 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190300 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
190301 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
190302 , p_source_41 => l_array_source_41(Idx)
190303 , p_source_43 => l_array_source_43(Idx)
190304 , p_source_45 => l_array_source_45(Idx)
190305 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190306 , p_source_52 => l_array_source_52(Idx)
190307 , p_source_53 => l_array_source_53(Idx)
190308 , p_source_54 => l_array_source_54(Idx)
190309 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190310 , p_source_56 => l_array_source_56(Idx)
190311 , p_source_57 => l_array_source_57(Idx)
190312 , p_source_58 => l_array_source_58(Idx)
190313 , p_source_59 => l_array_source_59(Idx)
190314 , p_source_60 => l_array_source_60(Idx)
190315 , p_source_61 => l_array_source_61(Idx)
190316 , p_source_65 => l_array_source_65(Idx)
190317 , p_source_66 => l_array_source_66(Idx)
190318 , p_source_67 => l_array_source_67(Idx)
190319 , p_source_68 => l_array_source_68(Idx)
190320 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190321 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190322 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190323 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190324 , p_source_72 => l_array_source_72(Idx)
190325 , p_source_74 => l_array_source_74(Idx)
190326 , p_source_75 => l_array_source_75(Idx)
190327 , p_source_76 => l_array_source_76(Idx)
190328 , p_source_77 => l_array_source_77(Idx)
190329 , p_source_78 => l_array_source_78(Idx)
190330 , p_source_79 => l_array_source_79(Idx)
190331 , p_source_80 => l_array_source_80(Idx)
190332 , p_source_81 => l_array_source_81(Idx)
190333 , p_source_82 => l_array_source_82(Idx)
190334 , p_source_83 => l_array_source_83(Idx)
190335 , p_source_84 => l_array_source_84(Idx)
190336 , p_source_84_meaning => l_array_source_84_meaning(Idx)
190337 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
190338 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
190339 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
190340 );
190341 If(l_balance_type_code = 'A') THEN
190342 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190343 END IF;
190344
190345 --
190346
190347
190348 --
190349 AcctLineType_267 (
190350 p_application_id => p_application_id
190351 ,p_event_id => l_event_id
190352 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190353 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190354 ,p_actual_flag => l_actual_flag
190355 ,p_balance_type_code => l_balance_type_code
190356 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190357
190358 , p_source_1 => l_array_source_1(Idx)
190359 , p_source_9 => l_array_source_9(Idx)
190360 , p_source_18 => l_array_source_18(Idx)
190361 , p_source_21 => l_array_source_21(Idx)
190362 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190363 , p_source_41 => l_array_source_41(Idx)
190364 , p_source_43 => l_array_source_43(Idx)
190365 , p_source_45 => l_array_source_45(Idx)
190366 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190367 , p_source_52 => l_array_source_52(Idx)
190368 , p_source_53 => l_array_source_53(Idx)
190369 , p_source_54 => l_array_source_54(Idx)
190370 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190371 , p_source_56 => l_array_source_56(Idx)
190372 , p_source_57 => l_array_source_57(Idx)
190373 , p_source_58 => l_array_source_58(Idx)
190374 , p_source_59 => l_array_source_59(Idx)
190375 , p_source_60 => l_array_source_60(Idx)
190376 , p_source_61 => l_array_source_61(Idx)
190377 , p_source_65 => l_array_source_65(Idx)
190378 , p_source_66 => l_array_source_66(Idx)
190379 , p_source_67 => l_array_source_67(Idx)
190380 , p_source_68 => l_array_source_68(Idx)
190381 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190382 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190383 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190384 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190385 , p_source_72 => l_array_source_72(Idx)
190386 , p_source_74 => l_array_source_74(Idx)
190387 , p_source_75 => l_array_source_75(Idx)
190388 , p_source_76 => l_array_source_76(Idx)
190389 , p_source_77 => l_array_source_77(Idx)
190390 , p_source_78 => l_array_source_78(Idx)
190391 , p_source_79 => l_array_source_79(Idx)
190392 , p_source_80 => l_array_source_80(Idx)
190396 , p_source_84 => l_array_source_84(Idx)
190393 , p_source_81 => l_array_source_81(Idx)
190394 , p_source_82 => l_array_source_82(Idx)
190395 , p_source_83 => l_array_source_83(Idx)
190397 , p_source_84_meaning => l_array_source_84_meaning(Idx)
190398 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
190399 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
190400 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
190401 );
190402 If(l_balance_type_code = 'A') THEN
190403 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190404 END IF;
190405
190406 --
190407
190408
190409 --
190410 AcctLineType_268 (
190411 p_application_id => p_application_id
190412 ,p_event_id => l_event_id
190413 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190414 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190415 ,p_actual_flag => l_actual_flag
190416 ,p_balance_type_code => l_balance_type_code
190417 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190418
190419 , p_source_21 => l_array_source_21(Idx)
190420 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190421 , p_source_41 => l_array_source_41(Idx)
190422 , p_source_43 => l_array_source_43(Idx)
190423 , p_source_45 => l_array_source_45(Idx)
190424 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190425 , p_source_52 => l_array_source_52(Idx)
190426 , p_source_53 => l_array_source_53(Idx)
190427 , p_source_54 => l_array_source_54(Idx)
190428 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190429 , p_source_56 => l_array_source_56(Idx)
190430 , p_source_57 => l_array_source_57(Idx)
190431 , p_source_58 => l_array_source_58(Idx)
190432 , p_source_59 => l_array_source_59(Idx)
190433 , p_source_60 => l_array_source_60(Idx)
190434 , p_source_65 => l_array_source_65(Idx)
190435 , p_source_66 => l_array_source_66(Idx)
190436 , p_source_67 => l_array_source_67(Idx)
190437 , p_source_68 => l_array_source_68(Idx)
190438 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190439 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190440 , p_source_72 => l_array_source_72(Idx)
190441 , p_source_74 => l_array_source_74(Idx)
190442 , p_source_75 => l_array_source_75(Idx)
190443 , p_source_76 => l_array_source_76(Idx)
190444 , p_source_77 => l_array_source_77(Idx)
190445 , p_source_78 => l_array_source_78(Idx)
190446 , p_source_79 => l_array_source_79(Idx)
190447 , p_source_80 => l_array_source_80(Idx)
190448 , p_source_81 => l_array_source_81(Idx)
190449 , p_source_82 => l_array_source_82(Idx)
190450 , p_source_83 => l_array_source_83(Idx)
190451 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
190452 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
190453 , p_source_87 => l_array_source_87(Idx)
190454 , p_source_87_meaning => l_array_source_87_meaning(Idx)
190455 , p_source_143 => l_array_source_143(Idx)
190456 , p_source_144 => l_array_source_144(Idx)
190457 );
190458 If(l_balance_type_code = 'A') THEN
190459 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190460 END IF;
190461
190462 --
190463
190464
190465 --
190466 AcctLineType_274 (
190467 p_application_id => p_application_id
190468 ,p_event_id => l_event_id
190469 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190470 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190471 ,p_actual_flag => l_actual_flag
190472 ,p_balance_type_code => l_balance_type_code
190473 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190474
190475 , p_source_21 => l_array_source_21(Idx)
190476 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190477 , p_source_41 => l_array_source_41(Idx)
190478 , p_source_43 => l_array_source_43(Idx)
190479 , p_source_45 => l_array_source_45(Idx)
190480 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190481 , p_source_52 => l_array_source_52(Idx)
190482 , p_source_53 => l_array_source_53(Idx)
190483 , p_source_54 => l_array_source_54(Idx)
190484 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190485 , p_source_56 => l_array_source_56(Idx)
190486 , p_source_57 => l_array_source_57(Idx)
190487 , p_source_58 => l_array_source_58(Idx)
190488 , p_source_59 => l_array_source_59(Idx)
190489 , p_source_60 => l_array_source_60(Idx)
190490 , p_source_65 => l_array_source_65(Idx)
190491 , p_source_66 => l_array_source_66(Idx)
190492 , p_source_67 => l_array_source_67(Idx)
190493 , p_source_68 => l_array_source_68(Idx)
190494 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190495 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190496 , p_source_72 => l_array_source_72(Idx)
190497 , p_source_74 => l_array_source_74(Idx)
190498 , p_source_75 => l_array_source_75(Idx)
190499 , p_source_76 => l_array_source_76(Idx)
190500 , p_source_77 => l_array_source_77(Idx)
190501 , p_source_78 => l_array_source_78(Idx)
190502 , p_source_79 => l_array_source_79(Idx)
190503 , p_source_80 => l_array_source_80(Idx)
190504 , p_source_81 => l_array_source_81(Idx)
190505 , p_source_82 => l_array_source_82(Idx)
190506 , p_source_83 => l_array_source_83(Idx)
190507 , p_source_84 => l_array_source_84(Idx)
190508 , p_source_84_meaning => l_array_source_84_meaning(Idx)
190509 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
190510 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
190511 , p_source_87 => l_array_source_87(Idx)
190512 , p_source_87_meaning => l_array_source_87_meaning(Idx)
190516 If(l_balance_type_code = 'A') THEN
190513 , p_source_161 => l_array_source_161(Idx)
190514 , p_source_162 => l_array_source_162(Idx)
190515 );
190517 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190518 END IF;
190519
190520 --
190521
190522
190523 --
190524 AcctLineType_279 (
190525 p_application_id => p_application_id
190526 ,p_event_id => l_event_id
190527 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190528 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190529 ,p_actual_flag => l_actual_flag
190530 ,p_balance_type_code => l_balance_type_code
190531 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190532
190533 , p_source_1 => l_array_source_1(Idx)
190534 , p_source_9 => l_array_source_9(Idx)
190535 , p_source_18 => l_array_source_18(Idx)
190536 , p_source_21 => l_array_source_21(Idx)
190537 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190538 , p_source_41 => l_array_source_41(Idx)
190539 , p_source_43 => l_array_source_43(Idx)
190540 , p_source_45 => l_array_source_45(Idx)
190541 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190542 , p_source_52 => l_array_source_52(Idx)
190543 , p_source_53 => l_array_source_53(Idx)
190544 , p_source_54 => l_array_source_54(Idx)
190545 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190546 , p_source_56 => l_array_source_56(Idx)
190547 , p_source_57 => l_array_source_57(Idx)
190548 , p_source_58 => l_array_source_58(Idx)
190549 , p_source_59 => l_array_source_59(Idx)
190550 , p_source_60 => l_array_source_60(Idx)
190551 , p_source_61 => l_array_source_61(Idx)
190552 , p_source_65 => l_array_source_65(Idx)
190553 , p_source_66 => l_array_source_66(Idx)
190554 , p_source_67 => l_array_source_67(Idx)
190555 , p_source_68 => l_array_source_68(Idx)
190556 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190557 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190558 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190559 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190560 , p_source_72 => l_array_source_72(Idx)
190561 , p_source_74 => l_array_source_74(Idx)
190562 , p_source_75 => l_array_source_75(Idx)
190563 , p_source_76 => l_array_source_76(Idx)
190564 , p_source_77 => l_array_source_77(Idx)
190565 , p_source_78 => l_array_source_78(Idx)
190566 , p_source_79 => l_array_source_79(Idx)
190567 , p_source_80 => l_array_source_80(Idx)
190568 , p_source_81 => l_array_source_81(Idx)
190569 , p_source_82 => l_array_source_82(Idx)
190570 , p_source_83 => l_array_source_83(Idx)
190571 , p_source_84 => l_array_source_84(Idx)
190572 , p_source_84_meaning => l_array_source_84_meaning(Idx)
190573 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
190574 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
190575 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
190576 );
190577 If(l_balance_type_code = 'A') THEN
190578 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190579 END IF;
190580
190581 --
190582
190583
190584 --
190585 AcctLineType_280 (
190586 p_application_id => p_application_id
190587 ,p_event_id => l_event_id
190588 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190589 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190590 ,p_actual_flag => l_actual_flag
190591 ,p_balance_type_code => l_balance_type_code
190592 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190593
190594 , p_source_21 => l_array_source_21(Idx)
190595 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190596 , p_source_41 => l_array_source_41(Idx)
190597 , p_source_43 => l_array_source_43(Idx)
190598 , p_source_45 => l_array_source_45(Idx)
190599 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190600 , p_source_52 => l_array_source_52(Idx)
190601 , p_source_53 => l_array_source_53(Idx)
190602 , p_source_54 => l_array_source_54(Idx)
190603 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190604 , p_source_56 => l_array_source_56(Idx)
190605 , p_source_57 => l_array_source_57(Idx)
190606 , p_source_58 => l_array_source_58(Idx)
190607 , p_source_59 => l_array_source_59(Idx)
190608 , p_source_60 => l_array_source_60(Idx)
190609 , p_source_65 => l_array_source_65(Idx)
190610 , p_source_66 => l_array_source_66(Idx)
190611 , p_source_67 => l_array_source_67(Idx)
190612 , p_source_68 => l_array_source_68(Idx)
190613 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190614 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190615 , p_source_72 => l_array_source_72(Idx)
190616 , p_source_74 => l_array_source_74(Idx)
190617 , p_source_75 => l_array_source_75(Idx)
190618 , p_source_76 => l_array_source_76(Idx)
190619 , p_source_77 => l_array_source_77(Idx)
190620 , p_source_78 => l_array_source_78(Idx)
190621 , p_source_79 => l_array_source_79(Idx)
190622 , p_source_80 => l_array_source_80(Idx)
190623 , p_source_81 => l_array_source_81(Idx)
190624 , p_source_82 => l_array_source_82(Idx)
190625 , p_source_83 => l_array_source_83(Idx)
190626 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
190627 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
190628 , p_source_87 => l_array_source_87(Idx)
190629 , p_source_87_meaning => l_array_source_87_meaning(Idx)
190630 , p_source_143 => l_array_source_143(Idx)
190631 , p_source_144 => l_array_source_144(Idx)
190632 );
190633 If(l_balance_type_code = 'A') THEN
190637 --
190634 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190635 END IF;
190636
190638
190639
190640 --
190641 AcctLineType_288 (
190642 p_application_id => p_application_id
190643 ,p_event_id => l_event_id
190644 ,p_calculate_acctd_flag => l_calculate_acctd_flag
190645 ,p_calculate_g_l_flag => l_calculate_g_l_flag
190646 ,p_actual_flag => l_actual_flag
190647 ,p_balance_type_code => l_balance_type_code
190648 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
190649
190650 , p_source_1 => l_array_source_1(Idx)
190651 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
190652 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
190653 , p_source_9 => l_array_source_9(Idx)
190654 , p_source_18 => l_array_source_18(Idx)
190655 , p_source_21 => l_array_source_21(Idx)
190656 , p_source_21_meaning => l_array_source_21_meaning(Idx)
190657 , p_source_31 => l_array_source_31(Idx)
190658 , p_source_41 => l_array_source_41(Idx)
190659 , p_source_43 => l_array_source_43(Idx)
190660 , p_source_45 => l_array_source_45(Idx)
190661 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
190662 , p_source_52 => l_array_source_52(Idx)
190663 , p_source_53 => l_array_source_53(Idx)
190664 , p_source_54 => l_array_source_54(Idx)
190665 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
190666 , p_source_56 => l_array_source_56(Idx)
190667 , p_source_57 => l_array_source_57(Idx)
190668 , p_source_58 => l_array_source_58(Idx)
190669 , p_source_59 => l_array_source_59(Idx)
190670 , p_source_60 => l_array_source_60(Idx)
190671 , p_source_61 => l_array_source_61(Idx)
190672 , p_source_65 => l_array_source_65(Idx)
190673 , p_source_66 => l_array_source_66(Idx)
190674 , p_source_67 => l_array_source_67(Idx)
190675 , p_source_68 => l_array_source_68(Idx)
190676 , p_source_68_meaning => l_array_source_68_meaning(Idx)
190677 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
190678 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
190679 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
190680 , p_source_72 => l_array_source_72(Idx)
190681 , p_source_74 => l_array_source_74(Idx)
190682 , p_source_75 => l_array_source_75(Idx)
190683 , p_source_76 => l_array_source_76(Idx)
190684 , p_source_77 => l_array_source_77(Idx)
190685 , p_source_78 => l_array_source_78(Idx)
190686 , p_source_79 => l_array_source_79(Idx)
190687 , p_source_80 => l_array_source_80(Idx)
190688 , p_source_81 => l_array_source_81(Idx)
190689 , p_source_82 => l_array_source_82(Idx)
190690 , p_source_83 => l_array_source_83(Idx)
190691 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
190692 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
190693 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
190694 );
190695 If(l_balance_type_code = 'A') THEN
190696 l_actual_gain_loss_ref := l_gain_or_loss_ref;
190697 END IF;
190698
190699 --
190700
190701 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
190702 -- or secondary ledger that has different currency with primary
190703 -- or alc that is calculated by sla
190704 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
190705 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y'))
190706
190707 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
190708 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
190709 AND (l_actual_flag = 'A')) THEN
190710 XLA_AE_LINES_PKG.CreateGainOrLossLines(
190711 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
190712 ,p_application_id => p_application_id
190713 ,p_amb_context_code => 'DEFAULT'
190714 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
190715 ,p_event_class_code => C_EVENT_CLASS_CODE
190716 ,p_event_type_code => C_EVENT_TYPE_CODE
190717
190718 ,p_gain_ccid => -1
190719 ,p_loss_ccid => -1
190720
190721 ,p_actual_flag => l_actual_flag
190722 ,p_enc_flag => null
190723 ,p_actual_g_l_ref => l_actual_gain_loss_ref
190724 ,p_enc_g_l_ref => null
190725 );
190726 END IF;
190727 END IF;
190728 END IF;
190729
190730 ELSE
190731 --
190732 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
190733 --
190734 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
190735 trace
190736 (p_msg => 'Trancaction revesal option is Y'
190737 ,p_level => C_LEVEL_STATEMENT
190738 ,p_module => l_log_module);
190739 END IF;
190740 END IF;
190741
190742 END LOOP;
190743 l_result := XLA_AE_LINES_PKG.InsertLines ;
190744 end loop;
190745 close line_cur;
190746
190747
190748 --
190749 -- insert headers into xla_ae_headers_gt table
190750 --
190751 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
190752
190753 -- insert into errors table here.
190754
190755 END LOOP;
190756
190757 --
190758 -- 4865292
190759 --
190760 -- Compare g_hdr_extract_count with event count in
190761 -- CreateHeadersAndLines.
190765 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
190762 --
190763 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
190764
190766 trace (p_msg => '# rows extracted from header extract objects '
190767 || ' (running total): '
190768 || g_hdr_extract_count
190769 ,p_level => C_LEVEL_STATEMENT
190770 ,p_module => l_log_module);
190771 END IF;
190772
190773 CLOSE header_cur;
190774 --
190775
190776 --
190777 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
190778 trace
190779 (p_msg => 'END of EventClass_292'
190780 ,p_level => C_LEVEL_PROCEDURE
190781 ,p_module => l_log_module);
190782 END IF;
190783 --
190784 RETURN l_result;
190785 EXCEPTION
190786 WHEN xla_exceptions_pkg.application_exception THEN
190787
190788 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
190789
190790
190791 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
190792
190793 RAISE;
190794
190795 WHEN NO_DATA_FOUND THEN
190796
190797 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
190798 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
190799
190800 FOR header_record IN header_cur
190801 LOOP
190802 l_array_header_events(header_record.event_id) := header_record.event_id;
190803 END LOOP;
190804
190805 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
190806 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
190807
190808 fnd_file.put_line(fnd_file.LOG, ' ');
190809 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
190810 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
190811 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
190812
190813 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
190814 LOOP
190815 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
190816 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
190817 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
190818 END IF;
190819 END LOOP;
190820
190821 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
190822 fnd_file.put_line(fnd_file.LOG, ' ');
190823
190824
190825 xla_exceptions_pkg.raise_message
190826 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_292');
190827
190828
190829 WHEN OTHERS THEN
190830 xla_exceptions_pkg.raise_message
190831 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_292');
190832 END EventClass_292;
190833 --
190834
190835 ---------------------------------------
190836 --
190837 -- PRIVATE PROCEDURE
190838 -- insert_sources_293
190839 --
190840 ----------------------------------------
190841 --
190842 PROCEDURE insert_sources_293(
190843 p_target_ledger_id IN NUMBER
190844 , p_language IN VARCHAR2
190845 , p_sla_ledger_id IN NUMBER
190846 , p_pad_start_date IN DATE
190847 , p_pad_end_date IN DATE
190848 )
190849 IS
190850
190851 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
190852 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
190853 p_apps_owner VARCHAR2(30);
190854 l_log_module VARCHAR2(240);
190855 BEGIN
190856 IF g_log_enabled THEN
190857 l_log_module := C_DEFAULT_MODULE||'.insert_sources_293';
190858 END IF;
190859 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
190860
190861 trace
190862 (p_msg => 'BEGIN of insert_sources_293'
190863 ,p_level => C_LEVEL_PROCEDURE
190864 ,p_module => l_log_module);
190865
190866 END IF;
190867
190868 -- select APPS owner
190869 SELECT oracle_username
190870 INTO p_apps_owner
190871 FROM fnd_oracle_userid
190872 WHERE read_only_flag = 'U'
190873 ;
190874
190875 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
190876 trace
190877 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
190878 ' - p_language = '||p_language||
190879 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
190880 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
190881 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
190882 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
190883 ,p_level => C_LEVEL_STATEMENT
190884 ,p_module => l_log_module);
190885 END IF;
190886
190887
190888 --
190889 INSERT INTO xla_diag_sources --hdr2
190890 (
190891 event_id
190892 , ledger_id
190893 , sla_ledger_id
190894 , description_language
190895 , object_name
190896 , object_type_code
190897 , line_number
190898 , source_application_id
190899 , source_type_code
190900 , source_code
190901 , source_value
190902 , source_meaning
190903 , created_by
190904 , creation_date
190905 , last_update_date
190909 , program_application_id
190906 , last_updated_by
190907 , last_update_login
190908 , program_update_date
190910 , program_id
190911 , request_id
190912 )
190913 SELECT
190914 event_id
190915 , p_target_ledger_id
190916 , p_sla_ledger_id
190917 , p_language
190918 , object_name
190919 , object_type_code
190920 , line_number
190921 , source_application_id
190922 , source_type_code
190923 , source_code
190924 , SUBSTR(source_value ,1,1996)
190925 , SUBSTR(source_meaning ,1,200)
190926 , xla_environment_pkg.g_Usr_Id
190927 , TRUNC(SYSDATE)
190928 , TRUNC(SYSDATE)
190929 , xla_environment_pkg.g_Usr_Id
190930 , xla_environment_pkg.g_Login_Id
190931 , TRUNC(SYSDATE)
190932 , xla_environment_pkg.g_Prog_Appl_Id
190933 , xla_environment_pkg.g_Prog_Id
190934 , xla_environment_pkg.g_Req_Id
190935 FROM (
190936 SELECT xet.event_id event_id
190937 , 0 line_number
190938 , CASE r
190939 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
190940 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190941 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190942 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190943 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
190944 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190945 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
190946 WHEN 8 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
190947 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
190948 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190949 WHEN 11 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
190950 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190951 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190952 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190953 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190954 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190955 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190956 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190957 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190958 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190959 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190960 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
190961
190962 ELSE null
190963 END object_name
190964 , CASE r
190965 WHEN 1 THEN 'HEADER'
190966 WHEN 2 THEN 'HEADER'
190967 WHEN 3 THEN 'HEADER'
190968 WHEN 4 THEN 'HEADER'
190969 WHEN 5 THEN 'HEADER'
190970 WHEN 6 THEN 'HEADER'
190971 WHEN 7 THEN 'HEADER'
190972 WHEN 8 THEN 'HEADER'
190973 WHEN 9 THEN 'HEADER'
190974 WHEN 10 THEN 'HEADER'
190975 WHEN 11 THEN 'HEADER'
190976 WHEN 12 THEN 'HEADER'
190977 WHEN 13 THEN 'HEADER'
190978 WHEN 14 THEN 'HEADER'
190979 WHEN 15 THEN 'HEADER'
190980 WHEN 16 THEN 'HEADER'
190981 WHEN 17 THEN 'HEADER'
190982 WHEN 18 THEN 'HEADER'
190983 WHEN 19 THEN 'HEADER'
190984 WHEN 20 THEN 'HEADER'
190985 WHEN 21 THEN 'HEADER'
190986 WHEN 22 THEN 'HEADER'
190987
190988 ELSE null
190989 END object_type_code
190990 , CASE r
190991 WHEN 1 THEN '200'
190992 WHEN 2 THEN '200'
190993 WHEN 3 THEN '200'
190994 WHEN 4 THEN '200'
190995 WHEN 5 THEN '200'
190996 WHEN 6 THEN '200'
190997 WHEN 7 THEN '200'
190998 WHEN 8 THEN '200'
190999 WHEN 9 THEN '200'
191000 WHEN 10 THEN '200'
191001 WHEN 11 THEN '200'
191002 WHEN 12 THEN '200'
191003 WHEN 13 THEN '200'
191004 WHEN 14 THEN '200'
191005 WHEN 15 THEN '200'
191006 WHEN 16 THEN '200'
191007 WHEN 17 THEN '200'
191008 WHEN 18 THEN '200'
191009 WHEN 19 THEN '200'
191010 WHEN 20 THEN '200'
191011 WHEN 21 THEN '200'
191012 WHEN 22 THEN '200'
191013
191014 ELSE null
191015 END source_application_id
191016 , 'S' source_type_code
191017 , CASE r
191018 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
191019 WHEN 2 THEN 'CGAC_AP_ASSET_CCID'
191020 WHEN 3 THEN 'CGAC_CASH_CLEARING_CCID'
191021 WHEN 4 THEN 'CGAC_GAIN_CCID'
191022 WHEN 5 THEN 'ASP_GAIN_CCID'
191023 WHEN 6 THEN 'CGAC_LOSS_CCID'
191024 WHEN 7 THEN 'ASP_LOSS_CCID'
191025 WHEN 8 THEN 'ASP_AUTO_OFFSET_FLAG'
191026 WHEN 9 THEN 'ASP_ROUNDING_ERROR_CCID'
191027 WHEN 10 THEN 'THIRD_PARTY_TYPE'
191031 WHEN 14 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
191028 WHEN 11 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
191029 WHEN 12 THEN 'AC_VENDOR_ID'
191030 WHEN 13 THEN 'AC_VENDOR_SITE_ID'
191032 WHEN 15 THEN 'AC_CURRENCY_CODE'
191033 WHEN 16 THEN 'AC_FUTURE_PAY_DUE_DATE'
191034 WHEN 17 THEN 'AC_EXCHANGE_DATE'
191035 WHEN 18 THEN 'AC_EXCHANGE_RATE'
191036 WHEN 19 THEN 'AC_EXCHANGE_RATE_TYPE'
191037 WHEN 20 THEN 'AC_DOC_CATEGORY_CODE'
191038 WHEN 21 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
191039 WHEN 22 THEN 'AC_DOC_SEQUENCE_VALUE'
191040
191041 ELSE null
191042 END source_code
191043 , CASE r
191044 WHEN 1 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
191045 WHEN 2 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
191046 WHEN 3 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
191047 WHEN 4 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
191048 WHEN 5 THEN TO_CHAR(h3.ASP_GAIN_CCID)
191049 WHEN 6 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
191050 WHEN 7 THEN TO_CHAR(h3.ASP_LOSS_CCID)
191051 WHEN 8 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
191052 WHEN 9 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
191053 WHEN 10 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
191054 WHEN 11 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
191055 WHEN 12 THEN TO_CHAR(h2.AC_VENDOR_ID)
191056 WHEN 13 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
191057 WHEN 14 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
191058 WHEN 15 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
191059 WHEN 16 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
191060 WHEN 17 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
191061 WHEN 18 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
191062 WHEN 19 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
191063 WHEN 20 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
191064 WHEN 21 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
191065 WHEN 22 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
191066
191067 ELSE null
191068 END source_value
191069 , CASE r
191070 WHEN 1 THEN fvl3.meaning
191071 WHEN 8 THEN fvl35.meaning
191072 WHEN 14 THEN fvl105.meaning
191073
191074 ELSE null
191075 END source_meaning
191076 FROM xla_events_gt xet
191077 , AP_PAYMENT_EXTRACT_HEADER_V h2
191078 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
191079 , fnd_lookup_values fvl3
191080 , fnd_lookup_values fvl35
191081 , fnd_lookup_values fvl105
191082 ,(select rownum r from all_objects where rownum <= 22 and owner = p_apps_owner)
191083 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
191084 AND xet.event_class_code = C_EVENT_CLASS_CODE
191085 AND h2.event_id = xet.event_id
191086 AND h3.asp_org_id = h2.ac_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
191087 AND fvl3.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
191088 AND fvl3.view_application_id(+) = 200
191089 AND fvl3.language(+) = USERENV('LANG')
191090 AND fvl35.lookup_type(+) = 'YES_NO'
191091 AND fvl35.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
191092 AND fvl35.view_application_id(+) = 0
191093 AND fvl35.language(+) = USERENV('LANG')
191094 AND fvl105.lookup_type(+) = 'YES_NO'
191095 AND fvl105.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
191096 AND fvl105.view_application_id(+) = 0
191097 AND fvl105.language(+) = USERENV('LANG')
191098
191099 )
191100 ;
191101 --
191102 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
191103
191104 trace
191105 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
191106 ,p_level => C_LEVEL_STATEMENT
191107 ,p_module => l_log_module);
191108
191109 END IF;
191110 --
191111
191112
191113
191114 --
191115 INSERT INTO xla_diag_sources --line2
191116 (
191117 event_id
191118 , ledger_id
191119 , sla_ledger_id
191120 , description_language
191121 , object_name
191122 , object_type_code
191123 , line_number
191124 , source_application_id
191125 , source_type_code
191126 , source_code
191127 , source_value
191128 , source_meaning
191129 , created_by
191130 , creation_date
191131 , last_update_date
191132 , last_updated_by
191133 , last_update_login
191134 , program_update_date
191135 , program_application_id
191136 , program_id
191137 , request_id
191138 )
191139 SELECT event_id
191140 , p_target_ledger_id
191141 , p_sla_ledger_id
191142 , p_language
191143 , object_name
191144 , object_type_code
191145 , line_number
191146 , source_application_id
191147 , source_type_code
191148 , source_code
191149 , SUBSTR(source_value,1,1996)
191150 , SUBSTR(source_meaning ,1,200)
191151 , xla_environment_pkg.g_Usr_Id
191152 , TRUNC(SYSDATE)
191153 , TRUNC(SYSDATE)
191157 , xla_environment_pkg.g_Prog_Appl_Id
191154 , xla_environment_pkg.g_Usr_Id
191155 , xla_environment_pkg.g_Login_Id
191156 , TRUNC(SYSDATE)
191158 , xla_environment_pkg.g_Prog_Id
191159 , xla_environment_pkg.g_Req_Id
191160 FROM (
191161 SELECT xet.event_id event_id
191162 , l1.line_number line_number
191163 , CASE r
191164 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191165 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191166 WHEN 3 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
191167 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191168 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191169 WHEN 6 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191170 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191171 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191172 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191173 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191174 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191175 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191176 WHEN 13 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191177 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191178 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191179 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191180 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191181 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191182 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191183 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191184 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191185 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191186 WHEN 23 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
191187 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191188 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
191189
191190 ELSE null
191191 END object_name
191192 , CASE r
191193 WHEN 1 THEN 'LINE'
191194 WHEN 2 THEN 'LINE'
191195 WHEN 3 THEN 'LINE'
191196 WHEN 4 THEN 'LINE'
191197 WHEN 5 THEN 'LINE'
191198 WHEN 6 THEN 'LINE'
191199 WHEN 7 THEN 'LINE'
191200 WHEN 8 THEN 'LINE'
191201 WHEN 9 THEN 'LINE'
191202 WHEN 10 THEN 'LINE'
191203 WHEN 11 THEN 'LINE'
191204 WHEN 12 THEN 'LINE'
191205 WHEN 13 THEN 'LINE'
191206 WHEN 14 THEN 'LINE'
191207 WHEN 15 THEN 'LINE'
191208 WHEN 16 THEN 'LINE'
191209 WHEN 17 THEN 'LINE'
191210 WHEN 18 THEN 'LINE'
191211 WHEN 19 THEN 'LINE'
191212 WHEN 20 THEN 'LINE'
191213 WHEN 21 THEN 'LINE'
191214 WHEN 22 THEN 'LINE'
191215 WHEN 23 THEN 'LINE'
191216 WHEN 24 THEN 'LINE'
191217 WHEN 25 THEN 'LINE'
191218
191219 ELSE null
191220 END object_type_code
191221 , CASE r
191222 WHEN 1 THEN '200'
191223 WHEN 2 THEN '200'
191224 WHEN 3 THEN '200'
191225 WHEN 4 THEN '200'
191226 WHEN 5 THEN '200'
191227 WHEN 6 THEN '200'
191228 WHEN 7 THEN '200'
191229 WHEN 8 THEN '200'
191230 WHEN 9 THEN '200'
191231 WHEN 10 THEN '200'
191232 WHEN 11 THEN '200'
191233 WHEN 12 THEN '200'
191234 WHEN 13 THEN '200'
191235 WHEN 14 THEN '200'
191236 WHEN 15 THEN '200'
191237 WHEN 16 THEN '200'
191238 WHEN 17 THEN '200'
191239 WHEN 18 THEN '200'
191240 WHEN 19 THEN '200'
191241 WHEN 20 THEN '200'
191242 WHEN 21 THEN '200'
191243 WHEN 22 THEN '200'
191244 WHEN 23 THEN '200'
191245 WHEN 24 THEN '200'
191246 WHEN 25 THEN '200'
191247
191248 ELSE null
191249 END source_application_id
191250 , 'S' source_type_code
191251 , CASE r
191252 WHEN 1 THEN 'AID_DIST_CCID'
191253 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
191254 WHEN 3 THEN 'TAX_ACCOUNT_CCID'
191255 WHEN 4 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
191256 WHEN 5 THEN 'DISTRIBUTION_LINK_TYPE'
191257 WHEN 6 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
191258 WHEN 7 THEN 'BUS_FLOW_AP_APP_ID'
191259 WHEN 8 THEN 'BUS_FLOW_INV_DIST_TYPE'
191260 WHEN 9 THEN 'BUS_FLOW_INV_ENTITY_CODE'
191261 WHEN 10 THEN 'BUS_FLOW_INV_DIST_ID'
191262 WHEN 11 THEN 'BUS_FLOW_INV_ID'
191263 WHEN 12 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
191264 WHEN 13 THEN 'APHD_AMOUNT'
191265 WHEN 14 THEN 'BUS_FLOW_PAYMENT_DIST_TYPE'
191266 WHEN 15 THEN 'BUS_FLOW_PAYMENT_ENTITY_CODE'
191270 WHEN 19 THEN 'APHD_REV_PAY_HIST_DIST_ID'
191267 WHEN 16 THEN 'BUS_FLOW_PAYMENT_DIST_ID'
191268 WHEN 17 THEN 'BUS_FLOW_PAYMENT_ID'
191269 WHEN 18 THEN 'APHD_PAYMENT_HIST_DIST_ID'
191271 WHEN 20 THEN 'APHD_PAYMENT_BASE_AMT'
191272 WHEN 21 THEN 'APHD_INVOICE_BASE_AMT'
191273 WHEN 22 THEN 'APHD_MATURED_BASE_AMOUNT'
191274 WHEN 23 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
191275 WHEN 24 THEN 'PMT_MAT_BASE_AMT_DIFF'
191276 WHEN 25 THEN 'PMT_MAT_GAIN_LOSS_INDICATOR'
191277
191278 ELSE null
191279 END source_code
191280 , CASE r
191281 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
191282 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
191283 WHEN 3 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
191284 WHEN 4 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
191285 WHEN 5 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
191286 WHEN 6 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
191287 WHEN 7 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
191288 WHEN 8 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
191289 WHEN 9 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
191290 WHEN 10 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
191291 WHEN 11 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
191292 WHEN 12 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
191293 WHEN 13 THEN TO_CHAR(l1.APHD_AMOUNT)
191294 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_TYPE)
191295 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ENTITY_CODE)
191296 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_DIST_ID)
191297 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PAYMENT_ID)
191298 WHEN 18 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
191299 WHEN 19 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
191300 WHEN 20 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
191301 WHEN 21 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
191302 WHEN 22 THEN TO_CHAR(l1.APHD_MATURED_BASE_AMOUNT)
191303 WHEN 23 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
191304 WHEN 24 THEN TO_CHAR(l1.PMT_MAT_BASE_AMT_DIFF)
191305 WHEN 25 THEN TO_CHAR(l1.PMT_MAT_GAIN_LOSS_INDICATOR)
191306
191307 ELSE null
191308 END source_value
191309 , CASE r
191310 WHEN 2 THEN fvl21.meaning
191311 WHEN 6 THEN fvl68.meaning
191312 WHEN 12 THEN fvl90.meaning
191313 WHEN 23 THEN fvl130.meaning
191314
191315 ELSE null
191316 END source_meaning
191317 FROM xla_events_gt xet
191318 , AP_PAYMENT_EXTRACT_DETAILS_V l1
191319 , ZX_AP_DEF_TAX_EXTRACT_V l4
191320 , fnd_lookup_values fvl21
191321 , fnd_lookup_values fvl68
191322 , fnd_lookup_values fvl90
191323 , fnd_lookup_values fvl130
191324 , (select rownum r from all_objects where rownum <= 25 and owner = p_apps_owner)
191325 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
191326 AND xet.event_class_code = C_EVENT_CLASS_CODE
191327 AND l1.event_id = xet.event_id
191328 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
191329 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
191330 AND fvl21.view_application_id(+) = 200
191331 AND fvl21.language(+) = USERENV('LANG')
191332 AND fvl68.lookup_type(+) = 'YES_NO'
191333 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
191334 AND fvl68.view_application_id(+) = 0
191335 AND fvl68.language(+) = USERENV('LANG')
191336 AND fvl90.lookup_type(+) = 'PAY_DIST_TYPES'
191337 AND fvl90.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
191338 AND fvl90.view_application_id(+) = 200
191339 AND fvl90.language(+) = USERENV('LANG')
191340 AND fvl130.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
191341 AND fvl130.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
191342 AND fvl130.view_application_id(+) = 0
191343 AND fvl130.language(+) = USERENV('LANG')
191344
191345 )
191346 ;
191347 --
191348 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
191349
191350 trace
191351 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
191352 ,p_level => C_LEVEL_STATEMENT
191353 ,p_module => l_log_module);
191354
191355 END IF;
191356
191357
191358 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
191359 trace
191360 (p_msg => 'END of insert_sources_293'
191361 ,p_level => C_LEVEL_PROCEDURE
191362 ,p_module => l_log_module);
191363 END IF;
191364 EXCEPTION
191365 WHEN xla_exceptions_pkg.application_exception THEN
191366 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
191367 trace
191368 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
191369 ,p_level => C_LEVEL_EXCEPTION
191370 ,p_module => l_log_module);
191371 END IF;
191372 RAISE;
191373 WHEN OTHERS THEN
191374 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
191375 trace
191379 END IF;
191376 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
191377 ,p_level => C_LEVEL_EXCEPTION
191378 ,p_module => l_log_module);
191380 xla_exceptions_pkg.raise_message
191381 (p_location => 'XLA_00200_AAD_S_000006_PKG.insert_sources_293');
191382 END insert_sources_293;
191383 --
191384
191385 ---------------------------------------
191386 --
191387 -- PRIVATE FUNCTION
191388 -- EventClass_293
191389 --
191390 ----------------------------------------
191391 --
191392 FUNCTION EventClass_293
191393 (p_application_id IN NUMBER
191394 ,p_base_ledger_id IN NUMBER
191395 ,p_target_ledger_id IN NUMBER
191396 ,p_language IN VARCHAR2
191397 ,p_currency_code IN VARCHAR2
191398 ,p_sla_ledger_id IN NUMBER
191399 ,p_pad_start_date IN DATE
191400 ,p_pad_end_date IN DATE
191401 ,p_primary_ledger_id IN NUMBER)
191402 RETURN BOOLEAN IS
191403 --
191404 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS_ALL';
191405 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'FUTURE DATED PAYMENTS';
191406
191407 l_calculate_acctd_flag VARCHAR2(1) :='N';
191408 l_calculate_g_l_flag VARCHAR2(1) :='N';
191409 --
191410 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191411 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191412 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
191413 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
191414 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191415 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
191416 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
191417 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191418 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
191419 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
191420 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191421 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191422 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191423 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
191424 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
191425 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
191426 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
191427 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
191428 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
191429 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
191430 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
191431 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
191432 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
191433 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
191434 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
191435 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
191436
191437 l_event_id NUMBER;
191438 l_previous_event_id NUMBER;
191439 l_first_event_id NUMBER;
191440 l_last_event_id NUMBER;
191441
191442 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
191443 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
191444 --
191445 --
191446 l_result BOOLEAN := TRUE;
191447 l_rows NUMBER := 1000;
191448 l_event_type_name VARCHAR2(80) := 'All';
191449 l_event_class_name VARCHAR2(80) := 'Future Dated Payments';
191450 l_description VARCHAR2(4000);
191451 l_transaction_reversal NUMBER;
191452 l_ae_header_id NUMBER;
191453 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
191454 l_log_module VARCHAR2(240);
191455 --
191456 l_acct_reversal_source VARCHAR2(30);
191457 l_trx_reversal_source VARCHAR2(30);
191458
191459 l_continue_with_lines BOOLEAN := TRUE;
191460 --
191461 l_acc_rev_gl_date_source DATE; -- 4262811
191462 --
191463 type t_array_event_id is table of number index by binary_integer;
191464
191465 l_rec_array_event t_rec_array_event;
191466 l_null_rec_array_event t_rec_array_event;
191467 l_array_ae_header_id xla_number_array_type;
191468 l_actual_flag VARCHAR2(1) := NULL;
191469 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
191470 l_balance_type_code VARCHAR2(1) :=NULL;
191471 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
191472
191473 --
191474 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
191475 --
191476
191477 TYPE t_array_source_3 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
191478 TYPE t_array_source_5 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
191479 TYPE t_array_source_23 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
191483 TYPE t_array_source_27 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
191480 TYPE t_array_source_24 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
191481 TYPE t_array_source_25 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
191482 TYPE t_array_source_26 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
191484 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
191485 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
191486 TYPE t_array_source_71 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
191487 TYPE t_array_source_89 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
191488 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
191489 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
191490 TYPE t_array_source_105 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
191491 TYPE t_array_source_106 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
191492 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
191493 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
191494 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
191495 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
191496 TYPE t_array_source_169 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
191497 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
191498 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
191499
191500 TYPE t_array_source_18 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
191501 TYPE t_array_source_21 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
191502 TYPE t_array_source_40 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
191503 TYPE t_array_source_41 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
191504 TYPE t_array_source_43 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
191505 TYPE t_array_source_68 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
191506 TYPE t_array_source_79 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
191507 TYPE t_array_source_80 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
191508 TYPE t_array_source_81 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
191509 TYPE t_array_source_82 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
191510 TYPE t_array_source_83 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
191511 TYPE t_array_source_90 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
191512 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
191513 TYPE t_array_source_92 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
191514 TYPE t_array_source_93 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
191515 TYPE t_array_source_94 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
191516 TYPE t_array_source_95 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_PAYMENT_ID%TYPE INDEX BY BINARY_INTEGER;
191517 TYPE t_array_source_96 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
191518 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
191519 TYPE t_array_source_108 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
191520 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
191521 TYPE t_array_source_114 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_MATURED_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
191522 TYPE t_array_source_130 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
191523 TYPE t_array_source_149 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
191524 TYPE t_array_source_156 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PMT_MAT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
191525
191526 l_array_source_3 t_array_source_3;
191527 l_array_source_3_meaning t_array_lookup_meaning;
191528 l_array_source_5 t_array_source_5;
191529 l_array_source_23 t_array_source_23;
191530 l_array_source_24 t_array_source_24;
191531 l_array_source_25 t_array_source_25;
191532 l_array_source_26 t_array_source_26;
191533 l_array_source_27 t_array_source_27;
191534 l_array_source_35 t_array_source_35;
191535 l_array_source_35_meaning t_array_lookup_meaning;
191536 l_array_source_37 t_array_source_37;
191537 l_array_source_71 t_array_source_71;
191541 l_array_source_105 t_array_source_105;
191538 l_array_source_89 t_array_source_89;
191539 l_array_source_102 t_array_source_102;
191540 l_array_source_103 t_array_source_103;
191542 l_array_source_105_meaning t_array_lookup_meaning;
191543 l_array_source_106 t_array_source_106;
191544 l_array_source_107 t_array_source_107;
191545 l_array_source_110 t_array_source_110;
191546 l_array_source_111 t_array_source_111;
191547 l_array_source_112 t_array_source_112;
191548 l_array_source_169 t_array_source_169;
191549 l_array_source_170 t_array_source_170;
191550 l_array_source_171 t_array_source_171;
191551
191552 l_array_source_18 t_array_source_18;
191553 l_array_source_21 t_array_source_21;
191554 l_array_source_21_meaning t_array_lookup_meaning;
191555 l_array_source_40 t_array_source_40;
191556 l_array_source_41 t_array_source_41;
191557 l_array_source_43 t_array_source_43;
191558 l_array_source_68 t_array_source_68;
191559 l_array_source_68_meaning t_array_lookup_meaning;
191560 l_array_source_79 t_array_source_79;
191561 l_array_source_80 t_array_source_80;
191562 l_array_source_81 t_array_source_81;
191563 l_array_source_82 t_array_source_82;
191564 l_array_source_83 t_array_source_83;
191565 l_array_source_90 t_array_source_90;
191566 l_array_source_90_meaning t_array_lookup_meaning;
191567 l_array_source_91 t_array_source_91;
191568 l_array_source_92 t_array_source_92;
191569 l_array_source_93 t_array_source_93;
191570 l_array_source_94 t_array_source_94;
191571 l_array_source_95 t_array_source_95;
191572 l_array_source_96 t_array_source_96;
191573 l_array_source_104 t_array_source_104;
191574 l_array_source_108 t_array_source_108;
191575 l_array_source_109 t_array_source_109;
191576 l_array_source_114 t_array_source_114;
191577 l_array_source_130 t_array_source_130;
191578 l_array_source_130_meaning t_array_lookup_meaning;
191579 l_array_source_149 t_array_source_149;
191580 l_array_source_156 t_array_source_156;
191581
191582 --
191583 CURSOR header_cur
191584 IS
191585 SELECT /*+ leading(xet) cardinality(xet,1) */
191586 -- Event Class Code: FUTURE DATED PAYMENTS
191587 xet.entity_id
191588 ,xet.legal_entity_id
191589 ,xet.entity_code
191590 ,xet.transaction_number
191591 ,xet.event_id
191592 ,xet.event_class_code
191593 ,xet.event_type_code
191594 ,xet.event_number
191595 ,xet.event_date
191596 ,xet.transaction_date
191597 ,xet.reference_num_1
191598 ,xet.reference_num_2
191599 ,xet.reference_num_3
191600 ,xet.reference_num_4
191601 ,xet.reference_char_1
191602 ,xet.reference_char_2
191603 ,xet.reference_char_3
191604 ,xet.reference_char_4
191605 ,xet.reference_date_1
191606 ,xet.reference_date_2
191607 ,xet.reference_date_3
191608 ,xet.reference_date_4
191609 ,xet.event_created_by
191610 ,xet.budgetary_control_flag
191611 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_3
191612 , fvl3.meaning source_3_meaning
191613 , h2.CGAC_AP_ASSET_CCID source_5
191614 , h2.CGAC_CASH_CLEARING_CCID source_23
191615 , h2.CGAC_GAIN_CCID source_24
191616 , h3.ASP_GAIN_CCID source_25
191617 , h2.CGAC_LOSS_CCID source_26
191618 , h3.ASP_LOSS_CCID source_27
191619 , h3.ASP_AUTO_OFFSET_FLAG source_35
191620 , fvl35.meaning source_35_meaning
191621 , h3.ASP_ROUNDING_ERROR_CCID source_37
191622 , h2.THIRD_PARTY_TYPE source_71
191623 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_89
191624 , h2.AC_VENDOR_ID source_102
191625 , h2.AC_VENDOR_SITE_ID source_103
191626 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_105
191627 , fvl105.meaning source_105_meaning
191628 , h2.AC_CURRENCY_CODE source_106
191629 , h2.AC_FUTURE_PAY_DUE_DATE source_107
191630 , h2.AC_EXCHANGE_DATE source_110
191631 , h2.AC_EXCHANGE_RATE source_111
191632 , h2.AC_EXCHANGE_RATE_TYPE source_112
191633 , h2.AC_DOC_CATEGORY_CODE source_169
191634 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_170
191635 , h2.AC_DOC_SEQUENCE_VALUE source_171
191636 FROM xla_events_gt xet
191637 , AP_PAYMENT_EXTRACT_HEADER_V h2
191638 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
191639 , fnd_lookup_values fvl3
191640 , fnd_lookup_values fvl35
191641 , fnd_lookup_values fvl105
191642 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
191643 and xet.event_class_code = C_EVENT_CLASS_CODE
191644 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
191645 AND h3.asp_org_id = h2.ac_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
191646 AND fvl3.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
191647 AND fvl3.view_application_id(+) = 200
191648 AND fvl3.language(+) = USERENV('LANG')
191649 AND fvl35.lookup_type(+) = 'YES_NO'
191650 AND fvl35.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
191651 AND fvl35.view_application_id(+) = 0
191652 AND fvl35.language(+) = USERENV('LANG')
191653 AND fvl105.lookup_type(+) = 'YES_NO'
191654 AND fvl105.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
191655 AND fvl105.view_application_id(+) = 0
191656 AND fvl105.language(+) = USERENV('LANG')
191657
191658 ORDER BY event_id
191659 ;
191660
191661
191665 SELECT /*+ leading(xet) cardinality(xet,1) */
191662 --
191663 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
191664 IS
191666 -- Event Class Code: FUTURE DATED PAYMENTS
191667 xet.entity_id
191668 ,xet.legal_entity_id
191669 ,xet.entity_code
191670 ,xet.transaction_number
191671 ,xet.event_id
191672 ,xet.event_class_code
191673 ,xet.event_type_code
191674 ,xet.event_number
191675 ,xet.event_date
191676 ,xet.transaction_date
191677 ,xet.reference_num_1
191678 ,xet.reference_num_2
191679 ,xet.reference_num_3
191680 ,xet.reference_num_4
191681 ,xet.reference_char_1
191682 ,xet.reference_char_2
191683 ,xet.reference_char_3
191684 ,xet.reference_char_4
191685 ,xet.reference_date_1
191686 ,xet.reference_date_2
191687 ,xet.reference_date_3
191688 ,xet.reference_date_4
191689 ,xet.event_created_by
191690 ,xet.budgetary_control_flag
191691 , l1.LINE_NUMBER
191692 , l1.AID_DIST_CCID source_18
191693 , l1.AID_LINE_TYPE_LOOKUP_CODE source_21
191694 , fvl21.meaning source_21_meaning
191695 , l4.TAX_ACCOUNT_CCID source_40
191696 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_41
191697 , l1.DISTRIBUTION_LINK_TYPE source_43
191698 , l1.OVERRIDE_ACCTD_AMT_FLAG source_68
191699 , fvl68.meaning source_68_meaning
191700 , l1.BUS_FLOW_AP_APP_ID source_79
191701 , l1.BUS_FLOW_INV_DIST_TYPE source_80
191702 , l1.BUS_FLOW_INV_ENTITY_CODE source_81
191703 , l1.BUS_FLOW_INV_DIST_ID source_82
191704 , l1.BUS_FLOW_INV_ID source_83
191705 , l1.APHD_PAY_DIST_LOOKUP_CODE source_90
191706 , fvl90.meaning source_90_meaning
191707 , l1.APHD_AMOUNT source_91
191708 , l1.BUS_FLOW_PAYMENT_DIST_TYPE source_92
191709 , l1.BUS_FLOW_PAYMENT_ENTITY_CODE source_93
191710 , l1.BUS_FLOW_PAYMENT_DIST_ID source_94
191711 , l1.BUS_FLOW_PAYMENT_ID source_95
191712 , l1.APHD_PAYMENT_HIST_DIST_ID source_96
191713 , l1.APHD_REV_PAY_HIST_DIST_ID source_104
191714 , l1.APHD_PAYMENT_BASE_AMT source_108
191715 , l1.APHD_INVOICE_BASE_AMT source_109
191716 , l1.APHD_MATURED_BASE_AMOUNT source_114
191717 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_130
191718 , fvl130.meaning source_130_meaning
191719 , l1.PMT_MAT_BASE_AMT_DIFF source_149
191720 , l1.PMT_MAT_GAIN_LOSS_INDICATOR source_156
191721 FROM xla_events_gt xet
191722 , AP_PAYMENT_EXTRACT_DETAILS_V l1
191723 , ZX_AP_DEF_TAX_EXTRACT_V l4
191724 , fnd_lookup_values fvl21
191725 , fnd_lookup_values fvl68
191726 , fnd_lookup_values fvl90
191727 , fnd_lookup_values fvl130
191728 WHERE xet.event_id between x_first_event_id and x_last_event_id
191729 and xet.event_date between p_pad_start_date and p_pad_end_date
191730 and xet.event_class_code = C_EVENT_CLASS_CODE
191731 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
191732 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
191733 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
191734 AND fvl21.view_application_id(+) = 200
191735 AND fvl21.language(+) = USERENV('LANG')
191736 AND fvl68.lookup_type(+) = 'YES_NO'
191737 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
191738 AND fvl68.view_application_id(+) = 0
191739 AND fvl68.language(+) = USERENV('LANG')
191740 AND fvl90.lookup_type(+) = 'PAY_DIST_TYPES'
191741 AND fvl90.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
191742 AND fvl90.view_application_id(+) = 200
191743 AND fvl90.language(+) = USERENV('LANG')
191744 AND fvl130.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
191745 AND fvl130.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
191746 AND fvl130.view_application_id(+) = 0
191747 AND fvl130.language(+) = USERENV('LANG')
191748 ;
191749
191750 --
191751 BEGIN
191752 IF g_log_enabled THEN
191753 l_log_module := C_DEFAULT_MODULE||'.EventClass_293';
191754 END IF;
191755 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
191756 trace
191757 (p_msg => 'BEGIN of EventClass_293'
191758 ,p_level => C_LEVEL_PROCEDURE
191759 ,p_module => l_log_module);
191760 END IF;
191761
191762 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
191763 trace
191764 (p_msg => 'p_application_id = '||p_application_id||
191765 ' - p_base_ledger_id = '||p_base_ledger_id||
191766 ' - p_target_ledger_id = '||p_target_ledger_id||
191767 ' - p_language = '||p_language||
191768 ' - p_currency_code = '||p_currency_code||
191769 ' - p_sla_ledger_id = '||p_sla_ledger_id
191770 ,p_level => C_LEVEL_STATEMENT
191771 ,p_module => l_log_module);
191772 END IF;
191773 --
191774 -- initialze arrays
191775 --
191776 g_array_event.DELETE;
191777 l_rec_array_event := l_null_rec_array_event;
191778 --
191779 --------------------------------------
191780 -- 4262811 Initialze MPA Line Number
191781 --------------------------------------
191782 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
191783
191784 --
191785
191786 --
191787 OPEN header_cur;
191788 --
191789 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
191790 trace
191791 (p_msg => 'SQL - FETCH header_cur'
191792 ,p_level => C_LEVEL_STATEMENT
191793 ,p_module => l_log_module);
191797 FETCH header_cur BULK COLLECT INTO
191794 END IF;
191795 --
191796 LOOP
191798 l_array_entity_id
191799 , l_array_legal_entity_id
191800 , l_array_entity_code
191801 , l_array_transaction_num
191802 , l_array_event_id
191803 , l_array_class_code
191804 , l_array_event_type
191805 , l_array_event_number
191806 , l_array_event_date
191807 , l_array_transaction_date
191808 , l_array_reference_num_1
191809 , l_array_reference_num_2
191810 , l_array_reference_num_3
191811 , l_array_reference_num_4
191812 , l_array_reference_char_1
191813 , l_array_reference_char_2
191814 , l_array_reference_char_3
191815 , l_array_reference_char_4
191816 , l_array_reference_date_1
191817 , l_array_reference_date_2
191818 , l_array_reference_date_3
191819 , l_array_reference_date_4
191820 , l_array_event_created_by
191821 , l_array_budgetary_control_flag
191822 , l_array_source_3
191823 , l_array_source_3_meaning
191824 , l_array_source_5
191825 , l_array_source_23
191826 , l_array_source_24
191827 , l_array_source_25
191828 , l_array_source_26
191829 , l_array_source_27
191830 , l_array_source_35
191831 , l_array_source_35_meaning
191832 , l_array_source_37
191833 , l_array_source_71
191834 , l_array_source_89
191835 , l_array_source_102
191836 , l_array_source_103
191837 , l_array_source_105
191838 , l_array_source_105_meaning
191839 , l_array_source_106
191840 , l_array_source_107
191841 , l_array_source_110
191842 , l_array_source_111
191843 , l_array_source_112
191844 , l_array_source_169
191845 , l_array_source_170
191846 , l_array_source_171
191847 LIMIT l_rows;
191848 --
191849 IF (C_LEVEL_EVENT >= g_log_level) THEN
191850 trace
191851 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
191852 ,p_level => C_LEVEL_EVENT
191853 ,p_module => l_log_module);
191854 END IF;
191855 --
191856 EXIT WHEN l_array_entity_id.COUNT = 0;
191857
191858 -- initialize arrays
191859 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
191860 XLA_AE_LINES_PKG.g_rec_lines := NULL;
191861
191862 --
191863 -- Bug 4458708
191864 --
191865 XLA_AE_LINES_PKG.g_LineNumber := 0;
191866
191867
191868 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
191869 g_last_hdr_idx := l_array_event_id.LAST;
191870 --
191871 -- loop for the headers. Each iteration is for each header extract row
191872 -- fetched in header cursor
191873 --
191874 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
191875
191876 --
191877 -- set event info as cache for other routines to refer event attributes
191878 --
191879 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
191880 (p_application_id => p_application_id
191881 ,p_primary_ledger_id => p_primary_ledger_id
191882 ,p_base_ledger_id => p_base_ledger_id
191883 ,p_target_ledger_id => p_target_ledger_id
191884 ,p_entity_id => l_array_entity_id(hdr_idx)
191885 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
191886 ,p_entity_code => l_array_entity_code(hdr_idx)
191887 ,p_transaction_num => l_array_transaction_num(hdr_idx)
191888 ,p_event_id => l_array_event_id(hdr_idx)
191889 ,p_event_class_code => l_array_class_code(hdr_idx)
191890 ,p_event_type_code => l_array_event_type(hdr_idx)
191891 ,p_event_number => l_array_event_number(hdr_idx)
191892 ,p_event_date => l_array_event_date(hdr_idx)
191893 ,p_transaction_date => l_array_transaction_date(hdr_idx)
191894 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
191895 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
191896 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
191897 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
191898 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
191899 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
191900 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
191901 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
191902 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
191903 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
191904 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
191905 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
191906 ,p_event_created_by => l_array_event_created_by(hdr_idx)
191907 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
191908
191909 --
191910 -- set the status of entry to C_VALID (0)
191911 --
191912 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
191913
191914 --
191915 -- initialize a row for ae header
191916 --
191917 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
191918
191919 l_event_id := l_array_event_id(hdr_idx);
191920
191921 --
191922 -- storing the hdr_idx for event. May be used by line cursor.
191923 --
191924 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
191925
191926 --
191930
191927 -- store sources from header extract. This can be improved to
191928 -- store only those sources from header extract that may be used in lines
191929 --
191931 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
191932 g_array_event(l_event_id).array_value_char('source_3_meaning') := l_array_source_3_meaning(hdr_idx);
191933 g_array_event(l_event_id).array_value_num('source_5') := l_array_source_5(hdr_idx);
191934 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
191935 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
191936 g_array_event(l_event_id).array_value_num('source_25') := l_array_source_25(hdr_idx);
191937 g_array_event(l_event_id).array_value_num('source_26') := l_array_source_26(hdr_idx);
191938 g_array_event(l_event_id).array_value_num('source_27') := l_array_source_27(hdr_idx);
191939 g_array_event(l_event_id).array_value_char('source_35') := l_array_source_35(hdr_idx);
191940 g_array_event(l_event_id).array_value_char('source_35_meaning') := l_array_source_35_meaning(hdr_idx);
191941 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
191942 g_array_event(l_event_id).array_value_char('source_71') := l_array_source_71(hdr_idx);
191943 g_array_event(l_event_id).array_value_char('source_89') := l_array_source_89(hdr_idx);
191944 g_array_event(l_event_id).array_value_num('source_102') := l_array_source_102(hdr_idx);
191945 g_array_event(l_event_id).array_value_num('source_103') := l_array_source_103(hdr_idx);
191946 g_array_event(l_event_id).array_value_char('source_105') := l_array_source_105(hdr_idx);
191947 g_array_event(l_event_id).array_value_char('source_105_meaning') := l_array_source_105_meaning(hdr_idx);
191948 g_array_event(l_event_id).array_value_char('source_106') := l_array_source_106(hdr_idx);
191949 g_array_event(l_event_id).array_value_date('source_107') := l_array_source_107(hdr_idx);
191950 g_array_event(l_event_id).array_value_date('source_110') := l_array_source_110(hdr_idx);
191951 g_array_event(l_event_id).array_value_num('source_111') := l_array_source_111(hdr_idx);
191952 g_array_event(l_event_id).array_value_char('source_112') := l_array_source_112(hdr_idx);
191953 g_array_event(l_event_id).array_value_char('source_169') := l_array_source_169(hdr_idx);
191954 g_array_event(l_event_id).array_value_num('source_170') := l_array_source_170(hdr_idx);
191955 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
191956
191957 --
191958 -- initilaize the status of ae headers for diffrent balance types
191959 -- the status is initialised to C_NOT_CREATED (2)
191960 --
191961 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
191962 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
191963 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
191964
191965 --
191966 -- call api to validate and store accounting attributes for header
191967 --
191968
191969 ------------------------------------------------------------
191970 -- Accrual Reversal : to get date for Standard Source (NONE)
191971 ------------------------------------------------------------
191972 l_acc_rev_gl_date_source := NULL;
191973
191974 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
191975 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_169');
191976 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
191977 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_170');
191978 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
191979 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_171');
191980 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
191981 l_rec_acct_attrs.array_date_value(4) :=
191982 xla_ae_sources_pkg.GetSystemSourceDate(
191983 p_source_code => 'XLA_EVENT_DATE'
191984 , p_source_type_code => 'Y'
191985 , p_source_application_id => 602
191986 );
191987
191988
191989 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
191990
191991 XLA_AE_HEADER_PKG.SetJeCategoryName;
191992
191993 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
191994 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
191995 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
191996 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
191997 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
191998
191999
192000 -- No header level analytical criteria
192001
192002 --
192003 --accounting attribute enhancement, bug 3612931
192004 --
192005 l_trx_reversal_source := SUBSTR(NULL, 1,30);
192006
192007 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
192008 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
192009
192010 xla_accounting_err_pkg.build_message
192011 (p_appli_s_name => 'XLA'
192012 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
192013 ,p_token_1 => 'ACCT_ATTR_NAME'
192014 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
192018 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
192015 ,p_token_2 => 'PRODUCT_NAME'
192016 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
192017 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
192019 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
192020
192021 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
192022 --
192023 -- following sets the accounting attributes needed to reverse
192024 -- accounting for a distributeion
192025 --
192026 xla_ae_lines_pkg.SetTrxReversalAttrs
192027 (p_event_id => l_event_id
192028 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
192029 ,p_trx_reversal_source => l_trx_reversal_source);
192030
192031 END IF;
192032
192033
192034 ----------------------------------------------------------------
192035 -- 4262811 - update the header statuses to invalid in need be
192036 ----------------------------------------------------------------
192037 --
192038 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
192039
192040
192041 -----------------------------------------------
192042 -- No accrual reversal for the event class/type
192043 -----------------------------------------------
192044 ----------------------------------------------------------------
192045
192046 --
192047 -- this ends the header loop iteration for one bulk fetch
192048 --
192049 END LOOP;
192050
192051 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
192052 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
192053
192054 --
192055 -- insert dummy rows into lines gt table that were created due to
192056 -- transaction reversals
192057 --
192058 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
192059 l_result := XLA_AE_LINES_PKG.InsertLines;
192060 END IF;
192061
192062 --
192063 -- reset the temp_line_num for each set of events fetched from header
192064 -- cursor rather than doing it for each new event in line cursor
192065 -- Bug 3939231
192066 --
192067 xla_ae_lines_pkg.g_temp_line_num := 0;
192068
192069
192070
192071 --
192072 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
192073 --
192074 --
192075 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
192076
192077 trace
192078 (p_msg => 'SQL - FETCH line_cur'
192079 ,p_level => C_LEVEL_STATEMENT
192080 ,p_module => l_log_module);
192081
192082 END IF;
192083 --
192084 --
192085 LOOP
192086 --
192087 FETCH line_cur BULK COLLECT INTO
192088 l_array_entity_id
192089 , l_array_legal_entity_id
192090 , l_array_entity_code
192091 , l_array_transaction_num
192092 , l_array_event_id
192093 , l_array_class_code
192094 , l_array_event_type
192095 , l_array_event_number
192096 , l_array_event_date
192097 , l_array_transaction_date
192098 , l_array_reference_num_1
192099 , l_array_reference_num_2
192100 , l_array_reference_num_3
192101 , l_array_reference_num_4
192102 , l_array_reference_char_1
192103 , l_array_reference_char_2
192104 , l_array_reference_char_3
192105 , l_array_reference_char_4
192106 , l_array_reference_date_1
192107 , l_array_reference_date_2
192108 , l_array_reference_date_3
192109 , l_array_reference_date_4
192110 , l_array_event_created_by
192111 , l_array_budgetary_control_flag
192112 , l_array_extract_line_num
192113 , l_array_source_18
192114 , l_array_source_21
192115 , l_array_source_21_meaning
192116 , l_array_source_40
192117 , l_array_source_41
192118 , l_array_source_43
192119 , l_array_source_68
192120 , l_array_source_68_meaning
192121 , l_array_source_79
192122 , l_array_source_80
192123 , l_array_source_81
192124 , l_array_source_82
192125 , l_array_source_83
192126 , l_array_source_90
192127 , l_array_source_90_meaning
192128 , l_array_source_91
192129 , l_array_source_92
192130 , l_array_source_93
192131 , l_array_source_94
192132 , l_array_source_95
192133 , l_array_source_96
192134 , l_array_source_104
192135 , l_array_source_108
192136 , l_array_source_109
192137 , l_array_source_114
192138 , l_array_source_130
192139 , l_array_source_130_meaning
192140 , l_array_source_149
192141 , l_array_source_156
192142 LIMIT l_rows;
192143
192144 --
192145 IF (C_LEVEL_EVENT >= g_log_level) THEN
192146 trace
192147 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
192148 ,p_level => C_LEVEL_EVENT
192149 ,p_module => l_log_module);
192150 END IF;
192151 --
192152 EXIT WHEN l_array_entity_id.count = 0;
192153
192154 XLA_AE_LINES_PKG.g_rec_lines := null;
192155
192156 --
192157 -- Bug 4458708
192158 --
192159 XLA_AE_LINES_PKG.g_LineNumber := 0;
192160 --
192161 --
192162
192163 FOR Idx IN 1..l_array_event_id.count LOOP
192164 --
192168
192165 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
192166 --
192167 l_event_id := l_array_event_id(idx); -- 5648433
192169 --
192170 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
192171 --
192172
192173 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
192174 (g_array_event(l_event_id).array_value_num('header_index'))
192175 ,'N'
192176 ) <> 'Y'
192177 THEN
192178 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
192179 trace
192180 (p_msg => 'Trancaction revesal option is not Y '
192181 ,p_level => C_LEVEL_STATEMENT
192182 ,p_module => l_log_module);
192183 END IF;
192184
192185 --
192186 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
192187 --
192188 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
192189 --
192190 -- set event info as cache for other routines to refer event attributes
192191 --
192192
192193 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
192194 l_previous_event_id := l_event_id;
192195
192196 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
192197 (p_application_id => p_application_id
192198 ,p_primary_ledger_id => p_primary_ledger_id
192199 ,p_base_ledger_id => p_base_ledger_id
192200 ,p_target_ledger_id => p_target_ledger_id
192201 ,p_entity_id => l_array_entity_id(Idx)
192202 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
192203 ,p_entity_code => l_array_entity_code(Idx)
192204 ,p_transaction_num => l_array_transaction_num(Idx)
192205 ,p_event_id => l_array_event_id(Idx)
192206 ,p_event_class_code => l_array_class_code(Idx)
192207 ,p_event_type_code => l_array_event_type(Idx)
192208 ,p_event_number => l_array_event_number(Idx)
192209 ,p_event_date => l_array_event_date(Idx)
192210 ,p_transaction_date => l_array_transaction_date(Idx)
192211 ,p_reference_num_1 => l_array_reference_num_1(Idx)
192212 ,p_reference_num_2 => l_array_reference_num_2(Idx)
192213 ,p_reference_num_3 => l_array_reference_num_3(Idx)
192214 ,p_reference_num_4 => l_array_reference_num_4(Idx)
192215 ,p_reference_char_1 => l_array_reference_char_1(Idx)
192216 ,p_reference_char_2 => l_array_reference_char_2(Idx)
192217 ,p_reference_char_3 => l_array_reference_char_3(Idx)
192218 ,p_reference_char_4 => l_array_reference_char_4(Idx)
192219 ,p_reference_date_1 => l_array_reference_date_1(Idx)
192220 ,p_reference_date_2 => l_array_reference_date_2(Idx)
192221 ,p_reference_date_3 => l_array_reference_date_3(Idx)
192222 ,p_reference_date_4 => l_array_reference_date_4(Idx)
192223 ,p_event_created_by => l_array_event_created_by(Idx)
192224 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
192225 --
192226 END IF;
192227
192228
192229
192230 --
192231 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
192232
192233 l_acct_reversal_source := SUBSTR(l_array_source_41(Idx), 1,30);
192234
192235 IF l_continue_with_lines THEN
192236 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
192237 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
192238
192239 xla_accounting_err_pkg.build_message
192240 (p_appli_s_name => 'XLA'
192241 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
192242 ,p_token_1 => 'LINE_NUMBER'
192243 ,p_value_1 => l_array_extract_line_num(Idx)
192244 ,p_token_2 => 'PRODUCT_NAME'
192245 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
192246 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
192247 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
192248 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
192249
192250 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
192251 --
192252 -- following sets the accounting attributes needed to reverse
192253 -- accounting for a distributeion
192254 --
192255
192256 --
192257 -- 5217187
192258 --
192259 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
192260 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
192261 g_array_event(l_event_id).array_value_num('header_index'));
192262 --
192263 --
192264
192265 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
192266 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_41(Idx);
192267 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
192268 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_96(Idx);
192269 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
192270 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_43(Idx);
192271 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
192275 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
192272 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_71');
192273 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
192274 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_104(Idx);
192276 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_43(Idx);
192277
192278
192279 xla_ae_lines_pkg.SetAcctReversalAttrs
192280 (p_event_id => l_event_id
192281 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
192282 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192283 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
192284 END IF;
192285
192286 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
192287 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
192288
192289 --
192290 AcctLineType_70 (
192291 p_application_id => p_application_id
192292 ,p_event_id => l_event_id
192293 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192294 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192295 ,p_actual_flag => l_actual_flag
192296 ,p_balance_type_code => l_balance_type_code
192297 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192298
192299 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192300 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192301 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
192302 , p_source_41 => l_array_source_41(Idx)
192303 , p_source_43 => l_array_source_43(Idx)
192304 , p_source_68 => l_array_source_68(Idx)
192305 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192306 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192307 , p_source_79 => l_array_source_79(Idx)
192308 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192309 , p_source_90 => l_array_source_90(Idx)
192310 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192311 , p_source_91 => l_array_source_91(Idx)
192312 , p_source_92 => l_array_source_92(Idx)
192313 , p_source_93 => l_array_source_93(Idx)
192314 , p_source_94 => l_array_source_94(Idx)
192315 , p_source_95 => l_array_source_95(Idx)
192316 , p_source_96 => l_array_source_96(Idx)
192317 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192318 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192319 , p_source_104 => l_array_source_104(Idx)
192320 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192321 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192322 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192323 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192324 , p_source_109 => l_array_source_109(Idx)
192325 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192326 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192327 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192328 );
192329 If(l_balance_type_code = 'A') THEN
192330 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192331 END IF;
192332
192333 --
192334
192335
192336 --
192337 AcctLineType_71 (
192338 p_application_id => p_application_id
192339 ,p_event_id => l_event_id
192340 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192341 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192342 ,p_actual_flag => l_actual_flag
192343 ,p_balance_type_code => l_balance_type_code
192344 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192345
192346 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192347 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192348 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
192349 , p_source_41 => l_array_source_41(Idx)
192350 , p_source_43 => l_array_source_43(Idx)
192351 , p_source_68 => l_array_source_68(Idx)
192352 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192353 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192354 , p_source_79 => l_array_source_79(Idx)
192355 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192356 , p_source_90 => l_array_source_90(Idx)
192357 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192358 , p_source_91 => l_array_source_91(Idx)
192359 , p_source_92 => l_array_source_92(Idx)
192360 , p_source_93 => l_array_source_93(Idx)
192361 , p_source_94 => l_array_source_94(Idx)
192362 , p_source_95 => l_array_source_95(Idx)
192363 , p_source_96 => l_array_source_96(Idx)
192364 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192365 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192366 , p_source_104 => l_array_source_104(Idx)
192367 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192368 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192369 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192370 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192371 , p_source_109 => l_array_source_109(Idx)
192372 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192373 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192374 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192375 );
192376 If(l_balance_type_code = 'A') THEN
192380 --
192377 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192378 END IF;
192379
192381
192382
192383 --
192384 AcctLineType_79 (
192385 p_application_id => p_application_id
192386 ,p_event_id => l_event_id
192387 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192388 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192389 ,p_actual_flag => l_actual_flag
192390 ,p_balance_type_code => l_balance_type_code
192391 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192392
192393 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
192394 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
192395 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
192396 , p_source_41 => l_array_source_41(Idx)
192397 , p_source_43 => l_array_source_43(Idx)
192398 , p_source_68 => l_array_source_68(Idx)
192399 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192400 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192401 , p_source_79 => l_array_source_79(Idx)
192402 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192403 , p_source_90 => l_array_source_90(Idx)
192404 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192405 , p_source_91 => l_array_source_91(Idx)
192406 , p_source_92 => l_array_source_92(Idx)
192407 , p_source_93 => l_array_source_93(Idx)
192408 , p_source_94 => l_array_source_94(Idx)
192409 , p_source_95 => l_array_source_95(Idx)
192410 , p_source_96 => l_array_source_96(Idx)
192411 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192412 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192413 , p_source_104 => l_array_source_104(Idx)
192414 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192415 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192416 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192417 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192418 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192419 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192420 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192421 , p_source_114 => l_array_source_114(Idx)
192422 );
192423 If(l_balance_type_code = 'A') THEN
192424 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192425 END IF;
192426
192427 --
192428
192429
192430 --
192431 AcctLineType_80 (
192432 p_application_id => p_application_id
192433 ,p_event_id => l_event_id
192434 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192435 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192436 ,p_actual_flag => l_actual_flag
192437 ,p_balance_type_code => l_balance_type_code
192438 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192439
192440 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192441 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192442 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
192443 , p_source_41 => l_array_source_41(Idx)
192444 , p_source_43 => l_array_source_43(Idx)
192445 , p_source_68 => l_array_source_68(Idx)
192446 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192447 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192448 , p_source_79 => l_array_source_79(Idx)
192449 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192450 , p_source_90 => l_array_source_90(Idx)
192451 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192452 , p_source_91 => l_array_source_91(Idx)
192453 , p_source_92 => l_array_source_92(Idx)
192454 , p_source_93 => l_array_source_93(Idx)
192455 , p_source_94 => l_array_source_94(Idx)
192456 , p_source_95 => l_array_source_95(Idx)
192457 , p_source_96 => l_array_source_96(Idx)
192458 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192459 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192460 , p_source_104 => l_array_source_104(Idx)
192461 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192462 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192463 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192464 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192465 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192466 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192467 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192468 , p_source_114 => l_array_source_114(Idx)
192469 );
192470 If(l_balance_type_code = 'A') THEN
192471 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192472 END IF;
192473
192474 --
192475
192476
192477 --
192478 AcctLineType_81 (
192479 p_application_id => p_application_id
192480 ,p_event_id => l_event_id
192481 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192482 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192483 ,p_actual_flag => l_actual_flag
192484 ,p_balance_type_code => l_balance_type_code
192485 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192486
192487 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192488 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192489 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
192493 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192490 , p_source_41 => l_array_source_41(Idx)
192491 , p_source_43 => l_array_source_43(Idx)
192492 , p_source_68 => l_array_source_68(Idx)
192494 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192495 , p_source_79 => l_array_source_79(Idx)
192496 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192497 , p_source_90 => l_array_source_90(Idx)
192498 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192499 , p_source_91 => l_array_source_91(Idx)
192500 , p_source_92 => l_array_source_92(Idx)
192501 , p_source_93 => l_array_source_93(Idx)
192502 , p_source_94 => l_array_source_94(Idx)
192503 , p_source_95 => l_array_source_95(Idx)
192504 , p_source_96 => l_array_source_96(Idx)
192505 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192506 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192507 , p_source_104 => l_array_source_104(Idx)
192508 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192509 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192510 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192511 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192512 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192513 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192514 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192515 , p_source_114 => l_array_source_114(Idx)
192516 );
192517 If(l_balance_type_code = 'A') THEN
192518 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192519 END IF;
192520
192521 --
192522
192523
192524 --
192525 AcctLineType_82 (
192526 p_application_id => p_application_id
192527 ,p_event_id => l_event_id
192528 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192529 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192530 ,p_actual_flag => l_actual_flag
192531 ,p_balance_type_code => l_balance_type_code
192532 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192533
192534 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
192535 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
192536 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
192537 , p_source_41 => l_array_source_41(Idx)
192538 , p_source_43 => l_array_source_43(Idx)
192539 , p_source_68 => l_array_source_68(Idx)
192540 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192541 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192542 , p_source_79 => l_array_source_79(Idx)
192543 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192544 , p_source_90 => l_array_source_90(Idx)
192545 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192546 , p_source_91 => l_array_source_91(Idx)
192547 , p_source_92 => l_array_source_92(Idx)
192548 , p_source_93 => l_array_source_93(Idx)
192549 , p_source_94 => l_array_source_94(Idx)
192550 , p_source_95 => l_array_source_95(Idx)
192551 , p_source_96 => l_array_source_96(Idx)
192552 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192553 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192554 , p_source_104 => l_array_source_104(Idx)
192555 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192556 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192557 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192558 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192559 , p_source_109 => l_array_source_109(Idx)
192560 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192561 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192562 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192563 );
192564 If(l_balance_type_code = 'A') THEN
192565 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192566 END IF;
192567
192568 --
192569
192570
192571 --
192572 AcctLineType_92 (
192573 p_application_id => p_application_id
192574 ,p_event_id => l_event_id
192575 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192576 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192577 ,p_actual_flag => l_actual_flag
192578 ,p_balance_type_code => l_balance_type_code
192579 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192580
192581 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
192582 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
192583 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
192584 , p_source_41 => l_array_source_41(Idx)
192585 , p_source_43 => l_array_source_43(Idx)
192586 , p_source_68 => l_array_source_68(Idx)
192587 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192588 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192589 , p_source_79 => l_array_source_79(Idx)
192590 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192591 , p_source_90 => l_array_source_90(Idx)
192592 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192593 , p_source_91 => l_array_source_91(Idx)
192594 , p_source_92 => l_array_source_92(Idx)
192595 , p_source_93 => l_array_source_93(Idx)
192596 , p_source_94 => l_array_source_94(Idx)
192597 , p_source_95 => l_array_source_95(Idx)
192598 , p_source_96 => l_array_source_96(Idx)
192602 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192599 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192600 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192601 , p_source_104 => l_array_source_104(Idx)
192603 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192604 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192605 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192606 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192607 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192608 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192609 , p_source_114 => l_array_source_114(Idx)
192610 );
192611 If(l_balance_type_code = 'A') THEN
192612 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192613 END IF;
192614
192615 --
192616
192617
192618 --
192619 AcctLineType_93 (
192620 p_application_id => p_application_id
192621 ,p_event_id => l_event_id
192622 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192623 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192624 ,p_actual_flag => l_actual_flag
192625 ,p_balance_type_code => l_balance_type_code
192626 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192627
192628 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192629 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192630 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
192631 , p_source_41 => l_array_source_41(Idx)
192632 , p_source_43 => l_array_source_43(Idx)
192633 , p_source_68 => l_array_source_68(Idx)
192634 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192635 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192636 , p_source_79 => l_array_source_79(Idx)
192637 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192638 , p_source_90 => l_array_source_90(Idx)
192639 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192640 , p_source_91 => l_array_source_91(Idx)
192641 , p_source_92 => l_array_source_92(Idx)
192642 , p_source_93 => l_array_source_93(Idx)
192643 , p_source_94 => l_array_source_94(Idx)
192644 , p_source_95 => l_array_source_95(Idx)
192645 , p_source_96 => l_array_source_96(Idx)
192646 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192647 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192648 , p_source_104 => l_array_source_104(Idx)
192649 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192650 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192651 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192652 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192653 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192654 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192655 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192656 , p_source_114 => l_array_source_114(Idx)
192657 );
192658 If(l_balance_type_code = 'A') THEN
192659 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192660 END IF;
192661
192662 --
192663
192664
192665 --
192666 AcctLineType_94 (
192667 p_application_id => p_application_id
192668 ,p_event_id => l_event_id
192669 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192670 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192671 ,p_actual_flag => l_actual_flag
192672 ,p_balance_type_code => l_balance_type_code
192673 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192674
192675 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192676 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192677 , p_source_5 => g_array_event(l_event_id).array_value_num('source_5')
192678 , p_source_41 => l_array_source_41(Idx)
192679 , p_source_43 => l_array_source_43(Idx)
192680 , p_source_68 => l_array_source_68(Idx)
192681 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192682 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192683 , p_source_79 => l_array_source_79(Idx)
192684 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192685 , p_source_90 => l_array_source_90(Idx)
192686 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192687 , p_source_91 => l_array_source_91(Idx)
192688 , p_source_92 => l_array_source_92(Idx)
192689 , p_source_93 => l_array_source_93(Idx)
192690 , p_source_94 => l_array_source_94(Idx)
192691 , p_source_95 => l_array_source_95(Idx)
192692 , p_source_96 => l_array_source_96(Idx)
192693 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192694 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192695 , p_source_104 => l_array_source_104(Idx)
192696 , p_source_105 => g_array_event(l_event_id).array_value_char('source_105')
192697 , p_source_105_meaning => g_array_event(l_event_id).array_value_char('source_105_meaning')
192698 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192699 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192700 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192701 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192702 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192703 , p_source_114 => l_array_source_114(Idx)
192704 );
192708
192705 If(l_balance_type_code = 'A') THEN
192706 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192707 END IF;
192709 --
192710
192711
192712 --
192713 AcctLineType_101 (
192714 p_application_id => p_application_id
192715 ,p_event_id => l_event_id
192716 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192717 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192718 ,p_actual_flag => l_actual_flag
192719 ,p_balance_type_code => l_balance_type_code
192720 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192721
192722 , p_source_21 => l_array_source_21(Idx)
192723 , p_source_21_meaning => l_array_source_21_meaning(Idx)
192724 , p_source_41 => l_array_source_41(Idx)
192725 , p_source_43 => l_array_source_43(Idx)
192726 , p_source_68 => l_array_source_68(Idx)
192727 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192728 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192729 , p_source_79 => l_array_source_79(Idx)
192730 , p_source_80 => l_array_source_80(Idx)
192731 , p_source_81 => l_array_source_81(Idx)
192732 , p_source_82 => l_array_source_82(Idx)
192733 , p_source_83 => l_array_source_83(Idx)
192734 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192735 , p_source_90 => l_array_source_90(Idx)
192736 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192737 , p_source_91 => l_array_source_91(Idx)
192738 , p_source_96 => l_array_source_96(Idx)
192739 , p_source_104 => l_array_source_104(Idx)
192740 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192741 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192742 , p_source_114 => l_array_source_114(Idx)
192743 , p_source_130 => l_array_source_130(Idx)
192744 , p_source_130_meaning => l_array_source_130_meaning(Idx)
192745 );
192746 If(l_balance_type_code = 'A') THEN
192747 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192748 END IF;
192749
192750 --
192751
192752
192753 --
192754 AcctLineType_105 (
192755 p_application_id => p_application_id
192756 ,p_event_id => l_event_id
192757 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192758 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192759 ,p_actual_flag => l_actual_flag
192760 ,p_balance_type_code => l_balance_type_code
192761 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192762
192763 , p_source_21 => l_array_source_21(Idx)
192764 , p_source_21_meaning => l_array_source_21_meaning(Idx)
192765 , p_source_40 => l_array_source_40(Idx)
192766 , p_source_41 => l_array_source_41(Idx)
192767 , p_source_43 => l_array_source_43(Idx)
192768 , p_source_68 => l_array_source_68(Idx)
192769 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192770 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192771 , p_source_79 => l_array_source_79(Idx)
192772 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192773 , p_source_90 => l_array_source_90(Idx)
192774 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192775 , p_source_91 => l_array_source_91(Idx)
192776 , p_source_92 => l_array_source_92(Idx)
192777 , p_source_93 => l_array_source_93(Idx)
192778 , p_source_94 => l_array_source_94(Idx)
192779 , p_source_95 => l_array_source_95(Idx)
192780 , p_source_96 => l_array_source_96(Idx)
192781 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192782 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192783 , p_source_104 => l_array_source_104(Idx)
192784 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192785 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192786 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192787 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192788 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192789 , p_source_114 => l_array_source_114(Idx)
192790 , p_source_130 => l_array_source_130(Idx)
192791 , p_source_130_meaning => l_array_source_130_meaning(Idx)
192792 );
192793 If(l_balance_type_code = 'A') THEN
192794 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192795 END IF;
192796
192797 --
192798
192799
192800 --
192801 AcctLineType_134 (
192802 p_application_id => p_application_id
192803 ,p_event_id => l_event_id
192804 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192805 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192806 ,p_actual_flag => l_actual_flag
192807 ,p_balance_type_code => l_balance_type_code
192808 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192809
192810 , p_source_41 => l_array_source_41(Idx)
192811 , p_source_43 => l_array_source_43(Idx)
192812 , p_source_68 => l_array_source_68(Idx)
192813 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192814 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192815 , p_source_79 => l_array_source_79(Idx)
192816 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192817 , p_source_90 => l_array_source_90(Idx)
192818 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192819 , p_source_91 => l_array_source_91(Idx)
192820 , p_source_92 => l_array_source_92(Idx)
192821 , p_source_93 => l_array_source_93(Idx)
192822 , p_source_94 => l_array_source_94(Idx)
192823 , p_source_95 => l_array_source_95(Idx)
192824 , p_source_96 => l_array_source_96(Idx)
192825 , p_source_104 => l_array_source_104(Idx)
192829 );
192826 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192827 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192828 , p_source_108 => l_array_source_108(Idx)
192830 If(l_balance_type_code = 'A') THEN
192831 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192832 END IF;
192833
192834 --
192835
192836
192837 --
192838 AcctLineType_135 (
192839 p_application_id => p_application_id
192840 ,p_event_id => l_event_id
192841 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192842 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192843 ,p_actual_flag => l_actual_flag
192844 ,p_balance_type_code => l_balance_type_code
192845 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192846
192847 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192848 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192849 , p_source_18 => l_array_source_18(Idx)
192850 , p_source_37 => g_array_event(l_event_id).array_value_num('source_37')
192851 , p_source_41 => l_array_source_41(Idx)
192852 , p_source_43 => l_array_source_43(Idx)
192853 , p_source_68 => l_array_source_68(Idx)
192854 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192855 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192856 , p_source_79 => l_array_source_79(Idx)
192857 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192858 , p_source_90 => l_array_source_90(Idx)
192859 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192860 , p_source_91 => l_array_source_91(Idx)
192861 , p_source_92 => l_array_source_92(Idx)
192862 , p_source_93 => l_array_source_93(Idx)
192863 , p_source_94 => l_array_source_94(Idx)
192864 , p_source_95 => l_array_source_95(Idx)
192865 , p_source_96 => l_array_source_96(Idx)
192866 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192867 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192868 , p_source_104 => l_array_source_104(Idx)
192869 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192870 , p_source_108 => l_array_source_108(Idx)
192871 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192872 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192873 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192874 );
192875 If(l_balance_type_code = 'A') THEN
192876 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192877 END IF;
192878
192879 --
192880
192881
192882 --
192883 AcctLineType_139 (
192884 p_application_id => p_application_id
192885 ,p_event_id => l_event_id
192886 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192887 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192888 ,p_actual_flag => l_actual_flag
192889 ,p_balance_type_code => l_balance_type_code
192890 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192891
192892 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192893 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192894 , p_source_18 => l_array_source_18(Idx)
192895 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
192896 , p_source_25 => g_array_event(l_event_id).array_value_num('source_25')
192897 , p_source_26 => g_array_event(l_event_id).array_value_num('source_26')
192898 , p_source_27 => g_array_event(l_event_id).array_value_num('source_27')
192899 , p_source_41 => l_array_source_41(Idx)
192900 , p_source_43 => l_array_source_43(Idx)
192901 , p_source_68 => l_array_source_68(Idx)
192902 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192903 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192904 , p_source_79 => l_array_source_79(Idx)
192905 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192906 , p_source_90 => l_array_source_90(Idx)
192907 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192908 , p_source_92 => l_array_source_92(Idx)
192909 , p_source_93 => l_array_source_93(Idx)
192910 , p_source_94 => l_array_source_94(Idx)
192911 , p_source_95 => l_array_source_95(Idx)
192912 , p_source_96 => l_array_source_96(Idx)
192913 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192914 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192915 , p_source_104 => l_array_source_104(Idx)
192916 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192917 , p_source_149 => l_array_source_149(Idx)
192918 );
192919 If(l_balance_type_code = 'A') THEN
192920 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192921 END IF;
192922
192923 --
192924
192925
192926 --
192927 AcctLineType_145 (
192928 p_application_id => p_application_id
192929 ,p_event_id => l_event_id
192930 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192931 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192932 ,p_actual_flag => l_actual_flag
192933 ,p_balance_type_code => l_balance_type_code
192934 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192935
192936 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192937 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192938 , p_source_18 => l_array_source_18(Idx)
192939 , p_source_24 => g_array_event(l_event_id).array_value_num('source_24')
192940 , p_source_25 => g_array_event(l_event_id).array_value_num('source_25')
192941 , p_source_41 => l_array_source_41(Idx)
192942 , p_source_43 => l_array_source_43(Idx)
192946 , p_source_79 => l_array_source_79(Idx)
192943 , p_source_68 => l_array_source_68(Idx)
192944 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192945 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192947 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192948 , p_source_90 => l_array_source_90(Idx)
192949 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192950 , p_source_91 => l_array_source_91(Idx)
192951 , p_source_92 => l_array_source_92(Idx)
192952 , p_source_93 => l_array_source_93(Idx)
192953 , p_source_94 => l_array_source_94(Idx)
192954 , p_source_95 => l_array_source_95(Idx)
192955 , p_source_96 => l_array_source_96(Idx)
192956 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
192957 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
192958 , p_source_104 => l_array_source_104(Idx)
192959 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
192960 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
192961 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
192962 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
192963 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
192964 , p_source_149 => l_array_source_149(Idx)
192965 , p_source_156 => l_array_source_156(Idx)
192966 );
192967 If(l_balance_type_code = 'A') THEN
192968 l_actual_gain_loss_ref := l_gain_or_loss_ref;
192969 END IF;
192970
192971 --
192972
192973
192974 --
192975 AcctLineType_187 (
192976 p_application_id => p_application_id
192977 ,p_event_id => l_event_id
192978 ,p_calculate_acctd_flag => l_calculate_acctd_flag
192979 ,p_calculate_g_l_flag => l_calculate_g_l_flag
192980 ,p_actual_flag => l_actual_flag
192981 ,p_balance_type_code => l_balance_type_code
192982 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
192983
192984 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
192985 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
192986 , p_source_18 => l_array_source_18(Idx)
192987 , p_source_26 => g_array_event(l_event_id).array_value_num('source_26')
192988 , p_source_27 => g_array_event(l_event_id).array_value_num('source_27')
192989 , p_source_41 => l_array_source_41(Idx)
192990 , p_source_43 => l_array_source_43(Idx)
192991 , p_source_68 => l_array_source_68(Idx)
192992 , p_source_68_meaning => l_array_source_68_meaning(Idx)
192993 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
192994 , p_source_79 => l_array_source_79(Idx)
192995 , p_source_89 => g_array_event(l_event_id).array_value_char('source_89')
192996 , p_source_90 => l_array_source_90(Idx)
192997 , p_source_90_meaning => l_array_source_90_meaning(Idx)
192998 , p_source_91 => l_array_source_91(Idx)
192999 , p_source_92 => l_array_source_92(Idx)
193000 , p_source_93 => l_array_source_93(Idx)
193001 , p_source_94 => l_array_source_94(Idx)
193002 , p_source_95 => l_array_source_95(Idx)
193003 , p_source_96 => l_array_source_96(Idx)
193004 , p_source_102 => g_array_event(l_event_id).array_value_num('source_102')
193005 , p_source_103 => g_array_event(l_event_id).array_value_num('source_103')
193006 , p_source_104 => l_array_source_104(Idx)
193007 , p_source_106 => g_array_event(l_event_id).array_value_char('source_106')
193008 , p_source_107 => g_array_event(l_event_id).array_value_date('source_107')
193009 , p_source_110 => g_array_event(l_event_id).array_value_date('source_110')
193010 , p_source_111 => g_array_event(l_event_id).array_value_num('source_111')
193011 , p_source_112 => g_array_event(l_event_id).array_value_char('source_112')
193012 , p_source_149 => l_array_source_149(Idx)
193013 , p_source_156 => l_array_source_156(Idx)
193014 );
193015 If(l_balance_type_code = 'A') THEN
193016 l_actual_gain_loss_ref := l_gain_or_loss_ref;
193017 END IF;
193018
193019 --
193020
193021 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
193022 -- or secondary ledger that has different currency with primary
193023 -- or alc that is calculated by sla
193024 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
193025 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y'))
193026
193027 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
193028 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
193029 AND (l_actual_flag = 'A')) THEN
193030 XLA_AE_LINES_PKG.CreateGainOrLossLines(
193031 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
193032 ,p_application_id => p_application_id
193033 ,p_amb_context_code => 'DEFAULT'
193034 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
193035 ,p_event_class_code => C_EVENT_CLASS_CODE
193036 ,p_event_type_code => C_EVENT_TYPE_CODE
193037
193038 ,p_gain_ccid => -1
193039 ,p_loss_ccid => -1
193040
193041 ,p_actual_flag => l_actual_flag
193042 ,p_enc_flag => null
193043 ,p_actual_g_l_ref => l_actual_gain_loss_ref
193044 ,p_enc_g_l_ref => null
193045 );
193046 END IF;
193047 END IF;
193048 END IF;
193049
193050 ELSE
193051 --
193055 trace
193052 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
193053 --
193054 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
193056 (p_msg => 'Trancaction revesal option is Y'
193057 ,p_level => C_LEVEL_STATEMENT
193058 ,p_module => l_log_module);
193059 END IF;
193060 END IF;
193061
193062 END LOOP;
193063 l_result := XLA_AE_LINES_PKG.InsertLines ;
193064 end loop;
193065 close line_cur;
193066
193067
193068 --
193069 -- insert headers into xla_ae_headers_gt table
193070 --
193071 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
193072
193073 -- insert into errors table here.
193074
193075 END LOOP;
193076
193077 --
193078 -- 4865292
193079 --
193080 -- Compare g_hdr_extract_count with event count in
193081 -- CreateHeadersAndLines.
193082 --
193083 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
193084
193085 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
193086 trace (p_msg => '# rows extracted from header extract objects '
193087 || ' (running total): '
193088 || g_hdr_extract_count
193089 ,p_level => C_LEVEL_STATEMENT
193090 ,p_module => l_log_module);
193091 END IF;
193092
193093 CLOSE header_cur;
193094 --
193095
193096 --
193097 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
193098 trace
193099 (p_msg => 'END of EventClass_293'
193100 ,p_level => C_LEVEL_PROCEDURE
193101 ,p_module => l_log_module);
193102 END IF;
193103 --
193104 RETURN l_result;
193105 EXCEPTION
193106 WHEN xla_exceptions_pkg.application_exception THEN
193107
193108 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
193109
193110
193111 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
193112
193113 RAISE;
193114
193115 WHEN NO_DATA_FOUND THEN
193116
193117 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
193118 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
193119
193120 FOR header_record IN header_cur
193121 LOOP
193122 l_array_header_events(header_record.event_id) := header_record.event_id;
193123 END LOOP;
193124
193125 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
193126 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
193127
193128 fnd_file.put_line(fnd_file.LOG, ' ');
193129 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
193130 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
193131 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
193132
193133 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
193134 LOOP
193135 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
193136 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
193137 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
193138 END IF;
193139 END LOOP;
193140
193141 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
193142 fnd_file.put_line(fnd_file.LOG, ' ');
193143
193144
193145 xla_exceptions_pkg.raise_message
193146 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_293');
193147
193148
193149 WHEN OTHERS THEN
193150 xla_exceptions_pkg.raise_message
193151 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_293');
193152 END EventClass_293;
193153 --
193154
193155 ---------------------------------------
193156 --
193157 -- PRIVATE PROCEDURE
193158 -- insert_sources_294
193159 --
193160 ----------------------------------------
193161 --
193162 PROCEDURE insert_sources_294(
193163 p_target_ledger_id IN NUMBER
193164 , p_language IN VARCHAR2
193165 , p_sla_ledger_id IN NUMBER
193166 , p_pad_start_date IN DATE
193167 , p_pad_end_date IN DATE
193168 )
193169 IS
193170
193171 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
193172 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
193173 p_apps_owner VARCHAR2(30);
193174 l_log_module VARCHAR2(240);
193175 BEGIN
193176 IF g_log_enabled THEN
193177 l_log_module := C_DEFAULT_MODULE||'.insert_sources_294';
193178 END IF;
193179 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
193180
193181 trace
193182 (p_msg => 'BEGIN of insert_sources_294'
193183 ,p_level => C_LEVEL_PROCEDURE
193184 ,p_module => l_log_module);
193185
193186 END IF;
193187
193188 -- select APPS owner
193189 SELECT oracle_username
193190 INTO p_apps_owner
193191 FROM fnd_oracle_userid
193192 WHERE read_only_flag = 'U'
193193 ;
193194
193195 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
193196 trace
193197 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
193198 ' - p_language = '||p_language||
193199 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
193203 ,p_level => C_LEVEL_STATEMENT
193200 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
193201 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
193202 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
193204 ,p_module => l_log_module);
193205 END IF;
193206
193207
193208 --
193209 INSERT INTO xla_diag_sources --hdr2
193210 (
193211 event_id
193212 , ledger_id
193213 , sla_ledger_id
193214 , description_language
193215 , object_name
193216 , object_type_code
193217 , line_number
193218 , source_application_id
193219 , source_type_code
193220 , source_code
193221 , source_value
193222 , source_meaning
193223 , created_by
193224 , creation_date
193225 , last_update_date
193226 , last_updated_by
193227 , last_update_login
193228 , program_update_date
193229 , program_application_id
193230 , program_id
193231 , request_id
193232 )
193233 SELECT
193234 event_id
193235 , p_target_ledger_id
193236 , p_sla_ledger_id
193237 , p_language
193238 , object_name
193239 , object_type_code
193240 , line_number
193241 , source_application_id
193242 , source_type_code
193243 , source_code
193244 , SUBSTR(source_value ,1,1996)
193245 , SUBSTR(source_meaning ,1,200)
193246 , xla_environment_pkg.g_Usr_Id
193247 , TRUNC(SYSDATE)
193248 , TRUNC(SYSDATE)
193249 , xla_environment_pkg.g_Usr_Id
193250 , xla_environment_pkg.g_Login_Id
193251 , TRUNC(SYSDATE)
193252 , xla_environment_pkg.g_Prog_Appl_Id
193253 , xla_environment_pkg.g_Prog_Id
193254 , xla_environment_pkg.g_Req_Id
193255 FROM (
193256 SELECT xet.event_id event_id
193257 , 0 line_number
193258 , CASE r
193259 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
193260 WHEN 2 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
193261 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
193262 WHEN 4 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193263 WHEN 5 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
193264 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
193265 WHEN 7 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193266 WHEN 8 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193267 WHEN 9 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193268 WHEN 10 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193269 WHEN 11 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193270 WHEN 12 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
193271 WHEN 13 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193272 WHEN 14 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193273 WHEN 15 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193274 WHEN 16 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193275 WHEN 17 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193276 WHEN 18 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193277 WHEN 19 THEN 'AP_INVOICE_EXTRACT_HEADER_V'
193278
193279 ELSE null
193280 END object_name
193281 , CASE r
193282 WHEN 1 THEN 'HEADER'
193283 WHEN 2 THEN 'HEADER'
193284 WHEN 3 THEN 'HEADER'
193285 WHEN 4 THEN 'HEADER'
193286 WHEN 5 THEN 'HEADER'
193287 WHEN 6 THEN 'HEADER'
193288 WHEN 7 THEN 'HEADER'
193289 WHEN 8 THEN 'HEADER'
193290 WHEN 9 THEN 'HEADER'
193291 WHEN 10 THEN 'HEADER'
193292 WHEN 11 THEN 'HEADER'
193293 WHEN 12 THEN 'HEADER'
193294 WHEN 13 THEN 'HEADER'
193295 WHEN 14 THEN 'HEADER'
193296 WHEN 15 THEN 'HEADER'
193297 WHEN 16 THEN 'HEADER'
193298 WHEN 17 THEN 'HEADER'
193299 WHEN 18 THEN 'HEADER'
193300 WHEN 19 THEN 'HEADER'
193301
193302 ELSE null
193303 END object_type_code
193304 , CASE r
193305 WHEN 1 THEN '200'
193306 WHEN 2 THEN '200'
193307 WHEN 3 THEN '200'
193308 WHEN 4 THEN '200'
193309 WHEN 5 THEN '200'
193310 WHEN 6 THEN '200'
193311 WHEN 7 THEN '200'
193312 WHEN 8 THEN '200'
193313 WHEN 9 THEN '200'
193314 WHEN 10 THEN '200'
193315 WHEN 11 THEN '200'
193316 WHEN 12 THEN '200'
193317 WHEN 13 THEN '200'
193318 WHEN 14 THEN '200'
193319 WHEN 15 THEN '200'
193320 WHEN 16 THEN '200'
193321 WHEN 17 THEN '200'
193322 WHEN 18 THEN '200'
193323 WHEN 19 THEN '200'
193324
193325 ELSE null
193326 END source_application_id
193327 , 'S' source_type_code
193328 , CASE r
193329 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
193330 WHEN 2 THEN 'ASP_RATE_VAR_GAIN_CCID'
193334 WHEN 6 THEN 'ASP_AUTO_OFFSET_FLAG'
193331 WHEN 3 THEN 'ASP_RATE_VAR_LOSS_CCID'
193332 WHEN 4 THEN 'AI_ACCTS_PAY_CCID'
193333 WHEN 5 THEN 'FSP_RETAINAGE_ACCOUNT'
193335 WHEN 7 THEN 'AI_INVOICE_ID'
193336 WHEN 8 THEN 'AI_INVOICE_CURRENCY_CODE'
193337 WHEN 9 THEN 'AI_VENDOR_ID'
193338 WHEN 10 THEN 'AI_VENDOR_SITE_ID'
193339 WHEN 11 THEN 'THIRD_PARTY_TYPE'
193340 WHEN 12 THEN 'FSP_PURCH_ENCUMBRANCE_FLAG'
193341 WHEN 13 THEN 'INV_EXCHANGE_DATE'
193342 WHEN 14 THEN 'INV_EXCHANGE_RATE'
193343 WHEN 15 THEN 'INV_EXCHANGE_RATE_TYPE'
193344 WHEN 16 THEN 'AI_INVOICE_TYPE_LOOKUP_CODE'
193345 WHEN 17 THEN 'INV_DOC_SEQUENCE_CATEGORY'
193346 WHEN 18 THEN 'INV_DOC_SEQUENCE_IDENTIFIER'
193347 WHEN 19 THEN 'INV_DOC_SEQUENCE_VALUE'
193348
193349 ELSE null
193350 END source_code
193351 , CASE r
193352 WHEN 1 THEN TO_CHAR(h4.ASP_AUTOMATIC_OFFSETS_VALUE)
193353 WHEN 2 THEN TO_CHAR(h4.ASP_RATE_VAR_GAIN_CCID)
193354 WHEN 3 THEN TO_CHAR(h4.ASP_RATE_VAR_LOSS_CCID)
193355 WHEN 4 THEN TO_CHAR(h2.AI_ACCTS_PAY_CCID)
193356 WHEN 5 THEN TO_CHAR(h4.FSP_RETAINAGE_ACCOUNT)
193357 WHEN 6 THEN TO_CHAR(h4.ASP_AUTO_OFFSET_FLAG)
193358 WHEN 7 THEN TO_CHAR(h2.AI_INVOICE_ID)
193359 WHEN 8 THEN TO_CHAR(h2.AI_INVOICE_CURRENCY_CODE)
193360 WHEN 9 THEN TO_CHAR(h2.AI_VENDOR_ID)
193361 WHEN 10 THEN TO_CHAR(h2.AI_VENDOR_SITE_ID)
193362 WHEN 11 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
193363 WHEN 12 THEN TO_CHAR(h4.FSP_PURCH_ENCUMBRANCE_FLAG)
193364 WHEN 13 THEN TO_CHAR(h2.INV_EXCHANGE_DATE)
193365 WHEN 14 THEN TO_CHAR(h2.INV_EXCHANGE_RATE)
193366 WHEN 15 THEN TO_CHAR(h2.INV_EXCHANGE_RATE_TYPE)
193367 WHEN 16 THEN TO_CHAR(h2.AI_INVOICE_TYPE_LOOKUP_CODE)
193368 WHEN 17 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_CATEGORY)
193369 WHEN 18 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_IDENTIFIER)
193370 WHEN 19 THEN TO_CHAR(h2.INV_DOC_SEQUENCE_VALUE)
193371
193372 ELSE null
193373 END source_value
193374 , CASE r
193375 WHEN 1 THEN fvl3.meaning
193376 WHEN 6 THEN fvl35.meaning
193377 WHEN 12 THEN fvl86.meaning
193378 WHEN 16 THEN fvl159.meaning
193379
193380 ELSE null
193381 END source_meaning
193382 FROM xla_events_gt xet
193383 , AP_INVOICE_EXTRACT_HEADER_V h2
193384 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
193385 , fnd_lookup_values fvl3
193386 , fnd_lookup_values fvl35
193387 , fnd_lookup_values fvl86
193388 , fnd_lookup_values fvl159
193389 ,(select rownum r from all_objects where rownum <= 19 and owner = p_apps_owner)
193390 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
193391 AND xet.event_class_code = C_EVENT_CLASS_CODE
193392 AND h2.event_id = xet.event_id
193393 AND h4.asp_org_id = h2.ai_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
193394 AND fvl3.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
193395 AND fvl3.view_application_id(+) = 200
193396 AND fvl3.language(+) = USERENV('LANG')
193397 AND fvl35.lookup_type(+) = 'YES_NO'
193398 AND fvl35.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
193399 AND fvl35.view_application_id(+) = 0
193400 AND fvl35.language(+) = USERENV('LANG')
193401 AND fvl86.lookup_type(+) = 'YES_NO'
193402 AND fvl86.lookup_code(+) = h4.FSP_PURCH_ENCUMBRANCE_FLAG
193403 AND fvl86.view_application_id(+) = 0
193404 AND fvl86.language(+) = USERENV('LANG')
193405 AND fvl159.lookup_type(+) = 'INVOICE TYPE'
193406 AND fvl159.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
193407 AND fvl159.view_application_id(+) = 200
193408 AND fvl159.language(+) = USERENV('LANG')
193409
193410 )
193411 ;
193412 --
193413 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
193414
193415 trace
193416 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
193417 ,p_level => C_LEVEL_STATEMENT
193418 ,p_module => l_log_module);
193419
193420 END IF;
193421 --
193422
193423
193424
193425 --
193426 INSERT INTO xla_diag_sources --line2
193427 (
193428 event_id
193429 , ledger_id
193430 , sla_ledger_id
193431 , description_language
193432 , object_name
193433 , object_type_code
193434 , line_number
193435 , source_application_id
193436 , source_type_code
193437 , source_code
193438 , source_value
193439 , source_meaning
193440 , created_by
193441 , creation_date
193442 , last_update_date
193443 , last_updated_by
193444 , last_update_login
193445 , program_update_date
193446 , program_application_id
193447 , program_id
193448 , request_id
193449 )
193450 SELECT event_id
193451 , p_target_ledger_id
193455 , object_type_code
193452 , p_sla_ledger_id
193453 , p_language
193454 , object_name
193456 , line_number
193457 , source_application_id
193458 , source_type_code
193459 , source_code
193460 , SUBSTR(source_value,1,1996)
193461 , SUBSTR(source_meaning ,1,200)
193462 , xla_environment_pkg.g_Usr_Id
193463 , TRUNC(SYSDATE)
193464 , TRUNC(SYSDATE)
193465 , xla_environment_pkg.g_Usr_Id
193466 , xla_environment_pkg.g_Login_Id
193467 , TRUNC(SYSDATE)
193468 , xla_environment_pkg.g_Prog_Appl_Id
193469 , xla_environment_pkg.g_Prog_Id
193470 , xla_environment_pkg.g_Req_Id
193471 FROM (
193472 SELECT xet.event_id event_id
193473 , l1.line_number line_number
193474 , CASE r
193475 WHEN 1 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193476 WHEN 2 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193477 WHEN 3 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193478 WHEN 4 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193479 WHEN 5 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193480 WHEN 6 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193481 WHEN 7 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193482 WHEN 8 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193483 WHEN 9 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193484 WHEN 10 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193485 WHEN 11 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193486 WHEN 12 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193487 WHEN 13 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193488 WHEN 14 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193489 WHEN 15 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193490 WHEN 16 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193491 WHEN 17 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193492 WHEN 18 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193493 WHEN 19 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193494 WHEN 20 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193495 WHEN 21 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193496 WHEN 22 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193497 WHEN 23 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193498 WHEN 24 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193499 WHEN 25 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193500 WHEN 26 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193501 WHEN 27 THEN 'AP_PO_HEADERS_EXTRACT_V'
193502 WHEN 28 THEN 'AP_PO_HEADERS_EXTRACT_V'
193503 WHEN 29 THEN 'AP_PO_HEADERS_EXTRACT_V'
193504 WHEN 30 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193505 WHEN 31 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193506 WHEN 32 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193507 WHEN 33 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193508 WHEN 34 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193509 WHEN 35 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193510 WHEN 36 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
193511 WHEN 37 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
193512 WHEN 38 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193513 WHEN 39 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193514 WHEN 40 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193515 WHEN 41 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193516 WHEN 42 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193517 WHEN 43 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193518 WHEN 44 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193519 WHEN 45 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193520 WHEN 46 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193521 WHEN 47 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193522 WHEN 48 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193523 WHEN 49 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193524 WHEN 50 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193525 WHEN 51 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193526 WHEN 52 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193527 WHEN 53 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193528 WHEN 54 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193529 WHEN 55 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193530 WHEN 56 THEN 'AP_INVOICE_EXTRACT_DETAILS_V'
193531
193532 ELSE null
193533 END object_name
193534 , CASE r
193535 WHEN 1 THEN 'LINE'
193536 WHEN 2 THEN 'LINE'
193537 WHEN 3 THEN 'LINE'
193538 WHEN 4 THEN 'LINE'
193539 WHEN 5 THEN 'LINE'
193540 WHEN 6 THEN 'LINE'
193541 WHEN 7 THEN 'LINE'
193542 WHEN 8 THEN 'LINE'
193543 WHEN 9 THEN 'LINE'
193544 WHEN 10 THEN 'LINE'
193545 WHEN 11 THEN 'LINE'
193546 WHEN 12 THEN 'LINE'
193547 WHEN 13 THEN 'LINE'
193548 WHEN 14 THEN 'LINE'
193549 WHEN 15 THEN 'LINE'
193550 WHEN 16 THEN 'LINE'
193551 WHEN 17 THEN 'LINE'
193552 WHEN 18 THEN 'LINE'
193553 WHEN 19 THEN 'LINE'
193554 WHEN 20 THEN 'LINE'
193555 WHEN 21 THEN 'LINE'
193556 WHEN 22 THEN 'LINE'
193557 WHEN 23 THEN 'LINE'
193561 WHEN 27 THEN 'LINE'
193558 WHEN 24 THEN 'LINE'
193559 WHEN 25 THEN 'LINE'
193560 WHEN 26 THEN 'LINE'
193562 WHEN 28 THEN 'LINE'
193563 WHEN 29 THEN 'LINE'
193564 WHEN 30 THEN 'LINE'
193565 WHEN 31 THEN 'LINE'
193566 WHEN 32 THEN 'LINE'
193567 WHEN 33 THEN 'LINE'
193568 WHEN 34 THEN 'LINE'
193569 WHEN 35 THEN 'LINE'
193570 WHEN 36 THEN 'LINE'
193571 WHEN 37 THEN 'LINE'
193572 WHEN 38 THEN 'LINE'
193573 WHEN 39 THEN 'LINE'
193574 WHEN 40 THEN 'LINE'
193575 WHEN 41 THEN 'LINE'
193576 WHEN 42 THEN 'LINE'
193577 WHEN 43 THEN 'LINE'
193578 WHEN 44 THEN 'LINE'
193579 WHEN 45 THEN 'LINE'
193580 WHEN 46 THEN 'LINE'
193581 WHEN 47 THEN 'LINE'
193582 WHEN 48 THEN 'LINE'
193583 WHEN 49 THEN 'LINE'
193584 WHEN 50 THEN 'LINE'
193585 WHEN 51 THEN 'LINE'
193586 WHEN 52 THEN 'LINE'
193587 WHEN 53 THEN 'LINE'
193588 WHEN 54 THEN 'LINE'
193589 WHEN 55 THEN 'LINE'
193590 WHEN 56 THEN 'LINE'
193591
193592 ELSE null
193593 END object_type_code
193594 , CASE r
193595 WHEN 1 THEN '200'
193596 WHEN 2 THEN '200'
193597 WHEN 3 THEN '200'
193598 WHEN 4 THEN '200'
193599 WHEN 5 THEN '200'
193600 WHEN 6 THEN '200'
193601 WHEN 7 THEN '200'
193602 WHEN 8 THEN '200'
193603 WHEN 9 THEN '200'
193604 WHEN 10 THEN '200'
193605 WHEN 11 THEN '200'
193606 WHEN 12 THEN '200'
193607 WHEN 13 THEN '200'
193608 WHEN 14 THEN '200'
193609 WHEN 15 THEN '200'
193610 WHEN 16 THEN '200'
193611 WHEN 17 THEN '200'
193612 WHEN 18 THEN '200'
193613 WHEN 19 THEN '200'
193614 WHEN 20 THEN '200'
193615 WHEN 21 THEN '200'
193616 WHEN 22 THEN '200'
193617 WHEN 23 THEN '200'
193618 WHEN 24 THEN '200'
193619 WHEN 25 THEN '200'
193620 WHEN 26 THEN '200'
193621 WHEN 27 THEN '200'
193622 WHEN 28 THEN '200'
193623 WHEN 29 THEN '200'
193624 WHEN 30 THEN '200'
193625 WHEN 31 THEN '200'
193626 WHEN 32 THEN '200'
193627 WHEN 33 THEN '200'
193628 WHEN 34 THEN '200'
193629 WHEN 35 THEN '200'
193630 WHEN 36 THEN '200'
193631 WHEN 37 THEN '200'
193632 WHEN 38 THEN '200'
193633 WHEN 39 THEN '200'
193634 WHEN 40 THEN '200'
193635 WHEN 41 THEN '200'
193636 WHEN 42 THEN '200'
193637 WHEN 43 THEN '200'
193638 WHEN 44 THEN '200'
193639 WHEN 45 THEN '200'
193640 WHEN 46 THEN '200'
193641 WHEN 47 THEN '200'
193642 WHEN 48 THEN '200'
193643 WHEN 49 THEN '200'
193644 WHEN 50 THEN '200'
193645 WHEN 51 THEN '200'
193646 WHEN 52 THEN '200'
193647 WHEN 53 THEN '200'
193648 WHEN 54 THEN '200'
193649 WHEN 55 THEN '200'
193650 WHEN 56 THEN '200'
193651
193652 ELSE null
193653 END source_application_id
193654 , 'S' source_type_code
193655 , CASE r
193656 WHEN 1 THEN 'AID_DESCRIPTION'
193657 WHEN 2 THEN 'INV_DIST_BASE_AMOUNT'
193658 WHEN 3 THEN 'RELATED_INV_DIST_DEST_TYPE'
193659 WHEN 4 THEN 'AID_DIST_CCID'
193660 WHEN 5 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
193661 WHEN 6 THEN 'AID_RET_RELATED_DIST_CCID'
193662 WHEN 7 THEN 'AWT_RELATED_DIST_ACCOUNT'
193663 WHEN 8 THEN 'SELF_ASSESSED_TAX_ACCOUNT'
193664 WHEN 9 THEN 'ASAT_LIAB_CCID'
193665 WHEN 10 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
193666 WHEN 11 THEN 'DISTRIBUTION_LINK_TYPE'
193667 WHEN 12 THEN 'ALLOC_TO_MAIN_DIST_ID'
193668 WHEN 13 THEN 'BUS_FLOW_PO_APP_ID'
193669 WHEN 14 THEN 'BUS_FLOW_PO_DIST_TYPE'
193670 WHEN 15 THEN 'BUS_FLOW_PO_ENTITY_CODE'
193671 WHEN 16 THEN 'BUS_FLOW_PO_DIST_ID'
193672 WHEN 17 THEN 'BUS_FLOW_PO_DOC_ID'
193673 WHEN 18 THEN 'AID_INVOICE_DIST_ID'
193674 WHEN 19 THEN 'UPG_ENC_CR_CCID'
193675 WHEN 20 THEN 'UPG_ENC_CR_AMT'
193676 WHEN 21 THEN 'UPG_ENC_CR_BASE_AMT'
193677 WHEN 22 THEN 'UPG_ENC_DR_CCID'
193678 WHEN 23 THEN 'UPG_ENC_DR_AMT'
193679 WHEN 24 THEN 'UPG_ENC_DR_BASE_AMT'
193683 WHEN 28 THEN 'POH_RATE'
193680 WHEN 25 THEN 'UPG_AP_ENCUM_OPTION'
193681 WHEN 26 THEN 'AID_AMOUNT'
193682 WHEN 27 THEN 'POH_RATE_DATE'
193684 WHEN 29 THEN 'POH_RATE_TYPE'
193685 WHEN 30 THEN 'DEFERRED_END_DATE'
193686 WHEN 31 THEN 'DEFERRED_OPTION'
193687 WHEN 32 THEN 'DEFERRED_START_DATE'
193688 WHEN 33 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
193689 WHEN 34 THEN 'AID_PARENT_REVERSAL_ID'
193690 WHEN 35 THEN 'AID_STAT_AMOUNT'
193691 WHEN 36 THEN 'TAX_LINE_ID'
193692 WHEN 37 THEN 'REC_NREC_TAX_DIST_ID'
193693 WHEN 38 THEN 'SUMMARY_TAX_LINE_ID'
193694 WHEN 39 THEN 'UPG_CR_ENC_TYPE_ID'
193695 WHEN 40 THEN 'UPG_DR_ENC_TYPE_ID'
193696 WHEN 41 THEN 'BUS_FLOW_AP_APP_ID'
193697 WHEN 42 THEN 'BUS_FLOW_INV_DIST_TYPE'
193698 WHEN 43 THEN 'BUS_FLOW_INV_ENTITY_CODE'
193699 WHEN 44 THEN 'BUS_FLOW_INV_DIST_ID'
193700 WHEN 45 THEN 'BUS_FLOW_INV_ID'
193701 WHEN 46 THEN 'POD_ACCRUE_ON_RECEIPT_FLAG'
193702 WHEN 47 THEN 'AID_AMOUNT_VARIANCE'
193703 WHEN 48 THEN 'AID_ENCUMBERED_FLAG'
193704 WHEN 49 THEN 'AID_BASE_AMOUNT_VARIANCE'
193705 WHEN 50 THEN 'SELF_ASSESSED_TAX_FLAG'
193706 WHEN 51 THEN 'ENCUMBRANCE_AMOUNT'
193707 WHEN 52 THEN 'ENCUMBRANCE_BASE_AMOUNT'
193708 WHEN 53 THEN 'AID_QUANTITY_VARIANCE'
193709 WHEN 54 THEN 'AID_BASE_QUANTITY_VARIANCE'
193710 WHEN 55 THEN 'BUS_FLOW_RET_INV_DIST_ID'
193711 WHEN 56 THEN 'BUS_FLOW_RET_INV_ID'
193712
193713 ELSE null
193714 END source_code
193715 , CASE r
193716 WHEN 1 THEN TO_CHAR(l1.AID_DESCRIPTION)
193717 WHEN 2 THEN TO_CHAR(l1.INV_DIST_BASE_AMOUNT)
193718 WHEN 3 THEN TO_CHAR(l1.RELATED_INV_DIST_DEST_TYPE)
193719 WHEN 4 THEN TO_CHAR(l1.AID_DIST_CCID)
193720 WHEN 5 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
193721 WHEN 6 THEN TO_CHAR(l1.AID_RET_RELATED_DIST_CCID)
193722 WHEN 7 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
193723 WHEN 8 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_ACCOUNT)
193724 WHEN 9 THEN TO_CHAR(l1.ASAT_LIAB_CCID)
193725 WHEN 10 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
193726 WHEN 11 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
193727 WHEN 12 THEN TO_CHAR(l1.ALLOC_TO_MAIN_DIST_ID)
193728 WHEN 13 THEN TO_CHAR(l1.BUS_FLOW_PO_APP_ID)
193729 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_TYPE)
193730 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_PO_ENTITY_CODE)
193731 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_PO_DIST_ID)
193732 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_PO_DOC_ID)
193733 WHEN 18 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
193734 WHEN 19 THEN TO_CHAR(l1.UPG_ENC_CR_CCID)
193735 WHEN 20 THEN TO_CHAR(l1.UPG_ENC_CR_AMT)
193736 WHEN 21 THEN TO_CHAR(l1.UPG_ENC_CR_BASE_AMT)
193737 WHEN 22 THEN TO_CHAR(l1.UPG_ENC_DR_CCID)
193738 WHEN 23 THEN TO_CHAR(l1.UPG_ENC_DR_AMT)
193739 WHEN 24 THEN TO_CHAR(l1.UPG_ENC_DR_BASE_AMT)
193740 WHEN 25 THEN TO_CHAR(l1.UPG_AP_ENCUM_OPTION)
193741 WHEN 26 THEN TO_CHAR(l1.AID_AMOUNT)
193742 WHEN 27 THEN TO_CHAR(l3.POH_RATE_DATE)
193743 WHEN 28 THEN TO_CHAR(l3.POH_RATE)
193744 WHEN 29 THEN TO_CHAR(l3.POH_RATE_TYPE)
193745 WHEN 30 THEN TO_CHAR(l1.DEFERRED_END_DATE)
193746 WHEN 31 THEN TO_CHAR(l1.DEFERRED_OPTION)
193747 WHEN 32 THEN TO_CHAR(l1.DEFERRED_START_DATE)
193748 WHEN 33 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
193749 WHEN 34 THEN TO_CHAR(l1.AID_PARENT_REVERSAL_ID)
193750 WHEN 35 THEN TO_CHAR(l1.AID_STAT_AMOUNT)
193751 WHEN 36 THEN TO_CHAR(l5.TAX_LINE_ID)
193752 WHEN 37 THEN TO_CHAR(l6.REC_NREC_TAX_DIST_ID)
193753 WHEN 38 THEN TO_CHAR(l1.SUMMARY_TAX_LINE_ID)
193754 WHEN 39 THEN TO_CHAR(l1.UPG_CR_ENC_TYPE_ID)
193755 WHEN 40 THEN TO_CHAR(l1.UPG_DR_ENC_TYPE_ID)
193756 WHEN 41 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
193757 WHEN 42 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
193758 WHEN 43 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
193759 WHEN 44 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
193760 WHEN 45 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
193761 WHEN 46 THEN TO_CHAR(l1.POD_ACCRUE_ON_RECEIPT_FLAG)
193762 WHEN 47 THEN TO_CHAR(l1.AID_AMOUNT_VARIANCE)
193763 WHEN 48 THEN TO_CHAR(l1.AID_ENCUMBERED_FLAG)
193764 WHEN 49 THEN TO_CHAR(l1.AID_BASE_AMOUNT_VARIANCE)
193765 WHEN 50 THEN TO_CHAR(l1.SELF_ASSESSED_TAX_FLAG)
193766 WHEN 51 THEN TO_CHAR(l1.ENCUMBRANCE_AMOUNT)
193767 WHEN 52 THEN TO_CHAR(l1.ENCUMBRANCE_BASE_AMOUNT)
193768 WHEN 53 THEN TO_CHAR(l1.AID_QUANTITY_VARIANCE)
193769 WHEN 54 THEN TO_CHAR(l1.AID_BASE_QUANTITY_VARIANCE)
193770 WHEN 55 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_DIST_ID)
193771 WHEN 56 THEN TO_CHAR(l1.BUS_FLOW_RET_INV_ID)
193775 , CASE r
193772
193773 ELSE null
193774 END source_value
193776 WHEN 3 THEN fvl10.meaning
193777 WHEN 5 THEN fvl21.meaning
193778 WHEN 33 THEN fvl68.meaning
193779 WHEN 46 THEN fvl84.meaning
193780 WHEN 48 THEN fvl87.meaning
193781 WHEN 50 THEN fvl135.meaning
193782
193783 ELSE null
193784 END source_meaning
193785 FROM xla_events_gt xet
193786 , AP_INVOICE_EXTRACT_DETAILS_V l1
193787 , AP_PO_HEADERS_EXTRACT_V l3
193788 , ZX_AP_DEF_TAX_EXTRACT_V l5
193789 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
193790 , fnd_lookup_values fvl10
193791 , fnd_lookup_values fvl21
193792 , fnd_lookup_values fvl68
193793 , fnd_lookup_values fvl84
193794 , fnd_lookup_values fvl87
193795 , fnd_lookup_values fvl135
193796 , (select rownum r from all_objects where rownum <= 56 and owner = p_apps_owner)
193797 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
193798 AND xet.event_class_code = C_EVENT_CLASS_CODE
193799 AND l1.event_id = xet.event_id
193800 AND l1.pod_po_header_id = l3.po_header_id (+) AND l1.zrnd_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND l1.zrnd_tax_dist_id = l6.rec_nrec_tax_dist_id (+) AND fvl10.lookup_type(+) = 'DESTINATION TYPE'
193801 AND fvl10.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
193802 AND fvl10.view_application_id(+) = 201
193803 AND fvl10.language(+) = USERENV('LANG')
193804 AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
193805 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
193806 AND fvl21.view_application_id(+) = 200
193807 AND fvl21.language(+) = USERENV('LANG')
193808 AND fvl68.lookup_type(+) = 'YES_NO'
193809 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
193810 AND fvl68.view_application_id(+) = 0
193811 AND fvl68.language(+) = USERENV('LANG')
193812 AND fvl84.lookup_type(+) = 'YES_NO'
193813 AND fvl84.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
193814 AND fvl84.view_application_id(+) = 0
193815 AND fvl84.language(+) = USERENV('LANG')
193816 AND fvl87.lookup_type(+) = 'YES_NO'
193817 AND fvl87.lookup_code(+) = l1.AID_ENCUMBERED_FLAG
193818 AND fvl87.view_application_id(+) = 0
193819 AND fvl87.language(+) = USERENV('LANG')
193820 AND fvl135.lookup_type(+) = 'YES_NO'
193821 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
193822 AND fvl135.view_application_id(+) = 0
193823 AND fvl135.language(+) = USERENV('LANG')
193824
193825 )
193826 ;
193827 --
193828 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
193829
193830 trace
193831 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
193832 ,p_level => C_LEVEL_STATEMENT
193833 ,p_module => l_log_module);
193834
193835 END IF;
193836
193837
193838 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
193839 trace
193840 (p_msg => 'END of insert_sources_294'
193841 ,p_level => C_LEVEL_PROCEDURE
193842 ,p_module => l_log_module);
193843 END IF;
193844 EXCEPTION
193845 WHEN xla_exceptions_pkg.application_exception THEN
193846 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
193847 trace
193848 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
193849 ,p_level => C_LEVEL_EXCEPTION
193850 ,p_module => l_log_module);
193851 END IF;
193852 RAISE;
193853 WHEN OTHERS THEN
193854 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
193855 trace
193856 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
193857 ,p_level => C_LEVEL_EXCEPTION
193858 ,p_module => l_log_module);
193859 END IF;
193860 xla_exceptions_pkg.raise_message
193861 (p_location => 'XLA_00200_AAD_S_000006_PKG.insert_sources_294');
193862 END insert_sources_294;
193863 --
193864
193865 ---------------------------------------
193866 --
193867 -- PRIVATE FUNCTION
193868 -- EventClass_294
193869 --
193870 ----------------------------------------
193871 --
193872 FUNCTION EventClass_294
193873 (p_application_id IN NUMBER
193874 ,p_base_ledger_id IN NUMBER
193875 ,p_target_ledger_id IN NUMBER
193876 ,p_language IN VARCHAR2
193877 ,p_currency_code IN VARCHAR2
193878 ,p_sla_ledger_id IN NUMBER
193879 ,p_pad_start_date IN DATE
193880 ,p_pad_end_date IN DATE
193881 ,p_primary_ledger_id IN NUMBER)
193882 RETURN BOOLEAN IS
193883 --
193884 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICES_ALL';
193885 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICES';
193886
193887 l_calculate_acctd_flag VARCHAR2(1) :='N';
193888 l_calculate_g_l_flag VARCHAR2(1) :='N';
193889 --
193890 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193891 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193892 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
193893 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
193897 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193894 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193895 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
193896 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
193898 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
193899 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
193900 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193901 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193902 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193903 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
193904 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
193905 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
193906 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
193907 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
193908 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
193909 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
193910 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
193911 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
193912 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
193913 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
193914 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
193915 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
193916
193917 l_event_id NUMBER;
193918 l_previous_event_id NUMBER;
193919 l_first_event_id NUMBER;
193920 l_last_event_id NUMBER;
193921
193922 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
193923 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
193924 --
193925 --
193926 l_result BOOLEAN := TRUE;
193927 l_rows NUMBER := 1000;
193928 l_event_type_name VARCHAR2(80) := 'All';
193929 l_event_class_name VARCHAR2(80) := 'Invoices';
193930 l_description VARCHAR2(4000);
193931 l_transaction_reversal NUMBER;
193932 l_ae_header_id NUMBER;
193933 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
193934 l_log_module VARCHAR2(240);
193935 --
193936 l_acct_reversal_source VARCHAR2(30);
193937 l_trx_reversal_source VARCHAR2(30);
193938
193939 l_continue_with_lines BOOLEAN := TRUE;
193940 --
193941 l_acc_rev_gl_date_source DATE; -- 4262811
193942 --
193943 type t_array_event_id is table of number index by binary_integer;
193944
193945 l_rec_array_event t_rec_array_event;
193946 l_null_rec_array_event t_rec_array_event;
193947 l_array_ae_header_id xla_number_array_type;
193948 l_actual_flag VARCHAR2(1) := NULL;
193949 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
193950 l_balance_type_code VARCHAR2(1) :=NULL;
193951 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
193952
193953 --
193954 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
193955 --
193956
193957 TYPE t_array_source_3 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
193958 TYPE t_array_source_8 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
193959 TYPE t_array_source_11 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_RATE_VAR_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
193960 TYPE t_array_source_22 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_ACCTS_PAY_CCID%TYPE INDEX BY BINARY_INTEGER;
193961 TYPE t_array_source_28 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_RETAINAGE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
193962 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
193963 TYPE t_array_source_46 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_ID%TYPE INDEX BY BINARY_INTEGER;
193964 TYPE t_array_source_55 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
193965 TYPE t_array_source_69 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
193966 TYPE t_array_source_70 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
193967 TYPE t_array_source_71 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
193968 TYPE t_array_source_86 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_PURCH_ENCUMBRANCE_FLAG%TYPE INDEX BY BINARY_INTEGER;
193969 TYPE t_array_source_136 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
193970 TYPE t_array_source_137 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
193971 TYPE t_array_source_138 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
193972 TYPE t_array_source_159 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.AI_INVOICE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
193973 TYPE t_array_source_165 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_CATEGORY%TYPE INDEX BY BINARY_INTEGER;
193977 TYPE t_array_source_1 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DESCRIPTION%TYPE INDEX BY BINARY_INTEGER;
193974 TYPE t_array_source_166 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_IDENTIFIER%TYPE INDEX BY BINARY_INTEGER;
193975 TYPE t_array_source_167 IS TABLE OF AP_INVOICE_EXTRACT_HEADER_V.INV_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
193976
193978 TYPE t_array_source_9 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.INV_DIST_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
193979 TYPE t_array_source_10 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.RELATED_INV_DIST_DEST_TYPE%TYPE INDEX BY BINARY_INTEGER;
193980 TYPE t_array_source_18 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
193981 TYPE t_array_source_21 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
193982 TYPE t_array_source_30 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_RET_RELATED_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
193983 TYPE t_array_source_31 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
193984 TYPE t_array_source_38 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
193985 TYPE t_array_source_39 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ASAT_LIAB_CCID%TYPE INDEX BY BINARY_INTEGER;
193986 TYPE t_array_source_41 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
193987 TYPE t_array_source_43 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
193988 TYPE t_array_source_45 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ALLOC_TO_MAIN_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
193989 TYPE t_array_source_47 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_APP_ID%TYPE INDEX BY BINARY_INTEGER;
193990 TYPE t_array_source_48 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
193991 TYPE t_array_source_49 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
193992 TYPE t_array_source_50 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
193993 TYPE t_array_source_51 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_PO_DOC_ID%TYPE INDEX BY BINARY_INTEGER;
193994 TYPE t_array_source_52 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
193995 TYPE t_array_source_53 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_CCID%TYPE INDEX BY BINARY_INTEGER;
193996 TYPE t_array_source_54 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_AMT%TYPE INDEX BY BINARY_INTEGER;
193997 TYPE t_array_source_56 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_CR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
193998 TYPE t_array_source_57 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_CCID%TYPE INDEX BY BINARY_INTEGER;
193999 TYPE t_array_source_58 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_AMT%TYPE INDEX BY BINARY_INTEGER;
194000 TYPE t_array_source_59 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_ENC_DR_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
194001 TYPE t_array_source_60 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_AP_ENCUM_OPTION%TYPE INDEX BY BINARY_INTEGER;
194002 TYPE t_array_source_61 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
194003 TYPE t_array_source_62 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_DATE%TYPE INDEX BY BINARY_INTEGER;
194004 TYPE t_array_source_63 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE%TYPE INDEX BY BINARY_INTEGER;
194005 TYPE t_array_source_64 IS TABLE OF AP_PO_HEADERS_EXTRACT_V.POH_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
194006 TYPE t_array_source_65 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_END_DATE%TYPE INDEX BY BINARY_INTEGER;
194007 TYPE t_array_source_66 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_OPTION%TYPE INDEX BY BINARY_INTEGER;
194008 TYPE t_array_source_67 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.DEFERRED_START_DATE%TYPE INDEX BY BINARY_INTEGER;
194009 TYPE t_array_source_68 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
194010 TYPE t_array_source_72 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_PARENT_REVERSAL_ID%TYPE INDEX BY BINARY_INTEGER;
194011 TYPE t_array_source_73 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_STAT_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
194012 TYPE t_array_source_74 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
194013 TYPE t_array_source_75 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
194014 TYPE t_array_source_76 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
194015 TYPE t_array_source_77 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
194016 TYPE t_array_source_78 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
194017 TYPE t_array_source_79 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
194018 TYPE t_array_source_80 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
194019 TYPE t_array_source_81 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
194020 TYPE t_array_source_82 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
194021 TYPE t_array_source_83 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
194022 TYPE t_array_source_84 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.POD_ACCRUE_ON_RECEIPT_FLAG%TYPE INDEX BY BINARY_INTEGER;
194023 TYPE t_array_source_85 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
194024 TYPE t_array_source_87 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_ENCUMBERED_FLAG%TYPE INDEX BY BINARY_INTEGER;
194028 TYPE t_array_source_144 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ENCUMBRANCE_BASE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
194025 TYPE t_array_source_88 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_BASE_AMOUNT_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
194026 TYPE t_array_source_135 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.SELF_ASSESSED_TAX_FLAG%TYPE INDEX BY BINARY_INTEGER;
194027 TYPE t_array_source_143 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.ENCUMBRANCE_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
194029 TYPE t_array_source_161 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
194030 TYPE t_array_source_162 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.AID_BASE_QUANTITY_VARIANCE%TYPE INDEX BY BINARY_INTEGER;
194031 TYPE t_array_source_163 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
194032 TYPE t_array_source_164 IS TABLE OF AP_INVOICE_EXTRACT_DETAILS_V.BUS_FLOW_RET_INV_ID%TYPE INDEX BY BINARY_INTEGER;
194033
194034 l_array_source_3 t_array_source_3;
194035 l_array_source_3_meaning t_array_lookup_meaning;
194036 l_array_source_8 t_array_source_8;
194037 l_array_source_11 t_array_source_11;
194038 l_array_source_22 t_array_source_22;
194039 l_array_source_28 t_array_source_28;
194040 l_array_source_35 t_array_source_35;
194041 l_array_source_35_meaning t_array_lookup_meaning;
194042 l_array_source_46 t_array_source_46;
194043 l_array_source_55 t_array_source_55;
194044 l_array_source_69 t_array_source_69;
194045 l_array_source_70 t_array_source_70;
194046 l_array_source_71 t_array_source_71;
194047 l_array_source_86 t_array_source_86;
194048 l_array_source_86_meaning t_array_lookup_meaning;
194049 l_array_source_136 t_array_source_136;
194050 l_array_source_137 t_array_source_137;
194051 l_array_source_138 t_array_source_138;
194052 l_array_source_159 t_array_source_159;
194053 l_array_source_159_meaning t_array_lookup_meaning;
194054 l_array_source_165 t_array_source_165;
194055 l_array_source_166 t_array_source_166;
194056 l_array_source_167 t_array_source_167;
194057
194058 l_array_source_1 t_array_source_1;
194059 l_array_source_9 t_array_source_9;
194060 l_array_source_10 t_array_source_10;
194061 l_array_source_10_meaning t_array_lookup_meaning;
194062 l_array_source_18 t_array_source_18;
194063 l_array_source_21 t_array_source_21;
194064 l_array_source_21_meaning t_array_lookup_meaning;
194065 l_array_source_30 t_array_source_30;
194066 l_array_source_31 t_array_source_31;
194067 l_array_source_38 t_array_source_38;
194068 l_array_source_39 t_array_source_39;
194069 l_array_source_41 t_array_source_41;
194070 l_array_source_43 t_array_source_43;
194071 l_array_source_45 t_array_source_45;
194072 l_array_source_47 t_array_source_47;
194073 l_array_source_48 t_array_source_48;
194074 l_array_source_49 t_array_source_49;
194075 l_array_source_50 t_array_source_50;
194076 l_array_source_51 t_array_source_51;
194077 l_array_source_52 t_array_source_52;
194078 l_array_source_53 t_array_source_53;
194079 l_array_source_54 t_array_source_54;
194080 l_array_source_56 t_array_source_56;
194081 l_array_source_57 t_array_source_57;
194082 l_array_source_58 t_array_source_58;
194083 l_array_source_59 t_array_source_59;
194084 l_array_source_60 t_array_source_60;
194085 l_array_source_61 t_array_source_61;
194086 l_array_source_62 t_array_source_62;
194087 l_array_source_63 t_array_source_63;
194088 l_array_source_64 t_array_source_64;
194089 l_array_source_65 t_array_source_65;
194090 l_array_source_66 t_array_source_66;
194091 l_array_source_67 t_array_source_67;
194092 l_array_source_68 t_array_source_68;
194093 l_array_source_68_meaning t_array_lookup_meaning;
194094 l_array_source_72 t_array_source_72;
194095 l_array_source_73 t_array_source_73;
194096 l_array_source_74 t_array_source_74;
194097 l_array_source_75 t_array_source_75;
194098 l_array_source_76 t_array_source_76;
194099 l_array_source_77 t_array_source_77;
194100 l_array_source_78 t_array_source_78;
194101 l_array_source_79 t_array_source_79;
194102 l_array_source_80 t_array_source_80;
194103 l_array_source_81 t_array_source_81;
194104 l_array_source_82 t_array_source_82;
194105 l_array_source_83 t_array_source_83;
194106 l_array_source_84 t_array_source_84;
194107 l_array_source_84_meaning t_array_lookup_meaning;
194108 l_array_source_85 t_array_source_85;
194109 l_array_source_87 t_array_source_87;
194110 l_array_source_87_meaning t_array_lookup_meaning;
194111 l_array_source_88 t_array_source_88;
194112 l_array_source_135 t_array_source_135;
194113 l_array_source_135_meaning t_array_lookup_meaning;
194114 l_array_source_143 t_array_source_143;
194115 l_array_source_144 t_array_source_144;
194116 l_array_source_161 t_array_source_161;
194117 l_array_source_162 t_array_source_162;
194118 l_array_source_163 t_array_source_163;
194119 l_array_source_164 t_array_source_164;
194120
194121 --
194122 CURSOR header_cur
194123 IS
194124 SELECT /*+ leading(xet) cardinality(xet,1) */
194125 -- Event Class Code: INVOICES
194126 xet.entity_id
194127 ,xet.legal_entity_id
194128 ,xet.entity_code
194132 ,xet.event_type_code
194129 ,xet.transaction_number
194130 ,xet.event_id
194131 ,xet.event_class_code
194133 ,xet.event_number
194134 ,xet.event_date
194135 ,xet.transaction_date
194136 ,xet.reference_num_1
194137 ,xet.reference_num_2
194138 ,xet.reference_num_3
194139 ,xet.reference_num_4
194140 ,xet.reference_char_1
194141 ,xet.reference_char_2
194142 ,xet.reference_char_3
194143 ,xet.reference_char_4
194144 ,xet.reference_date_1
194145 ,xet.reference_date_2
194146 ,xet.reference_date_3
194147 ,xet.reference_date_4
194148 ,xet.event_created_by
194149 ,xet.budgetary_control_flag
194150 , h4.ASP_AUTOMATIC_OFFSETS_VALUE source_3
194151 , fvl3.meaning source_3_meaning
194152 , h4.ASP_RATE_VAR_GAIN_CCID source_8
194153 , h4.ASP_RATE_VAR_LOSS_CCID source_11
194154 , h2.AI_ACCTS_PAY_CCID source_22
194155 , h4.FSP_RETAINAGE_ACCOUNT source_28
194156 , h4.ASP_AUTO_OFFSET_FLAG source_35
194157 , fvl35.meaning source_35_meaning
194158 , h2.AI_INVOICE_ID source_46
194159 , h2.AI_INVOICE_CURRENCY_CODE source_55
194160 , h2.AI_VENDOR_ID source_69
194161 , h2.AI_VENDOR_SITE_ID source_70
194162 , h2.THIRD_PARTY_TYPE source_71
194163 , h4.FSP_PURCH_ENCUMBRANCE_FLAG source_86
194164 , fvl86.meaning source_86_meaning
194165 , h2.INV_EXCHANGE_DATE source_136
194166 , h2.INV_EXCHANGE_RATE source_137
194167 , h2.INV_EXCHANGE_RATE_TYPE source_138
194168 , h2.AI_INVOICE_TYPE_LOOKUP_CODE source_159
194169 , fvl159.meaning source_159_meaning
194170 , h2.INV_DOC_SEQUENCE_CATEGORY source_165
194171 , h2.INV_DOC_SEQUENCE_IDENTIFIER source_166
194172 , h2.INV_DOC_SEQUENCE_VALUE source_167
194173 FROM xla_events_gt xet
194174 , AP_INVOICE_EXTRACT_HEADER_V h2
194175 , AP_SYSTEM_PARAMETERS_EXTRACT_V h4
194176 , fnd_lookup_values fvl3
194177 , fnd_lookup_values fvl35
194178 , fnd_lookup_values fvl86
194179 , fnd_lookup_values fvl159
194180 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
194181 and xet.event_class_code = C_EVENT_CLASS_CODE
194182 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
194183 AND h4.asp_org_id = h2.ai_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
194184 AND fvl3.lookup_code(+) = h4.ASP_AUTOMATIC_OFFSETS_VALUE
194185 AND fvl3.view_application_id(+) = 200
194186 AND fvl3.language(+) = USERENV('LANG')
194187 AND fvl35.lookup_type(+) = 'YES_NO'
194188 AND fvl35.lookup_code(+) = h4.ASP_AUTO_OFFSET_FLAG
194189 AND fvl35.view_application_id(+) = 0
194190 AND fvl35.language(+) = USERENV('LANG')
194191 AND fvl86.lookup_type(+) = 'YES_NO'
194192 AND fvl86.lookup_code(+) = h4.FSP_PURCH_ENCUMBRANCE_FLAG
194193 AND fvl86.view_application_id(+) = 0
194194 AND fvl86.language(+) = USERENV('LANG')
194195 AND fvl159.lookup_type(+) = 'INVOICE TYPE'
194196 AND fvl159.lookup_code(+) = h2.AI_INVOICE_TYPE_LOOKUP_CODE
194197 AND fvl159.view_application_id(+) = 200
194198 AND fvl159.language(+) = USERENV('LANG')
194199
194200 ORDER BY event_id
194201 ;
194202
194203
194204 --
194205 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
194206 IS
194207 SELECT /*+ leading(xet) cardinality(xet,1) */
194208 -- Event Class Code: INVOICES
194209 xet.entity_id
194210 ,xet.legal_entity_id
194211 ,xet.entity_code
194212 ,xet.transaction_number
194213 ,xet.event_id
194214 ,xet.event_class_code
194215 ,xet.event_type_code
194216 ,xet.event_number
194217 ,xet.event_date
194218 ,xet.transaction_date
194219 ,xet.reference_num_1
194220 ,xet.reference_num_2
194221 ,xet.reference_num_3
194222 ,xet.reference_num_4
194223 ,xet.reference_char_1
194224 ,xet.reference_char_2
194225 ,xet.reference_char_3
194226 ,xet.reference_char_4
194227 ,xet.reference_date_1
194228 ,xet.reference_date_2
194229 ,xet.reference_date_3
194230 ,xet.reference_date_4
194231 ,xet.event_created_by
194232 ,xet.budgetary_control_flag
194233 , l1.LINE_NUMBER
194234 , l1.AID_DESCRIPTION source_1
194235 , l1.INV_DIST_BASE_AMOUNT source_9
194236 , l1.RELATED_INV_DIST_DEST_TYPE source_10
194237 , fvl10.meaning source_10_meaning
194238 , l1.AID_DIST_CCID source_18
194239 , l1.AID_LINE_TYPE_LOOKUP_CODE source_21
194240 , fvl21.meaning source_21_meaning
194241 , l1.AID_RET_RELATED_DIST_CCID source_30
194242 , l1.AWT_RELATED_DIST_ACCOUNT source_31
194243 , l1.SELF_ASSESSED_TAX_ACCOUNT source_38
194244 , l1.ASAT_LIAB_CCID source_39
194245 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_41
194246 , l1.DISTRIBUTION_LINK_TYPE source_43
194247 , l1.ALLOC_TO_MAIN_DIST_ID source_45
194248 , l1.BUS_FLOW_PO_APP_ID source_47
194249 , l1.BUS_FLOW_PO_DIST_TYPE source_48
194250 , l1.BUS_FLOW_PO_ENTITY_CODE source_49
194251 , l1.BUS_FLOW_PO_DIST_ID source_50
194252 , l1.BUS_FLOW_PO_DOC_ID source_51
194253 , l1.AID_INVOICE_DIST_ID source_52
194254 , l1.UPG_ENC_CR_CCID source_53
194255 , l1.UPG_ENC_CR_AMT source_54
194256 , l1.UPG_ENC_CR_BASE_AMT source_56
194257 , l1.UPG_ENC_DR_CCID source_57
194258 , l1.UPG_ENC_DR_AMT source_58
194259 , l1.UPG_ENC_DR_BASE_AMT source_59
194260 , l1.UPG_AP_ENCUM_OPTION source_60
194264 , l3.POH_RATE_TYPE source_64
194261 , l1.AID_AMOUNT source_61
194262 , l3.POH_RATE_DATE source_62
194263 , l3.POH_RATE source_63
194265 , l1.DEFERRED_END_DATE source_65
194266 , l1.DEFERRED_OPTION source_66
194267 , l1.DEFERRED_START_DATE source_67
194268 , l1.OVERRIDE_ACCTD_AMT_FLAG source_68
194269 , fvl68.meaning source_68_meaning
194270 , l1.AID_PARENT_REVERSAL_ID source_72
194271 , l1.AID_STAT_AMOUNT source_73
194272 , l5.TAX_LINE_ID source_74
194273 , l6.REC_NREC_TAX_DIST_ID source_75
194274 , l1.SUMMARY_TAX_LINE_ID source_76
194275 , l1.UPG_CR_ENC_TYPE_ID source_77
194276 , l1.UPG_DR_ENC_TYPE_ID source_78
194277 , l1.BUS_FLOW_AP_APP_ID source_79
194278 , l1.BUS_FLOW_INV_DIST_TYPE source_80
194279 , l1.BUS_FLOW_INV_ENTITY_CODE source_81
194280 , l1.BUS_FLOW_INV_DIST_ID source_82
194281 , l1.BUS_FLOW_INV_ID source_83
194282 , l1.POD_ACCRUE_ON_RECEIPT_FLAG source_84
194283 , fvl84.meaning source_84_meaning
194284 , l1.AID_AMOUNT_VARIANCE source_85
194285 , l1.AID_ENCUMBERED_FLAG source_87
194286 , fvl87.meaning source_87_meaning
194287 , l1.AID_BASE_AMOUNT_VARIANCE source_88
194288 , l1.SELF_ASSESSED_TAX_FLAG source_135
194289 , fvl135.meaning source_135_meaning
194290 , l1.ENCUMBRANCE_AMOUNT source_143
194291 , l1.ENCUMBRANCE_BASE_AMOUNT source_144
194292 , l1.AID_QUANTITY_VARIANCE source_161
194293 , l1.AID_BASE_QUANTITY_VARIANCE source_162
194294 , l1.BUS_FLOW_RET_INV_DIST_ID source_163
194295 , l1.BUS_FLOW_RET_INV_ID source_164
194296 FROM xla_events_gt xet
194297 , AP_INVOICE_EXTRACT_DETAILS_V l1
194298 , AP_PO_HEADERS_EXTRACT_V l3
194299 , ZX_AP_DEF_TAX_EXTRACT_V l5
194300 , ZX_AP_TAX_JRNL_LINE_DESC_V l6
194301 , fnd_lookup_values fvl10
194302 , fnd_lookup_values fvl21
194303 , fnd_lookup_values fvl68
194304 , fnd_lookup_values fvl84
194305 , fnd_lookup_values fvl87
194306 , fnd_lookup_values fvl135
194307 WHERE xet.event_id between x_first_event_id and x_last_event_id
194308 and xet.event_date between p_pad_start_date and p_pad_end_date
194309 and xet.event_class_code = C_EVENT_CLASS_CODE
194310 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
194311 AND l1.POD_PO_Header_Id = l3.PO_Header_Id (+) AND l1.ZRND_tax_dist_id = l5.REC_NREC_TAX_DIST_ID (+) AND l1.ZRND_tax_dist_id = l6.REC_NREC_TAX_DIST_ID (+) AND fvl10.lookup_type(+) = 'DESTINATION TYPE'
194312 AND fvl10.lookup_code(+) = l1.RELATED_INV_DIST_DEST_TYPE
194313 AND fvl10.view_application_id(+) = 201
194314 AND fvl10.language(+) = USERENV('LANG')
194315 AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
194316 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
194317 AND fvl21.view_application_id(+) = 200
194318 AND fvl21.language(+) = USERENV('LANG')
194319 AND fvl68.lookup_type(+) = 'YES_NO'
194320 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
194321 AND fvl68.view_application_id(+) = 0
194322 AND fvl68.language(+) = USERENV('LANG')
194323 AND fvl84.lookup_type(+) = 'YES_NO'
194324 AND fvl84.lookup_code(+) = l1.POD_ACCRUE_ON_RECEIPT_FLAG
194325 AND fvl84.view_application_id(+) = 0
194326 AND fvl84.language(+) = USERENV('LANG')
194327 AND fvl87.lookup_type(+) = 'YES_NO'
194328 AND fvl87.lookup_code(+) = l1.AID_ENCUMBERED_FLAG
194329 AND fvl87.view_application_id(+) = 0
194330 AND fvl87.language(+) = USERENV('LANG')
194331 AND fvl135.lookup_type(+) = 'YES_NO'
194332 AND fvl135.lookup_code(+) = l1.SELF_ASSESSED_TAX_FLAG
194333 AND fvl135.view_application_id(+) = 0
194334 AND fvl135.language(+) = USERENV('LANG')
194335 ;
194336
194337 --
194338 BEGIN
194339 IF g_log_enabled THEN
194340 l_log_module := C_DEFAULT_MODULE||'.EventClass_294';
194341 END IF;
194342 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
194343 trace
194344 (p_msg => 'BEGIN of EventClass_294'
194345 ,p_level => C_LEVEL_PROCEDURE
194346 ,p_module => l_log_module);
194347 END IF;
194348
194349 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
194350 trace
194351 (p_msg => 'p_application_id = '||p_application_id||
194352 ' - p_base_ledger_id = '||p_base_ledger_id||
194353 ' - p_target_ledger_id = '||p_target_ledger_id||
194354 ' - p_language = '||p_language||
194355 ' - p_currency_code = '||p_currency_code||
194356 ' - p_sla_ledger_id = '||p_sla_ledger_id
194357 ,p_level => C_LEVEL_STATEMENT
194358 ,p_module => l_log_module);
194359 END IF;
194360 --
194361 -- initialze arrays
194362 --
194363 g_array_event.DELETE;
194364 l_rec_array_event := l_null_rec_array_event;
194365 --
194366 --------------------------------------
194367 -- 4262811 Initialze MPA Line Number
194368 --------------------------------------
194369 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
194370
194371 --
194372
194373 --
194374 OPEN header_cur;
194375 --
194376 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
194377 trace
194378 (p_msg => 'SQL - FETCH header_cur'
194379 ,p_level => C_LEVEL_STATEMENT
194380 ,p_module => l_log_module);
194381 END IF;
194382 --
194383 LOOP
194384 FETCH header_cur BULK COLLECT INTO
194385 l_array_entity_id
194389 , l_array_event_id
194386 , l_array_legal_entity_id
194387 , l_array_entity_code
194388 , l_array_transaction_num
194390 , l_array_class_code
194391 , l_array_event_type
194392 , l_array_event_number
194393 , l_array_event_date
194394 , l_array_transaction_date
194395 , l_array_reference_num_1
194396 , l_array_reference_num_2
194397 , l_array_reference_num_3
194398 , l_array_reference_num_4
194399 , l_array_reference_char_1
194400 , l_array_reference_char_2
194401 , l_array_reference_char_3
194402 , l_array_reference_char_4
194403 , l_array_reference_date_1
194404 , l_array_reference_date_2
194405 , l_array_reference_date_3
194406 , l_array_reference_date_4
194407 , l_array_event_created_by
194408 , l_array_budgetary_control_flag
194409 , l_array_source_3
194410 , l_array_source_3_meaning
194411 , l_array_source_8
194412 , l_array_source_11
194413 , l_array_source_22
194414 , l_array_source_28
194415 , l_array_source_35
194416 , l_array_source_35_meaning
194417 , l_array_source_46
194418 , l_array_source_55
194419 , l_array_source_69
194420 , l_array_source_70
194421 , l_array_source_71
194422 , l_array_source_86
194423 , l_array_source_86_meaning
194424 , l_array_source_136
194425 , l_array_source_137
194426 , l_array_source_138
194427 , l_array_source_159
194428 , l_array_source_159_meaning
194429 , l_array_source_165
194430 , l_array_source_166
194431 , l_array_source_167
194432 LIMIT l_rows;
194433 --
194434 IF (C_LEVEL_EVENT >= g_log_level) THEN
194435 trace
194436 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
194437 ,p_level => C_LEVEL_EVENT
194438 ,p_module => l_log_module);
194439 END IF;
194440 --
194441 EXIT WHEN l_array_entity_id.COUNT = 0;
194442
194443 -- initialize arrays
194444 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
194445 XLA_AE_LINES_PKG.g_rec_lines := NULL;
194446
194447 --
194448 -- Bug 4458708
194449 --
194450 XLA_AE_LINES_PKG.g_LineNumber := 0;
194451
194452
194453 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
194454 g_last_hdr_idx := l_array_event_id.LAST;
194455 --
194456 -- loop for the headers. Each iteration is for each header extract row
194457 -- fetched in header cursor
194458 --
194459 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
194460
194461 --
194462 -- set event info as cache for other routines to refer event attributes
194463 --
194464 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
194465 (p_application_id => p_application_id
194466 ,p_primary_ledger_id => p_primary_ledger_id
194467 ,p_base_ledger_id => p_base_ledger_id
194468 ,p_target_ledger_id => p_target_ledger_id
194469 ,p_entity_id => l_array_entity_id(hdr_idx)
194470 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
194471 ,p_entity_code => l_array_entity_code(hdr_idx)
194472 ,p_transaction_num => l_array_transaction_num(hdr_idx)
194473 ,p_event_id => l_array_event_id(hdr_idx)
194474 ,p_event_class_code => l_array_class_code(hdr_idx)
194475 ,p_event_type_code => l_array_event_type(hdr_idx)
194476 ,p_event_number => l_array_event_number(hdr_idx)
194477 ,p_event_date => l_array_event_date(hdr_idx)
194478 ,p_transaction_date => l_array_transaction_date(hdr_idx)
194479 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
194480 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
194481 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
194482 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
194483 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
194484 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
194485 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
194486 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
194487 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
194488 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
194489 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
194490 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
194491 ,p_event_created_by => l_array_event_created_by(hdr_idx)
194492 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
194493
194494 --
194495 -- set the status of entry to C_VALID (0)
194496 --
194497 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
194498
194499 --
194500 -- initialize a row for ae header
194501 --
194502 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
194503
194504 l_event_id := l_array_event_id(hdr_idx);
194505
194506 --
194507 -- storing the hdr_idx for event. May be used by line cursor.
194508 --
194509 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
194510
194511 --
194512 -- store sources from header extract. This can be improved to
194513 -- store only those sources from header extract that may be used in lines
194514 --
194515
194516 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
194520 g_array_event(l_event_id).array_value_num('source_22') := l_array_source_22(hdr_idx);
194517 g_array_event(l_event_id).array_value_char('source_3_meaning') := l_array_source_3_meaning(hdr_idx);
194518 g_array_event(l_event_id).array_value_num('source_8') := l_array_source_8(hdr_idx);
194519 g_array_event(l_event_id).array_value_num('source_11') := l_array_source_11(hdr_idx);
194521 g_array_event(l_event_id).array_value_num('source_28') := l_array_source_28(hdr_idx);
194522 g_array_event(l_event_id).array_value_char('source_35') := l_array_source_35(hdr_idx);
194523 g_array_event(l_event_id).array_value_char('source_35_meaning') := l_array_source_35_meaning(hdr_idx);
194524 g_array_event(l_event_id).array_value_num('source_46') := l_array_source_46(hdr_idx);
194525 g_array_event(l_event_id).array_value_char('source_55') := l_array_source_55(hdr_idx);
194526 g_array_event(l_event_id).array_value_num('source_69') := l_array_source_69(hdr_idx);
194527 g_array_event(l_event_id).array_value_num('source_70') := l_array_source_70(hdr_idx);
194528 g_array_event(l_event_id).array_value_char('source_71') := l_array_source_71(hdr_idx);
194529 g_array_event(l_event_id).array_value_char('source_86') := l_array_source_86(hdr_idx);
194530 g_array_event(l_event_id).array_value_char('source_86_meaning') := l_array_source_86_meaning(hdr_idx);
194531 g_array_event(l_event_id).array_value_date('source_136') := l_array_source_136(hdr_idx);
194532 g_array_event(l_event_id).array_value_num('source_137') := l_array_source_137(hdr_idx);
194533 g_array_event(l_event_id).array_value_char('source_138') := l_array_source_138(hdr_idx);
194534 g_array_event(l_event_id).array_value_char('source_159') := l_array_source_159(hdr_idx);
194535 g_array_event(l_event_id).array_value_char('source_159_meaning') := l_array_source_159_meaning(hdr_idx);
194536 g_array_event(l_event_id).array_value_char('source_165') := l_array_source_165(hdr_idx);
194537 g_array_event(l_event_id).array_value_num('source_166') := l_array_source_166(hdr_idx);
194538 g_array_event(l_event_id).array_value_num('source_167') := l_array_source_167(hdr_idx);
194539
194540 --
194541 -- initilaize the status of ae headers for diffrent balance types
194542 -- the status is initialised to C_NOT_CREATED (2)
194543 --
194544 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
194545 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
194546 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
194547
194548 --
194549 -- call api to validate and store accounting attributes for header
194550 --
194551
194552 ------------------------------------------------------------
194553 -- Accrual Reversal : to get date for Standard Source (NONE)
194554 ------------------------------------------------------------
194555 l_acc_rev_gl_date_source := NULL;
194556
194557 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
194558 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_165');
194559 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
194560 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_166');
194561 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
194562 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_167');
194563 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
194564 l_rec_acct_attrs.array_date_value(4) :=
194565 xla_ae_sources_pkg.GetSystemSourceDate(
194566 p_source_code => 'XLA_EVENT_DATE'
194567 , p_source_type_code => 'Y'
194568 , p_source_application_id => 602
194569 );
194570
194571
194572 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
194573
194574 XLA_AE_HEADER_PKG.SetJeCategoryName;
194575
194576 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
194577 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
194578 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
194579 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
194580 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
194581
194582
194583 --
194584 xla_ae_header_pkg.SetHdrDescription(
194585 p_description => Description_1 (
194586 p_application_id => p_application_id
194587 )
194588 );
194589 --
194590
194591 -- No header level analytical criteria
194592
194593 --
194594 --accounting attribute enhancement, bug 3612931
194595 --
194596 l_trx_reversal_source := SUBSTR(NULL, 1,30);
194597
194598 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
194599 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
194600
194601 xla_accounting_err_pkg.build_message
194602 (p_appli_s_name => 'XLA'
194603 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
194604 ,p_token_1 => 'ACCT_ATTR_NAME'
194605 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
194606 ,p_token_2 => 'PRODUCT_NAME'
194607 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
194608 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
194609 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
194610 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
194611
194615 -- accounting for a distributeion
194612 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
194613 --
194614 -- following sets the accounting attributes needed to reverse
194616 --
194617 xla_ae_lines_pkg.SetTrxReversalAttrs
194618 (p_event_id => l_event_id
194619 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
194620 ,p_trx_reversal_source => l_trx_reversal_source);
194621
194622 END IF;
194623
194624
194625 ----------------------------------------------------------------
194626 -- 4262811 - update the header statuses to invalid in need be
194627 ----------------------------------------------------------------
194628 --
194629 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
194630
194631
194632 -----------------------------------------------
194633 -- No accrual reversal for the event class/type
194634 -----------------------------------------------
194635 ----------------------------------------------------------------
194636
194637 --
194638 -- this ends the header loop iteration for one bulk fetch
194639 --
194640 END LOOP;
194641
194642 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
194643 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
194644
194645 --
194646 -- insert dummy rows into lines gt table that were created due to
194647 -- transaction reversals
194648 --
194649 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
194650 l_result := XLA_AE_LINES_PKG.InsertLines;
194651 END IF;
194652
194653 --
194654 -- reset the temp_line_num for each set of events fetched from header
194655 -- cursor rather than doing it for each new event in line cursor
194656 -- Bug 3939231
194657 --
194658 xla_ae_lines_pkg.g_temp_line_num := 0;
194659
194660
194661
194662 --
194663 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
194664 --
194665 --
194666 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
194667
194668 trace
194669 (p_msg => 'SQL - FETCH line_cur'
194670 ,p_level => C_LEVEL_STATEMENT
194671 ,p_module => l_log_module);
194672
194673 END IF;
194674 --
194675 --
194676 LOOP
194677 --
194678 FETCH line_cur BULK COLLECT INTO
194679 l_array_entity_id
194680 , l_array_legal_entity_id
194681 , l_array_entity_code
194682 , l_array_transaction_num
194683 , l_array_event_id
194684 , l_array_class_code
194685 , l_array_event_type
194686 , l_array_event_number
194687 , l_array_event_date
194688 , l_array_transaction_date
194689 , l_array_reference_num_1
194690 , l_array_reference_num_2
194691 , l_array_reference_num_3
194692 , l_array_reference_num_4
194693 , l_array_reference_char_1
194694 , l_array_reference_char_2
194695 , l_array_reference_char_3
194696 , l_array_reference_char_4
194697 , l_array_reference_date_1
194698 , l_array_reference_date_2
194699 , l_array_reference_date_3
194700 , l_array_reference_date_4
194701 , l_array_event_created_by
194702 , l_array_budgetary_control_flag
194703 , l_array_extract_line_num
194704 , l_array_source_1
194705 , l_array_source_9
194706 , l_array_source_10
194707 , l_array_source_10_meaning
194708 , l_array_source_18
194709 , l_array_source_21
194710 , l_array_source_21_meaning
194711 , l_array_source_30
194712 , l_array_source_31
194713 , l_array_source_38
194714 , l_array_source_39
194715 , l_array_source_41
194716 , l_array_source_43
194717 , l_array_source_45
194718 , l_array_source_47
194719 , l_array_source_48
194720 , l_array_source_49
194721 , l_array_source_50
194722 , l_array_source_51
194723 , l_array_source_52
194724 , l_array_source_53
194725 , l_array_source_54
194726 , l_array_source_56
194727 , l_array_source_57
194728 , l_array_source_58
194729 , l_array_source_59
194730 , l_array_source_60
194731 , l_array_source_61
194732 , l_array_source_62
194733 , l_array_source_63
194734 , l_array_source_64
194735 , l_array_source_65
194736 , l_array_source_66
194737 , l_array_source_67
194738 , l_array_source_68
194739 , l_array_source_68_meaning
194740 , l_array_source_72
194741 , l_array_source_73
194742 , l_array_source_74
194743 , l_array_source_75
194744 , l_array_source_76
194745 , l_array_source_77
194746 , l_array_source_78
194747 , l_array_source_79
194748 , l_array_source_80
194749 , l_array_source_81
194750 , l_array_source_82
194751 , l_array_source_83
194752 , l_array_source_84
194753 , l_array_source_84_meaning
194754 , l_array_source_85
194755 , l_array_source_87
194756 , l_array_source_87_meaning
194757 , l_array_source_88
194758 , l_array_source_135
194759 , l_array_source_135_meaning
194760 , l_array_source_143
194761 , l_array_source_144
194762 , l_array_source_161
194763 , l_array_source_162
194764 , l_array_source_163
194765 , l_array_source_164
194769 IF (C_LEVEL_EVENT >= g_log_level) THEN
194766 LIMIT l_rows;
194767
194768 --
194770 trace
194771 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
194772 ,p_level => C_LEVEL_EVENT
194773 ,p_module => l_log_module);
194774 END IF;
194775 --
194776 EXIT WHEN l_array_entity_id.count = 0;
194777
194778 XLA_AE_LINES_PKG.g_rec_lines := null;
194779
194780 --
194781 -- Bug 4458708
194782 --
194783 XLA_AE_LINES_PKG.g_LineNumber := 0;
194784 --
194785 --
194786
194787 FOR Idx IN 1..l_array_event_id.count LOOP
194788 --
194789 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
194790 --
194791 l_event_id := l_array_event_id(idx); -- 5648433
194792
194793 --
194794 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
194795 --
194796
194797 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
194798 (g_array_event(l_event_id).array_value_num('header_index'))
194799 ,'N'
194800 ) <> 'Y'
194801 THEN
194802 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
194803 trace
194804 (p_msg => 'Trancaction revesal option is not Y '
194805 ,p_level => C_LEVEL_STATEMENT
194806 ,p_module => l_log_module);
194807 END IF;
194808
194809 --
194810 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
194811 --
194812 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
194813 --
194814 -- set event info as cache for other routines to refer event attributes
194815 --
194816
194817 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
194818 l_previous_event_id := l_event_id;
194819
194820 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
194821 (p_application_id => p_application_id
194822 ,p_primary_ledger_id => p_primary_ledger_id
194823 ,p_base_ledger_id => p_base_ledger_id
194824 ,p_target_ledger_id => p_target_ledger_id
194825 ,p_entity_id => l_array_entity_id(Idx)
194826 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
194827 ,p_entity_code => l_array_entity_code(Idx)
194828 ,p_transaction_num => l_array_transaction_num(Idx)
194829 ,p_event_id => l_array_event_id(Idx)
194830 ,p_event_class_code => l_array_class_code(Idx)
194831 ,p_event_type_code => l_array_event_type(Idx)
194832 ,p_event_number => l_array_event_number(Idx)
194833 ,p_event_date => l_array_event_date(Idx)
194834 ,p_transaction_date => l_array_transaction_date(Idx)
194835 ,p_reference_num_1 => l_array_reference_num_1(Idx)
194836 ,p_reference_num_2 => l_array_reference_num_2(Idx)
194837 ,p_reference_num_3 => l_array_reference_num_3(Idx)
194838 ,p_reference_num_4 => l_array_reference_num_4(Idx)
194839 ,p_reference_char_1 => l_array_reference_char_1(Idx)
194840 ,p_reference_char_2 => l_array_reference_char_2(Idx)
194841 ,p_reference_char_3 => l_array_reference_char_3(Idx)
194842 ,p_reference_char_4 => l_array_reference_char_4(Idx)
194843 ,p_reference_date_1 => l_array_reference_date_1(Idx)
194844 ,p_reference_date_2 => l_array_reference_date_2(Idx)
194845 ,p_reference_date_3 => l_array_reference_date_3(Idx)
194846 ,p_reference_date_4 => l_array_reference_date_4(Idx)
194847 ,p_event_created_by => l_array_event_created_by(Idx)
194848 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
194849 --
194850 END IF;
194851
194852
194853
194854 --
194855 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
194856
194857 l_acct_reversal_source := SUBSTR(l_array_source_41(Idx), 1,30);
194858
194859 IF l_continue_with_lines THEN
194860 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
194861 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
194862
194863 xla_accounting_err_pkg.build_message
194864 (p_appli_s_name => 'XLA'
194865 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
194866 ,p_token_1 => 'LINE_NUMBER'
194867 ,p_value_1 => l_array_extract_line_num(Idx)
194868 ,p_token_2 => 'PRODUCT_NAME'
194869 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
194870 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
194871 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
194872 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
194873
194874 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
194875 --
194876 -- following sets the accounting attributes needed to reverse
194877 -- accounting for a distributeion
194878 --
194879
194880 --
194881 -- 5217187
194882 --
194883 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
194884 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
194885 g_array_event(l_event_id).array_value_num('header_index'));
194889 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
194886 --
194887 --
194888
194890 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_41(Idx);
194891 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
194892 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_52(Idx);
194893 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
194894 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_43(Idx);
194895 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'ENC_UPG_CR_CCID';
194896 l_rec_rev_acct_attrs.array_num_value(5) := l_array_source_53(Idx);
194897 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ENTERED_AMT';
194898 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_54(Idx);
194899 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_ENTERED_CURR';
194900 l_rec_rev_acct_attrs.array_char_value(7) := g_array_event(l_event_id).array_value_char('source_55');
194901 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_LEDGER_AMT';
194902 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_56(Idx);
194903 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_DR_CCID';
194904 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_57(Idx);
194905 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_DR_ENTERED_AMT';
194906 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_58(Idx);
194907 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ENTERED_CURR';
194908 l_rec_rev_acct_attrs.array_char_value(11) := g_array_event(l_event_id).array_value_char('source_55');
194909 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_LEDGER_AMT';
194910 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_59(Idx);
194911 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_OPTION';
194912 l_rec_rev_acct_attrs.array_char_value(13) := l_array_source_60(Idx);
194913 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'PARTY_TYPE';
194914 l_rec_rev_acct_attrs.array_char_value(14) := g_array_event(l_event_id).array_value_char('source_71');
194915 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'REVERSED_DISTRIBUTION_ID1';
194916 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_72(Idx);
194917 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'REVERSED_DISTRIBUTION_TYPE';
194918 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_43(Idx);
194919 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'TAX_LINE_REF_ID';
194920 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_74(Idx);
194921 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'TAX_REC_NREC_DIST_REF_ID';
194922 l_rec_rev_acct_attrs.array_num_value(18) := l_array_source_75(Idx);
194923 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'TAX_SUMMARY_LINE_REF_ID';
194924 l_rec_rev_acct_attrs.array_num_value(19) := l_array_source_76(Idx);
194925 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
194926 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_77(Idx);
194927 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
194928 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_78(Idx);
194929
194930
194931 xla_ae_lines_pkg.SetAcctReversalAttrs
194932 (p_event_id => l_event_id
194933 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
194934 ,p_calculate_acctd_flag => l_calculate_acctd_flag
194935 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
194936 END IF;
194937
194938 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
194939 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
194940
194941 --
194942 AcctLineType_49 (
194943 p_application_id => p_application_id
194944 ,p_event_id => l_event_id
194945 ,p_calculate_acctd_flag => l_calculate_acctd_flag
194946 ,p_calculate_g_l_flag => l_calculate_g_l_flag
194947 ,p_actual_flag => l_actual_flag
194948 ,p_balance_type_code => l_balance_type_code
194949 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
194950
194951 , p_source_1 => l_array_source_1(Idx)
194952 , p_source_9 => l_array_source_9(Idx)
194953 , p_source_18 => l_array_source_18(Idx)
194954 , p_source_21 => l_array_source_21(Idx)
194955 , p_source_21_meaning => l_array_source_21_meaning(Idx)
194956 , p_source_41 => l_array_source_41(Idx)
194957 , p_source_43 => l_array_source_43(Idx)
194958 , p_source_45 => l_array_source_45(Idx)
194959 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
194960 , p_source_47 => l_array_source_47(Idx)
194961 , p_source_48 => l_array_source_48(Idx)
194962 , p_source_49 => l_array_source_49(Idx)
194963 , p_source_50 => l_array_source_50(Idx)
194964 , p_source_51 => l_array_source_51(Idx)
194965 , p_source_52 => l_array_source_52(Idx)
194966 , p_source_53 => l_array_source_53(Idx)
194967 , p_source_54 => l_array_source_54(Idx)
194968 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
194969 , p_source_56 => l_array_source_56(Idx)
194970 , p_source_57 => l_array_source_57(Idx)
194971 , p_source_58 => l_array_source_58(Idx)
194972 , p_source_59 => l_array_source_59(Idx)
194973 , p_source_60 => l_array_source_60(Idx)
194974 , p_source_61 => l_array_source_61(Idx)
194975 , p_source_62 => l_array_source_62(Idx)
194976 , p_source_63 => l_array_source_63(Idx)
194977 , p_source_64 => l_array_source_64(Idx)
194978 , p_source_65 => l_array_source_65(Idx)
194982 , p_source_68_meaning => l_array_source_68_meaning(Idx)
194979 , p_source_66 => l_array_source_66(Idx)
194980 , p_source_67 => l_array_source_67(Idx)
194981 , p_source_68 => l_array_source_68(Idx)
194983 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
194984 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
194985 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
194986 , p_source_72 => l_array_source_72(Idx)
194987 , p_source_73 => l_array_source_73(Idx)
194988 , p_source_74 => l_array_source_74(Idx)
194989 , p_source_75 => l_array_source_75(Idx)
194990 , p_source_76 => l_array_source_76(Idx)
194991 , p_source_77 => l_array_source_77(Idx)
194992 , p_source_78 => l_array_source_78(Idx)
194993 );
194994 If(l_balance_type_code = 'A') THEN
194995 l_actual_gain_loss_ref := l_gain_or_loss_ref;
194996 END IF;
194997
194998 --
194999
195000
195001 --
195002 AcctLineType_53 (
195003 p_application_id => p_application_id
195004 ,p_event_id => l_event_id
195005 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195006 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195007 ,p_actual_flag => l_actual_flag
195008 ,p_balance_type_code => l_balance_type_code
195009 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195010
195011 , p_source_1 => l_array_source_1(Idx)
195012 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
195013 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
195014 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
195015 , p_source_9 => l_array_source_9(Idx)
195016 , p_source_10 => l_array_source_10(Idx)
195017 , p_source_10_meaning => l_array_source_10_meaning(Idx)
195018 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
195019 , p_source_18 => l_array_source_18(Idx)
195020 , p_source_21 => l_array_source_21(Idx)
195021 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195022 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
195023 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
195024 , p_source_41 => l_array_source_41(Idx)
195025 , p_source_43 => l_array_source_43(Idx)
195026 , p_source_45 => l_array_source_45(Idx)
195027 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195028 , p_source_52 => l_array_source_52(Idx)
195029 , p_source_53 => l_array_source_53(Idx)
195030 , p_source_54 => l_array_source_54(Idx)
195031 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195032 , p_source_56 => l_array_source_56(Idx)
195033 , p_source_57 => l_array_source_57(Idx)
195034 , p_source_58 => l_array_source_58(Idx)
195035 , p_source_59 => l_array_source_59(Idx)
195036 , p_source_60 => l_array_source_60(Idx)
195037 , p_source_61 => l_array_source_61(Idx)
195038 , p_source_65 => l_array_source_65(Idx)
195039 , p_source_66 => l_array_source_66(Idx)
195040 , p_source_67 => l_array_source_67(Idx)
195041 , p_source_68 => l_array_source_68(Idx)
195042 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195043 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195044 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195045 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195046 , p_source_72 => l_array_source_72(Idx)
195047 , p_source_73 => l_array_source_73(Idx)
195048 , p_source_74 => l_array_source_74(Idx)
195049 , p_source_75 => l_array_source_75(Idx)
195050 , p_source_76 => l_array_source_76(Idx)
195051 , p_source_77 => l_array_source_77(Idx)
195052 , p_source_78 => l_array_source_78(Idx)
195053 , p_source_79 => l_array_source_79(Idx)
195054 , p_source_80 => l_array_source_80(Idx)
195055 , p_source_81 => l_array_source_81(Idx)
195056 , p_source_82 => l_array_source_82(Idx)
195057 , p_source_83 => l_array_source_83(Idx)
195058 );
195059 If(l_balance_type_code = 'A') THEN
195060 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195061 END IF;
195062
195063 --
195064
195065
195066 --
195067 AcctLineType_57 (
195068 p_application_id => p_application_id
195069 ,p_event_id => l_event_id
195070 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195071 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195072 ,p_actual_flag => l_actual_flag
195073 ,p_balance_type_code => l_balance_type_code
195074 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195075
195076 , p_source_1 => l_array_source_1(Idx)
195077 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
195078 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
195079 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
195080 , p_source_9 => l_array_source_9(Idx)
195081 , p_source_10 => l_array_source_10(Idx)
195082 , p_source_10_meaning => l_array_source_10_meaning(Idx)
195083 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
195084 , p_source_18 => l_array_source_18(Idx)
195085 , p_source_21 => l_array_source_21(Idx)
195086 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195087 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
195088 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
195089 , p_source_41 => l_array_source_41(Idx)
195090 , p_source_43 => l_array_source_43(Idx)
195091 , p_source_45 => l_array_source_45(Idx)
195095 , p_source_54 => l_array_source_54(Idx)
195092 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195093 , p_source_52 => l_array_source_52(Idx)
195094 , p_source_53 => l_array_source_53(Idx)
195096 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195097 , p_source_56 => l_array_source_56(Idx)
195098 , p_source_57 => l_array_source_57(Idx)
195099 , p_source_58 => l_array_source_58(Idx)
195100 , p_source_59 => l_array_source_59(Idx)
195101 , p_source_60 => l_array_source_60(Idx)
195102 , p_source_61 => l_array_source_61(Idx)
195103 , p_source_65 => l_array_source_65(Idx)
195104 , p_source_66 => l_array_source_66(Idx)
195105 , p_source_67 => l_array_source_67(Idx)
195106 , p_source_68 => l_array_source_68(Idx)
195107 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195108 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195109 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195110 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195111 , p_source_72 => l_array_source_72(Idx)
195112 , p_source_73 => l_array_source_73(Idx)
195113 , p_source_74 => l_array_source_74(Idx)
195114 , p_source_75 => l_array_source_75(Idx)
195115 , p_source_76 => l_array_source_76(Idx)
195116 , p_source_77 => l_array_source_77(Idx)
195117 , p_source_78 => l_array_source_78(Idx)
195118 , p_source_79 => l_array_source_79(Idx)
195119 , p_source_80 => l_array_source_80(Idx)
195120 , p_source_81 => l_array_source_81(Idx)
195121 , p_source_82 => l_array_source_82(Idx)
195122 , p_source_83 => l_array_source_83(Idx)
195123 , p_source_84 => l_array_source_84(Idx)
195124 , p_source_84_meaning => l_array_source_84_meaning(Idx)
195125 );
195126 If(l_balance_type_code = 'A') THEN
195127 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195128 END IF;
195129
195130 --
195131
195132
195133 --
195134 AcctLineType_61 (
195135 p_application_id => p_application_id
195136 ,p_event_id => l_event_id
195137 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195138 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195139 ,p_actual_flag => l_actual_flag
195140 ,p_balance_type_code => l_balance_type_code
195141 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195142
195143 , p_source_21 => l_array_source_21(Idx)
195144 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195145 , p_source_41 => l_array_source_41(Idx)
195146 , p_source_43 => l_array_source_43(Idx)
195147 , p_source_45 => l_array_source_45(Idx)
195148 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195149 , p_source_52 => l_array_source_52(Idx)
195150 , p_source_53 => l_array_source_53(Idx)
195151 , p_source_54 => l_array_source_54(Idx)
195152 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195153 , p_source_56 => l_array_source_56(Idx)
195154 , p_source_57 => l_array_source_57(Idx)
195155 , p_source_58 => l_array_source_58(Idx)
195156 , p_source_59 => l_array_source_59(Idx)
195157 , p_source_60 => l_array_source_60(Idx)
195158 , p_source_61 => l_array_source_61(Idx)
195159 , p_source_65 => l_array_source_65(Idx)
195160 , p_source_66 => l_array_source_66(Idx)
195161 , p_source_67 => l_array_source_67(Idx)
195162 , p_source_68 => l_array_source_68(Idx)
195163 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195164 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195165 , p_source_72 => l_array_source_72(Idx)
195166 , p_source_73 => l_array_source_73(Idx)
195167 , p_source_74 => l_array_source_74(Idx)
195168 , p_source_75 => l_array_source_75(Idx)
195169 , p_source_76 => l_array_source_76(Idx)
195170 , p_source_77 => l_array_source_77(Idx)
195171 , p_source_78 => l_array_source_78(Idx)
195172 , p_source_79 => l_array_source_79(Idx)
195173 , p_source_80 => l_array_source_80(Idx)
195174 , p_source_81 => l_array_source_81(Idx)
195175 , p_source_82 => l_array_source_82(Idx)
195176 , p_source_83 => l_array_source_83(Idx)
195177 , p_source_84 => l_array_source_84(Idx)
195178 , p_source_84_meaning => l_array_source_84_meaning(Idx)
195179 , p_source_85 => l_array_source_85(Idx)
195180 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
195181 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
195182 , p_source_87 => l_array_source_87(Idx)
195183 , p_source_87_meaning => l_array_source_87_meaning(Idx)
195184 , p_source_88 => l_array_source_88(Idx)
195185 );
195186 If(l_balance_type_code = 'A') THEN
195187 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195188 END IF;
195189
195190 --
195191
195192
195193 --
195194 AcctLineType_115 (
195195 p_application_id => p_application_id
195196 ,p_event_id => l_event_id
195197 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195198 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195199 ,p_actual_flag => l_actual_flag
195200 ,p_balance_type_code => l_balance_type_code
195201 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195202
195203 , p_source_1 => l_array_source_1(Idx)
195204 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
195205 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
195206 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
195207 , p_source_9 => l_array_source_9(Idx)
195208 , p_source_10 => l_array_source_10(Idx)
195209 , p_source_10_meaning => l_array_source_10_meaning(Idx)
195213 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195210 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
195211 , p_source_18 => l_array_source_18(Idx)
195212 , p_source_21 => l_array_source_21(Idx)
195214 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
195215 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
195216 , p_source_41 => l_array_source_41(Idx)
195217 , p_source_43 => l_array_source_43(Idx)
195218 , p_source_45 => l_array_source_45(Idx)
195219 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195220 , p_source_52 => l_array_source_52(Idx)
195221 , p_source_53 => l_array_source_53(Idx)
195222 , p_source_54 => l_array_source_54(Idx)
195223 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195224 , p_source_56 => l_array_source_56(Idx)
195225 , p_source_57 => l_array_source_57(Idx)
195226 , p_source_58 => l_array_source_58(Idx)
195227 , p_source_59 => l_array_source_59(Idx)
195228 , p_source_60 => l_array_source_60(Idx)
195229 , p_source_61 => l_array_source_61(Idx)
195230 , p_source_65 => l_array_source_65(Idx)
195231 , p_source_66 => l_array_source_66(Idx)
195232 , p_source_67 => l_array_source_67(Idx)
195233 , p_source_68 => l_array_source_68(Idx)
195234 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195235 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195236 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195237 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195238 , p_source_72 => l_array_source_72(Idx)
195239 , p_source_73 => l_array_source_73(Idx)
195240 , p_source_74 => l_array_source_74(Idx)
195241 , p_source_75 => l_array_source_75(Idx)
195242 , p_source_76 => l_array_source_76(Idx)
195243 , p_source_77 => l_array_source_77(Idx)
195244 , p_source_78 => l_array_source_78(Idx)
195245 , p_source_79 => l_array_source_79(Idx)
195246 , p_source_80 => l_array_source_80(Idx)
195247 , p_source_81 => l_array_source_81(Idx)
195248 , p_source_82 => l_array_source_82(Idx)
195249 , p_source_83 => l_array_source_83(Idx)
195250 , p_source_84 => l_array_source_84(Idx)
195251 , p_source_84_meaning => l_array_source_84_meaning(Idx)
195252 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195253 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195254 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195255 );
195256 If(l_balance_type_code = 'A') THEN
195257 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195258 END IF;
195259
195260 --
195261
195262
195263 --
195264 AcctLineType_116 (
195265 p_application_id => p_application_id
195266 ,p_event_id => l_event_id
195267 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195268 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195269 ,p_actual_flag => l_actual_flag
195270 ,p_balance_type_code => l_balance_type_code
195271 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195272
195273 , p_source_21 => l_array_source_21(Idx)
195274 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195275 , p_source_41 => l_array_source_41(Idx)
195276 , p_source_43 => l_array_source_43(Idx)
195277 , p_source_45 => l_array_source_45(Idx)
195278 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195279 , p_source_52 => l_array_source_52(Idx)
195280 , p_source_53 => l_array_source_53(Idx)
195281 , p_source_54 => l_array_source_54(Idx)
195282 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195283 , p_source_56 => l_array_source_56(Idx)
195284 , p_source_57 => l_array_source_57(Idx)
195285 , p_source_58 => l_array_source_58(Idx)
195286 , p_source_59 => l_array_source_59(Idx)
195287 , p_source_60 => l_array_source_60(Idx)
195288 , p_source_61 => l_array_source_61(Idx)
195289 , p_source_65 => l_array_source_65(Idx)
195290 , p_source_66 => l_array_source_66(Idx)
195291 , p_source_67 => l_array_source_67(Idx)
195292 , p_source_68 => l_array_source_68(Idx)
195293 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195294 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195295 , p_source_72 => l_array_source_72(Idx)
195296 , p_source_73 => l_array_source_73(Idx)
195297 , p_source_74 => l_array_source_74(Idx)
195298 , p_source_75 => l_array_source_75(Idx)
195299 , p_source_76 => l_array_source_76(Idx)
195300 , p_source_77 => l_array_source_77(Idx)
195301 , p_source_78 => l_array_source_78(Idx)
195302 , p_source_79 => l_array_source_79(Idx)
195303 , p_source_80 => l_array_source_80(Idx)
195304 , p_source_81 => l_array_source_81(Idx)
195305 , p_source_82 => l_array_source_82(Idx)
195306 , p_source_83 => l_array_source_83(Idx)
195307 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
195308 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
195309 , p_source_87 => l_array_source_87(Idx)
195310 , p_source_87_meaning => l_array_source_87_meaning(Idx)
195311 , p_source_143 => l_array_source_143(Idx)
195312 , p_source_144 => l_array_source_144(Idx)
195313 );
195314 If(l_balance_type_code = 'A') THEN
195315 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195316 END IF;
195317
195318 --
195319
195320
195321 --
195322 AcctLineType_128 (
195323 p_application_id => p_application_id
195324 ,p_event_id => l_event_id
195325 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195326 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195330
195327 ,p_actual_flag => l_actual_flag
195328 ,p_balance_type_code => l_balance_type_code
195329 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195331 , p_source_1 => l_array_source_1(Idx)
195332 , p_source_9 => l_array_source_9(Idx)
195333 , p_source_18 => l_array_source_18(Idx)
195334 , p_source_21 => l_array_source_21(Idx)
195335 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195336 , p_source_41 => l_array_source_41(Idx)
195337 , p_source_43 => l_array_source_43(Idx)
195338 , p_source_45 => l_array_source_45(Idx)
195339 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195340 , p_source_52 => l_array_source_52(Idx)
195341 , p_source_53 => l_array_source_53(Idx)
195342 , p_source_54 => l_array_source_54(Idx)
195343 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195344 , p_source_56 => l_array_source_56(Idx)
195345 , p_source_57 => l_array_source_57(Idx)
195346 , p_source_58 => l_array_source_58(Idx)
195347 , p_source_59 => l_array_source_59(Idx)
195348 , p_source_60 => l_array_source_60(Idx)
195349 , p_source_61 => l_array_source_61(Idx)
195350 , p_source_65 => l_array_source_65(Idx)
195351 , p_source_66 => l_array_source_66(Idx)
195352 , p_source_67 => l_array_source_67(Idx)
195353 , p_source_68 => l_array_source_68(Idx)
195354 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195355 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195356 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195357 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195358 , p_source_72 => l_array_source_72(Idx)
195359 , p_source_73 => l_array_source_73(Idx)
195360 , p_source_74 => l_array_source_74(Idx)
195361 , p_source_75 => l_array_source_75(Idx)
195362 , p_source_76 => l_array_source_76(Idx)
195363 , p_source_77 => l_array_source_77(Idx)
195364 , p_source_78 => l_array_source_78(Idx)
195365 , p_source_79 => l_array_source_79(Idx)
195366 , p_source_80 => l_array_source_80(Idx)
195367 , p_source_81 => l_array_source_81(Idx)
195368 , p_source_82 => l_array_source_82(Idx)
195369 , p_source_83 => l_array_source_83(Idx)
195370 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195371 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195372 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195373 );
195374 If(l_balance_type_code = 'A') THEN
195375 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195376 END IF;
195377
195378 --
195379
195380
195381 --
195382 AcctLineType_129 (
195383 p_application_id => p_application_id
195384 ,p_event_id => l_event_id
195385 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195386 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195387 ,p_actual_flag => l_actual_flag
195388 ,p_balance_type_code => l_balance_type_code
195389 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195390
195391 , p_source_21 => l_array_source_21(Idx)
195392 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195393 , p_source_41 => l_array_source_41(Idx)
195394 , p_source_43 => l_array_source_43(Idx)
195395 , p_source_45 => l_array_source_45(Idx)
195396 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195397 , p_source_52 => l_array_source_52(Idx)
195398 , p_source_53 => l_array_source_53(Idx)
195399 , p_source_54 => l_array_source_54(Idx)
195400 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195401 , p_source_56 => l_array_source_56(Idx)
195402 , p_source_57 => l_array_source_57(Idx)
195403 , p_source_58 => l_array_source_58(Idx)
195404 , p_source_59 => l_array_source_59(Idx)
195405 , p_source_60 => l_array_source_60(Idx)
195406 , p_source_61 => l_array_source_61(Idx)
195407 , p_source_65 => l_array_source_65(Idx)
195408 , p_source_66 => l_array_source_66(Idx)
195409 , p_source_67 => l_array_source_67(Idx)
195410 , p_source_68 => l_array_source_68(Idx)
195411 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195412 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195413 , p_source_72 => l_array_source_72(Idx)
195414 , p_source_73 => l_array_source_73(Idx)
195415 , p_source_74 => l_array_source_74(Idx)
195416 , p_source_75 => l_array_source_75(Idx)
195417 , p_source_76 => l_array_source_76(Idx)
195418 , p_source_77 => l_array_source_77(Idx)
195419 , p_source_78 => l_array_source_78(Idx)
195420 , p_source_79 => l_array_source_79(Idx)
195421 , p_source_80 => l_array_source_80(Idx)
195422 , p_source_81 => l_array_source_81(Idx)
195423 , p_source_82 => l_array_source_82(Idx)
195424 , p_source_83 => l_array_source_83(Idx)
195425 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
195426 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
195427 , p_source_87 => l_array_source_87(Idx)
195428 , p_source_87_meaning => l_array_source_87_meaning(Idx)
195429 , p_source_143 => l_array_source_143(Idx)
195430 , p_source_144 => l_array_source_144(Idx)
195431 );
195432 If(l_balance_type_code = 'A') THEN
195433 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195434 END IF;
195435
195436 --
195437
195438
195439 --
195440 AcctLineType_154 (
195441 p_application_id => p_application_id
195442 ,p_event_id => l_event_id
195443 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195444 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195445 ,p_actual_flag => l_actual_flag
195446 ,p_balance_type_code => l_balance_type_code
195447 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195448
195449 , p_source_1 => l_array_source_1(Idx)
195450 , p_source_9 => l_array_source_9(Idx)
195454 , p_source_41 => l_array_source_41(Idx)
195451 , p_source_18 => l_array_source_18(Idx)
195452 , p_source_21 => l_array_source_21(Idx)
195453 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195455 , p_source_43 => l_array_source_43(Idx)
195456 , p_source_45 => l_array_source_45(Idx)
195457 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195458 , p_source_52 => l_array_source_52(Idx)
195459 , p_source_53 => l_array_source_53(Idx)
195460 , p_source_54 => l_array_source_54(Idx)
195461 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195462 , p_source_56 => l_array_source_56(Idx)
195463 , p_source_57 => l_array_source_57(Idx)
195464 , p_source_58 => l_array_source_58(Idx)
195468 , p_source_65 => l_array_source_65(Idx)
195465 , p_source_59 => l_array_source_59(Idx)
195466 , p_source_60 => l_array_source_60(Idx)
195467 , p_source_61 => l_array_source_61(Idx)
195469 , p_source_66 => l_array_source_66(Idx)
195470 , p_source_67 => l_array_source_67(Idx)
195471 , p_source_68 => l_array_source_68(Idx)
195472 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195473 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195474 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195475 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195476 , p_source_72 => l_array_source_72(Idx)
195477 , p_source_73 => l_array_source_73(Idx)
195478 , p_source_74 => l_array_source_74(Idx)
195479 , p_source_75 => l_array_source_75(Idx)
195480 , p_source_76 => l_array_source_76(Idx)
195481 , p_source_77 => l_array_source_77(Idx)
195482 , p_source_78 => l_array_source_78(Idx)
195483 , p_source_79 => l_array_source_79(Idx)
195484 , p_source_80 => l_array_source_80(Idx)
195485 , p_source_81 => l_array_source_81(Idx)
195486 , p_source_82 => l_array_source_82(Idx)
195487 , p_source_83 => l_array_source_83(Idx)
195488 , p_source_84 => l_array_source_84(Idx)
195489 , p_source_84_meaning => l_array_source_84_meaning(Idx)
195490 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195491 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195492 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195493 );
195494 If(l_balance_type_code = 'A') THEN
195495 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195496 END IF;
195497
195498 --
195499
195500
195501 --
195502 AcctLineType_155 (
195503 p_application_id => p_application_id
195504 ,p_event_id => l_event_id
195505 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195506 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195507 ,p_actual_flag => l_actual_flag
195508 ,p_balance_type_code => l_balance_type_code
195509 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195510
195511 , p_source_21 => l_array_source_21(Idx)
195512 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195513 , p_source_41 => l_array_source_41(Idx)
195514 , p_source_43 => l_array_source_43(Idx)
195515 , p_source_45 => l_array_source_45(Idx)
195516 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195517 , p_source_52 => l_array_source_52(Idx)
195518 , p_source_53 => l_array_source_53(Idx)
195519 , p_source_54 => l_array_source_54(Idx)
195520 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195521 , p_source_56 => l_array_source_56(Idx)
195522 , p_source_57 => l_array_source_57(Idx)
195523 , p_source_58 => l_array_source_58(Idx)
195524 , p_source_59 => l_array_source_59(Idx)
195525 , p_source_60 => l_array_source_60(Idx)
195526 , p_source_61 => l_array_source_61(Idx)
195527 , p_source_65 => l_array_source_65(Idx)
195528 , p_source_66 => l_array_source_66(Idx)
195529 , p_source_67 => l_array_source_67(Idx)
195530 , p_source_68 => l_array_source_68(Idx)
195531 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195532 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195533 , p_source_72 => l_array_source_72(Idx)
195534 , p_source_73 => l_array_source_73(Idx)
195535 , p_source_74 => l_array_source_74(Idx)
195536 , p_source_75 => l_array_source_75(Idx)
195537 , p_source_76 => l_array_source_76(Idx)
195538 , p_source_77 => l_array_source_77(Idx)
195539 , p_source_78 => l_array_source_78(Idx)
195540 , p_source_79 => l_array_source_79(Idx)
195541 , p_source_80 => l_array_source_80(Idx)
195542 , p_source_81 => l_array_source_81(Idx)
195543 , p_source_82 => l_array_source_82(Idx)
195544 , p_source_83 => l_array_source_83(Idx)
195545 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
195546 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
195547 , p_source_87 => l_array_source_87(Idx)
195548 , p_source_87_meaning => l_array_source_87_meaning(Idx)
195549 , p_source_143 => l_array_source_143(Idx)
195550 , p_source_144 => l_array_source_144(Idx)
195551 );
195552 If(l_balance_type_code = 'A') THEN
195553 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195554 END IF;
195555
195556 --
195557
195558
195559 --
195560 AcctLineType_162 (
195561 p_application_id => p_application_id
195562 ,p_event_id => l_event_id
195563 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195564 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195565 ,p_actual_flag => l_actual_flag
195566 ,p_balance_type_code => l_balance_type_code
195567 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195568
195569 , p_source_1 => l_array_source_1(Idx)
195570 , p_source_9 => l_array_source_9(Idx)
195571 , p_source_18 => l_array_source_18(Idx)
195572 , p_source_21 => l_array_source_21(Idx)
195573 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195574 , p_source_41 => l_array_source_41(Idx)
195575 , p_source_43 => l_array_source_43(Idx)
195576 , p_source_45 => l_array_source_45(Idx)
195577 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195578 , p_source_52 => l_array_source_52(Idx)
195579 , p_source_53 => l_array_source_53(Idx)
195580 , p_source_54 => l_array_source_54(Idx)
195581 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195582 , p_source_56 => l_array_source_56(Idx)
195583 , p_source_57 => l_array_source_57(Idx)
195584 , p_source_58 => l_array_source_58(Idx)
195585 , p_source_59 => l_array_source_59(Idx)
195586 , p_source_60 => l_array_source_60(Idx)
195587 , p_source_61 => l_array_source_61(Idx)
195588 , p_source_65 => l_array_source_65(Idx)
195589 , p_source_66 => l_array_source_66(Idx)
195590 , p_source_67 => l_array_source_67(Idx)
195591 , p_source_68 => l_array_source_68(Idx)
195592 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195593 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195597 , p_source_73 => l_array_source_73(Idx)
195594 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195595 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195596 , p_source_72 => l_array_source_72(Idx)
195598 , p_source_74 => l_array_source_74(Idx)
195599 , p_source_75 => l_array_source_75(Idx)
195600 , p_source_76 => l_array_source_76(Idx)
195601 , p_source_77 => l_array_source_77(Idx)
195602 , p_source_78 => l_array_source_78(Idx)
195603 , p_source_79 => l_array_source_79(Idx)
195604 , p_source_80 => l_array_source_80(Idx)
195605 , p_source_81 => l_array_source_81(Idx)
195606 , p_source_82 => l_array_source_82(Idx)
195607 , p_source_83 => l_array_source_83(Idx)
195608 , p_source_84 => l_array_source_84(Idx)
195609 , p_source_84_meaning => l_array_source_84_meaning(Idx)
195610 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195611 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195612 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195613 );
195614 If(l_balance_type_code = 'A') THEN
195615 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195616 END IF;
195620
195617
195618 --
195619
195621 --
195622 AcctLineType_163 (
195623 p_application_id => p_application_id
195624 ,p_event_id => l_event_id
195625 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195626 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195627 ,p_actual_flag => l_actual_flag
195628 ,p_balance_type_code => l_balance_type_code
195629 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195630
195631 , p_source_21 => l_array_source_21(Idx)
195632 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195633 , p_source_41 => l_array_source_41(Idx)
195634 , p_source_43 => l_array_source_43(Idx)
195635 , p_source_45 => l_array_source_45(Idx)
195636 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195637 , p_source_52 => l_array_source_52(Idx)
195638 , p_source_53 => l_array_source_53(Idx)
195639 , p_source_54 => l_array_source_54(Idx)
195640 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195641 , p_source_56 => l_array_source_56(Idx)
195642 , p_source_57 => l_array_source_57(Idx)
195643 , p_source_58 => l_array_source_58(Idx)
195644 , p_source_59 => l_array_source_59(Idx)
195645 , p_source_60 => l_array_source_60(Idx)
195646 , p_source_61 => l_array_source_61(Idx)
195647 , p_source_65 => l_array_source_65(Idx)
195648 , p_source_66 => l_array_source_66(Idx)
195649 , p_source_67 => l_array_source_67(Idx)
195650 , p_source_68 => l_array_source_68(Idx)
195651 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195652 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195653 , p_source_72 => l_array_source_72(Idx)
195654 , p_source_73 => l_array_source_73(Idx)
195655 , p_source_74 => l_array_source_74(Idx)
195656 , p_source_75 => l_array_source_75(Idx)
195657 , p_source_76 => l_array_source_76(Idx)
195658 , p_source_77 => l_array_source_77(Idx)
195659 , p_source_78 => l_array_source_78(Idx)
195660 , p_source_79 => l_array_source_79(Idx)
195661 , p_source_80 => l_array_source_80(Idx)
195662 , p_source_81 => l_array_source_81(Idx)
195663 , p_source_82 => l_array_source_82(Idx)
195664 , p_source_83 => l_array_source_83(Idx)
195665 , p_source_84 => l_array_source_84(Idx)
195666 , p_source_84_meaning => l_array_source_84_meaning(Idx)
195667 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
195668 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
195669 , p_source_87 => l_array_source_87(Idx)
195670 , p_source_87_meaning => l_array_source_87_meaning(Idx)
195671 , p_source_143 => l_array_source_143(Idx)
195672 , p_source_144 => l_array_source_144(Idx)
195673 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
195674 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
195675 );
195676 If(l_balance_type_code = 'A') THEN
195677 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195678 END IF;
195679
195680 --
195681
195682
195683 --
195684 AcctLineType_174 (
195685 p_application_id => p_application_id
195686 ,p_event_id => l_event_id
195687 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195688 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195689 ,p_actual_flag => l_actual_flag
195690 ,p_balance_type_code => l_balance_type_code
195691 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195692
195693 , p_source_1 => l_array_source_1(Idx)
195694 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
195695 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
195696 , p_source_9 => l_array_source_9(Idx)
195697 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
195698 , p_source_41 => l_array_source_41(Idx)
195699 , p_source_43 => l_array_source_43(Idx)
195700 , p_source_45 => l_array_source_45(Idx)
195701 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195702 , p_source_52 => l_array_source_52(Idx)
195703 , p_source_53 => l_array_source_53(Idx)
195704 , p_source_54 => l_array_source_54(Idx)
195705 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195706 , p_source_56 => l_array_source_56(Idx)
195707 , p_source_57 => l_array_source_57(Idx)
195708 , p_source_58 => l_array_source_58(Idx)
195709 , p_source_59 => l_array_source_59(Idx)
195710 , p_source_60 => l_array_source_60(Idx)
195711 , p_source_61 => l_array_source_61(Idx)
195712 , p_source_65 => l_array_source_65(Idx)
195713 , p_source_66 => l_array_source_66(Idx)
195714 , p_source_67 => l_array_source_67(Idx)
195715 , p_source_68 => l_array_source_68(Idx)
195716 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195717 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195718 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195719 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195720 , p_source_72 => l_array_source_72(Idx)
195721 , p_source_73 => l_array_source_73(Idx)
195722 , p_source_74 => l_array_source_74(Idx)
195723 , p_source_75 => l_array_source_75(Idx)
195724 , p_source_76 => l_array_source_76(Idx)
195725 , p_source_77 => l_array_source_77(Idx)
195726 , p_source_78 => l_array_source_78(Idx)
195727 , p_source_79 => l_array_source_79(Idx)
195728 , p_source_80 => l_array_source_80(Idx)
195729 , p_source_81 => l_array_source_81(Idx)
195730 , p_source_82 => l_array_source_82(Idx)
195731 , p_source_83 => l_array_source_83(Idx)
195732 , p_source_135 => l_array_source_135(Idx)
195733 , p_source_135_meaning => l_array_source_135_meaning(Idx)
195734 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195735 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195736 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195737 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
195738 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
195739 );
195740 If(l_balance_type_code = 'A') THEN
195744 --
195741 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195742 END IF;
195743
195745
195746
195747 --
195748 AcctLineType_175 (
195749 p_application_id => p_application_id
195750 ,p_event_id => l_event_id
195751 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195752 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195753 ,p_actual_flag => l_actual_flag
195754 ,p_balance_type_code => l_balance_type_code
195755 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195756
195757 , p_source_1 => l_array_source_1(Idx)
195758 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
195759 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
195760 , p_source_9 => l_array_source_9(Idx)
195761 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
195762 , p_source_41 => l_array_source_41(Idx)
195763 , p_source_43 => l_array_source_43(Idx)
195764 , p_source_45 => l_array_source_45(Idx)
195765 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195766 , p_source_52 => l_array_source_52(Idx)
195767 , p_source_53 => l_array_source_53(Idx)
195768 , p_source_54 => l_array_source_54(Idx)
195769 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195770 , p_source_56 => l_array_source_56(Idx)
195771 , p_source_57 => l_array_source_57(Idx)
195772 , p_source_58 => l_array_source_58(Idx)
195773 , p_source_59 => l_array_source_59(Idx)
195774 , p_source_60 => l_array_source_60(Idx)
195775 , p_source_61 => l_array_source_61(Idx)
195776 , p_source_65 => l_array_source_65(Idx)
195777 , p_source_66 => l_array_source_66(Idx)
195778 , p_source_67 => l_array_source_67(Idx)
195779 , p_source_68 => l_array_source_68(Idx)
195780 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195781 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195782 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195783 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195784 , p_source_72 => l_array_source_72(Idx)
195785 , p_source_73 => l_array_source_73(Idx)
195786 , p_source_74 => l_array_source_74(Idx)
195787 , p_source_75 => l_array_source_75(Idx)
195788 , p_source_76 => l_array_source_76(Idx)
195789 , p_source_77 => l_array_source_77(Idx)
195790 , p_source_78 => l_array_source_78(Idx)
195791 , p_source_79 => l_array_source_79(Idx)
195792 , p_source_80 => l_array_source_80(Idx)
195793 , p_source_81 => l_array_source_81(Idx)
195794 , p_source_82 => l_array_source_82(Idx)
195795 , p_source_83 => l_array_source_83(Idx)
195796 , p_source_135 => l_array_source_135(Idx)
195797 , p_source_135_meaning => l_array_source_135_meaning(Idx)
195798 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195799 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195800 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195801 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
195802 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
195803 );
195804 If(l_balance_type_code = 'A') THEN
195805 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195806 END IF;
195807
195808 --
195809
195810
195811 --
195812 AcctLineType_176 (
195813 p_application_id => p_application_id
195814 ,p_event_id => l_event_id
195815 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195816 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195817 ,p_actual_flag => l_actual_flag
195818 ,p_balance_type_code => l_balance_type_code
195819 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195820
195821 , p_source_1 => l_array_source_1(Idx)
195822 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
195823 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
195824 , p_source_9 => l_array_source_9(Idx)
195825 , p_source_22 => g_array_event(l_event_id).array_value_num('source_22')
195826 , p_source_41 => l_array_source_41(Idx)
195827 , p_source_43 => l_array_source_43(Idx)
195828 , p_source_45 => l_array_source_45(Idx)
195829 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195830 , p_source_52 => l_array_source_52(Idx)
195831 , p_source_53 => l_array_source_53(Idx)
195832 , p_source_54 => l_array_source_54(Idx)
195833 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195834 , p_source_56 => l_array_source_56(Idx)
195835 , p_source_57 => l_array_source_57(Idx)
195836 , p_source_58 => l_array_source_58(Idx)
195837 , p_source_59 => l_array_source_59(Idx)
195838 , p_source_60 => l_array_source_60(Idx)
195839 , p_source_61 => l_array_source_61(Idx)
195840 , p_source_65 => l_array_source_65(Idx)
195841 , p_source_66 => l_array_source_66(Idx)
195842 , p_source_67 => l_array_source_67(Idx)
195843 , p_source_68 => l_array_source_68(Idx)
195844 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195845 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195846 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195847 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195848 , p_source_72 => l_array_source_72(Idx)
195849 , p_source_73 => l_array_source_73(Idx)
195850 , p_source_74 => l_array_source_74(Idx)
195851 , p_source_75 => l_array_source_75(Idx)
195852 , p_source_76 => l_array_source_76(Idx)
195853 , p_source_77 => l_array_source_77(Idx)
195854 , p_source_78 => l_array_source_78(Idx)
195855 , p_source_79 => l_array_source_79(Idx)
195856 , p_source_80 => l_array_source_80(Idx)
195857 , p_source_81 => l_array_source_81(Idx)
195858 , p_source_82 => l_array_source_82(Idx)
195859 , p_source_83 => l_array_source_83(Idx)
195860 , p_source_135 => l_array_source_135(Idx)
195861 , p_source_135_meaning => l_array_source_135_meaning(Idx)
195862 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195863 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195867 );
195864 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195865 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
195866 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
195868 If(l_balance_type_code = 'A') THEN
195869 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195870 END IF;
195871
195872 --
195873
195874
195875 --
195876 AcctLineType_195 (
195877 p_application_id => p_application_id
195878 ,p_event_id => l_event_id
195879 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195880 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195881 ,p_actual_flag => l_actual_flag
195882 ,p_balance_type_code => l_balance_type_code
195883 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195884
195885 , p_source_1 => l_array_source_1(Idx)
195886 , p_source_9 => l_array_source_9(Idx)
195887 , p_source_18 => l_array_source_18(Idx)
195888 , p_source_21 => l_array_source_21(Idx)
195889 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195890 , p_source_41 => l_array_source_41(Idx)
195891 , p_source_43 => l_array_source_43(Idx)
195892 , p_source_45 => l_array_source_45(Idx)
195893 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195894 , p_source_52 => l_array_source_52(Idx)
195895 , p_source_53 => l_array_source_53(Idx)
195896 , p_source_54 => l_array_source_54(Idx)
195897 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195898 , p_source_56 => l_array_source_56(Idx)
195899 , p_source_57 => l_array_source_57(Idx)
195900 , p_source_58 => l_array_source_58(Idx)
195901 , p_source_59 => l_array_source_59(Idx)
195902 , p_source_60 => l_array_source_60(Idx)
195903 , p_source_61 => l_array_source_61(Idx)
195904 , p_source_65 => l_array_source_65(Idx)
195905 , p_source_66 => l_array_source_66(Idx)
195906 , p_source_67 => l_array_source_67(Idx)
195907 , p_source_68 => l_array_source_68(Idx)
195908 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195909 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
195910 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
195911 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195912 , p_source_72 => l_array_source_72(Idx)
195913 , p_source_73 => l_array_source_73(Idx)
195914 , p_source_74 => l_array_source_74(Idx)
195915 , p_source_75 => l_array_source_75(Idx)
195916 , p_source_76 => l_array_source_76(Idx)
195917 , p_source_77 => l_array_source_77(Idx)
195918 , p_source_78 => l_array_source_78(Idx)
195919 , p_source_79 => l_array_source_79(Idx)
195920 , p_source_80 => l_array_source_80(Idx)
195921 , p_source_81 => l_array_source_81(Idx)
195922 , p_source_82 => l_array_source_82(Idx)
195923 , p_source_83 => l_array_source_83(Idx)
195924 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
195925 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
195926 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
195927 );
195928 If(l_balance_type_code = 'A') THEN
195929 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195930 END IF;
195931
195932 --
195933
195934
195935 --
195936 AcctLineType_196 (
195937 p_application_id => p_application_id
195938 ,p_event_id => l_event_id
195939 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195940 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195941 ,p_actual_flag => l_actual_flag
195942 ,p_balance_type_code => l_balance_type_code
195943 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
195944
195945 , p_source_21 => l_array_source_21(Idx)
195946 , p_source_21_meaning => l_array_source_21_meaning(Idx)
195947 , p_source_41 => l_array_source_41(Idx)
195948 , p_source_43 => l_array_source_43(Idx)
195949 , p_source_45 => l_array_source_45(Idx)
195950 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
195951 , p_source_52 => l_array_source_52(Idx)
195952 , p_source_53 => l_array_source_53(Idx)
195953 , p_source_54 => l_array_source_54(Idx)
195954 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
195955 , p_source_56 => l_array_source_56(Idx)
195956 , p_source_57 => l_array_source_57(Idx)
195957 , p_source_58 => l_array_source_58(Idx)
195958 , p_source_59 => l_array_source_59(Idx)
195959 , p_source_60 => l_array_source_60(Idx)
195960 , p_source_61 => l_array_source_61(Idx)
195961 , p_source_65 => l_array_source_65(Idx)
195962 , p_source_66 => l_array_source_66(Idx)
195963 , p_source_67 => l_array_source_67(Idx)
195964 , p_source_68 => l_array_source_68(Idx)
195965 , p_source_68_meaning => l_array_source_68_meaning(Idx)
195966 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
195967 , p_source_72 => l_array_source_72(Idx)
195968 , p_source_73 => l_array_source_73(Idx)
195969 , p_source_74 => l_array_source_74(Idx)
195970 , p_source_75 => l_array_source_75(Idx)
195971 , p_source_76 => l_array_source_76(Idx)
195972 , p_source_77 => l_array_source_77(Idx)
195973 , p_source_78 => l_array_source_78(Idx)
195974 , p_source_79 => l_array_source_79(Idx)
195975 , p_source_80 => l_array_source_80(Idx)
195976 , p_source_81 => l_array_source_81(Idx)
195977 , p_source_82 => l_array_source_82(Idx)
195978 , p_source_83 => l_array_source_83(Idx)
195979 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
195980 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
195981 , p_source_87 => l_array_source_87(Idx)
195982 , p_source_87_meaning => l_array_source_87_meaning(Idx)
195983 , p_source_143 => l_array_source_143(Idx)
195984 , p_source_144 => l_array_source_144(Idx)
195985 );
195986 If(l_balance_type_code = 'A') THEN
195987 l_actual_gain_loss_ref := l_gain_or_loss_ref;
195988 END IF;
195989
195990 --
195991
195992
195993 --
195994 AcctLineType_201 (
195995 p_application_id => p_application_id
195996 ,p_event_id => l_event_id
196000 ,p_balance_type_code => l_balance_type_code
195997 ,p_calculate_acctd_flag => l_calculate_acctd_flag
195998 ,p_calculate_g_l_flag => l_calculate_g_l_flag
195999 ,p_actual_flag => l_actual_flag
196001 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196002
196003 , p_source_1 => l_array_source_1(Idx)
196004 , p_source_9 => l_array_source_9(Idx)
196005 , p_source_18 => l_array_source_18(Idx)
196006 , p_source_21 => l_array_source_21(Idx)
196007 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196008 , p_source_41 => l_array_source_41(Idx)
196009 , p_source_43 => l_array_source_43(Idx)
196010 , p_source_45 => l_array_source_45(Idx)
196011 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196012 , p_source_52 => l_array_source_52(Idx)
196013 , p_source_53 => l_array_source_53(Idx)
196014 , p_source_54 => l_array_source_54(Idx)
196015 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196016 , p_source_56 => l_array_source_56(Idx)
196017 , p_source_57 => l_array_source_57(Idx)
196018 , p_source_58 => l_array_source_58(Idx)
196019 , p_source_59 => l_array_source_59(Idx)
196020 , p_source_60 => l_array_source_60(Idx)
196021 , p_source_61 => l_array_source_61(Idx)
196022 , p_source_62 => l_array_source_62(Idx)
196023 , p_source_63 => l_array_source_63(Idx)
196024 , p_source_64 => l_array_source_64(Idx)
196025 , p_source_65 => l_array_source_65(Idx)
196026 , p_source_66 => l_array_source_66(Idx)
196027 , p_source_67 => l_array_source_67(Idx)
196028 , p_source_68 => l_array_source_68(Idx)
196029 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196030 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196031 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196032 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196033 , p_source_72 => l_array_source_72(Idx)
196034 , p_source_73 => l_array_source_73(Idx)
196035 , p_source_74 => l_array_source_74(Idx)
196036 , p_source_75 => l_array_source_75(Idx)
196037 , p_source_76 => l_array_source_76(Idx)
196038 , p_source_77 => l_array_source_77(Idx)
196039 , p_source_78 => l_array_source_78(Idx)
196040 , p_source_79 => l_array_source_79(Idx)
196041 , p_source_80 => l_array_source_80(Idx)
196042 , p_source_81 => l_array_source_81(Idx)
196043 , p_source_82 => l_array_source_82(Idx)
196044 , p_source_83 => l_array_source_83(Idx)
196045 , p_source_84 => l_array_source_84(Idx)
196046 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196047 , p_source_135 => l_array_source_135(Idx)
196048 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196049 );
196050 If(l_balance_type_code = 'A') THEN
196051 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196052 END IF;
196053
196054 --
196055
196056
196057 --
196058 AcctLineType_206 (
196059 p_application_id => p_application_id
196060 ,p_event_id => l_event_id
196061 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196062 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196063 ,p_actual_flag => l_actual_flag
196064 ,p_balance_type_code => l_balance_type_code
196065 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196066
196067 , p_source_1 => l_array_source_1(Idx)
196068 , p_source_9 => l_array_source_9(Idx)
196069 , p_source_18 => l_array_source_18(Idx)
196070 , p_source_21 => l_array_source_21(Idx)
196071 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196072 , p_source_41 => l_array_source_41(Idx)
196073 , p_source_43 => l_array_source_43(Idx)
196074 , p_source_45 => l_array_source_45(Idx)
196075 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196076 , p_source_52 => l_array_source_52(Idx)
196077 , p_source_53 => l_array_source_53(Idx)
196078 , p_source_54 => l_array_source_54(Idx)
196079 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196080 , p_source_56 => l_array_source_56(Idx)
196081 , p_source_57 => l_array_source_57(Idx)
196082 , p_source_58 => l_array_source_58(Idx)
196083 , p_source_59 => l_array_source_59(Idx)
196084 , p_source_60 => l_array_source_60(Idx)
196085 , p_source_61 => l_array_source_61(Idx)
196086 , p_source_65 => l_array_source_65(Idx)
196087 , p_source_66 => l_array_source_66(Idx)
196088 , p_source_67 => l_array_source_67(Idx)
196089 , p_source_68 => l_array_source_68(Idx)
196090 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196091 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196092 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196093 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196094 , p_source_72 => l_array_source_72(Idx)
196095 , p_source_73 => l_array_source_73(Idx)
196096 , p_source_74 => l_array_source_74(Idx)
196097 , p_source_75 => l_array_source_75(Idx)
196098 , p_source_76 => l_array_source_76(Idx)
196099 , p_source_77 => l_array_source_77(Idx)
196100 , p_source_78 => l_array_source_78(Idx)
196101 , p_source_79 => l_array_source_79(Idx)
196102 , p_source_80 => l_array_source_80(Idx)
196103 , p_source_81 => l_array_source_81(Idx)
196104 , p_source_82 => l_array_source_82(Idx)
196105 , p_source_83 => l_array_source_83(Idx)
196106 , p_source_84 => l_array_source_84(Idx)
196107 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196108 , p_source_135 => l_array_source_135(Idx)
196109 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196110 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196111 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196112 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196113 );
196114 If(l_balance_type_code = 'A') THEN
196115 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196116 END IF;
196117
196118 --
196119
196120
196121 --
196122 AcctLineType_207 (
196123 p_application_id => p_application_id
196124 ,p_event_id => l_event_id
196125 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196129 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196126 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196127 ,p_actual_flag => l_actual_flag
196128 ,p_balance_type_code => l_balance_type_code
196130
196131 , p_source_21 => l_array_source_21(Idx)
196132 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196133 , p_source_41 => l_array_source_41(Idx)
196134 , p_source_43 => l_array_source_43(Idx)
196135 , p_source_45 => l_array_source_45(Idx)
196136 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196137 , p_source_52 => l_array_source_52(Idx)
196138 , p_source_53 => l_array_source_53(Idx)
196139 , p_source_54 => l_array_source_54(Idx)
196140 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196141 , p_source_56 => l_array_source_56(Idx)
196142 , p_source_57 => l_array_source_57(Idx)
196143 , p_source_58 => l_array_source_58(Idx)
196144 , p_source_59 => l_array_source_59(Idx)
196145 , p_source_60 => l_array_source_60(Idx)
196146 , p_source_61 => l_array_source_61(Idx)
196147 , p_source_65 => l_array_source_65(Idx)
196148 , p_source_66 => l_array_source_66(Idx)
196149 , p_source_67 => l_array_source_67(Idx)
196150 , p_source_68 => l_array_source_68(Idx)
196151 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196152 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196153 , p_source_72 => l_array_source_72(Idx)
196154 , p_source_73 => l_array_source_73(Idx)
196155 , p_source_74 => l_array_source_74(Idx)
196156 , p_source_75 => l_array_source_75(Idx)
196157 , p_source_76 => l_array_source_76(Idx)
196158 , p_source_77 => l_array_source_77(Idx)
196159 , p_source_78 => l_array_source_78(Idx)
196160 , p_source_79 => l_array_source_79(Idx)
196161 , p_source_80 => l_array_source_80(Idx)
196162 , p_source_81 => l_array_source_81(Idx)
196163 , p_source_82 => l_array_source_82(Idx)
196164 , p_source_83 => l_array_source_83(Idx)
196165 , p_source_84 => l_array_source_84(Idx)
196166 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196167 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
196168 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
196169 , p_source_87 => l_array_source_87(Idx)
196170 , p_source_87_meaning => l_array_source_87_meaning(Idx)
196171 , p_source_135 => l_array_source_135(Idx)
196172 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196173 , p_source_143 => l_array_source_143(Idx)
196174 , p_source_144 => l_array_source_144(Idx)
196175 );
196176 If(l_balance_type_code = 'A') THEN
196177 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196178 END IF;
196179
196180 --
196181
196182
196183 --
196184 AcctLineType_218 (
196185 p_application_id => p_application_id
196186 ,p_event_id => l_event_id
196187 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196188 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196189 ,p_actual_flag => l_actual_flag
196190 ,p_balance_type_code => l_balance_type_code
196191 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196192
196193 , p_source_21 => l_array_source_21(Idx)
196194 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196195 , p_source_41 => l_array_source_41(Idx)
196196 , p_source_43 => l_array_source_43(Idx)
196197 , p_source_45 => l_array_source_45(Idx)
196198 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196199 , p_source_52 => l_array_source_52(Idx)
196200 , p_source_53 => l_array_source_53(Idx)
196201 , p_source_54 => l_array_source_54(Idx)
196202 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196203 , p_source_56 => l_array_source_56(Idx)
196204 , p_source_57 => l_array_source_57(Idx)
196205 , p_source_58 => l_array_source_58(Idx)
196206 , p_source_59 => l_array_source_59(Idx)
196207 , p_source_60 => l_array_source_60(Idx)
196208 , p_source_61 => l_array_source_61(Idx)
196209 , p_source_65 => l_array_source_65(Idx)
196210 , p_source_66 => l_array_source_66(Idx)
196211 , p_source_67 => l_array_source_67(Idx)
196212 , p_source_68 => l_array_source_68(Idx)
196213 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196214 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196215 , p_source_72 => l_array_source_72(Idx)
196216 , p_source_73 => l_array_source_73(Idx)
196217 , p_source_74 => l_array_source_74(Idx)
196218 , p_source_75 => l_array_source_75(Idx)
196219 , p_source_76 => l_array_source_76(Idx)
196220 , p_source_77 => l_array_source_77(Idx)
196221 , p_source_78 => l_array_source_78(Idx)
196222 , p_source_79 => l_array_source_79(Idx)
196223 , p_source_80 => l_array_source_80(Idx)
196224 , p_source_81 => l_array_source_81(Idx)
196225 , p_source_82 => l_array_source_82(Idx)
196226 , p_source_83 => l_array_source_83(Idx)
196227 , p_source_84 => l_array_source_84(Idx)
196228 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196229 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
196230 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
196231 , p_source_87 => l_array_source_87(Idx)
196232 , p_source_87_meaning => l_array_source_87_meaning(Idx)
196233 , p_source_161 => l_array_source_161(Idx)
196234 , p_source_162 => l_array_source_162(Idx)
196235 );
196236 If(l_balance_type_code = 'A') THEN
196237 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196238 END IF;
196239
196240 --
196241
196242
196243 --
196244 AcctLineType_224 (
196245 p_application_id => p_application_id
196246 ,p_event_id => l_event_id
196247 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196248 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196249 ,p_actual_flag => l_actual_flag
196250 ,p_balance_type_code => l_balance_type_code
196251 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196252
196253 , p_source_1 => l_array_source_1(Idx)
196254 , p_source_9 => l_array_source_9(Idx)
196255 , p_source_18 => l_array_source_18(Idx)
196256 , p_source_21 => l_array_source_21(Idx)
196260 , p_source_45 => l_array_source_45(Idx)
196257 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196258 , p_source_41 => l_array_source_41(Idx)
196259 , p_source_43 => l_array_source_43(Idx)
196261 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196262 , p_source_52 => l_array_source_52(Idx)
196263 , p_source_53 => l_array_source_53(Idx)
196264 , p_source_54 => l_array_source_54(Idx)
196265 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196266 , p_source_56 => l_array_source_56(Idx)
196267 , p_source_57 => l_array_source_57(Idx)
196268 , p_source_58 => l_array_source_58(Idx)
196269 , p_source_59 => l_array_source_59(Idx)
196270 , p_source_60 => l_array_source_60(Idx)
196271 , p_source_61 => l_array_source_61(Idx)
196272 , p_source_65 => l_array_source_65(Idx)
196273 , p_source_66 => l_array_source_66(Idx)
196274 , p_source_67 => l_array_source_67(Idx)
196275 , p_source_68 => l_array_source_68(Idx)
196276 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196277 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196278 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196279 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196280 , p_source_72 => l_array_source_72(Idx)
196281 , p_source_73 => l_array_source_73(Idx)
196282 , p_source_74 => l_array_source_74(Idx)
196283 , p_source_75 => l_array_source_75(Idx)
196284 , p_source_76 => l_array_source_76(Idx)
196285 , p_source_77 => l_array_source_77(Idx)
196286 , p_source_78 => l_array_source_78(Idx)
196287 , p_source_79 => l_array_source_79(Idx)
196288 , p_source_80 => l_array_source_80(Idx)
196289 , p_source_81 => l_array_source_81(Idx)
196290 , p_source_82 => l_array_source_82(Idx)
196291 , p_source_83 => l_array_source_83(Idx)
196292 , p_source_135 => l_array_source_135(Idx)
196293 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196294 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196295 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196296 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196297 );
196298 If(l_balance_type_code = 'A') THEN
196299 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196300 END IF;
196301
196302 --
196303
196304
196305 --
196306 AcctLineType_225 (
196307 p_application_id => p_application_id
196308 ,p_event_id => l_event_id
196309 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196310 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196311 ,p_actual_flag => l_actual_flag
196312 ,p_balance_type_code => l_balance_type_code
196313 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196314
196315 , p_source_21 => l_array_source_21(Idx)
196316 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196317 , p_source_41 => l_array_source_41(Idx)
196318 , p_source_43 => l_array_source_43(Idx)
196319 , p_source_45 => l_array_source_45(Idx)
196320 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196321 , p_source_52 => l_array_source_52(Idx)
196322 , p_source_53 => l_array_source_53(Idx)
196323 , p_source_54 => l_array_source_54(Idx)
196324 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196325 , p_source_56 => l_array_source_56(Idx)
196326 , p_source_57 => l_array_source_57(Idx)
196327 , p_source_58 => l_array_source_58(Idx)
196328 , p_source_59 => l_array_source_59(Idx)
196329 , p_source_60 => l_array_source_60(Idx)
196330 , p_source_61 => l_array_source_61(Idx)
196331 , p_source_65 => l_array_source_65(Idx)
196332 , p_source_66 => l_array_source_66(Idx)
196333 , p_source_67 => l_array_source_67(Idx)
196334 , p_source_68 => l_array_source_68(Idx)
196335 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196336 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196337 , p_source_72 => l_array_source_72(Idx)
196338 , p_source_73 => l_array_source_73(Idx)
196339 , p_source_74 => l_array_source_74(Idx)
196340 , p_source_75 => l_array_source_75(Idx)
196341 , p_source_76 => l_array_source_76(Idx)
196342 , p_source_77 => l_array_source_77(Idx)
196343 , p_source_78 => l_array_source_78(Idx)
196344 , p_source_79 => l_array_source_79(Idx)
196345 , p_source_80 => l_array_source_80(Idx)
196346 , p_source_81 => l_array_source_81(Idx)
196347 , p_source_82 => l_array_source_82(Idx)
196348 , p_source_83 => l_array_source_83(Idx)
196349 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
196350 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
196351 , p_source_87 => l_array_source_87(Idx)
196352 , p_source_87_meaning => l_array_source_87_meaning(Idx)
196353 , p_source_135 => l_array_source_135(Idx)
196354 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196355 , p_source_143 => l_array_source_143(Idx)
196356 , p_source_144 => l_array_source_144(Idx)
196357 );
196358 If(l_balance_type_code = 'A') THEN
196359 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196360 END IF;
196361
196362 --
196363
196364
196365 --
196366 AcctLineType_228 (
196367 p_application_id => p_application_id
196368 ,p_event_id => l_event_id
196369 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196370 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196371 ,p_actual_flag => l_actual_flag
196372 ,p_balance_type_code => l_balance_type_code
196373 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196374
196375 , p_source_1 => l_array_source_1(Idx)
196376 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
196377 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
196378 , p_source_9 => l_array_source_9(Idx)
196379 , p_source_18 => l_array_source_18(Idx)
196380 , p_source_21 => l_array_source_21(Idx)
196381 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196382 , p_source_28 => g_array_event(l_event_id).array_value_num('source_28')
196383 , p_source_30 => l_array_source_30(Idx)
196387 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196384 , p_source_41 => l_array_source_41(Idx)
196385 , p_source_43 => l_array_source_43(Idx)
196386 , p_source_45 => l_array_source_45(Idx)
196388 , p_source_52 => l_array_source_52(Idx)
196389 , p_source_53 => l_array_source_53(Idx)
196390 , p_source_54 => l_array_source_54(Idx)
196391 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196392 , p_source_56 => l_array_source_56(Idx)
196393 , p_source_57 => l_array_source_57(Idx)
196394 , p_source_58 => l_array_source_58(Idx)
196395 , p_source_59 => l_array_source_59(Idx)
196396 , p_source_60 => l_array_source_60(Idx)
196397 , p_source_61 => l_array_source_61(Idx)
196398 , p_source_65 => l_array_source_65(Idx)
196399 , p_source_66 => l_array_source_66(Idx)
196400 , p_source_67 => l_array_source_67(Idx)
196401 , p_source_68 => l_array_source_68(Idx)
196402 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196403 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196404 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196405 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196406 , p_source_72 => l_array_source_72(Idx)
196407 , p_source_73 => l_array_source_73(Idx)
196408 , p_source_74 => l_array_source_74(Idx)
196409 , p_source_75 => l_array_source_75(Idx)
196410 , p_source_76 => l_array_source_76(Idx)
196411 , p_source_77 => l_array_source_77(Idx)
196412 , p_source_78 => l_array_source_78(Idx)
196413 , p_source_79 => l_array_source_79(Idx)
196414 , p_source_80 => l_array_source_80(Idx)
196415 , p_source_81 => l_array_source_81(Idx)
196416 , p_source_82 => l_array_source_82(Idx)
196417 , p_source_83 => l_array_source_83(Idx)
196418 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196419 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196420 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196421 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
196422 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
196423 );
196424 If(l_balance_type_code = 'A') THEN
196425 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196426 END IF;
196427
196428 --
196429
196430
196431 --
196432 AcctLineType_231 (
196433 p_application_id => p_application_id
196434 ,p_event_id => l_event_id
196435 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196436 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196437 ,p_actual_flag => l_actual_flag
196438 ,p_balance_type_code => l_balance_type_code
196439 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196440
196441 , p_source_1 => l_array_source_1(Idx)
196442 , p_source_9 => l_array_source_9(Idx)
196443 , p_source_21 => l_array_source_21(Idx)
196444 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196445 , p_source_41 => l_array_source_41(Idx)
196446 , p_source_43 => l_array_source_43(Idx)
196447 , p_source_45 => l_array_source_45(Idx)
196448 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196449 , p_source_52 => l_array_source_52(Idx)
196450 , p_source_53 => l_array_source_53(Idx)
196451 , p_source_54 => l_array_source_54(Idx)
196452 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196453 , p_source_56 => l_array_source_56(Idx)
196454 , p_source_57 => l_array_source_57(Idx)
196455 , p_source_58 => l_array_source_58(Idx)
196456 , p_source_59 => l_array_source_59(Idx)
196457 , p_source_60 => l_array_source_60(Idx)
196458 , p_source_61 => l_array_source_61(Idx)
196459 , p_source_65 => l_array_source_65(Idx)
196460 , p_source_66 => l_array_source_66(Idx)
196461 , p_source_67 => l_array_source_67(Idx)
196462 , p_source_68 => l_array_source_68(Idx)
196463 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196464 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196465 , p_source_72 => l_array_source_72(Idx)
196466 , p_source_73 => l_array_source_73(Idx)
196467 , p_source_74 => l_array_source_74(Idx)
196468 , p_source_75 => l_array_source_75(Idx)
196469 , p_source_76 => l_array_source_76(Idx)
196470 , p_source_77 => l_array_source_77(Idx)
196471 , p_source_78 => l_array_source_78(Idx)
196472 , p_source_79 => l_array_source_79(Idx)
196473 , p_source_80 => l_array_source_80(Idx)
196474 , p_source_81 => l_array_source_81(Idx)
196475 , p_source_159 => g_array_event(l_event_id).array_value_char('source_159')
196476 , p_source_159_meaning => g_array_event(l_event_id).array_value_char('source_159_meaning')
196477 , p_source_163 => l_array_source_163(Idx)
196478 , p_source_164 => l_array_source_164(Idx)
196479 );
196480 If(l_balance_type_code = 'A') THEN
196481 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196482 END IF;
196483
196484 --
196485
196486
196487 --
196488 AcctLineType_234 (
196489 p_application_id => p_application_id
196490 ,p_event_id => l_event_id
196491 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196492 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196493 ,p_actual_flag => l_actual_flag
196494 ,p_balance_type_code => l_balance_type_code
196495 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196496
196497 , p_source_21 => l_array_source_21(Idx)
196498 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196499 , p_source_41 => l_array_source_41(Idx)
196500 , p_source_43 => l_array_source_43(Idx)
196501 , p_source_45 => l_array_source_45(Idx)
196502 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196503 , p_source_52 => l_array_source_52(Idx)
196504 , p_source_53 => l_array_source_53(Idx)
196505 , p_source_54 => l_array_source_54(Idx)
196506 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196507 , p_source_56 => l_array_source_56(Idx)
196508 , p_source_57 => l_array_source_57(Idx)
196509 , p_source_58 => l_array_source_58(Idx)
196510 , p_source_59 => l_array_source_59(Idx)
196514 , p_source_66 => l_array_source_66(Idx)
196511 , p_source_60 => l_array_source_60(Idx)
196512 , p_source_61 => l_array_source_61(Idx)
196513 , p_source_65 => l_array_source_65(Idx)
196515 , p_source_67 => l_array_source_67(Idx)
196516 , p_source_68 => l_array_source_68(Idx)
196517 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196518 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196519 , p_source_72 => l_array_source_72(Idx)
196520 , p_source_73 => l_array_source_73(Idx)
196521 , p_source_74 => l_array_source_74(Idx)
196522 , p_source_75 => l_array_source_75(Idx)
196523 , p_source_76 => l_array_source_76(Idx)
196524 , p_source_77 => l_array_source_77(Idx)
196525 , p_source_78 => l_array_source_78(Idx)
196526 , p_source_79 => l_array_source_79(Idx)
196527 , p_source_80 => l_array_source_80(Idx)
196528 , p_source_81 => l_array_source_81(Idx)
196529 , p_source_82 => l_array_source_82(Idx)
196530 , p_source_83 => l_array_source_83(Idx)
196531 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
196532 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
196533 , p_source_87 => l_array_source_87(Idx)
196534 , p_source_87_meaning => l_array_source_87_meaning(Idx)
196535 , p_source_135 => l_array_source_135(Idx)
196536 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196537 , p_source_143 => l_array_source_143(Idx)
196538 , p_source_144 => l_array_source_144(Idx)
196539 );
196540 If(l_balance_type_code = 'A') THEN
196541 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196542 END IF;
196543
196544 --
196545
196546
196547 --
196548 AcctLineType_239 (
196549 p_application_id => p_application_id
196550 ,p_event_id => l_event_id
196551 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196552 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196553 ,p_actual_flag => l_actual_flag
196554 ,p_balance_type_code => l_balance_type_code
196555 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196556
196557 , p_source_1 => l_array_source_1(Idx)
196558 , p_source_9 => l_array_source_9(Idx)
196559 , p_source_21 => l_array_source_21(Idx)
196560 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196561 , p_source_38 => l_array_source_38(Idx)
196562 , p_source_41 => l_array_source_41(Idx)
196563 , p_source_43 => l_array_source_43(Idx)
196564 , p_source_45 => l_array_source_45(Idx)
196565 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196566 , p_source_52 => l_array_source_52(Idx)
196567 , p_source_53 => l_array_source_53(Idx)
196568 , p_source_54 => l_array_source_54(Idx)
196569 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196570 , p_source_56 => l_array_source_56(Idx)
196571 , p_source_57 => l_array_source_57(Idx)
196572 , p_source_58 => l_array_source_58(Idx)
196573 , p_source_59 => l_array_source_59(Idx)
196574 , p_source_60 => l_array_source_60(Idx)
196575 , p_source_61 => l_array_source_61(Idx)
196576 , p_source_65 => l_array_source_65(Idx)
196577 , p_source_66 => l_array_source_66(Idx)
196578 , p_source_67 => l_array_source_67(Idx)
196579 , p_source_68 => l_array_source_68(Idx)
196580 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196581 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196582 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196583 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196584 , p_source_72 => l_array_source_72(Idx)
196585 , p_source_73 => l_array_source_73(Idx)
196586 , p_source_74 => l_array_source_74(Idx)
196587 , p_source_75 => l_array_source_75(Idx)
196588 , p_source_76 => l_array_source_76(Idx)
196589 , p_source_77 => l_array_source_77(Idx)
196590 , p_source_78 => l_array_source_78(Idx)
196591 , p_source_79 => l_array_source_79(Idx)
196592 , p_source_80 => l_array_source_80(Idx)
196593 , p_source_81 => l_array_source_81(Idx)
196594 , p_source_82 => l_array_source_82(Idx)
196595 , p_source_83 => l_array_source_83(Idx)
196596 , p_source_84 => l_array_source_84(Idx)
196597 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196598 , p_source_135 => l_array_source_135(Idx)
196599 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196600 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196601 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196602 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196603 );
196604 If(l_balance_type_code = 'A') THEN
196605 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196606 END IF;
196607
196608 --
196609
196610
196611 --
196612 AcctLineType_243 (
196613 p_application_id => p_application_id
196614 ,p_event_id => l_event_id
196615 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196616 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196617 ,p_actual_flag => l_actual_flag
196618 ,p_balance_type_code => l_balance_type_code
196619 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196620
196621 , p_source_1 => l_array_source_1(Idx)
196622 , p_source_9 => l_array_source_9(Idx)
196623 , p_source_21 => l_array_source_21(Idx)
196624 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196625 , p_source_38 => l_array_source_38(Idx)
196626 , p_source_41 => l_array_source_41(Idx)
196627 , p_source_43 => l_array_source_43(Idx)
196628 , p_source_45 => l_array_source_45(Idx)
196629 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196630 , p_source_52 => l_array_source_52(Idx)
196631 , p_source_53 => l_array_source_53(Idx)
196632 , p_source_54 => l_array_source_54(Idx)
196633 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196634 , p_source_56 => l_array_source_56(Idx)
196635 , p_source_57 => l_array_source_57(Idx)
196636 , p_source_58 => l_array_source_58(Idx)
196637 , p_source_59 => l_array_source_59(Idx)
196638 , p_source_60 => l_array_source_60(Idx)
196639 , p_source_61 => l_array_source_61(Idx)
196643 , p_source_68 => l_array_source_68(Idx)
196640 , p_source_65 => l_array_source_65(Idx)
196641 , p_source_66 => l_array_source_66(Idx)
196642 , p_source_67 => l_array_source_67(Idx)
196644 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196645 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196646 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196647 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196648 , p_source_72 => l_array_source_72(Idx)
196649 , p_source_73 => l_array_source_73(Idx)
196650 , p_source_74 => l_array_source_74(Idx)
196651 , p_source_75 => l_array_source_75(Idx)
196652 , p_source_76 => l_array_source_76(Idx)
196653 , p_source_77 => l_array_source_77(Idx)
196654 , p_source_78 => l_array_source_78(Idx)
196655 , p_source_79 => l_array_source_79(Idx)
196656 , p_source_80 => l_array_source_80(Idx)
196657 , p_source_81 => l_array_source_81(Idx)
196658 , p_source_82 => l_array_source_82(Idx)
196659 , p_source_83 => l_array_source_83(Idx)
196660 , p_source_135 => l_array_source_135(Idx)
196661 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196662 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196663 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196664 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196665 );
196666 If(l_balance_type_code = 'A') THEN
196667 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196668 END IF;
196669
196670 --
196671
196672
196673 --
196674 AcctLineType_246 (
196675 p_application_id => p_application_id
196676 ,p_event_id => l_event_id
196677 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196678 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196679 ,p_actual_flag => l_actual_flag
196680 ,p_balance_type_code => l_balance_type_code
196681 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196682
196683 , p_source_1 => l_array_source_1(Idx)
196684 , p_source_9 => l_array_source_9(Idx)
196685 , p_source_21 => l_array_source_21(Idx)
196686 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196687 , p_source_39 => l_array_source_39(Idx)
196688 , p_source_41 => l_array_source_41(Idx)
196689 , p_source_43 => l_array_source_43(Idx)
196690 , p_source_45 => l_array_source_45(Idx)
196691 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196692 , p_source_52 => l_array_source_52(Idx)
196693 , p_source_53 => l_array_source_53(Idx)
196694 , p_source_54 => l_array_source_54(Idx)
196695 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196696 , p_source_56 => l_array_source_56(Idx)
196697 , p_source_57 => l_array_source_57(Idx)
196698 , p_source_58 => l_array_source_58(Idx)
196699 , p_source_59 => l_array_source_59(Idx)
196700 , p_source_60 => l_array_source_60(Idx)
196701 , p_source_61 => l_array_source_61(Idx)
196702 , p_source_65 => l_array_source_65(Idx)
196703 , p_source_66 => l_array_source_66(Idx)
196704 , p_source_67 => l_array_source_67(Idx)
196705 , p_source_68 => l_array_source_68(Idx)
196706 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196707 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196708 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196709 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196710 , p_source_72 => l_array_source_72(Idx)
196711 , p_source_73 => l_array_source_73(Idx)
196712 , p_source_74 => l_array_source_74(Idx)
196713 , p_source_75 => l_array_source_75(Idx)
196714 , p_source_76 => l_array_source_76(Idx)
196715 , p_source_77 => l_array_source_77(Idx)
196716 , p_source_78 => l_array_source_78(Idx)
196717 , p_source_79 => l_array_source_79(Idx)
196718 , p_source_80 => l_array_source_80(Idx)
196719 , p_source_81 => l_array_source_81(Idx)
196720 , p_source_82 => l_array_source_82(Idx)
196721 , p_source_83 => l_array_source_83(Idx)
196722 , p_source_135 => l_array_source_135(Idx)
196723 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196724 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196725 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196726 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196727 );
196728 If(l_balance_type_code = 'A') THEN
196729 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196730 END IF;
196731
196732 --
196733
196734
196735 --
196736 AcctLineType_251 (
196737 p_application_id => p_application_id
196738 ,p_event_id => l_event_id
196739 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196740 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196741 ,p_actual_flag => l_actual_flag
196742 ,p_balance_type_code => l_balance_type_code
196743 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196744
196745 , p_source_1 => l_array_source_1(Idx)
196746 , p_source_9 => l_array_source_9(Idx)
196747 , p_source_21 => l_array_source_21(Idx)
196748 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196749 , p_source_38 => l_array_source_38(Idx)
196750 , p_source_41 => l_array_source_41(Idx)
196751 , p_source_43 => l_array_source_43(Idx)
196752 , p_source_45 => l_array_source_45(Idx)
196753 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196754 , p_source_52 => l_array_source_52(Idx)
196755 , p_source_53 => l_array_source_53(Idx)
196756 , p_source_54 => l_array_source_54(Idx)
196757 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196758 , p_source_56 => l_array_source_56(Idx)
196759 , p_source_57 => l_array_source_57(Idx)
196760 , p_source_58 => l_array_source_58(Idx)
196761 , p_source_59 => l_array_source_59(Idx)
196762 , p_source_60 => l_array_source_60(Idx)
196763 , p_source_61 => l_array_source_61(Idx)
196764 , p_source_62 => l_array_source_62(Idx)
196765 , p_source_63 => l_array_source_63(Idx)
196766 , p_source_64 => l_array_source_64(Idx)
196767 , p_source_65 => l_array_source_65(Idx)
196771 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196768 , p_source_66 => l_array_source_66(Idx)
196769 , p_source_67 => l_array_source_67(Idx)
196770 , p_source_68 => l_array_source_68(Idx)
196772 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196773 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196774 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196775 , p_source_72 => l_array_source_72(Idx)
196776 , p_source_73 => l_array_source_73(Idx)
196777 , p_source_74 => l_array_source_74(Idx)
196778 , p_source_75 => l_array_source_75(Idx)
196779 , p_source_76 => l_array_source_76(Idx)
196780 , p_source_77 => l_array_source_77(Idx)
196781 , p_source_78 => l_array_source_78(Idx)
196782 , p_source_79 => l_array_source_79(Idx)
196783 , p_source_80 => l_array_source_80(Idx)
196784 , p_source_81 => l_array_source_81(Idx)
196785 , p_source_82 => l_array_source_82(Idx)
196786 , p_source_83 => l_array_source_83(Idx)
196787 , p_source_84 => l_array_source_84(Idx)
196788 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196789 , p_source_135 => l_array_source_135(Idx)
196790 , p_source_135_meaning => l_array_source_135_meaning(Idx)
196791 );
196792 If(l_balance_type_code = 'A') THEN
196793 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196794 END IF;
196795
196796 --
196797
196798
196799 --
196800 AcctLineType_254 (
196801 p_application_id => p_application_id
196802 ,p_event_id => l_event_id
196803 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196804 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196805 ,p_actual_flag => l_actual_flag
196806 ,p_balance_type_code => l_balance_type_code
196807 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196808
196809 , p_source_21 => l_array_source_21(Idx)
196810 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196811 , p_source_41 => l_array_source_41(Idx)
196812 , p_source_43 => l_array_source_43(Idx)
196813 , p_source_45 => l_array_source_45(Idx)
196814 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196815 , p_source_52 => l_array_source_52(Idx)
196816 , p_source_53 => l_array_source_53(Idx)
196817 , p_source_54 => l_array_source_54(Idx)
196818 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196819 , p_source_56 => l_array_source_56(Idx)
196820 , p_source_57 => l_array_source_57(Idx)
196821 , p_source_58 => l_array_source_58(Idx)
196822 , p_source_59 => l_array_source_59(Idx)
196823 , p_source_60 => l_array_source_60(Idx)
196824 , p_source_61 => l_array_source_61(Idx)
196825 , p_source_65 => l_array_source_65(Idx)
196826 , p_source_66 => l_array_source_66(Idx)
196827 , p_source_67 => l_array_source_67(Idx)
196828 , p_source_68 => l_array_source_68(Idx)
196829 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196830 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196831 , p_source_72 => l_array_source_72(Idx)
196832 , p_source_73 => l_array_source_73(Idx)
196833 , p_source_74 => l_array_source_74(Idx)
196834 , p_source_75 => l_array_source_75(Idx)
196835 , p_source_76 => l_array_source_76(Idx)
196836 , p_source_77 => l_array_source_77(Idx)
196837 , p_source_78 => l_array_source_78(Idx)
196838 , p_source_79 => l_array_source_79(Idx)
196839 , p_source_80 => l_array_source_80(Idx)
196840 , p_source_81 => l_array_source_81(Idx)
196841 , p_source_82 => l_array_source_82(Idx)
196842 , p_source_83 => l_array_source_83(Idx)
196843 , p_source_84 => l_array_source_84(Idx)
196844 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196845 , p_source_85 => l_array_source_85(Idx)
196846 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
196847 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
196848 , p_source_87 => l_array_source_87(Idx)
196849 , p_source_87_meaning => l_array_source_87_meaning(Idx)
196850 , p_source_88 => l_array_source_88(Idx)
196851 , p_source_143 => l_array_source_143(Idx)
196852 );
196853 If(l_balance_type_code = 'A') THEN
196854 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196855 END IF;
196856
196857 --
196858
196859
196860 --
196861 AcctLineType_259 (
196862 p_application_id => p_application_id
196863 ,p_event_id => l_event_id
196864 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196865 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196866 ,p_actual_flag => l_actual_flag
196867 ,p_balance_type_code => l_balance_type_code
196868 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196869
196870 , p_source_21 => l_array_source_21(Idx)
196871 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196872 , p_source_41 => l_array_source_41(Idx)
196873 , p_source_43 => l_array_source_43(Idx)
196874 , p_source_45 => l_array_source_45(Idx)
196875 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196876 , p_source_52 => l_array_source_52(Idx)
196877 , p_source_53 => l_array_source_53(Idx)
196878 , p_source_54 => l_array_source_54(Idx)
196879 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196880 , p_source_56 => l_array_source_56(Idx)
196881 , p_source_57 => l_array_source_57(Idx)
196882 , p_source_58 => l_array_source_58(Idx)
196883 , p_source_59 => l_array_source_59(Idx)
196884 , p_source_60 => l_array_source_60(Idx)
196885 , p_source_61 => l_array_source_61(Idx)
196886 , p_source_65 => l_array_source_65(Idx)
196887 , p_source_66 => l_array_source_66(Idx)
196888 , p_source_67 => l_array_source_67(Idx)
196889 , p_source_68 => l_array_source_68(Idx)
196890 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196891 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196892 , p_source_72 => l_array_source_72(Idx)
196893 , p_source_73 => l_array_source_73(Idx)
196894 , p_source_74 => l_array_source_74(Idx)
196895 , p_source_75 => l_array_source_75(Idx)
196896 , p_source_76 => l_array_source_76(Idx)
196897 , p_source_77 => l_array_source_77(Idx)
196901 , p_source_81 => l_array_source_81(Idx)
196898 , p_source_78 => l_array_source_78(Idx)
196899 , p_source_79 => l_array_source_79(Idx)
196900 , p_source_80 => l_array_source_80(Idx)
196902 , p_source_82 => l_array_source_82(Idx)
196903 , p_source_83 => l_array_source_83(Idx)
196904 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
196905 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
196906 , p_source_87 => l_array_source_87(Idx)
196907 , p_source_87_meaning => l_array_source_87_meaning(Idx)
196908 , p_source_143 => l_array_source_143(Idx)
196909 , p_source_144 => l_array_source_144(Idx)
196910 );
196911 If(l_balance_type_code = 'A') THEN
196912 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196913 END IF;
196914
196915 --
196916
196917
196918 --
196919 AcctLineType_263 (
196920 p_application_id => p_application_id
196921 ,p_event_id => l_event_id
196922 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196923 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196924 ,p_actual_flag => l_actual_flag
196925 ,p_balance_type_code => l_balance_type_code
196926 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196927
196928 , p_source_1 => l_array_source_1(Idx)
196929 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
196930 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
196931 , p_source_8 => g_array_event(l_event_id).array_value_num('source_8')
196932 , p_source_9 => l_array_source_9(Idx)
196933 , p_source_10 => l_array_source_10(Idx)
196934 , p_source_10_meaning => l_array_source_10_meaning(Idx)
196935 , p_source_11 => g_array_event(l_event_id).array_value_num('source_11')
196936 , p_source_18 => l_array_source_18(Idx)
196937 , p_source_21 => l_array_source_21(Idx)
196938 , p_source_21_meaning => l_array_source_21_meaning(Idx)
196939 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
196940 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
196941 , p_source_41 => l_array_source_41(Idx)
196942 , p_source_43 => l_array_source_43(Idx)
196943 , p_source_45 => l_array_source_45(Idx)
196944 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
196945 , p_source_52 => l_array_source_52(Idx)
196946 , p_source_53 => l_array_source_53(Idx)
196947 , p_source_54 => l_array_source_54(Idx)
196948 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
196949 , p_source_56 => l_array_source_56(Idx)
196950 , p_source_57 => l_array_source_57(Idx)
196951 , p_source_58 => l_array_source_58(Idx)
196952 , p_source_59 => l_array_source_59(Idx)
196953 , p_source_60 => l_array_source_60(Idx)
196954 , p_source_61 => l_array_source_61(Idx)
196955 , p_source_65 => l_array_source_65(Idx)
196956 , p_source_66 => l_array_source_66(Idx)
196957 , p_source_67 => l_array_source_67(Idx)
196958 , p_source_68 => l_array_source_68(Idx)
196959 , p_source_68_meaning => l_array_source_68_meaning(Idx)
196960 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
196961 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
196962 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
196963 , p_source_72 => l_array_source_72(Idx)
196964 , p_source_73 => l_array_source_73(Idx)
196965 , p_source_74 => l_array_source_74(Idx)
196966 , p_source_75 => l_array_source_75(Idx)
196967 , p_source_76 => l_array_source_76(Idx)
196968 , p_source_77 => l_array_source_77(Idx)
196969 , p_source_78 => l_array_source_78(Idx)
196970 , p_source_79 => l_array_source_79(Idx)
196971 , p_source_80 => l_array_source_80(Idx)
196972 , p_source_81 => l_array_source_81(Idx)
196973 , p_source_82 => l_array_source_82(Idx)
196974 , p_source_83 => l_array_source_83(Idx)
196975 , p_source_84 => l_array_source_84(Idx)
196976 , p_source_84_meaning => l_array_source_84_meaning(Idx)
196977 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
196978 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
196979 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
196980 );
196981 If(l_balance_type_code = 'A') THEN
196982 l_actual_gain_loss_ref := l_gain_or_loss_ref;
196983 END IF;
196984
196985 --
196986
196987
196988 --
196989 AcctLineType_269 (
196990 p_application_id => p_application_id
196991 ,p_event_id => l_event_id
196992 ,p_calculate_acctd_flag => l_calculate_acctd_flag
196993 ,p_calculate_g_l_flag => l_calculate_g_l_flag
196994 ,p_actual_flag => l_actual_flag
196995 ,p_balance_type_code => l_balance_type_code
196996 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
196997
196998 , p_source_1 => l_array_source_1(Idx)
196999 , p_source_9 => l_array_source_9(Idx)
197000 , p_source_18 => l_array_source_18(Idx)
197001 , p_source_21 => l_array_source_21(Idx)
197002 , p_source_21_meaning => l_array_source_21_meaning(Idx)
197003 , p_source_41 => l_array_source_41(Idx)
197004 , p_source_43 => l_array_source_43(Idx)
197005 , p_source_45 => l_array_source_45(Idx)
197006 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
197007 , p_source_52 => l_array_source_52(Idx)
197008 , p_source_53 => l_array_source_53(Idx)
197009 , p_source_54 => l_array_source_54(Idx)
197010 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
197011 , p_source_56 => l_array_source_56(Idx)
197012 , p_source_57 => l_array_source_57(Idx)
197013 , p_source_58 => l_array_source_58(Idx)
197014 , p_source_59 => l_array_source_59(Idx)
197015 , p_source_60 => l_array_source_60(Idx)
197016 , p_source_61 => l_array_source_61(Idx)
197017 , p_source_65 => l_array_source_65(Idx)
197018 , p_source_66 => l_array_source_66(Idx)
197019 , p_source_67 => l_array_source_67(Idx)
197020 , p_source_68 => l_array_source_68(Idx)
197021 , p_source_68_meaning => l_array_source_68_meaning(Idx)
197022 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
197026 , p_source_73 => l_array_source_73(Idx)
197023 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
197024 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
197025 , p_source_72 => l_array_source_72(Idx)
197027 , p_source_74 => l_array_source_74(Idx)
197028 , p_source_75 => l_array_source_75(Idx)
197029 , p_source_76 => l_array_source_76(Idx)
197030 , p_source_77 => l_array_source_77(Idx)
197031 , p_source_78 => l_array_source_78(Idx)
197032 , p_source_79 => l_array_source_79(Idx)
197033 , p_source_80 => l_array_source_80(Idx)
197034 , p_source_81 => l_array_source_81(Idx)
197035 , p_source_82 => l_array_source_82(Idx)
197036 , p_source_83 => l_array_source_83(Idx)
197037 , p_source_84 => l_array_source_84(Idx)
197038 , p_source_84_meaning => l_array_source_84_meaning(Idx)
197039 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
197040 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
197041 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
197042 );
197043 If(l_balance_type_code = 'A') THEN
197044 l_actual_gain_loss_ref := l_gain_or_loss_ref;
197045 END IF;
197046
197047 --
197048
197049
197050 --
197051 AcctLineType_270 (
197052 p_application_id => p_application_id
197053 ,p_event_id => l_event_id
197054 ,p_calculate_acctd_flag => l_calculate_acctd_flag
197055 ,p_calculate_g_l_flag => l_calculate_g_l_flag
197056 ,p_actual_flag => l_actual_flag
197057 ,p_balance_type_code => l_balance_type_code
197058 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
197059
197060 , p_source_21 => l_array_source_21(Idx)
197061 , p_source_21_meaning => l_array_source_21_meaning(Idx)
197062 , p_source_41 => l_array_source_41(Idx)
197063 , p_source_43 => l_array_source_43(Idx)
197064 , p_source_45 => l_array_source_45(Idx)
197065 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
197066 , p_source_52 => l_array_source_52(Idx)
197067 , p_source_53 => l_array_source_53(Idx)
197068 , p_source_54 => l_array_source_54(Idx)
197069 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
197070 , p_source_56 => l_array_source_56(Idx)
197071 , p_source_57 => l_array_source_57(Idx)
197072 , p_source_58 => l_array_source_58(Idx)
197073 , p_source_59 => l_array_source_59(Idx)
197074 , p_source_60 => l_array_source_60(Idx)
197075 , p_source_61 => l_array_source_61(Idx)
197076 , p_source_65 => l_array_source_65(Idx)
197077 , p_source_66 => l_array_source_66(Idx)
197078 , p_source_67 => l_array_source_67(Idx)
197079 , p_source_68 => l_array_source_68(Idx)
197080 , p_source_68_meaning => l_array_source_68_meaning(Idx)
197081 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
197082 , p_source_72 => l_array_source_72(Idx)
197083 , p_source_73 => l_array_source_73(Idx)
197084 , p_source_74 => l_array_source_74(Idx)
197085 , p_source_75 => l_array_source_75(Idx)
197086 , p_source_76 => l_array_source_76(Idx)
197087 , p_source_77 => l_array_source_77(Idx)
197088 , p_source_78 => l_array_source_78(Idx)
197089 , p_source_79 => l_array_source_79(Idx)
197090 , p_source_80 => l_array_source_80(Idx)
197091 , p_source_81 => l_array_source_81(Idx)
197092 , p_source_82 => l_array_source_82(Idx)
197093 , p_source_83 => l_array_source_83(Idx)
197094 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
197095 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
197096 , p_source_87 => l_array_source_87(Idx)
197097 , p_source_87_meaning => l_array_source_87_meaning(Idx)
197098 , p_source_143 => l_array_source_143(Idx)
197099 , p_source_144 => l_array_source_144(Idx)
197100 );
197101 If(l_balance_type_code = 'A') THEN
197102 l_actual_gain_loss_ref := l_gain_or_loss_ref;
197103 END IF;
197104
197105 --
197106
197107
197108 --
197109 AcctLineType_275 (
197110 p_application_id => p_application_id
197111 ,p_event_id => l_event_id
197112 ,p_calculate_acctd_flag => l_calculate_acctd_flag
197113 ,p_calculate_g_l_flag => l_calculate_g_l_flag
197114 ,p_actual_flag => l_actual_flag
197115 ,p_balance_type_code => l_balance_type_code
197116 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
197117
197118 , p_source_21 => l_array_source_21(Idx)
197119 , p_source_21_meaning => l_array_source_21_meaning(Idx)
197120 , p_source_41 => l_array_source_41(Idx)
197121 , p_source_43 => l_array_source_43(Idx)
197122 , p_source_45 => l_array_source_45(Idx)
197123 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
197124 , p_source_52 => l_array_source_52(Idx)
197125 , p_source_53 => l_array_source_53(Idx)
197126 , p_source_54 => l_array_source_54(Idx)
197127 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
197128 , p_source_56 => l_array_source_56(Idx)
197129 , p_source_57 => l_array_source_57(Idx)
197130 , p_source_58 => l_array_source_58(Idx)
197131 , p_source_59 => l_array_source_59(Idx)
197132 , p_source_60 => l_array_source_60(Idx)
197133 , p_source_61 => l_array_source_61(Idx)
197134 , p_source_65 => l_array_source_65(Idx)
197135 , p_source_66 => l_array_source_66(Idx)
197136 , p_source_67 => l_array_source_67(Idx)
197137 , p_source_68 => l_array_source_68(Idx)
197138 , p_source_68_meaning => l_array_source_68_meaning(Idx)
197139 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
197140 , p_source_72 => l_array_source_72(Idx)
197141 , p_source_73 => l_array_source_73(Idx)
197142 , p_source_74 => l_array_source_74(Idx)
197143 , p_source_75 => l_array_source_75(Idx)
197144 , p_source_76 => l_array_source_76(Idx)
197145 , p_source_77 => l_array_source_77(Idx)
197146 , p_source_78 => l_array_source_78(Idx)
197147 , p_source_79 => l_array_source_79(Idx)
197148 , p_source_80 => l_array_source_80(Idx)
197149 , p_source_81 => l_array_source_81(Idx)
197150 , p_source_82 => l_array_source_82(Idx)
197151 , p_source_83 => l_array_source_83(Idx)
197155 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
197152 , p_source_84 => l_array_source_84(Idx)
197153 , p_source_84_meaning => l_array_source_84_meaning(Idx)
197154 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
197156 , p_source_87 => l_array_source_87(Idx)
197157 , p_source_87_meaning => l_array_source_87_meaning(Idx)
197158 , p_source_161 => l_array_source_161(Idx)
197159 , p_source_162 => l_array_source_162(Idx)
197160 );
197161 If(l_balance_type_code = 'A') THEN
197162 l_actual_gain_loss_ref := l_gain_or_loss_ref;
197163 END IF;
197164
197165 --
197166
197167
197168 --
197169 AcctLineType_281 (
197170 p_application_id => p_application_id
197171 ,p_event_id => l_event_id
197172 ,p_calculate_acctd_flag => l_calculate_acctd_flag
197173 ,p_calculate_g_l_flag => l_calculate_g_l_flag
197174 ,p_actual_flag => l_actual_flag
197175 ,p_balance_type_code => l_balance_type_code
197176 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
197177
197178 , p_source_1 => l_array_source_1(Idx)
197179 , p_source_9 => l_array_source_9(Idx)
197180 , p_source_18 => l_array_source_18(Idx)
197181 , p_source_21 => l_array_source_21(Idx)
197182 , p_source_21_meaning => l_array_source_21_meaning(Idx)
197183 , p_source_41 => l_array_source_41(Idx)
197184 , p_source_43 => l_array_source_43(Idx)
197185 , p_source_45 => l_array_source_45(Idx)
197186 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
197187 , p_source_52 => l_array_source_52(Idx)
197188 , p_source_53 => l_array_source_53(Idx)
197189 , p_source_54 => l_array_source_54(Idx)
197190 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
197191 , p_source_56 => l_array_source_56(Idx)
197192 , p_source_57 => l_array_source_57(Idx)
197193 , p_source_58 => l_array_source_58(Idx)
197194 , p_source_59 => l_array_source_59(Idx)
197195 , p_source_60 => l_array_source_60(Idx)
197196 , p_source_61 => l_array_source_61(Idx)
197197 , p_source_65 => l_array_source_65(Idx)
197198 , p_source_66 => l_array_source_66(Idx)
197199 , p_source_67 => l_array_source_67(Idx)
197200 , p_source_68 => l_array_source_68(Idx)
197201 , p_source_68_meaning => l_array_source_68_meaning(Idx)
197202 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
197203 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
197204 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
197205 , p_source_72 => l_array_source_72(Idx)
197206 , p_source_73 => l_array_source_73(Idx)
197207 , p_source_74 => l_array_source_74(Idx)
197208 , p_source_75 => l_array_source_75(Idx)
197209 , p_source_76 => l_array_source_76(Idx)
197210 , p_source_77 => l_array_source_77(Idx)
197211 , p_source_78 => l_array_source_78(Idx)
197212 , p_source_79 => l_array_source_79(Idx)
197213 , p_source_80 => l_array_source_80(Idx)
197214 , p_source_81 => l_array_source_81(Idx)
197215 , p_source_82 => l_array_source_82(Idx)
197216 , p_source_83 => l_array_source_83(Idx)
197217 , p_source_84 => l_array_source_84(Idx)
197218 , p_source_84_meaning => l_array_source_84_meaning(Idx)
197219 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
197220 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
197221 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
197222 );
197223 If(l_balance_type_code = 'A') THEN
197224 l_actual_gain_loss_ref := l_gain_or_loss_ref;
197225 END IF;
197226
197227 --
197228
197229
197230 --
197231 AcctLineType_282 (
197232 p_application_id => p_application_id
197233 ,p_event_id => l_event_id
197234 ,p_calculate_acctd_flag => l_calculate_acctd_flag
197235 ,p_calculate_g_l_flag => l_calculate_g_l_flag
197236 ,p_actual_flag => l_actual_flag
197237 ,p_balance_type_code => l_balance_type_code
197238 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
197239
197240 , p_source_21 => l_array_source_21(Idx)
197241 , p_source_21_meaning => l_array_source_21_meaning(Idx)
197242 , p_source_41 => l_array_source_41(Idx)
197243 , p_source_43 => l_array_source_43(Idx)
197244 , p_source_45 => l_array_source_45(Idx)
197245 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
197246 , p_source_52 => l_array_source_52(Idx)
197247 , p_source_53 => l_array_source_53(Idx)
197248 , p_source_54 => l_array_source_54(Idx)
197249 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
197250 , p_source_56 => l_array_source_56(Idx)
197251 , p_source_57 => l_array_source_57(Idx)
197252 , p_source_58 => l_array_source_58(Idx)
197253 , p_source_59 => l_array_source_59(Idx)
197254 , p_source_60 => l_array_source_60(Idx)
197255 , p_source_61 => l_array_source_61(Idx)
197256 , p_source_65 => l_array_source_65(Idx)
197257 , p_source_66 => l_array_source_66(Idx)
197258 , p_source_67 => l_array_source_67(Idx)
197259 , p_source_68 => l_array_source_68(Idx)
197260 , p_source_68_meaning => l_array_source_68_meaning(Idx)
197261 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
197262 , p_source_72 => l_array_source_72(Idx)
197263 , p_source_73 => l_array_source_73(Idx)
197264 , p_source_74 => l_array_source_74(Idx)
197265 , p_source_75 => l_array_source_75(Idx)
197266 , p_source_76 => l_array_source_76(Idx)
197267 , p_source_77 => l_array_source_77(Idx)
197268 , p_source_78 => l_array_source_78(Idx)
197269 , p_source_79 => l_array_source_79(Idx)
197270 , p_source_80 => l_array_source_80(Idx)
197271 , p_source_81 => l_array_source_81(Idx)
197272 , p_source_82 => l_array_source_82(Idx)
197273 , p_source_83 => l_array_source_83(Idx)
197274 , p_source_86 => g_array_event(l_event_id).array_value_char('source_86')
197275 , p_source_86_meaning => g_array_event(l_event_id).array_value_char('source_86_meaning')
197276 , p_source_87 => l_array_source_87(Idx)
197277 , p_source_87_meaning => l_array_source_87_meaning(Idx)
197278 , p_source_143 => l_array_source_143(Idx)
197282 l_actual_gain_loss_ref := l_gain_or_loss_ref;
197279 , p_source_144 => l_array_source_144(Idx)
197280 );
197281 If(l_balance_type_code = 'A') THEN
197283 END IF;
197284
197285 --
197286
197287
197288 --
197289 AcctLineType_289 (
197290 p_application_id => p_application_id
197291 ,p_event_id => l_event_id
197292 ,p_calculate_acctd_flag => l_calculate_acctd_flag
197293 ,p_calculate_g_l_flag => l_calculate_g_l_flag
197294 ,p_actual_flag => l_actual_flag
197295 ,p_balance_type_code => l_balance_type_code
197296 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
197297
197298 , p_source_1 => l_array_source_1(Idx)
197299 , p_source_3 => g_array_event(l_event_id).array_value_char('source_3')
197300 , p_source_3_meaning => g_array_event(l_event_id).array_value_char('source_3_meaning')
197301 , p_source_9 => l_array_source_9(Idx)
197302 , p_source_18 => l_array_source_18(Idx)
197303 , p_source_21 => l_array_source_21(Idx)
197304 , p_source_21_meaning => l_array_source_21_meaning(Idx)
197305 , p_source_31 => l_array_source_31(Idx)
197306 , p_source_41 => l_array_source_41(Idx)
197307 , p_source_43 => l_array_source_43(Idx)
197308 , p_source_45 => l_array_source_45(Idx)
197309 , p_source_46 => g_array_event(l_event_id).array_value_num('source_46')
197310 , p_source_52 => l_array_source_52(Idx)
197311 , p_source_53 => l_array_source_53(Idx)
197312 , p_source_54 => l_array_source_54(Idx)
197313 , p_source_55 => g_array_event(l_event_id).array_value_char('source_55')
197314 , p_source_56 => l_array_source_56(Idx)
197315 , p_source_57 => l_array_source_57(Idx)
197316 , p_source_58 => l_array_source_58(Idx)
197317 , p_source_59 => l_array_source_59(Idx)
197318 , p_source_60 => l_array_source_60(Idx)
197319 , p_source_61 => l_array_source_61(Idx)
197320 , p_source_65 => l_array_source_65(Idx)
197321 , p_source_66 => l_array_source_66(Idx)
197322 , p_source_67 => l_array_source_67(Idx)
197323 , p_source_68 => l_array_source_68(Idx)
197324 , p_source_68_meaning => l_array_source_68_meaning(Idx)
197325 , p_source_69 => g_array_event(l_event_id).array_value_num('source_69')
197326 , p_source_70 => g_array_event(l_event_id).array_value_num('source_70')
197327 , p_source_71 => g_array_event(l_event_id).array_value_char('source_71')
197328 , p_source_72 => l_array_source_72(Idx)
197329 , p_source_73 => l_array_source_73(Idx)
197330 , p_source_74 => l_array_source_74(Idx)
197331 , p_source_75 => l_array_source_75(Idx)
197332 , p_source_76 => l_array_source_76(Idx)
197333 , p_source_77 => l_array_source_77(Idx)
197334 , p_source_78 => l_array_source_78(Idx)
197335 , p_source_79 => l_array_source_79(Idx)
197336 , p_source_80 => l_array_source_80(Idx)
197337 , p_source_81 => l_array_source_81(Idx)
197338 , p_source_82 => l_array_source_82(Idx)
197339 , p_source_83 => l_array_source_83(Idx)
197340 , p_source_136 => g_array_event(l_event_id).array_value_date('source_136')
197341 , p_source_137 => g_array_event(l_event_id).array_value_num('source_137')
197342 , p_source_138 => g_array_event(l_event_id).array_value_char('source_138')
197343 );
197344 If(l_balance_type_code = 'A') THEN
197345 l_actual_gain_loss_ref := l_gain_or_loss_ref;
197346 END IF;
197347
197348 --
197349
197350 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
197351 -- or secondary ledger that has different currency with primary
197352 -- or alc that is calculated by sla
197353 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
197354 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y'))
197355
197356 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
197357 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
197358 AND (l_actual_flag = 'A')) THEN
197359 XLA_AE_LINES_PKG.CreateGainOrLossLines(
197360 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
197361 ,p_application_id => p_application_id
197362 ,p_amb_context_code => 'DEFAULT'
197363 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
197364 ,p_event_class_code => C_EVENT_CLASS_CODE
197365 ,p_event_type_code => C_EVENT_TYPE_CODE
197366
197367 ,p_gain_ccid => -1
197368 ,p_loss_ccid => -1
197369
197370 ,p_actual_flag => l_actual_flag
197371 ,p_enc_flag => null
197372 ,p_actual_g_l_ref => l_actual_gain_loss_ref
197373 ,p_enc_g_l_ref => null
197374 );
197375 END IF;
197376 END IF;
197377 END IF;
197378
197379 ELSE
197380 --
197381 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
197382 --
197383 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
197384 trace
197385 (p_msg => 'Trancaction revesal option is Y'
197386 ,p_level => C_LEVEL_STATEMENT
197387 ,p_module => l_log_module);
197388 END IF;
197389 END IF;
197390
197391 END LOOP;
197392 l_result := XLA_AE_LINES_PKG.InsertLines ;
197393 end loop;
197394 close line_cur;
197395
197396
197397 --
197398 -- insert headers into xla_ae_headers_gt table
197399 --
197400 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
197401
197402 -- insert into errors table here.
197403
197404 END LOOP;
197405
197406 --
197407 -- 4865292
197408 --
197409 -- Compare g_hdr_extract_count with event count in
197410 -- CreateHeadersAndLines.
197411 --
197412 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
197413
197414 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
197415 trace (p_msg => '# rows extracted from header extract objects '
197419 ,p_module => l_log_module);
197416 || ' (running total): '
197417 || g_hdr_extract_count
197418 ,p_level => C_LEVEL_STATEMENT
197420 END IF;
197421
197422 CLOSE header_cur;
197423 --
197424
197425 --
197426 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
197427 trace
197428 (p_msg => 'END of EventClass_294'
197429 ,p_level => C_LEVEL_PROCEDURE
197430 ,p_module => l_log_module);
197431 END IF;
197432 --
197433 RETURN l_result;
197434 EXCEPTION
197435 WHEN xla_exceptions_pkg.application_exception THEN
197436
197437 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
197438
197439
197440 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
197441
197442 RAISE;
197443
197444 WHEN NO_DATA_FOUND THEN
197445
197446 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
197447 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
197448
197449 FOR header_record IN header_cur
197450 LOOP
197451 l_array_header_events(header_record.event_id) := header_record.event_id;
197452 END LOOP;
197453
197454 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
197455 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
197456
197457 fnd_file.put_line(fnd_file.LOG, ' ');
197458 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
197459 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
197460 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
197461
197462 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
197463 LOOP
197464 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
197465 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
197466 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
197467 END IF;
197468 END LOOP;
197469
197470 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
197471 fnd_file.put_line(fnd_file.LOG, ' ');
197472
197473
197474 xla_exceptions_pkg.raise_message
197475 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_294');
197476
197477
197478 WHEN OTHERS THEN
197479 xla_exceptions_pkg.raise_message
197480 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_294');
197481 END EventClass_294;
197482 --
197483
197484 ---------------------------------------
197485 --
197486 -- PRIVATE PROCEDURE
197487 -- insert_sources_295
197488 --
197489 ----------------------------------------
197490 --
197491 PROCEDURE insert_sources_295(
197492 p_target_ledger_id IN NUMBER
197493 , p_language IN VARCHAR2
197494 , p_sla_ledger_id IN NUMBER
197495 , p_pad_start_date IN DATE
197496 , p_pad_end_date IN DATE
197497 )
197498 IS
197499
197500 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN_ALL';
197501 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN';
197502 p_apps_owner VARCHAR2(30);
197503 l_log_module VARCHAR2(240);
197504 BEGIN
197505 IF g_log_enabled THEN
197506 l_log_module := C_DEFAULT_MODULE||'.insert_sources_295';
197507 END IF;
197508 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
197509
197510 trace
197511 (p_msg => 'BEGIN of insert_sources_295'
197512 ,p_level => C_LEVEL_PROCEDURE
197513 ,p_module => l_log_module);
197514
197515 END IF;
197516
197517 -- select APPS owner
197518 SELECT oracle_username
197519 INTO p_apps_owner
197520 FROM fnd_oracle_userid
197521 WHERE read_only_flag = 'U'
197522 ;
197523
197524 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
197525 trace
197526 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
197527 ' - p_language = '||p_language||
197528 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
197529 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
197530 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
197531 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
197532 ,p_level => C_LEVEL_STATEMENT
197533 ,p_module => l_log_module);
197534 END IF;
197535
197536
197537
197538
197539 --
197540 INSERT INTO xla_diag_sources --line2
197541 (
197542 event_id
197543 , ledger_id
197544 , sla_ledger_id
197545 , description_language
197546 , object_name
197547 , object_type_code
197548 , line_number
197549 , source_application_id
197550 , source_type_code
197551 , source_code
197552 , source_value
197553 , source_meaning
197554 , created_by
197555 , creation_date
197556 , last_update_date
197557 , last_updated_by
197558 , last_update_login
197559 , program_update_date
197560 , program_application_id
197561 , program_id
197562 , request_id
197563 )
197564 SELECT event_id
197565 , p_target_ledger_id
197566 , p_sla_ledger_id
197567 , p_language
197568 , object_name
197569 , object_type_code
197570 , line_number
197571 , source_application_id
197572 , source_type_code
197573 , source_code
197574 , SUBSTR(source_value,1,1996)
197575 , SUBSTR(source_meaning ,1,200)
197579 , xla_environment_pkg.g_Usr_Id
197576 , xla_environment_pkg.g_Usr_Id
197577 , TRUNC(SYSDATE)
197578 , TRUNC(SYSDATE)
197580 , xla_environment_pkg.g_Login_Id
197581 , TRUNC(SYSDATE)
197582 , xla_environment_pkg.g_Prog_Appl_Id
197583 , xla_environment_pkg.g_Prog_Id
197584 , xla_environment_pkg.g_Req_Id
197585 FROM (
197586 SELECT xet.event_id event_id
197587 , l1.line_number line_number
197588 , CASE r
197589 WHEN 1 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197590 WHEN 2 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197591 WHEN 3 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197592 WHEN 4 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197593 WHEN 5 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197594 WHEN 6 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197595 WHEN 7 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197596 WHEN 8 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197597 WHEN 9 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197598 WHEN 10 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197599 WHEN 11 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197600 WHEN 12 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197601 WHEN 13 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197602 WHEN 14 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197603 WHEN 15 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197604 WHEN 16 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197605 WHEN 17 THEN 'PA_XLA_BC_PKT_AP_DETAIL_V'
197606
197607 ELSE null
197608 END object_name
197609 , CASE r
197610 WHEN 1 THEN 'LINE'
197611 WHEN 2 THEN 'LINE'
197612 WHEN 3 THEN 'LINE'
197613 WHEN 4 THEN 'LINE'
197614 WHEN 5 THEN 'LINE'
197615 WHEN 6 THEN 'LINE'
197616 WHEN 7 THEN 'LINE'
197617 WHEN 8 THEN 'LINE'
197618 WHEN 9 THEN 'LINE'
197619 WHEN 10 THEN 'LINE'
197620 WHEN 11 THEN 'LINE'
197621 WHEN 12 THEN 'LINE'
197622 WHEN 13 THEN 'LINE'
197623 WHEN 14 THEN 'LINE'
197624 WHEN 15 THEN 'LINE'
197625 WHEN 16 THEN 'LINE'
197626 WHEN 17 THEN 'LINE'
197627
197628 ELSE null
197629 END object_type_code
197630 , CASE r
197631 WHEN 1 THEN '200'
197632 WHEN 2 THEN '200'
197633 WHEN 3 THEN '200'
197634 WHEN 4 THEN '200'
197635 WHEN 5 THEN '200'
197636 WHEN 6 THEN '200'
197637 WHEN 7 THEN '200'
197638 WHEN 8 THEN '200'
197639 WHEN 9 THEN '200'
197640 WHEN 10 THEN '200'
197641 WHEN 11 THEN '200'
197642 WHEN 12 THEN '200'
197643 WHEN 13 THEN '200'
197644 WHEN 14 THEN '200'
197645 WHEN 15 THEN '200'
197646 WHEN 16 THEN '200'
197647 WHEN 17 THEN '200'
197648
197649 ELSE null
197650 END source_application_id
197651 , 'S' source_type_code
197652 , CASE r
197653 WHEN 1 THEN 'DISTRIBUTION_LINK_TYPE'
197654 WHEN 2 THEN 'AID_INVOICE_DIST_ID'
197655 WHEN 3 THEN 'AI_INVOICE_CURRENCY_CODE'
197656 WHEN 4 THEN 'AID_AMOUNT'
197657 WHEN 5 THEN 'ACCT_REVERSAL_INDICATOR'
197658 WHEN 6 THEN 'AID_EXPENDITURE_TYPE'
197659 WHEN 7 THEN 'ENC_UPG_CR_ACCT_CLASS'
197660 WHEN 8 THEN 'ENC_UPG_CR_ACCOUNT'
197661 WHEN 9 THEN 'AID_BASE_AMT_NO_ROUND'
197662 WHEN 10 THEN 'ENC_UPG_DR_ACCT_CLASS'
197663 WHEN 11 THEN 'ENC_UPG_DR_ACCOUNT'
197664 WHEN 12 THEN 'USE_ENC_UPG_ATTRIB_FLAG'
197665 WHEN 13 THEN 'ACCT_REVERSAL_FIRST_DIST_ID'
197666 WHEN 14 THEN 'AP_SECOND_DIST_ID'
197667 WHEN 15 THEN 'ACCT_REV_DISTRIBUTION_TYPE'
197668 WHEN 16 THEN 'ENC_UPG_CR_ENC_TYPE_ID'
197669 WHEN 17 THEN 'ENC_UPG_DR_ENC_TYPE_ID'
197670
197671 ELSE null
197672 END source_code
197673 , CASE r
197674 WHEN 1 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
197675 WHEN 2 THEN TO_CHAR(l1.AID_INVOICE_DIST_ID)
197676 WHEN 3 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
197677 WHEN 4 THEN TO_CHAR(l1.AID_AMOUNT)
197678 WHEN 5 THEN TO_CHAR(l1.ACCT_REVERSAL_INDICATOR)
197679 WHEN 6 THEN TO_CHAR(l1.AID_EXPENDITURE_TYPE)
197680 WHEN 7 THEN TO_CHAR(l1.ENC_UPG_CR_ACCT_CLASS)
197681 WHEN 8 THEN TO_CHAR(l1.ENC_UPG_CR_ACCOUNT)
197682 WHEN 9 THEN TO_CHAR(l1.AID_BASE_AMT_NO_ROUND)
197683 WHEN 10 THEN TO_CHAR(l1.ENC_UPG_DR_ACCT_CLASS)
197684 WHEN 11 THEN TO_CHAR(l1.ENC_UPG_DR_ACCOUNT)
197685 WHEN 12 THEN TO_CHAR(l1.USE_ENC_UPG_ATTRIB_FLAG)
197686 WHEN 13 THEN TO_CHAR(l1.ACCT_REVERSAL_FIRST_DIST_ID)
197687 WHEN 14 THEN TO_CHAR(l1.AP_SECOND_DIST_ID)
197688 WHEN 15 THEN TO_CHAR(l1.ACCT_REV_DISTRIBUTION_TYPE)
197689 WHEN 16 THEN TO_CHAR(l1.ENC_UPG_CR_ENC_TYPE_ID)
197690 WHEN 17 THEN TO_CHAR(l1.ENC_UPG_DR_ENC_TYPE_ID)
197691
197692 ELSE null
197693 END source_value
197694 , null source_meaning
197695 FROM xla_events_gt xet
197699 AND xet.event_class_code = C_EVENT_CLASS_CODE
197696 , PA_XLA_BC_PKT_AP_DETAIL_V l1
197697 , (select rownum r from all_objects where rownum <= 17 and owner = p_apps_owner)
197698 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
197700 AND l1.event_id = xet.event_id
197701
197702 )
197703 ;
197704 --
197705 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
197706
197707 trace
197708 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
197709 ,p_level => C_LEVEL_STATEMENT
197710 ,p_module => l_log_module);
197711
197712 END IF;
197713
197714
197715 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
197716 trace
197717 (p_msg => 'END of insert_sources_295'
197718 ,p_level => C_LEVEL_PROCEDURE
197719 ,p_module => l_log_module);
197720 END IF;
197721 EXCEPTION
197722 WHEN xla_exceptions_pkg.application_exception THEN
197723 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
197724 trace
197725 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
197726 ,p_level => C_LEVEL_EXCEPTION
197727 ,p_module => l_log_module);
197728 END IF;
197729 RAISE;
197730 WHEN OTHERS THEN
197731 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
197732 trace
197733 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
197734 ,p_level => C_LEVEL_EXCEPTION
197735 ,p_module => l_log_module);
197736 END IF;
197737 xla_exceptions_pkg.raise_message
197738 (p_location => 'XLA_00200_AAD_S_000006_PKG.insert_sources_295');
197739 END insert_sources_295;
197740 --
197741
197742 ---------------------------------------
197743 --
197744 -- PRIVATE FUNCTION
197745 -- EventClass_295
197746 --
197747 ----------------------------------------
197748 --
197749 FUNCTION EventClass_295
197750 (p_application_id IN NUMBER
197751 ,p_base_ledger_id IN NUMBER
197752 ,p_target_ledger_id IN NUMBER
197753 ,p_language IN VARCHAR2
197754 ,p_currency_code IN VARCHAR2
197755 ,p_sla_ledger_id IN NUMBER
197756 ,p_pad_start_date IN DATE
197757 ,p_pad_end_date IN DATE
197758 ,p_primary_ledger_id IN NUMBER)
197759 RETURN BOOLEAN IS
197760 --
197761 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN_ALL';
197762 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'INVOICE_BURDEN';
197763
197764 l_calculate_acctd_flag VARCHAR2(1) :='N';
197765 l_calculate_g_l_flag VARCHAR2(1) :='N';
197766 --
197767 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197768 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197769 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
197770 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
197771 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197772 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
197773 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
197774 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197775 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
197776 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
197777 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197778 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197779 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197780 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
197781 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
197782 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
197783 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
197784 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
197785 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
197786 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
197787 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
197788 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
197789 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
197790 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
197791 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
197792 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
197793
197794 l_event_id NUMBER;
197795 l_previous_event_id NUMBER;
197796 l_first_event_id NUMBER;
197797 l_last_event_id NUMBER;
197798
197799 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
197800 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
197801 --
197802 --
197803 l_result BOOLEAN := TRUE;
197804 l_rows NUMBER := 1000;
197805 l_event_type_name VARCHAR2(80) := 'All';
197806 l_event_class_name VARCHAR2(80) := 'Burden for Invoices';
197807 l_description VARCHAR2(4000);
197808 l_transaction_reversal NUMBER;
197809 l_ae_header_id NUMBER;
197810 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
197811 l_log_module VARCHAR2(240);
197812 --
197813 l_acct_reversal_source VARCHAR2(30);
197814 l_trx_reversal_source VARCHAR2(30);
197815
197816 l_continue_with_lines BOOLEAN := TRUE;
197817 --
197818 l_acc_rev_gl_date_source DATE; -- 4262811
197819 --
197823 l_null_rec_array_event t_rec_array_event;
197820 type t_array_event_id is table of number index by binary_integer;
197821
197822 l_rec_array_event t_rec_array_event;
197824 l_array_ae_header_id xla_number_array_type;
197825 l_actual_flag VARCHAR2(1) := NULL;
197826 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
197827 l_balance_type_code VARCHAR2(1) :=NULL;
197828 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
197829
197830 --
197831 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
197832 --
197833
197834
197835 TYPE t_array_source_43 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
197836 TYPE t_array_source_52 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_INVOICE_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
197837 TYPE t_array_source_55 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
197838 TYPE t_array_source_61 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
197839 TYPE t_array_source_172 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
197840 TYPE t_array_source_173 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_EXPENDITURE_TYPE%TYPE INDEX BY BINARY_INTEGER;
197841 TYPE t_array_source_174 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
197842 TYPE t_array_source_175 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
197843 TYPE t_array_source_176 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AID_BASE_AMT_NO_ROUND%TYPE INDEX BY BINARY_INTEGER;
197844 TYPE t_array_source_177 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCT_CLASS%TYPE INDEX BY BINARY_INTEGER;
197845 TYPE t_array_source_178 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
197846 TYPE t_array_source_179 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.USE_ENC_UPG_ATTRIB_FLAG%TYPE INDEX BY BINARY_INTEGER;
197847 TYPE t_array_source_180 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REVERSAL_FIRST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
197848 TYPE t_array_source_181 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.AP_SECOND_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
197849 TYPE t_array_source_182 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ACCT_REV_DISTRIBUTION_TYPE%TYPE INDEX BY BINARY_INTEGER;
197850 TYPE t_array_source_183 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_CR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
197851 TYPE t_array_source_184 IS TABLE OF PA_XLA_BC_PKT_AP_DETAIL_V.ENC_UPG_DR_ENC_TYPE_ID%TYPE INDEX BY BINARY_INTEGER;
197852
197853
197854 l_array_source_43 t_array_source_43;
197855 l_array_source_52 t_array_source_52;
197856 l_array_source_55 t_array_source_55;
197857 l_array_source_61 t_array_source_61;
197858 l_array_source_172 t_array_source_172;
197859 l_array_source_173 t_array_source_173;
197860 l_array_source_174 t_array_source_174;
197861 l_array_source_175 t_array_source_175;
197862 l_array_source_176 t_array_source_176;
197863 l_array_source_177 t_array_source_177;
197864 l_array_source_178 t_array_source_178;
197865 l_array_source_179 t_array_source_179;
197866 l_array_source_180 t_array_source_180;
197867 l_array_source_181 t_array_source_181;
197868 l_array_source_182 t_array_source_182;
197869 l_array_source_183 t_array_source_183;
197870 l_array_source_184 t_array_source_184;
197871
197872 --
197873 CURSOR header_cur
197874 IS
197875 SELECT /*+ leading(xet) cardinality(xet,1) */
197876 -- Event Class Code: INVOICE_BURDEN
197877 xet.entity_id
197878 ,xet.legal_entity_id
197879 ,xet.entity_code
197880 ,xet.transaction_number
197881 ,xet.event_id
197882 ,xet.event_class_code
197883 ,xet.event_type_code
197884 ,xet.event_number
197885 ,xet.event_date
197886 ,xet.transaction_date
197887 ,xet.reference_num_1
197888 ,xet.reference_num_2
197889 ,xet.reference_num_3
197890 ,xet.reference_num_4
197891 ,xet.reference_char_1
197892 ,xet.reference_char_2
197893 ,xet.reference_char_3
197894 ,xet.reference_char_4
197895 ,xet.reference_date_1
197896 ,xet.reference_date_2
197897 ,xet.reference_date_3
197898 ,xet.reference_date_4
197899 ,xet.event_created_by
197900 ,xet.budgetary_control_flag
197901 FROM xla_events_gt xet
197902 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
197903 and xet.event_class_code = C_EVENT_CLASS_CODE
197904 and xet.event_status_code <> 'N'
197905 ORDER BY event_id
197906 ;
197907
197908
197909 --
197910 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
197911 IS
197912 SELECT /*+ leading(xet) cardinality(xet,1) */
197913 -- Event Class Code: INVOICE_BURDEN
197914 xet.entity_id
197915 ,xet.legal_entity_id
197916 ,xet.entity_code
197917 ,xet.transaction_number
197918 ,xet.event_id
197919 ,xet.event_class_code
197920 ,xet.event_type_code
197921 ,xet.event_number
197922 ,xet.event_date
197923 ,xet.transaction_date
197924 ,xet.reference_num_1
197925 ,xet.reference_num_2
197926 ,xet.reference_num_3
197927 ,xet.reference_num_4
197928 ,xet.reference_char_1
197929 ,xet.reference_char_2
197930 ,xet.reference_char_3
197931 ,xet.reference_char_4
197932 ,xet.reference_date_1
197933 ,xet.reference_date_2
197934 ,xet.reference_date_3
197935 ,xet.reference_date_4
197936 ,xet.event_created_by
197937 ,xet.budgetary_control_flag
197938 , l1.LINE_NUMBER
197939 , l1.DISTRIBUTION_LINK_TYPE source_43
197940 , l1.AID_INVOICE_DIST_ID source_52
197941 , l1.AI_INVOICE_CURRENCY_CODE source_55
197942 , l1.AID_AMOUNT source_61
197943 , l1.ACCT_REVERSAL_INDICATOR source_172
197944 , l1.AID_EXPENDITURE_TYPE source_173
197945 , l1.ENC_UPG_CR_ACCT_CLASS source_174
197946 , l1.ENC_UPG_CR_ACCOUNT source_175
197950 , l1.USE_ENC_UPG_ATTRIB_FLAG source_179
197947 , l1.AID_BASE_AMT_NO_ROUND source_176
197948 , l1.ENC_UPG_DR_ACCT_CLASS source_177
197949 , l1.ENC_UPG_DR_ACCOUNT source_178
197951 , l1.ACCT_REVERSAL_FIRST_DIST_ID source_180
197952 , l1.AP_SECOND_DIST_ID source_181
197953 , l1.ACCT_REV_DISTRIBUTION_TYPE source_182
197954 , l1.ENC_UPG_CR_ENC_TYPE_ID source_183
197955 , l1.ENC_UPG_DR_ENC_TYPE_ID source_184
197956 FROM xla_events_gt xet
197957 , PA_XLA_BC_PKT_AP_DETAIL_V l1
197958 WHERE xet.event_id between x_first_event_id and x_last_event_id
197959 and xet.event_date between p_pad_start_date and p_pad_end_date
197960 and xet.event_class_code = C_EVENT_CLASS_CODE
197961 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
197962 ;
197963
197964 --
197965 BEGIN
197966 IF g_log_enabled THEN
197967 l_log_module := C_DEFAULT_MODULE||'.EventClass_295';
197968 END IF;
197969 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
197970 trace
197971 (p_msg => 'BEGIN of EventClass_295'
197972 ,p_level => C_LEVEL_PROCEDURE
197973 ,p_module => l_log_module);
197974 END IF;
197975
197976 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
197977 trace
197978 (p_msg => 'p_application_id = '||p_application_id||
197979 ' - p_base_ledger_id = '||p_base_ledger_id||
197980 ' - p_target_ledger_id = '||p_target_ledger_id||
197981 ' - p_language = '||p_language||
197982 ' - p_currency_code = '||p_currency_code||
197983 ' - p_sla_ledger_id = '||p_sla_ledger_id
197984 ,p_level => C_LEVEL_STATEMENT
197985 ,p_module => l_log_module);
197986 END IF;
197987 --
197988 -- initialze arrays
197989 --
197990 g_array_event.DELETE;
197991 l_rec_array_event := l_null_rec_array_event;
197992 --
197993 --------------------------------------
197994 -- 4262811 Initialze MPA Line Number
197995 --------------------------------------
197996 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
197997
197998 --
197999
198000 --
198001 OPEN header_cur;
198002 --
198003 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198004 trace
198005 (p_msg => 'SQL - FETCH header_cur'
198006 ,p_level => C_LEVEL_STATEMENT
198007 ,p_module => l_log_module);
198008 END IF;
198009 --
198010 LOOP
198011 FETCH header_cur BULK COLLECT INTO
198012 l_array_entity_id
198013 , l_array_legal_entity_id
198014 , l_array_entity_code
198015 , l_array_transaction_num
198016 , l_array_event_id
198017 , l_array_class_code
198018 , l_array_event_type
198019 , l_array_event_number
198020 , l_array_event_date
198021 , l_array_transaction_date
198022 , l_array_reference_num_1
198023 , l_array_reference_num_2
198024 , l_array_reference_num_3
198025 , l_array_reference_num_4
198026 , l_array_reference_char_1
198027 , l_array_reference_char_2
198028 , l_array_reference_char_3
198029 , l_array_reference_char_4
198030 , l_array_reference_date_1
198031 , l_array_reference_date_2
198032 , l_array_reference_date_3
198033 , l_array_reference_date_4
198034 , l_array_event_created_by
198035 , l_array_budgetary_control_flag
198036 LIMIT l_rows;
198037 --
198038 IF (C_LEVEL_EVENT >= g_log_level) THEN
198039 trace
198040 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
198041 ,p_level => C_LEVEL_EVENT
198042 ,p_module => l_log_module);
198043 END IF;
198044 --
198045 EXIT WHEN l_array_entity_id.COUNT = 0;
198046
198047 -- initialize arrays
198048 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
198049 XLA_AE_LINES_PKG.g_rec_lines := NULL;
198050
198051 --
198052 -- Bug 4458708
198053 --
198054 XLA_AE_LINES_PKG.g_LineNumber := 0;
198055
198056
198057 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
198058 g_last_hdr_idx := l_array_event_id.LAST;
198059 --
198060 -- loop for the headers. Each iteration is for each header extract row
198061 -- fetched in header cursor
198062 --
198063 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
198064
198065 --
198066 -- set event info as cache for other routines to refer event attributes
198067 --
198068 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
198069 (p_application_id => p_application_id
198070 ,p_primary_ledger_id => p_primary_ledger_id
198071 ,p_base_ledger_id => p_base_ledger_id
198072 ,p_target_ledger_id => p_target_ledger_id
198073 ,p_entity_id => l_array_entity_id(hdr_idx)
198074 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
198075 ,p_entity_code => l_array_entity_code(hdr_idx)
198076 ,p_transaction_num => l_array_transaction_num(hdr_idx)
198077 ,p_event_id => l_array_event_id(hdr_idx)
198078 ,p_event_class_code => l_array_class_code(hdr_idx)
198079 ,p_event_type_code => l_array_event_type(hdr_idx)
198080 ,p_event_number => l_array_event_number(hdr_idx)
198081 ,p_event_date => l_array_event_date(hdr_idx)
198082 ,p_transaction_date => l_array_transaction_date(hdr_idx)
198083 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
198084 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
198085 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
198086 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
198087 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
198088 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
198089 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
198093 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
198090 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
198091 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
198092 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
198094 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
198095 ,p_event_created_by => l_array_event_created_by(hdr_idx)
198096 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
198097
198098 --
198099 -- set the status of entry to C_VALID (0)
198100 --
198101 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
198102
198103 --
198104 -- initialize a row for ae header
198105 --
198106 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
198107
198108 l_event_id := l_array_event_id(hdr_idx);
198109
198110 --
198111 -- storing the hdr_idx for event. May be used by line cursor.
198112 --
198113 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
198114
198115 --
198116 -- store sources from header extract. This can be improved to
198117 -- store only those sources from header extract that may be used in lines
198118 --
198119
198120
198121 --
198122 -- initilaize the status of ae headers for diffrent balance types
198123 -- the status is initialised to C_NOT_CREATED (2)
198124 --
198125 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
198126 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
198127 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
198128
198129 --
198130 -- call api to validate and store accounting attributes for header
198131 --
198132
198133 ------------------------------------------------------------
198134 -- Accrual Reversal : to get date for Standard Source (NONE)
198135 ------------------------------------------------------------
198136 l_acc_rev_gl_date_source := NULL;
198137
198138 l_rec_acct_attrs.array_acct_attr_code(1) := 'GL_DATE';
198139 l_rec_acct_attrs.array_date_value(1) :=
198140 xla_ae_sources_pkg.GetSystemSourceDate(
198141 p_source_code => 'XLA_EVENT_DATE'
198142 , p_source_type_code => 'Y'
198143 , p_source_application_id => 602
198144 );
198145
198146
198147 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
198148
198149 XLA_AE_HEADER_PKG.SetJeCategoryName;
198150
198151 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
198152 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
198153 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
198154 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
198155 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
198156
198157
198158 -- No header level analytical criteria
198159
198160 --
198161 --accounting attribute enhancement, bug 3612931
198162 --
198163 l_trx_reversal_source := SUBSTR(NULL, 1,30);
198164
198165 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
198166 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
198167
198168 xla_accounting_err_pkg.build_message
198169 (p_appli_s_name => 'XLA'
198170 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
198171 ,p_token_1 => 'ACCT_ATTR_NAME'
198172 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
198173 ,p_token_2 => 'PRODUCT_NAME'
198174 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
198175 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
198176 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
198177 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
198178
198179 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
198180 --
198181 -- following sets the accounting attributes needed to reverse
198182 -- accounting for a distributeion
198183 --
198184 xla_ae_lines_pkg.SetTrxReversalAttrs
198185 (p_event_id => l_event_id
198186 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
198187 ,p_trx_reversal_source => l_trx_reversal_source);
198188
198189 END IF;
198190
198191
198192 ----------------------------------------------------------------
198193 -- 4262811 - update the header statuses to invalid in need be
198194 ----------------------------------------------------------------
198195 --
198196 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
198197
198198
198199 -----------------------------------------------
198200 -- No accrual reversal for the event class/type
198201 -----------------------------------------------
198202 ----------------------------------------------------------------
198203
198204 --
198205 -- this ends the header loop iteration for one bulk fetch
198206 --
198207 END LOOP;
198208
198209 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
198210 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
198211
198212 --
198213 -- insert dummy rows into lines gt table that were created due to
198214 -- transaction reversals
198215 --
198216 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
198217 l_result := XLA_AE_LINES_PKG.InsertLines;
198218 END IF;
198219
198220 --
198221 -- reset the temp_line_num for each set of events fetched from header
198222 -- cursor rather than doing it for each new event in line cursor
198223 -- Bug 3939231
198224 --
198228
198225 xla_ae_lines_pkg.g_temp_line_num := 0;
198226
198227
198229 --
198230 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
198231 --
198232 --
198233 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198234
198235 trace
198236 (p_msg => 'SQL - FETCH line_cur'
198237 ,p_level => C_LEVEL_STATEMENT
198238 ,p_module => l_log_module);
198239
198240 END IF;
198241 --
198242 --
198243 LOOP
198244 --
198245 FETCH line_cur BULK COLLECT INTO
198246 l_array_entity_id
198247 , l_array_legal_entity_id
198248 , l_array_entity_code
198249 , l_array_transaction_num
198250 , l_array_event_id
198251 , l_array_class_code
198252 , l_array_event_type
198253 , l_array_event_number
198254 , l_array_event_date
198255 , l_array_transaction_date
198256 , l_array_reference_num_1
198257 , l_array_reference_num_2
198258 , l_array_reference_num_3
198259 , l_array_reference_num_4
198260 , l_array_reference_char_1
198261 , l_array_reference_char_2
198262 , l_array_reference_char_3
198263 , l_array_reference_char_4
198264 , l_array_reference_date_1
198265 , l_array_reference_date_2
198266 , l_array_reference_date_3
198267 , l_array_reference_date_4
198268 , l_array_event_created_by
198269 , l_array_budgetary_control_flag
198270 , l_array_extract_line_num
198271 , l_array_source_43
198272 , l_array_source_52
198273 , l_array_source_55
198274 , l_array_source_61
198275 , l_array_source_172
198276 , l_array_source_173
198277 , l_array_source_174
198278 , l_array_source_175
198279 , l_array_source_176
198280 , l_array_source_177
198281 , l_array_source_178
198282 , l_array_source_179
198283 , l_array_source_180
198284 , l_array_source_181
198285 , l_array_source_182
198286 , l_array_source_183
198287 , l_array_source_184
198288 LIMIT l_rows;
198289
198290 --
198291 IF (C_LEVEL_EVENT >= g_log_level) THEN
198292 trace
198293 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
198294 ,p_level => C_LEVEL_EVENT
198295 ,p_module => l_log_module);
198296 END IF;
198297 --
198298 EXIT WHEN l_array_entity_id.count = 0;
198299
198300 XLA_AE_LINES_PKG.g_rec_lines := null;
198301
198302 --
198303 -- Bug 4458708
198304 --
198305 XLA_AE_LINES_PKG.g_LineNumber := 0;
198306 --
198307 --
198308
198309 FOR Idx IN 1..l_array_event_id.count LOOP
198310 --
198311 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
198312 --
198313 l_event_id := l_array_event_id(idx); -- 5648433
198314
198315 --
198316 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
198317 --
198318
198319 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
198320 (g_array_event(l_event_id).array_value_num('header_index'))
198321 ,'N'
198322 ) <> 'Y'
198323 THEN
198324 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198325 trace
198326 (p_msg => 'Trancaction revesal option is not Y '
198327 ,p_level => C_LEVEL_STATEMENT
198328 ,p_module => l_log_module);
198329 END IF;
198330
198331 --
198332 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
198333 --
198334 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
198335 --
198336 -- set event info as cache for other routines to refer event attributes
198337 --
198338
198339 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
198340 l_previous_event_id := l_event_id;
198341
198342 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
198343 (p_application_id => p_application_id
198344 ,p_primary_ledger_id => p_primary_ledger_id
198345 ,p_base_ledger_id => p_base_ledger_id
198346 ,p_target_ledger_id => p_target_ledger_id
198347 ,p_entity_id => l_array_entity_id(Idx)
198348 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
198349 ,p_entity_code => l_array_entity_code(Idx)
198350 ,p_transaction_num => l_array_transaction_num(Idx)
198351 ,p_event_id => l_array_event_id(Idx)
198352 ,p_event_class_code => l_array_class_code(Idx)
198353 ,p_event_type_code => l_array_event_type(Idx)
198354 ,p_event_number => l_array_event_number(Idx)
198355 ,p_event_date => l_array_event_date(Idx)
198356 ,p_transaction_date => l_array_transaction_date(Idx)
198357 ,p_reference_num_1 => l_array_reference_num_1(Idx)
198358 ,p_reference_num_2 => l_array_reference_num_2(Idx)
198359 ,p_reference_num_3 => l_array_reference_num_3(Idx)
198360 ,p_reference_num_4 => l_array_reference_num_4(Idx)
198361 ,p_reference_char_1 => l_array_reference_char_1(Idx)
198362 ,p_reference_char_2 => l_array_reference_char_2(Idx)
198363 ,p_reference_char_3 => l_array_reference_char_3(Idx)
198364 ,p_reference_char_4 => l_array_reference_char_4(Idx)
198365 ,p_reference_date_1 => l_array_reference_date_1(Idx)
198366 ,p_reference_date_2 => l_array_reference_date_2(Idx)
198367 ,p_reference_date_3 => l_array_reference_date_3(Idx)
198368 ,p_reference_date_4 => l_array_reference_date_4(Idx)
198369 ,p_event_created_by => l_array_event_created_by(Idx)
198370 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
198374
198371 --
198372 END IF;
198373
198375
198376 --
198377 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
198378
198379 l_acct_reversal_source := SUBSTR(l_array_source_172(Idx), 1,30);
198380
198381 IF l_continue_with_lines THEN
198382 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
198383 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
198384
198385 xla_accounting_err_pkg.build_message
198386 (p_appli_s_name => 'XLA'
198387 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
198388 ,p_token_1 => 'LINE_NUMBER'
198389 ,p_value_1 => l_array_extract_line_num(Idx)
198390 ,p_token_2 => 'PRODUCT_NAME'
198391 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
198392 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
198393 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
198394 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
198395
198396 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
198397 --
198398 -- following sets the accounting attributes needed to reverse
198399 -- accounting for a distributeion
198400 --
198401
198402 --
198403 -- 5217187
198404 --
198405 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
198406 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
198407 g_array_event(l_event_id).array_value_num('header_index'));
198408 --
198409 --
198410
198411 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
198412 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_172(Idx);
198413 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
198414 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_52(Idx);
198415 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_IDENTIFIER_2';
198416 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_173(Idx);
198417 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'DISTRIBUTION_TYPE';
198418 l_rec_rev_acct_attrs.array_char_value(5) := l_array_source_43(Idx);
198419 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'ENC_UPG_CR_ACCT_CLASS';
198420 l_rec_rev_acct_attrs.array_char_value(6) := l_array_source_174(Idx);
198421 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'ENC_UPG_CR_CCID';
198422 l_rec_rev_acct_attrs.array_num_value(7) := l_array_source_175(Idx);
198423 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'ENC_UPG_CR_ENTERED_AMT';
198424 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_61(Idx);
198425 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'ENC_UPG_CR_ENTERED_CURR';
198426 l_rec_rev_acct_attrs.array_char_value(9) := l_array_source_55(Idx);
198427 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'ENC_UPG_CR_LEDGER_AMT';
198428 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_176(Idx);
198429 l_rec_rev_acct_attrs.array_acct_attr_code(11) := 'ENC_UPG_DR_ACCT_CLASS';
198430 l_rec_rev_acct_attrs.array_char_value(11) := l_array_source_177(Idx);
198431 l_rec_rev_acct_attrs.array_acct_attr_code(12) := 'ENC_UPG_DR_CCID';
198432 l_rec_rev_acct_attrs.array_num_value(12) := l_array_source_178(Idx);
198433 l_rec_rev_acct_attrs.array_acct_attr_code(13) := 'ENC_UPG_DR_ENTERED_AMT';
198434 l_rec_rev_acct_attrs.array_num_value(13) := l_array_source_61(Idx);
198435 l_rec_rev_acct_attrs.array_acct_attr_code(14) := 'ENC_UPG_DR_ENTERED_CURR';
198436 l_rec_rev_acct_attrs.array_char_value(14) := l_array_source_55(Idx);
198437 l_rec_rev_acct_attrs.array_acct_attr_code(15) := 'ENC_UPG_DR_LEDGER_AMT';
198438 l_rec_rev_acct_attrs.array_num_value(15) := l_array_source_176(Idx);
198439 l_rec_rev_acct_attrs.array_acct_attr_code(16) := 'ENC_UPG_OPTION';
198440 l_rec_rev_acct_attrs.array_char_value(16) := l_array_source_179(Idx);
198441 l_rec_rev_acct_attrs.array_acct_attr_code(17) := 'REVERSED_DISTRIBUTION_ID1';
198442 l_rec_rev_acct_attrs.array_num_value(17) := l_array_source_180(Idx);
198443 l_rec_rev_acct_attrs.array_acct_attr_code(18) := 'REVERSED_DISTRIBUTION_ID2';
198444 l_rec_rev_acct_attrs.array_char_value(18) := l_array_source_181(Idx);
198445 l_rec_rev_acct_attrs.array_acct_attr_code(19) := 'REVERSED_DISTRIBUTION_TYPE';
198446 l_rec_rev_acct_attrs.array_char_value(19) := l_array_source_182(Idx);
198447 l_rec_rev_acct_attrs.array_acct_attr_code(20) := 'UPG_CR_ENC_TYPE_ID';
198448 l_rec_rev_acct_attrs.array_num_value(20) := l_array_source_183(Idx);
198449 l_rec_rev_acct_attrs.array_acct_attr_code(21) := 'UPG_DR_ENC_TYPE_ID';
198450 l_rec_rev_acct_attrs.array_num_value(21) := l_array_source_184(Idx);
198451
198452
198453 xla_ae_lines_pkg.SetAcctReversalAttrs
198454 (p_event_id => l_event_id
198455 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
198456 ,p_calculate_acctd_flag => l_calculate_acctd_flag
198457 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
198458 END IF;
198459
198460 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
198461 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
198462 -- only execute it if calculate g/l flag is yes, and primary or secondary ledger
198463 -- or secondary ledger that has different currency with primary
198464 -- or alc that is calculated by sla
198465 IF (((l_calculate_g_l_flag = 'Y' AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code <> 'ALC') or
198466 (XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.ledger_category_code in ('ALC', 'SECONDARY') AND XLA_AE_JOURNAL_ENTRY_PKG.g_cache_ledgers_info.calculate_amts_flag='Y'))
198467
198468 -- IF((l_calculate_g_l_flag='Y' or XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.target_ledger_id <>
198472 p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
198469 -- XLA_AE_JOURNAL_ENTRY_PKG.g_cache_event.ledger_id)
198470 AND (l_actual_flag = 'A')) THEN
198471 XLA_AE_LINES_PKG.CreateGainOrLossLines(
198473 ,p_application_id => p_application_id
198474 ,p_amb_context_code => 'DEFAULT'
198475 ,p_entity_code => xla_ae_journal_entry_pkg.g_cache_event.entity_code
198476 ,p_event_class_code => C_EVENT_CLASS_CODE
198477 ,p_event_type_code => C_EVENT_TYPE_CODE
198478
198479 ,p_gain_ccid => -1
198480 ,p_loss_ccid => -1
198481
198482 ,p_actual_flag => l_actual_flag
198483 ,p_enc_flag => null
198484 ,p_actual_g_l_ref => l_actual_gain_loss_ref
198485 ,p_enc_g_l_ref => null
198486 );
198487 END IF;
198488 END IF;
198489 END IF;
198490
198491 ELSE
198492 --
198493 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
198494 --
198495 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198496 trace
198497 (p_msg => 'Trancaction revesal option is Y'
198498 ,p_level => C_LEVEL_STATEMENT
198499 ,p_module => l_log_module);
198500 END IF;
198501 END IF;
198502
198503 END LOOP;
198504 l_result := XLA_AE_LINES_PKG.InsertLines ;
198505 end loop;
198506 close line_cur;
198507
198508
198509 --
198510 -- insert headers into xla_ae_headers_gt table
198511 --
198512 l_result := XLA_AE_HEADER_PKG.InsertHeaders ;
198513
198514 -- insert into errors table here.
198515
198516 END LOOP;
198517
198518 --
198519 -- 4865292
198520 --
198521 -- Compare g_hdr_extract_count with event count in
198522 -- CreateHeadersAndLines.
198523 --
198524 g_hdr_extract_count := g_hdr_extract_count + header_cur%ROWCOUNT;
198525
198526 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198527 trace (p_msg => '# rows extracted from header extract objects '
198528 || ' (running total): '
198529 || g_hdr_extract_count
198530 ,p_level => C_LEVEL_STATEMENT
198531 ,p_module => l_log_module);
198532 END IF;
198533
198534 CLOSE header_cur;
198535 --
198536
198537 --
198538 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
198539 trace
198540 (p_msg => 'END of EventClass_295'
198541 ,p_level => C_LEVEL_PROCEDURE
198542 ,p_module => l_log_module);
198543 END IF;
198544 --
198545 RETURN l_result;
198546 EXCEPTION
198547 WHEN xla_exceptions_pkg.application_exception THEN
198548
198549 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
198550
198551
198552 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
198553
198554 RAISE;
198555
198556 WHEN NO_DATA_FOUND THEN
198557
198558 IF header_cur%ISOPEN THEN CLOSE header_cur; END IF;
198559 IF line_cur%ISOPEN THEN CLOSE line_cur; END IF;
198560
198561 FOR header_record IN header_cur
198562 LOOP
198563 l_array_header_events(header_record.event_id) := header_record.event_id;
198564 END LOOP;
198565
198566 l_first_event_id := l_array_header_events(l_array_header_events.FIRST);
198567 l_last_event_id := l_array_header_events(l_array_header_events.LAST);
198568
198569 fnd_file.put_line(fnd_file.LOG, ' ');
198570 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
198571 fnd_file.put_line(fnd_file.LOG, 'EVENT CLASS CODE = ' || C_EVENT_CLASS_CODE );
198572 fnd_file.put_line(fnd_file.LOG, 'The following events are present in the line extract but MISSING in the header extract: ');
198573
198574 FOR line_record IN line_cur(l_first_event_id, l_last_event_id)
198575 LOOP
198576 IF (NOT l_array_header_events.EXISTS(line_record.event_id)) AND (NOT l_array_duplicate_checker.EXISTS(line_record.event_id)) THEN
198577 fnd_file.put_line(fnd_file.log, 'Event_id = ' || line_record.event_id);
198578 l_array_duplicate_checker(line_record.event_id) := line_record.event_id;
198579 END IF;
198580 END LOOP;
198581
198582 fnd_file.put_line(fnd_file.LOG, '***************************************************************************');
198583 fnd_file.put_line(fnd_file.LOG, ' ');
198584
198585
198586 xla_exceptions_pkg.raise_message
198587 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_295');
198588
198589
198590 WHEN OTHERS THEN
198591 xla_exceptions_pkg.raise_message
198592 (p_location => 'XLA_00200_AAD_S_000006_PKG.EventClass_295');
198593 END EventClass_295;
198594 --
198595
198596 ---------------------------------------
198597 --
198598 -- PRIVATE PROCEDURE
198599 -- insert_sources_296
198600 --
198601 ----------------------------------------
198602 --
198603 PROCEDURE insert_sources_296(
198604 p_target_ledger_id IN NUMBER
198605 , p_language IN VARCHAR2
198606 , p_sla_ledger_id IN NUMBER
198607 , p_pad_start_date IN DATE
198608 , p_pad_end_date IN DATE
198609 )
198610 IS
198611
198612 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
198613 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
198614 p_apps_owner VARCHAR2(30);
198615 l_log_module VARCHAR2(240);
198616 BEGIN
198617 IF g_log_enabled THEN
198618 l_log_module := C_DEFAULT_MODULE||'.insert_sources_296';
198619 END IF;
198620 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
198621
198622 trace
198623 (p_msg => 'BEGIN of insert_sources_296'
198627 END IF;
198624 ,p_level => C_LEVEL_PROCEDURE
198625 ,p_module => l_log_module);
198626
198628
198629 -- select APPS owner
198630 SELECT oracle_username
198631 INTO p_apps_owner
198632 FROM fnd_oracle_userid
198633 WHERE read_only_flag = 'U'
198634 ;
198635
198636 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198637 trace
198638 (p_msg => 'p_target_ledger_id = '||p_target_ledger_id||
198639 ' - p_language = '||p_language||
198640 ' - p_sla_ledger_id = '||p_sla_ledger_id ||
198641 ' - p_pad_start_date = '||TO_CHAR(p_pad_start_date)||
198642 ' - p_pad_end_date = '||TO_CHAR(p_pad_end_date)||
198643 ' - p_apps_owner = '||TO_CHAR(p_apps_owner)
198644 ,p_level => C_LEVEL_STATEMENT
198645 ,p_module => l_log_module);
198646 END IF;
198647
198648
198649 --
198650 INSERT INTO xla_diag_sources --hdr2
198651 (
198652 event_id
198653 , ledger_id
198654 , sla_ledger_id
198655 , description_language
198656 , object_name
198657 , object_type_code
198658 , line_number
198659 , source_application_id
198660 , source_type_code
198661 , source_code
198662 , source_value
198663 , source_meaning
198664 , created_by
198665 , creation_date
198666 , last_update_date
198667 , last_updated_by
198668 , last_update_login
198669 , program_update_date
198670 , program_application_id
198671 , program_id
198672 , request_id
198673 )
198674 SELECT
198675 event_id
198676 , p_target_ledger_id
198677 , p_sla_ledger_id
198678 , p_language
198679 , object_name
198680 , object_type_code
198681 , line_number
198682 , source_application_id
198683 , source_type_code
198684 , source_code
198685 , SUBSTR(source_value ,1,1996)
198686 , SUBSTR(source_meaning ,1,200)
198687 , xla_environment_pkg.g_Usr_Id
198688 , TRUNC(SYSDATE)
198689 , TRUNC(SYSDATE)
198690 , xla_environment_pkg.g_Usr_Id
198691 , xla_environment_pkg.g_Login_Id
198692 , TRUNC(SYSDATE)
198693 , xla_environment_pkg.g_Prog_Appl_Id
198694 , xla_environment_pkg.g_Prog_Id
198695 , xla_environment_pkg.g_Req_Id
198696 FROM (
198697 SELECT xet.event_id event_id
198698 , 0 line_number
198699 , CASE r
198700 WHEN 1 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198701 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198702 WHEN 3 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198703 WHEN 4 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198704 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198705 WHEN 6 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198706 WHEN 7 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198707 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198708 WHEN 9 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198709 WHEN 10 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198710 WHEN 11 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198711 WHEN 12 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198712 WHEN 13 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198713 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198714 WHEN 15 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198715 WHEN 16 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198716 WHEN 17 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198717 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198718 WHEN 19 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198719 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198720 WHEN 21 THEN 'AP_SYSTEM_PARAMETERS_EXTRACT_V'
198721 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198722 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198723 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198724 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198725 WHEN 26 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198726 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198727 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198728 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198729 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198730 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198731 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198732 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198733 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198734 WHEN 35 THEN 'AP_PAYMENT_EXTRACT_HEADER_V'
198735
198736 ELSE null
198737 END object_name
198738 , CASE r
198739 WHEN 1 THEN 'HEADER'
198740 WHEN 2 THEN 'HEADER'
198741 WHEN 3 THEN 'HEADER'
198742 WHEN 4 THEN 'HEADER'
198743 WHEN 5 THEN 'HEADER'
198744 WHEN 6 THEN 'HEADER'
198745 WHEN 7 THEN 'HEADER'
198746 WHEN 8 THEN 'HEADER'
198747 WHEN 9 THEN 'HEADER'
198748 WHEN 10 THEN 'HEADER'
198749 WHEN 11 THEN 'HEADER'
198750 WHEN 12 THEN 'HEADER'
198751 WHEN 13 THEN 'HEADER'
198752 WHEN 14 THEN 'HEADER'
198753 WHEN 15 THEN 'HEADER'
198754 WHEN 16 THEN 'HEADER'
198755 WHEN 17 THEN 'HEADER'
198756 WHEN 18 THEN 'HEADER'
198757 WHEN 19 THEN 'HEADER'
198758 WHEN 20 THEN 'HEADER'
198759 WHEN 21 THEN 'HEADER'
198763 WHEN 25 THEN 'HEADER'
198760 WHEN 22 THEN 'HEADER'
198761 WHEN 23 THEN 'HEADER'
198762 WHEN 24 THEN 'HEADER'
198764 WHEN 26 THEN 'HEADER'
198765 WHEN 27 THEN 'HEADER'
198766 WHEN 28 THEN 'HEADER'
198767 WHEN 29 THEN 'HEADER'
198768 WHEN 30 THEN 'HEADER'
198769 WHEN 31 THEN 'HEADER'
198770 WHEN 32 THEN 'HEADER'
198771 WHEN 33 THEN 'HEADER'
198772 WHEN 34 THEN 'HEADER'
198773 WHEN 35 THEN 'HEADER'
198774
198775 ELSE null
198776 END object_type_code
198777 , CASE r
198778 WHEN 1 THEN '200'
198779 WHEN 2 THEN '200'
198780 WHEN 3 THEN '200'
198781 WHEN 4 THEN '200'
198782 WHEN 5 THEN '200'
198783 WHEN 6 THEN '200'
198784 WHEN 7 THEN '200'
198785 WHEN 8 THEN '200'
198786 WHEN 9 THEN '200'
198787 WHEN 10 THEN '200'
198788 WHEN 11 THEN '200'
198789 WHEN 12 THEN '200'
198790 WHEN 13 THEN '200'
198791 WHEN 14 THEN '200'
198792 WHEN 15 THEN '200'
198793 WHEN 16 THEN '200'
198794 WHEN 17 THEN '200'
198795 WHEN 18 THEN '200'
198796 WHEN 19 THEN '200'
198797 WHEN 20 THEN '200'
198798 WHEN 21 THEN '200'
198799 WHEN 22 THEN '200'
198800 WHEN 23 THEN '200'
198801 WHEN 24 THEN '200'
198802 WHEN 25 THEN '200'
198803 WHEN 26 THEN '200'
198804 WHEN 27 THEN '200'
198805 WHEN 28 THEN '200'
198806 WHEN 29 THEN '200'
198807 WHEN 30 THEN '200'
198808 WHEN 31 THEN '200'
198809 WHEN 32 THEN '200'
198810 WHEN 33 THEN '200'
198811 WHEN 34 THEN '200'
198812 WHEN 35 THEN '200'
198813
198814 ELSE null
198815 END source_application_id
198816 , 'S' source_type_code
198817 , CASE r
198818 WHEN 1 THEN 'ASP_AUTOMATIC_OFFSETS_VALUE'
198819 WHEN 2 THEN 'CGAC_AP_ASSET_CCID'
198820 WHEN 3 THEN 'FSP_DISC_TAKEN_CCID'
198821 WHEN 4 THEN 'ASP_DISCOUNT_DIST_METHOD'
198822 WHEN 5 THEN 'CGAC_FUTURE_DATED_PMT_CCID'
198823 WHEN 6 THEN 'ASP_FD_PMT_ACCT_SOURCE'
198824 WHEN 7 THEN 'FSP_FUTURE_DATED_PAYMENT_CCID'
198825 WHEN 8 THEN 'POS_FDP_CCID'
198826 WHEN 9 THEN 'ASP_INTEREST_CCID'
198827 WHEN 10 THEN 'ASP_PRORATE_INT_ACROSS_DISTS'
198828 WHEN 11 THEN 'CGAC_CASH_CLEARING_CCID'
198829 WHEN 12 THEN 'CGAC_GAIN_CCID'
198830 WHEN 13 THEN 'ASP_GAIN_CCID'
198831 WHEN 14 THEN 'CGAC_LOSS_CCID'
198832 WHEN 15 THEN 'ASP_LOSS_CCID'
198833 WHEN 16 THEN 'ASP_DISC_TAKEN_CCID'
198834 WHEN 17 THEN 'ASP_AUTO_OFFSET_FLAG'
198835 WHEN 18 THEN 'PAYCARD_ACCRUED_ACCOUNT_CCID'
198836 WHEN 19 THEN 'ASP_ROUNDING_ERROR_CCID'
198837 WHEN 20 THEN 'THIRD_PARTY_TYPE'
198838 WHEN 21 THEN 'ASP_WHEN_TO_ACCOUNT_PMT'
198839 WHEN 22 THEN 'AC_VENDOR_ID'
198840 WHEN 23 THEN 'AC_VENDOR_SITE_ID'
198841 WHEN 24 THEN 'CBA_POOLED_BANK_ACOUNT_FLAG'
198842 WHEN 25 THEN 'AC_CURRENCY_CODE'
198843 WHEN 26 THEN 'AC_FUTURE_PAY_DUE_DATE'
198844 WHEN 27 THEN 'AC_EXCHANGE_DATE'
198845 WHEN 28 THEN 'AC_EXCHANGE_RATE'
198846 WHEN 29 THEN 'AC_EXCHANGE_RATE_TYPE'
198847 WHEN 30 THEN 'PAYMENT_TYPE'
198848 WHEN 31 THEN 'PAYMENT_PROCESSING_TYPE'
198849 WHEN 32 THEN 'AC_DOC_CATEGORY_CODE'
198850 WHEN 33 THEN 'PAYMENT_DOCUMENT_SEQUENCE_ID'
198851 WHEN 34 THEN 'AC_DOC_SEQUENCE_VALUE'
198852 WHEN 35 THEN 'TRANSAC_REVERSAL_FLAG'
198853
198854 ELSE null
198855 END source_code
198856 , CASE r
198857 WHEN 1 THEN TO_CHAR(h3.ASP_AUTOMATIC_OFFSETS_VALUE)
198858 WHEN 2 THEN TO_CHAR(h2.CGAC_AP_ASSET_CCID)
198859 WHEN 3 THEN TO_CHAR(h3.FSP_DISC_TAKEN_CCID)
198860 WHEN 4 THEN TO_CHAR(h3.ASP_DISCOUNT_DIST_METHOD)
198861 WHEN 5 THEN TO_CHAR(h2.CGAC_FUTURE_DATED_PMT_CCID)
198862 WHEN 6 THEN TO_CHAR(h3.ASP_FD_PMT_ACCT_SOURCE)
198863 WHEN 7 THEN TO_CHAR(h3.FSP_FUTURE_DATED_PAYMENT_CCID)
198864 WHEN 8 THEN TO_CHAR(h2.POS_FDP_CCID)
198865 WHEN 9 THEN TO_CHAR(h3.ASP_INTEREST_CCID)
198866 WHEN 10 THEN TO_CHAR(h3.ASP_PRORATE_INT_ACROSS_DISTS)
198867 WHEN 11 THEN TO_CHAR(h2.CGAC_CASH_CLEARING_CCID)
198868 WHEN 12 THEN TO_CHAR(h2.CGAC_GAIN_CCID)
198869 WHEN 13 THEN TO_CHAR(h3.ASP_GAIN_CCID)
198870 WHEN 14 THEN TO_CHAR(h2.CGAC_LOSS_CCID)
198871 WHEN 15 THEN TO_CHAR(h3.ASP_LOSS_CCID)
198872 WHEN 16 THEN TO_CHAR(h3.ASP_DISC_TAKEN_CCID)
198873 WHEN 17 THEN TO_CHAR(h3.ASP_AUTO_OFFSET_FLAG)
198874 WHEN 18 THEN TO_CHAR(h2.PAYCARD_ACCRUED_ACCOUNT_CCID)
198875 WHEN 19 THEN TO_CHAR(h3.ASP_ROUNDING_ERROR_CCID)
198876 WHEN 20 THEN TO_CHAR(h2.THIRD_PARTY_TYPE)
198877 WHEN 21 THEN TO_CHAR(h3.ASP_WHEN_TO_ACCOUNT_PMT)
198881 WHEN 25 THEN TO_CHAR(h2.AC_CURRENCY_CODE)
198878 WHEN 22 THEN TO_CHAR(h2.AC_VENDOR_ID)
198879 WHEN 23 THEN TO_CHAR(h2.AC_VENDOR_SITE_ID)
198880 WHEN 24 THEN TO_CHAR(h2.CBA_POOLED_BANK_ACOUNT_FLAG)
198882 WHEN 26 THEN TO_CHAR(h2.AC_FUTURE_PAY_DUE_DATE)
198883 WHEN 27 THEN TO_CHAR(h2.AC_EXCHANGE_DATE)
198884 WHEN 28 THEN TO_CHAR(h2.AC_EXCHANGE_RATE)
198885 WHEN 29 THEN TO_CHAR(h2.AC_EXCHANGE_RATE_TYPE)
198886 WHEN 30 THEN TO_CHAR(h2.PAYMENT_TYPE)
198887 WHEN 31 THEN TO_CHAR(h2.PAYMENT_PROCESSING_TYPE)
198888 WHEN 32 THEN TO_CHAR(h2.AC_DOC_CATEGORY_CODE)
198889 WHEN 33 THEN TO_CHAR(h2.PAYMENT_DOCUMENT_SEQUENCE_ID)
198890 WHEN 34 THEN TO_CHAR(h2.AC_DOC_SEQUENCE_VALUE)
198891 WHEN 35 THEN TO_CHAR(h2.TRANSAC_REVERSAL_FLAG)
198892
198893 ELSE null
198894 END source_value
198895 , CASE r
198896 WHEN 1 THEN fvl3.meaning
198897 WHEN 4 THEN fvl7.meaning
198898 WHEN 6 THEN fvl13.meaning
198899 WHEN 17 THEN fvl35.meaning
198900 WHEN 24 THEN fvl105.meaning
198901 WHEN 30 THEN fvl115.meaning
198902 WHEN 35 THEN fvl185.meaning
198903
198904 ELSE null
198905 END source_meaning
198906 FROM xla_events_gt xet
198907 , AP_PAYMENT_EXTRACT_HEADER_V h2
198908 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
198909 , fnd_lookup_values fvl3
198910 , fnd_lookup_values fvl7
198911 , fnd_lookup_values fvl13
198912 , fnd_lookup_values fvl35
198913 , fnd_lookup_values fvl105
198914 , fnd_lookup_values fvl115
198915 , fnd_lookup_values fvl185
198916 ,(select rownum r from all_objects where rownum <= 35 and owner = p_apps_owner)
198917 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
198918 AND xet.event_class_code = C_EVENT_CLASS_CODE
198919 AND h2.event_id = xet.event_id
198920 AND h3.asp_org_id = h2.ac_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
198921 AND fvl3.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
198922 AND fvl3.view_application_id(+) = 200
198923 AND fvl3.language(+) = USERENV('LANG')
198924 AND fvl7.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
198925 AND fvl7.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
198926 AND fvl7.view_application_id(+) = 200
198927 AND fvl7.language(+) = USERENV('LANG')
198928 AND fvl13.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
198929 AND fvl13.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
198930 AND fvl13.view_application_id(+) = 200
198931 AND fvl13.language(+) = USERENV('LANG')
198932 AND fvl35.lookup_type(+) = 'YES_NO'
198933 AND fvl35.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
198934 AND fvl35.view_application_id(+) = 0
198935 AND fvl35.language(+) = USERENV('LANG')
198936 AND fvl105.lookup_type(+) = 'YES_NO'
198937 AND fvl105.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
198938 AND fvl105.view_application_id(+) = 0
198939 AND fvl105.language(+) = USERENV('LANG')
198940 AND fvl115.lookup_type(+) = 'PAYMENT TYPE'
198941 AND fvl115.lookup_code(+) = h2.PAYMENT_TYPE
198942 AND fvl115.view_application_id(+) = 200
198943 AND fvl115.language(+) = USERENV('LANG')
198944 AND fvl185.lookup_type(+) = 'YES_NO'
198945 AND fvl185.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
198946 AND fvl185.view_application_id(+) = 0
198947 AND fvl185.language(+) = USERENV('LANG')
198948
198949 )
198950 ;
198951 --
198952 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
198953
198954 trace
198955 (p_msg => 'number of header sources inserted = '||SQL%ROWCOUNT
198956 ,p_level => C_LEVEL_STATEMENT
198957 ,p_module => l_log_module);
198958
198959 END IF;
198960 --
198961
198962
198963
198964 --
198965 INSERT INTO xla_diag_sources --line2
198966 (
198967 event_id
198968 , ledger_id
198969 , sla_ledger_id
198970 , description_language
198971 , object_name
198972 , object_type_code
198973 , line_number
198974 , source_application_id
198975 , source_type_code
198976 , source_code
198977 , source_value
198978 , source_meaning
198979 , created_by
198980 , creation_date
198981 , last_update_date
198982 , last_updated_by
198983 , last_update_login
198984 , program_update_date
198985 , program_application_id
198986 , program_id
198987 , request_id
198988 )
198989 SELECT event_id
198990 , p_target_ledger_id
198991 , p_sla_ledger_id
198992 , p_language
198993 , object_name
198994 , object_type_code
198995 , line_number
198996 , source_application_id
198997 , source_type_code
198998 , source_code
198999 , SUBSTR(source_value,1,1996)
199000 , SUBSTR(source_meaning ,1,200)
199001 , xla_environment_pkg.g_Usr_Id
199002 , TRUNC(SYSDATE)
199003 , TRUNC(SYSDATE)
199004 , xla_environment_pkg.g_Usr_Id
199005 , xla_environment_pkg.g_Login_Id
199006 , TRUNC(SYSDATE)
199007 , xla_environment_pkg.g_Prog_Appl_Id
199008 , xla_environment_pkg.g_Prog_Id
199009 , xla_environment_pkg.g_Req_Id
199010 FROM (
199011 SELECT xet.event_id event_id
199012 , l1.line_number line_number
199013 , CASE r
199014 WHEN 1 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199018 WHEN 5 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199015 WHEN 2 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199016 WHEN 3 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199017 WHEN 4 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199019 WHEN 6 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
199020 WHEN 7 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199021 WHEN 8 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199022 WHEN 9 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199023 WHEN 10 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199024 WHEN 11 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
199025 WHEN 12 THEN 'ZX_AP_TAX_JRNL_LINE_DESC_V'
199026 WHEN 13 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
199027 WHEN 14 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199028 WHEN 15 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199029 WHEN 16 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199030 WHEN 17 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199031 WHEN 18 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199032 WHEN 19 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199033 WHEN 20 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199034 WHEN 21 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199035 WHEN 22 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199036 WHEN 23 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199037 WHEN 24 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199038 WHEN 25 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199039 WHEN 26 THEN 'ZX_AP_DEF_TAX_EXTRACT_V'
199040 WHEN 27 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199041 WHEN 28 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199042 WHEN 29 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199043 WHEN 30 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199044 WHEN 31 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199045 WHEN 32 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199046 WHEN 33 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199047 WHEN 34 THEN 'AP_PAYMENT_EXTRACT_DETAILS_V'
199048
199049 ELSE null
199050 END object_name
199051 , CASE r
199052 WHEN 1 THEN 'LINE'
199053 WHEN 2 THEN 'LINE'
199054 WHEN 3 THEN 'LINE'
199055 WHEN 4 THEN 'LINE'
199056 WHEN 5 THEN 'LINE'
199057 WHEN 6 THEN 'LINE'
199058 WHEN 7 THEN 'LINE'
199059 WHEN 8 THEN 'LINE'
199060 WHEN 9 THEN 'LINE'
199061 WHEN 10 THEN 'LINE'
199062 WHEN 11 THEN 'LINE'
199063 WHEN 12 THEN 'LINE'
199064 WHEN 13 THEN 'LINE'
199065 WHEN 14 THEN 'LINE'
199066 WHEN 15 THEN 'LINE'
199067 WHEN 16 THEN 'LINE'
199068 WHEN 17 THEN 'LINE'
199069 WHEN 18 THEN 'LINE'
199070 WHEN 19 THEN 'LINE'
199071 WHEN 20 THEN 'LINE'
199072 WHEN 21 THEN 'LINE'
199073 WHEN 22 THEN 'LINE'
199074 WHEN 23 THEN 'LINE'
199075 WHEN 24 THEN 'LINE'
199076 WHEN 25 THEN 'LINE'
199077 WHEN 26 THEN 'LINE'
199078 WHEN 27 THEN 'LINE'
199079 WHEN 28 THEN 'LINE'
199080 WHEN 29 THEN 'LINE'
199081 WHEN 30 THEN 'LINE'
199082 WHEN 31 THEN 'LINE'
199083 WHEN 32 THEN 'LINE'
199084 WHEN 33 THEN 'LINE'
199085 WHEN 34 THEN 'LINE'
199086
199087 ELSE null
199088 END object_type_code
199089 , CASE r
199090 WHEN 1 THEN '200'
199091 WHEN 2 THEN '200'
199092 WHEN 3 THEN '200'
199093 WHEN 4 THEN '200'
199094 WHEN 5 THEN '200'
199095 WHEN 6 THEN '200'
199096 WHEN 7 THEN '200'
199097 WHEN 8 THEN '200'
199098 WHEN 9 THEN '200'
199099 WHEN 10 THEN '200'
199100 WHEN 11 THEN '200'
199101 WHEN 12 THEN '200'
199102 WHEN 13 THEN '200'
199103 WHEN 14 THEN '200'
199104 WHEN 15 THEN '200'
199105 WHEN 16 THEN '200'
199106 WHEN 17 THEN '200'
199107 WHEN 18 THEN '200'
199108 WHEN 19 THEN '200'
199109 WHEN 20 THEN '200'
199110 WHEN 21 THEN '200'
199111 WHEN 22 THEN '200'
199112 WHEN 23 THEN '200'
199113 WHEN 24 THEN '200'
199114 WHEN 25 THEN '200'
199115 WHEN 26 THEN '200'
199116 WHEN 27 THEN '200'
199117 WHEN 28 THEN '200'
199118 WHEN 29 THEN '200'
199119 WHEN 30 THEN '200'
199120 WHEN 31 THEN '200'
199121 WHEN 32 THEN '200'
199122 WHEN 33 THEN '200'
199123 WHEN 34 THEN '200'
199124
199125 ELSE null
199126 END source_application_id
199127 , 'S' source_type_code
199128 , CASE r
199129 WHEN 1 THEN 'AID_DIST_CCID'
199130 WHEN 2 THEN 'AID_LINE_TYPE_LOOKUP_CODE'
199131 WHEN 3 THEN 'AWT_RELATED_DIST_ACCOUNT'
199132 WHEN 4 THEN 'POD_CCID'
199133 WHEN 5 THEN 'PO_VARIANCE_ACCOUNT'
199134 WHEN 6 THEN 'TAX_ACCOUNT_CCID'
199135 WHEN 7 THEN 'DIST_ACCOUNT_REVERSAL_OPTION'
199136 WHEN 8 THEN 'DISTRIBUTION_LINK_TYPE'
199140 WHEN 12 THEN 'REC_NREC_TAX_DIST_ID'
199137 WHEN 9 THEN 'AI_INVOICE_CURRENCY_CODE'
199138 WHEN 10 THEN 'OVERRIDE_ACCTD_AMT_FLAG'
199139 WHEN 11 THEN 'TAX_LINE_ID'
199141 WHEN 13 THEN 'SUMMARY_TAX_LINE_ID'
199142 WHEN 14 THEN 'BUS_FLOW_AP_APP_ID'
199143 WHEN 15 THEN 'BUS_FLOW_INV_DIST_TYPE'
199144 WHEN 16 THEN 'BUS_FLOW_INV_ENTITY_CODE'
199145 WHEN 17 THEN 'BUS_FLOW_INV_DIST_ID'
199146 WHEN 18 THEN 'BUS_FLOW_INV_ID'
199147 WHEN 19 THEN 'APHD_PAY_DIST_LOOKUP_CODE'
199148 WHEN 20 THEN 'APHD_AMOUNT'
199149 WHEN 21 THEN 'APHD_PAYMENT_HIST_DIST_ID'
199150 WHEN 22 THEN 'APHD_REV_PAY_HIST_DIST_ID'
199151 WHEN 23 THEN 'APHD_PAYMENT_BASE_AMT'
199152 WHEN 24 THEN 'APHD_INVOICE_BASE_AMT'
199153 WHEN 25 THEN 'APHD_INVOICE_DIST_AMOUNT'
199154 WHEN 26 THEN 'DEF_REC_SETTLEMENT_OPTION_CODE'
199155 WHEN 27 THEN 'AWT_RELATED_DIST_TYPE'
199156 WHEN 28 THEN 'INV_EXCHANGE_DATE'
199157 WHEN 29 THEN 'INV_EXCHANGE_RATE'
199158 WHEN 30 THEN 'INV_EXCHANGE_RATE_TYPE'
199159 WHEN 31 THEN 'INV_PMT_BASE_AMT_DIFF'
199160 WHEN 32 THEN 'INV_PMT_GAIN_LOSS_INDICATOR'
199161 WHEN 33 THEN 'AI_INVOICE_TYPE_PAID'
199162 WHEN 34 THEN 'AWT_AT_PMT_TIME'
199163
199164 ELSE null
199165 END source_code
199166 , CASE r
199167 WHEN 1 THEN TO_CHAR(l1.AID_DIST_CCID)
199168 WHEN 2 THEN TO_CHAR(l1.AID_LINE_TYPE_LOOKUP_CODE)
199169 WHEN 3 THEN TO_CHAR(l1.AWT_RELATED_DIST_ACCOUNT)
199170 WHEN 4 THEN TO_CHAR(l1.POD_CCID)
199171 WHEN 5 THEN TO_CHAR(l1.PO_VARIANCE_ACCOUNT)
199172 WHEN 6 THEN TO_CHAR(l4.TAX_ACCOUNT_CCID)
199173 WHEN 7 THEN TO_CHAR(l1.DIST_ACCOUNT_REVERSAL_OPTION)
199174 WHEN 8 THEN TO_CHAR(l1.DISTRIBUTION_LINK_TYPE)
199175 WHEN 9 THEN TO_CHAR(l1.AI_INVOICE_CURRENCY_CODE)
199176 WHEN 10 THEN TO_CHAR(l1.OVERRIDE_ACCTD_AMT_FLAG)
199177 WHEN 11 THEN TO_CHAR(l4.TAX_LINE_ID)
199178 WHEN 12 THEN TO_CHAR(l5.REC_NREC_TAX_DIST_ID)
199179 WHEN 13 THEN TO_CHAR(l4.SUMMARY_TAX_LINE_ID)
199180 WHEN 14 THEN TO_CHAR(l1.BUS_FLOW_AP_APP_ID)
199181 WHEN 15 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_TYPE)
199182 WHEN 16 THEN TO_CHAR(l1.BUS_FLOW_INV_ENTITY_CODE)
199183 WHEN 17 THEN TO_CHAR(l1.BUS_FLOW_INV_DIST_ID)
199184 WHEN 18 THEN TO_CHAR(l1.BUS_FLOW_INV_ID)
199185 WHEN 19 THEN TO_CHAR(l1.APHD_PAY_DIST_LOOKUP_CODE)
199186 WHEN 20 THEN TO_CHAR(l1.APHD_AMOUNT)
199187 WHEN 21 THEN TO_CHAR(l1.APHD_PAYMENT_HIST_DIST_ID)
199188 WHEN 22 THEN TO_CHAR(l1.APHD_REV_PAY_HIST_DIST_ID)
199189 WHEN 23 THEN TO_CHAR(l1.APHD_PAYMENT_BASE_AMT)
199190 WHEN 24 THEN TO_CHAR(l1.APHD_INVOICE_BASE_AMT)
199191 WHEN 25 THEN TO_CHAR(l1.APHD_INVOICE_DIST_AMOUNT)
199192 WHEN 26 THEN TO_CHAR(l4.DEF_REC_SETTLEMENT_OPTION_CODE)
199193 WHEN 27 THEN TO_CHAR(l1.AWT_RELATED_DIST_TYPE)
199194 WHEN 28 THEN TO_CHAR(l1.INV_EXCHANGE_DATE)
199195 WHEN 29 THEN TO_CHAR(l1.INV_EXCHANGE_RATE)
199196 WHEN 30 THEN TO_CHAR(l1.INV_EXCHANGE_RATE_TYPE)
199197 WHEN 31 THEN TO_CHAR(l1.INV_PMT_BASE_AMT_DIFF)
199198 WHEN 32 THEN TO_CHAR(l1.INV_PMT_GAIN_LOSS_INDICATOR)
199199 WHEN 33 THEN TO_CHAR(l1.AI_INVOICE_TYPE_PAID)
199200 WHEN 34 THEN TO_CHAR(l1.AWT_AT_PMT_TIME)
199201
199202 ELSE null
199203 END source_value
199204 , CASE r
199205 WHEN 2 THEN fvl21.meaning
199206 WHEN 10 THEN fvl68.meaning
199207 WHEN 19 THEN fvl90.meaning
199208 WHEN 26 THEN fvl130.meaning
199209 WHEN 33 THEN fvl158.meaning
199210 WHEN 34 THEN fvl160.meaning
199211
199212 ELSE null
199213 END source_meaning
199214 FROM xla_events_gt xet
199215 , AP_PAYMENT_EXTRACT_DETAILS_V l1
199216 , ZX_AP_DEF_TAX_EXTRACT_V l4
199217 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
199218 , fnd_lookup_values fvl21
199219 , fnd_lookup_values fvl68
199220 , fnd_lookup_values fvl90
199221 , fnd_lookup_values fvl130
199222 , fnd_lookup_values fvl158
199223 , fnd_lookup_values fvl160
199224 , (select rownum r from all_objects where rownum <= 34 and owner = p_apps_owner)
199225 WHERE xet.event_date between p_pad_start_date AND p_pad_end_date
199226 AND xet.event_class_code = C_EVENT_CLASS_CODE
199227 AND l1.event_id = xet.event_id
199228 AND l1.aid_detail_tax_dist_id = l4.rec_nrec_tax_dist_id (+) AND l1.aid_detail_tax_dist_id = l5.rec_nrec_tax_dist_id (+) AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
199229 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
199230 AND fvl21.view_application_id(+) = 200
199231 AND fvl21.language(+) = USERENV('LANG')
199232 AND fvl68.lookup_type(+) = 'YES_NO'
199233 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
199234 AND fvl68.view_application_id(+) = 0
199235 AND fvl68.language(+) = USERENV('LANG')
199236 AND fvl90.lookup_type(+) = 'PAY_DIST_TYPES'
199237 AND fvl90.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
199238 AND fvl90.view_application_id(+) = 200
199239 AND fvl90.language(+) = USERENV('LANG')
199240 AND fvl130.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
199244 AND fvl158.lookup_type(+) = 'INVOICE TYPE'
199241 AND fvl130.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
199242 AND fvl130.view_application_id(+) = 0
199243 AND fvl130.language(+) = USERENV('LANG')
199245 AND fvl158.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
199246 AND fvl158.view_application_id(+) = 200
199247 AND fvl158.language(+) = USERENV('LANG')
199248 AND fvl160.lookup_type(+) = 'YES_NO'
199249 AND fvl160.lookup_code(+) = l1.AWT_AT_PMT_TIME
199250 AND fvl160.view_application_id(+) = 0
199251 AND fvl160.language(+) = USERENV('LANG')
199252
199253 )
199254 ;
199255 --
199256 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
199257
199258 trace
199259 (p_msg => 'number of line sources inserted = '||SQL%ROWCOUNT
199260 ,p_level => C_LEVEL_STATEMENT
199261 ,p_module => l_log_module);
199262
199263 END IF;
199264
199265
199266 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
199267 trace
199268 (p_msg => 'END of insert_sources_296'
199269 ,p_level => C_LEVEL_PROCEDURE
199270 ,p_module => l_log_module);
199271 END IF;
199272 EXCEPTION
199273 WHEN xla_exceptions_pkg.application_exception THEN
199274 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
199275 trace
199276 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
199277 ,p_level => C_LEVEL_EXCEPTION
199278 ,p_module => l_log_module);
199279 END IF;
199280 RAISE;
199281 WHEN OTHERS THEN
199282 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
199283 trace
199284 (p_msg => 'ERROR: XLA_CMP_COMPILER_ERROR = '||sqlerrm
199285 ,p_level => C_LEVEL_EXCEPTION
199286 ,p_module => l_log_module);
199287 END IF;
199288 xla_exceptions_pkg.raise_message
199289 (p_location => 'XLA_00200_AAD_S_000006_PKG.insert_sources_296');
199290 END insert_sources_296;
199291 --
199292
199293 ---------------------------------------
199294 --
199295 -- PRIVATE FUNCTION
199296 -- EventClass_296
199297 --
199298 ----------------------------------------
199299 --
199300 FUNCTION EventClass_296
199301 (p_application_id IN NUMBER
199302 ,p_base_ledger_id IN NUMBER
199303 ,p_target_ledger_id IN NUMBER
199304 ,p_language IN VARCHAR2
199305 ,p_currency_code IN VARCHAR2
199306 ,p_sla_ledger_id IN NUMBER
199307 ,p_pad_start_date IN DATE
199308 ,p_pad_end_date IN DATE
199309 ,p_primary_ledger_id IN NUMBER)
199310 RETURN BOOLEAN IS
199311 --
199312 C_EVENT_TYPE_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS_ALL';
199313 C_EVENT_CLASS_CODE CONSTANT VARCHAR2(30) := 'PAYMENTS';
199314
199315 l_calculate_acctd_flag VARCHAR2(1) :='N';
199316 l_calculate_g_l_flag VARCHAR2(1) :='N';
199317 --
199318 l_array_legal_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199319 l_array_entity_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199320 l_array_entity_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
199321 l_array_transaction_num XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
199322 l_array_event_id XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199323 l_array_class_code XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
199324 l_array_event_type XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
199325 l_array_event_number XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199326 l_array_event_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
199327 l_array_transaction_date XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
199328 l_array_reference_num_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199329 l_array_reference_num_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199330 l_array_reference_num_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199331 l_array_reference_num_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num;
199332 l_array_reference_char_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
199333 l_array_reference_char_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
199334 l_array_reference_char_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
199335 l_array_reference_char_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_V240L;
199336 l_array_reference_date_1 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
199337 l_array_reference_date_2 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
199338 l_array_reference_date_3 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
199339 l_array_reference_date_4 XLA_AE_JOURNAL_ENTRY_PKG.t_array_Date;
199340 l_array_event_created_by XLA_AE_JOURNAL_ENTRY_PKG.t_array_V100L;
199341 l_array_budgetary_control_flag XLA_AE_JOURNAL_ENTRY_PKG.t_array_V30L;
199342 l_array_header_events XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
199343 l_array_duplicate_checker XLA_AE_JOURNAL_ENTRY_PKG.t_array_Num; --added
199344
199345 l_event_id NUMBER;
199346 l_previous_event_id NUMBER;
199347 l_first_event_id NUMBER;
199348 l_last_event_id NUMBER;
199349
199350 l_rec_acct_attrs XLA_AE_HEADER_PKG.t_rec_acct_attrs;
199351 l_rec_rev_acct_attrs XLA_AE_LINES_PKG.t_rec_acct_attrs;
199352 --
199353 --
199354 l_result BOOLEAN := TRUE;
199355 l_rows NUMBER := 1000;
199356 l_event_type_name VARCHAR2(80) := 'All';
199357 l_event_class_name VARCHAR2(80) := 'Payments';
199358 l_description VARCHAR2(4000);
199359 l_transaction_reversal NUMBER;
199360 l_ae_header_id NUMBER;
199361 l_array_extract_line_num xla_ae_journal_entry_pkg.t_array_Num;
199362 l_log_module VARCHAR2(240);
199366
199363 --
199364 l_acct_reversal_source VARCHAR2(30);
199365 l_trx_reversal_source VARCHAR2(30);
199367 l_continue_with_lines BOOLEAN := TRUE;
199368 --
199369 l_acc_rev_gl_date_source DATE; -- 4262811
199370 --
199371 type t_array_event_id is table of number index by binary_integer;
199372
199373 l_rec_array_event t_rec_array_event;
199374 l_null_rec_array_event t_rec_array_event;
199375 l_array_ae_header_id xla_number_array_type;
199376 l_actual_flag VARCHAR2(1) := NULL;
199377 l_actual_gain_loss_ref VARCHAR2(30) := '#####';
199378 l_balance_type_code VARCHAR2(1) :=NULL;
199379 l_gain_or_loss_ref VARCHAR2(30) :=NULL;
199380
199381 --
199382 TYPE t_array_lookup_meaning IS TABLE OF fnd_lookup_values.meaning%TYPE INDEX BY BINARY_INTEGER;
199383 --
199384
199385 TYPE t_array_source_3 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTOMATIC_OFFSETS_VALUE%TYPE INDEX BY BINARY_INTEGER;
199386 TYPE t_array_source_5 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_AP_ASSET_CCID%TYPE INDEX BY BINARY_INTEGER;
199387 TYPE t_array_source_6 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
199388 TYPE t_array_source_7 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISCOUNT_DIST_METHOD%TYPE INDEX BY BINARY_INTEGER;
199389 TYPE t_array_source_12 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_FUTURE_DATED_PMT_CCID%TYPE INDEX BY BINARY_INTEGER;
199390 TYPE t_array_source_13 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_FD_PMT_ACCT_SOURCE%TYPE INDEX BY BINARY_INTEGER;
199391 TYPE t_array_source_14 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.FSP_FUTURE_DATED_PAYMENT_CCID%TYPE INDEX BY BINARY_INTEGER;
199392 TYPE t_array_source_15 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.POS_FDP_CCID%TYPE INDEX BY BINARY_INTEGER;
199393 TYPE t_array_source_16 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_INTEREST_CCID%TYPE INDEX BY BINARY_INTEGER;
199394 TYPE t_array_source_17 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_PRORATE_INT_ACROSS_DISTS%TYPE INDEX BY BINARY_INTEGER;
199395 TYPE t_array_source_23 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_CASH_CLEARING_CCID%TYPE INDEX BY BINARY_INTEGER;
199396 TYPE t_array_source_24 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
199397 TYPE t_array_source_25 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_GAIN_CCID%TYPE INDEX BY BINARY_INTEGER;
199398 TYPE t_array_source_26 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CGAC_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
199399 TYPE t_array_source_27 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_LOSS_CCID%TYPE INDEX BY BINARY_INTEGER;
199400 TYPE t_array_source_32 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_DISC_TAKEN_CCID%TYPE INDEX BY BINARY_INTEGER;
199401 TYPE t_array_source_35 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_AUTO_OFFSET_FLAG%TYPE INDEX BY BINARY_INTEGER;
199402 TYPE t_array_source_36 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYCARD_ACCRUED_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
199403 TYPE t_array_source_37 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_ROUNDING_ERROR_CCID%TYPE INDEX BY BINARY_INTEGER;
199404 TYPE t_array_source_71 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.THIRD_PARTY_TYPE%TYPE INDEX BY BINARY_INTEGER;
199405 TYPE t_array_source_89 IS TABLE OF AP_SYSTEM_PARAMETERS_EXTRACT_V.ASP_WHEN_TO_ACCOUNT_PMT%TYPE INDEX BY BINARY_INTEGER;
199406 TYPE t_array_source_102 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_ID%TYPE INDEX BY BINARY_INTEGER;
199407 TYPE t_array_source_103 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_VENDOR_SITE_ID%TYPE INDEX BY BINARY_INTEGER;
199408 TYPE t_array_source_105 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.CBA_POOLED_BANK_ACOUNT_FLAG%TYPE INDEX BY BINARY_INTEGER;
199409 TYPE t_array_source_106 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
199410 TYPE t_array_source_107 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_FUTURE_PAY_DUE_DATE%TYPE INDEX BY BINARY_INTEGER;
199411 TYPE t_array_source_110 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
199412 TYPE t_array_source_111 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
199413 TYPE t_array_source_112 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
199414 TYPE t_array_source_115 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_TYPE%TYPE INDEX BY BINARY_INTEGER;
199415 TYPE t_array_source_116 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_PROCESSING_TYPE%TYPE INDEX BY BINARY_INTEGER;
199416 TYPE t_array_source_169 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_CATEGORY_CODE%TYPE INDEX BY BINARY_INTEGER;
199417 TYPE t_array_source_170 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.PAYMENT_DOCUMENT_SEQUENCE_ID%TYPE INDEX BY BINARY_INTEGER;
199418 TYPE t_array_source_171 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.AC_DOC_SEQUENCE_VALUE%TYPE INDEX BY BINARY_INTEGER;
199419 TYPE t_array_source_185 IS TABLE OF AP_PAYMENT_EXTRACT_HEADER_V.TRANSAC_REVERSAL_FLAG%TYPE INDEX BY BINARY_INTEGER;
199420
199421 TYPE t_array_source_18 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_DIST_CCID%TYPE INDEX BY BINARY_INTEGER;
199422 TYPE t_array_source_21 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AID_LINE_TYPE_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
199423 TYPE t_array_source_31 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
199424 TYPE t_array_source_33 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.POD_CCID%TYPE INDEX BY BINARY_INTEGER;
199425 TYPE t_array_source_34 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.PO_VARIANCE_ACCOUNT%TYPE INDEX BY BINARY_INTEGER;
199426 TYPE t_array_source_40 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_ACCOUNT_CCID%TYPE INDEX BY BINARY_INTEGER;
199427 TYPE t_array_source_41 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DIST_ACCOUNT_REVERSAL_OPTION%TYPE INDEX BY BINARY_INTEGER;
199428 TYPE t_array_source_43 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.DISTRIBUTION_LINK_TYPE%TYPE INDEX BY BINARY_INTEGER;
199429 TYPE t_array_source_55 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_CURRENCY_CODE%TYPE INDEX BY BINARY_INTEGER;
199430 TYPE t_array_source_68 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.OVERRIDE_ACCTD_AMT_FLAG%TYPE INDEX BY BINARY_INTEGER;
199431 TYPE t_array_source_74 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
199435 TYPE t_array_source_80 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
199432 TYPE t_array_source_75 IS TABLE OF ZX_AP_TAX_JRNL_LINE_DESC_V.REC_NREC_TAX_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
199433 TYPE t_array_source_76 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.SUMMARY_TAX_LINE_ID%TYPE INDEX BY BINARY_INTEGER;
199434 TYPE t_array_source_79 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_AP_APP_ID%TYPE INDEX BY BINARY_INTEGER;
199436 TYPE t_array_source_81 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ENTITY_CODE%TYPE INDEX BY BINARY_INTEGER;
199437 TYPE t_array_source_82 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
199438 TYPE t_array_source_83 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.BUS_FLOW_INV_ID%TYPE INDEX BY BINARY_INTEGER;
199439 TYPE t_array_source_90 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAY_DIST_LOOKUP_CODE%TYPE INDEX BY BINARY_INTEGER;
199440 TYPE t_array_source_91 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
199441 TYPE t_array_source_96 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
199442 TYPE t_array_source_104 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_REV_PAY_HIST_DIST_ID%TYPE INDEX BY BINARY_INTEGER;
199443 TYPE t_array_source_108 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_PAYMENT_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
199444 TYPE t_array_source_109 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_BASE_AMT%TYPE INDEX BY BINARY_INTEGER;
199445 TYPE t_array_source_117 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.APHD_INVOICE_DIST_AMOUNT%TYPE INDEX BY BINARY_INTEGER;
199446 TYPE t_array_source_130 IS TABLE OF ZX_AP_DEF_TAX_EXTRACT_V.DEF_REC_SETTLEMENT_OPTION_CODE%TYPE INDEX BY BINARY_INTEGER;
199447 TYPE t_array_source_131 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_RELATED_DIST_TYPE%TYPE INDEX BY BINARY_INTEGER;
199448 TYPE t_array_source_136 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_DATE%TYPE INDEX BY BINARY_INTEGER;
199449 TYPE t_array_source_137 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE%TYPE INDEX BY BINARY_INTEGER;
199450 TYPE t_array_source_138 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_EXCHANGE_RATE_TYPE%TYPE INDEX BY BINARY_INTEGER;
199451 TYPE t_array_source_148 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_BASE_AMT_DIFF%TYPE INDEX BY BINARY_INTEGER;
199452 TYPE t_array_source_153 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.INV_PMT_GAIN_LOSS_INDICATOR%TYPE INDEX BY BINARY_INTEGER;
199453 TYPE t_array_source_158 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AI_INVOICE_TYPE_PAID%TYPE INDEX BY BINARY_INTEGER;
199454 TYPE t_array_source_160 IS TABLE OF AP_PAYMENT_EXTRACT_DETAILS_V.AWT_AT_PMT_TIME%TYPE INDEX BY BINARY_INTEGER;
199455
199456 l_array_source_3 t_array_source_3;
199457 l_array_source_3_meaning t_array_lookup_meaning;
199458 l_array_source_5 t_array_source_5;
199459 l_array_source_6 t_array_source_6;
199460 l_array_source_7 t_array_source_7;
199461 l_array_source_7_meaning t_array_lookup_meaning;
199462 l_array_source_12 t_array_source_12;
199463 l_array_source_13 t_array_source_13;
199464 l_array_source_13_meaning t_array_lookup_meaning;
199465 l_array_source_14 t_array_source_14;
199466 l_array_source_15 t_array_source_15;
199467 l_array_source_16 t_array_source_16;
199468 l_array_source_17 t_array_source_17;
199469 l_array_source_23 t_array_source_23;
199470 l_array_source_24 t_array_source_24;
199471 l_array_source_25 t_array_source_25;
199472 l_array_source_26 t_array_source_26;
199473 l_array_source_27 t_array_source_27;
199474 l_array_source_32 t_array_source_32;
199475 l_array_source_35 t_array_source_35;
199476 l_array_source_35_meaning t_array_lookup_meaning;
199477 l_array_source_36 t_array_source_36;
199478 l_array_source_37 t_array_source_37;
199479 l_array_source_71 t_array_source_71;
199480 l_array_source_89 t_array_source_89;
199481 l_array_source_102 t_array_source_102;
199482 l_array_source_103 t_array_source_103;
199483 l_array_source_105 t_array_source_105;
199484 l_array_source_105_meaning t_array_lookup_meaning;
199485 l_array_source_106 t_array_source_106;
199486 l_array_source_107 t_array_source_107;
199487 l_array_source_110 t_array_source_110;
199488 l_array_source_111 t_array_source_111;
199489 l_array_source_112 t_array_source_112;
199490 l_array_source_115 t_array_source_115;
199491 l_array_source_115_meaning t_array_lookup_meaning;
199492 l_array_source_116 t_array_source_116;
199493 l_array_source_169 t_array_source_169;
199494 l_array_source_170 t_array_source_170;
199495 l_array_source_171 t_array_source_171;
199496 l_array_source_185 t_array_source_185;
199497 l_array_source_185_meaning t_array_lookup_meaning;
199498
199499 l_array_source_18 t_array_source_18;
199500 l_array_source_21 t_array_source_21;
199501 l_array_source_21_meaning t_array_lookup_meaning;
199502 l_array_source_31 t_array_source_31;
199503 l_array_source_33 t_array_source_33;
199504 l_array_source_34 t_array_source_34;
199505 l_array_source_40 t_array_source_40;
199506 l_array_source_41 t_array_source_41;
199507 l_array_source_43 t_array_source_43;
199508 l_array_source_55 t_array_source_55;
199509 l_array_source_68 t_array_source_68;
199510 l_array_source_68_meaning t_array_lookup_meaning;
199511 l_array_source_74 t_array_source_74;
199512 l_array_source_75 t_array_source_75;
199513 l_array_source_76 t_array_source_76;
199514 l_array_source_79 t_array_source_79;
199515 l_array_source_80 t_array_source_80;
199516 l_array_source_81 t_array_source_81;
199517 l_array_source_82 t_array_source_82;
199518 l_array_source_83 t_array_source_83;
199519 l_array_source_90 t_array_source_90;
199520 l_array_source_90_meaning t_array_lookup_meaning;
199521 l_array_source_91 t_array_source_91;
199525 l_array_source_109 t_array_source_109;
199522 l_array_source_96 t_array_source_96;
199523 l_array_source_104 t_array_source_104;
199524 l_array_source_108 t_array_source_108;
199526 l_array_source_117 t_array_source_117;
199527 l_array_source_130 t_array_source_130;
199528 l_array_source_130_meaning t_array_lookup_meaning;
199529 l_array_source_131 t_array_source_131;
199530 l_array_source_136 t_array_source_136;
199531 l_array_source_137 t_array_source_137;
199532 l_array_source_138 t_array_source_138;
199533 l_array_source_148 t_array_source_148;
199534 l_array_source_153 t_array_source_153;
199535 l_array_source_158 t_array_source_158;
199536 l_array_source_158_meaning t_array_lookup_meaning;
199537 l_array_source_160 t_array_source_160;
199538 l_array_source_160_meaning t_array_lookup_meaning;
199539
199540 --
199541 CURSOR header_cur
199542 IS
199543 SELECT /*+ leading(xet) cardinality(xet,1) */
199544 -- Event Class Code: PAYMENTS
199545 xet.entity_id
199546 ,xet.legal_entity_id
199547 ,xet.entity_code
199548 ,xet.transaction_number
199549 ,xet.event_id
199550 ,xet.event_class_code
199551 ,xet.event_type_code
199552 ,xet.event_number
199553 ,xet.event_date
199554 ,xet.transaction_date
199555 ,xet.reference_num_1
199556 ,xet.reference_num_2
199557 ,xet.reference_num_3
199558 ,xet.reference_num_4
199559 ,xet.reference_char_1
199560 ,xet.reference_char_2
199561 ,xet.reference_char_3
199562 ,xet.reference_char_4
199563 ,xet.reference_date_1
199564 ,xet.reference_date_2
199565 ,xet.reference_date_3
199566 ,xet.reference_date_4
199567 ,xet.event_created_by
199568 ,xet.budgetary_control_flag
199569 , h3.ASP_AUTOMATIC_OFFSETS_VALUE source_3
199570 , fvl3.meaning source_3_meaning
199571 , h2.CGAC_AP_ASSET_CCID source_5
199572 , h3.FSP_DISC_TAKEN_CCID source_6
199573 , h3.ASP_DISCOUNT_DIST_METHOD source_7
199574 , fvl7.meaning source_7_meaning
199575 , h2.CGAC_FUTURE_DATED_PMT_CCID source_12
199576 , h3.ASP_FD_PMT_ACCT_SOURCE source_13
199577 , fvl13.meaning source_13_meaning
199578 , h3.FSP_FUTURE_DATED_PAYMENT_CCID source_14
199579 , h2.POS_FDP_CCID source_15
199580 , h3.ASP_INTEREST_CCID source_16
199581 , h3.ASP_PRORATE_INT_ACROSS_DISTS source_17
199582 , h2.CGAC_CASH_CLEARING_CCID source_23
199583 , h2.CGAC_GAIN_CCID source_24
199584 , h3.ASP_GAIN_CCID source_25
199585 , h2.CGAC_LOSS_CCID source_26
199586 , h3.ASP_LOSS_CCID source_27
199587 , h3.ASP_DISC_TAKEN_CCID source_32
199588 , h3.ASP_AUTO_OFFSET_FLAG source_35
199589 , fvl35.meaning source_35_meaning
199590 , h2.PAYCARD_ACCRUED_ACCOUNT_CCID source_36
199591 , h3.ASP_ROUNDING_ERROR_CCID source_37
199592 , h2.THIRD_PARTY_TYPE source_71
199593 , h3.ASP_WHEN_TO_ACCOUNT_PMT source_89
199594 , h2.AC_VENDOR_ID source_102
199595 , h2.AC_VENDOR_SITE_ID source_103
199596 , h2.CBA_POOLED_BANK_ACOUNT_FLAG source_105
199597 , fvl105.meaning source_105_meaning
199598 , h2.AC_CURRENCY_CODE source_106
199599 , h2.AC_FUTURE_PAY_DUE_DATE source_107
199600 , h2.AC_EXCHANGE_DATE source_110
199601 , h2.AC_EXCHANGE_RATE source_111
199602 , h2.AC_EXCHANGE_RATE_TYPE source_112
199603 , h2.PAYMENT_TYPE source_115
199604 , fvl115.meaning source_115_meaning
199605 , h2.PAYMENT_PROCESSING_TYPE source_116
199606 , h2.AC_DOC_CATEGORY_CODE source_169
199607 , h2.PAYMENT_DOCUMENT_SEQUENCE_ID source_170
199608 , h2.AC_DOC_SEQUENCE_VALUE source_171
199609 , h2.TRANSAC_REVERSAL_FLAG source_185
199610 , fvl185.meaning source_185_meaning
199611 FROM xla_events_gt xet
199612 , AP_PAYMENT_EXTRACT_HEADER_V h2
199613 , AP_SYSTEM_PARAMETERS_EXTRACT_V h3
199614 , fnd_lookup_values fvl3
199615 , fnd_lookup_values fvl7
199616 , fnd_lookup_values fvl13
199617 , fnd_lookup_values fvl35
199618 , fnd_lookup_values fvl105
199619 , fnd_lookup_values fvl115
199620 , fnd_lookup_values fvl185
199621 WHERE xet.event_date between p_pad_start_date and p_pad_end_date
199622 and xet.event_class_code = C_EVENT_CLASS_CODE
199623 and xet.event_status_code <> 'N' AND h2.event_id = xet.event_id
199624 AND h3.asp_org_id = h2.ac_org_id AND fvl3.lookup_type(+) = 'LIABILITY FLEXBUILD METHOD'
199625 AND fvl3.lookup_code(+) = h3.ASP_AUTOMATIC_OFFSETS_VALUE
199626 AND fvl3.view_application_id(+) = 200
199627 AND fvl3.language(+) = USERENV('LANG')
199628 AND fvl7.lookup_type(+) = 'DISCOUNT_DIST_OPTIONS'
199629 AND fvl7.lookup_code(+) = h3.ASP_DISCOUNT_DIST_METHOD
199630 AND fvl7.view_application_id(+) = 200
199631 AND fvl7.language(+) = USERENV('LANG')
199632 AND fvl13.lookup_type(+) = 'FUTURE PAY ACCT SOURCE'
199633 AND fvl13.lookup_code(+) = h3.ASP_FD_PMT_ACCT_SOURCE
199634 AND fvl13.view_application_id(+) = 200
199635 AND fvl13.language(+) = USERENV('LANG')
199636 AND fvl35.lookup_type(+) = 'YES_NO'
199637 AND fvl35.lookup_code(+) = h3.ASP_AUTO_OFFSET_FLAG
199638 AND fvl35.view_application_id(+) = 0
199639 AND fvl35.language(+) = USERENV('LANG')
199640 AND fvl105.lookup_type(+) = 'YES_NO'
199641 AND fvl105.lookup_code(+) = h2.CBA_POOLED_BANK_ACOUNT_FLAG
199642 AND fvl105.view_application_id(+) = 0
199643 AND fvl105.language(+) = USERENV('LANG')
199644 AND fvl115.lookup_type(+) = 'PAYMENT TYPE'
199645 AND fvl115.lookup_code(+) = h2.PAYMENT_TYPE
199646 AND fvl115.view_application_id(+) = 200
199647 AND fvl115.language(+) = USERENV('LANG')
199648 AND fvl185.lookup_type(+) = 'YES_NO'
199649 AND fvl185.lookup_code(+) = h2.TRANSAC_REVERSAL_FLAG
199650 AND fvl185.view_application_id(+) = 0
199651 AND fvl185.language(+) = USERENV('LANG')
199655
199652
199653 ORDER BY event_id
199654 ;
199656
199657 --
199658 CURSOR line_cur (x_first_event_id in number, x_last_event_id in number)
199659 IS
199660 SELECT /*+ leading(xet) cardinality(xet,1) */
199661 -- Event Class Code: PAYMENTS
199662 xet.entity_id
199663 ,xet.legal_entity_id
199664 ,xet.entity_code
199665 ,xet.transaction_number
199666 ,xet.event_id
199667 ,xet.event_class_code
199668 ,xet.event_type_code
199669 ,xet.event_number
199670 ,xet.event_date
199671 ,xet.transaction_date
199672 ,xet.reference_num_1
199673 ,xet.reference_num_2
199674 ,xet.reference_num_3
199675 ,xet.reference_num_4
199676 ,xet.reference_char_1
199677 ,xet.reference_char_2
199678 ,xet.reference_char_3
199679 ,xet.reference_char_4
199680 ,xet.reference_date_1
199681 ,xet.reference_date_2
199682 ,xet.reference_date_3
199683 ,xet.reference_date_4
199684 ,xet.event_created_by
199685 ,xet.budgetary_control_flag
199686 , l1.LINE_NUMBER
199687 , l1.AID_DIST_CCID source_18
199688 , l1.AID_LINE_TYPE_LOOKUP_CODE source_21
199689 , fvl21.meaning source_21_meaning
199690 , l1.AWT_RELATED_DIST_ACCOUNT source_31
199691 , l1.POD_CCID source_33
199692 , l1.PO_VARIANCE_ACCOUNT source_34
199693 , l4.TAX_ACCOUNT_CCID source_40
199694 , l1.DIST_ACCOUNT_REVERSAL_OPTION source_41
199695 , l1.DISTRIBUTION_LINK_TYPE source_43
199696 , l1.AI_INVOICE_CURRENCY_CODE source_55
199697 , l1.OVERRIDE_ACCTD_AMT_FLAG source_68
199698 , fvl68.meaning source_68_meaning
199699 , l4.TAX_LINE_ID source_74
199700 , l5.REC_NREC_TAX_DIST_ID source_75
199701 , l4.SUMMARY_TAX_LINE_ID source_76
199702 , l1.BUS_FLOW_AP_APP_ID source_79
199703 , l1.BUS_FLOW_INV_DIST_TYPE source_80
199704 , l1.BUS_FLOW_INV_ENTITY_CODE source_81
199705 , l1.BUS_FLOW_INV_DIST_ID source_82
199706 , l1.BUS_FLOW_INV_ID source_83
199707 , l1.APHD_PAY_DIST_LOOKUP_CODE source_90
199708 , fvl90.meaning source_90_meaning
199709 , l1.APHD_AMOUNT source_91
199710 , l1.APHD_PAYMENT_HIST_DIST_ID source_96
199711 , l1.APHD_REV_PAY_HIST_DIST_ID source_104
199712 , l1.APHD_PAYMENT_BASE_AMT source_108
199713 , l1.APHD_INVOICE_BASE_AMT source_109
199714 , l1.APHD_INVOICE_DIST_AMOUNT source_117
199715 , l4.DEF_REC_SETTLEMENT_OPTION_CODE source_130
199716 , fvl130.meaning source_130_meaning
199717 , l1.AWT_RELATED_DIST_TYPE source_131
199718 , l1.INV_EXCHANGE_DATE source_136
199719 , l1.INV_EXCHANGE_RATE source_137
199720 , l1.INV_EXCHANGE_RATE_TYPE source_138
199721 , l1.INV_PMT_BASE_AMT_DIFF source_148
199722 , l1.INV_PMT_GAIN_LOSS_INDICATOR source_153
199723 , l1.AI_INVOICE_TYPE_PAID source_158
199724 , fvl158.meaning source_158_meaning
199725 , l1.AWT_AT_PMT_TIME source_160
199726 , fvl160.meaning source_160_meaning
199727 FROM xla_events_gt xet
199728 , AP_PAYMENT_EXTRACT_DETAILS_V l1
199729 , ZX_AP_DEF_TAX_EXTRACT_V l4
199730 , ZX_AP_TAX_JRNL_LINE_DESC_V l5
199731 , fnd_lookup_values fvl21
199732 , fnd_lookup_values fvl68
199733 , fnd_lookup_values fvl90
199734 , fnd_lookup_values fvl130
199735 , fnd_lookup_values fvl158
199736 , fnd_lookup_values fvl160
199737 WHERE xet.event_id between x_first_event_id and x_last_event_id
199738 and xet.event_date between p_pad_start_date and p_pad_end_date
199739 and xet.event_class_code = C_EVENT_CLASS_CODE
199740 and xet.event_status_code <> 'N' AND l1.event_id = xet.event_id
199741 AND l1.AID_DETAIL_TAX_DIST_ID = l4.REC_NREC_TAX_DIST_ID (+) AND l1.AID_DETAIL_TAX_DIST_ID = l5.REC_NREC_TAX_DIST_ID (+) AND fvl21.lookup_type(+) = 'INVOICE DISTRIBUTION TYPE'
199742 AND fvl21.lookup_code(+) = l1.AID_LINE_TYPE_LOOKUP_CODE
199743 AND fvl21.view_application_id(+) = 200
199744 AND fvl21.language(+) = USERENV('LANG')
199745 AND fvl68.lookup_type(+) = 'YES_NO'
199746 AND fvl68.lookup_code(+) = l1.OVERRIDE_ACCTD_AMT_FLAG
199747 AND fvl68.view_application_id(+) = 0
199748 AND fvl68.language(+) = USERENV('LANG')
199749 AND fvl90.lookup_type(+) = 'PAY_DIST_TYPES'
199750 AND fvl90.lookup_code(+) = l1.APHD_PAY_DIST_LOOKUP_CODE
199751 AND fvl90.view_application_id(+) = 200
199752 AND fvl90.language(+) = USERENV('LANG')
199753 AND fvl130.lookup_type(+) = 'ZX_REC_SETTLEMENT_OPTION'
199754 AND fvl130.lookup_code(+) = l4.DEF_REC_SETTLEMENT_OPTION_CODE
199755 AND fvl130.view_application_id(+) = 0
199756 AND fvl130.language(+) = USERENV('LANG')
199757 AND fvl158.lookup_type(+) = 'INVOICE TYPE'
199758 AND fvl158.lookup_code(+) = l1.AI_INVOICE_TYPE_PAID
199759 AND fvl158.view_application_id(+) = 200
199760 AND fvl158.language(+) = USERENV('LANG')
199761 AND fvl160.lookup_type(+) = 'YES_NO'
199762 AND fvl160.lookup_code(+) = l1.AWT_AT_PMT_TIME
199763 AND fvl160.view_application_id(+) = 0
199764 AND fvl160.language(+) = USERENV('LANG')
199765 ;
199766
199767 --
199768 BEGIN
199769 IF g_log_enabled THEN
199770 l_log_module := C_DEFAULT_MODULE||'.EventClass_296';
199771 END IF;
199772 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
199773 trace
199774 (p_msg => 'BEGIN of EventClass_296'
199775 ,p_level => C_LEVEL_PROCEDURE
199776 ,p_module => l_log_module);
199777 END IF;
199778
199779 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
199780 trace
199781 (p_msg => 'p_application_id = '||p_application_id||
199782 ' - p_base_ledger_id = '||p_base_ledger_id||
199783 ' - p_target_ledger_id = '||p_target_ledger_id||
199784 ' - p_language = '||p_language||
199785 ' - p_currency_code = '||p_currency_code||
199789 END IF;
199786 ' - p_sla_ledger_id = '||p_sla_ledger_id
199787 ,p_level => C_LEVEL_STATEMENT
199788 ,p_module => l_log_module);
199790 --
199791 -- initialze arrays
199792 --
199793 g_array_event.DELETE;
199794 l_rec_array_event := l_null_rec_array_event;
199795 --
199796 --------------------------------------
199797 -- 4262811 Initialze MPA Line Number
199798 --------------------------------------
199799 XLA_AE_HEADER_PKG.g_mpa_line_num := 0;
199800
199801 --
199802
199803 --
199804 OPEN header_cur;
199805 --
199806 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
199807 trace
199808 (p_msg => 'SQL - FETCH header_cur'
199809 ,p_level => C_LEVEL_STATEMENT
199810 ,p_module => l_log_module);
199811 END IF;
199812 --
199813 LOOP
199814 FETCH header_cur BULK COLLECT INTO
199815 l_array_entity_id
199816 , l_array_legal_entity_id
199817 , l_array_entity_code
199818 , l_array_transaction_num
199819 , l_array_event_id
199820 , l_array_class_code
199821 , l_array_event_type
199822 , l_array_event_number
199823 , l_array_event_date
199824 , l_array_transaction_date
199825 , l_array_reference_num_1
199826 , l_array_reference_num_2
199827 , l_array_reference_num_3
199828 , l_array_reference_num_4
199829 , l_array_reference_char_1
199830 , l_array_reference_char_2
199831 , l_array_reference_char_3
199832 , l_array_reference_char_4
199833 , l_array_reference_date_1
199834 , l_array_reference_date_2
199835 , l_array_reference_date_3
199836 , l_array_reference_date_4
199837 , l_array_event_created_by
199838 , l_array_budgetary_control_flag
199839 , l_array_source_3
199840 , l_array_source_3_meaning
199841 , l_array_source_5
199842 , l_array_source_6
199843 , l_array_source_7
199844 , l_array_source_7_meaning
199845 , l_array_source_12
199846 , l_array_source_13
199847 , l_array_source_13_meaning
199848 , l_array_source_14
199849 , l_array_source_15
199850 , l_array_source_16
199851 , l_array_source_17
199852 , l_array_source_23
199853 , l_array_source_24
199854 , l_array_source_25
199855 , l_array_source_26
199856 , l_array_source_27
199857 , l_array_source_32
199858 , l_array_source_35
199859 , l_array_source_35_meaning
199860 , l_array_source_36
199861 , l_array_source_37
199862 , l_array_source_71
199863 , l_array_source_89
199864 , l_array_source_102
199865 , l_array_source_103
199866 , l_array_source_105
199867 , l_array_source_105_meaning
199868 , l_array_source_106
199869 , l_array_source_107
199870 , l_array_source_110
199871 , l_array_source_111
199872 , l_array_source_112
199873 , l_array_source_115
199874 , l_array_source_115_meaning
199875 , l_array_source_116
199876 , l_array_source_169
199877 , l_array_source_170
199878 , l_array_source_171
199879 , l_array_source_185
199880 , l_array_source_185_meaning
199881 LIMIT l_rows;
199882 --
199883 IF (C_LEVEL_EVENT >= g_log_level) THEN
199884 trace
199885 (p_msg => '# rows extracted from header extract objects = '||TO_CHAR(header_cur%ROWCOUNT)
199886 ,p_level => C_LEVEL_EVENT
199887 ,p_module => l_log_module);
199888 END IF;
199889 --
199890 EXIT WHEN l_array_entity_id.COUNT = 0;
199891
199892 -- initialize arrays
199893 XLA_AE_HEADER_PKG.g_rec_header_new := NULL;
199894 XLA_AE_LINES_PKG.g_rec_lines := NULL;
199895
199896 --
199897 -- Bug 4458708
199898 --
199899 XLA_AE_LINES_PKG.g_LineNumber := 0;
199900
199901
199902 -- 4262811 - when creating Accrual Reversal or MPA, use g_last_hdr_idx to increment for next header id
199903 g_last_hdr_idx := l_array_event_id.LAST;
199904 --
199905 -- loop for the headers. Each iteration is for each header extract row
199906 -- fetched in header cursor
199907 --
199908 FOR hdr_idx IN l_array_event_id.FIRST .. l_array_event_id.LAST LOOP
199909
199910 --
199911 -- set event info as cache for other routines to refer event attributes
199912 --
199913 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
199914 (p_application_id => p_application_id
199915 ,p_primary_ledger_id => p_primary_ledger_id
199916 ,p_base_ledger_id => p_base_ledger_id
199917 ,p_target_ledger_id => p_target_ledger_id
199918 ,p_entity_id => l_array_entity_id(hdr_idx)
199919 ,p_legal_entity_id => l_array_legal_entity_id(hdr_idx)
199920 ,p_entity_code => l_array_entity_code(hdr_idx)
199921 ,p_transaction_num => l_array_transaction_num(hdr_idx)
199922 ,p_event_id => l_array_event_id(hdr_idx)
199923 ,p_event_class_code => l_array_class_code(hdr_idx)
199924 ,p_event_type_code => l_array_event_type(hdr_idx)
199925 ,p_event_number => l_array_event_number(hdr_idx)
199926 ,p_event_date => l_array_event_date(hdr_idx)
199927 ,p_transaction_date => l_array_transaction_date(hdr_idx)
199928 ,p_reference_num_1 => l_array_reference_num_1(hdr_idx)
199929 ,p_reference_num_2 => l_array_reference_num_2(hdr_idx)
199930 ,p_reference_num_3 => l_array_reference_num_3(hdr_idx)
199931 ,p_reference_num_4 => l_array_reference_num_4(hdr_idx)
199932 ,p_reference_char_1 => l_array_reference_char_1(hdr_idx)
199933 ,p_reference_char_2 => l_array_reference_char_2(hdr_idx)
199934 ,p_reference_char_3 => l_array_reference_char_3(hdr_idx)
199935 ,p_reference_char_4 => l_array_reference_char_4(hdr_idx)
199939 ,p_reference_date_4 => l_array_reference_date_4(hdr_idx)
199936 ,p_reference_date_1 => l_array_reference_date_1(hdr_idx)
199937 ,p_reference_date_2 => l_array_reference_date_2(hdr_idx)
199938 ,p_reference_date_3 => l_array_reference_date_3(hdr_idx)
199940 ,p_event_created_by => l_array_event_created_by(hdr_idx)
199941 ,p_budgetary_control_flag => l_array_budgetary_control_flag(hdr_idx));
199942
199943 --
199944 -- set the status of entry to C_VALID (0)
199945 --
199946 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
199947
199948 --
199949 -- initialize a row for ae header
199950 --
199951 XLA_AE_HEADER_PKG.InitHeader(hdr_idx);
199952
199953 l_event_id := l_array_event_id(hdr_idx);
199954
199955 --
199956 -- storing the hdr_idx for event. May be used by line cursor.
199957 --
199958 g_array_event(l_event_id).array_value_num('header_index') := hdr_idx;
199959
199960 --
199961 -- store sources from header extract. This can be improved to
199962 -- store only those sources from header extract that may be used in lines
199963 --
199964
199965 g_array_event(l_event_id).array_value_char('source_3') := l_array_source_3(hdr_idx);
199966 g_array_event(l_event_id).array_value_char('source_3_meaning') := l_array_source_3_meaning(hdr_idx);
199967 g_array_event(l_event_id).array_value_num('source_5') := l_array_source_5(hdr_idx);
199968 g_array_event(l_event_id).array_value_num('source_6') := l_array_source_6(hdr_idx);
199969 g_array_event(l_event_id).array_value_char('source_7') := l_array_source_7(hdr_idx);
199970 g_array_event(l_event_id).array_value_char('source_7_meaning') := l_array_source_7_meaning(hdr_idx);
199971 g_array_event(l_event_id).array_value_num('source_12') := l_array_source_12(hdr_idx);
199972 g_array_event(l_event_id).array_value_char('source_13') := l_array_source_13(hdr_idx);
199973 g_array_event(l_event_id).array_value_char('source_13_meaning') := l_array_source_13_meaning(hdr_idx);
199974 g_array_event(l_event_id).array_value_num('source_14') := l_array_source_14(hdr_idx);
199975 g_array_event(l_event_id).array_value_num('source_15') := l_array_source_15(hdr_idx);
199976 g_array_event(l_event_id).array_value_num('source_16') := l_array_source_16(hdr_idx);
199977 g_array_event(l_event_id).array_value_char('source_17') := l_array_source_17(hdr_idx);
199978 g_array_event(l_event_id).array_value_num('source_23') := l_array_source_23(hdr_idx);
199979 g_array_event(l_event_id).array_value_num('source_24') := l_array_source_24(hdr_idx);
199980 g_array_event(l_event_id).array_value_num('source_25') := l_array_source_25(hdr_idx);
199981 g_array_event(l_event_id).array_value_num('source_26') := l_array_source_26(hdr_idx);
199982 g_array_event(l_event_id).array_value_num('source_27') := l_array_source_27(hdr_idx);
199983 g_array_event(l_event_id).array_value_num('source_32') := l_array_source_32(hdr_idx);
199984 g_array_event(l_event_id).array_value_char('source_35') := l_array_source_35(hdr_idx);
199985 g_array_event(l_event_id).array_value_char('source_35_meaning') := l_array_source_35_meaning(hdr_idx);
199986 g_array_event(l_event_id).array_value_num('source_36') := l_array_source_36(hdr_idx);
199987 g_array_event(l_event_id).array_value_num('source_37') := l_array_source_37(hdr_idx);
199988 g_array_event(l_event_id).array_value_char('source_71') := l_array_source_71(hdr_idx);
199989 g_array_event(l_event_id).array_value_char('source_89') := l_array_source_89(hdr_idx);
199990 g_array_event(l_event_id).array_value_num('source_102') := l_array_source_102(hdr_idx);
199991 g_array_event(l_event_id).array_value_num('source_103') := l_array_source_103(hdr_idx);
199992 g_array_event(l_event_id).array_value_char('source_105') := l_array_source_105(hdr_idx);
199993 g_array_event(l_event_id).array_value_char('source_105_meaning') := l_array_source_105_meaning(hdr_idx);
199994 g_array_event(l_event_id).array_value_char('source_106') := l_array_source_106(hdr_idx);
199995 g_array_event(l_event_id).array_value_date('source_107') := l_array_source_107(hdr_idx);
199996 g_array_event(l_event_id).array_value_date('source_110') := l_array_source_110(hdr_idx);
199997 g_array_event(l_event_id).array_value_num('source_111') := l_array_source_111(hdr_idx);
199998 g_array_event(l_event_id).array_value_char('source_112') := l_array_source_112(hdr_idx);
199999 g_array_event(l_event_id).array_value_char('source_115') := l_array_source_115(hdr_idx);
200000 g_array_event(l_event_id).array_value_char('source_115_meaning') := l_array_source_115_meaning(hdr_idx);
200001 g_array_event(l_event_id).array_value_char('source_116') := l_array_source_116(hdr_idx);
200002 g_array_event(l_event_id).array_value_char('source_169') := l_array_source_169(hdr_idx);
200003 g_array_event(l_event_id).array_value_num('source_170') := l_array_source_170(hdr_idx);
200004 g_array_event(l_event_id).array_value_num('source_171') := l_array_source_171(hdr_idx);
200005 g_array_event(l_event_id).array_value_char('source_185') := l_array_source_185(hdr_idx);
200006 g_array_event(l_event_id).array_value_char('source_185_meaning') := l_array_source_185_meaning(hdr_idx);
200007
200008 --
200009 -- initilaize the status of ae headers for diffrent balance types
200010 -- the status is initialised to C_NOT_CREATED (2)
200011 --
200012 --g_array_event(l_event_id).array_value_num('actual_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
200013 --g_array_event(l_event_id).array_value_num('budget_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
200014 --g_array_event(l_event_id).array_value_num('encumbrance_je_status') := XLA_AE_JOURNAL_ENTRY_PKG.C_NOT_CREATED;
200015
200016 --
200017 -- call api to validate and store accounting attributes for header
200018 --
200019
200020 ------------------------------------------------------------
200021 -- Accrual Reversal : to get date for Standard Source (NONE)
200022 ------------------------------------------------------------
200023 l_acc_rev_gl_date_source := NULL;
200024
200025 l_rec_acct_attrs.array_acct_attr_code(1) := 'DOC_CATEGORY_CODE';
200026 l_rec_acct_attrs.array_char_value(1) := g_array_event(l_event_id).array_value_char('source_169');
200027 l_rec_acct_attrs.array_acct_attr_code(2) := 'DOC_SEQUENCE_ID';
200031 l_rec_acct_attrs.array_acct_attr_code(4) := 'GL_DATE';
200028 l_rec_acct_attrs.array_num_value(2) := g_array_event(l_event_id).array_value_num('source_170');
200029 l_rec_acct_attrs.array_acct_attr_code(3) := 'DOC_SEQUENCE_VALUE';
200030 l_rec_acct_attrs.array_num_value(3) := g_array_event(l_event_id).array_value_num('source_171');
200032 l_rec_acct_attrs.array_date_value(4) :=
200033 xla_ae_sources_pkg.GetSystemSourceDate(
200034 p_source_code => 'XLA_EVENT_DATE'
200035 , p_source_type_code => 'Y'
200036 , p_source_application_id => 602
200037 );
200038 l_rec_acct_attrs.array_acct_attr_code(5) := 'TRX_ACCT_REVERSAL_OPTION';
200039 l_rec_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_185');
200040
200041
200042 XLA_AE_HEADER_PKG.SetHdrAcctAttrs(l_rec_acct_attrs);
200043
200044 XLA_AE_HEADER_PKG.SetJeCategoryName;
200045
200046 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_type_code(hdr_idx) := l_array_event_type(hdr_idx);
200047 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_id(hdr_idx) := l_array_event_id(hdr_idx);
200048 XLA_AE_HEADER_PKG.g_rec_header_new.array_entity_id(hdr_idx) := l_array_entity_id(hdr_idx);
200049 XLA_AE_HEADER_PKG.g_rec_header_new.array_event_number(hdr_idx) := l_array_event_number(hdr_idx);
200050 XLA_AE_HEADER_PKG.g_rec_header_new.array_target_ledger_id(hdr_idx) := p_target_ledger_id;
200051
200052
200053 -- No header level analytical criteria
200054
200055 --
200056 --accounting attribute enhancement, bug 3612931
200057 --
200058 l_trx_reversal_source := SUBSTR(g_array_event(l_event_id).array_value_char('source_185'), 1,30);
200059
200060 IF NVL(l_trx_reversal_source, 'N') NOT IN ('N','Y') THEN
200061 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
200062
200063 xla_accounting_err_pkg.build_message
200064 (p_appli_s_name => 'XLA'
200065 ,p_msg_name => 'XLA_AP_INVALID_HDR_ATTR'
200066 ,p_token_1 => 'ACCT_ATTR_NAME'
200067 ,p_value_1 => xla_ae_sources_pkg.GetAccountingSourceName('TRX_ACCT_REVERSAL_OPTION')
200068 ,p_token_2 => 'PRODUCT_NAME'
200069 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
200070 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
200071 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
200072 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
200073
200074 ELSIF NVL(l_trx_reversal_source, 'N') = 'Y' THEN
200075 --
200076 -- following sets the accounting attributes needed to reverse
200077 -- accounting for a distributeion
200078 --
200079 xla_ae_lines_pkg.SetTrxReversalAttrs
200080 (p_event_id => l_event_id
200081 ,p_gl_date => XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(hdr_idx)
200082 ,p_trx_reversal_source => l_trx_reversal_source);
200083
200084 END IF;
200085
200086
200087 ----------------------------------------------------------------
200088 -- 4262811 - update the header statuses to invalid in need be
200089 ----------------------------------------------------------------
200090 --
200091 XLA_AE_JOURNAL_ENTRY_PKG.UpdateJournalEntryStatus (p_hdr_idx => hdr_idx);
200092
200093
200094 -----------------------------------------------
200095 -- No accrual reversal for the event class/type
200096 -----------------------------------------------
200097 ----------------------------------------------------------------
200098
200099 --
200100 -- this ends the header loop iteration for one bulk fetch
200101 --
200102 END LOOP;
200103
200104 l_first_event_id := l_array_event_id(l_array_event_id.FIRST);
200105 l_last_event_id := l_array_event_id(l_array_event_id.LAST);
200106
200107 --
200108 -- insert dummy rows into lines gt table that were created due to
200109 -- transaction reversals
200110 --
200111 IF XLA_AE_LINES_PKG.g_rec_lines.array_ae_header_id.COUNT > 0 THEN
200112 l_result := XLA_AE_LINES_PKG.InsertLines;
200113 END IF;
200114
200115 --
200116 -- reset the temp_line_num for each set of events fetched from header
200117 -- cursor rather than doing it for each new event in line cursor
200118 -- Bug 3939231
200119 --
200120 xla_ae_lines_pkg.g_temp_line_num := 0;
200121
200122
200123
200124 --
200125 OPEN line_cur(x_first_event_id => l_first_event_id, x_last_event_id => l_last_event_id);
200126 --
200127 --
200128 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
200129
200130 trace
200131 (p_msg => 'SQL - FETCH line_cur'
200132 ,p_level => C_LEVEL_STATEMENT
200133 ,p_module => l_log_module);
200134
200135 END IF;
200136 --
200137 --
200138 LOOP
200139 --
200140 FETCH line_cur BULK COLLECT INTO
200141 l_array_entity_id
200142 , l_array_legal_entity_id
200143 , l_array_entity_code
200144 , l_array_transaction_num
200145 , l_array_event_id
200146 , l_array_class_code
200147 , l_array_event_type
200148 , l_array_event_number
200149 , l_array_event_date
200150 , l_array_transaction_date
200151 , l_array_reference_num_1
200152 , l_array_reference_num_2
200153 , l_array_reference_num_3
200154 , l_array_reference_num_4
200155 , l_array_reference_char_1
200156 , l_array_reference_char_2
200157 , l_array_reference_char_3
200158 , l_array_reference_char_4
200159 , l_array_reference_date_1
200160 , l_array_reference_date_2
200161 , l_array_reference_date_3
200162 , l_array_reference_date_4
200163 , l_array_event_created_by
200164 , l_array_budgetary_control_flag
200165 , l_array_extract_line_num
200166 , l_array_source_18
200170 , l_array_source_33
200167 , l_array_source_21
200168 , l_array_source_21_meaning
200169 , l_array_source_31
200171 , l_array_source_34
200172 , l_array_source_40
200173 , l_array_source_41
200174 , l_array_source_43
200175 , l_array_source_55
200176 , l_array_source_68
200177 , l_array_source_68_meaning
200178 , l_array_source_74
200179 , l_array_source_75
200180 , l_array_source_76
200181 , l_array_source_79
200182 , l_array_source_80
200183 , l_array_source_81
200184 , l_array_source_82
200185 , l_array_source_83
200186 , l_array_source_90
200187 , l_array_source_90_meaning
200188 , l_array_source_91
200189 , l_array_source_96
200190 , l_array_source_104
200191 , l_array_source_108
200192 , l_array_source_109
200193 , l_array_source_117
200194 , l_array_source_130
200195 , l_array_source_130_meaning
200196 , l_array_source_131
200197 , l_array_source_136
200198 , l_array_source_137
200199 , l_array_source_138
200200 , l_array_source_148
200201 , l_array_source_153
200202 , l_array_source_158
200203 , l_array_source_158_meaning
200204 , l_array_source_160
200205 , l_array_source_160_meaning
200206 LIMIT l_rows;
200207
200208 --
200209 IF (C_LEVEL_EVENT >= g_log_level) THEN
200210 trace
200211 (p_msg => '# rows extracted from line extract objects = '||TO_CHAR(line_cur%ROWCOUNT)
200212 ,p_level => C_LEVEL_EVENT
200213 ,p_module => l_log_module);
200214 END IF;
200215 --
200216 EXIT WHEN l_array_entity_id.count = 0;
200217
200218 XLA_AE_LINES_PKG.g_rec_lines := null;
200219
200220 --
200221 -- Bug 4458708
200222 --
200223 XLA_AE_LINES_PKG.g_LineNumber := 0;
200224 --
200225 --
200226
200227 FOR Idx IN 1..l_array_event_id.count LOOP
200228 --
200229 -- 5648433 (move l_event_id out of IF statement) set l_event_id to be used inside IF condition
200230 --
200231 l_event_id := l_array_event_id(idx); -- 5648433
200232
200233 --
200234 -- Bug 4872078 - Do nothing if the event is meant for transaction reversal
200235 --
200236
200237 IF NVL(xla_ae_header_pkg.g_rec_header_new.array_trx_acct_reversal_option
200238 (g_array_event(l_event_id).array_value_num('header_index'))
200239 ,'N'
200240 ) <> 'Y'
200241 THEN
200242 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
200243 trace
200244 (p_msg => 'Trancaction revesal option is not Y '
200245 ,p_level => C_LEVEL_STATEMENT
200246 ,p_module => l_log_module);
200247 END IF;
200248
200249 --
200250 -- set the XLA_AE_JOURNAL_ENTRY_PKG.g_global_status to C_VALID (0)
200251 --
200252 XLA_AE_JOURNAL_ENTRY_PKG.g_global_status := XLA_AE_JOURNAL_ENTRY_PKG.C_VALID;
200253 --
200254 -- set event info as cache for other routines to refer event attributes
200255 --
200256
200257 IF l_event_id <> NVL(l_previous_event_id, -1) THEN
200258 l_previous_event_id := l_event_id;
200259
200260 XLA_AE_JOURNAL_ENTRY_PKG.set_event_info
200261 (p_application_id => p_application_id
200262 ,p_primary_ledger_id => p_primary_ledger_id
200263 ,p_base_ledger_id => p_base_ledger_id
200264 ,p_target_ledger_id => p_target_ledger_id
200265 ,p_entity_id => l_array_entity_id(Idx)
200266 ,p_legal_entity_id => l_array_legal_entity_id(Idx)
200267 ,p_entity_code => l_array_entity_code(Idx)
200268 ,p_transaction_num => l_array_transaction_num(Idx)
200269 ,p_event_id => l_array_event_id(Idx)
200270 ,p_event_class_code => l_array_class_code(Idx)
200271 ,p_event_type_code => l_array_event_type(Idx)
200272 ,p_event_number => l_array_event_number(Idx)
200273 ,p_event_date => l_array_event_date(Idx)
200274 ,p_transaction_date => l_array_transaction_date(Idx)
200275 ,p_reference_num_1 => l_array_reference_num_1(Idx)
200276 ,p_reference_num_2 => l_array_reference_num_2(Idx)
200277 ,p_reference_num_3 => l_array_reference_num_3(Idx)
200278 ,p_reference_num_4 => l_array_reference_num_4(Idx)
200279 ,p_reference_char_1 => l_array_reference_char_1(Idx)
200280 ,p_reference_char_2 => l_array_reference_char_2(Idx)
200281 ,p_reference_char_3 => l_array_reference_char_3(Idx)
200282 ,p_reference_char_4 => l_array_reference_char_4(Idx)
200283 ,p_reference_date_1 => l_array_reference_date_1(Idx)
200284 ,p_reference_date_2 => l_array_reference_date_2(Idx)
200285 ,p_reference_date_3 => l_array_reference_date_3(Idx)
200286 ,p_reference_date_4 => l_array_reference_date_4(Idx)
200287 ,p_event_created_by => l_array_event_created_by(Idx)
200288 ,p_budgetary_control_flag => l_array_budgetary_control_flag(Idx));
200289 --
200290 END IF;
200291
200292
200293
200294 --
200295 xla_ae_lines_pkg.SetExtractLine(p_extract_line => l_array_extract_line_num(Idx));
200296
200297 l_acct_reversal_source := SUBSTR(l_array_source_41(Idx), 1,30);
200298
200299 IF l_continue_with_lines THEN
200300 IF NVL(l_acct_reversal_source, 'N') NOT IN ('N','Y','B') THEN
200301 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
200302
200303 xla_accounting_err_pkg.build_message
200304 (p_appli_s_name => 'XLA'
200305 ,p_msg_name => 'XLA_AP_INVALID_REVERSAL_OPTION'
200306 ,p_token_1 => 'LINE_NUMBER'
200307 ,p_value_1 => l_array_extract_line_num(Idx)
200311 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
200308 ,p_token_2 => 'PRODUCT_NAME'
200309 ,p_value_2 => xla_ae_journal_entry_pkg.g_cache_event.application_name
200310 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
200312 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id);
200313
200314 ELSIF NVL(l_acct_reversal_source, 'N') IN ('Y','B') THEN
200315 --
200316 -- following sets the accounting attributes needed to reverse
200317 -- accounting for a distributeion
200318 --
200319
200320 --
200321 -- 5217187
200322 --
200323 l_rec_rev_acct_attrs.array_acct_attr_code(1):= 'GL_DATE';
200324 l_rec_rev_acct_attrs.array_date_value(1) := XLA_AE_HEADER_PKG.g_rec_header_new.array_gl_date(
200325 g_array_event(l_event_id).array_value_num('header_index'));
200326 --
200327 --
200328
200329 l_rec_rev_acct_attrs.array_acct_attr_code(2) := 'ACCOUNTING_REVERSAL_OPTION';
200330 l_rec_rev_acct_attrs.array_char_value(2) := l_array_source_41(Idx);
200331 l_rec_rev_acct_attrs.array_acct_attr_code(3) := 'DISTRIBUTION_IDENTIFIER_1';
200332 l_rec_rev_acct_attrs.array_num_value(3) := l_array_source_96(Idx);
200333 l_rec_rev_acct_attrs.array_acct_attr_code(4) := 'DISTRIBUTION_TYPE';
200334 l_rec_rev_acct_attrs.array_char_value(4) := l_array_source_43(Idx);
200335 l_rec_rev_acct_attrs.array_acct_attr_code(5) := 'PARTY_TYPE';
200336 l_rec_rev_acct_attrs.array_char_value(5) := g_array_event(l_event_id).array_value_char('source_71');
200337 l_rec_rev_acct_attrs.array_acct_attr_code(6) := 'REVERSED_DISTRIBUTION_ID1';
200338 l_rec_rev_acct_attrs.array_num_value(6) := l_array_source_104(Idx);
200339 l_rec_rev_acct_attrs.array_acct_attr_code(7) := 'REVERSED_DISTRIBUTION_TYPE';
200340 l_rec_rev_acct_attrs.array_char_value(7) := l_array_source_43(Idx);
200341 l_rec_rev_acct_attrs.array_acct_attr_code(8) := 'TAX_LINE_REF_ID';
200342 l_rec_rev_acct_attrs.array_num_value(8) := l_array_source_74(Idx);
200343 l_rec_rev_acct_attrs.array_acct_attr_code(9) := 'TAX_REC_NREC_DIST_REF_ID';
200344 l_rec_rev_acct_attrs.array_num_value(9) := l_array_source_75(Idx);
200345 l_rec_rev_acct_attrs.array_acct_attr_code(10) := 'TAX_SUMMARY_LINE_REF_ID';
200346 l_rec_rev_acct_attrs.array_num_value(10) := l_array_source_76(Idx);
200347
200348
200349 xla_ae_lines_pkg.SetAcctReversalAttrs
200350 (p_event_id => l_event_id
200351 ,p_rec_acct_attrs => l_rec_rev_acct_attrs
200352 ,p_calculate_acctd_flag => l_calculate_acctd_flag
200353 ,p_calculate_g_l_flag => l_calculate_g_l_flag);
200354 END IF;
200355
200356 IF NVL(l_acct_reversal_source, 'N') IN ('N','B') THEN
200357 l_actual_flag := NULL; l_actual_gain_loss_ref := '#####';
200358
200359 --
200360 AcctLineType_73 (
200361 p_application_id => p_application_id
200362 ,p_event_id => l_event_id
200363 ,p_calculate_acctd_flag => l_calculate_acctd_flag
200364 ,p_calculate_g_l_flag => l_calculate_g_l_flag
200365 ,p_actual_flag => l_actual_flag
200366 ,p_balance_type_code => l_balance_type_code
200367 ,p_gain_or_loss_ref=> l_gain_or_loss_ref
200368
200369 , p_source_23 => g_array_event(l_event_id).array_value_num('source_23')
200370 , p_source_35 => g_array_event(l_event_id).array_value_char('source_35')
200371 , p_source_35_meaning => g_array_event(l_event_id).array_value_char('source_35_meaning')
200372 , p_source_41 => l_array_source_41(Idx)
200373 , p_source_43 => l_array_source_43(Idx)
200374 , p_source_68 => l_array_source_68(Idx)
200375 , p_source_68_meaning => l_array_source_68_meaning(Idx)
200376 , p_source_71 =>